Browse Source

AP_HAL_SITL: suppress output until initialization is finished

master
khancyr 8 years ago committed by Andrew Tridgell
parent
commit
4413ebab7b
  1. 1
      libraries/AP_HAL_SITL/RCOutput.cpp
  2. 2
      libraries/AP_HAL_SITL/SITL_State.cpp
  3. 1
      libraries/AP_HAL_SITL/SITL_State.h

1
libraries/AP_HAL_SITL/RCOutput.cpp

@ -45,6 +45,7 @@ void RCOutput::disable_ch(uint8_t ch) @@ -45,6 +45,7 @@ void RCOutput::disable_ch(uint8_t ch)
void RCOutput::write(uint8_t ch, uint16_t period_us)
{
_sitlState->output_ready = true;
if (ch < SITL_NUM_CHANNELS && (_enable_mask & (1U<<ch))) {
if (_corked) {
_pending[ch] = period_us;

2
libraries/AP_HAL_SITL/SITL_State.cpp

@ -323,7 +323,7 @@ void SITL_State::_simulator_servos(SITL::Aircraft::sitl_input &input) @@ -323,7 +323,7 @@ void SITL_State::_simulator_servos(SITL::Aircraft::sitl_input &input)
* to change */
uint8_t i;
if (last_update_usec == 0) {
if (last_update_usec == 0 || !output_ready) {
for (i=0; i<SITL_NUM_CHANNELS; i++) {
pwm_output[i] = 1000;
}

1
libraries/AP_HAL_SITL/SITL_State.h

@ -45,6 +45,7 @@ public: @@ -45,6 +45,7 @@ public:
ssize_t gps_read(int fd, void *buf, size_t count);
uint16_t pwm_output[SITL_NUM_CHANNELS];
uint16_t pwm_input[SITL_RC_INPUT_CHANNELS];
bool output_ready = false;
bool new_rc_input;
void loop_hook(void);
uint16_t base_port(void) const {

Loading…
Cancel
Save