blob: e289cefb7365bd7a1cb630de0bede72f9172e46e [file] [log] [blame]
Austin Schuh085eab92020-11-26 13:54:51 -08001#!/usr/bin/python3
Comran Morshed9a9948c2016-01-16 15:58:04 +00002
Comran Morshed9a9948c2016-01-16 15:58:04 +00003import sys
Comran Morshed6c6a0a92016-01-17 12:45:16 +00004from y2016.control_loops.python import drivetrain
Campbell Crowleyd86a2162017-12-28 16:04:43 -08005from frc971.control_loops.python import polydrivetrain
Comran Morshed9a9948c2016-01-16 15:58:04 +00006
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.')
Comran Morshed9a9948c2016-01-16 15:58:04 +000016except gflags.DuplicateFlagError:
Ravago Jones5127ccc2022-07-31 16:32:45 -070017 pass
18
Comran Morshed9a9948c2016-01-16 15:58:04 +000019
Comran Morshed9a9948c2016-01-16 15:58:04 +000020def 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 'y2016', drivetrain.kDrivetrain)
28
Comran Morshed9a9948c2016-01-16 15:58:04 +000029
30if __name__ == '__main__':
Ravago Jones5127ccc2022-07-31 16:32:45 -070031 argv = FLAGS(sys.argv)
32 glog.init()
33 sys.exit(main(argv))