systems and Parallel PWM/PPM systems.
Added setting for failsafe_max_usec. Renamed failsafe_detect_threshold
to failsafe_min_usec.
Failsafe now detects when a PPM/PWM RX isn't sending ANY data out on
CH1-4. See documentation notes regarding Graupner receivers in
Failsafe.md.
Documented failsafe system.
implementing the STM32F303 ADC code. Now this is inline with the
STM32F303 initialisation.
This also deletes some redundant code due to better initialisation
sequence.
own dedicated serial port.
Added a feature to enable/disable RX_MSP.
Renamed feature SERIALRX to RX_SERIAL.
Renamed feature PARALLEL_PWM to RX_PARALLEL_PWM
Renamed PPM to RX_PPM.
Update serial configuration checking to better support Serial RX and
telemetry by verifiying serial port features and supported baud rates.
It's now possible to use a low-speed serial rx provider via softserial -
only problem is all the current serial rx providers are 100000/115200
baud. The code changes however open the door for using serial rx and
any capable serial port such as uart3-5 on the STM32F30x
It's also now possible to use GPS at low speeds on software serial
ports.
meant that 1kb of code could be overwritten when saving the config.
Fixed EEPROM write address for F30x so that code is also not overwritten
when saving the config.
match the comment from pullrequest about spacing
remains : some hand alignment for comment and wrong /** */ usage.
Conflicts:
src/board.h
src/buzzer.c
src/config.c
src/drivers/serial_common.h
src/drivers/system_common.c
src/drv_gpio.h
src/drv_pwm.c
src/drv_timer.c
src/drv_uart.c
src/flight_imu.c
src/mw.c
src/serial_cli.c
This enables a new feature setting for PARALLEL_PWM which is enabled by
default.
This starts to move much of the feature checking/excluding code that is
littered through into a single place - validateAndFixConfig(). Since
the config is known to be valid after the method is called other code
can just get on with it's job instead of checking for confliciting
features/settings.
Currently port usage is hard-coded to the default port layout, cli
commands are coming in a future commit.
This decouples all code from the global 'serialPorts' structure which
has been removed. Any code that needs to use a serial port can use
findOpenSerialPort() and openSerialPort() and maintain it's own
reference to the port.
Ports can switch between functions. e.g. by default
cli/msp/telemetry/gps
passthrough all use USART1. Each port maintains it's current function.
see begin/endSerialPortFunction.
There are only certain combinations of serial port functions that are
supported, these are listed in serialPortFunctionScenario_e.
This commit also adds a few 'static' keywords to variables that should
have been.
There a a few other minor fixes and tweaks to various bits of code that
this uncovered too.
connected instead of the 'midrc' value.
Achieved by deleting unnecessary legacy ardino code.
Discussion here:
http://www.multiwii.com/forum/viewtopic.php?f=8&t=5063&p=50635#p50634
Basically it was there because the Ardiuno PPMSUM timer resolution is
lower than the STM32 code we use.
With a Grapner GR-24 receiver using parallel PWM or PPM (12channel) the
values hardly fluctuate at all, slightly more noticable with parallel
PWM input.
This removes a number of FIXMEs regarding driver dependencies on the
main code.
The code to verify pulse lengths is now in computeRC which means that
all RX drivers do not have to duplicate the pulse length checking code.
This means that failsafe can be used to validate serial RX providers as
well as PWM/PPM RX providers.