Skip to content

Commit 6e522f4

Browse files
committed
Add unique values for each of the NTRIP server settings
1 parent e94fd3f commit 6e522f4

File tree

6 files changed

+355
-86
lines changed

6 files changed

+355
-86
lines changed

Firmware/RTK_Surveyor/Display.ino

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1726,7 +1726,13 @@ void printTextwithKerning(const char *newText, uint8_t xPos, uint8_t yPos, uint8
17261726
void paintRTCM()
17271727
{
17281728
int yPos = 17;
1729-
if (online.ntripServer)
1729+
1730+
// Determine if the NTRIP Server is casting
1731+
bool casting = false;
1732+
for (int serverIndex = 0; serverIndex < NTRIP_SERVER_MAX; serverIndex++)
1733+
casting |= online.ntripServer[serverIndex];
1734+
1735+
if (casting)
17301736
printTextCenter("Casting", yPos, QW_FONT_8X16, 1, false); // text, y, font type, kerning, inverted
17311737
else
17321738
printTextCenter("Xmitting", yPos, QW_FONT_8X16, 1, false); // text, y, font type, kerning, inverted

Firmware/RTK_Surveyor/Form.ino

Lines changed: 113 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -697,12 +697,22 @@ void createSettingsString(char *newSettings)
697697
stringRecord(newSettings, "fixedAltitude", settings.fixedAltitude, 4);
698698

699699
stringRecord(newSettings, "enableNtripServer", settings.enableNtripServer);
700-
stringRecord(newSettings, "ntripServer_CasterHost", settings.ntripServer_CasterHost);
701-
stringRecord(newSettings, "ntripServer_CasterPort", settings.ntripServer_CasterPort);
702-
stringRecord(newSettings, "ntripServer_CasterUser", settings.ntripServer_CasterUser);
703-
stringRecord(newSettings, "ntripServer_CasterUserPW", settings.ntripServer_CasterUserPW);
704-
stringRecord(newSettings, "ntripServer_MountPoint", settings.ntripServer_MountPoint);
705-
stringRecord(newSettings, "ntripServer_MountPointPW", settings.ntripServer_MountPointPW);
700+
for (int serverIndex = 0; serverIndex < NTRIP_SERVER_MAX; serverIndex++)
701+
{
702+
char name[40];
703+
sprintf(name, "ntripServer_%s_%d", "CasterHost", serverIndex);
704+
stringRecord(newSettings, name, settings.ntripServer_CasterHost[serverIndex][0]);
705+
sprintf(name, "ntripServer_%s_%d", "CasterPort", serverIndex);
706+
stringRecord(newSettings, name, settings.ntripServer_CasterPort[serverIndex]);
707+
sprintf(name, "ntripServer_%s_%d", "CasterUser", serverIndex);
708+
stringRecord(newSettings, name, settings.ntripServer_CasterUser[serverIndex][0]);
709+
sprintf(name, "ntripServer_%s_%d", "CasterUserPW", serverIndex);
710+
stringRecord(newSettings, name, settings.ntripServer_CasterUserPW[serverIndex][0]);
711+
sprintf(name, "ntripServer_%s_%d", "MountPoint", serverIndex);
712+
stringRecord(newSettings, name, settings.ntripServer_MountPoint[serverIndex][0]);
713+
sprintf(name, "ntripServer_%s_%d", "MountPointPW", serverIndex);
714+
stringRecord(newSettings, name, settings.ntripServer_MountPointPW[serverIndex][0]);
715+
}
706716

707717
stringRecord(newSettings, "enableNtripClient", settings.enableNtripClient);
708718
stringRecord(newSettings, "ntripClient_CasterHost", settings.ntripClient_CasterHost);
@@ -1210,18 +1220,6 @@ void updateSettingWithValue(const char *settingName, const char *settingValueStr
12101220
}
12111221
else if (strcmp(settingName, "enableNtripServer") == 0)
12121222
settings.enableNtripServer = settingValueBool;
1213-
else if (strcmp(settingName, "ntripServer_CasterHost") == 0)
1214-
strcpy(settings.ntripServer_CasterHost, settingValueStr);
1215-
else if (strcmp(settingName, "ntripServer_CasterPort") == 0)
1216-
settings.ntripServer_CasterPort = settingValue;
1217-
else if (strcmp(settingName, "ntripServer_CasterUser") == 0)
1218-
strcpy(settings.ntripServer_CasterUser, settingValueStr);
1219-
else if (strcmp(settingName, "ntripServer_CasterUserPW") == 0)
1220-
strcpy(settings.ntripServer_CasterUserPW, settingValueStr);
1221-
else if (strcmp(settingName, "ntripServer_MountPoint") == 0)
1222-
strcpy(settings.ntripServer_MountPoint, settingValueStr);
1223-
else if (strcmp(settingName, "ntripServer_MountPointPW") == 0)
1224-
strcpy(settings.ntripServer_MountPointPW, settingValueStr);
12251223

12261224
else if (strcmp(settingName, "enableNtripClient") == 0)
12271225
settings.enableNtripClient = settingValueBool;
@@ -1671,6 +1669,103 @@ void updateSettingWithValue(const char *settingName, const char *settingValueStr
16711669
}
16721670
}
16731671
}
1672+
1673+
// Scan for ntripServer_CasterHost
1674+
if (knownSetting == false)
1675+
{
1676+
for (int serverIndex = 0; serverIndex < NTRIP_SERVER_MAX; serverIndex++)
1677+
{
1678+
char tempString[50];
1679+
snprintf(tempString, sizeof(tempString), "ntripServer_CasterHost_%d", serverIndex);
1680+
if (strcmp(settingName, tempString) == 0)
1681+
{
1682+
strcpy(&settings.ntripServer_CasterHost[serverIndex][0], settingValueStr);
1683+
knownSetting = true;
1684+
break;
1685+
}
1686+
}
1687+
}
1688+
1689+
// Scan for ntripServer_CasterPort
1690+
if (knownSetting == false)
1691+
{
1692+
for (int serverIndex = 0; serverIndex < NTRIP_SERVER_MAX; serverIndex++)
1693+
{
1694+
char tempString[50];
1695+
snprintf(tempString, sizeof(tempString), "ntripServer_CasterPort_%d", serverIndex);
1696+
if (strcmp(settingName, tempString) == 0)
1697+
{
1698+
settings.ntripServer_CasterPort[serverIndex] = settingValue;
1699+
knownSetting = true;
1700+
break;
1701+
}
1702+
}
1703+
}
1704+
1705+
// Scan for ntripServer_CasterUser
1706+
if (knownSetting == false)
1707+
{
1708+
for (int serverIndex = 0; serverIndex < NTRIP_SERVER_MAX; serverIndex++)
1709+
{
1710+
char tempString[50];
1711+
snprintf(tempString, sizeof(tempString), "ntripServer_CasterUser_%d", serverIndex);
1712+
if (strcmp(settingName, tempString) == 0)
1713+
{
1714+
strcpy(&settings.ntripServer_CasterUser[serverIndex][0], settingValueStr);
1715+
knownSetting = true;
1716+
break;
1717+
}
1718+
}
1719+
}
1720+
1721+
// Scan for ntripServer_CasterUserPW
1722+
if (knownSetting == false)
1723+
{
1724+
for (int serverIndex = 0; serverIndex < NTRIP_SERVER_MAX; serverIndex++)
1725+
{
1726+
char tempString[50];
1727+
snprintf(tempString, sizeof(tempString), "ntripServer_CasterUserPW_%d", serverIndex);
1728+
if (strcmp(settingName, tempString) == 0)
1729+
{
1730+
strcpy(&settings.ntripServer_CasterUserPW[serverIndex][0], settingValueStr);
1731+
knownSetting = true;
1732+
break;
1733+
}
1734+
}
1735+
}
1736+
1737+
// Scan for ntripServer_MountPoint
1738+
if (knownSetting == false)
1739+
{
1740+
for (int serverIndex = 0; serverIndex < NTRIP_SERVER_MAX; serverIndex++)
1741+
{
1742+
char tempString[50];
1743+
snprintf(tempString, sizeof(tempString), "ntripServer_MountPoint_%d", serverIndex);
1744+
if (strcmp(settingName, tempString) == 0)
1745+
{
1746+
strcpy(&settings.ntripServer_MountPoint[serverIndex][0], settingValueStr);
1747+
knownSetting = true;
1748+
break;
1749+
}
1750+
}
1751+
}
1752+
1753+
// Scan for ntripServer_MountPointPW
1754+
if (knownSetting == false)
1755+
{
1756+
for (int serverIndex = 0; serverIndex < NTRIP_SERVER_MAX; serverIndex++)
1757+
{
1758+
char tempString[50];
1759+
snprintf(tempString, sizeof(tempString), "ntripServer_MountPointPW_%d", serverIndex);
1760+
if (strcmp(settingName, tempString) == 0)
1761+
{
1762+
strcpy(&settings.ntripServer_MountPointPW[serverIndex][0], settingValueStr);
1763+
knownSetting = true;
1764+
break;
1765+
}
1766+
}
1767+
}
1768+
16741769
// Last catch
16751770
if (knownSetting == false)
16761771
{

Firmware/RTK_Surveyor/NVM.ino

Lines changed: 105 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -244,12 +244,15 @@ void recordSystemSettingsToFile(File *settingsFile)
244244
settingsFile->printf("%s=%s\r\n", "profileName", settings.profileName);
245245
settingsFile->printf("%s=%d\r\n", "enableNtripServer", settings.enableNtripServer);
246246
settingsFile->printf("%s=%d\r\n", "ntripServer_StartAtSurveyIn", settings.ntripServer_StartAtSurveyIn);
247-
settingsFile->printf("%s=%s\r\n", "ntripServer_CasterHost", settings.ntripServer_CasterHost);
248-
settingsFile->printf("%s=%d\r\n", "ntripServer_CasterPort", settings.ntripServer_CasterPort);
249-
settingsFile->printf("%s=%s\r\n", "ntripServer_CasterUser", settings.ntripServer_CasterUser);
250-
settingsFile->printf("%s=%s\r\n", "ntripServer_CasterUserPW", settings.ntripServer_CasterUserPW);
251-
settingsFile->printf("%s=%s\r\n", "ntripServer_MountPoint", settings.ntripServer_MountPoint);
252-
settingsFile->printf("%s=%s\r\n", "ntripServer_MountPointPW", settings.ntripServer_MountPointPW);
247+
for (int serverIndex = 0; serverIndex < NTRIP_SERVER_MAX; serverIndex++)
248+
{
249+
settingsFile->printf("%s_%d=%s\r\n", "ntripServer_CasterHost", serverIndex, &settings.ntripServer_CasterHost[serverIndex][0]);
250+
settingsFile->printf("%s_%d=%d\r\n", "ntripServer_CasterPort", serverIndex, settings.ntripServer_CasterPort[serverIndex]);
251+
settingsFile->printf("%s_%d=%s\r\n", "ntripServer_CasterUser", serverIndex, &settings.ntripServer_CasterUser[serverIndex][0]);
252+
settingsFile->printf("%s_%d=%s\r\n", "ntripServer_CasterUserPW", serverIndex, &settings.ntripServer_CasterUserPW[serverIndex][0]);
253+
settingsFile->printf("%s_%d=%s\r\n", "ntripServer_MountPoint", serverIndex, &settings.ntripServer_MountPoint[serverIndex][0]);
254+
settingsFile->printf("%s_%d=%s\r\n", "ntripServer_MountPointPW", serverIndex, &settings.ntripServer_MountPointPW[serverIndex][0]);
255+
}
253256
settingsFile->printf("%s=%d\r\n", "enableNtripClient", settings.enableNtripClient);
254257
settingsFile->printf("%s=%s\r\n", "ntripClient_CasterHost", settings.ntripClient_CasterHost);
255258
settingsFile->printf("%s=%d\r\n", "ntripClient_CasterPort", settings.ntripClient_CasterPort);
@@ -1020,18 +1023,6 @@ bool parseLine(char *str, Settings *settings)
10201023
settings->enableNtripServer = d;
10211024
else if (strcmp(settingName, "ntripServer_StartAtSurveyIn") == 0)
10221025
settings->ntripServer_StartAtSurveyIn = d;
1023-
else if (strcmp(settingName, "ntripServer_CasterHost") == 0)
1024-
strcpy(settings->ntripServer_CasterHost, settingString);
1025-
else if (strcmp(settingName, "ntripServer_CasterPort") == 0)
1026-
settings->ntripServer_CasterPort = d;
1027-
else if (strcmp(settingName, "ntripServer_CasterUser") == 0)
1028-
strcpy(settings->ntripServer_CasterUser, settingString);
1029-
else if (strcmp(settingName, "ntripServer_CasterUserPW") == 0)
1030-
strcpy(settings->ntripServer_CasterUserPW, settingString);
1031-
else if (strcmp(settingName, "ntripServer_MountPoint") == 0)
1032-
strcpy(settings->ntripServer_MountPoint, settingString);
1033-
else if (strcmp(settingName, "ntripServer_MountPointPW") == 0)
1034-
strcpy(settings->ntripServer_MountPointPW, settingString);
10351026
else if (strcmp(settingName, "enableNtripClient") == 0)
10361027
settings->enableNtripClient = d;
10371028
else if (strcmp(settingName, "ntripClient_CasterHost") == 0)
@@ -1508,6 +1499,102 @@ bool parseLine(char *str, Settings *settings)
15081499
}
15091500
}
15101501

