Skip to content

Commit 7715397

Browse files
authored
Merge pull request #14 from sparkfun/redefine_string_pointers
Redefine string pointers for AT commands and such
2 parents 7866459 + 888284d commit 7715397

File tree

3 files changed

+104
-104
lines changed

3 files changed

+104
-104
lines changed

src/sfe_sara_r5.h

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@
33

44
#include "sfe_ublox_cellular.h"
55

6-
const char UBX_CELL_MESSAGE_PDP_CONFIG[] = "+UPSD"; // Packet switched Data Profile configuration
7-
const char UBX_CELL_MESSAGE_PDP_ACTION[] = "+UPSDA"; // Perform the action for the specified PSD profile
8-
const char UBX_CELL_NETWORK_ASSIGNED_DATA[] = "+UPSND"; // Packet switched network-assigned data
9-
const char UBX_CELL_GNSS_REQUEST_TIME[] = "+UTIME"; // Ask for time information from cellular modem (CellTime)
10-
const char UBX_CELL_GNSS_TIME_INDICATION[] = "+UTIMEIND"; // Time information request status unsolicited indication
11-
const char UBX_CELL_GNSS_TIME_CONFIGURATION[] = "+UTIMECFG"; // Sets time configuration
6+
const char* const UBX_CELL_MESSAGE_PDP_CONFIG = "+UPSD"; // Packet switched Data Profile configuration
7+
const char* const UBX_CELL_MESSAGE_PDP_ACTION = "+UPSDA"; // Perform the action for the specified PSD profile
8+
const char* const UBX_CELL_NETWORK_ASSIGNED_DATA = "+UPSND"; // Packet switched network-assigned data
9+
const char* const UBX_CELL_GNSS_REQUEST_TIME = "+UTIME"; // Ask for time information from cellular modem (CellTime)
10+
const char* const UBX_CELL_GNSS_TIME_INDICATION = "+UTIMEIND"; // Time information request status unsolicited indication
11+
const char* const UBX_CELL_GNSS_TIME_CONFIGURATION = "+UTIMECFG"; // Sets time configuration
1212

1313
// Base SARA-R5 class
1414
class SARA_R5: public UBX_CELL

src/sfe_ublox_cellular.h

Lines changed: 92 additions & 92 deletions
Original file line numberDiff line numberDiff line change
@@ -92,119 +92,119 @@
9292

