@@ -136,6 +136,29 @@ norn_config.initialize = function (callback) {
136136 mbIdInput . on ( "input" , function ( ) {
137137 self . analyticsChanges [ "NornMBId" ] = $ ( this ) . val ( ) || null ;
138138 } ) ;
139+
140+ // Populate Controller list (explicit options)
141+ const controllerSelect = $ ( "select[name='norn_controller']" ) ;
142+ if ( controllerSelect . length ) {
143+ controllerSelect . empty ( ) ;
144+ controllerSelect . append ( `<option value="">${ i18n . getMessage ( "nornNone" ) } </option>` ) ;
145+ controllerSelect . append ( `<option value="BOXER">BOXER</option>` ) ;
146+ controllerSelect . append ( `<option value="TX12">TX12</option>` ) ;
147+ controllerSelect . on ( "change" , function ( ) {
148+ self . analyticsChanges [ "NornController" ] = $ ( this ) . val ( ) || null ;
149+ } ) ;
150+ }
151+
152+ // Populate FailSafe list (explicit options)
153+ const failSafeSelect = $ ( "select[name='norn_failsafe']" ) ;
154+ if ( failSafeSelect . length ) {
155+ failSafeSelect . empty ( ) ;
156+ failSafeSelect . append ( `<option value="">${ i18n . getMessage ( "nornNone" ) } </option>` ) ;
157+ failSafeSelect . append ( `<option value="Default">Default</option>` ) ;
158+ failSafeSelect . on ( "change" , function ( ) {
159+ self . analyticsChanges [ "NornFailSafe" ] = $ ( this ) . val ( ) || null ;
160+ } ) ;
161+ }
139162 }
140163
141164 function on_tab_loaded_handler ( ) {
@@ -173,7 +196,9 @@ norn_config.initialize = function (callback) {
173196 const gpsEnabled = $ ( "#norn_gps" ) . is ( ":checked" ) ;
174197 const craftName = $ ( "#norn_craft_name" ) . val ( ) || "" ;
175198 const mbId = $ ( "#norn_mb_id" ) . val ( ) || "" ;
176- return { fcKey, droneSize, manticoreKey, vtxKey, gpsEnabled, craftName, mbId } ;
199+ const controller = $ ( "select[name='norn_controller']" ) . val ( ) || "" ;
200+ const failSafe = $ ( "select[name='norn_failsafe']" ) . val ( ) || "" ;
201+ return { fcKey, droneSize, manticoreKey, vtxKey, gpsEnabled, craftName, mbId, controller, failSafe } ;
177202 }
178203
179204 function on_generate_handler ( e ) {
@@ -229,6 +254,8 @@ norn_config.initialize = function (callback) {
229254 const gpsEnabled = $ ( "#norn_gps" ) . is ( ":checked" ) ;
230255 const craftName = $ ( "#norn_craft_name" ) . val ( ) ;
231256 const mbId = $ ( "#norn_mb_id" ) . val ( ) ;
257+ const controller = $ ( "select[name='norn_controller']" ) . val ( ) ;
258+ const failSafe = $ ( "select[name='norn_failsafe']" ) . val ( ) ;
232259
233260 if ( fcKey ) parts . push ( fcKey ) ;
234261 if ( droneSize ) parts . push ( `${ droneSize } inch` ) ;
@@ -237,6 +264,8 @@ norn_config.initialize = function (callback) {
237264 if ( gpsEnabled ) parts . push ( "GPS" ) ;
238265 if ( craftName ) parts . push ( craftName ) ;
239266 if ( mbId ) parts . push ( `MB${ mbId } ` ) ;
267+ if ( controller ) parts . push ( controller ) ;
268+ if ( failSafe ) parts . push ( failSafe ) ;
240269
241270 const filename = parts . length > 0 ? `norn_config_${ parts . join ( "_" ) } .txt` : "norn_config.txt" ;
242271
0 commit comments