Gordon Sulc
/
Bee
Diff: move.h
- Revision:
- 0:178a07cd3e39
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/move.h Fri Dec 16 03:45:52 2011 +0000 @@ -0,0 +1,72 @@ +#ifndef _MOVE_H +#define _MOVE_H + +#include "mbed.h" +#include "Motor.h" + +#define LEFT_C -1 +#define RIGHT_C 1 +#define FULL_FOWARD 1 +#define FULL_REVERSE -1 +#define NEUTRAL 0 +#define LEFT -1 +#define RIGHT 1 + + +#define QTI_THRESH 0.48 + +#define TICS_PER_MM 40.8407045 + +typedef enum {Stopped, Moving} MovementState; +extern MovementState move_state; + +extern AnalogIn r_encoder; +extern AnalogIn l_encoder; +extern AnalogIn srf; +volatile extern int prev_r_enc; +volatile extern int prev_l_enc; + +extern DigitalOut r_charge; +extern DigitalOut l_charge; + +extern DigitalOut motor_reset; +extern Motor r_motor; +extern Motor l_motor; + +extern Serial pc; + +volatile extern int r_tics; +volatile extern int l_tics; + +volatile extern int r_goal; +volatile extern int l_goal; + +volatile extern float r_C; +volatile extern float l_C; + +void moveforward(Motor right,float speed); +void movebackward(Motor right,float speed); +void move(float speed, int tics); +void motors_stop(); +void rotate(int); + + +void QTIsensor_init(); +void QTIsensor_charge(); +void QTIsensor_discharge(); + +//Mine +//extern MovementState move_state; + +//void accelerate(Motor m, float distance); +//void move(int x, int y); +//void move_line(float distance); +//void rotate_deg(int degrees); +//void rotate_t(float time); +//void move_arc(int radius, int length, int x, int y); + +void calibrate(float speed, int rots); +void update_movement(float speed); + +#endif + \ No newline at end of file