Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Aligning Virginia Tech InspireFly Code with Main #103

Open
Mikefly123 opened this issue Jan 21, 2025 · 6 comments
Open

Aligning Virginia Tech InspireFly Code with Main #103

Mikefly123 opened this issue Jan 21, 2025 · 6 comments
Labels
enhancement New feature or request Refactor

Comments

@Mikefly123
Copy link
Member

Virginia Tech InspireFly

The InspireFly team at Virginia Tech are scheduled to launch and deploy their 1U selfiesat from the ISS sometime in 2025.

They have a codebase that was forked from this repo pre-V1.0.0 and David Encarnacion has asked us to take a look and see if we can help them get up to speed with the latest!

https://github.com/daveencar03/circuitpy_flight_software_WITH_MODIFICATIONS_-DAVE-3-

@Mikefly123 Mikefly123 added enhancement New feature or request Refactor labels Jan 21, 2025
@nateinaction
Copy link
Member

nateinaction commented Jan 22, 2025

Hmmm challenging...

Hey @daveencar03, can you enumerate what features you added and which files you added them to?

After we have that list maybe we can choose which features we want to adopt and decide how to merge them in?

@daveencar03
Copy link

daveencar03 commented Jan 22, 2025

Yeah, sure thing!

The only new feature I have added directly to my knowledge is the async def pcb_comms(), along with it's call as t7 in main_loop(). There are also some external imports like easy_comms_circuit and FCB_class.

Also, the functional additions were made in main.py, while the other python scripts were just flashed along with everything else.

@Mikefly123
Copy link
Member Author

Hm, interesting! A few notes as we think about how to tackle this:

  • In V1.0.0 we tossed out using asyncio to create a bunch of tasks in main.py when we upgraded to using the new adafruit_rfm library rather than the pysquared_rfm9x there were weird race conditions being created by having asyncio in use both at the library level and the main code level. The code now just runs a linear path through all of the possible tasks.
  • The changes made look pretty straightforward actually and relatively generic. @daveencar03 if you're able to join one of our upcoming software meetings to explain how it is supposed to work it might make sense for us to adopt your board to board comms library into the main software.
  • This does raise an interesting question for us though about how we want to handle development of "core" features of the kit and how to support mission specific features. Something like a board to board comms driver sounds pretty core, but what if in the future we have an oddly specific implementation of something, how would be handle that?

The next software working group meeting on Thursday at 4:30PM would be a great time to discuss this!

@daveencar03
Copy link

I may be a tad late, I get out of a class at ~4:45, however, I will do my best to attend if it's all the same!

@Mikefly123
Copy link
Member Author

Ah, do note it is 4:30PM PST so 6:30PM CST / 7:30PM EST!

@daveencar03
Copy link

Oh perfect! Then yes, I'll be in attendance! Appreciate the clarification

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request Refactor
Projects
None yet
Development

No branches or pull requests

3 participants