1
0
Fork 0
mirror of https://github.com/betaflight/betaflight.git synced 2025-07-15 04:15:44 +03:00
Commit graph

200 commits

Author SHA1 Message Date
mikeller
1c8cfbd241 Extended configuration status to accommodate custom defaults. 2019-09-03 09:57:43 +12:00
mikeller
36dc7306e2 Merge branch 'fix_custom_defaults_addresses' into add_custom_defaults_to_msp 2019-09-01 20:03:57 +12:00
mikeller
772b249a3f Added support for resetting to custom defaults to MSP. 2019-09-01 14:26:57 +12:00
mikeller
3128328224 Fixed start / end addresses for custom defaults. 2019-09-01 13:35:10 +12:00
Dominic Clifton
d016aa2fc4 DSHOT - Use cycle counting instead of recording timestamp in dshot motor_DMA_IRQHandler.
It turns out that two calls to micros() and the calculation of
directionChangeDurationUs took 581 cycles, vs 396 cycles without the
calls to micros() and deferred calculation of the duration which is only
needed in the CLI.

This brings the time down from around 7 microseconds to 5.5 microseconds
on an F3 at 72Mhz.

This makes the difference between 100% invalid telemetry and 4% invalid
telemetry on the first motor on the F3.

Squashed commits:
* Remove the forward declaration for `pwmDshotSetDirectionInput` and make
it static.
* Remove unneeded forward declaration of `motor_DMA_IRQHandler`.
* Remove duplication in DMA IRQ Handler.
  Doesn't affect resulting code but improves readability.
* Use an inline function to read DWT->CYCCNT.
* Remove unneeded forward declarations from cli.c now that the correct
header is included.
* Update DWT unlock method.
2019-08-29 20:01:20 +02:00
Michael Keller
d331aed726
Merge pull request #8723 from schugabe/pin_up_down_config
Add resource option to configure unused pins as pulldown
2019-08-21 22:55:48 +12:00
Thorsten Laux
0d73d51ba8 report erpm, rpm and hz for convenience in dshot_telemetry_info 2019-08-17 10:04:26 +02:00
Johannes Kasberger
6a713a0340 add pull_up to names, change pg config to array of elements, use correct DEFs 2019-08-15 18:59:28 +02:00
Johannes Kasberger
cc9687a2bf Add resource option to configure pin as pullup or pulldown input
all pins are initialized to pullup inputs per default. With resource PULLDOWN 1 PIN it is
possible to reconfigure the pin so it is a PULLDOWN input.

