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 "CmdChannelMask.h"
jenkins@jenkinsdm1 16:d5cf2af81a6d 2 #include "ChannelPlan.h"
Mike Fiore 14:f9a77400b622 3
Mike Fiore 14:f9a77400b622 4 CmdChannelMask::CmdChannelMask()
Mike Fiore 14:f9a77400b622 5 :
Mike Fiore 14:f9a77400b622 6 Command("Channel Mask", "AT+CHM", "Get/set channel mask (OFFSET:0-4,MASK:0000-FFFF)", "(OFFSET:0-4,MASK:0000-FFFF)")
Mike Fiore 14:f9a77400b622 7 {
Mike Fiore 14:f9a77400b622 8 _queryable = true;
Mike Fiore 14:f9a77400b622 9 }
Mike Fiore 14:f9a77400b622 10
Mike Fiore 14:f9a77400b622 11 uint32_t CmdChannelMask::action(std::vector<std::string> args) {
Mike Fiore 14:f9a77400b622 12
Mike Fiore 14:f9a77400b622 13 if (args.size() == 1) {
Mike Fiore 14:f9a77400b622 14 if (CommandTerminal::Dot()->getVerbose())
Mike Fiore 14:f9a77400b622 15 CommandTerminal::Serial()->writef("Channel Mask: ");
Mike Fiore 14:f9a77400b622 16
Mike Fiore 14:f9a77400b622 17 std::vector<uint16_t> mask = CommandTerminal::Dot()->getChannelMask();
Mike Fiore 14:f9a77400b622 18
Mike Fiore 14:f9a77400b622 19 for (int i = int(mask.size()) - 1; i >= 0; i--) {
Mike Fiore 14:f9a77400b622 20 CommandTerminal::Serial()->writef("%04X", mask[i]);
Mike Fiore 14:f9a77400b622 21 }
Mike Fiore 14:f9a77400b622 22
Mike Fiore 14:f9a77400b622 23 CommandTerminal::Serial()->writef("\r\n");
Mike Fiore 14:f9a77400b622 24
Mike Fiore 14:f9a77400b622 25 } else if (args.size() == 3) {
Mike Fiore 14:f9a77400b622 26 int code = 0;
Mike Fiore 14:f9a77400b622 27 int temp = 0;
Mike Fiore 14:f9a77400b622 28 int offset = 0;
Mike Fiore 14:f9a77400b622 29 uint16_t mask = 0;
Mike Fiore 14:f9a77400b622 30
Mike Fiore 14:f9a77400b622 31 sscanf(args[1].c_str(), "%d", &offset);
Mike Fiore 14:f9a77400b622 32
Mike Fiore 14:f9a77400b622 33 // Convert the ASCII hex data to binary...
Mike Fiore 14:f9a77400b622 34 sscanf(&args[2][0], "%02x", &temp);
Mike Fiore 14:f9a77400b622 35 mask = uint8_t(temp) << 8;
Mike Fiore 14:f9a77400b622 36 sscanf(&args[2][2], "%02x", &temp);
Mike Fiore 14:f9a77400b622 37 mask |= uint8_t(temp);
Mike Fiore 14:f9a77400b622 38
Mike Fiore 14:f9a77400b622 39 if ((code = CommandTerminal::Dot()->setChannelMask(offset, mask)) != mDot::MDOT_OK) {
Mike Fiore 14:f9a77400b622 40 CommandTerminal::setErrorMessage(CommandTerminal::Dot()->getLastError());
Mike Fiore 14:f9a77400b622 41 return 1;
Mike Fiore 14:f9a77400b622 42 }
Mike Fiore 14:f9a77400b622 43 }
Mike Fiore 14:f9a77400b622 44
Mike Fiore 14:f9a77400b622 45 return 0;
Mike Fiore 14:f9a77400b622 46 }
Mike Fiore 14:f9a77400b622 47
Mike Fiore 14:f9a77400b622 48 bool CmdChannelMask::verify(std::vector<std::string> args) {
Mike Fiore 14:f9a77400b622 49 if (args.size() == 1)
Mike Fiore 14:f9a77400b622 50 return true;
Mike Fiore 14:f9a77400b622 51
Mike Fiore 14:f9a77400b622 52 if (args.size() == 3) {
Mike Fiore 14:f9a77400b622 53
Mike Fiore 14:f9a77400b622 54 int offset;
Mike Fiore 14:f9a77400b622 55 if (sscanf(args[1].c_str(), "%d", &offset) != 1) {
Mike Fiore 14:f9a77400b622 56 CommandTerminal::setErrorMessage("Invalid argument");
Mike Fiore 14:f9a77400b622 57 return false;
Mike Fiore 14:f9a77400b622 58 }
Mike Fiore 14:f9a77400b622 59
jenkins@jenkinsdm1 16:d5cf2af81a6d 60 if (lora::ChannelPlan::IsPlanDynamic(CommandTerminal::Dot()->getFrequencyBand())) {
Mike Fiore 14:f9a77400b622 61 if (offset > 0) {
Mike Fiore 14:f9a77400b622 62 CommandTerminal::setErrorMessage("Invalid offset, expects (0)");
Mike Fiore 14:f9a77400b622 63 return false;
Mike Fiore 14:f9a77400b622 64 }
Mike Fiore 14:f9a77400b622 65 } else {
Mike Fiore 14:f9a77400b622 66 if (offset < 0 || offset > 4) {
Mike Fiore 14:f9a77400b622 67 CommandTerminal::setErrorMessage("Invalid offset, expects (0-4)");
Mike Fiore 14:f9a77400b622 68 return false;
Mike Fiore 14:f9a77400b622 69 }
Mike Fiore 14:f9a77400b622 70 }
Mike Fiore 14:f9a77400b622 71
Mike Fiore 14:f9a77400b622 72 if (!isHexString(args[2], 2)) {
Mike Fiore 14:f9a77400b622 73 CommandTerminal::setErrorMessage("Invalid mask, expect (0000-FFFF)");
Mike Fiore 14:f9a77400b622 74 return false;
Mike Fiore 14:f9a77400b622 75 }
Mike Fiore 14:f9a77400b622 76
Mike Fiore 14:f9a77400b622 77 return true;
Mike Fiore 14:f9a77400b622 78 }
Mike Fiore 14:f9a77400b622 79
Mike Fiore 14:f9a77400b622 80 CommandTerminal::setErrorMessage("Invalid arguments");
Mike Fiore 14:f9a77400b622 81 return false;
Mike Fiore 14:f9a77400b622 82 }