def create_peripherals(self): """ Creates peripheral managers. """ self.logger.info("Creating peripheral managers") # Verify peripherals are configured if self.config_dict["peripherals"] == None: self.logger.info("No peripherals configured") return # Inintilize simulation parameters if os.environ.get("SIMULATE") == "true": simulate = True mux_simulator = MuxSimulator() else: simulate = False mux_simulator = None # Create thread locks i2c_lock = threading.RLock() # Create peripheral managers self.peripherals = {} for peripheral_config_dict in self.config_dict["peripherals"]: self.logger.debug("Creating {}".format( peripheral_config_dict["name"])) # Get peripheral setup dict peripheral_uuid = peripheral_config_dict["uuid"] peripheral_setup_dict = self.get_peripheral_setup_dict( peripheral_uuid) # Verify valid peripheral config dict if peripheral_setup_dict == None: self.logger.critical( "Invalid peripheral uuid in device " "config. Validator should have caught this.") continue # Get peripheral module and class name module_name = ("device.peripherals.modules." + peripheral_setup_dict["module_name"]) class_name = peripheral_setup_dict["class_name"] # Import peripheral library module_instance = __import__(module_name, fromlist=[class_name]) class_instance = getattr(module_instance, class_name) # Create peripheral manager peripheral_name = peripheral_config_dict["name"] peripheral = class_instance( name=peripheral_name, state=self.state, config=peripheral_config_dict, simulate=simulate, i2c_lock=i2c_lock, mux_simulator=mux_simulator, ) self.peripherals[peripheral_name] = peripheral
def test_init() -> None: manager = AtlasDOManager( name="Test", i2c_lock=threading.RLock(), state=State(), config=peripheral_config, simulate=True, mux_simulator=MuxSimulator(), )
def test_init() -> None: driver = LEDDAC5578Driver( name="Test", panel_configs=panel_configs, panel_properties=panel_properties, i2c_lock=threading.RLock(), simulate=True, mux_simulator=MuxSimulator(), )
def test_init() -> None: driver = CCS811Driver( name="Test", i2c_lock=threading.RLock(), bus=2, address=0x77, simulate=True, mux_simulator=MuxSimulator(), )
def test_init() -> None: driver = AtlasDriver( name="Test", i2c_lock=threading.RLock(), bus=2, address=0x64, simulate=True, mux_simulator=MuxSimulator(), Simulator=AtlasSimulator, )
def test_set_probe_type() -> None: driver = AtlasECDriver( name="Test", i2c_lock=threading.RLock(), bus=2, address=0x77, simulate=True, mux_simulator=MuxSimulator(), ) driver.set_probe_type(1.0)
def test_disable_abc_logic() -> None: driver = T6713Driver( name="Test", i2c_lock=threading.RLock(), bus=2, address=0x77, simulate=True, mux_simulator=MuxSimulator(), ) driver.disable_abc_logic()
def test_calibrate_dry() -> None: driver = AtlasECDriver( name="Test", i2c_lock=threading.RLock(), bus=2, address=0x77, simulate=True, mux_simulator=MuxSimulator(), ) driver.calibrate_dry()
def test_disable_salinity_output() -> None: driver = AtlasECDriver( name="Test", i2c_lock=threading.RLock(), bus=2, address=0x77, simulate=True, mux_simulator=MuxSimulator(), ) driver.disable_salinity_output()
def test_init() -> None: driver = USBCameraDriver( name="Test", resolution="640x480", vendor_id=0x05A3, product_id=0x9520, simulate=True, mux_simulator=MuxSimulator(), i2c_lock=threading.RLock(), )
def test_initialize() -> None: manager = LEDDAC5578Manager( name="Test", i2c_lock=threading.RLock(), state=State(), config=peripheral_config, simulate=True, mux_simulator=MuxSimulator(), ) manager.initialize()
def test_reset() -> None: driver = SHT25Driver( name="Test", i2c_lock=threading.RLock(), bus=2, address=0x77, simulate=True, mux_simulator=MuxSimulator(), ) driver.reset()
def test_init(): i2c = I2C( name="Test", i2c_lock=threading.RLock(), bus=2, address=0x40, mux=0x77, channel=4, mux_simulator=MuxSimulator(), PeripheralSimulator=PeripheralSimulator, )
def test_read_humidity() -> None: driver = SHT25Driver( name="Test", i2c_lock=threading.RLock(), bus=2, address=0x77, simulate=True, mux_simulator=MuxSimulator(), ) humidity = driver.read_humidity() assert humidity == 70.0
def test_read_co2() -> None: driver = T6713Driver( name="Test", i2c_lock=threading.RLock(), bus=2, address=0x77, simulate=True, mux_simulator=MuxSimulator(), ) co2 = driver.read_co2() assert co2 == 546.0
def test_init() -> None: driver = DAC5578Driver( "Test", i2c_lock=threading.RLock(), bus=2, address=0x4c, mux=0x77, channel=4, simulate=True, mux_simulator=MuxSimulator(), )
def test_shutdown() -> None: manager = AtlasECManager( name="Test", i2c_lock=threading.RLock(), state=State(), config=peripheral_config, simulate=True, mux_simulator=MuxSimulator(), ) manager.initialize() manager.shutdown()
def test_read_ec() -> None: driver = AtlasECDriver( name="Test", i2c_lock=threading.RLock(), bus=2, address=0x77, simulate=True, mux_simulator=MuxSimulator(), ) ec = driver.read_ec() assert ec == 0.0
def test_clear_calibrations() -> None: driver = AtlasDriver( name="Test", i2c_lock=threading.RLock(), bus=2, address=0x64, simulate=True, mux_simulator=MuxSimulator(), Simulator=AtlasSimulator, ) driver.clear_calibrations()
def test_calibrate_single() -> None: driver = AtlasECDriver( name="Test", i2c_lock=threading.RLock(), bus=2, address=0x77, simulate=True, mux_simulator=MuxSimulator(), ) with pytest.raises(TakeSinglePointCalibrationError): driver.calibrate_single(1.413)
def test_set_compensation_temperature() -> None: driver = AtlasDriver( name="Test", i2c_lock=threading.RLock(), bus=2, address=0x64, simulate=True, mux_simulator=MuxSimulator(), Simulator=AtlasSimulator, ) driver.set_compensation_temperature(26.0)
def test_write_register(): i2c = I2C( name="Test", i2c_lock=threading.RLock(), bus=2, address=0x40, mux=0x77, channel=4, mux_simulator=MuxSimulator(), PeripheralSimulator=PeripheralSimulator, ) i2c.write_register(0x01, 0x02)
def test_write_output_standard() -> None: driver = DAC5578Driver( "Test", i2c_lock=threading.RLock(), bus=2, address=0x4c, mux=0x77, channel=4, simulate=True, mux_simulator=MuxSimulator(), ) driver.write_output(0, 0)
def test_read_temperature() -> None: driver = SHT25Driver( name="Test", i2c_lock=threading.RLock(), bus=2, address=0x77, simulate=True, mux_simulator=MuxSimulator(), ) temperature = driver.read_temperature() assert temperature == 24.0
def test_write_outputs_standard() -> None: driver = DAC5578Driver( "Test", i2c_lock=threading.RLock(), bus=2, address=0x4c, mux=0x77, channel=4, simulate=True, mux_simulator=MuxSimulator(), ) outputs = {0: 0, 1: 0, 2: 0, 3: 0, 4: 0, 5: 0, 6: 0, 7: 0} driver.write_outputs(outputs)
def test_write_output_percent_gt() -> None: driver = DAC5578Driver( "Test", i2c_lock=threading.RLock(), bus=2, address=0x4c, mux=0x77, channel=4, simulate=True, mux_simulator=MuxSimulator(), ) with pytest.raises(WriteOutputError): driver.write_output(0, 101)
def test_read_status() -> None: driver = AtlasDriver( name="Test", i2c_lock=threading.RLock(), bus=2, address=0x64, simulate=True, mux_simulator=MuxSimulator(), Simulator=AtlasSimulator, ) status = driver.read_status() assert status.prev_restart_reason == "Powered off" assert status.voltage == 3.655
def test_read_info() -> None: driver = AtlasDriver( name="Test", i2c_lock=threading.RLock(), bus=2, address=0x64, simulate=True, mux_simulator=MuxSimulator(), Simulator=AtlasSimulator, ) info = driver.read_info() assert info.sensor_type == "ec" assert info.firmware_version == 1.96
def test_read_user_register() -> None: driver = SHT25Driver( name="Test", i2c_lock=threading.RLock(), bus=2, address=0x77, simulate=True, mux_simulator=MuxSimulator(), ) user_register = driver.read_user_register() assert user_register.end_of_battery == False assert user_register.heater_enabled == False assert user_register.reload_disabled == False
def test_read_empty_register(): i2c = I2C( name="Test", i2c_lock=threading.RLock(), bus=2, address=0x40, mux=0x77, channel=4, mux_simulator=MuxSimulator(), PeripheralSimulator=PeripheralSimulator, ) with pytest.raises(ReadError): byte = i2c.read_register(0x01)