8762A Overcomplicated code release

( Copied from blog post: http://blog.pxtst.com/8762a-overcomplicated-code-release/ )

I am officially releasing 8762A’s 2016-2017 code.

The source can be found here: https://lab.pxtst.com/PixelToast/8762A-2016/tree/master/src

Quick overview of features:

  1. ~1700 lines of code (1500 SLOC)
  2. All C++
  3. Doesn’t depend on newlib
  4. Clean syntax
  5. Easy motor configuration / grouping
  6. Modular motor control types (deadband, slew, truespeed)
  7. PID
  8. Smooth arm control
  9. Arm hold for user control
  10. Modular variable persistence
  11. RNG
  12. Modular variable debugging
  13. Advanced LCD menu system
  14. Debugging variables via LCD
  15. Fully featured rerun
  16. LCD Warnings
  17. Fault debugging when not tethered (requires my custom libpros.a)

Why RNG?