def setup_peripheral(self) -> None: """Sets up peripheral.""" self.logger.debug("No setup required for peripheral") # Turn off all indicator leds for driver in self.drivers: driver.set_rgb([0, 0, 0])
def update_iot_led(self, driver: driver.PCA9633Driver) -> None: """Updates iot indicator and status.""" if self.iot_is_connected: if self.iot_indicator_led_status != "Green": driver.set_rgb([0, 32, 0]) self.iot_indicator_led_status = "Green" else: if self.iot_indicator_led_status != "Red": driver.set_rgb([32, 0, 0]) self.iot_indicator_led_status = "Red"
def shutdown_peripheral(self) -> None: """Shutsdown peripheral.""" self.logger.info("Shutting down") try: for driver in self.drivers: driver.set_rgb([0, 0, 0]) # off except exceptions.DriverError as e: message = "Unable to turn off indicator before shutting down: {}".format( type(e)) self.logger.warning(message) self.clear_reported_values()
def setup_peripheral(self) -> None: """Sets up peripheral.""" self.logger.debug("No setup required for peripheral") # Turn off all indicator leds, except for user led (set green) for driver in self.drivers: if driver.name == "UserLED": self.user_indicator_led_status = "Green" driver.set_rgb([0, 32, 0]) else: driver.set_rgb([0, 0, 0])
def setup_peripheral(self) -> None: """Sets up peripheral.""" self.logger.debug("No setup required for peripheral") # Turn off leds for driver in self.drivers: driver.set_rgb([0, 0, 0]) # Update indicator status self.peripheral_indicator_led_status = "Off" self.network_indicator_led_status = "Off" self.iot_indicator_led_status = "Off" self.user_indicator_led_status = "Off"
def update_iot_led( self, driver: driver.PCA9633Driver, send_heartbeat: bool = False ) -> None: """Updates iot indicator and status.""" if self.iot_is_connected: if self.iot_indicator_led_status != "Green" or send_heartbeat: self.logger.debug("Setting iot led green") driver.set_rgb([0, 32, 0]) self.iot_indicator_led_status = "Green" else: if self.iot_indicator_led_status != "Red" or send_heartbeat: self.logger.debug("Setting iot led red") driver.set_rgb([32, 0, 0]) self.iot_indicator_led_status = "Red"
def _set_user_led(self, request: Dict[str, Any]) -> None: """Processes turn on event request.""" self.logger.debug("Processing set led event request") # Get request parameters color = request.get("color") # Set user led and update reported variables try: self.user_indicator_led_status = color for driver in self.drivers: if driver.name == "UserLED": if color == "Green": self.logger.debug("Setting color green") driver.set_rgb([0, 32, 0]) elif color == "Yellow": self.logger.debug("Setting color yellow") driver.set_rgb([32, 32, 0]) elif color == "Red": self.logger.debug("Setting color red") driver.set_rgb([32, 0, 0]) elif color == "Blue": self.logger.debug("Setting color blue") driver.set_rgb([0, 0, 32]) break except exceptions.DriverError as e: self.mode = modes.ERROR message = "Unable to set user led: {}".format(e) self.logger.debug(message) except: self.mode = modes.ERROR message = "Unable to set user led, unhandled exception" self.logger.exception(message)
def update_peripheral_led(self, driver: driver.PCA9633Driver) -> None: """Updates peripheral led indicator and status.""" # Check if all peripherals are setup and healthy healthy = True setup = True for _, peripheral in self.state.peripherals.items(): # Check mode mode = peripheral.get("mode") if mode == modes.INIT or mode == modes.SETUP: setup = False break # Check health health = peripheral.get("health") if health < 100: healthy = False # Update indicator led output if not setup: if self.peripheral_indicator_led_status != "Yellow": driver.set_rgb([32, 32, 0]) self.peripheral_indicator_led_status = "Yellow" elif healthy: if self.peripheral_indicator_led_status != "Green": driver.set_rgb([0, 32, 0]) self.peripheral_indicator_led_status = "Green" else: if self.peripheral_indicator_led_status != "Red": driver.set_rgb([32, 0, 0]) self.peripheral_indicator_led_status = "Red"
def update_user_led( self, driver: driver.PCA9633Driver, send_heartbeat: bool = False ) -> None: """Updates user led indicator and status.""" # Set green on first update if self.first_user_led_update: self.first_user_led_update = False self.logger.debug("Setting user led green") driver.set_rgb([0, 32, 0]) self.user_indicator_led_status = "Green" # Check to send heartbeat elif send_heartbeat: if self.user_indicator_led_status == "Green": self.logger.debug("Setting user led green") driver.set_rgb([0, 32, 0]) elif self.user_indicator_led_status == "Yellow": self.logger.debug("Setting user led yellow") driver.set_rgb([32, 32, 0]) elif self.user_indicator_led_status == "Red": self.logger.debug("Setting user led red") driver.set_rgb([32, 0, 0]) elif self.user_indicator_led_status == "Blue": self.logger.debug("Setting user led blue") driver.set_rgb([0, 0, 32]) elif self.user_indicator_led_status == "Off": self.logger.debug("Setting user led off") driver.set_rgb([0, 0, 0])