-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Merge Maintenance 9.x to master #11167
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
The NEXUSX target was missing USE_MAG definition, which caused all magnetometer-related CLI settings to be unavailable. Users received "Invalid name" errors when attempting to configure align_mag_roll, align_mag_pitch, align_mag_yaw, and other compass settings. Changes: - Added USE_MAG to NEXUSX target.h - Configured MAG_I2C_BUS to use I2C3 (same bus as barometer) - Enables external magnetometer support for GPS navigation Hardware compatibility: - NEXUSX has I2C3 available (SCL: PA8, SDA: PC9) - Barometer already on I2C3 (SPL06) Testing: - Built NEXUSX target successfully - Verified settings present in binary via strings command - All compass settings now available in settings table: * align_mag_roll, align_mag_pitch, align_mag_yaw * mag_hardware, mag_declination * magzero_x/y/z, maggain_x/y/z * mag_calibration_time
updated link to Oscar Liang's guide
Update LedStrip.md
I2C3 is not physically accessible on NEXUSX hardware. Changed MAG_I2C_BUS from BUS_I2C3 to DEFAULT_I2C (BUS_I2C2). Added USE_MAG_ALL for auto-detection of magnetometer models.
Co-authored-by: qodo-code-review[bot] <151058649+qodo-code-review[bot]@users.noreply.github.com>
Co-authored-by: qodo-code-review[bot] <151058649+qodo-code-review[bot]@users.noreply.github.com>
Co-authored-by: qodo-code-review[bot] <151058649+qodo-code-review[bot]@users.noreply.github.com>
Add release creation guide
MSP2_INAV_SET_GVAR
Branch Targeting SuggestionYou've targeted the
If This is an automated suggestion to help route contributions to the appropriate branch. |
PR Compliance Guide 🔍All compliance sections have been disabled in the configurations. |
| case MSP2_INAV_SET_GVAR: | ||
| if (dataSize != 5) { | ||
| return MSP_RESULT_ERROR; | ||
| } | ||
| { | ||
| uint8_t gvarIndex; | ||
| if (!sbufReadU8Safe(&gvarIndex, src)) { | ||
| return MSP_RESULT_ERROR; | ||
| } | ||
| const int32_t gvarValue = (int32_t)sbufReadU32(src); | ||
| if (gvarIndex >= MAX_GLOBAL_VARIABLES) { | ||
| return MSP_RESULT_ERROR; | ||
| } | ||
| gvSet(gvarIndex, gvarValue); | ||
| } | ||
| break; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Suggestion: Verify the new MSP ID is consistently defined and documented everywhere (header, handler switch, JSON/docs) to keep one source of truth. Ensure the numeric value (0x2214/8724) matches the docs and header constant. [Learned best practice, importance: 6]
| case MSP2_INAV_SET_GVAR: | |
| if (dataSize != 5) { | |
| return MSP_RESULT_ERROR; | |
| } | |
| { | |
| uint8_t gvarIndex; | |
| if (!sbufReadU8Safe(&gvarIndex, src)) { | |
| return MSP_RESULT_ERROR; | |
| } | |
| const int32_t gvarValue = (int32_t)sbufReadU32(src); | |
| if (gvarIndex >= MAX_GLOBAL_VARIABLES) { | |
| return MSP_RESULT_ERROR; | |
| } | |
| gvSet(gvarIndex, gvarValue); | |
| } | |
| break; | |
| case MSP2_INAV_SET_GVAR: // 0x2214 (8724), must match msp_protocol_v2_inav.h and docs | |
| if (dataSize != 5) { | |
| return MSP_RESULT_ERROR; | |
| } | |
| uint8_t gvarIndex; | |
| if (!sbufReadU8Safe(&gvarIndex, src)) { | |
| return MSP_RESULT_ERROR; | |
| } | |
| const int32_t gvarValue = (int32_t)sbufReadU32(src); | |
| if (gvarIndex >= MAX_GLOBAL_VARIABLES) { | |
| return MSP_RESULT_ERROR; | |
| } | |
| gvSet(gvarIndex, gvarValue); | |
| break; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does this suggestion change any code, or just add a comment without any other changes?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ask❓
Does this suggestion change any code, or just add a comment without any other changes?
Answer:
It only adds an inline comment/annotation next to the case label and does not alter the actual code logic or behavior.
…support Fix missing magnetometer support on NEXUSX target
PR Type
Enhancement, Documentation
Description
Add MSP2_INAV_SET_GVAR command for global variable control
Update MSP protocol documentation with new GVAR message
Add comprehensive release creation guide for maintainers
Fix documentation links and enum references
Diagram Walkthrough
File Walkthrough
2 files
Implement MSP2_INAV_SET_GVAR command handlerDefine MSP2_INAV_SET_GVAR protocol constant6 files
Document MSP2_INAV_SET_GVAR message structureAdd MSP2_INAV_SET_GVAR to protocol referenceIncrement MSP documentation revision numberFix enum names and add wind offset operandAdd comprehensive INAV release creation guideUpdate Oscar Liang guide link to current URL1 files
Update checksum for MSP messages