Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The Path manager state machine will be implemented in a thread of its own. A full cycle of this state machine needs to be executed at some constant frequency. The states as well as the flow between them is depicted in the drawing below. Each state corresponds to exactly 1 module action. The state machine itself only transfers data between modules. It may also repackage data to facilitate communication between modules, but it never processes or modifies and data, that is the exclusive job of the modules. The figure below depicts the states as well as the flow between them.Image Removed

...

Further, the breakdown of the signals received and sent out by each state is depicted in the figure below. Modules are completely isolated from each other. None “knows about” any others. Each one only receives data from the state machine, acts on it as needed, and returns any data it needs to return back to the state machine. This level of modularity is done in an effort to make each module as easy to understand as possible, as easy to unit test as possible and makes the process of debugging easier as well.

...