inputs = ['logic']
outputs = ['usb_pd']
channels = (
- {'id': 'cc1', 'name': 'CC1', 'desc': 'Control channel 1'},
+ {'id': 'cc1', 'name': 'CC1', 'desc': 'Configuration Channel 1'},
)
optional_channels = (
- {'id': 'cc2', 'name': 'CC2', 'desc': 'Control channel 2'},
+ {'id': 'cc2', 'name': 'CC2', 'desc': 'Configuration Channel 2'},
)
options = (
{'id': 'fulltext', 'desc': 'full text decoding of the packet',
elif t1 == 3:
t2 = (pdo >> 28) & 3
if t2 == 0:
- t_name = 'Programmable'
- p = 'TODO: PPS support'
+ t_name = 'Programmable|PPS'
+ minv = ((pdo >> 8) & 0xff) * 0.1
+ maxv = ((pdo >> 17) & 0xff) * 0.1
+ ma = ((pdo >> 0) & 0xff) * 0.05
+ p = '%g/%gV %gA' % (minv, maxv, ma)
+ if (pdo >> 27) & 0x1:
+ p += ' [limited]'
+ self.stored_pdos[idx] = '%s %g/%gV' % (t_name, minv, maxv)
else:
t_name = 'Reserved APDO: '+bin(t2)
- p = ''
+ p = '[raw: %s]' % (bin(pdo))
+ self.stored_pdos[idx] = '%s %s' % (t_name, p)
flags = ''
for f in sorted(PDO_FLAGS.keys(), reverse = True):
if pdo & f:
if not self.samplerate:
raise SamplerateError('Cannot decode without samplerate.')
while True:
- pins = self.wait([{0: 'e'}, {1: 'e'}, {'skip': 100*1000}])
-
+ pins = self.wait([{0: 'e'}, {1: 'e'}, {'skip': int(self.samplerate/1e3)}])
# First sample of the packet, just record the start date
if not self.startsample: