blob: b83f38f5a26c607c8fb50f1aaa77c9cb9c7b9525 [file] [log] [blame]
Austin Schuh085eab92020-11-26 13:54:51 -08001#!/usr/bin/python3
Michael Schuhab42b0a2019-01-07 16:33:43 -08002
3import sys
Austin Schuh378483c2019-01-20 16:36:40 -08004from y2019.control_loops.python import drivetrain
Michael Schuhab42b0a2019-01-07 16:33:43 -08005from 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:
Ravago Jones5127ccc2022-07-31 16:32:45 -070015 gflags.DEFINE_bool('plot', False, 'If true, plot the loop response.')
Michael Schuhab42b0a2019-01-07 16:33:43 -080016except gflags.DuplicateFlagError:
Ravago Jones5127ccc2022-07-31 16:32:45 -070017 pass
18
Michael Schuhab42b0a2019-01-07 16:33:43 -080019
20def main(argv):
Ravago Jones5127ccc2022-07-31 16:32:45 -070021 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')
Ravago Jones5127ccc2022-07-31 16:32:45 -070025 else:
James Kuszmauleeb98e92024-01-14 22:15:32 -080026 polydrivetrain.WritePolyDrivetrain(argv[1:4], argv[4:7], argv[7:10],
Ravago Jones5127ccc2022-07-31 16:32:45 -070027 'y2019', drivetrain.kDrivetrain)
28
Michael Schuhab42b0a2019-01-07 16:33:43 -080029
30if __name__ == '__main__':
Ravago Jones5127ccc2022-07-31 16:32:45 -070031 argv = FLAGS(sys.argv)
32 glog.init()
33 sys.exit(main(argv))