|
|
|
@ -60,6 +60,8 @@ static perf_counter_t c_gather_ppm;
@@ -60,6 +60,8 @@ static perf_counter_t c_gather_ppm;
|
|
|
|
|
|
|
|
|
|
static int _dsm_fd; |
|
|
|
|
|
|
|
|
|
static uint16_t rc_value_override = 0; |
|
|
|
|
|
|
|
|
|
bool dsm_port_input(uint16_t *rssi, bool *dsm_updated, bool *st24_updated) |
|
|
|
|
{ |
|
|
|
|
perf_begin(c_gather_dsm); |
|
|
|
@ -313,8 +315,14 @@ controls_tick() {
@@ -313,8 +315,14 @@ controls_tick() {
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
r_rc_values[mapped] = SIGNED_TO_REG(scaled); |
|
|
|
|
assigned_channels |= (1 << mapped); |
|
|
|
|
/* pick out override channel, indicated by mapping 8 (9 th channel, virtual) */ |
|
|
|
|
if (mapped == 8) { |
|
|
|
|
rc_value_override = SIGNED_TO_REG(scaled); |
|
|
|
|
} else { |
|
|
|
|
/* normal channel */ |
|
|
|
|
r_rc_values[mapped] = SIGNED_TO_REG(scaled); |
|
|
|
|
assigned_channels |= (1 << mapped); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
} |
|
|
|
@ -409,7 +417,7 @@ controls_tick() {
@@ -409,7 +417,7 @@ controls_tick() {
|
|
|
|
|
* requested override. |
|
|
|
|
* |
|
|
|
|
*/ |
|
|
|
|
if ((r_status_flags & PX4IO_P_STATUS_FLAGS_RC_OK) && (REG_TO_SIGNED(r_rc_values[4]) < RC_CHANNEL_LOW_THRESH)) |
|
|
|
|
if ((r_status_flags & PX4IO_P_STATUS_FLAGS_RC_OK) && (REG_TO_SIGNED(rc_value_override) < RC_CHANNEL_LOW_THRESH)) |
|
|
|
|
override = true; |
|
|
|
|
|
|
|
|
|
if (override) { |
|
|
|
|