Allow constructing control loops from flatbuffers
The core changes here are to:
* Allow constructing StateFeedbackLoop's from flatbuffers using the
code in *state_feedback_loop_converters.*
* Add constructors to the single-dof subsystem class to make use of
this.
* Add code to control_loops.py to generate JSON files with the requisite
constants (these end up containing identical information to the
generated .cc files).
* Add interfaces to actually support the new JSON codegen to single-dof
subsystem classes.
* Convert all of the drivetrains over to generating these. This I mostly
do so that I can write a test where Iconfirm that the .cc files and
the JSON files generate exactly the same content.
Change-Id: Iceac48f25ecac96200b7bf992c8f34a15fe6800c
Signed-off-by: James Kuszmaul <jabukuszmaul+collab@gmail.com>
diff --git a/motors/seems_reasonable/drivetrain.py b/motors/seems_reasonable/drivetrain.py
index ad3d92a..1eeeb42 100644
--- a/motors/seems_reasonable/drivetrain.py
+++ b/motors/seems_reasonable/drivetrain.py
@@ -26,12 +26,12 @@
argv = FLAGS(argv)
glog.init()
- if len(argv) != 5:
- glog.error("Expected .h file name and .cc file name")
+ if len(argv) != 7:
+ glog.error("Expected .h, .cc, and .json filenames")
else:
# Write the generated constants out to a file.
- drivetrain.WriteDrivetrain(argv[1:3],
- argv[3:5], ['motors', 'seems_reasonable'],
+ drivetrain.WriteDrivetrain(argv[1:4],
+ argv[4:7], ['motors', 'seems_reasonable'],
kDrivetrain,
scalar_type='float')