with 36errors

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

Fork of Dot-AT-Firmware by MultiTech

Committer:
faendder
Date:
Sun Jul 09 23:37:23 2017 +0000
Revision:
18:75cd82d6298c
Parent:
16:d5cf2af81a6d
i have 36 errors but i dont now how fixit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Mike Fiore 14:f9a77400b622 1 #include "CmdMacCmd.h"
Mike Fiore 14:f9a77400b622 2 #include "CommandTerminal.h"
Mike Fiore 14:f9a77400b622 3
Mike Fiore 14:f9a77400b622 4 CmdMacCmd::CmdMacCmd()
Mike Fiore 14:f9a77400b622 5 :
Mike Fiore 14:f9a77400b622 6 Command("MAC Command", "AT+MAC", "Inject MAC command to MAC layer or read uplink MAC command buffer, pass '0' argument to clear buffer", "(hex:242)")
Mike Fiore 14:f9a77400b622 7 {
Mike Fiore 14:f9a77400b622 8 }
Mike Fiore 14:f9a77400b622 9
Mike Fiore 14:f9a77400b622 10 uint32_t CmdMacCmd::action(std::vector<std::string> args) {
Mike Fiore 14:f9a77400b622 11
Mike Fiore 14:f9a77400b622 12 if (args.size() == 1) {
Mike Fiore 14:f9a77400b622 13 std::vector<uint8_t> cmds = CommandTerminal::Dot()->getMacCommands();
Mike Fiore 14:f9a77400b622 14
jenkins@jenkinsdm1 16:d5cf2af81a6d 15 if (cmds.size() > 0) {
Mike Fiore 14:f9a77400b622 16 for (size_t i = 0; i < cmds.size(); i++) {
Mike Fiore 14:f9a77400b622 17 CommandTerminal::Serial()->writef("%02x", cmds[i]);
Mike Fiore 14:f9a77400b622 18 }
Mike Fiore 14:f9a77400b622 19 CommandTerminal::Serial()->writef("\r\n");
Mike Fiore 14:f9a77400b622 20 }
Mike Fiore 14:f9a77400b622 21
Mike Fiore 14:f9a77400b622 22 } else {
Mike Fiore 14:f9a77400b622 23 if (args[1].size() == 1 && args[1] == "0") {
Mike Fiore 14:f9a77400b622 24 CommandTerminal::Dot()->clearMacCommands();
Mike Fiore 14:f9a77400b622 25 } else {
Mike Fiore 14:f9a77400b622 26 std::vector<uint8_t> data;
Mike Fiore 14:f9a77400b622 27 int32_t code;
Mike Fiore 14:f9a77400b622 28 int temp;
Mike Fiore 14:f9a77400b622 29 uint32_t length = args[1].size();
Mike Fiore 14:f9a77400b622 30
Mike Fiore 14:f9a77400b622 31 // Convert the ASCII hex data to binary...
Mike Fiore 14:f9a77400b622 32 for (uint32_t i = 0; i < length; i += 2) {
Mike Fiore 14:f9a77400b622 33 sscanf(&args[1][i], "%2x", &temp);
Mike Fiore 14:f9a77400b622 34 data.push_back(temp);
Mike Fiore 14:f9a77400b622 35 }
Mike Fiore 14:f9a77400b622 36
Mike Fiore 14:f9a77400b622 37 if ((code = CommandTerminal::Dot()->injectMacCommand(data)) != mDot::MDOT_OK) {
Mike Fiore 14:f9a77400b622 38 std::string error = mDot::getReturnCodeString(code);
Mike Fiore 14:f9a77400b622 39
Mike Fiore 14:f9a77400b622 40 if (code != mDot::MDOT_NOT_JOINED)
Mike Fiore 14:f9a77400b622 41 error += +" - " + CommandTerminal::Dot()->getLastError();
Mike Fiore 14:f9a77400b622 42
Mike Fiore 14:f9a77400b622 43 CommandTerminal::setErrorMessage(CommandTerminal::Dot()->getLastError());
Mike Fiore 14:f9a77400b622 44 return 1;
Mike Fiore 14:f9a77400b622 45 }
Mike Fiore 14:f9a77400b622 46 }
Mike Fiore 14:f9a77400b622 47 }
Mike Fiore 14:f9a77400b622 48
Mike Fiore 14:f9a77400b622 49 return 0;
Mike Fiore 14:f9a77400b622 50 }
Mike Fiore 14:f9a77400b622 51
Mike Fiore 14:f9a77400b622 52 bool CmdMacCmd::verify(std::vector<std::string> args) {
Mike Fiore 14:f9a77400b622 53 if (args.size() == 1) {
Mike Fiore 14:f9a77400b622 54 return true;
Mike Fiore 14:f9a77400b622 55 } else if (args.size() == 2) {
Mike Fiore 14:f9a77400b622 56
Mike Fiore 14:f9a77400b622 57 if (args[1].size() == 1 && args[1] == "0") {
Mike Fiore 14:f9a77400b622 58 return true;
Mike Fiore 14:f9a77400b622 59 } else if (args[1].size() > 484 || !isHexString(args[1], args[1].size() / 2)) {
Mike Fiore 14:f9a77400b622 60 CommandTerminal::setErrorMessage("Invalid hex string, (hex:242)");
Mike Fiore 14:f9a77400b622 61 return false;
Mike Fiore 14:f9a77400b622 62 }
Mike Fiore 14:f9a77400b622 63
Mike Fiore 14:f9a77400b622 64 return true;
Mike Fiore 14:f9a77400b622 65 }
Mike Fiore 14:f9a77400b622 66
Mike Fiore 14:f9a77400b622 67 CommandTerminal::setErrorMessage("Invalid arguments");
Mike Fiore 14:f9a77400b622 68 return false;
Mike Fiore 14:f9a77400b622 69 }
Mike Fiore 14:f9a77400b622 70