Skip to content

Commit 2ee2fa1

Browse files
authored
Merge branch 'release_candidate' into Add_Ref_Stn_Ethernet
2 parents 922d435 + 4b6ebbd commit 2ee2fa1

File tree

7 files changed

+1783
-2647
lines changed

7 files changed

+1783
-2647
lines changed

Firmware/RTK_Surveyor/AP-Config/index.html

Lines changed: 37 additions & 627 deletions
Large diffs are not rendered by default.

Firmware/RTK_Surveyor/AP-Config/src/main.js

Lines changed: 104 additions & 224 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,13 @@ var fileNumber = 0;
3232
var numberOfFilesSelected = 0;
3333
var selectedFiles = "";
3434
var showingFileList = false;
35+
var obtainedMessageList = false;
36+
var obtainedMessageListBase = false;
37+
var showingMessageRTCMList = false;
3538
var fileTableText = "";
39+
var messageText = "";
40+
var lastMessageType = "";
41+
var lastMessageTypeBase = "";
3642

3743
var recordsECEF = [];
3844
var recordsGeodetic = [];
@@ -107,28 +113,6 @@ function parseIncoming(msg) {
107113
hide("ntpConfig");
108114

109115
ge("muxChannel2").innerHTML = "Wheel/Dir Encoder";
110-
111-
hide("msgUBX_NAV_SVIN"); //Hide unsupported messages
112-
hide("msgUBX_RTCM_1005");
113-
hide("msgUBX_RTCM_1074");
114-
hide("msgUBX_RTCM_1077");
115-
hide("msgUBX_RTCM_1084");
116-
hide("msgUBX_RTCM_1087");
117-
118-
hide("msgUBX_RTCM_1094");
119-
hide("msgUBX_RTCM_1097");
120-
hide("msgUBX_RTCM_1124");
121-
hide("msgUBX_RTCM_1127");
122-
hide("msgUBX_RTCM_1230");
123-
124-
hide("msgUBX_RTCM_4072_0");
125-
hide("msgUBX_RTCM_4072_1");
126-
127-
show("msgUBX_ESF_MEAS");
128-
show("msgUBX_ESF_RAW");
129-
show("msgUBX_ESF_STATUS");
130-
show("msgUBX_ESF_ALG");
131-
show("msgUBX_ESF_INS");
132116
}
133117
else if (platformPrefix == "Facet L-Band") {
134118
show("baseConfig");
@@ -248,6 +232,35 @@ function parseIncoming(msg) {
248232
else if (id.includes("fmNext")) {
249233
sendFile();
250234
}
235+
else if (id.includes("UBX_")) {
236+
var messageName = id;
237+
var messageRate = val;
238+
var messageNameLabel = "";
239+
240+
var messageData = messageName.split('_');
241+
if (messageData.length >= 3) {
242+
var messageType = messageData[1]; //UBX_RTCM_1074 = RTCM
243+
if (lastMessageType != messageType) {
244+
lastMessageType = messageType;
245+
messageText += "<hr>";
246+
}
247+
248+
messageNameLabel = messageData[1] + "_" + messageData[2]; //RTCM_1074
249+
if (messageData.length == 4) {
250+
messageNameLabel = messageData[1] + "_" + messageData[2] + "_" + messageData[3]; //RTCM_4072_1
251+
}
252+
253+
//Remove Base if seen
254+
messageNameLabel = messageNameLabel.split('Base').join(''); //UBX_RTCM_1074Base
255+
}
256+
257+
messageText += "<div class='form-group row' id='msg" + messageName + "'>";
258+
messageText += "<label for='" + messageName + "' class='col-sm-4 col-6 col-form-label'>" + messageNameLabel + ":</label>";
259+
messageText += "<div class='col-sm-4 col-4'><input type='number' class='form-control'";
260+
messageText += "id='" + messageName + "' value='" + messageRate + "'>";
261+
messageText += "<p id='" + messageName + "Error' class='inlineError'></p>";
262+
messageText += "</div></div>";
263+
}
251264
else if (id.includes("checkingNewFirmware")) {
252265
checkingNewFirmware();
253266
}
@@ -466,95 +479,11 @@ function validateFields() {
466479
ge("ntripClient_TransmitGGA").checked = true;
467480
}
468481

469-
checkMessageValue("UBX_NMEA_DTM");
470-
checkMessageValue("UBX_NMEA_GBS");
471-
checkMessageValue("UBX_NMEA_GGA");
472-
checkMessageValue("UBX_NMEA_GLL");
473-
checkMessageValue("UBX_NMEA_GNS");
474-
475-
checkMessageValue("UBX_NMEA_GRS");
476-
checkMessageValue("UBX_NMEA_GSA");
477-
checkMessageValue("UBX_NMEA_GST");
478-
checkMessageValue("UBX_NMEA_GSV");
479-
checkMessageValue("UBX_NMEA_RMC");
480-
481-
checkMessageValue("UBX_NMEA_VLW");
482-
checkMessageValue("UBX_NMEA_VTG");
483-
checkMessageValue("UBX_NMEA_ZDA");
484-
485-
checkMessageValue("UBX_NAV_ATT");
486-
checkMessageValue("UBX_NAV_CLOCK");
487-
checkMessageValue("UBX_NAV_DOP");
488-
checkMessageValue("UBX_NAV_EOE");
489-
checkMessageValue("UBX_NAV_GEOFENCE");
490-
491-
checkMessageValue("UBX_NAV_HPPOSECEF");
492-
checkMessageValue("UBX_NAV_HPPOSLLH");
493-
checkMessageValue("UBX_NAV_ODO");
494-
checkMessageValue("UBX_NAV_ORB");
495-
checkMessageValue("UBX_NAV_POSECEF");
496-
497-
checkMessageValue("UBX_NAV_POSLLH");
498-
checkMessageValue("UBX_NAV_PVT");
499-
checkMessageValue("UBX_NAV_RELPOSNED");
500-
checkMessageValue("UBX_NAV_SAT");
501-
checkMessageValue("UBX_NAV_SIG");
502-
503-
checkMessageValue("UBX_NAV_STATUS");
504-
checkMessageValue("UBX_NAV_SVIN");
505-
checkMessageValue("UBX_NAV_TIMEBDS");
506-
checkMessageValue("UBX_NAV_TIMEGAL");
507-
checkMessageValue("UBX_NAV_TIMEGLO");
508-
509-
checkMessageValue("UBX_NAV_TIMEGPS");
510-
checkMessageValue("UBX_NAV_TIMELS");
511-
checkMessageValue("UBX_NAV_TIMEUTC");
512-
checkMessageValue("UBX_NAV_VELECEF");
513-
checkMessageValue("UBX_NAV_VELNED");
514-
515-
checkMessageValue("UBX_RXM_MEASX");
516-
checkMessageValue("UBX_RXM_RAWX");
517-
checkMessageValue("UBX_RXM_RLM");
518-
checkMessageValue("UBX_RXM_RTCM");
519-
checkMessageValue("UBX_RXM_SFRBX");
520-
521-
checkMessageValue("UBX_MON_COMMS");
522-
checkMessageValue("UBX_MON_HW2");
523-
checkMessageValue("UBX_MON_HW3");
524-
checkMessageValue("UBX_MON_HW");
525-
checkMessageValue("UBX_MON_IO");
526-
527-
checkMessageValue("UBX_MON_MSGPP");
528-
checkMessageValue("UBX_MON_RF");
529-
checkMessageValue("UBX_MON_RXBUF");
530-
checkMessageValue("UBX_MON_RXR");
531-
checkMessageValue("UBX_MON_TXBUF");
532-
533-
checkMessageValue("UBX_TIM_TM2");
534-
checkMessageValue("UBX_TIM_TP");
535-
checkMessageValue("UBX_TIM_VRFY");
536-
537-
checkMessageValue("UBX_RTCM_1005");
538-
checkMessageValue("UBX_RTCM_1074");
539-
checkMessageValue("UBX_RTCM_1077");
540-
checkMessageValue("UBX_RTCM_1084");
541-
checkMessageValue("UBX_RTCM_1087");
542-
543-
checkMessageValue("UBX_RTCM_1094");
544-
checkMessageValue("UBX_RTCM_1097");
545-
checkMessageValue("UBX_RTCM_1124");
546-
checkMessageValue("UBX_RTCM_1127");
547-
checkMessageValue("UBX_RTCM_1230");
548-
549-
checkMessageValue("UBX_RTCM_4072_0");
550-
checkMessageValue("UBX_RTCM_4072_1");
551-
552-
if (platformPrefix == "Express Plus") {
553-
checkMessageValue("UBX_ESF_MEAS");
554-
checkMessageValue("UBX_ESF_RAW");
555-
checkMessageValue("UBX_ESF_STATUS");
556-
checkMessageValue("UBX_ESF_ALG");
557-
checkMessageValue("UBX_ESF_INS");
482+
//Check all UBX message boxes
483+
var ubxMessages = document.querySelectorAll('input[id^=UBX_]'); //match all ids starting with UBX_
484+
for (let x = 0; x < ubxMessages.length; x++) {
485+
var messageName = ubxMessages[x].id;
486+
checkMessageValue(messageName);
558487
}
559488

560489
//Base Config
@@ -663,31 +592,31 @@ function validateFields() {
663592

664593
//Ethernet
665594
if (platformPrefix == "Reference Station") {
666-
//if (ge("ethernetDHCP").checked == false) {
667-
checkElementIPAddress("ethernetIP", "Must be nnn.nnn.nnn.nnn", "collapseEthernetConfig");
668-
checkElementIPAddress("ethernetDNS", "Must be nnn.nnn.nnn.nnn", "collapseEthernetConfig");
669-
checkElementIPAddress("ethernetGateway", "Must be nnn.nnn.nnn.nnn", "collapseEthernetConfig");
670-
checkElementIPAddress("ethernetSubnet", "Must be nnn.nnn.nnn.nnn", "collapseEthernetConfig");
671-
checkElementValue("ethernetHttpPort", 0, 65535, "Must be 0 to 65535", "collapseEthernetConfig");
672-
checkElementValue("ethernetNtpPort", 0, 65535, "Must be 0 to 65535", "collapseEthernetConfig");
673-
//}
674-
//else {
675-
// clearElement("ethernetIP", "192.168.0.123");
676-
// clearElement("ethernetDNS", "192.168.4.100");
677-
// clearElement("ethernetGateway", "192.168.0.1");
678-
// clearElement("ethernetSubnet", "255.255.255.0");
679-
// clearElement("ethernetHttpPort", 80);
680-
// clearElement("ethernetNtpPort", 123);
681-
//}
595+
//if (ge("ethernetDHCP").checked == false) {
596+
checkElementIPAddress("ethernetIP", "Must be nnn.nnn.nnn.nnn", "collapseEthernetConfig");
597+
checkElementIPAddress("ethernetDNS", "Must be nnn.nnn.nnn.nnn", "collapseEthernetConfig");
598+
checkElementIPAddress("ethernetGateway", "Must be nnn.nnn.nnn.nnn", "collapseEthernetConfig");
599+
checkElementIPAddress("ethernetSubnet", "Must be nnn.nnn.nnn.nnn", "collapseEthernetConfig");
600+
checkElementValue("ethernetHttpPort", 0, 65535, "Must be 0 to 65535", "collapseEthernetConfig");
601+
checkElementValue("ethernetNtpPort", 0, 65535, "Must be 0 to 65535", "collapseEthernetConfig");
602+
//}
603+
//else {
604+
// clearElement("ethernetIP", "192.168.0.123");
605+
// clearElement("ethernetDNS", "192.168.4.100");
606+
// clearElement("ethernetGateway", "192.168.0.1");
607+
// clearElement("ethernetSubnet", "255.255.255.0");
608+
// clearElement("ethernetHttpPort", 80);
609+
// clearElement("ethernetNtpPort", 123);
610+
//}
682611
}
683612

684613
//NTP
685614
if (platformPrefix == "Reference Station") {
686-
checkElementValue("ntpPollExponent", 3, 17, "Must be 3 to 17", "collapseNTPConfig");
687-
checkElementValue("ntpPrecision", -30, 0, "Must be -30 to 0", "collapseNTPConfig");
688-
checkElementValue("ntpRootDelay", 0, 10000000, "Must be 0 to 10,000,000", "collapseNTPConfig");
689-
checkElementValue("ntpRootDispersion", 0, 10000000, "Must be 0 to 10,000,000", "collapseNTPConfig");
690-
checkElementString("ntpReferenceId", 1, 4, "Must be 1 to 4 chars", "collapseNTPConfig");
615+
checkElementValue("ntpPollExponent", 3, 17, "Must be 3 to 17", "collapseNTPConfig");
616+
checkElementValue("ntpPrecision", -30, 0, "Must be -30 to 0", "collapseNTPConfig");
617+
checkElementValue("ntpRootDelay", 0, 10000000, "Must be 0 to 10,000,000", "collapseNTPConfig");
618+
checkElementValue("ntpRootDispersion", 0, 10000000, "Must be 0 to 10,000,000", "collapseNTPConfig");
619+
checkElementString("ntpReferenceId", 1, 4, "Must be 1 to 4 chars", "collapseNTPConfig");
691620
}
692621

693622
//Port Config
@@ -872,12 +801,11 @@ function checkElementString(id, min, max, errorText, collapseID) {
872801
function checkElementIPAddress(id, errorText, collapseID) {
873802
value = ge(id).value;
874803
var data = value.split('.');
875-
if ((data.length != 4)
804+
if ((data.length != 4)
876805
|| ((data[0] == "") || (isNaN(Number(data[0]))) || (data[0] < 0) || (data[0] > 255))
877806
|| ((data[1] == "") || (isNaN(Number(data[1]))) || (data[1] < 0) || (data[1] > 255))
878807
|| ((data[2] == "") || (isNaN(Number(data[2]))) || (data[2] < 0) || (data[2] > 255))
879-
|| ((data[3] == "") || (isNaN(Number(data[3]))) || (data[3] < 0) || (data[3] > 255)))
880-
{
808+
|| ((data[3] == "") || (isNaN(Number(data[3]))) || (data[3] < 0) || (data[3] > 255))) {
881809
ge(id + 'Error').innerHTML = 'Error: ' + errorText;
882810
ge(collapseID).classList.add('show');
883811
errorCount++;
@@ -909,94 +837,12 @@ function zeroElement(id) {
909837
}
910838

911839
function zeroMessages() {
912-
zeroElement("UBX_NMEA_DTM");
913-
zeroElement("UBX_NMEA_GBS");
914-
zeroElement("UBX_NMEA_GGA");
915-
zeroElement("UBX_NMEA_GLL");
916-
zeroElement("UBX_NMEA_GNS");
917-
918-
zeroElement("UBX_NMEA_GRS");
919-
zeroElement("UBX_NMEA_GSA");
920-
zeroElement("UBX_NMEA_GST");
921-
zeroElement("UBX_NMEA_GSV");
922-
zeroElement("UBX_NMEA_RMC");
923-
924-
zeroElement("UBX_NMEA_VLW");
925-
zeroElement("UBX_NMEA_VTG");
926-
zeroElement("UBX_NMEA_ZDA");
927-
928-
zeroElement("UBX_NAV_ATT");
929-
zeroElement("UBX_NAV_CLOCK");
930-
zeroElement("UBX_NAV_DOP");
931-
zeroElement("UBX_NAV_EOE");
932-
zeroElement("UBX_NAV_GEOFENCE");
933-
934-
zeroElement("UBX_NAV_HPPOSECEF");
935-
zeroElement("UBX_NAV_HPPOSLLH");
936-
zeroElement("UBX_NAV_ODO");
937-
zeroElement("UBX_NAV_ORB");
938-
zeroElement("UBX_NAV_POSECEF");
939-
940-
zeroElement("UBX_NAV_POSLLH");
941-
zeroElement("UBX_NAV_PVT");
942-
zeroElement("UBX_NAV_RELPOSNED");
943-
zeroElement("UBX_NAV_SAT");
944-
zeroElement("UBX_NAV_SIG");
945-
946-
zeroElement("UBX_NAV_STATUS");
947-
zeroElement("UBX_NAV_SVIN");
948-
zeroElement("UBX_NAV_TIMEBDS");
949-
zeroElement("UBX_NAV_TIMEGAL");
950-
zeroElement("UBX_NAV_TIMEGLO");
951-
952-
zeroElement("UBX_NAV_TIMEGPS");
953-
zeroElement("UBX_NAV_TIMELS");
954-
zeroElement("UBX_NAV_TIMEUTC");
955-
zeroElement("UBX_NAV_VELECEF");
956-
zeroElement("UBX_NAV_VELNED");
957-
958-
zeroElement("UBX_RXM_MEASX");
959-
zeroElement("UBX_RXM_RAWX");
960-
zeroElement("UBX_RXM_RLM");
961-
zeroElement("UBX_RXM_RTCM");
962-
zeroElement("UBX_RXM_SFRBX");
963-
964-
zeroElement("UBX_MON_COMMS");
965-
zeroElement("UBX_MON_HW2");
966-
zeroElement("UBX_MON_HW3");
967-
zeroElement("UBX_MON_HW");
968-
zeroElement("UBX_MON_IO");
969-
970-
zeroElement("UBX_MON_MSGPP");
971-
zeroElement("UBX_MON_RF");
972-
zeroElement("UBX_MON_RXBUF");
973-
zeroElement("UBX_MON_RXR");
974-
zeroElement("UBX_MON_TXBUF");
975-
976-
zeroElement("UBX_TIM_TM2");
977-
zeroElement("UBX_TIM_TP");
978-
zeroElement("UBX_TIM_VRFY");
979-
980-
zeroElement("UBX_RTCM_1005");
981-
zeroElement("UBX_RTCM_1074");
982-
zeroElement("UBX_RTCM_1077");
983-
zeroElement("UBX_RTCM_1084");
984-
zeroElement("UBX_RTCM_1087");
985-
986-
zeroElement("UBX_RTCM_1094");
987-
zeroElement("UBX_RTCM_1097");
988-
zeroElement("UBX_RTCM_1124");
989-
zeroElement("UBX_RTCM_1127");
990-
zeroElement("UBX_RTCM_1230");
991-
992-
zeroElement("UBX_RTCM_4072_0");
993-
zeroElement("UBX_RTCM_4072_1");
994-
995-
zeroElement("UBX_ESF_MEAS");
996-
zeroElement("UBX_ESF_RAW");
997-
zeroElement("UBX_ESF_STATUS");
998-
zeroElement("UBX_ESF_ALG");
999-
zeroElement("UBX_ESF_INS");
840+
841+
var ubxMessages = document.querySelectorAll('input[id^=UBX_]'); //match all ids starting with UBX_
842+
for (let x = 0; x < ubxMessages.length; x++) {
843+
var messageName = ubxMessages[x].id;
844+
zeroElement(messageName);
845+
}
1000846
}
1001847
function resetToNmeaDefaults() {
1002848
zeroMessages();
@@ -1547,6 +1393,40 @@ function getFileList() {
15471393
}
15481394
}
15491395

1396+
function getMessageList() {
1397+
if (obtainedMessageList == false) {
1398+
obtainedMessageList = true;
1399+
1400+
ge("messageList").innerHTML = "";
1401+
messageText = "";
1402+
1403+
xmlhttp = new XMLHttpRequest();
1404+
xmlhttp.open("GET", "/listMessages", false);
1405+
xmlhttp.send();
1406+
1407+
parseIncoming(xmlhttp.responseText); //Process CSV data into HTML
1408+
1409+
ge("messageList").innerHTML += messageText;
1410+
}
1411+
}
1412+
1413+
function getMessageListBase() {
1414+
if (obtainedMessageListBase == false) {
1415+
obtainedMessageListBase = true;
1416+
1417+
ge("messageListBase").innerHTML = "";
1418+
messageText = "";
1419+
1420+
xmlhttp = new XMLHttpRequest();
1421+
xmlhttp.open("GET", "/listMessagesBase", false);
1422+
xmlhttp.send();
1423+
1424+
parseIncoming(xmlhttp.responseText); //Process CSV data into HTML
1425+
1426+
ge("messageListBase").innerHTML += messageText;
1427+
}
1428+
}
1429+
15501430
function fileManagerDownload() {
15511431
selectedFiles = document.querySelectorAll('input[name=fileID]:checked');
15521432
numberOfFilesSelected = document.querySelectorAll('input[name=fileID]:checked').length;
@@ -1887,7 +1767,7 @@ function convertInput(coordinate, coordinateInputType) {
18871767
var coordinateString = "";
18881768

18891769
if (coordinateInputType == CoordinateTypes.COORDINATE_INPUT_TYPE_DD) {
1890-
coordinate = coordinate.toFixed(9);
1770+
coordinate = Number(coordinate).toFixed(9);
18911771
return (coordinate);
18921772
}
18931773
else if (coordinateInputType == CoordinateTypes.COORDINATE_INPUT_TYPE_DD_MM

0 commit comments

Comments
 (0)