Context
The process_routing function that sends data from the AMDS to the AMDC is very long, causing significant delays in instruction cache loads and interrupts. Having such a large function also makes development more difficult and can contribute to mistakes.
The try process routing function is redundant and not necessary, if it is called from main before the interrupt calls it, it will cause timing issues due to not having enough data in the dma buffer, and if it is called after process routing exits, then it is very likely that the AMDC has already given up on the transmission.
A much better solution to whatever problem this was fixing is to simply make the try process routing function more robust.
The large amount of while loops has the possibility to lock up the system in an infinite loop, proven in #803.
Related Issues / PRs:
Approach
Context
The
process_routingfunction that sends data from the AMDS to the AMDC is very long, causing significant delays in instruction cache loads and interrupts. Having such a large function also makes development more difficult and can contribute to mistakes.The
try process routingfunction is redundant and not necessary, if it is called from main before the interrupt calls it, it will cause timing issues due to not having enough data in the dma buffer, and if it is called after process routing exits, then it is very likely that the AMDC has already given up on the transmission.A much better solution to whatever problem this was fixing is to simply make the
try process routingfunction more robust.The large amount of while loops has the possibility to lock up the system in an infinite loop, proven in #803.
Related Issues / PRs:
Approach
try process routingtry process routingfrom mainprocess routingprocess routingto improve readability, cleanliness, and speed