00001
00043 #ifndef __ENCODERS_H__
00044 #define __ENCODERS_H__
00045
00046
00047 #ifndef LEFT
00048
00049 #define LEFT 0
00050 #endif
00051 #ifndef RIGHT
00052
00053 #define RIGHT 1
00054 #endif
00055
00057 #define ENCODER_MAX 1024
00058
00060 #define ENCODER_MAGNET_FAILURE 1025
00061
00062 #define ENCODER_MISALIGNED 1027
00063
00064 #define ENCODER_DATA_NOT_READY 1026
00065
00067 #define ENCODER_DELAY 20
00068
00069
00070 #define OCF _BV(4)
00071 #define COF _BV(3)
00072
00073
00074 #define LIN _BV(2)
00075
00076 #define MagINCn _BV(1)
00077 #define MagDECn _BV(0)
00078
00079 #ifdef BUFFER_SIZE
00080 #error BUFFER_SIZE already defined!
00081 #endif
00082
00084 #define BUFFER_SIZE 46
00085
00086 #define ERR_VEL 1024
00087
00089 int encoders_init(void);
00091 int encoder_read(char encoder);
00092
00096 int encoder_get_x(char encoder);
00097
00099 int encoder_get_v(char encoder);
00100
00102 int encoder_get_dx(char encoder);
00104 int encoder_rst_dx(char encoder);
00106 int encoder_get_tc(void);
00108 int encoder_rst_tc(void);
00109
00111 int encoder_wait( int nReadings );
00112
00114
00115 #endif