Skip to content
This repository was archived by the owner on Feb 4, 2022. It is now read-only.

Commit c6f3dbc

Browse files
committed
Adding modem.endSerialPort to the Iridium examples setup - to resolve #38 and hopefully #36 too
1 parent ac7347b commit c6f3dbc

File tree

17 files changed

+61
-21
lines changed

17 files changed

+61
-21
lines changed

Software/examples/Example10_BasicSend/Example10_BasicSend.ino

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
Example: Basic Send
44
55
Written by Paul Clark (PaulZC)
6-
August 25th 2021
6+
September 7th 2021
77
88
** Updated for v2.1.0 of the Apollo3 core / Artemis board package **
99
** (At the time of writing, v2.1.1 of the core conatins a feature which makes communication with the u-blox GNSS problematic. Be sure to use v2.1.0) **
@@ -17,7 +17,7 @@
1717
should arrive at the endpoints (delivery group) you have configured
1818
(email address or HTTP POST).
1919
20-
You will need to install this version of the Iridium SBD library
20+
You will need to install version 3.0.5 of the Iridium SBD I2C library
2121
before this example will run successfully:
2222
https://github.com/sparkfun/SparkFun_IridiumSBD_I2C_Arduino_Library
2323
(Available through the Arduino Library Manager: search for IridiumSBDi2c)
@@ -135,6 +135,10 @@ void setup()
135135
pinMode(iridiumNA, INPUT); // Configure the Iridium Network Available as an input
136136
pinMode(superCapPGOOD, INPUT); // Configure the super capacitor charger PGOOD input
137137

138+
// Make sure the Serial1 RX pin is disabled to prevent the power-on glitch on the modem's RX(OUT) pin
139+
// causing problems with v2.1.0 of the Apollo3 core. Requires v3.0.5 of IridiumSBDi2c.
140+
modem.endSerialPort();
141+
138142
// Start the console serial port
139143
Serial.begin(115200);
140144
while (!Serial) // Wait for the user to open the serial monitor

Software/examples/Example11_Ring/Example11_Ring.ino

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
Example: Ring
44
55
Written by Paul Clark (PaulZC)
6-
August 25th 2021
6+
September 7th 2021
77
88
** Updated for v2.1.0 of the Apollo3 core / Artemis board package **
99
** (At the time of writing, v2.1.1 of the core conatins a feature which makes communication with the u-blox GNSS problematic. Be sure to use v2.1.0) **
@@ -14,7 +14,7 @@
1414
This example demonstrates how to use the Iridium Ring Indicator line to detect
1515
when inbound messages are available and retrieve them.
1616
17-
You will need to install this version of the Iridium SBD library
17+
You will need to install version 3.0.5 of the Iridium SBD I2C library
1818
before this example will run successfully:
1919
https://github.com/sparkfun/SparkFun_IridiumSBD_I2C_Arduino_Library
2020
(Available through the Arduino Library Manager: search for IridiumSBDi2c)
@@ -132,6 +132,10 @@ void setup()
132132
pinMode(iridiumNA, INPUT); // Configure the Iridium Network Available as an input
133133
pinMode(superCapPGOOD, INPUT); // Configure the super capacitor charger PGOOD input
134134

135+
// Make sure the Serial1 RX pin is disabled to prevent the power-on glitch on the modem's RX(OUT) pin
136+
// causing problems with v2.1.0 of the Apollo3 core. Requires v3.0.5 of IridiumSBDi2c.
137+
modem.endSerialPort();
138+
135139
// Start the console serial port
136140
Serial.begin(115200);
137141
while (!Serial) // Wait for the user to open the serial monitor

Software/examples/Example14_SimpleTracker/Example14_SimpleTracker.ino

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
Example: Simple Tracker
44
55
Written by Paul Clark (PaulZC)
6-
August 25th 2021
6+
September 7th 2021
77
88
** Updated for v2.1.0 of the Apollo3 core / Artemis board package **
99
** (At the time of writing, v2.1.1 of the core conatins a feature which makes communication with the u-blox GNSS problematic. Be sure to use v2.1.0) **
@@ -21,7 +21,7 @@
2121
2222
DateTime,Latitude,Longitude,Altitude,Speed,Course,PDOP,Satellites,Pressure,Temperature,Battery,Count
2323
24-
You will need to install this version of the Iridium SBD library
24+
You will need to install version 3.0.5 of the Iridium SBD I2C library
2525
before this example will run successfully:
2626
https://github.com/sparkfun/SparkFun_IridiumSBD_I2C_Arduino_Library
2727
(Available through the Arduino Library Manager: search for IridiumSBDi2c)
@@ -291,6 +291,10 @@ void setup()
291291
pinMode(iridiumNA, INPUT); // Configure the Iridium Network Available as an input
292292
pinMode(superCapPGOOD, INPUT); // Configure the super capacitor charger PGOOD input
293293

