@@ -10,6 +10,12 @@ function ge(e) {
1010} 
1111
1212var  platformPrefix  =  "Surveyor" ; 
13+ var  geodeticLat  =  40.01 ; 
14+ var  geodeticLon  =  - 105.19 ; 
15+ var  geodeticAlt  =  1500.1 ; 
16+ var  ecefX  =  100 ; 
17+ var  ecefY  =  - 100 ; 
18+ var  ecefZ  =  - 200 ; 
1319
1420function  parseIncoming ( msg )  { 
1521    //console.log("incoming message: " + msg); 
@@ -92,6 +98,7 @@ function parseIncoming(msg) {
9298            ||  id . includes ( "profile5Name" ) 
9399            ||  id . includes ( "profile6Name" ) 
94100            ||  id . includes ( "profile7Name" ) 
101+             ||  id . includes ( "radioMAC" ) 
95102        )  { 
96103            ge ( id ) . innerHTML  =  val ; 
97104        } 
@@ -105,6 +112,41 @@ function parseIncoming(msg) {
105112        else  if  ( id . includes ( "firmwareUploadStatus" ) )  { 
106113            firmwareUploadStatus ( val ) ; 
107114        } 
115+         else  if  ( id . includes ( "geodeticLat" ) )  { 
116+             geodeticLat  =  val ; 
117+             ge ( id ) . innerHTML  =  val ; 
118+         } 
119+         else  if  ( id . includes ( "geodeticLon" ) )  { 
120+             geodeticLon  =  val ; 
121+             ge ( id ) . innerHTML  =  val ; 
122+         } 
123+         else  if  ( id . includes ( "geodeticAlt" ) )  { 
124+             geodeticAlt  =  val ; 
125+             ge ( id ) . innerHTML  =  val ; 
126+         } 
127+         else  if  ( id . includes ( "ecefX" ) )  { 
128+             ecefX  =  val ; 
129+             ge ( id ) . innerHTML  =  val ; 
130+         } 
131+         else  if  ( id . includes ( "ecefY" ) )  { 
132+             ecefY  =  val ; 
133+             ge ( id ) . innerHTML  =  val ; 
134+         } 
135+         else  if  ( id . includes ( "ecefZ" ) )  { 
136+             ecefZ  =  val ; 
137+             ge ( id ) . innerHTML  =  val ; 
138+         } 
139+         else  if  ( id . includes ( "bluetoothRadioType" ) )  { 
140+             currentBtNumber  =  val ; 
141+             $ ( "input[name=bluetoothRadioType][value="  +  currentBtNumber  +  "]" ) . prop ( 'checked' ,  true ) ; 
142+         } 
143+         else  if  ( id . includes ( "espnowPeerCount" ) )  { 
144+             if ( val  >  0 ) 
145+                 ge ( "peerMACs" ) . innerHTML  =  "" ; 
146+         } 
147+         else  if  ( id . includes ( "peerMAC" ) )  { 
148+             ge ( "peerMACs" ) . innerHTML  +=  val  +  "<br>" ; 
149+         } 
108150
109151        //Check boxes / radio buttons 
110152        else  if  ( val  ==  "true" )  { 
@@ -134,6 +176,7 @@ function parseIncoming(msg) {
134176    //console.log("Settings loaded"); 
135177
136178    ge ( "profileChangeMessage" ) . innerHTML  =  '' ; 
179+     ge ( "resetProfileMsg" ) . innerHTML  =  '' ; 
137180
138181    //Force element updates 
139182    ge ( "measurementRateHz" ) . dispatchEvent ( new  CustomEvent ( 'change' ) ) ; 
@@ -147,6 +190,7 @@ function parseIncoming(msg) {
147190    ge ( "dataPortChannel" ) . dispatchEvent ( new  CustomEvent ( 'change' ) ) ; 
148191    ge ( "enableExternalPulse" ) . dispatchEvent ( new  CustomEvent ( 'change' ) ) ; 
149192    ge ( "enablePointPerfectCorrections" ) . dispatchEvent ( new  CustomEvent ( 'change' ) ) ; 
193+     ge ( "radioType" ) . dispatchEvent ( new  CustomEvent ( 'change' ) ) ; 
150194} 
151195
152196function  hide ( id )  { 
@@ -215,6 +259,7 @@ function validateFields() {
215259    collapseSection ( "collapseSensorConfig" ,  "sensorCaret" ) ; 
216260    collapseSection ( "collapsePPConfig" ,  "pointPerfectCaret" ) ; 
217261    collapseSection ( "collapsePortsConfig" ,  "portsCaret" ) ; 
262+     collapseSection ( "collapseRadioConfig" ,  "radioCaret" ) ; 
218263    collapseSection ( "collapseSystemConfig" ,  "systemCaret" ) ; 
219264
220265    errorCount  =  0 ; 
@@ -350,6 +395,8 @@ function validateFields() {
350395            clearElement ( "fixedLat" ,  40.09029479 ) ; 
351396            clearElement ( "fixedLong" ,  - 105.18505761 ) ; 
352397            clearElement ( "fixedAltitude" ,  1560.089 ) ; 
398+             clearElement ( "antennaHeight" ,  0 ) ; 
399+             clearElement ( "antennaReferencePoint" ,  0 ) ; 
353400        } 
354401        else  { 
355402            clearElement ( "observationSeconds" ,  60 ) ; 
@@ -372,6 +419,9 @@ function validateFields() {
372419                checkElementValue ( "fixedLat" ,  - 180 ,  180 ,  "Must be -180 to 180" ,  "collapseBaseConfig" ) ; 
373420                checkElementValue ( "fixedLong" ,  - 180 ,  180 ,  "Must be -180 to 180" ,  "collapseBaseConfig" ) ; 
374421                checkElementValue ( "fixedAltitude" ,  - 11034 ,  8849 ,  "Must be -11034 to 8849" ,  "collapseBaseConfig" ) ; 
422+ 
423+                 checkElementValue ( "antennaHeight" ,  - 15000 ,  15000 ,  "Must be -15000 to 15000" ,  "collapseBaseConfig" ) ; 
424+                 checkElementValue ( "antennaReferencePoint" ,  - 200.0 ,  200.0 ,  "Must be -200.0 to 200.0" ,  "collapseBaseConfig" ) ; 
375425            } 
376426        } 
377427
@@ -553,7 +603,7 @@ function clearElement(id, value) {
553603} 
554604
555605function  resetToFactoryDefaults ( )  { 
556-     ge ( "factoryDefaultsMsg" ) . innerHTML  =  "Defaults Applied. Please wait for device reset..." 
606+     ge ( "factoryDefaultsMsg" ) . innerHTML  =  "Defaults Applied. Please wait for device reset..." ; 
557607    ws . send ( "factoryDefaultReset,1," ) ; 
558608} 
559609
@@ -669,6 +719,16 @@ function resetToLoggingDefaults() {
669719    ge ( "UBX_RXM_RAWX" ) . value  =  1 ; 
670720    ge ( "UBX_RXM_SFRBX" ) . value  =  1 ; 
671721} 
722+ function  useECEFCoordinates ( )  { 
723+     ge ( "fixedEcefX" ) . value  =  ecefX ; 
724+     ge ( "fixedEcefY" ) . value  =  ecefY ; 
725+     ge ( "fixedEcefZ" ) . value  =  ecefZ ; 
726+ } 
727+ function  useGeodeticCoordinates ( )  { 
728+     ge ( "fixedLat" ) . value  =  geodeticLat ; 
729+     ge ( "fixedLong" ) . value  =  geodeticLon ; 
730+     ge ( "fixedAltitude" ) . value  =  geodeticAlt ; 
731+ } 
672732
673733function  exitConfig ( )  { 
674734    show ( "exitPage" ) ; 
@@ -689,6 +749,17 @@ function firmwareUploadComplete() {
689749    hide ( "mainPage" ) ; 
690750} 
691751
752+ function  forgetPairedRadios ( )  { 
753+     ge ( "btnForgetRadiosMsg" ) . innerHTML  =  "All radios forgotten." ; 
754+     ge ( "peerMACs" ) . innerHTML  =  "None" ; 
755+     ws . send ( "forgetEspNowPeers,1," ) ; 
756+ } 
757+ 
758+ function  btnResetProfile ( )  { 
759+     ge ( "resetProfileMsg" ) . innerHTML  =  "Resetting profile." ; 
760+     ws . send ( "resetProfile,1," ) ; 
761+ } 
762+ 
692763document . addEventListener ( "DOMContentLoaded" ,  ( event )  =>  { 
693764
694765    var  radios  =  document . querySelectorAll ( 'input[name=profileRadio]' ) ; 
@@ -812,6 +883,24 @@ document.addEventListener("DOMContentLoaded", (event) => {
812883        } 
813884    } ) ; 
814885
886+     ge ( "radioType" ) . addEventListener ( "change" ,  function  ( )  { 
887+         if  ( ge ( "radioType" ) . value  ==  0 )  { 
888+             hide ( "radioDetails" ) ; 
889+         } 
890+         else  if  ( ge ( "radioType" ) . value  ==  1 ) { 
891+             show ( "radioDetails" ) ; 
892+         } 
893+     } ) ; 
894+ 
895+     ge ( "enableForgetRadios" ) . addEventListener ( "change" ,  function  ( )  { 
896+         if  ( ge ( "enableForgetRadios" ) . checked )  { 
897+             ge ( "btnForgetRadios" ) . disabled  =  false ; 
898+         } 
899+         else  { 
900+             ge ( "btnForgetRadios" ) . disabled  =  true ; 
901+         } 
902+     } ) ; 
903+ 
815904    ge ( "enableLogging" ) . addEventListener ( "change" ,  function  ( )  { 
816905        if  ( ge ( "enableLogging" ) . checked )  { 
817906            show ( "enableLoggingDetails" ) ; 
@@ -820,5 +909,4 @@ document.addEventListener("DOMContentLoaded", (event) => {
820909            hide ( "enableLoggingDetails" ) ; 
821910        } 
822911    } ) ; 
823- 
824912} ) 
0 commit comments