blob: 1c13f2b8c6f6bb216777272741f7e38496befc0f [file] [log] [blame]
Austin Schuh88af0852016-12-04 20:31:32 -08001package y2015.actors;
Austin Schuh80ff2e12014-03-08 12:06:19 -08002
Ben Fredricksond69f38b2015-01-28 20:06:15 -08003import "aos/common/actions/actions.q";
Brian Silverman2c1e0342014-04-11 16:15:01 -07004
Ben Fredrickson9fb2ab12015-02-16 16:42:08 -08005// Parameters to send with start.
6struct DrivetrainActionParams {
7 double left_initial_position;
8 double right_initial_position;
9 double y_offset;
10 double theta_offset;
11 double maximum_velocity;
12 double maximum_acceleration;
Austin Schuh3fc6d5f2015-04-18 22:59:20 -070013 double maximum_turn_velocity;
14 double maximum_turn_acceleration;
Ben Fredrickson9fb2ab12015-02-16 16:42:08 -080015};
16
Austin Schuh80ff2e12014-03-08 12:06:19 -080017queue_group DrivetrainActionQueueGroup {
Ben Fredricksond69f38b2015-01-28 20:06:15 -080018 implements aos.common.actions.ActionQueueGroup;
Austin Schuh80ff2e12014-03-08 12:06:19 -080019
20 message Goal {
Austin Schuh577edf62014-04-13 10:33:05 -070021 uint32_t run;
Ben Fredrickson9fb2ab12015-02-16 16:42:08 -080022 DrivetrainActionParams params;
Austin Schuh80ff2e12014-03-08 12:06:19 -080023 };
24
25 queue Goal goal;
Ben Fredricksond69f38b2015-01-28 20:06:15 -080026 queue aos.common.actions.Status status;
Austin Schuh80ff2e12014-03-08 12:06:19 -080027};
28
29queue_group DrivetrainActionQueueGroup drivetrain_action;