void px4flow_integral_sample_get_be(const uint8_t *n_var0, uint32_t n_var1, struct px4flow_integral_sample *n_var2) { ivory_serialize_unpack_uint16_be(n_var0, n_var1, &n_var2->frame_count_since_last_readout); ivory_serialize_unpack_int16_be(n_var0, (uint32_t) ((uint32_t) 2U + n_var1), &n_var2->pixel_flow_x_integral); ivory_serialize_unpack_int16_be(n_var0, (uint32_t) (n_var1 + (uint32_t) 4U), &n_var2->pixel_flow_y_integral); ivory_serialize_unpack_int16_be(n_var0, (uint32_t) (n_var1 + (uint32_t) 6U), &n_var2->gyro_x_rate_integral); ivory_serialize_unpack_int16_be(n_var0, (uint32_t) (n_var1 + (uint32_t) 8U), &n_var2->gyro_y_rate_integral); ivory_serialize_unpack_int16_be(n_var0, (uint32_t) (n_var1 + (uint32_t) 10U), &n_var2->gyro_z_rate_integral); ivory_serialize_unpack_uint32_be(n_var0, (uint32_t) (n_var1 + (uint32_t) 12U), &n_var2->integration_timespan); ivory_serialize_unpack_uint32_be(n_var0, (uint32_t) (n_var1 + (uint32_t) 16U), &n_var2->sonar_timestamp); ivory_serialize_unpack_int16_be(n_var0, (uint32_t) (n_var1 + (uint32_t) 20U), &n_var2->ground_distance); ivory_serialize_unpack_int16_be(n_var0, (uint32_t) (n_var1 + (uint32_t) 22U), &n_var2->gyro_temperature); ivory_serialize_unpack_uint8_be(n_var0, (uint32_t) (n_var1 + (uint32_t) 24U), &n_var2->quality); ibool_get_be(n_var0, (uint32_t) (n_var1 + (uint32_t) 25U), &n_var2->samplefail); time_micros_t_get_be(n_var0, (uint32_t) (n_var1 + (uint32_t) 26U), &n_var2->time); }
void callback_decoder_serial_in(const uint8_t *n_var0) { uint8_t n_deref0 = *n_var0; const uint8_t *n_cse0 = &hx_decoder.fstate; uint8_t n_deref1 = *n_cse0; int32_t n_deref2 = hx_decoder.offset; bool n_deref3 = hx_decoder.tagSeen; uint8_t n_r4 = decodeSM(&hx_decoder, n_deref0); uint8_t n_deref5 = *n_cse0; uint8_t n_deref6 = hx_decoder.ftag; bool n_cse4 = (bool) ((uint8_t) 2U == n_deref1); if ((bool) (n_cse4 && (bool) ((bool) (n_deref5 == (uint8_t) 1U) && n_deref3))) { if ((bool) (0 == n_deref6)) { bool n_deref7 = overrun; if ((bool) !n_deref7) { uint8_t n_local8[96U] = {}; uint8_t *n_ref9 = n_local8; for (int32_t n_ix10 = (int32_t) 0; n_ix10 <= (int32_t) 95; n_ix10++) { ivory_serialize_unpack_uint8_be((const uint8_t *) buf, (uint32_t) n_ix10, &n_ref9[n_ix10]); } callback_push(n_ref9); } } } else { if ((bool) (n_deref1 == (uint8_t) 1U)) { if ((bool) (0 == n_deref6)) { overrun = false; for (int32_t n_ix11 = (int32_t) 0; n_ix11 <= (int32_t) 194; n_ix11++) { buf[n_ix11] = (uint8_t) 0U; } } } else { if ((bool) (n_cse4 || (bool) (n_deref1 == (uint8_t) 3U))) { if ((bool) (0 == n_deref6)) { if ((bool) (n_deref2 < (int32_t) 195)) { buf[n_deref2 % 195] = n_r4; } else { overrun = true; } } } } } }