Skip to content

Commit

Permalink
#60 tidy up comments, fix cleanup calls, and fix cutdown driver threa…
Browse files Browse the repository at this point in the history
…d setup
  • Loading branch information
DarylDohner committed Jul 4, 2023
1 parent 79edfad commit 6a80e30
Show file tree
Hide file tree
Showing 8 changed files with 15 additions and 40 deletions.
1 change: 1 addition & 0 deletions EosPayload/drivers/GPS_driver.py
Original file line number Diff line number Diff line change
Expand Up @@ -115,3 +115,4 @@ def device_read(self, logger: logging.Logger) -> None:

def cleanup(self):
self.uart.close()
super().cleanup()
3 changes: 2 additions & 1 deletion EosPayload/drivers/RadioDriver.py
Original file line number Diff line number Diff line change
Expand Up @@ -115,11 +115,12 @@ 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}"
f"\n{traceback.format_exc()}")

def cleanup(self):
self.port.close()
super().cleanup()

1 change: 1 addition & 0 deletions EosPayload/drivers/camera_driver.py
Original file line number Diff line number Diff line change
Expand Up @@ -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))
Expand Down
41 changes: 8 additions & 33 deletions EosPayload/drivers/cutdown_driver.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,35 +14,26 @@ 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
self._command_queue = Queue()

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
Expand Down Expand Up @@ -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()
2 changes: 1 addition & 1 deletion EosPayload/drivers/led_driver.py
Original file line number Diff line number Diff line change
Expand Up @@ -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()
1 change: 1 addition & 0 deletions EosPayload/drivers/reefing_driver.py
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@ def cleanup(self):
self.set_reefing_level(0, self._logger)
PWM.stop("P9_14")
PWM.cleanup()
super().cleanup()

'''
Expand Down
4 changes: 0 additions & 4 deletions EosPayload/drivers/telemetry_I2C_driver.py
Original file line number Diff line number Diff line change
Expand Up @@ -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


Expand All @@ -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
Expand Down Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion config.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"payload_name": "Gabe_1",
"payload_name": "Gabe",
"devices":
[
{
Expand Down

0 comments on commit 6a80e30

Please sign in to comment.