class _24xx_EEPROM(): def __init__(self): self.sigrokDecoder = Decoder() self.packets = [] def get_capabilities(self): settings = {} for option in self.sigrokDecoder.options : settingType = '' choices = [] if ("values" not in option) : # TODO sigrok docs does not mention that default is mandatory if (isinstance(option['default'], str)) : settingType = 'string' elif (isinstance(option['default'], int) or isinstance(option['default'], float)) : settingType = 'number' else : print("Cannot determine the type of the " + option['desc'] + " parameter from it's default value: " + option['default']) settings[option["desc"]] = { 'type': settingType } if ("values" in option) : settings[option["desc"]]['type'] = "choices" settings[option["desc"]]['choices'] = option["values"] return { 'settings': settings } def set_settings(self, settings): # TODO handle the settings # convert sigrok's # annotations = ( # ('warning', 'Warning'), # .... # # format annotations to Logic's format self.sigrokDecoder.reset() resultTypes = {} for annotation in self.sigrokDecoder.annotations : resultTypes[annotation[0]] = { "format": annotation[1] + "{{data.data}}" } return { "result_types": resultTypes } def decode(self, data): self.sigrokDecoder.processLogicDataI2C(data) if (not self.packets == []) : ret = self.generate_logic_result() self.packets = [] return ret
def __init__(self): self.sigrokDecoder = Decoder()
def __init__(self): self.sigrokDecoder = Decoder() self.packets = []