9393
// ## Suported AT Commands
9494
// ### General
95-
const char UBX_CELL_COMMAND_AT[] = "AT"; // AT "Test"
96-
const char UBX_CELL_COMMAND_ECHO[] = "E"; // Local Echo
97-
const char UBX_CELL_COMMAND_MANU_ID[] = "+CGMI"; // Manufacturer identification
98-
const char UBX_CELL_COMMAND_MODEL_ID[] = "+CGMM"; // Model identification
99-
const char UBX_CELL_COMMAND_FW_VER_ID[] = "+CGMR"; // Firmware version identification
100-
const char UBX_CELL_COMMAND_SERIAL_NO[] = "+CGSN"; // Product serial number
101-
const char UBX_CELL_COMMAND_IMEI[] = "+GSN"; // IMEI identification
102-
const char UBX_CELL_COMMAND_IMSI[] = "+CIMI"; // IMSI identification
103-
const char UBX_CELL_COMMAND_CCID[] = "+CCID"; // SIM CCID
104-
const char UBX_CELL_COMMAND_REQ_CAP[] = "+GCAP"; // Request capabilities list
95+
const char* const UBX_CELL_COMMAND_AT = "AT"; // AT "Test"
96+
const char* const UBX_CELL_COMMAND_ECHO = "E"; // Local Echo
97+
const char* const UBX_CELL_COMMAND_MANU_ID = "+CGMI"; // Manufacturer identification
98+
const char* const UBX_CELL_COMMAND_MODEL_ID = "+CGMM"; // Model identification
99+
const char* const UBX_CELL_COMMAND_FW_VER_ID = "+CGMR"; // Firmware version identification
100+
const char* const UBX_CELL_COMMAND_SERIAL_NO = "+CGSN"; // Product serial number
101+
const char* const UBX_CELL_COMMAND_IMEI = "+GSN"; // IMEI identification
102+
const char* const UBX_CELL_COMMAND_IMSI = "+CIMI"; // IMSI identification
103+
const char* const UBX_CELL_COMMAND_CCID = "+CCID"; // SIM CCID
104+
const char* const UBX_CELL_COMMAND_REQ_CAP = "+GCAP"; // Request capabilities list
105105
// ### Control and status
106-
const char UBX_CELL_COMMAND_POWER_OFF[] = "+CPWROFF"; // Module switch off
107-
const char UBX_CELL_COMMAND_FUNC[] = "+CFUN"; // Functionality (reset, etc.)
108-
const char UBX_CELL_COMMAND_CLOCK[] = "+CCLK"; // Real-time clock
109-
const char UBX_CELL_COMMAND_AUTO_TZ[] = "+CTZU"; // Automatic time zone update
110-
const char UBX_CELL_COMMAND_TZ_REPORT[] = "+CTZR"; // Time zone reporting
106+
const char* const UBX_CELL_COMMAND_POWER_OFF = "+CPWROFF"; // Module switch off
107+
const char* const UBX_CELL_COMMAND_FUNC = "+CFUN"; // Functionality (reset, etc.)
108+
const char* const UBX_CELL_COMMAND_CLOCK = "+CCLK"; // Real-time clock
109+
const char* const UBX_CELL_COMMAND_AUTO_TZ = "+CTZU"; // Automatic time zone update
110+
const char* const UBX_CELL_COMMAND_TZ_REPORT = "+CTZR"; // Time zone reporting
111111
// ### Network service
112-
const char UBX_CELL_COMMAND_CNUM[] = "+CNUM"; // Subscriber number
113-
const char UBX_CELL_SIGNAL_QUALITY[] = "+CSQ";
114-
const char UBX_CELL_EXT_SIGNAL_QUALITY[] = "+CESQ";
115-
const char UBX_CELL_OPERATOR_SELECTION[] = "+COPS";
116-
const char UBX_CELL_REGISTRATION_STATUS[] = "+CREG";
117-
const char UBX_CELL_EPSREGISTRATION_STATUS[] = "+CEREG";
118-
const char UBX_CELL_READ_OPERATOR_NAMES[] = "+COPN";
119-
const char UBX_CELL_COMMAND_MNO[] = "+UMNOPROF"; // MNO (mobile network operator) Profile
112+
const char* const UBX_CELL_COMMAND_CNUM = "+CNUM"; // Subscriber number
113+
const char* const UBX_CELL_SIGNAL_QUALITY = "+CSQ";
114+
const char* const UBX_CELL_EXT_SIGNAL_QUALITY = "+CESQ";
115+
const char* const UBX_CELL_OPERATOR_SELECTION = "+COPS";
116+
const char* const UBX_CELL_REGISTRATION_STATUS = "+CREG";
117+
const char* const UBX_CELL_EPSREGISTRATION_STATUS = "+CEREG";
118+
const char* const UBX_CELL_READ_OPERATOR_NAMES = "+COPN";
119+
const char* const UBX_CELL_COMMAND_MNO = "+UMNOPROF"; // MNO (mobile network operator) Profile
120120
// ### SIM
121-
const char UBX_CELL_SIM_STATE[] = "+USIMSTAT";
122-
const char UBX_CELL_COMMAND_SIMPIN[] = "+CPIN"; // SIM PIN
121+
const char* const UBX_CELL_SIM_STATE = "+USIMSTAT";
122+
const char* const UBX_CELL_COMMAND_SIMPIN = "+CPIN"; // SIM PIN
123123
// ### SMS
124-
const char UBX_CELL_MESSAGE_FORMAT[] = "+CMGF"; // Set SMS message format
125-
const char UBX_CELL_SEND_TEXT[] = "+CMGS"; // Send SMS message
126-
const char UBX_CELL_NEW_MESSAGE_IND[] = "+CNMI"; // New [SMS] message indication
127-
const char UBX_CELL_PREF_MESSAGE_STORE[] = "+CPMS"; // Preferred message storage
128-
const char UBX_CELL_READ_TEXT_MESSAGE[] = "+CMGR"; // Read message
129-
const char UBX_CELL_DELETE_MESSAGE[] = "+CMGD"; // Delete message
124+
const char* const UBX_CELL_MESSAGE_FORMAT = "+CMGF"; // Set SMS message format
125+
const char* const UBX_CELL_SEND_TEXT = "+CMGS"; // Send SMS message
126+
const char* const UBX_CELL_NEW_MESSAGE_IND = "+CNMI"; // New [SMS] message indication
127+
const char* const UBX_CELL_PREF_MESSAGE_STORE = "+CPMS"; // Preferred message storage
128+
const char* const UBX_CELL_READ_TEXT_MESSAGE = "+CMGR"; // Read message
129+
const char* const UBX_CELL_DELETE_MESSAGE = "+CMGD"; // Delete message
130130
// V24 control and V25ter (UART interface)
131-
const char UBX_CELL_FLOW_CONTROL[] = "&K"; // Flow control
132-
const char UBX_CELL_COMMAND_BAUD[] = "+IPR"; // Baud rate
131+
const char* const UBX_CELL_FLOW_CONTROL = "&K"; // Flow control
132+
const char* const UBX_CELL_COMMAND_BAUD = "+IPR"; // Baud rate
133133
// ### Packet switched data services
134-
const char UBX_CELL_MESSAGE_PDP_DEF[] = "+CGDCONT"; // Packet switched Data Profile context definition
135-
const char UBX_CELL_MESSAGE_PDP_CONTEXT_ACTIVATE[] = "+CGACT"; // Activates or deactivates the specified PDP context
136-
const char UBX_CELL_MESSAGE_ENTER_PPP[] = "D";
134+
const char* const UBX_CELL_MESSAGE_PDP_DEF = "+CGDCONT"; // Packet switched Data Profile context definition
135+
const char* const UBX_CELL_MESSAGE_PDP_CONTEXT_ACTIVATE = "+CGACT"; // Activates or deactivates the specified PDP context
136+
const char* const UBX_CELL_MESSAGE_ENTER_PPP = "D";
137137
// ### GPIO
138-
const char UBX_CELL_COMMAND_GPIO[] = "+UGPIOC"; // GPIO Configuration
138+
const char* const UBX_CELL_COMMAND_GPIO = "+UGPIOC"; // GPIO Configuration
139139
// ### IP
140-
const char UBX_CELL_CREATE_SOCKET[] = "+USOCR"; // Create a new socket
141-
const char UBX_CELL_CLOSE_SOCKET[] = "+USOCL"; // Close a socket
142-
const char UBX_CELL_CONNECT_SOCKET[] = "+USOCO"; // Connect to server on socket
143-
const char UBX_CELL_WRITE_SOCKET[] = "+USOWR"; // Write data to a socket
144-
const char UBX_CELL_WRITE_UDP_SOCKET[] = "+USOST"; // Write data to a UDP socket
145-
const char UBX_CELL_READ_SOCKET[] = "+USORD"; // Read from a socket
146-
const char UBX_CELL_READ_UDP_SOCKET[] = "+USORF"; // Read UDP data from a socket
147-
const char UBX_CELL_LISTEN_SOCKET[] = "+USOLI"; // Listen for connection on socket
148-
const char UBX_CELL_GET_ERROR[] = "+USOER"; // Get last socket error.
149-
const char UBX_CELL_SOCKET_DIRECT_LINK[] = "+USODL"; // Set socket in Direct Link mode
150-
const char UBX_CELL_SOCKET_CONTROL[] = "+USOCTL"; // Query the socket parameters
151-
const char UBX_CELL_UD_CONFIGURATION[] = "+UDCONF"; // User Datagram Configuration
140+
const char* const UBX_CELL_CREATE_SOCKET = "+USOCR"; // Create a new socket
141+
const char* const UBX_CELL_CLOSE_SOCKET = "+USOCL"; // Close a socket
142+
const char* const UBX_CELL_CONNECT_SOCKET = "+USOCO"; // Connect to server on socket
143+
const char* const UBX_CELL_WRITE_SOCKET = "+USOWR"; // Write data to a socket
144+
const char* const UBX_CELL_WRITE_UDP_SOCKET = "+USOST"; // Write data to a UDP socket
145+
const char* const UBX_CELL_READ_SOCKET = "+USORD"; // Read from a socket
146+
const char* const UBX_CELL_READ_UDP_SOCKET = "+USORF"; // Read UDP data from a socket
147+
const char* const UBX_CELL_LISTEN_SOCKET = "+USOLI"; // Listen for connection on socket
148+
const char* const UBX_CELL_GET_ERROR = "+USOER"; // Get last socket error.
149+
const char* const UBX_CELL_SOCKET_DIRECT_LINK = "+USODL"; // Set socket in Direct Link mode
150+
const char* const UBX_CELL_SOCKET_CONTROL = "+USOCTL"; // Query the socket parameters
151+
const char* const UBX_CELL_UD_CONFIGURATION = "+UDCONF"; // User Datagram Configuration
152152
// ### Ping
153-
const char UBX_CELL_PING_COMMAND[] = "+UPING"; // Ping
153+
const char* const UBX_CELL_PING_COMMAND = "+UPING"; // Ping
154154
// ### HTTP
155-
const char UBX_CELL_HTTP_PROFILE[] = "+UHTTP"; // Configure the HTTP profile. Up to 4 different profiles can be defined
156-
const char UBX_CELL_HTTP_COMMAND[] = "+UHTTPC"; // Trigger the specified HTTP command
157-
const char UBX_CELL_HTTP_PROTOCOL_ERROR[] = "+UHTTPER"; // Retrieves the error class and code of the latest HTTP operation on the specified HTTP profile.
158-
159-
const char UBX_CELL_MQTT_NVM[] = "+UMQTTNV";
160-
const char UBX_CELL_MQTT_PROFILE[] = "+UMQTT";
161-
const char UBX_CELL_MQTT_COMMAND[] = "+UMQTTC";
162-
const char UBX_CELL_MQTT_PROTOCOL_ERROR[] = "+UMQTTER";
155+
const char* const UBX_CELL_HTTP_PROFILE = "+UHTTP"; // Configure the HTTP profile. Up to 4 different profiles can be defined
156+
const char* const UBX_CELL_HTTP_COMMAND = "+UHTTPC"; // Trigger the specified HTTP command
157+
const char* const UBX_CELL_HTTP_PROTOCOL_ERROR = "+UHTTPER"; // Retrieves the error class and code of the latest HTTP operation on the specified HTTP profile.
158+
159+
const char* const UBX_CELL_MQTT_NVM = "+UMQTTNV";
160+
const char* const UBX_CELL_MQTT_PROFILE = "+UMQTT";
161+
const char* const UBX_CELL_MQTT_COMMAND = "+UMQTTC";
162+
const char* const UBX_CELL_MQTT_PROTOCOL_ERROR = "+UMQTTER";
163163
// ### FTP
164-
const char UBX_CELL_FTP_PROFILE[] = "+UFTP";
165-
const char UBX_CELL_FTP_COMMAND[] = "+UFTPC";
166-
const char UBX_CELL_FTP_PROTOCOL_ERROR[] = "+UFTPER";
164+
const char* const UBX_CELL_FTP_PROFILE = "+UFTP";
165+
const char* const UBX_CELL_FTP_COMMAND = "+UFTPC";
166+
const char* const UBX_CELL_FTP_PROTOCOL_ERROR = "+UFTPER";
167167
// ### GNSS
168-
const char UBX_CELL_GNSS_POWER[] = "+UGPS"; // GNSS power management configuration
169-
const char UBX_CELL_GNSS_ASSISTED_IND[] = "+UGIND"; // Assisted GNSS unsolicited indication
170-
const char UBX_CELL_GNSS_REQUEST_LOCATION[] = "+ULOC"; // Ask for localization information
171-
const char UBX_CELL_GNSS_GPRMC[] = "+UGRMC"; // Ask for localization information
172-
const char UBX_CELL_GNSS_CONFIGURE_SENSOR[] = "+ULOCGNSS"; // Configure GNSS sensor
173-
const char UBX_CELL_GNSS_CONFIGURE_LOCATION[] = "+ULOCCELL"; // Configure cellular location sensor (CellLocate®)
174-
const char UBX_CELL_AIDING_SERVER_CONFIGURATION[] = "+UGSRV"; // Configure aiding server (CellLocate®)
168+
const char* const UBX_CELL_GNSS_POWER = "+UGPS"; // GNSS power management configuration
169+
const char* const UBX_CELL_GNSS_ASSISTED_IND = "+UGIND"; // Assisted GNSS unsolicited indication
170+
const char* const UBX_CELL_GNSS_REQUEST_LOCATION = "+ULOC"; // Ask for localization information
171+
const char* const UBX_CELL_GNSS_GPRMC = "+UGRMC"; // Ask for localization information
172+
const char* const UBX_CELL_GNSS_CONFIGURE_SENSOR = "+ULOCGNSS"; // Configure GNSS sensor
173+
const char* const UBX_CELL_GNSS_CONFIGURE_LOCATION = "+ULOCCELL"; // Configure cellular location sensor (CellLocate®)
174+
const char* const UBX_CELL_AIDING_SERVER_CONFIGURATION = "+UGSRV"; // Configure aiding server (CellLocate®)
175175
// ### File System
176176
// TO DO: Add support for file tags. Default tag to USER
177-
const char UBX_CELL_FILE_SYSTEM_READ_FILE[] = "+URDFILE"; // Read a file
178-
const char UBX_CELL_FILE_SYSTEM_READ_BLOCK[] = "+URDBLOCK"; // Read a block from a file
179-
const char UBX_CELL_FILE_SYSTEM_DOWNLOAD_FILE[] = "+UDWNFILE"; // Download a file into the module
180-
const char UBX_CELL_FILE_SYSTEM_LIST_FILES[] = "+ULSTFILE"; // List of files, size of file, etc.
181-
const char UBX_CELL_FILE_SYSTEM_DELETE_FILE[] = "+UDELFILE"; // Delete a file
177+
const char* const UBX_CELL_FILE_SYSTEM_READ_FILE = "+URDFILE"; // Read a file
178+
const char* const UBX_CELL_FILE_SYSTEM_READ_BLOCK = "+URDBLOCK"; // Read a block from a file
179+
const char* const UBX_CELL_FILE_SYSTEM_DOWNLOAD_FILE = "+UDWNFILE"; // Download a file into the module
180+
const char* const UBX_CELL_FILE_SYSTEM_LIST_FILES = "+ULSTFILE"; // List of files, size of file, etc.
181+
const char* const UBX_CELL_FILE_SYSTEM_DELETE_FILE = "+UDELFILE"; // Delete a file
182182
// ### File System
183183
// TO DO: Add support for file tags. Default tag to USER
184-
const char UBX_CELL_SEC_PROFILE[] = "+USECPRF";
185-
const char UBX_CELL_SEC_MANAGER[] = "+USECMNG";
184+
const char* const UBX_CELL_SEC_PROFILE = "+USECPRF";
185+
const char* const UBX_CELL_SEC_MANAGER = "+USECMNG";
186186

