From: Uwe Hermann Date: Sat, 16 Aug 2014 19:19:05 +0000 (+0200) Subject: ds1307: Correctly handle address wrap-around. X-Git-Tag: libsigrokdecode-0.4.0~185 X-Git-Url: https://sigrok.org/gitweb/?p=libsigrokdecode.git;a=commitdiff_plain;h=7d74799011f28796bbb8165dc3bcd4c8cca12052 ds1307: Correctly handle address wrap-around. --- 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