|
|
|
@ -1,6 +1,6 @@
@@ -1,6 +1,6 @@
|
|
|
|
|
/****************************************************************************
|
|
|
|
|
* |
|
|
|
|
* Copyright (c) 2012-2017 PX4 Development Team. All rights reserved. |
|
|
|
|
* Copyright (c) 2012-2022 PX4 Development Team. All rights reserved. |
|
|
|
|
* |
|
|
|
|
* Redistribution and use in source and binary forms, with or without |
|
|
|
|
* modification, are permitted provided that the following conditions |
|
|
|
@ -131,7 +131,7 @@ bool dsm_port_input(uint16_t *rssi, bool *dsm_updated, bool *st24_updated, bool
@@ -131,7 +131,7 @@ bool dsm_port_input(uint16_t *rssi, bool *dsm_updated, bool *st24_updated, bool
|
|
|
|
|
if (!(r_status_flags & (PX4IO_P_STATUS_FLAGS_RC_DSM | PX4IO_P_STATUS_FLAGS_RC_SUMD))) { |
|
|
|
|
for (unsigned i = 0; i < n_bytes; i++) { |
|
|
|
|
/* set updated flag if one complete packet was parsed */ |
|
|
|
|
st24_rssi = INPUT_RC_RSSI_MAX; // input_rc_s::RSSI_MAX;
|
|
|
|
|
st24_rssi = input_rc_s::RSSI_MAX; |
|
|
|
|
*st24_updated |= (OK == st24_decode(bytes[i], &st24_rssi, &lost_count, |
|
|
|
|
&st24_channel_count, r_raw_rc_values, PX4IO_RC_INPUT_CHANNELS)); |
|
|
|
|
} |
|
|
|
@ -161,7 +161,7 @@ bool dsm_port_input(uint16_t *rssi, bool *dsm_updated, bool *st24_updated, bool
@@ -161,7 +161,7 @@ bool dsm_port_input(uint16_t *rssi, bool *dsm_updated, bool *st24_updated, bool
|
|
|
|
|
if (!(r_status_flags & (PX4IO_P_STATUS_FLAGS_RC_DSM | PX4IO_P_STATUS_FLAGS_RC_ST24))) { |
|
|
|
|
for (unsigned i = 0; i < n_bytes; i++) { |
|
|
|
|
/* set updated flag if one complete packet was parsed */ |
|
|
|
|
sumd_rssi = INPUT_RC_RSSI_MAX; // input_rc_s::RSSI_MAX;
|
|
|
|
|
sumd_rssi = input_rc_s::RSSI_MAX; |
|
|
|
|
*sumd_updated |= (OK == sumd_decode(bytes[i], &sumd_rssi, &sumd_rx_count, |
|
|
|
|
&sumd_channel_count, r_raw_rc_values, PX4IO_RC_INPUT_CHANNELS, &sumd_failsafe_state)); |
|
|
|
|
} |
|
|
|
@ -229,10 +229,10 @@ controls_tick()
@@ -229,10 +229,10 @@ controls_tick()
|
|
|
|
|
/* use 1:1 scaling on 3.3V, 12-Bit ADC input */ |
|
|
|
|
unsigned mV = _rssi_adc_counts * 3300 / 4095; |
|
|
|
|
/* scale to 0..100 (input_rc_s::RSSI_MAX == 100) */ |
|
|
|
|
_rssi = (mV * INPUT_RC_RSSI_MAX / 3300); |
|
|
|
|
_rssi = (mV * input_rc_s::RSSI_MAX / 3300); |
|
|
|
|
|
|
|
|
|
if (_rssi > INPUT_RC_RSSI_MAX) { |
|
|
|
|
_rssi = INPUT_RC_RSSI_MAX; |
|
|
|
|
if (_rssi > input_rc_s::RSSI_MAX) { |
|
|
|
|
_rssi = input_rc_s::RSSI_MAX; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
@ -258,11 +258,11 @@ controls_tick()
@@ -258,11 +258,11 @@ controls_tick()
|
|
|
|
|
if (sbus_updated) { |
|
|
|
|
atomic_modify_or(&r_status_flags, PX4IO_P_STATUS_FLAGS_RC_SBUS); |
|
|
|
|
|
|
|
|
|
unsigned sbus_rssi = INPUT_RC_RSSI_MAX; // input_rc_s::RSSI_MAX
|
|
|
|
|
unsigned sbus_rssi = input_rc_s::RSSI_MAX; |
|
|
|
|
|
|
|
|
|
if (sbus_frame_drop) { |
|
|
|
|
r_raw_rc_flags |= PX4IO_P_RAW_RC_FLAGS_FRAME_DROP; |
|
|
|
|
sbus_rssi = INPUT_RC_RSSI_MAX / 2; |
|
|
|
|
sbus_rssi = input_rc_s::RSSI_MAX / 2; |
|
|
|
|
|
|
|
|
|
} else { |
|
|
|
|
r_raw_rc_flags &= ~(PX4IO_P_RAW_RC_FLAGS_FRAME_DROP); |