294+
// Make sure the Serial1 RX pin is disabled to prevent the power-on glitch on the modem's RX(OUT) pin
295+
// causing problems with v2.1.0 of the Apollo3 core. Requires v3.0.5 of IridiumSBDi2c.
296+
modem.endSerialPort();
297+
294298
pinMode(busVoltageMonEN, OUTPUT); // Make the Bus Voltage Monitor Enable an output
295299
digitalWrite(busVoltageMonEN, LOW); // Set it low to disable the measurement to save power
296300
analogReadResolution(14); //Set resolution to 14 bit

Software/examples/Example15_BetterTracker/Example15_BetterTracker.ino

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
Example: A Better Tracker
44
55
Written by Paul Clark (PaulZC)
6-
August 25th 2021
6+
September 7th 2021
77
88
** Updated for v2.1.0 of the Apollo3 core / Artemis board package **
99
** (At the time of writing, v2.1.1 of the core conatins a feature which makes communication with the u-blox GNSS problematic. Be sure to use v2.1.0) **
@@ -44,7 +44,7 @@
4444
4545
If message forwarding is enabled, you will be charged _twice_ for each message. Once to send it and once to receive it.
4646
47-
You will need to install this version of the Iridium SBD library
47+
You will need to install version 3.0.5 of the Iridium SBD I2C library
4848
before this example will run successfully:
4949
https://github.com/sparkfun/SparkFun_IridiumSBD_I2C_Arduino_Library
5050
(Available through the Arduino Library Manager: search for IridiumSBDi2c)
@@ -329,6 +329,10 @@ void setup()
329329
pinMode(iridiumNA, INPUT); // Configure the Iridium Network Available as an input
330330
pinMode(superCapPGOOD, INPUT); // Configure the super capacitor charger PGOOD input
331331

332+
// Make sure the Serial1 RX pin is disabled to prevent the power-on glitch on the modem's RX(OUT) pin
333+
// causing problems with v2.1.0 of the Apollo3 core. Requires v3.0.5 of IridiumSBDi2c.
334+
modem.endSerialPort();
335+
332336
pinMode(busVoltageMonEN, OUTPUT); // Make the Bus Voltage Monitor Enable an output
333337
digitalWrite(busVoltageMonEN, LOW); // Set it low to disable the measurement to save power
334338
analogReadResolution(14); //Set resolution to 14 bit

Software/examples/Example16_GlobalTracker/Example16_GlobalTracker.ino

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
Artemis Global Tracker
33
44
Written by Paul Clark (PaulZC)
5-
August 25th 2021
5+
September 7th 2021
66
77
** Updated for v2.1.0 of the Apollo3 core / Artemis board package **
88
** (At the time of writing, v2.1.1 of the core conatins a feature which makes communication with the u-blox GNSS problematic. Be sure to use v2.1.0) **
@@ -36,7 +36,7 @@
3636
Likewise, if you want to enable geofence alarm messages, you will also need to increase WAKEINT.
3737
Set it to the same interval as ALARMINT.
3838
39-
You will need to install this version of the Iridium SBD library
39+
You will need to install version 3.0.5 of the Iridium SBD I2C library
4040
before this example will run successfully:
4141
https://github.com/sparkfun/SparkFun_IridiumSBD_I2C_Arduino_Library
4242
(Available through the Arduino Library Manager: search for IridiumSBDi2c)
@@ -296,6 +296,10 @@ void setup()
296296
pinMode(iridiumNA, INPUT); // Configure the Iridium Network Available as an input
297297
pinMode(superCapPGOOD, INPUT); // Configure the super capacitor charger PGOOD input
298298

299+
// Make sure the Serial1 RX pin is disabled to prevent the power-on glitch on the modem's RX(OUT) pin
300+
// causing problems with v2.1.0 of the Apollo3 core. Requires v3.0.5 of IridiumSBDi2c.
301+
modem.endSerialPort();
302+
299303
pinMode(busVoltageMonEN, OUTPUT); // Make the Bus Voltage Monitor Enable an output
300304
digitalWrite(busVoltageMonEN, LOW); // Set it low to disable the measurement to save power
301305
analogReadResolution(14); //Set resolution to 14 bit

