Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
61 commits
Select commit Hold shift + click to select a range
daa1ff6
add HAKRCH743 target
niepingyu Dec 15, 2025
aba749b
Update src/main/target/HAKRCH743/target.c
HAKRC8899 Dec 16, 2025
77aac46
Update target.c
HAKRC8899 Dec 16, 2025
fb9a0f8
Rename profile commands to control_profile
MrD-RC Jan 30, 2026
b1cbc45
add vbatt warning to multifunction
breadoven Feb 2, 2026
ecfd1a9
Update osd.c
breadoven Feb 3, 2026
1cfcbb1
Update osd.c
breadoven Feb 3, 2026
c53fb5d
fix batt voltage state inconsistency
breadoven Feb 3, 2026
342eeee
remove blinking
breadoven Feb 3, 2026
497cb3a
fix: flght controller hard fault caused by insufficient CRSF rx buffe…
KeithCoreDumped Jan 20, 2026
4c4430e
fix data length overflow
KeithCoreDumped Feb 4, 2026
9225369
fix: resolve MSP connection hangs due to packet truncation and buffer…
KeithCoreDumped Feb 4, 2026
24275c0
Mark 16 legacy MSP commands as deprecated for removal in INAV 10.0
sensei-hacker Feb 8, 2026
435e489
msp_protocol.h change depreciation comment format
sensei-hacker Feb 8, 2026
b4ca845
Fix servo throttle mix outputting wrong position when disarmed
sensei-hacker Feb 9, 2026
31bb99e
Fix SD card busy-wait loops that can lock up flight controller
sensei-hacker Feb 9, 2026
321e8e6
Add error handling when SDIO DMA fails to disable
sensei-hacker Feb 9, 2026
3529fcd
Brahma H7 target files
Feb 12, 2026
3dd3fc7
change default cycle time
breadoven Feb 16, 2026
1a1b420
Bugfix: SDIO capacity shows incorrectly on F4 devices
cluez0r Feb 20, 2026
3a3709d
Fix USB VCP lockup on disconnect (STM32F4)
daijoubu Feb 21, 2026
692d640
Fix USB VCP lockup on disconnect (STM32F7/H7)
daijoubu Feb 21, 2026
502095a
Fix CDC_Send_FreeBytes buffer calculation (STM32F4)
daijoubu Feb 21, 2026
bc91386
Add DTR tracking for USB VCP connection detection
daijoubu Feb 21, 2026
5a81c9b
Add suspend detection as disconnect fallback (STM32F4)
daijoubu Feb 21, 2026
bf81e90
Fix DTR tracking default - assume connected initially
daijoubu Feb 21, 2026
1fca72e
Update navigation_multicopter.c
breadoven Feb 22, 2026
edf04d2
Add Loiter to LED control on mode flight
John-Henrique Feb 28, 2026
e5bcf83
Mark MSP_STATUS, MSP_DEBUG, and blackbox config commands as deprecated
sensei-hacker Mar 1, 2026
1aec36a
Mark MSP_STATUS_EX as deprecated; accCalibAxisFlags in MSP_CALIBRATIO…
sensei-hacker Mar 1, 2026
aa2fefc
cmake/sitl: use CheckLinkerFlag instead of GCC version check for --no…
sensei-hacker Mar 1, 2026
4e07d5c
remove setting and change warning logic
breadoven Mar 1, 2026
7ff2464
pos est corr improvements + vel filtering
breadoven Mar 1, 2026
a539ce1
HAKRCH743: Add DMAR for Dshot on all outputs, fix typo
sensei-hacker Mar 2, 2026
ed37ed2
Update navigation_pos_estimator.c
breadoven Mar 2, 2026
506ea42
Update navigation_pos_estimator.c
breadoven Mar 2, 2026
c8b2edc
Fix SPI GPIO alternate function assignment on STM32H7/F7
sensei-hacker Mar 2, 2026
6817a66
drivers: explicitly include common/utils.h in SPI AF lookup headers
sensei-hacker Mar 2, 2026
36bb13d
cmake/sitl: guard CheckLinkerFlag for compatibility with CMake < 3.18
sensei-hacker Mar 2, 2026
9d44fe5
Trackback FC crash fix
breadoven Mar 3, 2026
d631648
Merge pull request #11393 from breadoven/abo_trackback_fix
breadoven Mar 5, 2026
1ce09df
Merge pull request #11359 from breadoven/abo_mc_althold_manual_climb_fix
breadoven Mar 5, 2026
c2752cf
Merge pull request #11308 from breadoven/abo_add_batt_volt_warning
breadoven Mar 5, 2026
1e46d5b
Use single-precision math where double is unnecessary
sensei-hacker Mar 6, 2026
2c7003f
Code review fixes for float math flash savings
sensei-hacker Mar 6, 2026
a85fa5f
Target cleanup
Mar 6, 2026
27ac14f
Merge pull request #11389 from sensei-hacker/fix/spi-af-lookup-table
sensei-hacker Mar 6, 2026
6bac5a2
Merge pull request #11182 from HAKRC8899/feature/HAKRCH743
sensei-hacker Mar 7, 2026
6468642
Merge pull request #11315 from sensei-hacker/deprecate-legacy-msp-com…
sensei-hacker Mar 7, 2026
e7f9808
Merge pull request #11318 from sensei-hacker/fix-servo-throttle-mix-d…
sensei-hacker Mar 7, 2026
df00886
Merge pull request #11321 from sensei-hacker/fix-blackbox-sd-lockup
sensei-hacker Mar 7, 2026
5f05fbc
Merge pull request #11351 from daijoubu/fix-usb-vcp-blocking
sensei-hacker Mar 7, 2026
79907bc
Merge pull request #11302 from iNavFlight/MrD_Update-CLI-docs-re-prof…
sensei-hacker Mar 7, 2026
4878b4f
Merge pull request #11369 from HumpbackLab/fix/msp-crsf-communication
sensei-hacker Mar 7, 2026
405e6d5
Merge pull request #11374 from John-Henrique/master
sensei-hacker Mar 7, 2026
3891620
Merge pull request #11383 from sensei-hacker/fix-sitl-cmake-rwx-linke…
sensei-hacker Mar 7, 2026
a4996f4
Merge pull request #11387 from breadoven/abo_pos_est_corr_improvement
sensei-hacker Mar 7, 2026
eabb140
Merge pull request #11402 from sensei-hacker/optimize-code-size-float…
sensei-hacker Mar 7, 2026
0e2fedf
Merge pull request #11406 from iNavFlight/master
sensei-hacker Mar 7, 2026
e948b06
Merge pull request #11347 from cluez0r/sdmmc_f4_capacity_bug
sensei-hacker Mar 7, 2026
2db79da
Merge pull request #11404 from iNavFlight/brahma_h7
DzikuVx Mar 7, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion cmake/sitl.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -64,7 +64,11 @@ if(NOT MACOSX)
-Wno-error=maybe-uninitialized
-fsingle-precision-constant
)
if (CMAKE_COMPILER_IS_GNUCC AND NOT CMAKE_C_COMPILER_VERSION VERSION_LESS 12.0)
include(CheckLinkerFlag OPTIONAL)
if(COMMAND check_linker_flag)
check_linker_flag(C "-Wl,--no-warn-rwx-segments" LINKER_SUPPORTS_NO_RWX_WARNING)
endif()
if(LINKER_SUPPORTS_NO_RWX_WARNING)
set(SITL_LINK_OPTIONS ${SITL_LINK_OPTIONS} "-Wl,--no-warn-rwx-segments")
endif()
else()
Expand Down
14 changes: 7 additions & 7 deletions docs/Cli.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,17 +27,17 @@ Disconnect main power, connect to cli via USB/FTDI.
dump using cli

