Skip to content

Commit 9513961

Browse files
committed
Starting to update for SARA-R5
1 parent d2a8d0a commit 9513961

File tree

2 files changed

+47
-17
lines changed

2 files changed

+47
-17
lines changed

src/SparkFun_u-blox_SARA-R5_Arduino_Library.cpp

Lines changed: 26 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -28,22 +28,34 @@
2828
// ### General
2929
const char SARA_R5_COMMAND_AT[] = "AT"; // AT "Test"
3030
const char SARA_R5_COMMAND_ECHO[] = "E"; // Local Echo
31+
const char SARA_R5_COMMAND_MANU_ID[] = "+CGMI"; // Manufacturer identification
32+
const char SARA_R5_COMMAND_MODEL_ID[] = "+CGMM"; // Model identification
33+
const char SARA_R5_COMMAND_FW_VER_ID[] = "+CGMR"; // Firmware version identification
3134
const char SARA_R5_COMMAND_IMEI[] = "+CGSN"; // IMEI identification
3235
const char SARA_R5_COMMAND_IMSI[] = "+CIMI"; // IMSI identification
3336
const char SARA_R5_COMMAND_CCID[] = "+CCID"; // SIM CCID
37+
const char SARA_R5_COMMAND_REQ_CAP[] = "+GCAP"; // Request capabilities list
3438
// ### Control and status
39+
const char SARA_R5_COMMAND_POWER_OFF[] = "+CPWROFF"; // Module switch off
3540
const char SARA_R5_COMMAND_FUNC[] = "+CFUN"; // Functionality (reset, etc.)
36-
const char SARA_R5_COMMAND_CLOCK[] = "+CCLK"; // Clock
41+
const char SARA_R5_COMMAND_CLOCK[] = "+CCLK"; // Real-time clock
3742
const char SARA_R5_COMMAND_AUTO_TZ[] = "+CTZU"; // Automatic time zone update
43+
const char SARA_R5_COMMAND_TZ_REPORT[] = "+CTZR"; // Time zone reporting
3844
// ### Network service
39-
const char SARA_R5_COMMAND_MNO[] = "+UMNOPROF"; // MNO (mobile network operator) Profile
45+
const char SARA_R5_COMMAND_CNUM[] = "+CNUM"; // Subscriber number
4046
const char SARA_R5_SIGNAL_QUALITY[] = "+CSQ";
41-
const char SARA_R5_REGISTRATION_STATUS[] = "+CREG";
42-
const char SARA_R5_MESSAGE_PDP_DEF[] = "+CGDCONT";
43-
const char SARA_R5_MESSAGE_ENTER_PPP[] = "D";
4447
const char SARA_R5_OPERATOR_SELECTION[] = "+COPS";
48+
const char SARA_R5_REGISTRATION_STATUS[] = "+CREG";
49+
const char SARA_R5_READ_OPERATOR_NAMES[] = "+COPN";
50+
const char SARA_R5_COMMAND_MNO[] = "+UMNOPROF"; // MNO (mobile network operator) Profile
51+
// ### SMS
52+
const char SARA_R5_MESSAGE_FORMAT[] = "+CMGF"; // Set SMS message format
53+
const char SARA_R5_SEND_TEXT[] = "+CMGS"; // Send SMS message
4554
// V24 control and V25ter (UART interface)
4655
const char SARA_R5_COMMAND_BAUD[] = "+IPR"; // Baud rate
56+
// ### Packet switched data services
57+
const char SARA_R5_MESSAGE_PDP_DEF[] = "+CGDCONT";
58+
const char SARA_R5_MESSAGE_ENTER_PPP[] = "D";
4759
// ### GPIO
4860
const char SARA_R5_COMMAND_GPIO[] = "+UGPIOC"; // GPIO Configuration
4961
// ### IP
@@ -53,13 +65,10 @@ const char SARA_R5_CONNECT_SOCKET[] = "+USOCO"; // Connect to server on socket
5365
const char SARA_R5_WRITE_SOCKET[] = "+USOWR"; // Write data to a socket
5466
const char SARA_R5_READ_SOCKET[] = "+USORD"; // Read from a socket
5567
const char SARA_R5_LISTEN_SOCKET[] = "+USOLI"; // Listen for connection on socket
56-
// ### SMS
57-
const char SARA_R5_MESSAGE_FORMAT[] = "+CMGF"; // Set SMS message format
58-
const char SARA_R5_SEND_TEXT[] = "+CMGS"; // Send SMS message
5968
// ### GPS
6069
const char SARA_R5_GPS_POWER[] = "+UGPS";
61-
const char SARA_R5_GPS_REQUEST_LOCATION[] = "+ULOC";
6270
const char SARA_R5_GPS_GPRMC[] = "+UGRMC";
71+
const char SARA_R5_GPS_REQUEST_LOCATION[] = "+ULOC";
6372

6473
const char SARA_R5_RESPONSE_OK[] = "OK\r\n";
6574

