def __init__(self, parameter_values, parameter_labels, parameter_units_label, data_values, data_labels ): ''' Constructor ''' m_testUtil=test_utility.testUtil() if len(parameter_labels)!=len(parameter_values): self.m_testutil.fatalError("parameter values vs. labels length mismatch") if len(data_labels) != len(data_labels): self.m_testutil.fatalError("data values vs labels length mismatch") self.m_bucket_labels = parameter_labels self.m_bucket_values = parameter_values self.m_bucket_units_label = parameter_units_label self.m_data_labels = data_labels self.m_data_values = data_values self.m_bucket_count = len(self.m_bucket_values) self.m_data_value_count = len(self.m_data_values) self.m_data_value_range = range(self.m_data_value_count) self.m_bucket_range = range(self.m_bucket_count) s=(self.m_bucket_count,2) self.m_bucket_data = np.zeros(s)
def __init__(self, criteria, maximum_trials): self.m_testutil = testutil.testUtil() if (criteria in [ promiraSpiTestApp.CRITERIA_GENERAL, promiraSpiTestApp.CRITERIA_STRICT, promiraSpiTestApp.CRITERIA_SEVERE ] and maximum_trials > 0): self.m_criteria = criteria self.m_maximum_trials = maximum_trials self.m_results = [] else: self.m_testutil.fatalError("testMonitor intiialization")
def __init__(self): self.m_testutil = testutil.testUtil() self.m_config_mgr = spicfg.configMgr() self.m_spi_msg = pmmsg.promactMessages() self.m_eepromAPI = eepromAPI() self.m_spiio = self.m_eepromAPI.getobjectSpiIO() self.m_pagesize = eepromAPI.EEPROM_PAGE_SIZE #block_protect_bitmap = testutil.array_u08(18) self.m_rxdata_array = testutil.array_u08(self.m_pagesize) self.m_txdata_array = testutil.array_u08(self.m_pagesize) self.m_random_page_array = testutil.array_u08(self.m_pagesize) self.m_configVal = spicfg.configVal() return
def __init__(self, spi_cmd, spi_cmd_descriptor): # ->SpiCmdSpec self.m_spi_read_not_write=spi_cmd[2] self.m_descriptor=spi_cmd_descriptor self.m_testutil=testutil.testUtil() ''' not implementing fast busywait yet ''' self.m_busy_wait=False ''' implmenting send wren as an add on phase of a command. ''' if spi_cmd[0] in WREN_REQUIRED: self.m_send_wren=True return
def __init__(self, block_map:BlockMap): self.m_testutil = test_utility.testUtil() if ( type(block_map) == list and block_map[0][0] in [ KB8, KB32, KB64] and len(block_map)>0 ): self.m_byte_size = 0 self.m_sector_count = 0 self.m_block_map = [] self.m_sector_map = [] self.m_sector_status = [] sector_count = 0 block_address = 0 for block_ndx in range(len(block_map)): blockinfo=block_map[block_ndx] block_size = blockinfo[0] sector_count = blockinfo[1] blockmap=BlockMap(address=block_address, size=block_size, sectors=sector_count, base_sector_index=self.m_sector_count) self.m_block_map.append(blockmap) sector_address = block_address for _sec_ndx in range(sector_count): sector_map=SectorMap(address=sector_address, size=KB4, block_index=block_ndx) self.m_sector_map.append(sector_map) self.m_sector_status.append(self._sectorStatusVector(SECSTAT_UNKNOWN)) sector_address=sector_map.address+sector_map.size self.m_byte_size+=block_size self.m_sector_count+=sector_count block_address=self.m_byte_size self.m_valid=self.m_byte_size>0 and self.m_sector_count>0 if self.m_valid!=True: self.m_testutil.fatalError("invalid sector_map")
def __init__(self, parameter_values, parameter_labels, parameter_units_label, data_values, data_labels, error_max_values): ''' Constructor ''' self.m_testUtil = test_utility.testUtil() if len(parameter_labels) != len(parameter_values): self.m_testutil.fatalError( "parameter values vs. labels length mismatch") if len(data_labels) != len(data_labels): self.m_testutil.fatalError("data values vs labels length mismatch") self.m_bucket_labels = parameter_labels self.m_bucket_values = parameter_values self.m_bucket_units_label = parameter_units_label self.m_data_labels = data_labels self.m_data_values = data_values self.m_bucket_count = len(self.m_bucket_values) self.m_data_value_count = len(self.m_data_values) self.m_data_value_range = range(self.m_data_value_count) self.m_bucket_range = range(self.m_bucket_count) self.m_error_buckets = error_max_values self.m_error_bucket_labels = None self.m_error_bucket_count = len(self.m_error_buckets) self.m_event_count = 0 fault_values = [] self.m_fault_values = fault_values self.m_fault_types = [] self.m_fault_events = [] self.m_fault_history = [] s = (self.m_bucket_count, 2) e = (self.m_error_bucket_count, 1) self.m_bucket_data = np.zeros(s) self.m_errors = [np.zeros(e) for _bucket in self.m_bucket_range]
def __init__(self, parameter_values, parameter_labels, parameter_units_label, parm2data_factor, data_label_format): ''' Constructor ''' m_testUtil=test_utility.testUtil() if len(parameter_labels)!=len(parameter_values): self.m_testutil.fatalError("parameter values vs. labels length mismatch") if (parm2data_factor == 0): self.m_testutil.fatalError("zero data label conversion factor") if (type(data_label_format) != str): self.m_testutil.fatalError("illegal label format") self.m_bucket_labels = parameter_labels self.m_bucket_values = parameter_values self.m_bucket_units_label = parameter_units_label ''' compute data labels ''' self.m_bucket_count = len(self.m_bucket_values) self.m_data_value_count = len(self.m_data_values) self.m_data_value_range = range(self.m_data_value_count) self.m_bucket_range = range(self.m_bucket_count) self.m_bucket_focus = [ self.BKTFOCUS_NORMAL for _ndx in self.m_bucket_range] self.createDataLabels() ''' create data bucket array ''' s=(self.m_bucket_count,2) self.m_bucket_data = np.zeros(s)
def __new__(cls): if cls._instance is None: print('Creating the SpiIO object') cls._instance = super(spiIO, cls).__new__(cls) cls.m_testutil= testutil.testUtil() cls.m_pm_msg = promactMessages() #self.m_configMgr = configMgr() cls.m_ss_mask = 0x1 cls.m_device = None cls.m_devices = testutil.array_u16(4) cls.m_device_ids = testutil.array_u32(4) cls.m_device_ips = testutil.array_u32(4) cls.m_device_status = testutil.array_u32(4) cls.m_spi_configuration = None #cls.m_configMgr.firstConfig() cls.m_timeout_ms = 1000 # arbitrary 10 second value cls.discoverDevice(cls) cls.m_spi_initialized = False cls.m_spi_clock_actual=[] return cls._instance
def precedentCmdSpec(spi_cmd): # identify cmdspec list cmdspecs=[] if type(spi_cmd[1])==int: cmdspec_indices=[spi_cmd[1]] else: cmdspec_indices=spi_cmd[1] for index in cmdspec_indices: for cmdspec in PHASE_SPECS[index]: cmdspecs.append(cmdspec) # select cmdspec with most preferred iomode # cmdspec without a mode listed in precedence # is forbidden and rejected for iomode in m_spiio_mode_precedence: for cmdspec in cmdspecs: if cmdspec.iowMax==iomode: return cmdspec testutil=testutil.testUtil() testutil.fatalError("io mode forbidden")
def display(self, out_string): test_utility.testUtil().bufferDisplayInfo(out_string)
def __init__(self): self.m_testutil = testutil.testUtil() self.m_spiio = spiio.spiIO() self.m_4byte_addr_mode = False
def __init__(self): self.m_testutil = testutil.testUtil() self.m_spiio = spiio.spiIO()
def __init__(self, eeprom_blocks_definition): self.m_device_map=deviceMap(eeprom_blocks_definition) self.m_testutil=test_utility.testUtil() pass