with 36errors

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

Fork of Dot-AT-Firmware by MultiTech

Committer:
Mike Fiore
Date:
Thu Jun 25 10:23:41 2015 -0500
Revision:
1:e52ae6584f1c
Child:
4:666017851052
update debug, add command source files

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Mike Fiore 1:e52ae6584f1c 1 #include "CmdReceiveContinuous.h"
Mike Fiore 1:e52ae6584f1c 2 #include "CommandTerminal.h"
Mike Fiore 1:e52ae6584f1c 3
Mike Fiore 1:e52ae6584f1c 4 CmdReceiveContinuous::CmdReceiveContinuous(mDot* dot, mts::MTSSerial& serial) :
Mike Fiore 1:e52ae6584f1c 5 Command(dot, "Receive Continuous", "AT+RECVC", "Continuously receive and display packets. (escape sequence: +++)"),
Mike Fiore 1:e52ae6584f1c 6 _serial(serial)
Mike Fiore 1:e52ae6584f1c 7 {
Mike Fiore 1:e52ae6584f1c 8 _help = std::string(text()) + ": " + std::string(desc());
Mike Fiore 1:e52ae6584f1c 9 _usage = "in: (2000-2147483647) ms; out: (string:242) or (hex:242)";
Mike Fiore 1:e52ae6584f1c 10 }
Mike Fiore 1:e52ae6584f1c 11
Mike Fiore 1:e52ae6584f1c 12 uint32_t CmdReceiveContinuous::action(std::vector<std::string> args)
Mike Fiore 1:e52ae6584f1c 13 {
Mike Fiore 1:e52ae6584f1c 14 std::vector<uint8_t> data;
Mike Fiore 1:e52ae6584f1c 15
Mike Fiore 1:e52ae6584f1c 16 std::string escape_buffer;
Mike Fiore 1:e52ae6584f1c 17 char ch;
Mike Fiore 1:e52ae6584f1c 18
Mike Fiore 1:e52ae6584f1c 19 while (true)
Mike Fiore 1:e52ae6584f1c 20 {
Mike Fiore 1:e52ae6584f1c 21 if (_dot->recv(data) == mDot::MDOT_OK) {
Mike Fiore 1:e52ae6584f1c 22 if (_dot->getVerbose())
Mike Fiore 1:e52ae6584f1c 23 _serial.writef("Packet data:\r\n");
Mike Fiore 1:e52ae6584f1c 24 _serial.writef("%s\r\n", CommandTerminal::formatPacketData(data, _dot->getRxOutput()).c_str());
Mike Fiore 1:e52ae6584f1c 25
Mike Fiore 1:e52ae6584f1c 26 data.clear();
Mike Fiore 1:e52ae6584f1c 27 }
Mike Fiore 1:e52ae6584f1c 28
Mike Fiore 1:e52ae6584f1c 29 while (_serial.readable()) {
Mike Fiore 1:e52ae6584f1c 30 _serial.read(&ch, 1);
Mike Fiore 1:e52ae6584f1c 31 escape_buffer += ch;
Mike Fiore 1:e52ae6584f1c 32 if (escape_buffer == CommandTerminal::escape_sequence)
Mike Fiore 1:e52ae6584f1c 33 return 0;
Mike Fiore 1:e52ae6584f1c 34
Mike Fiore 1:e52ae6584f1c 35 osDelay(50);
Mike Fiore 1:e52ae6584f1c 36 }
Mike Fiore 1:e52ae6584f1c 37
Mike Fiore 1:e52ae6584f1c 38 escape_buffer.clear();
Mike Fiore 1:e52ae6584f1c 39 }
Mike Fiore 1:e52ae6584f1c 40
Mike Fiore 1:e52ae6584f1c 41 return 0;
Mike Fiore 1:e52ae6584f1c 42 }
Mike Fiore 1:e52ae6584f1c 43
Mike Fiore 1:e52ae6584f1c 44 bool CmdReceiveContinuous::verify(std::vector<std::string> args)
Mike Fiore 1:e52ae6584f1c 45 {
Mike Fiore 1:e52ae6584f1c 46 if (args.size() == 1)
Mike Fiore 1:e52ae6584f1c 47 return true;
Mike Fiore 1:e52ae6584f1c 48
Mike Fiore 1:e52ae6584f1c 49 setErrorMessage("Invalid arguments");
Mike Fiore 1:e52ae6584f1c 50 return false;
Mike Fiore 1:e52ae6584f1c 51 }