1502+
// Scan for ntripServer_CasterHost
1503+
if (knownSetting == false)
1504+
{
1505+
for (int serverIndex = 0; serverIndex < NTRIP_SERVER_MAX; serverIndex++)
1506+
{
1507+
char tempString[50];
1508+
snprintf(tempString, sizeof(tempString), "ntripServer_CasterHost_%d", serverIndex);
1509+
if (strcmp(settingName, tempString) == 0)
1510+
{
1511+
strcpy(&settings->ntripServer_CasterHost[serverIndex][0], settingString);
1512+
knownSetting = true;
1513+
break;
1514+
}
1515+
}
1516+
}
1517+
1518+
// Scan for ntripServer_CasterPort
1519+
if (knownSetting == false)
1520+
{
1521+
for (int serverIndex = 0; serverIndex < NTRIP_SERVER_MAX; serverIndex++)
1522+
{
1523+
char tempString[50];
1524+
snprintf(tempString, sizeof(tempString), "ntripServer_CasterPort_%d", serverIndex);
1525+
if (strcmp(settingName, tempString) == 0)
1526+
{
1527+
settings->ntripServer_CasterPort[serverIndex] = d;
1528+
knownSetting = true;
1529+
break;
1530+
}
1531+
}
1532+
}
1533+
1534+
// Scan for ntripServer_CasterUser
1535+
if (knownSetting == false)
1536+
{
1537+
for (int serverIndex = 0; serverIndex < NTRIP_SERVER_MAX; serverIndex++)
1538+
{
1539+
char tempString[50];
1540+
snprintf(tempString, sizeof(tempString), "ntripServer_CasterUser_%d", serverIndex);
1541+
if (strcmp(settingName, tempString) == 0)
1542+
{
1543+
strcpy(&settings->ntripServer_CasterUser[serverIndex][0], settingString);
1544+
knownSetting = true;
1545+
break;
1546+
}
1547+
}
1548+
}
1549+
1550+
// Scan for ntripServer_CasterUserPW
1551+
if (knownSetting == false)
1552+
{
1553+
for (int serverIndex = 0; serverIndex < NTRIP_SERVER_MAX; serverIndex++)
1554+
{
1555+
char tempString[50];
1556+
snprintf(tempString, sizeof(tempString), "ntripServer_CasterUserPW_%d", serverIndex);
1557+
if (strcmp(settingName, tempString) == 0)
1558+
{
1559+
strcpy(&settings->ntripServer_CasterUserPW[serverIndex][0], settingString);
1560+
knownSetting = true;
1561+
break;
1562+
}
1563+
}
1564+
}
1565+
1566+
// Scan for ntripServer_MountPoint
1567+
if (knownSetting == false)
1568+
{
1569+
for (int serverIndex = 0; serverIndex < NTRIP_SERVER_MAX; serverIndex++)
1570+
{
1571+
char tempString[50];
1572+
snprintf(tempString, sizeof(tempString), "ntripServer_MountPoint_%d", serverIndex);
1573+
if (strcmp(settingName, tempString) == 0)
1574+
{
1575+
strcpy(&settings->ntripServer_MountPoint[serverIndex][0], settingString);
1576+
knownSetting = true;
1577+
break;
1578+
}
1579+
}
1580+
}
1581+
1582+
// Scan for ntripServer_MountPointPW
1583+
if (knownSetting == false)
1584+
{
1585+
for (int serverIndex = 0; serverIndex < NTRIP_SERVER_MAX; serverIndex++)
1586+
{
1587+
char tempString[50];
1588+
snprintf(tempString, sizeof(tempString), "ntripServer_MountPointPW_%d", serverIndex);
1589+
if (strcmp(settingName, tempString) == 0)
1590+
{
1591+
strcpy(&settings->ntripServer_MountPointPW[serverIndex][0], settingString);
1592+
knownSetting = true;
1593+
break;
1594+
}
1595+
}
1596+
}
1597+
15111598
// Last catch
15121599
if (knownSetting == false)
15131600
{

0 commit comments

Comments
 (0)