This PR adds support for stm32f303 based flight controllers:
CCF3D (cc3d with f3 - this was the original development board)
SPracingF3Evo (and other boards based on this design)
STM's development board Nucleo F303RE
Common code changes are mostly related to build system (makefile segments) and mpu6000/9250 sensors.
Those two sensors drivers are modified in such way that:
mpu6000 now also supports 6050 with i2c connection
mpu6000 orientation supports sensor located at bottom of the board (upside down).
mpu9250 can detect if chip is in fact bare mpu6500 that has no internal mag.
New sensor driver is bmp280 baro.
Changes that possibly affect other targets:
ws2811 driver has dev_id parameter, unused for current f4, but used in f3.
i2c driver for f4 has fixed callback apis (implicitly allows mpu6050 breakout board to be used with discovery f4)
uavobjectmanager now uses fastmem heap (CCM) to allocate objects - this is to leave more dma accessible ram free.
usart driver will correctly generate parity bit by configuring hw to send 9 data bits (8 + parity) when required.
Things that are not implemented yet or need to be changed:
SDCARD driver - most of the full size F3 boards have sdcard slot.
Boards without baro sensor need to use new fusion algo that I have given unfortunate name of "Acro (No Sensors)". This is thing to work on, to have baro filter more forgiving, to allow normal operation with missing baro when not using altitude hold. Similar to how one can fly without gps, but not if gps modes are in FMS.
onboard spi flash - some f3 boards have different flash chips and type, configuration and capacity has to be determined at runtime (not really a problem, already working on it).
GCS is missing HW pages for f3 boards. This is already work in progress.
Support for more boards: tinyFISH FC - neat cause it is truly opensource, tiny and has integrated frsky rx with telemetry, and Omnibus F3 - good cause it has integrated max osd chip that is spi connected (there are also such f4 and f7 boards). Also those Omnibuses are used as reference design for other chinese clones.