blob: 505ed38c58197aa46aa8f5a3c8e2a5ad9cee9eaf [file] [log] [blame]
Austin Schuh085eab92020-11-26 13:54:51 -08001#!/usr/bin/python3
Austin Schuhbcce26a2018-03-26 23:41:24 -07002
3import sys
4from motors.seems_reasonable import drivetrain
5from frc971.control_loops.python import polydrivetrain
6
7import gflags
8import glog
9
10__author__ = 'Austin Schuh (austin.linux@gmail.com)'
11
12FLAGS = gflags.FLAGS
13
14try:
15 gflags.DEFINE_bool('plot', False, 'If true, plot the loop response.')
16except gflags.DuplicateFlagError:
17 pass
18
Ravago Jones5127ccc2022-07-31 16:32:45 -070019
Austin Schuhbcce26a2018-03-26 23:41:24 -070020def main(argv):
21 if FLAGS.plot:
22 polydrivetrain.PlotPolyDrivetrainMotions(drivetrain.kDrivetrain)
James Kuszmauleeb98e92024-01-14 22:15:32 -080023 elif len(argv) != 10:
24 glog.fatal('Expected .h, .cc, and .json filenames')
Austin Schuhbcce26a2018-03-26 23:41:24 -070025 else:
James Kuszmauleeb98e92024-01-14 22:15:32 -080026 polydrivetrain.WritePolyDrivetrain(argv[1:4],
27 argv[4:7],
28 argv[7:10],
Ravago Jones5127ccc2022-07-31 16:32:45 -070029 ['motors', 'seems_reasonable'],
30 drivetrain.kDrivetrain,
31 scalar_type='float')
Austin Schuhbcce26a2018-03-26 23:41:24 -070032
33
34if __name__ == '__main__':
35 argv = FLAGS(sys.argv)
36 glog.init()
37 sys.exit(main(argv))