187187

188188
// ### URC strings
189-
const char UBX_CELL_READ_SOCKET_URC[] = "+UUSORD:";
190-
const char UBX_CELL_READ_UDP_SOCKET_URC[] = "+UUSORF:";
191-
const char UBX_CELL_LISTEN_SOCKET_URC[] = "+UUSOLI:";
192-
const char UBX_CELL_CLOSE_SOCKET_URC[] = "+UUSOCL:";
193-
const char UBX_CELL_GNSS_REQUEST_LOCATION_URC[] = "+UULOC:";
194-
const char UBX_CELL_SIM_STATE_URC[] = "+UUSIMSTAT:";
195-
const char UBX_CELL_MESSAGE_PDP_ACTION_URC[] = "+UUPSDA:";
196-
const char UBX_CELL_HTTP_COMMAND_URC[] = "+UUHTTPCR:";
197-
const char UBX_CELL_MQTT_COMMAND_URC[] = "+UUMQTTC:";
198-
const char UBX_CELL_PING_COMMAND_URC[] = "+UUPING:";
199-
const char UBX_CELL_REGISTRATION_STATUS_URC[] = "+CREG:";
200-
const char UBX_CELL_EPSREGISTRATION_STATUS_URC[] = "+CEREG:";
201-
const char UBX_CELL_FTP_COMMAND_URC[] = "+UUFTPCR:";
189+
const char* const UBX_CELL_READ_SOCKET_URC = "+UUSORD:";
190+
const char* const UBX_CELL_READ_UDP_SOCKET_URC = "+UUSORF:";
191+
const char* const UBX_CELL_LISTEN_SOCKET_URC = "+UUSOLI:";
192+
const char* const UBX_CELL_CLOSE_SOCKET_URC = "+UUSOCL:";
193+
const char* const UBX_CELL_GNSS_REQUEST_LOCATION_URC = "+UULOC:";
194+
const char* const UBX_CELL_SIM_STATE_URC = "+UUSIMSTAT:";
195+
const char* const UBX_CELL_MESSAGE_PDP_ACTION_URC = "+UUPSDA:";
196+
const char* const UBX_CELL_HTTP_COMMAND_URC = "+UUHTTPCR:";
197+
const char* const UBX_CELL_MQTT_COMMAND_URC = "+UUMQTTC:";
198+
const char* const UBX_CELL_PING_COMMAND_URC = "+UUPING:";
199+
const char* const UBX_CELL_REGISTRATION_STATUS_URC = "+CREG:";
200+
const char* const UBX_CELL_EPSREGISTRATION_STATUS_URC = "+CEREG:";
201+
const char* const UBX_CELL_FTP_COMMAND_URC = "+UUFTPCR:";
202202

