Rev 243 | Rev 245 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 243 | Rev 244 | ||
---|---|---|---|
Line 106... | Line 106... | ||
106 | #define UART1_RX_FIFO_LEN 1024 |
106 | #define UART1_RX_FIFO_LEN 1024 |
107 | u8 UART1_rxfifobuffer[UART1_RX_FIFO_LEN]; |
107 | u8 UART1_rxfifobuffer[UART1_RX_FIFO_LEN]; |
108 | fifo_t UART1_rx_fifo; |
108 | fifo_t UART1_rx_fifo; |
Line 109... | Line 109... | ||
109 | 109 | ||
110 | // the rx buffer |
110 | // the rx buffer |
111 | #define UART1_RX_BUFFER_LEN 150 |
111 | #define UART1_RX_BUFFER_LEN 200 |
112 | u8 UART1_rbuffer[UART1_RX_BUFFER_LEN]; |
112 | u8 UART1_rbuffer[UART1_RX_BUFFER_LEN]; |
Line 113... | Line 113... | ||
113 | Buffer_t UART1_rx_buffer; |
113 | Buffer_t UART1_rx_buffer; |
114 | 114 | ||
115 | // the tx buffer |
115 | // the tx buffer |
116 | #define UART1_TX_BUFFER_LEN 150 |
116 | #define UART1_TX_BUFFER_LEN 200 |
Line 188... | Line 188... | ||
188 | Buffer_Init(&UART1_tx_buffer, UART1_tbuffer, UART1_TX_BUFFER_LEN); |
188 | Buffer_Init(&UART1_tx_buffer, UART1_tbuffer, UART1_TX_BUFFER_LEN); |
Line 189... | Line 189... | ||
189 | 189 | ||
190 | // initialize rxd buffer |
190 | // initialize rxd buffer |
Line 191... | Line 191... | ||
191 | Buffer_Init(&UART1_rx_buffer, UART1_rbuffer, UART1_RX_BUFFER_LEN); |
191 | Buffer_Init(&UART1_rx_buffer, UART1_rbuffer, UART1_RX_BUFFER_LEN); |
192 | 192 | ||
Line 193... | Line 193... | ||
193 | // initialize the rx fifo |
193 | // initialize the rx fifo, block UART IRQ geting a byte from fifo |
194 | fifo_init(&UART1_rx_fifo, UART1_rxfifobuffer, UART1_RX_FIFO_LEN); |
194 | fifo_init(&UART1_rx_fifo, UART1_rxfifobuffer, UART1_RX_FIFO_LEN, NO_ITLine, UART1_ITLine); |
Line 195... | Line 195... | ||
195 | 195 | ||
Line 238... | Line 238... | ||
238 | // enable uart 1 interrupts selective |
238 | // enable uart 1 interrupts selective |
239 | UART_ITConfig(UART1, UART_IT_Receive | UART_IT_ReceiveTimeOut, ENABLE); |
239 | UART_ITConfig(UART1, UART_IT_Receive | UART_IT_ReceiveTimeOut, ENABLE); |
240 | UART_Cmd(UART1, ENABLE); // enable uart 1 |
240 | UART_Cmd(UART1, ENABLE); // enable uart 1 |
241 | // configure the uart 1 interupt line |
241 | // configure the uart 1 interupt line |
242 | VIC_Config(UART1_ITLine, VIC_IRQ, PRIORITY_UART1); |
242 | VIC_Config(UART1_ITLine, VIC_IRQ, PRIORITY_UART1); |
243 | // enable the uart 1 IRQ |
243 | // enable the uart 1 IRQ |
244 | VIC_ITCmd(UART1_ITLine, ENABLE); |
244 | VIC_ITCmd(UART1_ITLine, ENABLE); |
Line 245... | Line 245... | ||
245 | 245 | ||
246 | // initialize the debug timer |
246 | // initialize the debug timer |
247 | UART1_DebugData_Timer = SetDelay(UART1_DebugData_Interval); |
247 | UART1_DebugData_Timer = SetDelay(UART1_DebugData_Interval); |
Line 352... | Line 352... | ||
352 | if(DebugUART != UART1) return; |
352 | if(DebugUART != UART1) return; |
Line 353... | Line 353... | ||
353 | 353 | ||
354 | u8 c; |
354 | u8 c; |
355 | // if rx buffer is not locked |
355 | // if rx buffer is not locked |
- | 356 | if(UART1_rx_buffer.Locked == FALSE) |
|
356 | if(UART1_rx_buffer.Locked == FALSE) |
357 | { |
357 | { //collect data from primary rx fifo |
358 | //collect data from primary rx fifo |
- | 359 | while(fifo_get(&UART1_rx_fifo, &c)) |
|
358 | while(fifo_get(&UART1_rx_fifo, &c)) |
360 | { |
359 | { // break if complete frame is collected |
361 | // break if complete frame is collected |
360 | if(MKProtocol_CollectSerialFrame(&UART1_rx_buffer, c)) break; |
362 | if(MKProtocol_CollectSerialFrame(&UART1_rx_buffer, c)) break; |
361 | } |
363 | } |
362 | } |
364 | } |
Line 677... | Line 679... | ||
677 | UART1_NaviData_Timer = SetDelay(UART1_NaviData_Interval); |
679 | UART1_NaviData_Timer = SetDelay(UART1_NaviData_Interval); |
678 | UART1_Request_NaviData = FALSE; |
680 | UART1_Request_NaviData = FALSE; |
679 | } |
681 | } |
680 | else if( (( (UART1_DebugData_Interval > 0) && CheckDelay(UART1_DebugData_Timer)) || UART1_Request_DebugData) && (UART1_tx_buffer.Locked == FALSE)) |
682 | else if( (( (UART1_DebugData_Interval > 0) && CheckDelay(UART1_DebugData_Timer)) || UART1_Request_DebugData) && (UART1_tx_buffer.Locked == FALSE)) |
681 | { |
683 | { |
682 | DebugOut.Analog[24] = MagVector.X; |
- | |
683 | DebugOut.Analog[25] = MagVector.Y; |
- | |
684 | DebugOut.Analog[26] = MagVector.Z; |
- | |
685 | MKProtocol_CreateSerialFrame(&UART1_tx_buffer, 'D', NC_ADDRESS, 1,(u8 *)&DebugOut, sizeof(DebugOut)); |
684 | MKProtocol_CreateSerialFrame(&UART1_tx_buffer, 'D', NC_ADDRESS, 1,(u8 *)&DebugOut, sizeof(DebugOut)); |
686 | UART1_DebugData_Timer = SetDelay(UART1_DebugData_Interval); |
685 | UART1_DebugData_Timer = SetDelay(UART1_DebugData_Interval); |
687 | UART1_Request_DebugData = FALSE; |
686 | UART1_Request_DebugData = FALSE; |
688 | } |
687 | } |
689 | else if((( (UART1_Data3D_Interval > 0) && CheckDelay(UART1_Data3D_Timer) ) || UART1_Request_Data3D) && (UART1_tx_buffer.Locked == FALSE)) |
688 | else if((( (UART1_Data3D_Interval > 0) && CheckDelay(UART1_Data3D_Timer) ) || UART1_Request_Data3D) && (UART1_tx_buffer.Locked == FALSE)) |