Project

General

Profile

Revision 1418

Added by Rich Hong about 14 years ago

Added encoder_get_x and encoder_get_v.

use get_v at your own risk
If encoder_read returns -1, this usually means battery is low.
If encoder_read returns a value greater than ENCODER_MAX, this usually means there are physical problems with the encoder.

View differences:

encoders.h
28 28
	#define RIGHT 1
29 29
#endif
30 30

  
31
/** @brief Max value of valid encoder reading. **/
32
#define ENCODER_MAX 1024
33

  
31 34
/** @brief Magnet misaligned - likely distance from encoder problem. **/
32 35
#define ENCODER_MAGNET_FAILURE 1025
33 36
/** @brief Encoder misaligned - likely on XY plane. **/
......
49 52
#define MagDECn _BV(0)
50 53

  
51 54
/** @brief Buffer size **/
52
#define BUFFER_SIZE 23
55
#define BUFFER_SIZE 46
53 56

  
57
#define ERR_VEL 1024
58

  
54 59
/** @brief Initialize encoders. **/
55 60
void encoders_init(void);
56 61
/** @brief Read instantaneous encoder value. **/
57 62
int encoder_read(char encoder);
58 63

  
64
/** @brief Get total distance traveled.
65
 *  @note  Simply calls encoder_get_dx.
66
 **/
67
int encoder_get_x(char encoder);
68

  
69
/** @brief Get instantaneous velocity. **/
70
int encoder_get_v(char encoder);
71

  
59 72
/** @brief Get total distance traveled. **/
60 73
int encoder_get_dx(char encoder);
61 74
/** @brief Reset distance counter. **/

Also available in: Unified diff