void sio_fp_data( unsigned char inchar ) { if (inchar == '*') { fp_high_byte = -1 ; sio_parse = &sio_fp_checksum ; } else { char hexVal = hex_char_val(inchar) ; if (hexVal == -1) { sio_parse = &sio_newMsg ; return ; } else if (fp_high_byte == -1) { fp_high_byte = hexVal * 16 ; } else { flightplan_live_received_byte(fp_high_byte + hexVal) ; fp_high_byte = -1 ; } fp_checksum += inchar ; } return ; }
void sio_cam_data( unsigned char inchar ) { if (inchar == '*') { fp_high_byte = -1 ; sio_parse = &sio_cam_checksum ; } else { char hexVal = hex_char_val(inchar) ; if (hexVal == -1) { sio_parse = &sio_newMsg ; return ; } else if (fp_high_byte == -1) { fp_high_byte = hexVal * 16 ; } else { unsigned char combined = fp_high_byte + hexVal ; camera_live_received_byte(combined) ; fp_high_byte = -1 ; fp_checksum += combined ; } } return ; }
void sio_cam_checksum( unsigned char inchar ) { char hexVal = hex_char_val(inchar) ; if (hexVal == -1) { sio_parse = &sio_newMsg ; } else if (fp_high_byte == -1) { fp_high_byte = hexVal * 16 ; } else { unsigned char v = fp_high_byte + hexVal ; if (v == fp_checksum) { camera_live_commit() ; } sio_parse = &sio_newMsg ; } return ; }
void sio_cam_checksum(uint8_t inchar) { int8_t hexVal = hex_char_val(inchar); if (hexVal == -1) { sio_parse = &sio_newMsg; } else if (fp_high_byte == -1) { fp_high_byte = hexVal * 16; } else { uint8_t v = fp_high_byte + hexVal; if (v == fp_checksum) { camera_live_commit(); } sio_parse = &sio_newMsg; } }