- Including ability to define custom defaults as char[] that is baked into the build
- removed unnecessary size of custom defaults header parsing (defines provided by build process or in board.h for devs).
- add the 'MSP2_GET_TEXT' and 'MSP2_SET_TEXT' MSP2 commands
- Support getting/setting the 'MSP2TEXT_PILOT_DISPLAY_NAME' config prop ('pilotConfigMutable()->displayName')
- rename 'display_name' to 'pilot_name'
- Add the new 'OSD_PILOT_NAME' OSD element in place of the
'OSD_DISPLAY_NAME' one (as they are semantically identical)
- Add the 'osd_pilot_name_pos' cli prop in place of 'osd_display_name_pos'
- rename 'pilotConfigMutable()'s 'name' to 'craftName'
- remove the legacy 'GET_NAME' / 'SET_NAME' MSP commands
- replace the 'name' CLI prop for 'craft_name'
- add the 'MSP2TEXT_CRAFT_NAME' constant for 'MSP2_GET_TEXT' and 'MSP2_SET_TEXT'
Fixed some review findings
Unified dshot average rpm calculations into one single function
Renamed calcEscRpm to erpmToRpm, and moved function to dshot.c
Removed unused esc_sensor.h header file from dshot.c
Removed esc_sensor.h header from modules that no longer needs it
Average RPM calculated by demmand only when rpm data is updated
Renamed rpm to averageRpm and fixed a bug
Update average rpm when telemetry data is received
Removed blank line
Fixed review findings
Fixed return values for erpmToRpm and getDshotAverageRpm so rpm value doesn't truncate
Restored osd_esc_rmp_alarm setting. This setting is used to set an alarm to notify when rpm goes down a specified threshold. Rpm can go over 109krpm (1s 26kv motors setup), but a low rpm alarm doesn't have to be set to a so high value so at this time [0-32767] seems an acceptable range
Rebased to master
Extended DSHOT telemetry
Fixed broken unit testing
Rebased to master
Extended DSHOT telemetry
Added DSHOT ESC fail to OSD warnings
Initial extended DSHOT implementation
DSHOT telemetry ranges readjusted
Added shot_telemetry_data to cli
Added DSHOT telemetry warnings
Added extended DSHOT telemetry temperature data to osd elements
Fixed DSHOT telemetry osd warnings
Make cli dshot telemetry types human readable
Fixed ESC temperature OSD element
Added extended dshot telemetry enable command to dshot command queue to enable it in tryArm function.
Fixed broken automated unit testing
Fixed text output for dshot_telemetry_data cli command
Decode extended telemetry only when it has been activated in the ESC
DSHOT extended telemetry is only enabled when an extended telemetry enable frame is being processed
Fixed broken automated unit testing
Update tail's dshot command in queue when running blocking commands, so extended dshot telemetry command responses can be associated to their corresponding extended dshot telemetry enable/disable command request
Added clariffication to dshot_get_telemetry_type_to_decode to explain mechanish used for processing DSHOT_CMD_EXTENDED_TELEMETRY_ENABLE response
Tabs cleanup
Added dshot motor stop fix when writting blocking commands
Added extended DSHOT telemetry to osd warnings
Fixed extended DSHOT telemetry in osd elements
Implemented msp extended dshot telemetry
Optimized osd warnings
Fixed code style
Added max temp to osd stats
Fixed automated unit testing
Fixed broken automated unit testing
Fixed missing extended dshot telemetry voltage and wrong current
Fixed unadverted change in gitignore file
Print esc number besides max esc tempetature in osd stats
issues and some other minor issues
ESC temperature is coded as an uint8 going from 0 to 255. Updated osd config esc_temp_alarm from int8_t to uint8_t to match esc temperature coding
issues and some other minor issues
Enable extended dshot telemetry when no esc sensors avaliable and dshot telemetry is enabled
Arranged dshot.h header and removed unnecessary headers from dshot.c
Updated dshot_telemetry_data cli command output
Fixed dshot_telemetry_data command
motor_output_unittest fixed
Fixed motor number printing in dshot_telemetry_data cli command
fixed motor_output_unittest
Merged dshot_telemetry_data into dshot_telemetry_info cli command
Fixed tabs
Fixed motor_output_unittest
Support extended DSHOT telemetry on DJI FPV
Fixed Compiling fails without USE_ESC_SENSOR and USE_DSHOT_TELEMETRY defines.
Fixed whencompiling without USE_ESC_SENSOR and USE_DSHOT_TELEMETRY
Reworked so code can be compiled with USE_ESC_SENSOR and USE_DSHOT_TELEMETRY separately
Enabling EDT the correct way
Removed unecessary conversions
Changed motorIndex datatype to uint8_t in dshot functions
The H730 is a value-line CPU, similar to the H723/H725, but with only
128kb RAM.
The FC firmware code is designed to RUN from external flash in MEMORY
MAPPED mode, via OctoSPI. Use of ITCM/DTCM advised for core loops, like
PID control.
A bootloader is required to enable memory-mapped mode and jump to the
firmware, similar to how EXST bootloader system works.
Config storage is not part of this commit and is a problem when using a
single flash chip in memory mapped mode because the CPU can't run
read/write routines from the flash chip while writing to the flash chip.
Until flash read/write routines are updated the solution requires either
a second flash chip on an SPI interface, or the use of an SD card for
config storage.
Additional commits will support read/write of config to the code/data
storage flash chip to enable cheap and space efficient single-flash-chip
FC solutions.
Squashed commits:
STM32H730 - Workaround issue with 2GB `.elf` files being created.
STM32H730 - Reduce firmware size to 1MB.
STM32H730 - Add USB HS configuration.
STM32H730 - Add ADC internal tag mappings.
STM32H730 - Update all ADC mappings based on the referenced ST
documentation. Add the VBAT channels.
STM32H730 - Fix DMA continuous requests.
STM32H730 - Fix ADC_INTERNAL confusion.
STM32H730/G4 - Disambiguate use of ADC_CHANNEL_INTERNAL_FIRST_ID.
STM32H730 - Fix documentation reference.
STM32H730 - Add DMA request mapping for ADC3.
STM32H730 - Explicitly set the ADC clock.
STM32H730 - Configure PLL2 speeds correctly.
* Tested with Ultrafast 64GB SanDisk SDXC card.
STM32H730 - Use 50Mhz clock for SDXC cards.
* Tested with SanDisk Ultra 64GB. 100Mhz clock gave CRC errors.
STM32H730 - Ensure USB has a lower NVIC priority than the SDMMC card
reads.
If it's higher, 0, then the SDMMC's DMA IRQ handler doesn't get called
when handing USB MSC storage reads.
STM32H730 - Support CPU name in CLI.
STM32H730 - Rebuild when linker scripts changes.