Sys Manager
M1 sys Manager is completely different M2, so we should call someone new to take over the task
Should define the M2 sys manager
Right now the sys manager passes the controller data to the AM, AM process, and output to motors
No interthread currently, there was an interthread doc, which didn’t determine the specific implementation – 2023-06-26: Inter-Thread Communication Discussion https://www.freertos.org/Inter-Task-Communication.html
SM should only init the freertos threads, and kick them to start, doing interthread comm, making decision
Should SM read RC input, should SM do this or TM do this?- SM for now
Attitude Manager
M2 AM takes the RC and outputs Motor
Anni: how does everything talk to each other in different milestone
M2 needs RC input, need to talk to TM, RC got from TM
M3, output needs to change to 3-axis angular rate instead of percentage,
M3 spit out pid, current position, …
Should sensor fusion belong to AM? The sensor fusion output data struct should be defined
Telemetry Manager
needs MAVLink message – how should the TM get the data?
Don’t not take RC because tm doesn’t process the data
Pathing Manager
Need to figure out data going in and out – too confused to make progress
Doc:Path Management Architecture which documented the data TM is expected to receive
Data in is defined in the doc, M6 M7 data in are the same structure
M6 data out, should be 3-axis angular stuff, need to define the data structure, should be largely the one required for AM, need to minic the RC output
Driver
Data In/Out
am
m2 in
rc
m2 outrc
actuator pos
m3 inrc
m3 outrc
desired set points
current pos
axis pid values
pm
m6 in
see confluence
m6 outpitch, yaw, roll
mimic rc
m7 insee confluence
m7 outpitch, yaw, roll
mimic rc
tm
sm
start other managers in threads
m2 inrc
m2 outrc