```
profile 0
control_profile 0
dump
```

dump profiles using cli if you use them
dump control_profiles using cli if you use them

```
profile 1
dump profile
profile 2
dump profile
control_profile 1
dump control_profile
control_profile 2
dump control_profile
```

copy screen output to a file and save it.
Expand Down Expand Up @@ -100,7 +100,7 @@ While connected to the CLI, all Logical Switches are temporarily disabled (5.1.0
| `osd_layout` | Get or set the layout of OSD items |
| `pid` | Configurable PID controllers |
| `play_sound` | `<index>`, or none for next item |
| `profile` | Change profile |
| `control_profile` | Change profile |
| `resource` | View currently used resources |
| `rxrange` | Configure rx channel ranges |
| `safehome` | Define safe home locations. See the [safehome documentation](Safehomes.md) for usage information. |
Expand Down
1 change: 1 addition & 0 deletions docs/development/msp/format.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,7 @@
**variable_len**: Optional boolean, if true, message does not have a predefined fixed length and needs appropriate handling\
**variants**: Optional special case, message has different cases of reply/request. Key/description is not a strict expression or code; just a readable condition\
**not_implemented**: Optional special case, message is not implemented (never or deprecated)\
**replaced_by**: Optional array of MSP message names that replace this command. Present when a command is deprecated and scheduled for removal. Empty array if no replacement is needed\
**notes**: String with details of message

## Data dict fields:
Expand Down
21 changes: 20 additions & 1 deletion docs/development/msp/msp_messages.json
Original file line number Diff line number Diff line change
Expand Up @@ -673,6 +673,7 @@
"MSP_POSITION_ESTIMATION_CONFIG": {
"code": 16,
"mspv": 1,
"replaced_by": ["MSP2_COMMON_SETTING"],
"request": null,
"reply": {
"payload": [
Expand Down Expand Up @@ -727,6 +728,7 @@
"MSP_SET_POSITION_ESTIMATION_CONFIG": {
"code": 17,
"mspv": 1,
"replaced_by": ["MSP2_COMMON_SET_SETTING"],
"request": {
"payload": [
{
Expand Down Expand Up @@ -2360,6 +2362,7 @@
"MSP_BLACKBOX_CONFIG": {
"code": 80,
"mspv": 1,
"replaced_by": ["MSP2_BLACKBOX_CONFIG"],
"request": null,
"reply": {
"payload": [
Expand Down Expand Up @@ -2399,6 +2402,7 @@
"MSP_SET_BLACKBOX_CONFIG": {
"code": 81,
"mspv": 1,
"replaced_by": ["MSP2_SET_BLACKBOX_CONFIG"],
"not_implemented": true,
"request": null,
"reply": null,
Expand Down Expand Up @@ -2426,6 +2430,7 @@
"MSP_OSD_CONFIG": {
"code": 84,
"mspv": 1,
"replaced_by": ["MSP2_INAV_OSD_LAYOUTS", "MSP2_INAV_OSD_ALARMS", "MSP2_INAV_OSD_PREFERENCES"],
"request": null,
"reply": {
"payload": [
Expand Down Expand Up @@ -2504,6 +2509,7 @@
"MSP_SET_OSD_CONFIG": {
"code": 85,
"mspv": 1,
"replaced_by": ["MSP2_INAV_OSD_SET_LAYOUT_ITEM", "MSP2_INAV_OSD_SET_ALARMS", "MSP2_INAV_OSD_SET_PREFERENCES"],
"request": null,
"reply": null,
"notes": "Requires `USE_OSD`. Distinguishes formats based on the first byte. Format 1 requires at least 10 bytes. Format 2 requires 3 bytes. Triggers an OSD redraw. See `MSP2_INAV_OSD_SET_*` for more advanced control.",
Expand Down Expand Up @@ -3134,6 +3140,7 @@
"MSP_FILTER_CONFIG": {
"code": 92,
"mspv": 1,
"replaced_by": ["MSP2_COMMON_SETTING"],
"request": null,
"reply": {
"payload": [
Expand Down Expand Up @@ -3217,6 +3224,7 @@
"MSP_SET_FILTER_CONFIG": {
"code": 93,
"mspv": 1,
"replaced_by": ["MSP2_COMMON_SET_SETTING"],
"request": {
"payload": [
{
Expand Down Expand Up @@ -3293,6 +3301,7 @@
"MSP_PID_ADVANCED": {
"code": 94,
"mspv": 1,
"replaced_by": ["MSP_INAV_PID"],
"request": null,
"reply": {
"payload": [
Expand Down Expand Up @@ -3370,6 +3379,7 @@
"MSP_SET_PID_ADVANCED": {
"code": 95,
"mspv": 1,
"replaced_by": ["MSP_SET_INAV_PID"],
"request": {
"payload": [
{
Expand Down Expand Up @@ -3599,6 +3609,7 @@
"MSP_STATUS": {
"code": 101,
"mspv": 1,
"replaced_by": ["MSP2_INAV_STATUS"],
"request": null,
"reply": {
"payload": [
Expand Down Expand Up @@ -3914,6 +3925,7 @@
"MSP_ANALOG": {
"code": 110,
"mspv": 1,
"replaced_by": ["MSP2_INAV_ANALOG"],
"request": null,
"reply": {
"payload": [
Expand Down Expand Up @@ -4039,6 +4051,7 @@
"MSP_MISC": {
"code": 114,
"mspv": 1,
"replaced_by": ["MSP2_INAV_MISC"],
"request": null,
"reply": {
"payload": [
Expand Down Expand Up @@ -4168,6 +4181,7 @@
"MSP_PIDNAMES": {
"code": 117,
"mspv": 1,
"replaced_by": [],
"request": null,
"reply": {
"payload": [
Expand Down Expand Up @@ -4644,6 +4658,7 @@
"MSP_STATUS_EX": {
"code": 150,
"mspv": 1,
"replaced_by": ["MSP2_INAV_STATUS"],
"request": null,
"reply": {
"payload": [
Expand Down Expand Up @@ -4701,7 +4716,7 @@
}
]
},
"notes": "Superseded by `MSP2_INAV_STATUS` which provides the full 32-bit `armingFlags` and other enhancements.",
"notes": "Superseded by `MSP2_INAV_STATUS` which provides the full 32-bit `armingFlags` and other enhancements. The `accCalibAxisFlags` field is not present in `MSP2_INAV_STATUS` but is available via `MSP_CALIBRATION_DATA`.",
"description": "Provides extended flight controller status, including CPU load, arming flags, and calibration status, in addition to `MSP_STATUS` fields."
},
"MSP_SENSOR_STATUS": {
Expand Down Expand Up @@ -5135,6 +5150,7 @@
"MSP_SET_MISC": {
"code": 207,
"mspv": 1,
"replaced_by": ["MSP2_INAV_SET_MISC"],
"request": {
"payload": [
{
Expand Down Expand Up @@ -5588,6 +5604,7 @@
"MSP_SERVO_MIX_RULES": {
"code": 241,
"mspv": 1,
"replaced_by": ["MSP2_INAV_SERVO_MIXER"],
"request": null,
"reply": {
"payload": [
Expand Down Expand Up @@ -5644,6 +5661,7 @@
"MSP_SET_SERVO_MIX_RULE": {
"code": 242,
"mspv": 1,
"replaced_by": ["MSP2_INAV_SET_SERVO_MIXER"],
"request": {
"payload": [
{
Expand Down Expand Up @@ -5803,6 +5821,7 @@
"MSP_DEBUG": {
"code": 254,
"mspv": 1,
"replaced_by": ["MSP2_INAV_DEBUG"],
"request": null,
"reply": {
"payload": [
Expand Down
2 changes: 1 addition & 1 deletion src/main/common/maths.c
Original file line number Diff line number Diff line change
Expand Up @@ -526,7 +526,7 @@ bool sensorCalibrationSolveForScale(sensorCalibrationState_t * state, float resu
}

float gaussian(const float x, const float mu, const float sigma) {
return exp(-pow((double)(x - mu), 2) / (2 * pow((double)sigma, 2)));
return expf(-((x - mu) * (x - mu)) / (2.0f * sigma * sigma));
}

float bellCurve(const float x, const float curveWidth)
Expand Down
2 changes: 1 addition & 1 deletion src/main/common/time.h
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ typedef uint32_t timeUs_t;
#define MS2S(ms) ((ms) * 1e-3f)
#define S2MS(s) ((s) * MILLISECS_PER_SEC)
#define DS2MS(ds) ((ds) * 100)
#define HZ2S(hz) US2S(HZ2US(hz))
#define HZ2S(hz) (1.0f / (hz))

// Use this function only to get small deltas (difference overflows at ~35 minutes)
static inline timeDelta_t cmpTimeUs(timeUs_t a, timeUs_t b) { return (timeDelta_t)(a - b); }
Expand Down
Loading