void cdc_task(void) { if(Is_device_enumerated()) //Enumeration processs OK ? { if(cpt_sof>=NB_MS_BEFORE_FLUSH && tx_counter!=0 ) //Flush buffer in Timeout { cpt_sof=0; uart_usb_flush(); } if ( waiting_to_start && uart_usb_test_hit()) // Something received from the USB ? { waiting_to_start = 0; timer_init(); adc_init(); } if( !waiting_to_start ) { READING r; if( cb_pop( &r ) ) { uart_usb_putchar( (r.voltage >> 8) & 0xFF ); uart_usb_putchar( r.voltage & 0xFF ); uart_usb_putchar( (r.current >> 8) & 0xFF ); uart_usb_putchar( r.current & 0xFF ); uint16 checksum = r.voltage ^ r.current; uart_usb_putchar( (checksum >> 8) & 0xFF ); uart_usb_putchar( checksum & 0xFF ); } }
s16 ir_pop(void) { return cb_pop(&cBuffer); }