From 8899793e619bbf21eafd8ce816d09613329364f4 Mon Sep 17 00:00:00 2001 From: Shu Chen Date: Wed, 17 May 2017 00:10:26 +0800 Subject: [PATCH] Add txpowermax CLI (#1775) --- src/cli/README.md | 20 ++++++++++++++++++++ src/cli/cli.cpp | 20 ++++++++++++++++++++ src/cli/cli.hpp | 1 + 3 files changed, 41 insertions(+) diff --git a/src/cli/README.md b/src/cli/README.md index 85baaa713..5dea63500 100644 --- a/src/cli/README.md +++ b/src/cli/README.md @@ -63,6 +63,7 @@ OpenThread test scripts use the CLI to execute test cases. * [singleton](#singleton) * [state](#state) * [thread](#thread-start) +* [txpowermax](#txpowermax) * [version](#version) * [whitelist](#whitelist) * [diag](#diag) @@ -1566,6 +1567,25 @@ Disable Thread protocol operation and detach from a Thread network. Done ``` +### txpowermax + +Get the maximum transmit power in dBm. + +```bash +> txpowermax +-10 dBm +Done +``` + +### txpowermax \ + +Set the maximum transmit power. + +```bash +> txpowermax -10 +Done +``` + ### version Print the build version information. diff --git a/src/cli/cli.cpp b/src/cli/cli.cpp index 2518ef814..52392d25f 100644 --- a/src/cli/cli.cpp +++ b/src/cli/cli.cpp @@ -188,6 +188,7 @@ const struct Command Interpreter::sCommands[] = { "singleton", &Interpreter::ProcessSingleton }, { "state", &Interpreter::ProcessState }, { "thread", &Interpreter::ProcessThread }, + { "txpowermax", &Interpreter::ProcessTxPowerMax }, { "version", &Interpreter::ProcessVersion }, { "whitelist", &Interpreter::ProcessWhitelist }, }; @@ -2495,6 +2496,25 @@ exit: AppendResult(error); } +void Interpreter::ProcessTxPowerMax(int argc, char *argv[]) +{ + ThreadError error = kThreadError_None; + long value; + + if (argc == 0) + { + sServer->OutputFormat("%d dBm\r\n", otLinkGetMaxTransmitPower(mInstance)); + } + else + { + SuccessOrExit(error = ParseLong(argv[0], value)); + otLinkSetMaxTransmitPower(mInstance, static_cast(value)); + } + +exit: + AppendResult(error); +} + void Interpreter::ProcessVersion(int argc, char *argv[]) { otStringPtr version(otGetVersionString()); diff --git a/src/cli/cli.hpp b/src/cli/cli.hpp index e2bc62a4b..4f088db4f 100644 --- a/src/cli/cli.hpp +++ b/src/cli/cli.hpp @@ -263,6 +263,7 @@ private: void ProcessSingleton(int argc, char *argv[]); void ProcessState(int argc, char *argv[]); void ProcessThread(int argc, char *argv[]); + void ProcessTxPowerMax(int argc, char *argv[]); void ProcessVersion(int argc, char *argv[]); void ProcessWhitelist(int argc, char *argv[]);