blob: e5304428849b784e912c6a7b5d53e277f4bf51ac [file] [log] [blame]
brians343bc112013-02-10 01:53:46 +00001#include <stdint.h>
2
3namespace frc971 {
4namespace constants {
5
6// Has all of the numbers that change for both robots and makes it easy to
7// retrieve the values for the current one.
8//
9// All of the public functions to retrieve various values take a pointer to
10// store their output value into and assume that aos::robot_state->get() is
11// not null and is correct. They return true on success.
12
Brian Silverman63783c42013-09-28 21:57:41 -070013const uint16_t kCompTeamNumber = 5971;
14const uint16_t kPracticeTeamNumber = 971;
Daniel Pettib046c532013-10-29 03:40:40 +000015const uint16_t kBot3TeamNumber = 9971;
brians343bc112013-02-10 01:53:46 +000016
Austin Schuhfa033692013-02-24 01:00:55 -080017// Sets *angle to how many radians from horizontal to the location of interest.
James Kuszmaule06e2512013-03-02 15:04:53 -080018bool wrist_hall_effect_start_angle(double *angle);
19bool wrist_hall_effect_stop_angle(double *angle);
Austin Schuhfa033692013-02-24 01:00:55 -080020// These are the soft stops for up and down.
James Kuszmaule06e2512013-03-02 15:04:53 -080021bool wrist_lower_limit(double *angle);
22bool wrist_upper_limit(double *angle);
Austin Schuhfa033692013-02-24 01:00:55 -080023// These are the hard stops. Don't use these for anything but testing.
James Kuszmaule06e2512013-03-02 15:04:53 -080024bool wrist_lower_physical_limit(double *angle);
25bool wrist_upper_physical_limit(double *angle);
Austin Schuhfa033692013-02-24 01:00:55 -080026
27// Returns the speed to move the wrist at when zeroing in rad/sec
James Kuszmaule06e2512013-03-02 15:04:53 -080028bool wrist_zeroing_speed(double *speed);
Austin Schuhdd3bc412013-03-16 17:02:40 -070029bool wrist_zeroing_off_speed(double *speed);
30
Austin Schuhe20e93c2013-03-09 19:54:16 -080031bool angle_adjust_hall_effect_start_angle(double *angle);
32bool angle_adjust_hall_effect_stop_angle(double *angle);
James Kuszmaul4a4622b2013-03-02 16:28:29 -080033// These are the soft stops for up and down.
James Kuszmaul16bcb5f2013-03-03 14:50:07 -080034bool angle_adjust_lower_limit(double *angle);
35bool angle_adjust_upper_limit(double *angle);
James Kuszmaul4a4622b2013-03-02 16:28:29 -080036// These are the hard stops. Don't use these for anything but testing.
James Kuszmaul16bcb5f2013-03-03 14:50:07 -080037bool angle_adjust_lower_physical_limit(double *angle);
38bool angle_adjust_upper_physical_limit(double *angle);
James Kuszmaul4a4622b2013-03-02 16:28:29 -080039
40// Returns speed to move the angle adjust when zeroing, in rad/sec
James Kuszmaul16bcb5f2013-03-03 14:50:07 -080041bool angle_adjust_zeroing_speed(double *speed);
Austin Schuhdd3bc412013-03-16 17:02:40 -070042bool angle_adjust_zeroing_off_speed(double *speed);
Austin Schuhfa033692013-02-24 01:00:55 -080043
Brian Silverman3cb1d802013-08-30 15:41:49 -070044// Returns the deadband voltage to use.
45bool angle_adjust_deadband(double *voltage);
46
Brian Silverman656789c2013-09-21 23:53:35 -070047// Sets *pinion to the number of teeth on the pinion that drives the drivetrain
48// wheels.
49bool drivetrain_gearbox_pinion(int *pinion);
50
brians343bc112013-02-10 01:53:46 +000051// Sets *center to how many pixels off center the vertical line
52// on the camera view is.
53bool camera_center(int *center);
brians343bc112013-02-10 01:53:46 +000054
55} // namespace constants
56} // namespace frc971