MCPcopy Create free account
hub / github.com/RT-Thread/rt-thread / at_cmd_process

Function at_cmd_process

components/net/at/src/at_server.c:324–377  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

322}
323
324static at_result_t at_cmd_process(at_cmd_t cmd, const char *cmd_args)
325{
326 RT_ASSERT(cmd);
327 RT_ASSERT(cmd_args);
328
329 /* AT+TEST=? */
330 if (cmd_args[0] == AT_CMD_EQUAL_MARK && cmd_args[1] == AT_CMD_QUESTION_MARK)
331 {
332 if (cmd->test == RT_NULL)
333 {
334 return AT_RESULT_CMD_ERR;
335 }
336
337 return cmd->test();
338 }
339 /* AT+TEST? */
340 else if (cmd_args[0] == AT_CMD_QUESTION_MARK)
341 {
342 if (cmd->query == RT_NULL)
343 {
344 return AT_RESULT_CMD_ERR;
345 }
346
347 return cmd->query();
348 }
349 /* AT+TEST=1 or ATE1 */
350 else if (cmd_args[0] == AT_CMD_EQUAL_MARK
351 || (cmd_args[0] >= AT_CMD_CHAR_0 && cmd_args[0] <= AT_CMD_CHAR_9 && (cmd_args[1] == AT_CMD_CR || cmd_args[1] == AT_CMD_LF)))
352 {
353 if (cmd->setup == RT_NULL)
354 {
355 return AT_RESULT_CMD_ERR;
356 }
357
358 if(at_check_args(cmd_args, cmd->args_expr) < 0)
359 {
360 return AT_RESULT_CHECK_FAILE;
361 }
362
363 return cmd->setup(cmd_args);
364 }
365 /* AT+TEST */
366 else if (cmd_args[0] == AT_CMD_CR || cmd_args[0] == AT_CMD_LF)
367 {
368 if (cmd->exec == RT_NULL)
369 {
370 return AT_RESULT_CMD_ERR;
371 }
372
373 return cmd->exec();
374 }
375
376 return AT_RESULT_FAILE;
377}
378
379static at_cmd_t at_find_cmd(const char *cmd)
380{

Callers 1

server_parserFunction · 0.85

Calls 1

at_check_argsFunction · 0.85

Tested by

no test coverage detected