firm newest

Dependencies:   MTS-Serial libmDot-dev-mbed5-deprecated

Committer:
nguyenhoang9x5555
Date:
Mon Oct 22 01:56:09 2018 +0000
Revision:
1:c1c6549b9333
Parent:
0:3c869a8cb8f8
hey

Who changed what in which revision?

UserRevisionLine numberNew contents of line
nguyenhoang9x5555 0:3c869a8cb8f8 1 #include "CmdACKAttempts.h"
nguyenhoang9x5555 0:3c869a8cb8f8 2
nguyenhoang9x5555 0:3c869a8cb8f8 3 CmdACKAttempts::CmdACKAttempts() :
nguyenhoang9x5555 0:3c869a8cb8f8 4 Command("Require ACK", "AT+ACK", "Enable to require send acknowledgement (0: off, N: number of attempts until ACK received)", "(0-8)")
nguyenhoang9x5555 0:3c869a8cb8f8 5 {
nguyenhoang9x5555 0:3c869a8cb8f8 6 _queryable = true;
nguyenhoang9x5555 0:3c869a8cb8f8 7 }
nguyenhoang9x5555 0:3c869a8cb8f8 8
nguyenhoang9x5555 0:3c869a8cb8f8 9 uint32_t CmdACKAttempts::action(std::vector<std::string> args)
nguyenhoang9x5555 0:3c869a8cb8f8 10 {
nguyenhoang9x5555 0:3c869a8cb8f8 11 if (args.size() == 1)
nguyenhoang9x5555 0:3c869a8cb8f8 12 {
nguyenhoang9x5555 0:3c869a8cb8f8 13 CommandTerminal::Serial()->writef("%u\r\n", CommandTerminal::Dot()->getAck());
nguyenhoang9x5555 0:3c869a8cb8f8 14 }
nguyenhoang9x5555 0:3c869a8cb8f8 15 else if (args.size() == 2)
nguyenhoang9x5555 0:3c869a8cb8f8 16 {
nguyenhoang9x5555 0:3c869a8cb8f8 17 int retries;
nguyenhoang9x5555 0:3c869a8cb8f8 18 sscanf(args[1].c_str(), "%d", &retries);
nguyenhoang9x5555 0:3c869a8cb8f8 19
nguyenhoang9x5555 0:3c869a8cb8f8 20 if (CommandTerminal::Dot()->setAck(retries) != mDot::MDOT_OK)
nguyenhoang9x5555 0:3c869a8cb8f8 21 {
nguyenhoang9x5555 0:3c869a8cb8f8 22 CommandTerminal::setErrorMessage(CommandTerminal::Dot()->getLastError());
nguyenhoang9x5555 0:3c869a8cb8f8 23 return 1;
nguyenhoang9x5555 0:3c869a8cb8f8 24 }
nguyenhoang9x5555 0:3c869a8cb8f8 25 }
nguyenhoang9x5555 0:3c869a8cb8f8 26
nguyenhoang9x5555 0:3c869a8cb8f8 27 return 0;
nguyenhoang9x5555 0:3c869a8cb8f8 28 }
nguyenhoang9x5555 0:3c869a8cb8f8 29
nguyenhoang9x5555 0:3c869a8cb8f8 30 bool CmdACKAttempts::verify(std::vector<std::string> args)
nguyenhoang9x5555 0:3c869a8cb8f8 31 {
nguyenhoang9x5555 0:3c869a8cb8f8 32 if (args.size() == 1)
nguyenhoang9x5555 0:3c869a8cb8f8 33 return true;
nguyenhoang9x5555 0:3c869a8cb8f8 34
nguyenhoang9x5555 0:3c869a8cb8f8 35 if (args.size() == 2)
nguyenhoang9x5555 0:3c869a8cb8f8 36 {
nguyenhoang9x5555 0:3c869a8cb8f8 37 int retries;
nguyenhoang9x5555 0:3c869a8cb8f8 38 if (sscanf(args[1].c_str(), "%d", &retries) != 1) {
nguyenhoang9x5555 0:3c869a8cb8f8 39 CommandTerminal::setErrorMessage("Invalid argument");
nguyenhoang9x5555 0:3c869a8cb8f8 40 return false;
nguyenhoang9x5555 0:3c869a8cb8f8 41 }
nguyenhoang9x5555 0:3c869a8cb8f8 42
nguyenhoang9x5555 0:3c869a8cb8f8 43 if (retries < 0 || retries > 8) {
nguyenhoang9x5555 0:3c869a8cb8f8 44 CommandTerminal::setErrorMessage("Invalid attempts, expects (0-8)");
nguyenhoang9x5555 0:3c869a8cb8f8 45 return false;
nguyenhoang9x5555 0:3c869a8cb8f8 46 }
nguyenhoang9x5555 0:3c869a8cb8f8 47
nguyenhoang9x5555 0:3c869a8cb8f8 48 return true;
nguyenhoang9x5555 0:3c869a8cb8f8 49 }
nguyenhoang9x5555 0:3c869a8cb8f8 50
nguyenhoang9x5555 0:3c869a8cb8f8 51 CommandTerminal::setErrorMessage("Invalid arguments");
nguyenhoang9x5555 0:3c869a8cb8f8 52 return false;
nguyenhoang9x5555 0:3c869a8cb8f8 53 }