int serialRead(int fd, uint8_t *buf, int len) { int orig_len = len; while(len--) { if (serialReadByte(fd, buf++) < 0) { printf("serialread byte failed\n"); return -1; } } return orig_len; }
static void microstrain_loop ( void ) { if(is_microstrain_active()) { uint8_t ser_data; if ( serialReadByte( &ser_data ) ) { microstrain_fsm(ser_data); } if(gaugeData.initialized) { if(next_update_time < rtc_get_ticks()) { next_update_time = rtc_get_ticks()+ANG_VEL_UPD_PERIOD; update_microstrain(NULL); } } } }