From 7d74799011f28796bbb8165dc3bcd4c8cca12052 Mon Sep 17 00:00:00 2001 From: Uwe Hermann Date: Sat, 16 Aug 2014 21:19:05 +0200 Subject: ds1307: Correctly handle address wrap-around. --- decoders/ds1307/pd.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/decoders/ds1307/pd.py b/decoders/ds1307/pd.py index d9aa3d5..ca6faf6 100644 --- a/decoders/ds1307/pd.py +++ b/decoders/ds1307/pd.py @@ -187,7 +187,11 @@ class Decoder(srd.Decoder): r = self.reg if self.reg < 8 else 0x3f fn = getattr(self, 'handle_reg_0x%02x' % r) fn(b) + # Honor address auto-increment feature of the DS1307. When the + # address reaches 0x3f, it will wrap around to address 0. self.reg += 1 + if self.reg > 0x3f: + self.reg = 0 def decode(self, ss, es, data): cmd, databyte = data -- cgit v1.2.3-70-g09d2