blob: a1fc749aff7c1648f76196dbbfdab870d75df950 [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
13const uint16_t kCompTeamNumber = 971;
14const uint16_t kPracticeTeamNumber = 5971;
15
Austin Schuhfa033692013-02-24 01:00:55 -080016// Sets *angle to how many radians from horizontal to the location of interest.
James Kuszmaule06e2512013-03-02 15:04:53 -080017bool wrist_hall_effect_start_angle(double *angle);
18bool wrist_hall_effect_stop_angle(double *angle);
Austin Schuhfa033692013-02-24 01:00:55 -080019// These are the soft stops for up and down.
James Kuszmaule06e2512013-03-02 15:04:53 -080020bool wrist_lower_limit(double *angle);
21bool wrist_upper_limit(double *angle);
Austin Schuhfa033692013-02-24 01:00:55 -080022// These are the hard stops. Don't use these for anything but testing.
James Kuszmaule06e2512013-03-02 15:04:53 -080023bool wrist_lower_physical_limit(double *angle);
24bool wrist_upper_physical_limit(double *angle);
Austin Schuhfa033692013-02-24 01:00:55 -080025
26// Returns the speed to move the wrist at when zeroing in rad/sec
James Kuszmaule06e2512013-03-02 15:04:53 -080027bool wrist_zeroing_speed(double *speed);
Austin Schuhdd3bc412013-03-16 17:02:40 -070028bool wrist_zeroing_off_speed(double *speed);
29
Austin Schuhe20e93c2013-03-09 19:54:16 -080030bool angle_adjust_hall_effect_start_angle(double *angle);
31bool angle_adjust_hall_effect_stop_angle(double *angle);
James Kuszmaul4a4622b2013-03-02 16:28:29 -080032// These are the soft stops for up and down.
James Kuszmaul16bcb5f2013-03-03 14:50:07 -080033bool angle_adjust_lower_limit(double *angle);
34bool angle_adjust_upper_limit(double *angle);
James Kuszmaul4a4622b2013-03-02 16:28:29 -080035// These are the hard stops. Don't use these for anything but testing.
James Kuszmaul16bcb5f2013-03-03 14:50:07 -080036bool angle_adjust_lower_physical_limit(double *angle);
37bool angle_adjust_upper_physical_limit(double *angle);
James Kuszmaul4a4622b2013-03-02 16:28:29 -080038
39// Returns speed to move the angle adjust when zeroing, in rad/sec
James Kuszmaul16bcb5f2013-03-03 14:50:07 -080040bool angle_adjust_zeroing_speed(double *speed);
Austin Schuhdd3bc412013-03-16 17:02:40 -070041bool angle_adjust_zeroing_off_speed(double *speed);
Austin Schuhfa033692013-02-24 01:00:55 -080042
Brian Silverman3cb1d802013-08-30 15:41:49 -070043// Returns the deadband voltage to use.
44bool angle_adjust_deadband(double *voltage);
45
Brian Silverman656789c2013-09-21 23:53:35 -070046// Sets *pinion to the number of teeth on the pinion that drives the drivetrain
47// wheels.
48bool drivetrain_gearbox_pinion(int *pinion);
49
brians343bc112013-02-10 01:53:46 +000050// Sets *center to how many pixels off center the vertical line
51// on the camera view is.
52bool camera_center(int *center);
brians343bc112013-02-10 01:53:46 +000053
54} // namespace constants
55} // namespace frc971