blob: f4fe3d5d7869137cdff39447757ce8cc00d853cb [file] [log] [blame]
package bot3.control_loops;
import "aos/common/controls/control_loops.q";
struct GearLogging {
int8_t controller_index;
bool left_loop_high;
bool right_loop_high;
int8_t left_state;
int8_t right_state;
};
struct CIMLogging {
bool left_in_gear;
bool right_in_gear;
double left_motor_speed;
double right_motor_speed;
double left_velocity;
double right_velocity;
};
queue_group Drivetrain {
implements aos.control_loops.ControlLoop;
message Goal {
double steering;
double throttle;
bool highgear;
bool quickturn;
bool control_loop_driving;
double left_goal;
double left_velocity_goal;
double right_goal;
double right_velocity_goal;
};
message Position {
double left_encoder;
double right_encoder;
double left_shifter_position;
double right_shifter_position;
double battery_voltage;
};
message Output {
double left_voltage;
double right_voltage;
bool left_high;
bool right_high;
};
message Status {
double robot_speed;
double filtered_left_position;
double filtered_right_position;
double uncapped_left_voltage;
double uncapped_right_voltage;
bool output_was_capped;
bool is_done;
};
queue Goal goal;
queue Position position;
queue Output output;
queue Status status;
};
queue_group Drivetrain drivetrain;