News for hackers. Stuff that matters.
Re:Exploring the software that flies SpaceX rockets and star... by icegreentea2 on Tuesday May 11, 2021 @06:48AM (#27116458)
Yes, this stuff is nice.

But it is worth noting that these control loops can often have some sort of memory, so you normally need to test over multiple cycles - you usually have a test vector to load in, and watch for the response vector.

Trivial example would be if you had a PID controller implemented into your main loop. Your main loop would be storing the integral and "previous" error term.

Re:Exploring the software that flies SpaceX rockets and star... by bagels on Tuesday May 11, 2021 @06:56AM (#27116497)
Equivalent to handling an additionaanl sensor input and an additional output, no?
Re:Exploring the software that flies SpaceX rockets and star... by icegreentea2 on Tuesday May 11, 2021 @07:19AM (#27116653)
Yes, you could in principle convert any memory within a given loop into a separate unit. You just gotta pick between the tradeoffs between having more I/O and software/hardware units, versus having more memory within specific software/hardware units.

You just gotta find a balance that works for your requirements and constraints. In my application (it was medical devices), we found that stateful loops fit nicely.

Re:Exploring the software that flies SpaceX rockets and star... by EmielMols on Tuesday May 11, 2021 @07:16AM (#27116631)
True, but you do want to test the emergent control system.
Re:Exploring the software that flies SpaceX rockets and star... by jcims on Tuesday May 11, 2021 @08:09AM (#27117103)
That's the irony of closed loop control systems. They appear to be simple but the emergent behavior, particularly when there is a hierarchy of control loops, is incredibly complex.