Double size buf, a lot of debug

This commit is contained in:
Christina Quast 2015-03-22 19:06:12 +01:00
parent 0ca8390a8d
commit a1dd0ef4bc
1 changed files with 11 additions and 7 deletions

View File

@ -40,7 +40,7 @@ extern uint32_t char_stat;
//#define BUFLEN 14 //#define BUFLEN 14
// FIXME: Remove: // FIXME: Remove:
#define PR TRACE_DEBUG #define PR TRACE_INFO
//#define PR printf //#define PR printf
/*typedef struct ring_buffer /*typedef struct ring_buffer
@ -53,9 +53,9 @@ ring_buffer buf = { {0}, 0 };
void buf_push(uint8_t item) void buf_push(uint8_t item)
{ {
buf.buf[buf.idx % (BUFLEN)] = item; buf.buf[buf.idx % (BUFLEN*2)] = item;
PR("----- Push: %x %x\n\r", buf.idx, buf.buf[buf.idx]); PR("Psh: %x %x\n\r", buf.idx, buf.buf[buf.idx]);
buf.idx = (buf.idx+1) % (BUFLEN); buf.idx = (buf.idx+1) % (BUFLEN*2);
} }
uint8_t get_buf_start(uint8_t *buf_start) uint8_t get_buf_start(uint8_t *buf_start)
@ -125,7 +125,7 @@ void USART1_IrqHandler( void )
*/ */
uint32_t csr = USART_PHONE->US_CSR; uint32_t csr = USART_PHONE->US_CSR;
PR("---- stat: %x\n\r", csr); // PR("---- stat: %x\n\r", csr);
if (csr & US_CSR_TXRDY) { if (csr & US_CSR_TXRDY) {
/* transmit buffer empty, nothing to transmit */ /* transmit buffer empty, nothing to transmit */
@ -134,18 +134,22 @@ void USART1_IrqHandler( void )
stat = (csr&(US_CSR_OVRE|US_CSR_FRAME| stat = (csr&(US_CSR_OVRE|US_CSR_FRAME|
US_CSR_PARE|US_CSR_TIMEOUT|US_CSR_NACK| US_CSR_PARE|US_CSR_TIMEOUT|US_CSR_NACK|
(1<<10))); (1<<10)));
int c = (USART_PHONE->US_RHR) & 0xFF;
// printf(" %x", c);
if (stat == 0 ) { if (stat == 0 ) {
/* Fill char into buffer */ /* Fill char into buffer */
PR("---- BUFLEN %x\n\r", buf.idx);
buf_push((USART_PHONE->US_RHR) & 0xFF); buf_push((USART_PHONE->US_RHR) & 0xFF);
} else { } else {
// buf_push((USART_PHONE->US_RHR) & 0xFF); // buf_push((USART_PHONE->US_RHR) & 0xFF);
PR("e");
PR("%x\n\r", (USART_PHONE->US_RHR) & 0xFF); PR("%x\n\r", (USART_PHONE->US_RHR) & 0xFF);
PR("st:", stat);
} /* else: error occured */ } /* else: error occured */
if ((buf.idx % BUFLEN) == BUFLEN-1) { if ((buf.idx % BUFLEN) == BUFLEN-1) {
rcvdChar = 1; rcvdChar = 1;
printf("r. ");
} }
char_stat = stat; char_stat = stat;