@@ -379,7 +379,7 @@ export const GYRO_32KHZ_HARDWARE_LPF = makeReadOnly(["NORMAL", "EXPERIMENTAL"]);
379379
380380export let ACC_HARDWARE = [ ] ;
381381
382- export const ACC_HARDWARE_COMPLETE = makeReadOnly ( [
382+ const ACC_HARDWARE_COMPLETE = makeReadOnly ( [
383383 "AUTO" ,
384384 "NONE" ,
385385 "ADXL345" ,
@@ -417,7 +417,9 @@ export const BARO_HARDWARE = makeReadOnly([
417417 "2SMPB_02B" ,
418418] ) ;
419419
420- export const MAG_HARDWARE = makeReadOnly ( [
420+ export let MAG_HARDWARE = [ ] ;
421+
422+ const MAG_HARDWARE_COMPLETE = makeReadOnly ( [
421423 "AUTO" ,
422424 "NONE" ,
423425 "HMC5883" ,
@@ -505,10 +507,12 @@ export function adjustFieldDefsList(firmwareType, firmwareVersion) {
505507 firmwareType === FIRMWARE_TYPE_BETAFLIGHT &&
506508 semver . gte ( firmwareVersion , "3.3.0" )
507509 ) {
508- // ACC hardware names
510+ // Hardware names
509511 ACC_HARDWARE = ACC_HARDWARE_COMPLETE . slice ( 0 ) ;
512+ MAG_HARDWARE = MAG_HARDWARE_COMPLETE . slice ( 0 ) ;
510513 // Debug names
511514 DEBUG_MODE = DEBUG_MODE_COMPLETE . slice ( 0 ) ;
515+
512516 DEBUG_MODE . splice ( DEBUG_MODE . indexOf ( "MIXER" ) , 1 ) ;
513517 DEBUG_MODE . splice ( DEBUG_MODE . indexOf ( "AIRMODE" ) , 1 ) ;
514518 DEBUG_MODE . splice ( DEBUG_MODE . indexOf ( "VELOCITY" ) , 1 ) ;
@@ -529,6 +533,10 @@ export function adjustFieldDefsList(firmwareType, firmwareVersion) {
529533 DEBUG_MODE . splice ( DEBUG_MODE . indexOf ( "FF_INTERPOLATED" ) , 1 , "FEEDFORWARD" ) ;
530534 DEBUG_MODE . splice ( DEBUG_MODE . indexOf ( "FF_LIMIT" ) , 1 , "FEEDFORWARD_LIMIT" ) ;
531535 }
536+ if ( semver . gte ( firmwareVersion , "4.5.0" ) ) {
537+ MAG_HARDWARE . splice ( MAG_HARDWARE . indexOf ( "LIS3MDL" ) , 0 , "LIS2MDL" ) ;
538+ MAG_HARDWARE . push ( "IST8310" ) ;
539+ }
532540 if ( semver . lt ( firmwareVersion , "2025.12.0" ) ) {
533541 DEBUG_MODE . splice ( DEBUG_MODE . indexOf ( "D_MAX" ) , 1 , "D_MIN" ) ;
534542 }
@@ -539,6 +547,8 @@ export function adjustFieldDefsList(firmwareType, firmwareVersion) {
539547 ACC_HARDWARE . splice ( ACC_HARDWARE . indexOf ( "LSM303DLHC" ) , 1 ) ;
540548 ACC_HARDWARE . splice ( ACC_HARDWARE . indexOf ( "LSM6DSV16X" ) + 1 , 0 , "IIM42653" ) ;
541549
550+ MAG_HARDWARE . push ( "QMC5883P" ) ;
551+
542552 DEBUG_MODE . splice ( DEBUG_MODE . indexOf ( 'GPS_RESCUE_THROTTLE_PID' ) , 1 , 'AUTOPILOT_ALTITUDE' ) ;
543553 DEBUG_MODE . splice ( DEBUG_MODE . indexOf ( "GYRO_SCALED" ) , 1 ) ;
544554 DEBUG_MODE . splice ( DEBUG_MODE . indexOf ( "RANGEFINDER_QUALITY" ) + 1 , 0 , "OPTICALFLOW" ) ;
@@ -558,6 +568,7 @@ export function adjustFieldDefsList(firmwareType, firmwareVersion) {
558568 }
559569
560570 ACC_HARDWARE = makeReadOnly ( ACC_HARDWARE ) ;
571+ MAG_HARDWARE = makeReadOnly ( MAG_HARDWARE ) ;
561572 DEBUG_MODE = makeReadOnly ( DEBUG_MODE ) ;
562573
563574 // Flight mode names
0 commit comments