diff --git a/EosPayload/drivers/GPS_driver.py b/EosPayload/drivers/GPS_driver.py index 068b98d..7b03705 100644 --- a/EosPayload/drivers/GPS_driver.py +++ b/EosPayload/drivers/GPS_driver.py @@ -115,3 +115,4 @@ def device_read(self, logger: logging.Logger) -> None: def cleanup(self): self.uart.close() + super().cleanup() diff --git a/EosPayload/drivers/RadioDriver.py b/EosPayload/drivers/RadioDriver.py index 2d6be19..3e76f95 100644 --- a/EosPayload/drivers/RadioDriver.py +++ b/EosPayload/drivers/RadioDriver.py @@ -115,7 +115,6 @@ def device_command(self, logger: logging.Logger) -> None: (priority, timestamp, packet) = self._thread_queue.get() logger.info(f":: = {packet.body}") try: - # logger.info(packet) self.port.send_data_async(self.remote, packet.encode(), transmit_options=1) except Exception as e: self._logger.error(f"exception occurred while attempting to send a packet via radio: {e}" @@ -123,3 +122,5 @@ def device_command(self, logger: logging.Logger) -> None: def cleanup(self): self.port.close() + super().cleanup() + diff --git a/EosPayload/drivers/camera_driver.py b/EosPayload/drivers/camera_driver.py index 17ca6f2..f44debf 100644 --- a/EosPayload/drivers/camera_driver.py +++ b/EosPayload/drivers/camera_driver.py @@ -77,6 +77,7 @@ def cleanup(self): self.cap.release() self.out.release() cv2.destroyAllWindows() + super().cleanup() def device_read(self, logger: logging.Logger) -> None: logger.info("Starting at video number {}".format(self.video_num)) diff --git a/EosPayload/drivers/cutdown_driver.py b/EosPayload/drivers/cutdown_driver.py index d5f0fc8..35616b3 100644 --- a/EosPayload/drivers/cutdown_driver.py +++ b/EosPayload/drivers/cutdown_driver.py @@ -14,22 +14,6 @@ class CutdownDriver(PositionAwareDriverBase): time_pulled_high = 7 # seconds auto_cutdown_altitude = 21000 - @staticmethod - def enabled() -> bool: - return True - - @staticmethod - def get_device_id() -> Device: - return Device.CUTDOWN - - @staticmethod - def get_device_name() -> str: - return "Cutdown-Driver" - - @staticmethod - def read_thread_enabled() -> bool: - return True - def __init__(self, output_directory: str, config: dict) -> None: super().__init__(output_directory, config) self.has_triggered = False @@ -37,12 +21,19 @@ def __init__(self, output_directory: str, config: dict) -> None: def setup(self): super().setup() + self.register_thread('device-read', self.device_read) + GPIO.setup(CutdownDriver.cutdown_pin, GPIO.OUT) GPIO.output(CutdownDriver.cutdown_pin, GPIO.LOW) if self._mqtt: - self._mqtt.user_data_set({'logger': self._logger, 'queue': self._command_queue}) + mqtt_logger = logging.getLogger(self._pretty_id + ".cutdown-subscriber") + self._mqtt.user_data_set({'logger': mqtt_logger, 'queue': self._command_queue}) self._mqtt.register_subscriber(Topic.CUTDOWN_COMMAND, self.cutdown_trigger_mqtt) + def cleanup(self): + GPIO.cleanup() + super().cleanup() + def device_read(self, logger: logging.Logger) -> None: while True: # auto cutdown based on altitude @@ -76,22 +67,6 @@ def cutdown_trigger(self): def cutdown_trigger_mqtt(client, user_data, message): user_data['logger'].info("received cutdown command") user_data['queue'].put(1) - ''' - def device_read(self, logger: logging.Logger) -> None: - GPIO.output("P8_10", GPIO.LOW) - logger.info("Countdown") - for i in range(10): - logger.info("COUNT: " + str(i)) - time.sleep(1) - - GPIO.output("P8_10", GPIO.HIGH) - for i in range(5): - logger.info("COUNT: " + str(i)) - time.sleep(1) - - GPIO.output("P8_10", GPIO.LOW) - logger.info("END OF TEST") - ''' def cleanup(self): GPIO.cleanup() diff --git a/EosPayload/drivers/led_driver.py b/EosPayload/drivers/led_driver.py index de9dd73..65d5e19 100644 --- a/EosPayload/drivers/led_driver.py +++ b/EosPayload/drivers/led_driver.py @@ -27,5 +27,5 @@ def device_command(self, logger: logging.Logger) -> None: self.thread_sleep(logger, 5) def cleanup(self): - super(LEDDriver, self).cleanup() GPIO.output(self.pin_name, 0) + super().cleanup() diff --git a/EosPayload/drivers/reefing_driver.py b/EosPayload/drivers/reefing_driver.py index 0e13e64..1377c49 100644 --- a/EosPayload/drivers/reefing_driver.py +++ b/EosPayload/drivers/reefing_driver.py @@ -64,6 +64,7 @@ def cleanup(self): self.set_reefing_level(0, self._logger) PWM.stop("P9_14") PWM.cleanup() + super().cleanup() ''' diff --git a/EosPayload/drivers/telemetry_I2C_driver.py b/EosPayload/drivers/telemetry_I2C_driver.py index f2ee6c4..19cdb92 100644 --- a/EosPayload/drivers/telemetry_I2C_driver.py +++ b/EosPayload/drivers/telemetry_I2C_driver.py @@ -10,7 +10,6 @@ from EosPayload.lib.base_drivers.driver_base import DriverBase from EosLib.format.telemetry_data import TelemetryData -#from adafruit_blinka.microcontroller.am335x import pin from EosPayload.lib.mqtt import Topic @@ -27,7 +26,6 @@ def setup(self) -> None: def device_read(self, logger: logging.Logger) -> None: logger.info("Starting to poll for data!") - #self.i2c = busio.I2C(pin.I2C1_SCL, pin.I2C1_SDA) self.i2c = i2c = busio.I2C(board.SCL, board.SDA) self.bno = BNO055_I2C(self.i2c) count = 0 @@ -58,12 +56,10 @@ def device_read(self, logger: logging.Logger) -> None: sender=self.get_device_id(), priority=Priority.TELEMETRY, ) - packet = Packet( body=telemetry_bytes, data_header=header, ) - #logger.info(packet) self._mqtt.send(Topic.RADIO_TRANSMIT, packet.encode()) count += 1 diff --git a/config.json b/config.json index a138cbb..f313939 100644 --- a/config.json +++ b/config.json @@ -1,5 +1,5 @@ { - "payload_name": "Gabe_1", + "payload_name": "Gabe", "devices": [ {