Commit Graph

325 Commits

Author SHA1 Message Date
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 4786e1a333 Add Composite CDC+HID device option. (#5478)
* Add Composite CDC+HID device option.

- It passes on though HID interface 8 channels received from TX
- Endpoints are reconfigured to support HID interface
- Potentially this can slow down SPI Flash transfer though CDC interface...
- This could be addressed by support for MSC when using SPI Flash (emulating FATFS)

* Different way to handle MIN redefine
2018-03-22 15:21:22 +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
Dominic Clifton 0a2e5a5878 CF/BF - Update DSP_Lib and STM32F7/Drivers/CMSIS to CMSIS 5.3.0. (#5431)
* CF/BF - Update DSP_Lib and STM32F7/Drivers/CMSIS to CMSIS 5.3.0.

CMSIS 5.3.0 - https://github.com/ARM-software/CMSIS_5/releases/tag/5.3.0

* cleanup lib.

* pfft

* relocate driver files from lib/main/CMSIS/CM* to lib/main/STM32xx
folders

* Move DSP folder inside CM5.

It came from the same source as the other files inside CM5

* Remove the CM5 folder and move the files in it one level up.
2018-03-12 09:34:43 +13:00
Míguel Ángel Mulero Martínez 73eb5d396e Add compass QMC5883L driver (#5309) 2018-03-04 11:45:54 +13:00
Dominic Clifton cde9a9517b SPRacingF7DUAL - Dual SIMULTANEOUS gyro support. (#5264)
* CF/BF - Set STM32F7 SPI FAST clock to 13.5Mhz - Gyros not stable at
27mhz.

* CF/BF - Initial SPRacingF7DUAL commit.

Support two simultaneous gyro support (code by Dominic Clifton and Martin Budden)
There are new debug modes so you can see the difference between each gyro.

Notes:
* spi bus instance caching broke spi mpu detection because the detection
tries I2C first which overwrites the selected bus instance when using
dual gyro.
* ALL other dual-gyro boards have one sensor per bus.  SPRacingF7DUAL is has two per bus and thus commit has a lot of changes to fix SPI/BUS/GYRO initialisation issues.

* CF/BF - Add SPRacingF4EVODG target.

This target adds a second gyro to the board using the SPI pads on the back of the board.

* CF/BF - Temporarily disable Gyro EXTI pin to allow NEO target to build.
2018-03-04 11:29:31 +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
rotcehdnih 89f8a377c9 ADD FPVM_BETAFLIGHTF7 Target 2018-03-01 19:49:35 +11: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
Anders Hoglund 1605b15cff Clean up the verbosity usage with echo commands in makefiles. 2017-12-30 16:28:52 +01: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
Michael Keller bf3dd1991d
Merge pull request #4824 from mikeller/move_max7456_pg
Moved max7456 parameter group into `pg/` directory.
2017-12-24 09:40:13 +13:00
mikeller 200167aaf7 Moved max7456 parameter group into `pg/` directory. 2017-12-24 09:09:26 +13:00
Martin Budden 671382234a Enabled switch fallthrough checking by compiler 2017-12-23 19:46:40 +00:00
mikeller 429c6cecda Moved parameter group for flash into `pg/`. 2017-12-24 02:21:02 +13:00
Michael Keller 060c4d3e9a
Merge pull request #4820 from mikeller/move_i2c_pg
Moved I2C parameter group into `pg` directory.
2017-12-24 01:35:09 +13:00
Steffen Windoffer 32fef3019a update to gcc 7 2017-12-23 13:05:11 +01: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
felix cfc0dcf036 KISSFCV2F7 BF target 2017-12-16 10:19:28 +01:00
Martin Budden 725f0dfa26 Separated ADC parameter group code into separate files 2017-12-15 01:31:29 +00:00
Martin Budden d6d70d5a74 Fixed F1 build 2017-12-01 06:50:34 +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
Michael Keller 9e06c65fc1
Merge pull request #4653 from ledvinap/string_light
Use local implementation of some string functions
2017-11-26 02:04:30 +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 be7c8e384e Merge remote-tracking branch 'betaflight/master' into bfdev-spi-refactor 2017-11-23 14:47:12 +09:00
jflyper 0f90664e1c Experimentally add target and mcu dependent optimization in sources.mk 2017-11-23 11:49:12 +09:00
jflyper 608d56160d Refactor SPI 2017-11-23 11:10:14 +09:00
mikeller 26b873dad9 Added optimisation settings for optional sources. 2017-11-18 11:08:13 +13:00
Anders Hoglund 0e1f0e89e7 Spektrum, CMS over Telemetry. Rebased and squashed. 2017-11-14 15:57:33 +01:00
jflyper 8296990774 Revert #4565 2017-11-13 16:51:09 +09:00
Martin Budden 4819e7b8fa
Merge pull request #4562 from martinbudden/bfa_fc_msp_rename
Renamed fc_msp* files to msp*
2017-11-13 06:57:28 +00:00
jflyper e5e5846a74 Refactor SPI 2017-11-13 10:45:01 +09:00
Martin Budden 8044d08fb3 Renamed fc_msp* files to msp* 2017-11-12 21:43:09 +00:00
Martin Budden e3ee9a5588 Created new interface directory 2017-11-12 12:20:58 +00:00
Michael Keller 39727ce384
Merge pull request #4455 from codecae/vtx_settings_pg_rework
Move vtxSettingsConfig to vtx_common.  Rework MSP_SET_VTX_CONFIG and CMS.
2017-11-10 08:14:36 +13:00
Michael Keller 2bc0d5bc93
Merge pull request #4519 from martinbudden/bf_cms_size_optimise
Size optimise CMS modules. Improve const correctness
2017-11-10 07:43:56 +13:00
Martin Budden f8c47f6751 Size optimise CMS modules. Improve const correctness 2017-11-09 17:24:44 +00:00
Unknown d9caabefa1 Removed vtx_settings_config in favor of vtx_common. Removed implicit EEPROM writes for vtx_ changes.
Updated MSP_VTX_CONFIG

Updated MSP_SET_VTX_CONFIG

Updated MSP_VTX_CONFIG (again)

Implemented VTX update schedule

Removed unneeded initialization blocks from io/vtx implementations

Prevent VTX settings from being applied in CLI. Sync Band/Chan/Freq on init

Correct issues in SA CMS

Moved vtxCommonInit and vtxCommonProcess to io/vtx
2017-11-08 10:28:09 -05:00
jflyper 97e9e9eed4 Why did I find this ... 2017-11-08 19:42:44 +09:00
mikeller 3873463fcf Added support for the FrSky FPort protocol. 2017-11-07 22:25:02 +13:00
Bas Delfos 800e44906d Timer implementation from INAV 2017-11-06 20:09:24 +01:00
Anders Hoglund 24a282a9a3 Added .mk as files with LF line ending. Converted a few files in the make dir. 2017-11-05 20:41:17 +01:00
mikeller 24acffb472 Rebalanced target groups for more even build times. 2017-11-05 12:49:01 +13:00
ethomas999 8a27c9e194 Implemented 'vtx_' settings and SetFreqByMHzMsp support
Implemented 'vtx_' settings for SmartAudio and Tramp

Added 'vtx_freq' setting for SmartAudio and Tramp

SmartAudio-CMS fixes and improvements

Added SetFreqByMHzMsp support for SmartAudio and Tramp
2017-10-19 23:32:24 -04:00
Michael Keller 8d1a90b999 Merge pull request #4251 from allenfor2017/add-runcam-device-protocol
Add RunCam Device Protocol Support(DisplayPort, DeviceSetting Access,…
2017-10-20 13:02:16 +13:00
allenyan 4df1084d1d Add RunCam Device Protocol Support(DisplayPort, DeviceSetting Access, 5 key osd cable simulation) 2017-10-19 16:19:27 +08:00
Michael Keller 5ae3933db4 Changed make target for 'all' to not include unsupported, added 'all_with_unsupported' (formerly 'all') and 'unsupported' targets. 2017-10-18 09:56:44 +13:00
Michael Keller e6fdd266e0 Removed F1 targets from the target lists used for CI, added warning about deprecation. 2017-10-17 11:34:09 +13:00
Sami Korhonen fa6112e1b8 F7 Dshot hack 2017-10-15 10:08:41 +03:00
Martin Budden 4354307097 Split jetiexbus telemetry into separate module 2017-09-27 14:35:20 +01:00
Curtis Bangert 863b24ae6a Corrected smartport regression issue with msp_shared
Corrected condition where an extra padded zero was added to outgoing msp buffers.
Whitespace tidy and removal of unnecessary condition.
Commented OSD and CMS from STM32F3DISCOVERY target.h
Various improvements to msp_shared (removed byte loops, point arithmetic)
Raised schedule priority of CRSF device and MSP calls
Reworked buffers in msp_shared to enable writes.
Moved msp buffers to msp_shared
Added new custom frames and reworking msp implementation
Implemented CRSF device info reply
Adding crsf ping/pong device info functionality
Changed Colibri FC address to Betaflight address
Implementing MSP in CRSF Telemetry
Decoupled msp functionality from smartport into msp_shared
Moved USE_SERVOS to FLASH>128 per mikeller
2017-09-10 01:36:59 -04:00
cs8425 f8c9b57fd6 fix cli crash on get, dump, diff on SITL 2017-09-08 00:12:12 +08:00
Steffen Windoffer 03aa31acdd remove not needed whitespaces 2017-08-24 11:33:39 +02:00
Martin Budden aef34a0a53 Split Tramp CMS code into separate module 2017-08-18 07:09:25 +01:00
Martin Budden 091b6bc912 Split smartaudio CMS code into separate module 2017-08-18 06:40:31 +01:00
Martin Budden d9b3be0cf7 Split RTC6705 CMS code into separate module 2017-08-17 22:09:48 +01:00
fishpepper 87b0746b74 fixed typo for ocd config 2017-08-15 20:32:03 +02:00
Martin Budden 679258932d Merge pull request #3817 from martinbudden/bf_crc_additions
Additional crc functions
2017-08-13 14:18:44 +01:00
Martin Budden 4ba8669cc3 Additional crc functions 2017-08-13 12:02:46 +01:00
Moto Moto 2940634268 Add MOTOLABF4 to SKIP_TARGETS 2017-08-09 23:45:28 -05:00
Moto Moto 3803992086 Add MOTOLABF4 targets MLTEMPF4 and MLTYPHF4 2017-08-07 22:10:48 -05:00
Martin Budden 15448d3d2e Changed speed optimised source to save ROM 2017-08-01 09:19:00 +01:00
blckmn 834289e456 Move all F7 to use LL 2017-07-30 12:10:46 +10:00
Martin Budden 7164a0a2ec Merge pull request #3661 from blckmn/hal_update_f4
Preparation for F4 being LL enabled.
2017-07-29 23:48:35 +01:00
blckmn e6780bd4d8 Fix unused param, add PERIPH_DRIVER flag for F4, tidied up F1 and F3 in prep. 2017-07-30 01:07:09 +10:00
blckmn 2dca6a5bbc Preparation for F4 being LL enabled.
Updated F7 to use latest HAL / LL libraries
2017-07-29 23:02:39 +10:00
Martin Budden 471e01210b Merge pull request #3621 from DieHertz/dataflash-read-compressed
Compression for MSP_DATAFLASH_READ
2017-07-29 13:18:29 +01:00
Martin Budden 4e845576af Merge pull request #3645 from blckmn/ll_driver
IO Clean up and use of Low level for F7
2017-07-28 03:56:18 +01:00
blckmn e8c4ef83d9 IO Clean up and use of Low level for F7
- Move F7 to optional LL driver for IO and
- cleaned up and removed the remaining old gpio functions from other targets
2017-07-28 04:03:56 +10:00
DieHertz b0cc2b670d Implemented streaming Huffman compression in chunks of 256 bytes 2017-07-27 16:04:38 +03:00
fishpepper b57c3ea5d8 adding openocd-gdb command to makefile 2017-07-25 23:24:16 +02:00
blckmn 6151ded961 Low level driver for SPI for F7 2017-07-23 20:53:45 +10:00
blckmn a94f0e2420 Changes prior to rebase 2017-07-21 07:51:13 +10:00
blckmn 61cfb0aedf Some separation in the Makefile 2017-07-21 07:51:13 +10:00
TheIsotopes 67c4a57fa5 sdk update 2017-07-01 12:03:09 +02:00
Magnus Ivarsson e88e251df9 major refactor of the unit test makefile
- Specify source files in variables instead of manually writing
   the make file rules, this removes a lot of duplication
 - Use separate folders for all tests allowing for tests and common
   source files to be built with different settings (defines)
2017-04-04 00:06:56 +02:00
mikeller 55c0b622a4 Enabled setting of explicit ARM toolchain path in 'ARM_SDK_DIR'. 2017-03-20 23:13:13 +13:00
TheAngularity f7b731da7b SDK Update to 6.3.1 2017q1 2017-03-01 19:47:26 +01:00
Michael Keller cbd036a187 Rebase of #1917: Update SDK to 6.2.1 2016q4 (thanks to @TheAngularity). 2017-01-31 14:20:23 +01:00
Michael Keller 6dfa92154b Changed default 'GCC_REQUIRED_VERSION' to only be assigned if not overriden. 2016-12-30 13:58:23 +13:00
Michael Keller ac877438f1 Removed 'local.mk' from repo so that it will be properly ignored. 2016-12-29 12:55:33 +13:00
Anders Höglund 657eee6617 Travis optimizations (#1496)
* add travis directorie cache for arm sdk

* Travis. Test if make all in one job would work. And how slow/fast.

* Travis. Check that the old method with a couple specific targets still works.

* Rebased master and build all targets again.

* Make verbosity level 0 even less verbose, was still too much for travis in one mega-jumbo-all-target build.

* Even less output from make in verbosity level 0. Some Makefile symbol name cleanup too.

* arm_sdk_install did not check if allready downloaded and installed. Added checks and deps. Travis caching might work better now...

* Build all 56 targets to test Travis caching perf.

* Build all 56 targets to test Travis caching perf. Again. Now with correct yml arrsy syntax.

* Added installation of ccache and also to Travis cache. Caching the cache.

* Travis. Remove some unused APT libs, to see if this affects caching and build times.

* Travis. YAPT (Yet another perf trial). Remove all apt package install.

* Disaster. Put back installation if build-essential.

* Disaster still. Put back installation if zliblg-dev.

* Disaster, again. Put back installation of libc6 .

* Travis. Minimizing APT installation as it not be cached, issue 5876 on travis-ci github.

* Travis. Added comment on target specification.
2016-11-08 19:41:20 +01:00
Anders Hoglund 077bcd5605 Update SDK to 5.4.1 2026q3 (was 2016q2). 2016-10-22 19:22:46 +02:00
Anders Hoglund a686e4690a Tidy up and add some Makefile help texts. 2016-10-22 19:22:46 +02:00
nathan 56097952ef better error message for gcc version mismatch error (toolchain) 2016-09-13 20:30:08 -07:00
nathan 764c25a2d1 use curl instead of wget (which isnt included on mac by default) 2016-09-13 20:15:08 -07:00
nathan 351a921bfb use the toolchain on the path before asking to download a new one 2016-09-13 20:14:55 -07:00
nathan c50e48736f include the make arm_sdk_install target, for easy building 2016-09-02 19:56:15 -07:00