X-Git-Url: https://sigrok.org/gitweb/?p=libsigrokdecode.git;a=blobdiff_plain;f=decoders%2Fonewire_link%2Fpd.py;h=5b5ebd01c6df1c8d2cb057035c39d6c3b5bc65a2;hp=4a826d195b396fd56b4c2c8850d1c59c79deb441;hb=cfe46204d1c91f02d0e2c6679a2d15ff92bb90c8;hpb=f372d597739a30e0106aebc8225c1edebf6d93e3 diff --git a/decoders/onewire_link/pd.py b/decoders/onewire_link/pd.py index 4a826d1..5b5ebd0 100644 --- a/decoders/onewire_link/pd.py +++ b/decoders/onewire_link/pd.py @@ -18,8 +18,6 @@ ## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA ## -# 1-Wire protocol decoder (link layer) - import sigrokdecode as srd class Decoder(srd.Decoder): @@ -40,15 +38,15 @@ class Decoder(srd.Decoder): options = { 'overdrive': ['Overdrive mode', 'no'], # Time options (specified in microseconds): - 'cnt_normal_bit': ['Normal mode sample bit time (us)', 15], - 'cnt_normal_slot': ['Normal mode data slot time (us)', 60], - 'cnt_normal_presence': ['Normal mode sample presence time (us)', 75], - 'cnt_normal_reset': ['Normal mode reset time (us)', 480], - 'cnt_overdrive_bit': ['Overdrive mode sample bit time (us)', 2], - # 'cnt_overdrive_slot': ['Overdrive mode data slot time (us)', 7.3], - 'cnt_overdrive_slot': ['Overdrive mode data slot time (us)', 7], - 'cnt_overdrive_presence': ['Overdrive mode sample presence time (us)', 10], - 'cnt_overdrive_reset': ['Overdrive mode reset time (us)', 48], + 'cnt_normal_bit': ['Normal mode sample bit time (µs)', 15], + 'cnt_normal_slot': ['Normal mode data slot time (µs)', 60], + 'cnt_normal_presence': ['Normal mode sample presence time (µs)', 75], + 'cnt_normal_reset': ['Normal mode reset time (µs)', 480], + 'cnt_overdrive_bit': ['Overdrive mode sample bit time (µs)', 2], + # 'cnt_overdrive_slot': ['Overdrive mode data slot time (µs)', 7.3], + 'cnt_overdrive_slot': ['Overdrive mode data slot time (µs)', 7], + 'cnt_overdrive_presence': ['Overdrive mode sample presence time (µs)', 10], + 'cnt_overdrive_reset': ['Overdrive mode reset time (µs)', 48], } annotations = [ ['bit', 'Bit'], @@ -57,12 +55,17 @@ class Decoder(srd.Decoder): ['presence', 'Presence'], ['overdrive', 'Overdrive mode notifications'], ] + annotation_rows = ( + ('bits', 'Bits', (0, 2, 3)), + ('info', 'Info', (4,)), + ('warnings', 'Warnings', (1,)), + ) def putm(self, data): self.put(0, 0, self.out_ann, data) def putpb(self, data): - self.put(self.fall, self.samplenum, self.out_proto, data) + self.put(self.fall, self.samplenum, self.out_python, data) def putb(self, data): self.put(self.fall, self.samplenum, self.out_ann, data) @@ -74,7 +77,7 @@ class Decoder(srd.Decoder): self.put(self.fall, self.rise, self.out_ann, data) def putprs(self, data): - self.put(self.rise, self.samplenum, self.out_proto, data) + self.put(self.rise, self.samplenum, self.out_python, data) def putrs(self, data): self.put(self.rise, self.samplenum, self.out_ann, data) @@ -92,8 +95,8 @@ class Decoder(srd.Decoder): self.rise = 0 def start(self): - self.out_proto = self.add(srd.OUTPUT_PROTO, 'onewire_link') - self.out_ann = self.add(srd.OUTPUT_ANN, 'onewire_link') + self.out_python = self.register(srd.OUTPUT_PYTHON) + self.out_ann = self.register(srd.OUTPUT_ANN) def metadata(self, key, value): if key != srd.SRD_CONF_SAMPLERATE: @@ -173,9 +176,6 @@ class Decoder(srd.Decoder): '(%2.1fus-%2.1fus) should be inside (7.3us, 10.0us).' % (time_min*1000000, time_max*1000000)]]) - def report(self): - pass - def decode(self, ss, es, data): if self.samplerate is None: raise Exception("Cannot decode without samplerate.")