mirror of
https://github.com/ArduPilot/ardupilot
synced 2025-02-01 13:38:38 -04:00
SRV_Channel: add invalid mask for GPIO outputs
This commit is contained in:
parent
a36848cba5
commit
d1e02e4fdd
@ -620,6 +620,9 @@ private:
|
||||
// mask of outputs which are digitally reversible (eg. DShot-3D)
|
||||
static uint32_t reversible_mask;
|
||||
|
||||
// mask of channels with invalid funtions, eg GPIO
|
||||
static uint32_t invalid_mask;
|
||||
|
||||
SRV_Channel obj_channels[NUM_SERVO_CHANNELS];
|
||||
|
||||
// override loop counter
|
||||
|
@ -178,10 +178,12 @@ void SRV_Channels::update_aux_servo_function(void)
|
||||
for (uint16_t i = 0; i < SRV_Channel::k_nr_aux_servo_functions; i++) {
|
||||
functions[i].channel_mask = 0;
|
||||
}
|
||||
invalid_mask = 0;
|
||||
|
||||
// set auxiliary ranges
|
||||
for (uint8_t i = 0; i < NUM_SERVO_CHANNELS; i++) {
|
||||
if (!channels[i].valid_function()) {
|
||||
invalid_mask |= 1U<<i;
|
||||
continue;
|
||||
}
|
||||
const uint16_t function = channels[i].function.get();
|
||||
@ -595,7 +597,7 @@ uint32_t SRV_Channels::get_output_channel_mask(SRV_Channel::Aux_servo_function_t
|
||||
if (SRV_Channel::valid_function(function)) {
|
||||
return functions[function].channel_mask;
|
||||
}
|
||||
return 0;
|
||||
return invalid_mask;
|
||||
}
|
||||
|
||||
|
||||
|
@ -68,6 +68,7 @@ AP_BLHeli *SRV_Channels::blheli_ptr;
|
||||
uint32_t SRV_Channels::disabled_mask;
|
||||
uint32_t SRV_Channels::digital_mask;
|
||||
uint32_t SRV_Channels::reversible_mask;
|
||||
uint32_t SRV_Channels::invalid_mask;
|
||||
|
||||
bool SRV_Channels::disabled_passthrough;
|
||||
bool SRV_Channels::initialised;
|
||||
|
Loading…
Reference in New Issue
Block a user