diff --git a/state_machine/applications/example/StateMachineConfig.py b/state_machine/applications/example/StateMachineConfig.py index ed80a648..63a20772 100644 --- a/state_machine/applications/example/StateMachineConfig.py +++ b/state_machine/applications/example/StateMachineConfig.py @@ -5,7 +5,7 @@ from TransitionFunctions import announcer -from config import config # noqa: F401 +from states import config # noqa: F401 TaskMap = { 'Battery': battery, diff --git a/state_machine/applications/example/config.py b/state_machine/applications/example/states.py similarity index 100% rename from state_machine/applications/example/config.py rename to state_machine/applications/example/states.py diff --git a/state_machine/applications/flight/StateMachineConfig.py b/state_machine/applications/flight/StateMachineConfig.py index 7d27e850..f571dacf 100644 --- a/state_machine/applications/flight/StateMachineConfig.py +++ b/state_machine/applications/flight/StateMachineConfig.py @@ -6,7 +6,7 @@ from Tasks.gnc import task as gnc from Tasks.radio import task as radio from TransitionFunctions import announcer, low_power_on, low_power_off -from config import config # noqa: F401 +from states import config # noqa: F401 TaskMap = { "Safety": safety, diff --git a/state_machine/applications/flight/application_config.py b/state_machine/applications/flight/application_config.py new file mode 100644 index 00000000..4d8f4032 --- /dev/null +++ b/state_machine/applications/flight/application_config.py @@ -0,0 +1,7 @@ +driver_config = { + "LOW_VOLTAGE": 69, +} + +application_config = { + "TEST": 69, +} diff --git a/state_machine/applications/flight/config.py b/state_machine/applications/flight/states.py similarity index 100% rename from state_machine/applications/flight/config.py rename to state_machine/applications/flight/states.py diff --git a/state_machine/drivers/emulation/config/driver.py b/state_machine/drivers/emulation/config/driver.py new file mode 100644 index 00000000..765bdb90 --- /dev/null +++ b/state_machine/drivers/emulation/config/driver.py @@ -0,0 +1,8 @@ +driver_config = { + "FREQ": 433, + "LOW_VOLTAGE": 3.0, + # Max opperating temp on specsheet for ATSAMD51J19A (Celsius) + "HIGH_TEMP": 125, + # Min opperating temp on specsheet for ATSAMD51J19A (Celsius) + "LOW_TEMP": -40, +} diff --git a/state_machine/drivers/emulation/lib/pycubed.py b/state_machine/drivers/emulation/lib/pycubed.py index 03f6b017..4c0583b3 100644 --- a/state_machine/drivers/emulation/lib/pycubed.py +++ b/state_machine/drivers/emulation/lib/pycubed.py @@ -1,5 +1,6 @@ import time import tasko +import config import lib.reader as reader try: @@ -54,12 +55,10 @@ class Satellite: BOOTTIME = time.monotonic() data_cache = {} - # Max opperating temp on specsheet for ATSAMD51J19A (Celsius) - HIGH_TEMP = 125 - # Min opperating temp on specsheet for ATSAMD51J19A (Celsius) - LOW_TEMP = -40 - # Low battery voltage threshold LOW_VOLTAGE = 4.0 + LOW_VOLTAGE = config.driver_config['LOW_VOLTAGE'] + HIGH_TEMP = config.driver_config['HIGH_TEMP'] + LOW_TEMP = config.driver_config['LOW_TEMP'] def __init__(self): self.task = None @@ -138,9 +137,5 @@ def imu(self): def neopixel(self): return True - @property - def neopixel(self): - return True - cubesat = Satellite() diff --git a/state_machine/drivers/pycubedmini/config/driver.py b/state_machine/drivers/pycubedmini/config/driver.py new file mode 100644 index 00000000..765bdb90 --- /dev/null +++ b/state_machine/drivers/pycubedmini/config/driver.py @@ -0,0 +1,8 @@ +driver_config = { + "FREQ": 433, + "LOW_VOLTAGE": 3.0, + # Max opperating temp on specsheet for ATSAMD51J19A (Celsius) + "HIGH_TEMP": 125, + # Min opperating temp on specsheet for ATSAMD51J19A (Celsius) + "LOW_TEMP": -40, +} diff --git a/state_machine/drivers/pycubedmini/lib/pycubed.py b/state_machine/drivers/pycubedmini/lib/pycubed.py index b2c9ee15..1ac14f72 100644 --- a/state_machine/drivers/pycubedmini/lib/pycubed.py +++ b/state_machine/drivers/pycubedmini/lib/pycubed.py @@ -21,6 +21,7 @@ import time import tasko from ulab.numpy import array +import config class device: """ @@ -73,17 +74,15 @@ class _Satellite: c_downlink = multiBitFlag(register=_DWNLINK, lowest_bit=0, num_bits=8) c_logfail = multiBitFlag(register=_LOGFAIL, lowest_bit=0, num_bits=8) - UHF_FREQ = 433.0 + UHF_FREQ = config.driver_config['FREQ'] instance = None data_cache = {} # Satellite attributes - LOW_VOLTAGE = 3.0 - # Max opperating temp on specsheet for ATSAMD51J19A (Celsius) - HIGH_TEMP = 125 - # Min opperating temp on specsheet for ATSAMD51J19A (Celsius) - LOW_TEMP = -40 + LOW_VOLTAGE = config.driver_config['LOW_VOLTAGE'] + HIGH_TEMP = config.driver_config['HIGH_TEMP'] + LOW_TEMP = config.driver_config['LOW_TEMP'] def __new__(cls): """ diff --git a/state_machine/frame/config/__init__.py b/state_machine/frame/config/__init__.py new file mode 100644 index 00000000..f9e9353a --- /dev/null +++ b/state_machine/frame/config/__init__.py @@ -0,0 +1,13 @@ +from config.driver import driver_config as dc + +driver_config = dc +application_config = {} +try: + import application_config as ac + if hasattr(ac, 'application_config'): + application_config = ac.application_config + if hasattr(ac, 'driver_config'): + for param in ac.driver_config: + driver_config[param] = ac.driver_config[param] +except ImportError: + print('No application config found')