@@ -33,25 +33,23 @@ struct modem_shell_user_data {
33
33
34
34
#if defined(CONFIG_MODEM_CONTEXT )
35
35
#include "modem_context.h"
36
- #define ms_context modem_context
37
- #define ms_max_context CONFIG_MODEM_CONTEXT_MAX_NUM
38
- #define ms_send (ctx_ , buf_ , size_ ) \
39
- (ctx_->iface.write(&ctx_->iface, buf_, size_))
40
- #define ms_context_from_id modem_context_from_id
41
- #define UART_DEV_NAME (ctx ) (ctx->iface.dev->name)
36
+ #define ms_context modem_context
37
+ #define ms_max_context CONFIG_MODEM_CONTEXT_MAX_NUM
38
+ #define ms_send (ctx_ , buf_ , size_ ) (ctx_->iface.write(&ctx_->iface, buf_, size_))
39
+ #define ms_context_from_id modem_context_from_id
40
+ #define UART_DEV_NAME (ctx ) (ctx->iface.dev->name)
42
41
#elif defined(CONFIG_MODEM_RECEIVER )
43
42
#include "modem_receiver.h"
44
- #define ms_context mdm_receiver_context
45
- #define ms_max_context CONFIG_MODEM_RECEIVER_MAX_CONTEXTS
46
- #define ms_send mdm_receiver_send
47
- #define ms_context_from_id mdm_receiver_context_from_id
48
- #define UART_DEV_NAME (ctx_ ) (ctx_->uart_dev->name)
43
+ #define ms_context mdm_receiver_context
44
+ #define ms_max_context CONFIG_MODEM_RECEIVER_MAX_CONTEXTS
45
+ #define ms_send mdm_receiver_send
46
+ #define ms_context_from_id mdm_receiver_context_from_id
47
+ #define UART_DEV_NAME (ctx_ ) (ctx_->uart_dev->name)
49
48
#else
50
49
#error "MODEM_CONTEXT or MODEM_RECEIVER need to be enabled"
51
50
#endif
52
51
53
- static int cmd_modem_list (const struct shell * sh , size_t argc ,
54
- char * argv [])
52
+ static int cmd_modem_list (const struct shell * sh , size_t argc , char * argv [])
55
53
{
56
54
struct ms_context * mdm_ctx ;
57
55
int i , count = 0 ;
@@ -63,39 +61,33 @@ static int cmd_modem_list(const struct shell *sh, size_t argc,
63
61
if (mdm_ctx ) {
64
62
count ++ ;
65
63
shell_fprintf (sh , SHELL_NORMAL ,
66
- "%d:\tIface Device: %s\n"
67
- "\tManufacturer: %s\n"
68
- "\tModel: %s\n"
69
- "\tRevision: %s\n"
70
- "\tIMEI: %s\n"
64
+ "%d:\tIface Device: %s\n"
65
+ "\tManufacturer: %s\n"
66
+ "\tModel: %s\n"
67
+ "\tRevision: %s\n"
68
+ "\tIMEI: %s\n"
71
69
#if defined(CONFIG_MODEM_SIM_NUMBERS )
72
- "\tIMSI: %s\n"
73
- "\tICCID: %s\n"
70
+ "\tIMSI: %s\n"
71
+ "\tICCID: %s\n"
74
72
#endif
75
73
#if defined(CONFIG_MODEM_CELL_INFO )
76
- "\tOperator: %d\n"
77
- "\tLAC: %d\n"
78
- "\tCellId: %d\n"
79
- "\tAcT: %d\n"
74
+ "\tOperator: %d\n"
75
+ "\tLAC: %d\n"
76
+ "\tCellId: %d\n"
77
+ "\tAcT: %d\n"
80
78
#endif
81
- "\tRSSI: %d\n" ,
82
- i ,
83
- UART_DEV_NAME (mdm_ctx ),
84
- mdm_ctx -> data_manufacturer ,
85
- mdm_ctx -> data_model ,
86
- mdm_ctx -> data_revision ,
87
- mdm_ctx -> data_imei ,
79
+ "\tRSSI: %d\n" ,
80
+ i , UART_DEV_NAME (mdm_ctx ), mdm_ctx -> data_manufacturer ,
81
+ mdm_ctx -> data_model , mdm_ctx -> data_revision ,
82
+ mdm_ctx -> data_imei ,
88
83
#if defined(CONFIG_MODEM_SIM_NUMBERS )
89
- mdm_ctx -> data_imsi ,
90
- mdm_ctx -> data_iccid ,
84
+ mdm_ctx -> data_imsi , mdm_ctx -> data_iccid ,
91
85
#endif
92
86
#if defined(CONFIG_MODEM_CELL_INFO )
93
- mdm_ctx -> data_operator ,
94
- mdm_ctx -> data_lac ,
95
- mdm_ctx -> data_cellid ,
96
- mdm_ctx -> data_act ,
87
+ mdm_ctx -> data_operator , mdm_ctx -> data_lac ,
88
+ mdm_ctx -> data_cellid , mdm_ctx -> data_act ,
97
89
#endif
98
- mdm_ctx -> data_rssi ? * mdm_ctx -> data_rssi : 0 );
90
+ mdm_ctx -> data_rssi ? * mdm_ctx -> data_rssi : 0 );
99
91
}
100
92
}
101
93
@@ -106,25 +98,22 @@ static int cmd_modem_list(const struct shell *sh, size_t argc,
106
98
return 0 ;
107
99
}
108
100
109
- static int cmd_modem_send (const struct shell * sh , size_t argc ,
110
- char * argv [])
101
+ static int cmd_modem_send (const struct shell * sh , size_t argc , char * argv [])
111
102
{
112
103
struct ms_context * mdm_ctx ;
113
104
char * endptr ;
114
105
int ret , i , arg = 1 ;
115
106
116
107
/* list */
117
108
if (!argv [arg ]) {
118
- shell_fprintf (sh , SHELL_ERROR ,
119
- "Please enter a modem index\n" );
109
+ shell_fprintf (sh , SHELL_ERROR , "Please enter a modem index\n" );
120
110
return - EINVAL ;
121
111
}
122
112
123
113
/* <index> of modem receiver */
124
114
i = (int )strtol (argv [arg ], & endptr , 10 );
125
115
if (* endptr != '\0' ) {
126
- shell_fprintf (sh , SHELL_ERROR ,
127
- "Please enter a modem index\n" );
116
+ shell_fprintf (sh , SHELL_ERROR , "Please enter a modem index\n" );
128
117
return - EINVAL ;
129
118
}
130
119
@@ -137,8 +126,7 @@ static int cmd_modem_send(const struct shell *sh, size_t argc,
137
126
for (i = arg + 1 ; i < argc ; i ++ ) {
138
127
ret = ms_send (mdm_ctx , argv [i ], strlen (argv [i ]));
139
128
if (ret < 0 ) {
140
- shell_fprintf (sh , SHELL_ERROR ,
141
- "Error sending '%s': %d\n" , argv [i ], ret );
129
+ shell_fprintf (sh , SHELL_ERROR , "Error sending '%s': %d\n" , argv [i ], ret );
142
130
return 0 ;
143
131
}
144
132
@@ -149,9 +137,7 @@ static int cmd_modem_send(const struct shell *sh, size_t argc,
149
137
}
150
138
151
139
if (ret < 0 ) {
152
- shell_fprintf (sh , SHELL_ERROR ,
153
- "Error sending (CRLF or space): %d\n" ,
154
- ret );
140
+ shell_fprintf (sh , SHELL_ERROR , "Error sending (CRLF or space): %d\n" , ret );
155
141
return 0 ;
156
142
}
157
143
}
@@ -160,17 +146,16 @@ static int cmd_modem_send(const struct shell *sh, size_t argc,
160
146
}
161
147
162
148
#if defined(CONFIG_GSM_MUX )
163
- static void uart_mux_cb (const struct device * uart , const struct device * dev ,
164
- int dlci_address , void * user_data )
149
+ static void uart_mux_cb (const struct device * uart , const struct device * dev , int dlci_address ,
150
+ void * user_data )
165
151
{
166
152
struct modem_shell_user_data * data = user_data ;
167
153
const struct shell * shell = data -> shell ;
168
154
int * count = data -> user_data ;
169
155
const char * ch = "?" ;
170
156
171
157
if (* count == 0 ) {
172
- shell_fprintf (shell , SHELL_NORMAL ,
173
- "\nReal UART\tMUX UART\tDLCI\n" );
158
+ shell_fprintf (shell , SHELL_NORMAL , "\nReal UART\tMUX UART\tDLCI\n" );
174
159
}
175
160
176
161
(* count )++ ;
@@ -183,9 +168,8 @@ static void uart_mux_cb(const struct device *uart, const struct device *dev,
183
168
ch = "control" ;
184
169
}
185
170
186
- shell_fprintf (shell , SHELL_NORMAL ,
187
- "%s\t\t%s\t\t%d (%s)\n" ,
188
- uart -> name , dev -> name , dlci_address , ch );
171
+ shell_fprintf (shell , SHELL_NORMAL , "%s\t\t%s\t\t%d (%s)\n" , uart -> name , dev -> name ,
172
+ dlci_address , ch );
189
173
}
190
174
#endif
191
175
@@ -197,16 +181,14 @@ static int cmd_modem_info(const struct shell *shell, size_t argc, char *argv[])
197
181
198
182
/* info */
199
183
if (!argv [arg ]) {
200
- shell_fprintf (shell , SHELL_ERROR ,
201
- "Please enter a modem index\n" );
184
+ shell_fprintf (shell , SHELL_ERROR , "Please enter a modem index\n" );
202
185
return - EINVAL ;
203
186
}
204
187
205
188
/* <index> of modem receiver */
206
189
i = (int )strtol (argv [arg ], & endptr , 10 );
207
190
if (* endptr != '\0' ) {
208
- shell_fprintf (shell , SHELL_ERROR ,
209
- "Please enter a modem index\n" );
191
+ shell_fprintf (shell , SHELL_ERROR , "Please enter a modem index\n" );
210
192
return - EINVAL ;
211
193
}
212
194
@@ -224,16 +206,11 @@ static int cmd_modem_info(const struct shell *shell, size_t argc, char *argv[])
224
206
"Revision : %s\n"
225
207
"IMEI : %s\n"
226
208
"RSSI : %d\n" ,
227
- i ,
228
- UART_DEV_NAME (mdm_ctx ),
229
- mdm_ctx -> data_manufacturer ,
230
- mdm_ctx -> data_model ,
231
- mdm_ctx -> data_revision ,
232
- mdm_ctx -> data_imei ,
209
+ i , UART_DEV_NAME (mdm_ctx ), mdm_ctx -> data_manufacturer , mdm_ctx -> data_model ,
210
+ mdm_ctx -> data_revision , mdm_ctx -> data_imei ,
233
211
mdm_ctx -> data_rssi ? * mdm_ctx -> data_rssi : 0 );
234
212
235
- shell_fprintf (shell , SHELL_NORMAL ,
236
- "GSM 07.10 muxing : %s\n" ,
213
+ shell_fprintf (shell , SHELL_NORMAL , "GSM 07.10 muxing : %s\n" ,
237
214
IS_ENABLED (CONFIG_GSM_MUX ) ? "enabled" : "disabled" );
238
215
239
216
#if defined(CONFIG_GSM_MUX )
@@ -250,64 +227,58 @@ static int cmd_modem_info(const struct shell *shell, size_t argc, char *argv[])
250
227
}
251
228
252
229
#if defined(CONFIG_MODEM_SMS )
253
- static int cmd_modem_sms_send (const struct shell * shell , size_t argc ,
254
- char * argv [])
230
+ static int cmd_modem_sms_send (const struct shell * sh , size_t argc , char * argv [])
255
231
{
256
232
struct ms_context * ms_ctx ;
257
233
struct sms_out sms ;
258
234
int ret = -1 ;
259
235
260
236
if (argc != 4 ) {
261
- shell_fprintf (shell , SHELL_ERROR ,
237
+ shell_fprintf (sh , SHELL_ERROR ,
262
238
"usage: modem sms send <modem index> <phone "
263
239
"number> <message>\n" );
264
240
} else {
265
241
int modem_index = atoi (argv [1 ]);
266
242
267
243
ms_ctx = ms_context_from_id (modem_index );
268
244
if (ms_ctx == NULL ) {
269
- shell_fprintf (
270
- shell , SHELL_ERROR ,
271
- "Couldn't open context for modem index %d\n" ,
272
- modem_index );
245
+ shell_fprintf (sh , SHELL_ERROR ,
246
+ "Couldn't open context for modem index %d\n" , modem_index );
273
247
return - ENOEXEC ;
274
248
}
275
249
276
250
if (ms_ctx -> send_sms == NULL ) {
277
- shell_fprintf (shell , SHELL_ERROR ,
278
- "No function defined to send SMS\n" );
251
+ shell_fprintf (sh , SHELL_ERROR , "No function defined to send SMS\n" );
279
252
return - ENOEXEC ;
280
253
}
281
254
282
255
if (strlen (argv [3 ]) > (sizeof (sms .msg ) - 1 )) {
283
- shell_fprintf (shell , SHELL_WARNING ,
284
- "Specified message longer than maximum, truncating message\n" );
256
+ shell_fprintf (sh , SHELL_WARNING ,
257
+ "SMS message exceeds limit (%d>%d), truncating message" ,
258
+ strlen (argv [3 ]), CONFIG_MODEM_SMS_OUT_MSG_MAX_LEN );
285
259
}
286
260
287
261
snprintk (sms .phone , sizeof (sms .phone ), "%s" , argv [2 ]);
288
262
snprintk (sms .msg , sizeof (sms .msg ), "%s" , argv [3 ]);
289
263
290
264
ret = ms_ctx -> send_sms (& sms );
291
265
if (ret == 0 ) {
292
- shell_fprintf (shell , SHELL_NORMAL ,
293
- "SMS msg was sent\n" );
266
+ shell_fprintf (sh , SHELL_NORMAL , "SMS msg was sent\n" );
294
267
} else {
295
- shell_fprintf (shell , SHELL_ERROR ,
296
- "error: send_sms returned %d\n" , ret );
268
+ shell_fprintf (sh , SHELL_ERROR , "error: send_sms returned %d\n" , ret );
297
269
}
298
270
}
299
271
return ret ;
300
272
}
301
273
302
- static int cmd_modem_sms_recv (const struct shell * shell , size_t argc ,
303
- char * argv [])
274
+ static int cmd_modem_sms_recv (const struct shell * sh , size_t argc , char * argv [])
304
275
{
305
276
struct ms_context * ms_ctx ;
306
277
struct sms_in sms ;
307
278
int ret = -1 ;
308
279
309
280
if (argc != 3 ) {
310
- shell_fprintf (shell , SHELL_ERROR ,
281
+ shell_fprintf (sh , SHELL_ERROR ,
311
282
"usage: modem sms recv <modem index> <wait time "
312
283
"(seconds)>\n" );
313
284
} else {
@@ -316,33 +287,27 @@ static int cmd_modem_sms_recv(const struct shell *shell, size_t argc,
316
287
317
288
ms_ctx = ms_context_from_id (modem_index );
318
289
if (ms_ctx == NULL ) {
319
- shell_fprintf (
320
- shell , SHELL_ERROR ,
321
- "Couldn't open context for modem index %d\n" ,
322
- modem_index );
290
+ shell_fprintf (sh , SHELL_ERROR ,
291
+ "Couldn't open context for modem index %d\n" , modem_index );
323
292
return - ENOEXEC ;
324
293
}
325
294
326
295
if (ms_ctx -> recv_sms == NULL ) {
327
- shell_fprintf (shell , SHELL_ERROR ,
328
- "No function defined to receive SMS\n" );
296
+ shell_fprintf (sh , SHELL_ERROR , "No function defined to receive SMS\n" );
329
297
return - ENOEXEC ;
330
298
}
331
299
332
300
sms .timeout = K_SECONDS (wait );
333
301
ret = ms_ctx -> recv_sms (& sms );
334
302
if (ret < 0 ) {
335
- shell_fprintf (shell , SHELL_ERROR ,
336
- "recv_sms returned error %d, errno:%d\n" ,
303
+ shell_fprintf (sh , SHELL_ERROR , "recv_sms returned error %d, errno:%d\n" ,
337
304
ret , errno );
338
305
} else if (ret == 0 ) {
339
- shell_fprintf (shell , SHELL_NORMAL ,
340
- "No SMS msgs available\n" );
306
+ shell_fprintf (sh , SHELL_NORMAL , "No SMS msgs available\n" );
341
307
} else {
342
- shell_fprintf (
343
- shell , SHELL_NORMAL ,
344
- "Received SMS msg from %s dated %s: '%s'\n" ,
345
- sms .phone , sms .time , sms .msg );
308
+ shell_fprintf (sh , SHELL_NORMAL ,
309
+ "Received SMS msg from %s dated %s: '%s'\n" , sms .phone ,
310
+ sms .time , sms .msg );
346
311
}
347
312
}
348
313
return ret ;
@@ -361,15 +326,16 @@ SHELL_STATIC_SUBCMD_SET_CREATE(modem_cmd_sms,
361
326
362
327
#endif /* CONFIG_MODEM_SMS */
363
328
364
- SHELL_STATIC_SUBCMD_SET_CREATE (sub_modem ,
365
- SHELL_CMD (info , NULL , "Show information for a modem" , cmd_modem_info ),
329
+ SHELL_STATIC_SUBCMD_SET_CREATE (
330
+ sub_modem , SHELL_CMD (info , NULL , "Show information for a modem" , cmd_modem_info ),
366
331
SHELL_CMD (list , NULL , "List registered modems" , cmd_modem_list ),
367
- SHELL_CMD (send , NULL , "Send an AT <command> to a registered modem "
368
- "receiver" , cmd_modem_send ),
332
+ SHELL_CMD (send , NULL ,
333
+ "Send an AT <command> to a registered modem "
334
+ "receiver" ,
335
+ cmd_modem_send ),
369
336
#if defined(CONFIG_MODEM_SMS )
370
- SHELL_CMD (sms , & modem_cmd_sms , "Send or receive SMS message via modem" ,
371
- NULL ),
372
- #endif /* CONFIG_MODEM_SMS */
337
+ SHELL_CMD (sms , & modem_cmd_sms , "Send or receive SMS message via modem" , NULL ),
338
+ #endif /* CONFIG_MODEM_SMS */
373
339
SHELL_SUBCMD_SET_END /* Array terminated. */
374
340
);
375
341
0 commit comments