Commit Graph

172 Commits

Author SHA1 Message Date
laz2wiringpi 22485e3e6e GPS Rescue cms menu 2019-04-15 10:33:38 -04:00
Krzysztof Matula 36c8f1e224 Flight statistics (odometer) added.
Supported counters:
- total flights count
- total flight time
- total flight distance (if GPS available)
2019-04-05 23:43:09 +02:00
Michael Keller 022d2708c8
Merge pull request #7623 from betaflight/bf-allow-per-file-compilation-without-optimization
Allow files to compiled without optimization.
2019-03-07 03:29:31 +13:00
Dominic Clifton e35d8a25d3 Allow files to compiled without optimization.
This is required when trying to see what the optimizer is doing to the
assembly or in aiding debugging CPU IMPRECISE bus fault errors.
2019-03-06 10:34:39 +01:00
Thorsten Laux cec679ac60 incorporte review feedback 2019-03-03 11:33:14 +01:00
Bruce Luckcuck 30672a37c5 Refactor OSD element display code
Remove the giant `select` block that contained all the code to generate the elements and transition them to individual functions called only when the element is active. Simplifies the code and results in a performance improvement as it's not necessary to fall through the large `select` statement for every element that will be drawn. The individual functions and the element to function mapping are moved to a new `osd_elements.c` file.

Moved the OSD related code files to a new `osd/` directory.

Also pre-analyze the active elements and only process those that are active. This also saves processing as it's not necessary to loop through all 50 or so elements when only a couple are active.

Various other cleanup and removal of stale or unnecessary code.

In the default configuration the element drawing phase of the OSD task is reduced from ~51us to ~35us - resulting in about a 30% decrease in processing time.
2019-02-21 14:03:25 -05:00
jflyper 96fc6dc934 CLI parser for vtxtable 2019-02-06 15:24:02 +09:00
mikeller 38e1ce04df Reorganised interfaces, putting them where they are used. 2019-01-27 13:38:22 +13:00
Michael Keller af64f93a9a
Merge pull request #7367 from etracer65/cms_save_exit_popup
CMS exit/save popup menu
2019-01-12 17:51:23 +13:00
Bruce Luckcuck 5b5581fa2a CMS exit/save popup menu
Adds a new exit/save menu that can be displayed at any time using the yaw-right stick command. Yaw-left still functions as "back".

Allows the user to save their settings even while nested deep in multiple menus. Previously the user was required to back up all the way to the top level menu to save or exit.
2019-01-10 18:59:50 -05:00
Bruce Luckcuck 330d93eb5b Add CMS failsafe setup menu
Located under the Features top-level menu. Allows configuring the failsafe procedure (like selecting GPS-RESCUE if applicable).

