@@ -10,8 +10,8 @@ void menuPointPerfect()
10
10
Serial.println ();
11
11
Serial.println (F (" Menu: PointPerfect Corrections" ));
12
12
13
- char hardwareID[11 ];
14
- sprintf (hardwareID, " %02X%02X%02X%02X%02X" , unitMACAddress[0 ], unitMACAddress[1 ], unitMACAddress[2 ], unitMACAddress[3 ], unitMACAddress[4 ]); // Get ready for JSON
13
+ char hardwareID[13 ];
14
+ sprintf (hardwareID, " %02X%02X%02X%02X%02X%02X " , unitMACAddress[0 ], unitMACAddress[1 ], unitMACAddress[2 ], unitMACAddress[3 ], unitMACAddress[4 ], unitMACAddress[ 5 ]); // Get ready for JSON
15
15
Serial.printf (" Device ID: %s\n\r " , hardwareID);
16
16
17
17
Serial.print (" Days until keys expire: " );
@@ -37,7 +37,7 @@ void menuPointPerfect()
37
37
if (settings.autoKeyRenewal == true ) Serial.println (F (" Enabled" ));
38
38
else Serial.println (F (" Disabled" ));
39
39
40
- if (strlen (settings.pointPerfectClientID ) == 0 || strlen (settings.pointPerfectLBandTopic ) == 0 )
40
+ if (strlen (settings.pointPerfectCurrentKey ) == 0 || strlen (settings.pointPerfectLBandTopic ) == 0 )
41
41
Serial.println (F (" 5) Provision Device" ));
42
42
else
43
43
Serial.println (F (" 5) Update Keys" ));
@@ -90,7 +90,7 @@ void menuPointPerfect()
90
90
// Check if we have certificates
91
91
char fileName[80 ];
92
92
sprintf (fileName, " /%s_%s_%d.txt" , platformFilePrefix, " certificate" , profileNumber);
93
- if (LittleFS.exists (fileName) == false )
93
+ if (LittleFS.exists (fileName) == false )
94
94
{
95
95
provisionDevice (); // Connect to ThingStream API and get keys
96
96
}
@@ -274,30 +274,40 @@ bool provisionDevice()
274
274
WiFiClientSecure client;
275
275
client.setCACert (AWS_PUBLIC_CERT);
276
276
277
+ char hardwareID[13 ];
278
+ sprintf (hardwareID, " %02X%02X%02X%02X%02X%02X" , unitMACAddress[0 ], unitMACAddress[1 ], unitMACAddress[2 ], unitMACAddress[3 ], unitMACAddress[4 ], unitMACAddress[5 ]); // Get ready for JSON
279
+
277
280
#ifdef WHITELISTED_ID
278
- // Override device ID with testing ID
279
- for (int x = 0 ; x < 5 ; x++)
280
- unitMACAddress[x] = whitelistID[x];
281
+ // Override ID with testing ID
282
+ sprintf (hardwareID, " %02X%02X%02X%02X%02X%02X" , whitelistID[0 ], whitelistID[1 ], whitelistID[2 ], whitelistID[3 ], whitelistID[4 ], whitelistID[5 ]);
281
283
#endif
282
284
283
- char hardwareID[11 ];
284
- sprintf (hardwareID, " %02X%02X%02X%02X%02X" , unitMACAddress[0 ], unitMACAddress[1 ], unitMACAddress[2 ], unitMACAddress[3 ], unitMACAddress[4 ]); // Get ready for JSON
285
-
286
285
char givenName[50 ];
287
286
sprintf (givenName, " SparkFun RTK %s v%d.%d - %s" , platformPrefix, FIRMWARE_VERSION_MAJOR, FIRMWARE_VERSION_MINOR, hardwareID); // Get ready for JSON
288
287
289
288
StaticJsonDocument<256 > pointPerfectAPIPost;
290
289
291
- // Convert uint8_t array into string with dashes in spots
292
- // We must assume u-blox will not change the position of their dashes or length of their token
290
+ // Determine if we use the SparkFun token or custom token
293
291
char tokenString[37 ] = " \0 " ;
294
- for ( int x = 0 ; x < sizeof (pointPerfectTokenArray) ; x++ )
292
+ if ( strlen (settings. pointPerfectDeviceProfileToken ) == 0 )
295
293
{
296
- char temp[3 ];
297
- sprintf (temp, " %02x" , pointPerfectTokenArray[x]);
298
- strcat (tokenString, temp);
299
- if (x == 3 || x == 5 || x == 7 || x == 9 ) strcat (tokenString, " -" );
294
+ // Convert uint8_t array into string with dashes in spots
295
+ // We must assume u-blox will not change the position of their dashes or length of their token
296
+ for (int x = 0 ; x < sizeof (pointPerfectTokenArray) ; x++)
297
+ {
298
+ char temp[3 ];
299
+ sprintf (temp, " %02x" , pointPerfectTokenArray[x]);
300
+ strcat (tokenString, temp);
301
+ if (x == 3 || x == 5 || x == 7 || x == 9 ) strcat (tokenString, " -" );
302
+ }
300
303
}
304
+ else
305
+ {
306
+ // Use the user's custom token
307
+ strcpy (tokenString, settings.pointPerfectDeviceProfileToken );
308
+ Serial.printf (" Using custom token: %s\n\r " , tokenString);
309
+ }
310
+
301
311
pointPerfectAPIPost[" token" ] = tokenString;
302
312
pointPerfectAPIPost[" givenName" ] = givenName;
303
313
pointPerfectAPIPost[" hardwareId" ] = hardwareID;
0 commit comments