With this it's possible to prevent certain errors on some boards that have multiple pins connected
with an inverter and the pullup flows back via the inverter and pulls other pins low (see #7849)
2019-08-14 22:34:34 +02:00
Michael Keller
811eeea542
Fixed warnings when no custom defaults are found. (#8720)
Fixed warnings when no custom defaults are found.
2019-08-15 00:40:37 +12:00
Michael Keller
1c6949419c
[H7] SDMMC2 support (#8697)
[H7] SDMMC2 support
2019-08-14 23:54:04 +12:00
mikeller
0e2f7bcc3f Fixed warnings when no custom defaults are found. 2019-08-13 23:27:19 +12:00
mikeller
accb49c157 Made 'features' work when config is in copy. 2019-08-12 03:08:21 +12:00
mikeller
e441549b58 Addressed concern about not using 'FC_FIRMWARE_NAME'. 2019-08-11 21:33:02 +12:00
mikeller
35e075098d Renamed things to make them more understandable. 2019-08-11 21:32:58 +12:00
mikeller
2c8d197ccb Added support for custom defaults in sector 0. 2019-08-11 21:32:01 +12:00
mikeller
7518ec67f5 Experimental support for on-board custom defaults. 2019-08-11 21:32:01 +12:00
jflyper
a3ee09b434 [H7] Add SDMMC2 support 2019-08-11 10:57:51 +09:00
Michael Keller
26bca16d9e
Merge pull request #8666 from mikeller/add_timers_show
Added 'timer show' command to CLI.
2019-08-09 05:49:07 +12:00
Michael Keller
c92367b18d
Merge pull request #8671 from mikeller/fix_dshot_includes
Fixed includes for Dshot.
2019-08-08 22:46:22 +12:00
mikeller
768b345166 Added resource index display. 2019-08-08 11:49:51 +12:00
Andrey Mironov
8a279e688e Added Spektrum SRXL2 serial protocol for new receivers (Currently only SPM4650 released) 2019-08-07 14:02:33 -05:00
mikeller
ec60dc6236 Fixed includes for Dshot. 2019-08-07 01:34:30 +12:00
mikeller
6a0c5836de Added 'timer show' command to CLI. 2019-08-06 23:56:54 +12:00
Miguel Angel Mulero Martinez
a8eb47d5a4 Fix typo vtxtable cli description 2019-08-05 12:30:42 +02:00
Michael Keller
076be798f8
Dshot bidir blhelis support (#8554)
Dshot bidir blhelis support
2019-08-04 18:29:09 +12:00
Thorsten Laux
835a5cac0e rebase
Reduce code by supporting only GCR, fix serial_4way, fix f7 dshot bidir

fix ws and eliminate superfluous buffer

use GCR constant instead of 32

decode optimization

bump 4way prot version mumber

bump if version
2019-08-02 13:49:48 +02:00
Bruce Luckcuck
ad3936de6a Fix CLI vtxtable powervalue output formatting 2019-08-01 19:40:45 -04:00
TheIsotopes
d5f47cce72
comment request
only typo fix
2019-07-30 13:46:25 +02:00
TheIsotopes
5e379529e5
Cli command renamed and typo fixed
can be typed faster ;-)
2019-07-30 12:02:11 +02:00
Bruce Luckcuck
0b055108bc Add uint32 support to the MODE_ARRAY CLI parameter type 2019-07-24 08:57:25 -04:00
jflyper
542146c702 Motor code refactor (Phase 1) 2019-07-17 01:33:39 +09:00
Dominic Clifton
1f2ef98042 Fix compilation when USE_DSHOT and USE_PWM_OUTPUT are not defined.
Fix compilation when USE_DMA and USE_DMA_SPEC are not defined.

Cleanup calling code of `isMotorProtocolDshot`.

Fix 'unused' warning when USE_PWM_OUTPUT is not defined.

Undo isMotoroProtocolDshot change.

Disable USE_SERIAL_4WAY_BLHELI_INTERFACE when USE_PWM_OUTPUT is not
enabled.

Style cleanup.
2019-07-03 08:36:12 +12:00
Michael Keller
1631831147
Fixed CLI DMA presence mask support. (#8503)
Fixed CLI DMA presence mask support.
2019-07-03 08:18:39 +12:00
Michael Keller
6130dc3b9e
Move motorConfig_s and motorDevConfig_s to pg/motor (#8498)
Move motorConfig_s and motorDevConfig_s to pg/motor
2019-06-30 12:59:31 +12:00
jflyper
0e63596abd Move motorConfig_s, motorDevConfig_s and associated PG handling into pg/motor.[ch] 2019-06-29 20:03:54 +09:00
mikeller
c60e31407d Fixed CLI DMA presence mask support. 2019-06-29 19:09:02 +12:00
Michael Keller
23ca254277
[H7] Add pseudo peripheral TIMUP for TIMx_UP DMA management (#8473)
[H7] Add pseudo peripheral TIMUP for TIMx_UP DMA management
2019-06-29 15:09:23 +12:00
felix
85f00d4454 add FETtec ESC passthrough to the existing serial passthrough cli function 2019-06-28 10:10:12 +02:00
jflyper
8ceaed1072 [H7] Add pseudo peripheral TIMUP for TIMx_UP DMA management 2019-06-28 15:45:19 +09:00
AJ Christensen
45e8d74255 Fix BOATLOADER_ defines typo
* Missed in review, sorry!
* A-oooga I'm a boat
2019-06-25 07:30:50 +12:00
Michael Keller
ed266e7151
[SmartAudio] Added support for custom frequency tables (#8380)
[SmartAudio] Added support for custom frequency tables
2019-06-25 02:16:14 +12:00
Michael Keller
7f2ac0cf65
Add booting into the flash boot loader as an option. (#8429)
Add booting into the flash boot loader as an option.
2019-06-25 02:15:01 +12:00
functionpointer
7cb34205b3 [VTX] vtxTable factory flag and full integration of vtxTable (#8380)
Moved vtxtable frequency mode implementation into `vtx_common.c`.
This makes the implementation available for all vtx types and allows
for some code deduplication (see point below)

Removed band and channel tracking from tramp and rtc6705.
The hardware underlying both only support frequency mode and
the tracking is now done in `vtx_common.c` using the new factory flag.

Deleted vtxStringXXX. to continue supporting builds without
`USE_VTX_TABLE`, new infrastructure was created in
`drivers/vtx_table.c`, which loads fixed tables into vtxTableXXX
when built witout `USE_VTX_TABLE`. Individual vtx implementations no
longer need to load any band/channel tables. They only need to load
their individual power tables when built without `USE_VTX_TABLE`.
Additionally this allows for the next point:

Fully integrated vtxTableXXX and removed the old and no longer needed
indirection of frequency and power tables in `vtxDevice_t`.

Removed VTX_SETTINGS_* constants from `vtx_common.h` and replaced them
with the vtxtable equivalent.

rtc6705 implementation now uses power values from vtxtable instead of
using indices directly. It also stops using index 0. This makes it
consistent with other vtx implementations and is more user configurable.
It also cleans up `telemetry\srxl.c` which had to have a special case for rtc6705.

Finally, frequency entries in the vtxtable can now be marked as empty
by setting their frequency to 0. Betaflight will never allow a blocked
channel to be selected. This is useful for vtxtable index mode
(FACTORY flag set) where manufacturer-defined bands can be truncated
to ensure compliance with local laws and regulations.
2019-06-24 12:28:46 +02:00
mikeller
5cf42f40b6 Add booting into the flash boot loader as an option. 2019-06-16 14:46:38 +12:00
mikeller
f8a13c9ac8 Fixed help text for CLI 'serialpassthrough'. 2019-06-16 13:14:45 +12:00
Dominic Clifton
9c274240d8 Allow SDCARD to be used for config/eeprom storage.
* On boot SPI or SDIO is initialised.
* Filesystem is initialised (including creation of blackbox freespace
file)
* Empty config file is created if it doesn't exist, or read if it does.
* If config is invalid/empty then config file is written to, then read
back and verified.

Enable as follows.

target.h:

target.c:
uint8_t eepromData[EEPROM_SIZE];

Changes:
- Replace boolean init flags with single initFlags variables.
- Avoid unused variable warnings.
2019-06-14 07:58:33 +12:00
Michael Keller
ee564432f6
add left side choosable for passthrough (#8395)
add left side choosable for passthrough
2019-06-14 00:40:19 +12:00
azolyoung
568dc62087 use array to store the port1&port2 config 2019-06-13 16:17:11 +08:00
Dominic Clifton
e83ba0db0e Allow the use of EEPROM_IN_RAM on MCUs.
If the MCU also supports PERSISTENT ram (not erased on a warm boot) it
allows testing of config changes without wearing out your flash.

e.g.

linker script
-------------
comment out __config_start/__config_end

target.c
--------
PERSISTENT uint8_t eepromData[EEPROM_SIZE]; // persistent, so it
survives warm boots.

target.h
--------
extern uint8_t eepromData[EEPROM_SIZE];

SITL actually keeps the EEPROM in a FILE, loaded into RAM using
alternate FLASH_* implementation.
2019-06-12 12:47:51 +02:00