203203
// ### Response
204-
const char UBX_CELL_RESPONSE_MORE[] = "\n>";
205-
const char UBX_CELL_RESPONSE_OK[] = "\nOK\r\n";
206-
const char UBX_CELL_RESPONSE_ERROR[] = "\nERROR\r\n";
207-
const char UBX_CELL_RESPONSE_CONNECT[] = "\r\nCONNECT\r\n";
204+
const char* const UBX_CELL_RESPONSE_MORE = "\n>";
205+
const char* const UBX_CELL_RESPONSE_OK = "\nOK\r\n";
206+
const char* const UBX_CELL_RESPONSE_ERROR = "\nERROR\r\n";
207+
const char* const UBX_CELL_RESPONSE_CONNECT = "\r\nCONNECT\r\n";
208208
#define UBX_CELL_RESPONSE_OK_OR_ERROR nullptr
209209

210210
// CTRL+Z and ESC ASCII codes for SMS message sends

src/sfe_ublox_cellular_voice.h

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,12 @@
33

44
#include "sfe_ublox_cellular.h"
55

6-
const char UBX_CELL_COMMAND_DIAL[] = "D"; // Dial command
7-
const char UBX_CELL_COMMAND_ANSWER[] = "A"; // Answer call
8-
const char UBX_CELL_COMMAND_HANG_UP[] = "+CHUP"; // Hang up call
9-
const char UBX_CELL_COMMAND_PLAY_AUDIO[] = "+UPAR"; // Play audio resource
10-
const char UBX_CELL_COMMAND_STOP_AUDIO[] = "+USAR"; // Stop audio resource
11-
const char UBX_CELL_COMMAND_GENERATE_TONE[] = "+UTGN"; // Tone generator
6+
const char* const UBX_CELL_COMMAND_DIAL = "D"; // Dial command
7+
const char* const UBX_CELL_COMMAND_ANSWER = "A"; // Answer call
8+
const char* const UBX_CELL_COMMAND_HANG_UP = "+CHUP"; // Hang up call
9+
const char* const UBX_CELL_COMMAND_PLAY_AUDIO = "+UPAR"; // Play audio resource
10+
const char* const UBX_CELL_COMMAND_STOP_AUDIO = "+USAR"; // Stop audio resource
11+
const char* const UBX_CELL_COMMAND_GENERATE_TONE = "+UTGN"; // Tone generator
1212

1313
// Base class for any modules supporting voice calls
1414
template <typename T>

0 commit comments

Comments
 (0)