flexray: Use bit/s instead of Mbit/s for bitrate.
authorUwe Hermann <uwe@hermann-uwe.de>
Sat, 30 Nov 2019 14:17:50 +0000 (15:17 +0100)
committerUwe Hermann <uwe@hermann-uwe.de>
Sat, 30 Nov 2019 14:23:10 +0000 (15:23 +0100)
This avoids floating point number option values, which makes things
a bit easier/clearer on the command-line and also matches what other
decoders do.

Also, use numbers instead of strings for the option values.

decoders/flexray/pd.py

index 0c52041612b42eaabe751b74f6620ec8d6d3f181..e13f2d437472ea8177cd190bf2a606b6ab025229 100644 (file)
@@ -58,8 +58,8 @@ class Decoder(srd.Decoder):
     options = (
         {'id': 'channel_type', 'desc': 'Channel type', 'default': 'A',
             'values': ('A', 'B')},
-        {'id': 'bitrate', 'desc': 'Bitrate (Mbit/s)', 'default': '10.0',
-            'values': ('10.0', '5.0', '2.5')},
+        {'id': 'bitrate', 'desc': 'Bitrate (bit/s)', 'default': 10000000,
+            'values': (10000000, 5000000, 2500000)},
     )
     annotations = (
         ('data', 'FlexRay payload data'),
@@ -102,7 +102,7 @@ class Decoder(srd.Decoder):
 
     def metadata(self, key, value):
         if key == srd.SRD_CONF_SAMPLERATE:
-            bitrate = 1000000 * float(self.options['bitrate'])
+            bitrate = float(self.options['bitrate'])
             self.samplerate = value
             self.bit_width = float(self.samplerate) / bitrate
             self.sample_point = (self.bit_width / 100.0) * self.sample_point_percent