-
Notifications
You must be signed in to change notification settings - Fork 17
Michael Pham Meeting Notes 27DEC24
Evan Ortiz edited this page Dec 28, 2024
·
1 revision
deprecate the battery board as an independent microcontroller
- based the software structure on pycubed.org, provides an example of how circuit python works
When the board runs it runs code.py in the code base.
- imports time and microcontroller
- prints the version
- loiter time
- import main
- for orpheus: straight forward loop. If the power is normal then it will continue doing the main Task
- import lib.pysquared import cubesat as c.
- not good programming, single object "c" that everything is assigned to.
- if you change the values, when it reboots, then it clears the values.
- beacon interval - useless, Does not use asyncio
- def check_reboot - soft reset to prevent memory corruption from radiation.
- self.radio_cfg - dictionary to change the radio frequency.
- cr - coding rate has a bugs
- sf - values between 0-12. trade of with output signal ( set to 8)
- initialize the Communication buses:
- want the board to have to have two radio modes - fsk has a higher data rate
- line 486 is when the initialization is complete, this is a problem.
- the rest of the library is helper functions
- self.radio_cfg - dictionary to change the radio frequency.
- Hardware watchdog:
- needs to be pet every 20 seconds.
- refer to def main(): for the sequence order
things you want the satellite to do. as objects it makes them convenient to run in shorthand.
- list of jokes
- listening function
- cdh - command data handling
- checks if you have the secret code or the repeat code.
- if repeat - takes the arguments of what you send and send it back to you
- cdh - command data handling
- problem with the send command being abstracted twice def send()
- runs into a problem with the ram because it imports large libraries, and then each library would import the libraries into a feedback loop that overloads the ram
- def get_battery_data() problems where .get_power_metrics doesnt even work. which is why they don't know the battery levels on orpheus
- def safe.sleep() wakes up every 15 secs to pet the watch dog
repl.py - tries to set up the watchdog pin twice and only has 26 secs to impliment code before the watchdog starts safemode.py - resets the microcontroller to safemode, underdeveloped logic in there radio_test.py - only automated test. big shortfall. create a function check script tpo go through to test all the expected functionality is what you expect
- Ability to concisely call things
- beaconing into the ocean, more effective timing, but the board is not trusted archive
- firmware in another repo - release packages
- automated testing
- improved config experience