2021-01-10 FW Design Meeting
Design Notes:
Less #defines → for improved gdb and less namespace pollution and use of optimization
Codegen:
New DBCs
Larger message space
Potentially less messages - packing more information
can have more debugging information or log can messages
Packing and unpacking:
unpacking/packing will go into a global structure per board
Don’t want to unpack message per task → buffered in global structure
structure based on ascii file (codegen’d)
Tasks:
Creating global structure → calculate number of bytes
Packing
Unpacking
DBCs → later
Logging of messages to minicom for test results(next term)
Testability:
CAN Testing:
With global structs → CAN cycle (rcv/send)
Can check structs at each cycle
CAN on x86
make a rx and tx thread
tx thread sends periodically even if nothing
rx thread tries to receive
Tasks: TBD
Unit test:
CAN → CAN wait statement (ie can_wait(5) waits for cycles to complete)
Unity
Integration (MU - Later)
FSM Library:
Prioritization of events
How two different tasks will communicate with an FSM
Ideally have global event queue → FSMs have to decide if event is for them
multiple fsms may want to access same event
Cycles
can push at anytime, but pop only at certain times
have tasks running at times you want to run