diff --git a/docs/development/msp/inav_enums.json b/docs/development/msp/inav_enums.json index 63f3eb2941b..6c5ce2b96fe 100644 --- a/docs/development/msp/inav_enums.json +++ b/docs/development/msp/inav_enums.json @@ -849,13 +849,14 @@ "DEVHW_TOF10120_I2C": "48", "DEVHW_TERARANGER_EVO_I2C": "49", "DEVHW_MS4525": "50", - "DEVHW_DLVR": "51", - "DEVHW_M25P16": "52", - "DEVHW_W25N": "53", - "DEVHW_UG2864": "54", - "DEVHW_SDCARD": "55", - "DEVHW_IRLOCK": "56", - "DEVHW_PCF8574": "57" + "DEVHW_MS5525": "51", + "DEVHW_DLVR": "52", + "DEVHW_M25P16": "53", + "DEVHW_W25N": "54", + "DEVHW_UG2864": "55", + "DEVHW_SDCARD": "56", + "DEVHW_IRLOCK": "57", + "DEVHW_PCF8574": "58" }, "deviceFlags_e": { "_source": "inav/src/main/drivers/bus.h", @@ -1764,6 +1765,12 @@ "IBUS_MEAS_VALUE_GPS_LON2": "145", "IBUS_MEAS_VALUE_GPS": "253" }, + "icm42605Variant_e": { + "_source": "inav/src/main/drivers/accgyro/accgyro_icm42605.c", + "ICM42605_VARIANT_42605": "0", + "ICM42605_VARIANT_42686P": "1", + "ICM42605_VARIANT_42688P": "2" + }, "inputSource_e": { "_source": "inav/src/main/flight/servos.h", "INPUT_STABILIZED_ROLL": "0", @@ -2123,6 +2130,7 @@ "LSM6DXX_VAL_CTRL1_XL_LPF2": "1", "LSM6DXX_VAL_CTRL2_G_ODR6664": "10", "LSM6DXX_VAL_CTRL2_G_2000DPS": "3", + "LSM6DXX_VAL_CTRL3_C_BDU": "BIT(6)", "LSM6DXX_VAL_CTRL3_C_H_LACTIVE": "0", "LSM6DXX_VAL_CTRL3_C_PP_OD": "0", "LSM6DXX_VAL_CTRL3_C_SIM": "0", @@ -2140,7 +2148,21 @@ "LSM6DXX_VAL_CTRL7_G_HPM_G_65": "1", "LSM6DXX_VAL_CTRL7_G_HPM_G_260": "2", "LSM6DXX_VAL_CTRL7_G_HPM_G_1040": "3", - "LSM6DXX_VAL_CTRL9_XL_I3C_DISABLE": "BIT(1)" + "LSM6DXX_VAL_CTRL9_XL_I3C_DISABLE": "BIT(1)", + "LSM6DXX_VAL_CTRL1_XL_V_OPMODE_HIGH_ACCURACY": "1", + "LSM6DXX_VAL_CTRL1_XL_V_ODR_1000HZ_HAODR1": "9", + "LSM6DXX_VAL_CTRL2_G_V_OPMODE_HIGH_ACCURACY": "1", + "LSM6DXX_VAL_CTRL2_G_V_ODR_8000HZ_HAODR1": "12", + "LSM6DXX_VAL_HAODR_CFG_MODE1": "1", + "LSM6DXX_VAL_CTRL6_C_V_FS_G_2000DPS": "4", + "LSM6DXX_VAL_CTRL6_C_V_DSK320X_RESERVED_BIT3": "BIT(3)", + "LSM6DXX_VAL_CTRL6_C_V_LPF1_BW_288HZ": "0", + "LSM6DXX_VAL_CTRL6_C_V_LPF1_BW_215HZ": "1", + "LSM6DXX_VAL_CTRL6_C_V_LPF1_BW_157HZ": "2", + "LSM6DXX_VAL_CTRL6_C_V_LPF1_BW_455HZ": "3", + "LSM6DXX_VAL_CTRL7_G_V_LPF1_EN": "BIT(0)", + "LSM6DXX_VAL_CTRL8_XL_V_FS_16G": "3", + "LSM6DXX_VAL_CTRL4_C_V_DRDY_PULSED": "BIT(1)" }, "lsm6dxxRegister_e": { "_source": "inav/src/main/drivers/accgyro/accgyro_lsm6dxx.h", @@ -2172,7 +2194,8 @@ "LSM6DXX_REG_OUTY_L_A": "42", "LSM6DXX_REG_OUTY_H_A": "43", "LSM6DXX_REG_OUTZ_L_A": "44", - "LSM6DXX_REG_OUTZ_H_A": "45" + "LSM6DXX_REG_OUTZ_H_A": "45", + "LSM6DXX_REG_HAODR_CFG": "98" }, "ltm_frame_e": { "_source": "inav/src/main/telemetry/ltm.h", @@ -2335,7 +2358,8 @@ "MULTI_FUNC_3": "3", "MULTI_FUNC_4": "4", "MULTI_FUNC_5": "5", - "MULTI_FUNC_END": "6" + "MULTI_FUNC_6": "6", + "MULTI_FUNC_END": "7" }, "multiFunctionFlags_e": { "_source": "inav/src/main/fc/multifunction.h", @@ -3062,7 +3086,8 @@ "PITOT_VIRTUAL": "4", "PITOT_FAKE": "5", "PITOT_MSP": "6", - "PITOT_DLVR": "7" + "PITOT_DLVR": "7", + "PITOT_MS5525": "8" }, "pollType_e": { "_source": "inav/src/main/io/smartport_master.c", @@ -3301,8 +3326,9 @@ "_source": "inav/src/main/io/displayport_msp_osd.c", "SD_3016": "0", "HD_5018": "1", - "HD_6022": "2", - "HD_5320": "3" + "HD_3016": "2", + "HD_6022": "3", + "HD_5320": "4" }, "resourceOwner_e": { "_source": "inav/src/main/drivers/resource.h", @@ -3469,7 +3495,7 @@ "SDCARD_OPERATION_FAILURE": "3" }, "sdcardReceiveBlockStatus_e": { - "_source": "inav/src/main/drivers/sdcard/sdcard_spi.c", + "_source": "inav/src/main/drivers/sdcard/sdcard_sdio.c", "SDCARD_RECEIVE_SUCCESS": "0", "SDCARD_RECEIVE_BLOCK_IN_PROGRESS": "1", "SDCARD_RECEIVE_ERROR": "2" @@ -3691,7 +3717,12 @@ "HITL_AIRSPEED": "(1 << 6)", "HITL_EXTENDED_FLAGS": "(1 << 7)", "HITL_GPS_TIMEOUT": "(1 << 8)", - "HITL_PITOT_FAILURE": "(1 << 9)" + "HITL_PITOT_FAILURE": "(1 << 9)", + "HITL_CURRENT_SENSOR": "(1 << 10)", + "HITL_SIM_RC_INPUT": "(1 << 11)", + "HITL_RANGEFINDER": "(1 << 12)", + "HITL_FAILSAFE_TRIGGERED": "(1 << 13)", + "HITL_SITL_MODE": "(1 << 14)" }, "smartAudioVersion_e": { "_source": "inav/src/main/io/vtx_smartaudio.h", @@ -3838,7 +3869,7 @@ "THR_HI": "(2 << (2 * THROTTLE))" }, "systemState_e": { - "_source": "inav/src/main/fc/fc_init.h", + "_source": "inav/src/main/fc/fc_init.c", "SYSTEM_STATE_INITIALISING": "0", "SYSTEM_STATE_CONFIG_LOADED": "(1 << 0)", "SYSTEM_STATE_SENSORS_READY": "(1 << 1)", @@ -3850,7 +3881,8 @@ "_source": "inav/src/main/drivers/timer.h", "TCH_DMA_IDLE": "0", "TCH_DMA_READY": "1", - "TCH_DMA_ACTIVE": "2" + "TCH_DMA_ACTIVE": "2", + "TCH_DMA_CIRCULAR": "3" }, "tempSensorType_e": { "_source": "inav/src/main/sensors/temperature.h", diff --git a/docs/development/msp/inav_enums_ref.md b/docs/development/msp/inav_enums_ref.md index 802e813ab43..8ed0540edc9 100644 --- a/docs/development/msp/inav_enums_ref.md +++ b/docs/development/msp/inav_enums_ref.md @@ -150,6 +150,7 @@ - [ibusSensorType1_e](#enum-ibussensortype1_e) - [ibusSensorType_e](#enum-ibussensortype_e) - [ibusSensorValue_e](#enum-ibussensorvalue_e) +- [icm42605Variant_e](#enum-icm42605variant_e) - [inputSource_e](#enum-inputsource_e) - [itermRelax_e](#enum-itermrelax_e) - [led_pin_pwm_mode_e](#enum-led_pin_pwm_mode_e) @@ -1455,13 +1456,14 @@ | `DEVHW_TOF10120_I2C` | 48 | | | `DEVHW_TERARANGER_EVO_I2C` | 49 | | | `DEVHW_MS4525` | 50 | | -| `DEVHW_DLVR` | 51 | | -| `DEVHW_M25P16` | 52 | | -| `DEVHW_W25N` | 53 | | -| `DEVHW_UG2864` | 54 | | -| `DEVHW_SDCARD` | 55 | | -| `DEVHW_IRLOCK` | 56 | | -| `DEVHW_PCF8574` | 57 | | +| `DEVHW_MS5525` | 51 | | +| `DEVHW_DLVR` | 52 | | +| `DEVHW_M25P16` | 53 | | +| `DEVHW_W25N` | 54 | | +| `DEVHW_UG2864` | 55 | | +| `DEVHW_SDCARD` | 56 | | +| `DEVHW_IRLOCK` | 57 | | +| `DEVHW_PCF8574` | 58 | | --- ## `deviceFlags_e` @@ -2797,6 +2799,17 @@ | `IBUS_MEAS_VALUE_GPS_LON2` | 145 | | | `IBUS_MEAS_VALUE_GPS` | 253 | | +--- +## `icm42605Variant_e` + +> Source: ../../../src/main/drivers/accgyro/accgyro_icm42605.c + +| Enumerator | Value | Condition | +|---|---:|---| +| `ICM42605_VARIANT_42605` | 0 | | +| `ICM42605_VARIANT_42686P` | 1 | | +| `ICM42605_VARIANT_42688P` | 2 | | + --- ## `inputSource_e` @@ -3243,6 +3256,7 @@ | `LSM6DXX_VAL_CTRL1_XL_LPF2` | 1 | | | `LSM6DXX_VAL_CTRL2_G_ODR6664` | 10 | | | `LSM6DXX_VAL_CTRL2_G_2000DPS` | 3 | | +| `LSM6DXX_VAL_CTRL3_C_BDU` | BIT(6) | | | `LSM6DXX_VAL_CTRL3_C_H_LACTIVE` | 0 | | | `LSM6DXX_VAL_CTRL3_C_PP_OD` | 0 | | | `LSM6DXX_VAL_CTRL3_C_SIM` | 0 | | @@ -3261,6 +3275,20 @@ | `LSM6DXX_VAL_CTRL7_G_HPM_G_260` | 2 | | | `LSM6DXX_VAL_CTRL7_G_HPM_G_1040` | 3 | | | `LSM6DXX_VAL_CTRL9_XL_I3C_DISABLE` | BIT(1) | | +| `LSM6DXX_VAL_CTRL1_XL_V_OPMODE_HIGH_ACCURACY` | 1 | | +| `LSM6DXX_VAL_CTRL1_XL_V_ODR_1000HZ_HAODR1` | 9 | | +| `LSM6DXX_VAL_CTRL2_G_V_OPMODE_HIGH_ACCURACY` | 1 | | +| `LSM6DXX_VAL_CTRL2_G_V_ODR_8000HZ_HAODR1` | 12 | | +| `LSM6DXX_VAL_HAODR_CFG_MODE1` | 1 | | +| `LSM6DXX_VAL_CTRL6_C_V_FS_G_2000DPS` | 4 | | +| `LSM6DXX_VAL_CTRL6_C_V_DSK320X_RESERVED_BIT3` | BIT(3) | | +| `LSM6DXX_VAL_CTRL6_C_V_LPF1_BW_288HZ` | 0 | | +| `LSM6DXX_VAL_CTRL6_C_V_LPF1_BW_215HZ` | 1 | | +| `LSM6DXX_VAL_CTRL6_C_V_LPF1_BW_157HZ` | 2 | | +| `LSM6DXX_VAL_CTRL6_C_V_LPF1_BW_455HZ` | 3 | | +| `LSM6DXX_VAL_CTRL7_G_V_LPF1_EN` | BIT(0) | | +| `LSM6DXX_VAL_CTRL8_XL_V_FS_16G` | 3 | | +| `LSM6DXX_VAL_CTRL4_C_V_DRDY_PULSED` | BIT(1) | | --- ## `lsm6dxxRegister_e` @@ -3298,6 +3326,7 @@ | `LSM6DXX_REG_OUTY_H_A` | 43 | | | `LSM6DXX_REG_OUTZ_L_A` | 44 | | | `LSM6DXX_REG_OUTZ_H_A` | 45 | | +| `LSM6DXX_REG_HAODR_CFG` | 98 | | --- ## `ltm_frame_e` @@ -3541,7 +3570,8 @@ | `MULTI_FUNC_3` | 3 | | | `MULTI_FUNC_4` | 4 | | | `MULTI_FUNC_5` | 5 | | -| `MULTI_FUNC_END` | 6 | | +| `MULTI_FUNC_6` | 6 | | +| `MULTI_FUNC_END` | 7 | | --- ## `multiFunctionFlags_e` @@ -4544,6 +4574,7 @@ | `PITOT_FAKE` | 5 | | | `PITOT_MSP` | 6 | | | `PITOT_DLVR` | 7 | | +| `PITOT_MS5525` | 8 | | --- ## `pollType_e` @@ -4829,8 +4860,9 @@ |---|---:|---| | `SD_3016` | 0 | | | `HD_5018` | 1 | | -| `HD_6022` | 2 | | -| `HD_5320` | 3 | | +| `HD_3016` | 2 | | +| `HD_6022` | 3 | | +| `HD_5320` | 4 | | --- ## `resourceOwner_e` @@ -5079,7 +5111,7 @@ --- ## `sdcardReceiveBlockStatus_e` -> Source: ../../../src/main/drivers/sdcard/sdcard_sdio.c +> Source: ../../../src/main/drivers/sdcard/sdcard_spi.c | Enumerator | Value | Condition | |---|---:|---| @@ -5090,7 +5122,7 @@ --- ## `sdcardReceiveBlockStatus_e` -> Source: ../../../src/main/drivers/sdcard/sdcard_spi.c +> Source: ../../../src/main/drivers/sdcard/sdcard_sdio.c | Enumerator | Value | Condition | |---|---:|---| @@ -5421,6 +5453,11 @@ | `HITL_EXTENDED_FLAGS` | (1 << 7) | | | `HITL_GPS_TIMEOUT` | (1 << 8) | | | `HITL_PITOT_FAILURE` | (1 << 9) | | +| `HITL_CURRENT_SENSOR` | (1 << 10) | | +| `HITL_SIM_RC_INPUT` | (1 << 11) | | +| `HITL_RANGEFINDER` | (1 << 12) | | +| `HITL_FAILSAFE_TRIGGERED` | (1 << 13) | | +| `HITL_SITL_MODE` | (1 << 14) | | --- ## `smartAudioVersion_e` @@ -5636,7 +5673,7 @@ --- ## `systemState_e` -> Source: ../../../src/main/fc/fc_init.c +> Source: ../../../src/main/fc/fc_init.h | Enumerator | Value | Condition | |---|---:|---| @@ -5650,7 +5687,7 @@ --- ## `systemState_e` -> Source: ../../../src/main/fc/fc_init.h +> Source: ../../../src/main/fc/fc_init.c | Enumerator | Value | Condition | |---|---:|---| @@ -5671,6 +5708,7 @@ | `TCH_DMA_IDLE` | 0 | | | `TCH_DMA_READY` | 1 | | | `TCH_DMA_ACTIVE` | 2 | | +| `TCH_DMA_CIRCULAR` | 3 | | --- ## `tempSensorType_e` diff --git a/src/main/io/displayport_msp_osd.c b/src/main/io/displayport_msp_osd.c index 6b674a300ec..50e8cf3f5a6 100644 --- a/src/main/io/displayport_msp_osd.c +++ b/src/main/io/displayport_msp_osd.c @@ -61,11 +61,15 @@ #define FONT_VERSION 3 +// Values are wire-protocol constants sent as a raw byte over MSP DisplayPort +// (MSP_DP_OPTIONS) and must stay fixed — third-party OSD firmware (e.g. +// WTFOS) hardcodes these ordinals, so don't let enum edits renumber them. typedef enum { // defines are from hdzero code - SD_3016, - HD_5018, - HD_6022, // added to support DJI wtfos 60x22 grid - HD_5320 // added to support Avatar and BetaflightHD + SD_3016 = 0, + HD_5018 = 1, + HD_3016 = 2, // unused by INAV; reserved to hold hdzero's canonical ordinal 2 + HD_6022 = 3, // DJI wtfos 60x22 grid + HD_5320 = 4 // Avatar and BetaflightHD } resolutionType_e; #define DRAW_FREQ_DENOM 4 // 60Hz