Skip to content

Commit 7866459

Browse files
authored
Merge pull request #10 from sparkfun/move_sara_r5_features
Move SARA_R5 features
2 parents d26ede0 + 8161600 commit 7866459

File tree

5 files changed

+482
-478
lines changed

5 files changed

+482
-478
lines changed

src/SparkFun_u-blox_SARA-R5_Arduino_Library.h

Lines changed: 99 additions & 98 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
#define SPARKFUN_SARA_R5_ARDUINO_LIBRARY_H
2222

2323
#include "sfe_sara_r5.h"
24+
#include "sfe_ublox_cellular.h"
2425

2526
#define SARA_R5_POWER_PIN -1 // Default to no pin
2627
#define SARA_R5_RESET_PIN -1
@@ -42,125 +43,125 @@
4243

4344
// ## Suported AT Commands
4445
// ### General
45-
const char SARA_R5_COMMAND_AT[] = "AT"; // AT "Test"
46-
const char SARA_R5_COMMAND_ECHO[] = "E"; // Local Echo
47-
const char SARA_R5_COMMAND_MANU_ID[] = "+CGMI"; // Manufacturer identification
48-
const char SARA_R5_COMMAND_MODEL_ID[] = "+CGMM"; // Model identification
49-
const char SARA_R5_COMMAND_FW_VER_ID[] = "+CGMR"; // Firmware version identification
50-
const char SARA_R5_COMMAND_SERIAL_NO[] = "+CGSN"; // Product serial number
51-
const char SARA_R5_COMMAND_IMEI[] = "+GSN"; // IMEI identification
52-
const char SARA_R5_COMMAND_IMSI[] = "+CIMI"; // IMSI identification
53-
const char SARA_R5_COMMAND_CCID[] = "+CCID"; // SIM CCID
54-
const char SARA_R5_COMMAND_REQ_CAP[] = "+GCAP"; // Request capabilities list
46+
#define SARA_R5_COMMAND_AT UBX_CELL_COMMAND_AT
47+
#define SARA_R5_COMMAND_ECHO UBX_CELL_COMMAND_ECHO
48+
#define SARA_R5_COMMAND_MANU_ID UBX_CELL_COMMAND_MANU_ID
49+
#define SARA_R5_COMMAND_MODEL_ID UBX_CELL_COMMAND_MODEL_ID
50+
#define SARA_R5_COMMAND_FW_VER_ID UBX_CELL_COMMAND_FW_VER_ID
51+
#define SARA_R5_COMMAND_SERIAL_NO UBX_CELL_COMMAND_SERIAL_NO
52+
#define SARA_R5_COMMAND_IMEI UBX_CELL_COMMAND_IMEI
53+
#define SARA_R5_COMMAND_IMSI UBX_CELL_COMMAND_IMSI
54+
#define SARA_R5_COMMAND_CCID UBX_CELL_COMMAND_CCID
55+
#define SARA_R5_COMMAND_REQ_CAP UBX_CELL_COMMAND_REQ_CAP
5556
// ### Control and status
56-
const char SARA_R5_COMMAND_POWER_OFF[] = "+CPWROFF"; // Module switch off
57-
const char SARA_R5_COMMAND_FUNC[] = "+CFUN"; // Functionality (reset, etc.)
58-
const char SARA_R5_COMMAND_CLOCK[] = "+CCLK"; // Real-time clock
59-
const char SARA_R5_COMMAND_AUTO_TZ[] = "+CTZU"; // Automatic time zone update
60-
const char SARA_R5_COMMAND_TZ_REPORT[] = "+CTZR"; // Time zone reporting
57+
#define SARA_R5_COMMAND_POWER_OFF UBX_CELL_COMMAND_POWER_OFF
58+
#define SARA_R5_COMMAND_FUNC UBX_CELL_COMMAND_FUNC
59+
#define SARA_R5_COMMAND_CLOCK UBX_CELL_COMMAND_CLOCK
60+
#define SARA_R5_COMMAND_AUTO_TZ UBX_CELL_COMMAND_AUTO_TZ
61+
#define SARA_R5_COMMAND_TZ_REPORT UBX_CELL_COMMAND_TZ_REPORT
6162
// ### Network service
62-
const char SARA_R5_COMMAND_CNUM[] = "+CNUM"; // Subscriber number
63-
const char SARA_R5_SIGNAL_QUALITY[] = "+CSQ";
64-
const char SARA_R5_EXT_SIGNAL_QUALITY[] = "+CESQ";
65-
const char SARA_R5_OPERATOR_SELECTION[] = "+COPS";
66-
const char SARA_R5_REGISTRATION_STATUS[] = "+CREG";
67-
const char SARA_R5_EPSREGISTRATION_STATUS[] = "+CEREG";
68-
const char SARA_R5_READ_OPERATOR_NAMES[] = "+COPN";
69-
const char SARA_R5_COMMAND_MNO[] = "+UMNOPROF"; // MNO (mobile network operator) Profile
63+
#define SARA_R5_COMMAND_CNUM UBX_CELL_COMMAND_CNUM
64+
#define SARA_R5_SIGNAL_QUALITY UBX_CELL_SIGNAL_QUALITY
65+
#define SARA_R5_EXT_SIGNAL_QUALITY UBX_CELL_EXT_SIGNAL_QUALITY
66+
#define SARA_R5_OPERATOR_SELECTION UBX_CELL_OPERATOR_SELECTION
67+
#define SARA_R5_REGISTRATION_STATUS UBX_CELL_REGISTRATION_STATUS
68+
#define SARA_R5_EPSREGISTRATION_STATUS UBX_CELL_EPSREGISTRATION_STATUS
69+
#define SARA_R5_READ_OPERATOR_NAMES UBX_CELL_READ_OPERATOR_NAMES
70+
#define SARA_R5_COMMAND_MNO UBX_CELL_COMMAND_MNO
7071
// ### SIM
71-
const char SARA_R5_SIM_STATE[] = "+USIMSTAT";
72-
const char SARA_R5_COMMAND_SIMPIN[] = "+CPIN"; // SIM PIN
72+
#define SARA_R5_SIM_STATE UBX_CELL_SIM_STATE
73+
#define SARA_R5_COMMAND_SIMPIN UBX_CELL_COMMAND_SIMPIN
7374
// ### SMS
74-
const char SARA_R5_MESSAGE_FORMAT[] = "+CMGF"; // Set SMS message format
75-
const char SARA_R5_SEND_TEXT[] = "+CMGS"; // Send SMS message
76-
const char SARA_R5_NEW_MESSAGE_IND[] = "+CNMI"; // New [SMS] message indication
77-
const char SARA_R5_PREF_MESSAGE_STORE[] = "+CPMS"; // Preferred message storage
78-
const char SARA_R5_READ_TEXT_MESSAGE[] = "+CMGR"; // Read message
79-
const char SARA_R5_DELETE_MESSAGE[] = "+CMGD"; // Delete message
75+
#define SARA_R5_MESSAGE_FORMAT UBX_CELL_MESSAGE_FORMAT
76+
#define SARA_R5_SEND_TEXT UBX_CELL_SEND_TEXT
77+
#define SARA_R5_NEW_MESSAGE_IND UBX_CELL_NEW_MESSAGE_IND
78+
#define SARA_R5_PREF_MESSAGE_STORE UBX_CELL_PREF_MESSAGE_STORE
79+
#define SARA_R5_READ_TEXT_MESSAGE UBX_CELL_READ_TEXT_MESSAGE
80+
#define SARA_R5_DELETE_MESSAGE UBX_CELL_DELETE_MESSAGE
8081
// V24 control and V25ter (UART interface)
81-
const char SARA_R5_FLOW_CONTROL[] = "&K"; // Flow control
82-
const char SARA_R5_COMMAND_BAUD[] = "+IPR"; // Baud rate
82+
#define SARA_R5_FLOW_CONTROL UBX_CELL_FLOW_CONTROL
83+
#define SARA_R5_COMMAND_BAUD UBX_CELL_COMMAND_BAUD
8384
// ### Packet switched data services
84-
const char SARA_R5_MESSAGE_PDP_DEF[] = "+CGDCONT"; // Packet switched Data Profile context definition
85-
const char SARA_R5_MESSAGE_PDP_CONFIG[] = "+UPSD"; // Packet switched Data Profile configuration
86-
const char SARA_R5_MESSAGE_PDP_ACTION[] = "+UPSDA"; // Perform the action for the specified PSD profile
87-
const char SARA_R5_MESSAGE_PDP_CONTEXT_ACTIVATE[] = "+CGACT"; // Activates or deactivates the specified PDP context
88-
const char SARA_R5_MESSAGE_ENTER_PPP[] = "D";
89-
const char SARA_R5_NETWORK_ASSIGNED_DATA[] = "+UPSND"; // Packet switched network-assigned data
85+
#define SARA_R5_MESSAGE_PDP_DEF UBX_CELL_MESSAGE_PDP_DEF
86+
#define SARA_R5_MESSAGE_PDP_CONFIG UBX_CELL_MESSAGE_PDP_CONFIG
87+
#define SARA_R5_MESSAGE_PDP_ACTION UBX_CELL_MESSAGE_PDP_ACTION
88+
#define SARA_R5_MESSAGE_PDP_CONTEXT_ACTIVATE UBX_CELL_MESSAGE_PDP_CONTEXT_ACTIVATE
89+
#define SARA_R5_MESSAGE_ENTER_PPP UBX_CELL_MESSAGE_ENTER_PPP
90+
#define SARA_R5_NETWORK_ASSIGNED_DATA UBX_CELL_NETWORK_ASSIGNED_DATA
9091
// ### GPIO
91-
const char SARA_R5_COMMAND_GPIO[] = "+UGPIOC"; // GPIO Configuration
92+
#define SARA_R5_COMMAND_GPIO UBX_CELL_COMMAND_GPIO
9293
// ### IP
93-
const char SARA_R5_CREATE_SOCKET[] = "+USOCR"; // Create a new socket
94-
const char SARA_R5_CLOSE_SOCKET[] = "+USOCL"; // Close a socket
95-
const char SARA_R5_CONNECT_SOCKET[] = "+USOCO"; // Connect to server on socket
96-
const char SARA_R5_WRITE_SOCKET[] = "+USOWR"; // Write data to a socket
97-
const char SARA_R5_WRITE_UDP_SOCKET[] = "+USOST"; // Write data to a UDP socket
98-
const char SARA_R5_READ_SOCKET[] = "+USORD"; // Read from a socket
99-
const char SARA_R5_READ_UDP_SOCKET[] = "+USORF"; // Read UDP data from a socket
100-
const char SARA_R5_LISTEN_SOCKET[] = "+USOLI"; // Listen for connection on socket
101-
const char SARA_R5_GET_ERROR[] = "+USOER"; // Get last socket error.
102-
const char SARA_R5_SOCKET_DIRECT_LINK[] = "+USODL"; // Set socket in Direct Link mode
103-
const char SARA_R5_SOCKET_CONTROL[] = "+USOCTL"; // Query the socket parameters
104-
const char SARA_R5_UD_CONFIGURATION[] = "+UDCONF"; // User Datagram Configuration
94+
#define SARA_R5_CREATE_SOCKET UBX_CELL_CREATE_SOCKET
95+
#define SARA_R5_CLOSE_SOCKET UBX_CELL_CLOSE_SOCKET
96+
#define SARA_R5_CONNECT_SOCKET UBX_CELL_CONNECT_SOCKET
97+
#define SARA_R5_WRITE_SOCKET UBX_CELL_WRITE_SOCKET
98+
#define SARA_R5_WRITE_UDP_SOCKET UBX_CELL_WRITE_UDP_SOCKET
99+
#define SARA_R5_READ_SOCKET UBX_CELL_READ_SOCKET
100+
#define SARA_R5_READ_UDP_SOCKET UBX_CELL_READ_UDP_SOCKET
101+
#define SARA_R5_LISTEN_SOCKET UBX_CELL_LISTEN_SOCKET
102+
#define SARA_R5_GET_ERROR UBX_CELL_GET_ERROR
103+
#define SARA_R5_SOCKET_DIRECT_LINK UBX_CELL_SOCKET_DIRECT_LINK
104+
#define SARA_R5_SOCKET_CONTROL UBX_CELL_SOCKET_CONTROL
105+
#define SARA_R5_UD_CONFIGURATION UBX_CELL_UD_CONFIGURATION
105106
// ### Ping
106-
const char SARA_R5_PING_COMMAND[] = "+UPING"; // Ping
107+
#define SARA_R5_PING_COMMAND UBX_CELL_PING_COMMAND
107108
// ### HTTP
108-
const char SARA_R5_HTTP_PROFILE[] = "+UHTTP"; // Configure the HTTP profile. Up to 4 different profiles can be defined
109-
const char SARA_R5_HTTP_COMMAND[] = "+UHTTPC"; // Trigger the specified HTTP command
110-
const char SARA_R5_HTTP_PROTOCOL_ERROR[] = "+UHTTPER"; // Retrieves the error class and code of the latest HTTP operation on the specified HTTP profile.
111-
112-
const char SARA_R5_MQTT_NVM[] = "+UMQTTNV";
113-
const char SARA_R5_MQTT_PROFILE[] = "+UMQTT";
114-
const char SARA_R5_MQTT_COMMAND[] = "+UMQTTC";
115-
const char SARA_R5_MQTT_PROTOCOL_ERROR[] = "+UMQTTER";
109+
#define SARA_R5_HTTP_PROFILE UBX_CELL_HTTP_PROFILE
110+
#define SARA_R5_HTTP_COMMAND UBX_CELL_HTTP_COMMAND
111+
#define SARA_R5_HTTP_PROTOCOL_ERROR UBX_CELL_HTTP_PROTOCOL_ERROR
112+
113+
#define SARA_R5_MQTT_NVM UBX_CELL_MQTT_NVM
114+
#define SARA_R5_MQTT_PROFILE UBX_CELL_MQTT_PROFILE
115+
#define SARA_R5_MQTT_COMMAND UBX_CELL_MQTT_COMMAND
116+
#define SARA_R5_MQTT_PROTOCOL_ERROR UBX_CELL_MQTT_PROTOCOL_ERROR
116117
// ### FTP
117-
const char SARA_R5_FTP_PROFILE[] = "+UFTP";
118-
const char SARA_R5_FTP_COMMAND[] = "+UFTPC";
119-
const char SARA_R5_FTP_PROTOCOL_ERROR[] = "+UFTPER";
118+
#define SARA_R5_FTP_PROFILE UBX_CELL_FTP_PROFILE
119+
#define SARA_R5_FTP_COMMAND UBX_CELL_FTP_COMMAND
120+
#define SARA_R5_FTP_PROTOCOL_ERROR UBX_CELL_FTP_PROTOCOL_ERROR
120121
// ### GNSS
121-
const char SARA_R5_GNSS_POWER[] = "+UGPS"; // GNSS power management configuration
122-
const char SARA_R5_GNSS_ASSISTED_IND[] = "+UGIND"; // Assisted GNSS unsolicited indication
123-
const char SARA_R5_GNSS_REQUEST_LOCATION[] = "+ULOC"; // Ask for localization information
124-
const char SARA_R5_GNSS_GPRMC[] = "+UGRMC"; // Ask for localization information
125-
const char SARA_R5_GNSS_REQUEST_TIME[] = "+UTIME"; // Ask for time information from cellular modem (CellTime)
126-
const char SARA_R5_GNSS_TIME_INDICATION[] = "+UTIMEIND"; // Time information request status unsolicited indication
127-
const char SARA_R5_GNSS_TIME_CONFIGURATION[] = "+UTIMECFG"; // Sets time configuration
128-
const char SARA_R5_GNSS_CONFIGURE_SENSOR[] = "+ULOCGNSS"; // Configure GNSS sensor
129-
const char SARA_R5_GNSS_CONFIGURE_LOCATION[] = "+ULOCCELL"; // Configure cellular location sensor (CellLocate®)
130-
const char SARA_R5_AIDING_SERVER_CONFIGURATION[] = "+UGSRV"; // Configure aiding server (CellLocate®)
122+
#define SARA_R5_GNSS_POWER UBX_CELL_GNSS_POWER
123+
#define SARA_R5_GNSS_ASSISTED_IND UBX_CELL_GNSS_ASSISTED_IND
124+
#define SARA_R5_GNSS_REQUEST_LOCATION UBX_CELL_GNSS_REQUEST_LOCATION
125+
#define SARA_R5_GNSS_GPRMC UBX_CELL_GNSS_GPRMC
126+
#define SARA_R5_GNSS_REQUEST_TIME UBX_CELL_GNSS_REQUEST_TIME
127+
#define SARA_R5_GNSS_TIME_INDICATION UBX_CELL_GNSS_TIME_INDICATION
128+
#define SARA_R5_GNSS_TIME_CONFIGURATION UBX_CELL_GNSS_TIME_CONFIGURATION
129+
#define SARA_R5_GNSS_CONFIGURE_SENSOR UBX_CELL_GNSS_CONFIGURE_SENSOR
130+
#define SARA_R5_GNSS_CONFIGURE_LOCATION UBX_CELL_GNSS_CONFIGURE_LOCATION
131+
#define SARA_R5_AIDING_SERVER_CONFIGURATION UBX_CELL_AIDING_SERVER_CONFIGURATION
131132
// ### File System
132133
// TO DO: Add support for file tags. Default tag to USER
133-
const char SARA_R5_FILE_SYSTEM_READ_FILE[] = "+URDFILE"; // Read a file
134-
const char SARA_R5_FILE_SYSTEM_READ_BLOCK[] = "+URDBLOCK"; // Read a block from a file
135-
const char SARA_R5_FILE_SYSTEM_DOWNLOAD_FILE[] = "+UDWNFILE"; // Download a file into the module
136-
const char SARA_R5_FILE_SYSTEM_LIST_FILES[] = "+ULSTFILE"; // List of files, size of file, etc.
137-
const char SARA_R5_FILE_SYSTEM_DELETE_FILE[] = "+UDELFILE"; // Delete a file
134+
#define SARA_R5_FILE_SYSTEM_READ_FILE UBX_CELL_FILE_SYSTEM_READ_FILE
135+
#define SARA_R5_FILE_SYSTEM_READ_BLOCK UBX_CELL_FILE_SYSTEM_READ_BLOCK
136+
#define SARA_R5_FILE_SYSTEM_DOWNLOAD_FILE UBX_CELL_FILE_SYSTEM_DOWNLOAD_FILE
137+
#define SARA_R5_FILE_SYSTEM_LIST_FILES UBX_CELL_FILE_SYSTEM_LIST_FILES
138+
#define SARA_R5_FILE_SYSTEM_DELETE_FILE UBX_CELL_FILE_SYSTEM_DELETE_FILE
138139
// ### File System
139140
// TO DO: Add support for file tags. Default tag to USER
140-
const char SARA_R5_SEC_PROFILE[] = "+USECPRF";
141-
const char SARA_R5_SEC_MANAGER[] = "+USECMNG";
141+
#define SARA_R5_SEC_PROFILE UBX_CELL_SEC_PROFILE
142+
#define SARA_R5_SEC_MANAGER UBX_CELL_SEC_MANAGER
142143

