blob: 1f3eb35164699c30579ef9816df66e0884e79bfb [file] [log] [blame]
brians343bc112013-02-10 01:53:46 +00001#include <stdint.h>
2
James Kuszmaul4a4622b2013-03-02 16:28:29 -08003#include <array>
4
brians343bc112013-02-10 01:53:46 +00005namespace frc971 {
6namespace constants {
7
8// Has all of the numbers that change for both robots and makes it easy to
9// retrieve the values for the current one.
10//
11// All of the public functions to retrieve various values take a pointer to
12// store their output value into and assume that aos::robot_state->get() is
13// not null and is correct. They return true on success.
14
15const uint16_t kCompTeamNumber = 971;
16const uint16_t kPracticeTeamNumber = 5971;
17
Austin Schuhfa033692013-02-24 01:00:55 -080018// Sets *angle to how many radians from horizontal to the location of interest.
James Kuszmaule06e2512013-03-02 15:04:53 -080019bool wrist_hall_effect_start_angle(double *angle);
20bool wrist_hall_effect_stop_angle(double *angle);
Austin Schuhfa033692013-02-24 01:00:55 -080021// These are the soft stops for up and down.
James Kuszmaule06e2512013-03-02 15:04:53 -080022bool wrist_lower_limit(double *angle);
23bool wrist_upper_limit(double *angle);
Austin Schuhfa033692013-02-24 01:00:55 -080024// These are the hard stops. Don't use these for anything but testing.
James Kuszmaule06e2512013-03-02 15:04:53 -080025bool wrist_lower_physical_limit(double *angle);
26bool wrist_upper_physical_limit(double *angle);
Austin Schuhfa033692013-02-24 01:00:55 -080027
28// Returns the speed to move the wrist at when zeroing in rad/sec
James Kuszmaule06e2512013-03-02 15:04:53 -080029bool wrist_zeroing_speed(double *speed);
James Kuszmaul16bcb5f2013-03-03 14:50:07 -080030bool angle_adjust_hall_effect_start_angle(
James Kuszmaul4a4622b2013-03-02 16:28:29 -080031 ::std::array<double, 2> *angle);
James Kuszmaul16bcb5f2013-03-03 14:50:07 -080032bool angle_adjust_hall_effect_stop_angle(
James Kuszmaul4a4622b2013-03-02 16:28:29 -080033 ::std::array<double, 2> *angle);
34// These are the soft stops for up and down.
James Kuszmaul16bcb5f2013-03-03 14:50:07 -080035bool angle_adjust_lower_limit(double *angle);
36bool angle_adjust_upper_limit(double *angle);
James Kuszmaul4a4622b2013-03-02 16:28:29 -080037// These are the hard stops. Don't use these for anything but testing.
James Kuszmaul16bcb5f2013-03-03 14:50:07 -080038bool angle_adjust_lower_physical_limit(double *angle);
39bool angle_adjust_upper_physical_limit(double *angle);
James Kuszmaul4a4622b2013-03-02 16:28:29 -080040
41// Returns speed to move the angle adjust when zeroing, in rad/sec
James Kuszmaul16bcb5f2013-03-03 14:50:07 -080042bool angle_adjust_zeroing_speed(double *speed);
Austin Schuhfa033692013-02-24 01:00:55 -080043
brians343bc112013-02-10 01:53:46 +000044// Sets *center to how many pixels off center the vertical line
45// on the camera view is.
46bool camera_center(int *center);
brians343bc112013-02-10 01:53:46 +000047
48} // namespace constants
49} // namespace frc971