Browse Source

HAL_SITL: notify GCS on GPIO changes

useful for testing relays in SITL
mission-4.1.18
Andrew Tridgell 9 years ago
parent
commit
d7faeada87
  1. 9
      libraries/AP_HAL_SITL/GPIO.cpp

9
libraries/AP_HAL_SITL/GPIO.cpp

@ -32,12 +32,15 @@ void GPIO::write(uint8_t pin, uint8_t value) @@ -32,12 +32,15 @@ void GPIO::write(uint8_t pin, uint8_t value)
return;
}
uint8_t mask = sitlState->_sitl->pin_mask.get();
uint8_t new_mask = mask;
if (value) {
mask |= (1U<<pin);
new_mask |= (1U<<pin);
} else {
mask &= ~(1U<<pin);
new_mask &= ~(1U<<pin);
}
if (mask != new_mask) {
sitlState->_sitl->pin_mask.set_and_notify(new_mask);
}
sitlState->_sitl->pin_mask.set(mask);
}
void GPIO::toggle(uint8_t pin)

Loading…
Cancel
Save