Skip to content

Streamline process_routing for faster data transmission #139

Description

@AwesomeTornado

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

  • Remove usages of try process routing
  • Remove try process routing from main
  • Remove while loops in process routing
  • Update process routing to improve readability, cleanliness, and speed
  • Test code on daisy chained FBC setup, verify data integrity at high voltage
  • Test code on daisy chained AMDS setup

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions