Skip to content

Commit 4c1dae1

Browse files
Rocketctfacchinm
authored andcommitted
Thales: Added some minor changes
- modified network registration for GNSS and GSM example - fixed indennation of src .h .cpp removed unused structure
1 parent 6d39939 commit 4c1dae1

File tree

8 files changed

+474
-480
lines changed

8 files changed

+474
-480
lines changed

libraries/GPS/library.properties

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1-
name=GSM
1+
name=GPS
22
version=1.0
33
author=Arduino
44
maintainer=Arduino <info@arduino.cc>
5-
sentence=GSM wrapper
5+
sentence=GPS Support Library
66
paragraph=
77
category=Other
88
url=http://www.arduino.cc/en/Reference/GSM

libraries/GPS/src/GPS.cpp

+26-16
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ void arduino::GPSClass::begin(unsigned long baudrate, uint16_t config)
3737

3838
_serial->write("AT^SSIO=7,1\r\n", sizeof("AT^SSIO=7,1\r\n"));
3939
readAndDrop();
40+
4041
_serial->write("AT^SGIO=7\r\n", sizeof("AT^SGIO=7\r\n"));
4142
} while (!checkGNSSEngine("^SGIO: 1"));
4243

@@ -108,7 +109,7 @@ void arduino::GPSClass::readAndDrop()
108109
}
109110

110111
void arduino::GPSClass::begin(unsigned long baudrate)
111-
{ // alligne with other begin
112+
{
112113
auto cmux = arduino::CMUXClass::get_default_instance();
113114

114115
auto serial = cmux->get_serial(1);
@@ -118,27 +119,37 @@ void arduino::GPSClass::begin(unsigned long baudrate)
118119
_serial->write("ATE0\r\n", sizeof("ATE0\r\n"));
119120
readAndDrop();
120121

121-
_serial->write("AT^SGPSC=Engine/StartMode,0\r\n", sizeof("AT^SGPSC=Engine/StartMode,0\r\n"));
122+
// burn any incoming message on gps rx buffer
122123
readAndDrop();
123124

124-
_serial->write("AT^SPIO=1\r\n", sizeof("AT^SPIO=1\r\n"));
125-
readAndDrop();
125+
do
126+
{
127+
_serial->write("AT^SPIO=0\r\n", sizeof("AT^SPIO=0\r\n"));
128+
readAndDrop();
126129

127-
_serial->write("AT^SCPIN=1,7,1,0\r\n", sizeof("AT^SCPIN=1,7,1,0\r\n"));
128-
readAndDrop();
130+
_serial->write("AT^SPIO=1\r\n", sizeof("AT^SPIO=1\r\n"));
131+
readAndDrop();
129132

130-
_serial->write("AT^SSIO=7,1\r\n", sizeof("AT^SSIO=7,1\r\n"));
131-
readAndDrop();
133+
_serial->write("AT^SCPIN=1,7,1,0\r\n", sizeof("AT^SCPIN=1,7,1,0\r\n"));
134+
readAndDrop();
135+
136+
_serial->write("AT^SSIO=7,1\r\n", sizeof("AT^SSIO=7,1\r\n"));
137+
readAndDrop();
138+
139+
_serial->write("AT^SGIO=7\r\n", sizeof("AT^SGIO=7\r\n"));
140+
} while (!checkGNSSEngine("^SGIO: 1"));
132141

133-
_serial->write("AT^SGPSC=Engine,3\r\n", sizeof("AT^SGPSC=Engine,3\r\n")); //
134-
checkGNSSEngine("^SGPSC: \"Engine\",\"3\"");
135-
_engine = true;
142+
_serial->write("AT^SGPSC=Engine/StartMode,0\r\n", sizeof("AT^SGPSC=Engine/StartMode,0\r\n"));
143+
checkGNSSEngine("^SGPSC: \"Engine/StartMode\",\"0\"");
136144

137-
if (_engine)
145+
while (!_engine)
138146
{
139-
_serial->write("AT^SGPSC=Nmea/Urc,on\r\n", sizeof("AT^SGPSC=Nmea/Urc,on\r\n"));
140-
readAndDrop();
147+
_serial->write("AT^SGPSC=Engine,3\r\n", sizeof("AT^SGPSC=Engine,3\r\n"));
148+
_engine = checkGNSSEngine("^SGPSC: \"Engine\",\"3\"");
141149
}
150+
151+
_serial->write("AT^SGPSC=Nmea/Urc,on\r\n", sizeof("AT^SGPSC=Nmea/Urc,on\r\n"));
152+
readAndDrop();
142153
}
143154

144155
int arduino::GPSClass::peek(void)
@@ -177,7 +188,6 @@ size_t arduino::GPSClass::write(uint8_t c)
177188

178189
void arduino::GPSClass::end()
179190
{
180-
181191
_serial->write("AT^SGPSC=Nmea/Urc,off\r\n", sizeof("AT^SGPSC=Nmea/Urc,off\r\n"));
182192
readAndDrop();
183193

@@ -188,7 +198,7 @@ void arduino::GPSClass::end()
188198
}
189199

190200
_serial->write("^SSIO=7,0\r\n", sizeof("^SSIO=7,0\r\n"));
191-
readAndDrop(); // sgio in modo da verificare l effettivo spegnimento
201+
readAndDrop();
192202
}
193203

194204
arduino::GPSClass::operator bool()

libraries/GPS/src/GPS.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
GSM.h - Library for GSM on mbed platforms.
2+
GPS.h - Library for GSM on mbed platforms.
33
Copyright (c) 2011-2021 Arduino LLC. All right reserved.
44
This library is free software; you can redistribute it and/or
55
modify it under the terms of the GNU Lesser General Public

libraries/GSM/examples/GNSSClient/GNSSClient.ino

+10-6
Original file line numberDiff line numberDiff line change
@@ -12,21 +12,25 @@ char pass[] = SECRET_PASSWORD;
1212
void setup() {
1313
Serial.begin(115200);
1414
while (!Serial) {}
15-
//GSM.debug(Serial);
16-
Serial.println("\nStarting connection to server...");
17-
GSM.begin(pin, apn, username, pass, CATNB);
15+
16+
Serial.println("Starting Carrier Network registration");
17+
if(!GSM.begin(pin, apn, username, pass, CATNB)){
18+
Serial.println("The board was not able to register to the network...");
19+
// do nothing forevermore:
20+
while(1);
21+
}
1822
Serial.println("\nEnable GNSS Engine...");
1923
// GPS.begin() start and eanble the GNSS engine
2024
GPS.begin();
2125
Serial.println("\nGNSS Engine enabled...");
2226
}
2327

2428
void loop() {
25-
//GPS.begin();
2629
if(GPS.available()){
2730
Serial.print((char) GPS.read());
2831
delay(1);
2932
}
30-
// GPS.end() stop and disable the GNSS engine
33+
// After geting valid packet GPS.end() can be used to stop and
34+
// disable the GNSS engine
3135
// GPS.end();
32-
}
36+
}

libraries/GSM/examples/GSMClient/GSMClient.ino

+6-3
Original file line numberDiff line numberDiff line change
@@ -17,9 +17,12 @@ GSMClient client;
1717
void setup() {
1818
Serial.begin(115200);
1919
while(!Serial) {}
20-
21-
GSM.begin(pin, apn, username, pass, CATNB);
22-
20+
Serial.println("Starting Carrier Network registration");
21+
if(!GSM.begin(pin, apn, username, pass, CATNB)){
22+
Serial.println("The board was not able to register to the network...");
23+
// do nothing forevermore:
24+
while(1);
25+
}
2326
Serial.println("\nStarting connection to server...");
2427
// if you get a connection, report back via serial:
2528
if (client.connect(server, port)) {

0 commit comments

Comments
 (0)