AT command firmware for MultiTech Dot devices.
Fork of mDot_AT_firmware by
CmdBatteryLevel.cpp
00001 #include "CmdBatteryLevel.h" 00002 00003 CmdBatteryLevel::CmdBatteryLevel() : 00004 #if MTS_CMD_TERM_VERBOSE 00005 Command("Battery Level", "AT+BAT", "Battery Level of dot (0 - 255)", "(0-255)") 00006 #else 00007 Command("AT+BAT") 00008 #endif 00009 { 00010 _queryable = true; 00011 } 00012 00013 uint32_t CmdBatteryLevel::action(const std::vector<std::string>& args) { 00014 int battery_level; 00015 00016 if (args.size() == 1) { 00017 CommandTerminal::Serial()->writef("%d\r\n", CommandTerminal::getBatteryLevel()); 00018 } else if (args.size() == 2) { 00019 sscanf(args[1].c_str(), "%d", &battery_level); 00020 CommandTerminal::setBatteryLevel(battery_level); 00021 } 00022 return 0; 00023 } 00024 00025 bool CmdBatteryLevel::verify(const std::vector<std::string>& args) { 00026 int battery_level; 00027 00028 if (args.size() == 1) 00029 return true; 00030 00031 if (args.size() == 2) { 00032 if (sscanf(args[1].c_str(), "%d", &battery_level) == 1) { 00033 if (battery_level > 255 || battery_level < 0) { 00034 #if MTS_CMD_TERM_VERBOSE 00035 CommandTerminal::setErrorMessage("Invalid battery level, expects (0-255)"); 00036 #endif 00037 return false; 00038 } 00039 return true; 00040 } 00041 } 00042 00043 #if MTS_CMD_TERM_VERBOSE 00044 CommandTerminal::setErrorMessage("Invalid arguments"); 00045 #endif 00046 return false; 00047 } 00048
Generated on Wed Dec 6 2023 19:34:05 by 1.7.2