143144

144145
// ### URC strings
145-
const char SARA_R5_READ_SOCKET_URC[] = "+UUSORD:";
146-
const char SARA_R5_READ_UDP_SOCKET_URC[] = "+UUSORF:";
147-
const char SARA_R5_LISTEN_SOCKET_URC[] = "+UUSOLI:";
148-
const char SARA_R5_CLOSE_SOCKET_URC[] = "+UUSOCL:";
149-
const char SARA_R5_GNSS_REQUEST_LOCATION_URC[] = "+UULOC:";
150-
const char SARA_R5_SIM_STATE_URC[] = "+UUSIMSTAT:";
151-
const char SARA_R5_MESSAGE_PDP_ACTION_URC[] = "+UUPSDA:";
152-
const char SARA_R5_HTTP_COMMAND_URC[] = "+UUHTTPCR:";
153-
const char SARA_R5_MQTT_COMMAND_URC[] = "+UUMQTTC:";
154-
const char SARA_R5_PING_COMMAND_URC[] = "+UUPING:";
155-
const char SARA_R5_REGISTRATION_STATUS_URC[] = "+CREG:";
156-
const char SARA_R5_EPSREGISTRATION_STATUS_URC[] = "+CEREG:";
157-
const char SARA_R5_FTP_COMMAND_URC[] = "+UUFTPCR:";
146+
#define SARA_R5_READ_SOCKET_URC UBX_CELL_READ_SOCKET_URC
147+
#define SARA_R5_READ_UDP_SOCKET_URC UBX_CELL_READ_UDP_SOCKET_URC
148+
#define SARA_R5_LISTEN_SOCKET_URC UBX_CELL_LISTEN_SOCKET_URC
149+
#define SARA_R5_CLOSE_SOCKET_URC UBX_CELL_CLOSE_SOCKET_URC
150+
#define SARA_R5_GNSS_REQUEST_LOCATION_URC UBX_CELL_GNSS_REQUEST_LOCATION_URC
151+
#define SARA_R5_SIM_STATE_URC UBX_CELL_SIM_STATE_URC
152+
#define SARA_R5_MESSAGE_PDP_ACTION_URC UBX_CELL_MESSAGE_PDP_ACTION_URC
153+
#define SARA_R5_HTTP_COMMAND_URC UBX_CELL_HTTP_COMMAND_URC
154+
#define SARA_R5_MQTT_COMMAND_URC UBX_CELL_MQTT_COMMAND_URC
155+
#define SARA_R5_PING_COMMAND_URC UBX_CELL_PING_COMMAND_URC
156+
#define SARA_R5_REGISTRATION_STATUS_URC UBX_CELL_REGISTRATION_STATUS_URC
157+
#define SARA_R5_EPSREGISTRATION_STATUS_URC UBX_CELL_EPSREGISTRATION_STATUS_URC
158+
#define SARA_R5_FTP_COMMAND_URC UBX_CELL_FTP_COMMAND_URC
158159

159160
// ### Response
160-
const char SARA_R5_RESPONSE_MORE[] = "\n>";
161-
const char SARA_R5_RESPONSE_OK[] = "\nOK\r\n";
162-
const char SARA_R5_RESPONSE_ERROR[] = "\nERROR\r\n";
163-
const char SARA_R5_RESPONSE_CONNECT[] = "\r\nCONNECT\r\n";
161+
#define SARA_R5_RESPONSE_MORE UBX_CELL_RESPONSE_MORE
162+
#define SARA_R5_RESPONSE_OK UBX_CELL_RESPONSE_OK
163+
#define SARA_R5_RESPONSE_ERROR UBX_CELL_RESPONSE_ERROR
164+
#define SARA_R5_RESPONSE_CONNECT UBX_CELL_RESPONSE_CONNECT
164165
#define SARA_R5_RESPONSE_OK_OR_ERROR nullptr
165166

166167
#define SARA_R5_NUM_SOCKETS 6

0 commit comments

Comments
 (0)