with 36errors

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

Fork of Dot-AT-Firmware by MultiTech

Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers CmdWakePin.cpp Source File

CmdWakePin.cpp

00001 #include "CmdWakePin.h"
00002 
00003 CmdWakePin::CmdWakePin()
00004 #if defined(TARGET_MTS_MDOT_F411RE)
00005 : Command("Wake Pin", "AT+WP", "Wakeup DIO pin of sleep mode (1-8) (default: DI8, 1:DIN), deep-sleep uses DIO7", "(1-8)")
00006 #else
00007 : Command("Wake Pin", "AT+WP", "Wakeup GPIO pin of sleep mode (1-6) (default: WAKE, 1:UART1_RX), deep-sleep uses WAKE", "(1-6)")
00008 #endif /* TARGET_MTS_MDOT_F411RE */
00009    {
00010     _queryable = true;
00011 }
00012 
00013 uint32_t CmdWakePin::action(std::vector<std::string> args) {
00014     if (args.size() == 1) {
00015         CommandTerminal::Serial()->writef("%s\r\n", mDot::pinName2Str(CommandTerminal::Dot()->getWakePin()).c_str());
00016     } else if (args.size() == 2) {
00017         int pin;
00018         sscanf(args[1].c_str(), "%d", &pin);
00019 
00020         CommandTerminal::Dot()->setWakePin(mDot::pinNum2Name(pin));
00021     }
00022 
00023     return 0;
00024 }
00025 
00026 bool CmdWakePin::verify(std::vector<std::string> args) {
00027     if (args.size() == 1)
00028         return true;
00029 
00030     if (args.size() == 2) {
00031         int pin;
00032         if (sscanf(args[1].c_str(), "%d", &pin) != 1) {
00033             CommandTerminal::setErrorMessage("Invalid argument");
00034             return false;
00035         }
00036 
00037 #if defined(TARGET_MTS_MDOT_F411RE)
00038         if (pin < 1 || pin > 8) {
00039             CommandTerminal::setErrorMessage("Invalid pin, expects (1-8)");
00040 #else
00041         if (pin < 1 || pin > 6) {
00042             CommandTerminal::setErrorMessage("Invalid pin, expects (1-6)");
00043 #endif /* TARGET_MTS_MDOT_F411RE */
00044             return false;
00045         }
00046 
00047         return true;
00048     }
00049 
00050     CommandTerminal::setErrorMessage("Invalid arguments");
00051     return false;
00052 }