Bounded with `#ifdef USE_CMS_FAILSAFE_MENU` so it can be disabled for space critical targets.
2019-01-10 15:22:36 -05:00
Thorsten Laux 8d4ed72e13 rpm telemetry based notch filter 2019-01-07 13:36:01 +01:00
jflyper fe182bb2fb Introduce dma_reqmap 2018-12-30 09:40:37 +09:00
phobos- c88a5a3a22 Refactored SPI RX led blink and bind plug functionality to rx_spi_common 2018-11-25 10:37:18 +01:00
jflyper 9f47d130b9 Adds the MCO driver facility for F7 targets
MCO2 output as run time configurable option
Add sanity check for MCO2 pin
changed output mode to AF from OUTPUT in mco driver
MCO for F4 is not implemented yet
Reinstate original OMNIBUSF7 target.h
Add config variable mco2_on_pc9
Make MCO2 pin hardcoded with mco2_on_pin control variable
fixed mco2 clock config corruption
removed unused pin definitions
2018-10-26 19:51:19 +02:00
jflyper 00840ce40f Prepare SD card SPI and SDIO variants for consolidation 2018-10-01 19:44:04 +09:00
Blaine eb5af3a161 Add support for the ST LIS3MDL 3-Axis Magnetometer per #6437 2018-09-16 19:56:13 -07:00
mikeller 0bce8549ee Renamed 'fc/fc_' files to remove the double 'fc'. 2018-08-26 14:07:06 +12:00
Michael Keller fdb4e20ed0
Merge pull request #6224 from Scavanger/CMS-for-Hott-Textmode
CMS for HoTT-Textmode.
2018-08-16 23:57:15 +12:00
Michael Keller 283e55e45d Removed SPRACINGF3OSD support. 2018-08-08 08:32:20 +12:00
mikeller df55fc99ec Added MSP for reboot to MSC. 2018-07-17 18:34:06 +12:00
Andi Kanzler 31830dc10c Bring the CMS to the HoTT-Textmode. 2018-07-01 01:05:43 +02:00
azolyoung 53458d4cf1 Change rcsplit protocol to async 2018-06-23 11:55:15 +08:00
mikeller 444e5c43a5 Fixed USB HID channel mapping in Windows. 2018-06-13 01:34:36 +12:00
mikeller 1a2c129306 Fixed build for SPRACINGF3OSD. 2018-05-31 23:25:03 +12:00
mikeller a101a58b68 Added ability to set and check board info. 2018-05-31 23:25:03 +12:00
Michael Keller 69a80a3bb0
Merge pull request #5965 from loopur/mybranch
Add barometer sensor QMP6988
2018-05-25 15:54:47 +12:00
jflyper c60eecbff0 Drop software SPI RX support 2018-05-23 20:59:52 +09:00
s0up ac6b8088c9 add gps rescue mode 2018-05-20 16:28:17 -07:00
Loopur d36858a220 Add baro sensor of QMP6988 2018-05-18 18:37:28 +08:00
Loopur 495cfb4d07 Add barometer sensor QMP6988 2018-05-18 16:26:07 +08:00
jflyper 6c044829cc Mark unused acc/gyro support toward retirement. 2018-05-16 14:31:39 +09:00
mikeller 7a03ead75e Made SIMULATOR_BUILD a makefile driven option. 2018-05-14 19:13:37 +12:00
s0up de5fa47c4c navigation feature / reference removal 2018-05-09 10:28:36 -07:00
jflyper 5edd0c746f Move serial.c from SPEED_OPTIMZED to SIZE_OPTIMIZED 2018-05-08 17:09:24 +09:00
blckmn aad6efdf03 Timer clean up in preparation for configurable timers 2018-05-06 06:55:17 +10:00
blckmn 48e62ab8d6 Simplified source.mk slightly to ensure some common, and pg files are always included in build. 2018-05-05 14:37:38 +10:00
Diego Basch c46be03047 added gps for altitude estimation, remove most unused code, rename altitude.c to position.c, add hdop to nmea 2018-05-04 08:45:26 -07:00
Michael Keller 3ef12389da
Merge pull request #5743 from codecae/crsf_displayport
CMS Telemetry over CRSF w/ Lua Script (X9D, so far)
2018-04-25 00:09:58 +12:00
Curtis Bangert 9d4d3ad45c CMS Telemetry over CRSF w/ Lua Script (X9D, so far) 2018-04-23 22:34:30 -04:00
jflyper 0e4684e828 Serial port function mask initializer as a config helper 2018-04-23 21:44:40 +09:00
jflyper 0306accf6e FLASH Add W25M homogeneous stack driver and W25M512 support (#5722)
* Winbond W25M homogeneous mode driver

* W25M512 support on OMNIBUSF4 variants
2018-04-20 16:37:48 +12:00
jflyper 864dba98c1 Prepare flash code for multiple device type support (#5683)
* Prepare flash drivers for multiple device type support

* Add static assertions on device page and flashfs alloc sizes.
2018-04-19 21:05:42 +12:00
jflyper d749879cf6 FAT emulation of onboard flash for MSC (#5650) 2018-04-11 11:29:56 +12:00
Michael Keller 75bafb7b71
Merge pull request #3039 from cleanflight/f7-transponder-ir (#5618)
CF/BF - Add support for IR Transponder on STM32F7 boards.
2018-04-06 03:44:18 +12:00
Chris c71cfe1b8c Cache up SDIO Writing, add option to enable clock bypass. (#5612)
* Speed up SDIO Writing, add option to enable clock bypass.

* Fix identation

* Requested changes

* Move PG SDIO into correct place.
2018-04-05 12:52:30 +12:00
conkerkh f00e4f2a82 Simplify compilation of F4 SDIO enabled targets. (#5603) 2018-04-02 14:41:16 +12:00
Michael Keller 92d19e7be6
Merge pull request #3036 from cleanflight/spracingf7dual-pidaudio (#5586)
PID-Audio feature
2018-04-01 11:08:41 +12:00
codecae 8131e4f840 Created generic SmartAudio interface (#5561) 2018-03-31 13:01:30 +13:00
codecae 22004cfd56 Created generic Tramp protocol interface (#5527) 2018-03-30 17:50:19 +13:00
conkerkh b9ab42d6a7 Enable Composite USB HID for all F4, add PG for USB device. (#5525) 2018-03-25 12:44:57 +13:00
Michael Keller a8e86880f5
Generalised USB MSC use for all F4 targets with SD card. (#5519) 2018-03-24 16:00:53 +13:00
conkerkh 3a917a3755 Add USB Mass Storage Class support (#5443)
* Add MSC support

* Add support for MSC to WORMFC and SDIO_DMA

* Cleanup in fc_init

* Fix headers
2018-03-22 00:11:34 +13:00
Petr Ledvina 2abcaebd81 Reimplement strtol/strtoul/atoi (#5400)
newlibc version is pulling in (part of) locale support

Adapted from uClibc source code
Addded support for 0b.... prefix for binary numbers
2018-03-13 09:24:15 +13:00
Míguel Ángel Mulero Martínez 73eb5d396e Add compass QMC5883L driver (#5309) 2018-03-04 11:45:54 +13:00
Petr Ledvina c11d016bc7 optimize math (#5287)
* optimize math

Results in considerable flash saving

* log_approx, exp_approx, pow_approx

Taken from https://github.com/jhjourdan/SIMD-math-prims/blob/master/simd_math_prims.h

* Fix pow in rangefinder

* Use approximate function in baro calculation

Maximum error is < 20cm

* fixup! Fix pow in rangefinder
2018-03-04 01:26:33 +13:00
jflyper 6557b161aa Add box to pinio monitor/mapper 2018-02-12 13:54:40 +09:00
jflyper 8f76a11081 Generic pin output driver 2018-02-11 15:57:28 +09:00
Michael Keller 81e75badf3
Merge pull request #3724 from DanNixon/cms_power_config
CMS power menu
2018-02-11 13:19:30 +13:00
Michael Keller ec4b3b0d60 Revert "CAMERA_CONTROL Drop software PWM mode" 2018-02-11 12:33:00 +13:00
jflyper 93ce6e542a Separate pg related to pg directory 2018-02-09 16:46:12 +09:00
jflyper 86149361ab Drop softpwm option
Also separates PG related code to pg directory.
2018-02-04 12:29:22 +09:00
Dan Nixon 22874d8ba2 CMS power menu
Menu including:
- Voltage meter selection
- Current meter selection
- Max cell voltage (moved from MISC menu)
- Voltage scale adjust (moved from MISC menu)
- ADC current scale and offset adjust
- Virtual current scale and offset adjust
2018-02-01 15:31:45 +00:00
Michael Keller 14b3d574f7
Revert "Size Optimization: Move time-critical code from fc_core.c to fc_tasks.c" 2018-01-31 08:41:46 +13:00
Bruce Luckcuck 4712b0aca1 Discussion: Move time-critical code from fc_core.c to fc_tasks.c
Change fc_core.c to be size-optimized to reduce overall firmware size. Saves 3288 bytes on OMNIBUS as an example.
2018-01-29 20:11:25 -05:00
blckmn 39bb6ffe04 Configurable SDCARD, and clean up of DMA. 2018-01-29 11:50:14 +11:00
Anders Hoglund ac76179942 Spektrum VTX control moved to VTX control task. Added some missing compile conditionals and a few cosmetic updates too. 2018-01-26 13:52:29 +01:00
Martin Budden a4772d9dea
Merge pull request #4999 from martinbudden/bfa_mixer_tri
Add hooks for triflight
2018-01-23 10:59:29 +00:00
mikeller 67f08ce04d Stopped nrf24 drivers from being built for all targets for build time reduction. 2018-01-21 10:37:11 +13:00
Martin Budden ccb49583e9 Add hooks for triflight 2018-01-20 13:59:45 +00:00
Michael Keller 4258651b3a
Merge pull request #4881 from jflyper/bfdev-adc-internal-full-task-version
VREFINT and core temperature support, full task polling version
2018-01-10 16:12:05 +13:00
jflyper a03b85025c Internal ADC support, full task polling version 2018-01-10 11:49:56 +09:00
Chris efc556f91a Add LPS25HB driver 2018-01-07 18:00:19 +01:00
mikeller 09d396c05c Cleaned up parameter group handling.
Fixed missing include.
2017-12-31 10:51:01 +13:00
mikeller 0b9884961d Updated handling of FrSky telemetry processing, renamed to `FrSkyHub` for disambiguation. 2017-12-28 11:01:35 +13:00
mikeller b38738894c Moved bus_spi parameter group to `pg/`. 2017-12-25 07:24:32 +13:00
mikeller f6bdfd91e2 Moved beeper parameter groups to `pg/`. 2017-12-24 17:56:37 +13:00
Michael Keller 351294d19a
Merge pull request #4835 from mikeller/move_vcd_to_pg
Moved vcd parameter group to `pg/`.
2017-12-24 16:13:59 +13:00
mikeller 2d930b28ce Moved vcd parameter group to `pg/`. 2017-12-24 15:13:48 +13:00
mikeller b928950598 Moved rx drivers into `drivers/rx/`. 2017-12-24 13:55:18 +13:00
mikeller d82c72bc54 Moved sdcard parameter group to `pg/`. 2017-12-24 12:23:27 +13:00
mikeller 9cb4f6b097 Moved parameter group for rx_pwm to `pg` directory. 2017-12-24 10:04:45 +13:00
mikeller 200167aaf7 Moved max7456 parameter group into `pg/` directory. 2017-12-24 09:09:26 +13:00
mikeller 429c6cecda Moved parameter group for flash into `pg/`. 2017-12-24 02:21:02 +13:00
mikeller fa6a723c35 Moved I2C parameter group into `pg` directory. 2017-12-24 00:33:32 +13:00
Michael Keller a618de9e8e
Merge pull request #4793 from jflyper/bfdev-rangefinder-benewake-new
RANGEFINDER Add Benewake TFmini/TF02 support
2017-12-22 18:11:03 +13:00
Michael Keller 2df7b82037
Merge pull request #4785 from AndersHoglund/split_spektrum_rx_rssi
Moved Spektrum RX RSSI stuff to separate source files.
2017-12-21 14:26:02 +13:00
jflyper a510091bf1 Add Benewake TFmini/TF02 support 2017-12-21 02:21:36 +09:00
Anders Hoglund 6ec0b55c95 Moved Spektrum RX RSSI stuff to separate source files. 2017-12-20 10:45:58 +01:00
jflyper 11c47c631b Port iNav's rangefinder 2017-12-20 12:54:19 +09:00
mikeller b489d0ba9d Renamed 'parameter_group' to 'pg'. 2017-12-19 23:36:31 +13:00
Anders Hoglund 23b31736b7 Moved Spektrum VTX control stuff to separate source files. 2017-12-18 23:14:50 +01:00
Michael Keller 379382036f
Merge pull request #4680 from martinbudden/bfa_pg_adc
Separated ADC parameter group code into separate files
2017-12-18 19:05:48 +13:00
Martin Budden ed30e9f5c7 Moved gyro_sync into drivers/accgyro directory 2017-12-17 16:01:50 +00:00
Martin Budden 725f0dfa26 Separated ADC parameter group code into separate files 2017-12-15 01:31:29 +00:00
Michael Keller 5fee45b704
Merge pull request #4643 from jflyper/bfdev-target-and-mcu-dependent-optimzation-alternative
Add MCU dependent optimization to sources.mk
2017-11-28 19:17:56 +13:00
Petr Ledvina 91fff0a6dd Use local implementation of some string functions
library versions are replaced (libeary functions are weak).
System ctype.h is implemented using macros, local header file
(in -I path) is provided to override system one.
2017-11-24 13:01:39 +01:00
jflyper 5ada200874 Non-F3 list 2017-11-23 23:09:18 +09:00
jflyper 0f90664e1c Experimentally add target and mcu dependent optimization in sources.mk 2017-11-23 11:49:12 +09:00
mikeller 26b873dad9 Added optimisation settings for optional sources. 2017-11-18 11:08:13 +13:00