/* ROVLIB.H, Rover Library Header */

#define		CLEARBIT	0
#define		SETBIT		1

/* Function Prototypes */

void outauxport(short port, short setclear, unsigned short outdata);
int inauxport(unsigned short portbit);
void reset(void);
float battvoltage(void);
float gfvoltage(void);
float hpcurrent(void);
float lpcurrent(void);
float tilt_x(void);
float tilt_y(void);
int heading(void);
void setcomchan(short chan);
void setanachan(short chan);
int move_rov(char direction);
int move_rack(char direction);
int move_currmet(char direction);
int TPUiorelay(char chan);
int TPUGetPinES(short chan, short edge);
int cmvane_dir(void);
int timeout(long starttime, long maxtime);
int turn_rov(int heading);
int transit_rov(int transit_dist);
int rack_down_cycle(void);
void delaysecs(unsigned long delaytime);

#define SENSOR_PWR_ON 		outauxport(3, SETBIT, POWER6);
#define SENSOR_PWR_OFF 		outauxport(3, CLEARBIT, POWER6);
#define STROBE_PWR_ON 		outauxport(2, SETBIT, AUX1);
#define STROBE_PWR_OFF 		outauxport(2, CLEARBIT, AUX1);
#define FILMCAM_TRIG_ON  	TPUSetPin(1,1);
#define FILMCAM_TRIG_OFF 	TPUSetPin(1,0);
#define FLOOD1_PWR_ON		outauxport(1, SETBIT, AUX1);
#define FLOOD1_PWR_OFF		outauxport(1, CLEARBIT, AUX1);
#define FLOOD2_PWR_ON		outauxport(1, SETBIT, AUX2);
#define FLOOD2_PWR_OFF		outauxport(1, CLEARBIT, AUX2);