@@ -1577,7 +1586,8 @@ SARA_R5_error_t SARA_R5::init(unsigned long baud,
15771586

15781587
_baud = baud;
15791588
setGpioMode(GPIO1, NETWORK_STATUS);
1580-
setGpioMode(GPIO2, GNSS_SUPPLY_ENABLE);
1589+
//setGpioMode(GPIO2, GNSS_SUPPLY_ENABLE);
1590+
setGpioMode(GPIO6, TIME_PULSE_OUTPUT);
15811591
setSMSMessageFormat(SARA_R5_MESSAGE_FORMAT_TEXT);
15821592
autoTimeZone(true);
15831593
for (int i = 0; i < SARA_R5_NUM_SOCKETS; i++)
@@ -1590,18 +1600,24 @@ SARA_R5_error_t SARA_R5::init(unsigned long baud,
15901600

15911601
void SARA_R5::powerOn(void)
15921602
{
1603+
if (_powerPin >= 0)
1604+
{
15931605
pinMode(_powerPin, OUTPUT);
15941606
digitalWrite(_powerPin, LOW);
15951607
delay(SARA_R5_POWER_PULSE_PERIOD);
15961608
pinMode(_powerPin, INPUT); // Return to high-impedance, rely on SARA module internal pull-up
1609+
}
15971610
}
15981611

15991612
void SARA_R5::hwReset(void)
16001613
{
1614+
if (_resetPin >= 0)
1615+
{
16011616
pinMode(_resetPin, OUTPUT);
16021617
digitalWrite(_resetPin, LOW);
16031618
delay(SARA_R5_RESET_PULSE_PERIOD);
16041619
pinMode(_resetPin, INPUT); // Return to high-impedance, rely on SARA module internal pull-up
1620+
}
16051621
}
16061622

16071623
SARA_R5_error_t SARA_R5::functionality(SARA_R5_functionality_t function)

src/SparkFun_u-blox_SARA-R5_Arduino_Library.h

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,8 @@
4545

4646
#include <IPAddress.h>
4747

48-
#define SARA_R5_POWER_PIN 5
49-
#define SARA_R5_RESET_PIN 6
48+
#define SARA_R5_POWER_PIN -1
49+
#define SARA_R5_RESET_PIN -1
5050

5151
typedef enum
5252
{
@@ -84,8 +84,9 @@ typedef enum
8484
SARA_R5_REGISTRATION_ROAMING = 5,
8585
SARA_R5_REGISTRATION_HOME_SMS_ONLY = 6,
8686
SARA_R5_REGISTRATION_ROAMING_SMS_ONLY = 7,
87-
SARA_R5_REGISTRATION_HOME_CSFB_NOT_PREFERRED = 8,
88-
SARA_R5_REGISTRATION_ROAMING_CSFB_NOT_PREFERRED = 9
87+
SARA_R5_REGISTRATION_EMERGENCY_SERV_ONLY = 8,
88+
SARA_R5_REGISTRATION_HOME_CSFB_NOT_PREFERRED = 9,
89+
SARA_R5_REGISTRATION_ROAMING_CSFB_NOT_PREFERRED = 10
8990
} SARA_R5_registration_status_t;
9091

9192
struct DateData
@@ -251,18 +252,31 @@ class SARA_R5 : public Print
251252
GNSS_SUPPLY_ENABLE,
252253
GNSS_DATA_READY,
253254
GNSS_RTC_SHARING,
255+
JAMMING_DETECTION,
254256
SIM_CARD_DETECTION,
255257
HEADSET_DETECTION,
256258
GSM_TX_BURST_INDICATION,
257-
MODULE_OPERATING_STATUS_INDICATION,
258-
MODULE_FUNCTIONALITY_STATUS_INDICATION,
259+
MODULE_STATUS_INDICATION,
260+
MODULE_OPERATING_MODE_INDICATION,
259261
I2S_DIGITAL_AUDIO_INTERFACE,
260262
SPI_SERIAL_INTERFACE,
261263
MASTER_CLOCK_GENRATION,
262264
UART_INTERFACE,
263265
WIFI_ENABLE,
264-
RING_INDICATION,
266+
RING_INDICATION = 18,
265267
LAST_GASP_ENABLE,
268+
EXTERNAL_GNSS_ANTENNA,
269+
TIME_PULSE_GNSS,
270+
TIME_PULSE_OUTPUT,
271+
TIMESTAMP,
272+
FAST_POWER_OFF,
273+
LWM2M_PULSE,
274+
HARDWARE_FLOW_CONTROL,
275+
ANTENNA_TUNING,
276+
EXT_GNSS_TIME_PULSE,
277+
EXT_GNSS_TIMESTAMP,
278+
DTR_MODE,
279+
KHZ_32768_OUT = 32,
266280
PAD_DISABLED = 255
267281
} SARA_R5_gpio_mode_t;
268282
SARA_R5_error_t setGpioMode(SARA_R5_gpio_t gpio, SARA_R5_gpio_mode_t mode);

0 commit comments

Comments
 (0)