The UART3 also have the I2C bus 2 functions so moving GPS to UART7 to
have one additional I2C.
To keep GPS working is also necessary update the FPGA RTL to version
0xC1 or higher.
this was broken by the recent CAN merge. My fault for not checking it
carefully. We have to publish the armed state so the fmu driver on
pixracer can update the light
this affected vehicles with high rates on upper channels, such as hexa
and octa quadplanes. The bug caused the rates set on the upper channels
to also be set on the primary channels, which means the low channels
containing aileron, elevator etc ran at 400Hz instead of 50Hz, resulting
in potential damage to the servos
Just setting up the periodic callback sampling time on initialization
may not work well for sensors that need to request for a sample with a
bus transaction, sleep and then read the new data. That's because the
function will be kept calling at a periodic rate, while the time in
which we can read the value is not really that sampling time, but rather
the time in which sensor was last read + the time spent in the function
before sending a new sample request.
Instead of creating a new type of thread to handle this case, just
implement the minimal and easy case of updating the period for this
callback, that can only be called from inside the callback function.
When it's not armed we get _esc_pwm_min from the AP_Motors library,
which would cause motors to start spinning. Map it to start from
RPMSTOPPED so it doesn't spin when it's not armed.
this fixes zero pwm output on a subset of channels. When using
motortest and asking for a single channel, multiple channels fired due
to an incorrect optimisation
This reverts commit 5f41b09fde.
This change is completely incorrect. It is quite common to do SPI
transfers with zero send bytes, and is required for many sensors and
other devices
this allows the last two flash sectors to be used as storage for
parameters, waypoints etc.
A change to the bootloader to not erase the last two sectors is needed