Current design:
TM is constantly running in its own thread performing the following:
TM calls UART driver functions to read and decode data from CV. This data is sent to PM through a PM-TM interface. This interface is already existing. The plan is to use the existing TM/PM comms interface to send and receive all the structs from ground and CV packed in a PITO/POTI struct
Data is received from PM through the interface. This data is sent to CV (and ground?) using the UART driver.
Finished Tasks:
Adjust TM reception so it only receives from CV in TM state manager using the UART driver function
Make the struct visible to both TM and PM
Still need to set UART pins
Implemented UART driver as cpp and hpp files
Talk to Aditya about ground comms implementation into TM
How the driver works
How and what do we send to ground
What function need to be called and where in TM do they need to be called
The plan is to use the existing TM/PM comms interface to send and receive all the structs from/to ground and CV packed in a PITO/POTI struct
New Reception Plan: Adjust the PIGO struct that already exists using the data the PM needs, and just use that struct in all the receiving UART functions this way we don't need to change names everywhere
Questions Answered
Do we need to create the system for PM to receive structs from TM or does that already exist?
So far TM calls an imaginary function in PM which already exists or we need to create it
There is an old PM-TM interface, not sure how outdated it is (e.g. struct members)
How and where do we set the UART pins for ZP
Is there a new version of PM we need to use - this can prob be answered with the updates git workflow which I need some help setting up
Is there any implementation we need to consider for the ground comms, or do we strictly work with the FW-CV comms
To-do:
Create PR for whatever is currently finished (mentioned last meeting - Feb 1)
Need to set UART pins with STM32 IDE
Need to figure out what the analyze and report functions do then create functions that do what they need
UART cant transmit constants?? So for now we just have it as a variable
Need to figure out the UART call back function multiple definition problem - gps.cpp
Can just have a condition that checks if its GPS stuff or FW-CV comms stuff
Maybe even check the startbyte if its not the startbyte then do whatever the GPS stuff is
Figure out how to get the unit tests working
Implement a queue for UART receive
Add Callback.cpp
Questions we have so far:
Do we need to use the analyze and report mode in TM and if so what is their purpose?
Add Comment