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

0 commit comments

Comments
 (0)