VENDOR_CODE_ATMEL = 0x1e
class Decoder(srd.Decoder):
- api_version = 1
+ api_version = 2
id = 'avr_isp'
name = 'AVR ISP'
longname = 'AVR In-System Programming'
desc = 'Protocol for in-system programming Atmel AVR MCUs.'
license = 'gplv2+'
- inputs = ['spi', 'logic']
+ inputs = ['spi']
outputs = ['avr_isp']
- probes = []
- optional_probes = [
- {'id': 'reset', 'name': 'RESET#', 'desc': 'Target AVR MCU reset'},
- ]
- options = {}
- annotations = [
- ['pe', 'Programming enable'],
- ['rsb0', 'Read signature byte 0'],
- ['rsb1', 'Read signature byte 1'],
- ['rsb2', 'Read signature byte 2'],
- ['ce', 'Chip erase'],
- ['rfb', 'Read fuse bits'],
- ['rhfb', 'Read high fuse bits'],
- ['refb', 'Read extended fuse bits'],
- ['warnings', 'Warnings'],
- ['dev', 'Device'],
- ]
+ annotations = (
+ ('pe', 'Programming enable'),
+ ('rsb0', 'Read signature byte 0'),
+ ('rsb1', 'Read signature byte 1'),
+ ('rsb2', 'Read signature byte 2'),
+ ('ce', 'Chip erase'),
+ ('rfb', 'Read fuse bits'),
+ ('rhfb', 'Read high fuse bits'),
+ ('refb', 'Read extended fuse bits'),
+ ('warnings', 'Warnings'),
+ ('dev', 'Device'),
+ )
annotation_rows = (
('bits', 'Bits', ()),
('commands', 'Commands', tuple(range(7 + 1))),
self.device_ss = None
def start(self):
- # self.out_python = self.register(srd.OUTPUT_PYTHON)
self.out_ann = self.register(srd.OUTPUT_ANN)
def putx(self, data):
self.mosi_bytes = []
self.miso_bytes = []
-