Skip to content

Commit 5b806ad

Browse files
authored
Merge pull request #715 from LeeLeahy2/dbg-cert
Debug Point Perfect certificate management
2 parents a0cb989 + d652aec commit 5b806ad

File tree

4 files changed

+26
-3
lines changed

4 files changed

+26
-3
lines changed

Firmware/RTK_Surveyor/NVM.ino

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -259,6 +259,8 @@ void recordSystemSettingsToFile(File *settingsFile)
259259
settingsFile->printf("%s=%s\r\n", "ntripClient_MountPointPW", settings.ntripClient_MountPointPW);
260260
settingsFile->printf("%s=%d\r\n", "ntripClient_TransmitGGA", settings.ntripClient_TransmitGGA);
261261
settingsFile->printf("%s=%d\r\n", "serialTimeoutGNSS", settings.serialTimeoutGNSS);
262+
263+
// Point Perfect
262264
settingsFile->printf("%s=%s\r\n", "pointPerfectDeviceProfileToken", settings.pointPerfectDeviceProfileToken);
263265
settingsFile->printf("%s=%d\r\n", "enablePointPerfectCorrections", settings.enablePointPerfectCorrections);
264266
settingsFile->printf("%s=%d\r\n", "autoKeyRenewal", settings.autoKeyRenewal);
@@ -272,6 +274,8 @@ void recordSystemSettingsToFile(File *settingsFile)
272274
settingsFile->printf("%s=%llu\r\n", "pointPerfectNextKeyDuration", settings.pointPerfectNextKeyDuration);
273275
settingsFile->printf("%s=%llu\r\n", "pointPerfectNextKeyStart", settings.pointPerfectNextKeyStart);
274276
settingsFile->printf("%s=%llu\r\n", "lastKeyAttempt", settings.lastKeyAttempt);
277+
settingsFile->printf("%s=%d\r\n", "debugPpCertificate", settings.debugPpCertificate);
278+
275279
settingsFile->printf("%s=%d\r\n", "updateZEDSettings", settings.updateZEDSettings);
276280
settingsFile->printf("%s=%d\r\n", "LBandFreq", settings.LBandFreq);
277281
settingsFile->printf("%s=%d\r\n", "enableLogging", settings.enableLogging);
@@ -1045,6 +1049,8 @@ bool parseLine(char *str, Settings *settings)
10451049
settings->ntripClient_TransmitGGA = d;
10461050
else if (strcmp(settingName, "serialTimeoutGNSS") == 0)
10471051
settings->serialTimeoutGNSS = d;
1052+
1053+
// Point Perfect
10481054
else if (strcmp(settingName, "pointPerfectDeviceProfileToken") == 0)
10491055
strcpy(settings->pointPerfectDeviceProfileToken, settingValue);
10501056
else if (strcmp(settingName, "enablePointPerfectCorrections") == 0)
@@ -1074,6 +1080,9 @@ bool parseLine(char *str, Settings *settings)
10741080

10751081
else if (strcmp(settingName, "lastKeyAttempt") == 0)
10761082
settings->lastKeyAttempt = d;
1083+
else if (strcmp(settingName, "debugPpCertificate") == 0)
1084+
settings->debugPpCertificate = d;
1085+
10771086
else if (strcmp(settingName, "updateZEDSettings") == 0)
10781087
{
10791088
if (settings->updateZEDSettings != d)

Firmware/RTK_Surveyor/menuPP.ino

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -423,7 +423,8 @@ bool checkCertificates()
423423

424424
if (checkCertificateValidity(certificateContents, strlen(certificateContents)) == false)
425425
{
426-
log_d("Certificate is corrupt.");
426+
if (settings.debugPpCertificate)
427+
systemPrintln("Certificate is corrupt.");
427428
validCertificates = false;
428429
}
429430

@@ -433,7 +434,8 @@ bool checkCertificates()
433434

434435
if (checkCertificateValidity(keyContents, strlen(keyContents)) == false)
435436
{
436-
log_d("PrivateKey is corrupt.");
437+
if (settings.debugPpCertificate)
438+
systemPrintln("PrivateKey is corrupt.");
437439
validCertificates = false;
438440
}
439441

@@ -443,6 +445,8 @@ bool checkCertificates()
443445
if (keyContents)
444446
free(keyContents);
445447

448+
if (settings.debugPpCertificate && validCertificates)
449+
systemPrintln("Certificates are valid!");
446450
return (validCertificates);
447451
}
448452

@@ -463,7 +467,8 @@ bool checkCertificateValidity(char *certificateContent, int certificateContentSi
463467

464468
if (result_code < 0)
465469
{
466-
log_d("Cert formatting invalid");
470+
if (settings.debugPpCertificate)
471+
systemPrintln("Cert formatting invalid");
467472
return (false);
468473
}
469474

Firmware/RTK_Surveyor/menuSystem.ino

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -655,6 +655,10 @@ void menuDebugSoftware()
655655
systemPrintf("60) Print firmware update states: %s\r\n",
656656
settings.debugFirmwareUpdate ? "Enabled" : "Disabled");
657657

658+
// Point Perfect
659+
systemPrintf("70) Point Perfect certificate management: %s\r\n",
660+
settings.debugPpCertificate ? "Enabled" : "Disabled");
661+
658662
systemPrintln("e) Erase LittleFS");
659663

660664
systemPrintln("r) Force system reset");
@@ -716,6 +720,8 @@ void menuDebugSoftware()
716720
settings.enableTaskReports ^= 1;
717721
else if (incoming == 60)
718722
settings.debugFirmwareUpdate ^= 1;
723+
else if (incoming == 70)
724+
settings.debugPpCertificate ^= 1;
719725
else if (incoming == 'e')
720726
{
721727
systemPrintln("Erasing LittleFS and resetting");

Firmware/RTK_Surveyor/settings.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -896,6 +896,7 @@ typedef struct
896896
int16_t serialTimeoutGNSS = 1; // In ms - used during SerialGNSS.begin. Number of ms to pass of no data before
897897
// hardware serial reports data available.
898898

899+
// Point Perfect
899900
char pointPerfectDeviceProfileToken[40] = "";
900901
bool enablePointPerfectCorrections = true;
901902
bool autoKeyRenewal = true; // Attempt to get keys if we get under 28 days from the expiration date
@@ -915,6 +916,8 @@ typedef struct
915916
bool updateZEDSettings = true; // When in doubt, update the ZED with current settings
916917
uint32_t LBandFreq = 1556290000; // Default to US band
917918

919+
bool debugPpCertificate = false; // Debug Point Perfect certificate management
920+
918921
// Time Zone - Default to UTC
919922
int8_t timeZoneHours = 0;
920923
int8_t timeZoneMinutes = 0;

0 commit comments

Comments
 (0)