コード例 #1
0
    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)
コード例 #2
0
        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")
コード例 #3
0
    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
コード例 #4
0
 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
コード例 #5
0
  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")
コード例 #6
0
    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]
コード例 #7
0
 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)
コード例 #8
0
 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
コード例 #9
0
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")
コード例 #10
0
 def display(self, out_string):
   test_utility.testUtil().bufferDisplayInfo(out_string)
コード例 #11
0
 def __init__(self):
   self.m_testutil     = testutil.testUtil()
   self.m_spiio        = spiio.spiIO()
   self.m_4byte_addr_mode = False
コード例 #12
0
 def __init__(self):
   self.m_testutil     = testutil.testUtil()
   self.m_spiio        = spiio.spiIO()
コード例 #13
0
 def __init__(self, eeprom_blocks_definition):
   self.m_device_map=deviceMap(eeprom_blocks_definition)
   self.m_testutil=test_utility.testUtil()
   pass