@@ -141,8 +141,65 @@ bool um980ConfigureOnce()
141
141
142
142
response &= um980SetConstellations ();
143
143
144
- // response &= um980->sendCommand("CONFIG SIGNALGROUP 2"); //Enable L1C
145
- // SIGNALGROUP causes the UM980 to automatically save and reset
144
+ if (um980->isConfigurationPresent (" CONFIG SIGNALGROUP 2" ) == false )
145
+ {
146
+ if (um980->sendCommand (" CONFIG SIGNALGROUP 2" ) == false )
147
+ systemPrintln (" Signal group 2 command failed" );
148
+ else
149
+ {
150
+ systemPrintln (" Enabling additional reception on UM980. This can take a few seconds." );
151
+
152
+ while (1 )
153
+ {
154
+ delay (1000 ); // Wait for device to reboot
155
+ if (um980->isConnected () == true )
156
+ break ;
157
+ else
158
+ systemPrintln (" UM980 rebooting" );
159
+ }
160
+
161
+ systemPrintln (" UM980 has completed reboot." );
162
+ }
163
+ }
164
+
165
+ // Enable E6 and PPP if enabled and possible
166
+ if (settings.enableGalileoHas == true )
167
+ {
168
+ // E6 reception requires version 11833 or greater
169
+ int um980Version = String (um980->getVersion ()).toInt (); // Convert the string response to a value
170
+ if (um980Version >= 11833 )
171
+ {
172
+ if (um980->isConfigurationPresent (" CONFIG PPP ENABLE E6-HAS" ) == false )
173
+ {
174
+ if (um980->sendCommand (" CONFIG PPP ENABLE E6-HAS" ) == true )
175
+ systemPrintln (" E6 service enabled" );
176
+ else
177
+ systemPrintln (" E6 service config error" );
178
+
179
+ if (um980->sendCommand (" CONFIG PPP DATUM WGS84" ) == true )
180
+ systemPrintln (" WGS84 Datum applied" );
181
+ else
182
+ systemPrintln (" WGS84 Datum error" );
183
+ }
184
+ }
185
+ else
186
+ {
187
+ systemPrintf (" Current UM980 firmware: v%d. Galileo E6 reception requires 11833 or newer. Please update the "
188
+ " firmware on your UM980 to allow for HAS operation.\r\n " ,
189
+ um980Version);
190
+ }
191
+ }
192
+ else
193
+ {
194
+ // Turn off HAS/E6
195
+ if (um980->isConfigurationPresent (" CONFIG PPP ENABLE E6-HAS" ) == true )
196
+ {
197
+ if (um980->sendCommand (" CONFIG PPP DISABLE" ) == true )
198
+ systemPrintln (" E6 service disabled" );
199
+ else
200
+ systemPrintln (" E6 service config error" );
201
+ }
202
+ }
146
203
147
204
if (response == true )
148
205
{
@@ -1059,6 +1116,12 @@ void um980MenuConstellations()
1059
1116
systemPrintln ();
1060
1117
}
1061
1118
1119
+ if (present.galileoHasCapable )
1120
+ {
1121
+ systemPrintf (" %d) Galileo E6 Corrections: %s\r\n " , MAX_UM980_CONSTELLATIONS + 1 ,
1122
+ settings.enableGalileoHas ? " Enabled" : " Disabled" );
1123
+ }
1124
+
1062
1125
systemPrintln (" x) Exit" );
1063
1126
1064
1127
int incoming = getUserInputNumber (); // Returns EXIT, TIMEOUT, or long
@@ -1069,6 +1132,10 @@ void um980MenuConstellations()
1069
1132
1070
1133
settings.um980Constellations [incoming] ^= 1 ;
1071
1134
}
1135
+ else if (incoming == MAX_CONSTELLATIONS && present.galileoHasCapable )
1136
+ {
1137
+ settings.enableGalileoHas ^= 1 ;
1138
+ }
1072
1139
else if (incoming == INPUT_RESPONSE_GETNUMBER_EXIT)
1073
1140
break ;
1074
1141
else if (incoming == INPUT_RESPONSE_GETNUMBER_TIMEOUT)
0 commit comments