Project

General

Profile

Revision 844

Added some debug statements which SHOULD BE REMOVED UPON MOVING TO TRUNK

View differences:

encoders.c
5 5

  
6 6
unsigned int left_data_buf;
7 7
unsigned int right_data_buf;
8
char buf_index;
8
char encoder_buf_index;
9 9

  
10 10
unsigned int left_data;
11 11
unsigned int right_data;
......
43 43
void encoder_recv_complete(void);
44 44

  
45 45
void encoder_recv_complete(){
46

  
46
   encoder_buf_index = 0;
47 47
   //  usb_puts("[");usb_puti(left_dx);usb_puts(",");usb_puti(right_dx);usb_puts("]\r\n");
48 48
   //   usb_puts("\r\n");
49 49
  data_ready++;
......
70 70
	data_ready=0;
71 71

  
72 72
	spi_init(encoder_recv/*put_bin*/, encoder_recv_complete);
73
	buf_index = 0;
73
	encoder_buf_index = 0;
74 74
	left_data_buf = 0;
75 75
	right_data_buf= 0;
76 76
	left_data = -1;
......
90 90
		right_data_array[i] = 0;
91 91
	}
92 92
	spi_transfer(5);
93
	usb_puts("\tencoders.c Debug: ENCODERS INITIALIZED\n\r");
93 94
}
94 95

  
95 96
/**
......
101 102
 * @return the value of the specified encoder
102 103
 **/
103 104
int encoder_read(char encoder){
104
	if(encoder==LEFT)
105
	if(encoder==LEFT){
106
		usb_puts("\tencoders.c Debug: PRINTING LEFT ENCODER VALUE\n\r");
105 107
		return left_data;
106
	else if(encoder==RIGHT)
108
	}
109
	else if(encoder==RIGHT){
110
		usb_puts("\tencoders.c Debug: PRINTING RIGHT ENCODER VALUE\n\r");
107 111
		return right_data;
108
	else return -1;
112
	}
113
	else{
114
		usb_puts("\tencoders.c Debug: INVALID ENCODER - USE LEFT/RIGHT\n\r");
115
		 return -1;
116
	}
109 117
}
110 118

  
111 119
int encoder_change(char encoder){
......
201 209
	
202 210
	//Parse the encoder data, comes in over 5 bytes 16 bits per encoder,
203 211
	// second is offset by 1 bit.
204
	switch(buf_index){	
212
	switch(encoder_buf_index){	
205 213
	case 0: 
206 214
		right_data_buf |= ((short)data)<<8 & 0xff00;
207 215
		break;
......
217 225
	case 4: left_data_buf |= (((short)data)>>7) & 0x1;
218 226
	}	
219 227
		
220
	buf_index = (buf_index + 1) % 5;
228
	encoder_buf_index = (encoder_buf_index + 1) % 5;
221 229

  
222
	if(buf_index==0) {
230
	if(encoder_buf_index==0) {
223 231
		  
224 232
		if(left_data_buf & (COF | LIN) || !(left_data_buf & OCF))  left_data = INVALID;
225 233
		else if(((left_data_buf & MagINCn) > 0)  && ((left_data_buf & MagDECn) > 0)) left_data = MAGNET_FAILURE;
......
270 278
	timecount++;
271 279
}
272 280

  
281

  
273 282
void encoders_print_data_array(void){
274 283
	int i;
275 284
	usb_puts("Left Data: Pointer is ");

Also available in: Unified diff