with 36errors

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

Fork of Dot-AT-Firmware by MultiTech

Committer:
Mike Fiore
Date:
Mon Apr 04 09:00:31 2016 -0500
Revision:
9:ff62b20f7000
Parent:
4:666017851052
Child:
14:f9a77400b622
update to version 1.0.8 of AT firmware

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