Software/examples/Example19_SerialTerminal/Example19_SerialTerminal.ino

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
Example: Serial Terminal
44
55
Written by Paul Clark (PaulZC)
6-
August 25th 2021
6+
September 7th 2021
77
88
** Updated for v2.1.0 of the Apollo3 core / Artemis board package **
99
** (At the time of writing, v2.1.1 of the core conatins a feature which makes communication with the u-blox GNSS problematic. Be sure to use v2.1.0) **
@@ -15,7 +15,7 @@
1515
via simple serial menus. You can connect via a serial monitor or terminal emulator,
1616
or write your own applications to use the serial interface.
1717
18-
You will need to install this version of the Iridium SBD library
18+
You will need to install version 3.0.5 of the Iridium SBD I2C library
1919
before this example will run successfully:
2020
https://github.com/sparkfun/SparkFun_IridiumSBD_I2C_Arduino_Library
2121
(Available through the Arduino Library Manager: search for IridiumSBDi2c)
@@ -211,6 +211,10 @@ void setup()
211211
pinMode(iridiumNA, INPUT); // Configure the Iridium Network Available as an input
212212
pinMode(superCapPGOOD, INPUT); // Configure the super capacitor charger PGOOD input
213213

214+
// Make sure the Serial1 RX pin is disabled to prevent the power-on glitch on the modem's RX(OUT) pin
215+
// causing problems with v2.1.0 of the Apollo3 core. Requires v3.0.5 of IridiumSBDi2c.
216+
modem.endSerialPort();
217+
214218
gnssON(); // Enable power for the GNSS
215219
pinMode(geofencePin, INPUT); // Configure the geofence pin as an input
216220

Software/examples/Example21_IridiumSerialAndPowerTest/Example21_IridiumSerialAndPowerTest.ino

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
Example: Iridium Serial and Power Test
44
55
Written by Paul Clark (PaulZC)
6-
August 25th 2021
6+
September 7th 2021
77
88
** Updated for v2.1.0 of the Apollo3 core / Artemis board package **
99
** (At the time of writing, v2.1.1 of the core conatins a feature which makes communication with the u-blox GNSS problematic. Be sure to use v2.1.0) **
@@ -19,7 +19,7 @@
1919
to prevent the Artemis from hanging. We do this via customised (overwritten) versions of IridiumSBD::beginSerialPort and
2020
IridiumSBD::endSerialPort.
2121
22-
You will need to install this version of the Iridium SBD library
22+
You will need to install version 3.0.5 of the Iridium SBD I2C library
2323
before this example will run successfully:
2424
https://github.com/sparkfun/SparkFun_IridiumSBD_I2C_Arduino_Library
2525
(Available through the Arduino Library Manager: search for IridiumSBDi2c)
@@ -134,6 +134,10 @@ void setup()
134134
pinMode(iridiumNA, INPUT); // Configure the Iridium Network Available as an input
135135
pinMode(superCapPGOOD, INPUT); // Configure the super capacitor charger PGOOD input
136136

137+
// Make sure the Serial1 RX pin is disabled to prevent the power-on glitch on the modem's RX(OUT) pin
138+
// causing problems with v2.1.0 of the Apollo3 core. Requires v3.0.5 of IridiumSBDi2c.
139+
modem.endSerialPort();
140+
137141
// Start the console serial port
138142
Serial.begin(115200);
139143
while (!Serial) // Wait for the user to open the serial monitor
@@ -221,7 +225,7 @@ void loop()
221225
digitalWrite(iridiumPwrEN, LOW); // Disable Iridium Power
222226

223227
Serial.print(F("Waiting for 60 seconds"));
224-
for (int i = 0; i < 60; i++)
228+
for (int i = 0; i < 10; i++)
225229
{
226230
Serial.print(F("."));
227231
delay(1000);

Software/examples/Example7_GetIMEI/Example7_GetIMEI.ino

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
Example: GetIMEI
44
55
Written by Paul Clark (PaulZC)
6-
August 25th 2021
6+
September 7th 2021
77
88
** Updated for v2.1.0 of the Apollo3 core / Artemis board package **
99
** (At the time of writing, v2.1.1 of the core conatins a feature which makes communication with the u-blox GNSS problematic. Be sure to use v2.1.0) **
@@ -14,7 +14,7 @@
1414
This example powers up the Iridium 9603N and reads its IMEI.
1515
You do not need message credits or line rental to run this example.
1616
17-
You will need to install this version of the Iridium SBD library
17+
You will need to install version 3.0.5 of the Iridium SBD I2C library
1818
before this example will run successfully:
1919
https://github.com/sparkfun/SparkFun_IridiumSBD_I2C_Arduino_Library
2020
(Available through the Arduino Library Manager: search for IridiumSBDi2c)
@@ -132,6 +132,10 @@ void setup()
132132
pinMode(iridiumNA, INPUT); // Configure the Iridium Network Available as an input
133133
pinMode(superCapPGOOD, INPUT); // Configure the super capacitor charger PGOOD input
134134

135+
// Make sure the Serial1 RX pin is disabled to prevent the power-on glitch on the modem's RX(OUT) pin
136+
// causing problems with v2.1.0 of the Apollo3 core. Requires v3.0.5 of IridiumSBDi2c.
137+
modem.endSerialPort();
138+
135139
// Start the console serial port
136140
Serial.begin(115200);
137141
while (!Serial) // Wait for the user to open the serial monitor

Software/examples/Example8_CheckCSQ/Example8_CheckCSQ.ino

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
Example: CheckCSQ
44
55
Written by Paul Clark (PaulZC)
6-
August 25th 2021
6+
September 7th 2021
77
88
** Updated for v2.1.0 of the Apollo3 core / Artemis board package **
99
** (At the time of writing, v2.1.1 of the core conatins a feature which makes communication with the u-blox GNSS problematic. Be sure to use v2.1.0) **
@@ -14,7 +14,7 @@
1414
This example powers up the Iridium 9603N and reads the signal quality.
1515
You do not need message credits or line rental to run this example.
1616
17-
You will need to install this version of the Iridium SBD library
17+
You will need to install version 3.0.5 of the Iridium SBD I2C library
1818
before this example will run successfully:
1919
https://github.com/sparkfun/SparkFun_IridiumSBD_I2C_Arduino_Library
2020
(Available through the Arduino Library Manager: search for IridiumSBDi2c)
@@ -132,6 +132,10 @@ void setup()
132132
pinMode(iridiumNA, INPUT); // Configure the Iridium Network Available as an input
133133
pinMode(superCapPGOOD, INPUT); // Configure the super capacitor charger PGOOD input
134134

135+
// Make sure the Serial1 RX pin is disabled to prevent the power-on glitch on the modem's RX(OUT) pin
136+
// causing problems with v2.1.0 of the Apollo3 core. Requires v3.0.5 of IridiumSBDi2c.
137+
modem.endSerialPort();
138+
135139
// Start the console serial port
136140
Serial.begin(115200);
137141
while (!Serial) // Wait for the user to open the serial monitor

Software/examples/Example9_GetTime/Example9_GetTime.ino

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
Example: Get Time
44
55
Written by Paul Clark (PaulZC)
6-
August 25th 2021
6+
September 7th 2021
77
88
** Updated for v2.1.0 of the Apollo3 core / Artemis board package **
99
** (At the time of writing, v2.1.1 of the core conatins a feature which makes communication with the u-blox GNSS problematic. Be sure to use v2.1.0) **
@@ -17,7 +17,7 @@
1717
fail if the Iridium network has not yet been acquired.
1818
You do not need message credits or line rental to run this example.
1919
20-
You will need to install this version of the Iridium SBD library
20+
You will need to install version 3.0.5 of the Iridium SBD I2C library
2121
before this example will run successfully:
2222
https://github.com/sparkfun/SparkFun_IridiumSBD_I2C_Arduino_Library
2323
(Available through the Arduino Library Manager: search for IridiumSBDi2c)
@@ -139,6 +139,10 @@ void setup()
139139
pinMode(iridiumNA, INPUT); // Configure the Iridium Network Available as an input
140140
pinMode(superCapPGOOD, INPUT); // Configure the super capacitor charger PGOOD input
141141

142+
// Make sure the Serial1 RX pin is disabled to prevent the power-on glitch on the modem's RX(OUT) pin
143+
// causing problems with v2.1.0 of the Apollo3 core. Requires v3.0.5 of IridiumSBDi2c.
144+
modem.endSerialPort();
145+
142146
// Start the console serial port
143147
Serial.begin(115200);
144148
while (!Serial) // Wait for the user to open the serial monitor
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

0 commit comments

Comments
 (0)