mirror of
https://github.com/espressif/openthread.git
synced 2026-08-04 18:07:47 +00:00
Add Channel Mask TLV CLI support (#549)
- Add a new Dataset::Set method to support variable TLV data payload. This is mainly for Channel Mask TLV - Add CLI to support Channel Mask TLV
This commit is contained in:
@@ -55,6 +55,7 @@ const DatasetCommand Dataset::sCommands[] =
|
||||
{ "active", &ProcessActive },
|
||||
{ "activetimestamp", &ProcessActiveTimestamp },
|
||||
{ "channel", &ProcessChannel },
|
||||
{ "channelmask", &ProcessChannelMask },
|
||||
{ "clear", &ProcessClear },
|
||||
{ "commit", &ProcessCommit },
|
||||
{ "delay", &ProcessDelay },
|
||||
@@ -99,6 +100,11 @@ ThreadError Dataset::Print(otOperationalDataset &aDataset)
|
||||
sServer->OutputFormat("Channel: %d\r\n", aDataset.mChannel);
|
||||
}
|
||||
|
||||
if (aDataset.mIsChannelMaskPage0Set)
|
||||
{
|
||||
sServer->OutputFormat("Channel Mask Page 0: %x\r\n", aDataset.mChannelMaskPage0);
|
||||
}
|
||||
|
||||
if (aDataset.mIsDelaySet)
|
||||
{
|
||||
sServer->OutputFormat("Delay: %d\r\n", aDataset.mDelay);
|
||||
@@ -261,6 +267,21 @@ exit:
|
||||
return error;
|
||||
}
|
||||
|
||||
ThreadError Dataset::ProcessChannelMask(otInstance *aInstance, int argc, char *argv[])
|
||||
{
|
||||
ThreadError error = kThreadError_None;
|
||||
long value;
|
||||
|
||||
VerifyOrExit(argc > 0, error = kThreadError_Parse);
|
||||
SuccessOrExit(error = Interpreter::ParseLong(argv[0], value));
|
||||
sDataset.mChannelMaskPage0 = static_cast<uint32_t>(value);
|
||||
sDataset.mIsChannelMaskPage0Set = true;
|
||||
(void)aInstance;
|
||||
|
||||
exit:
|
||||
return error;
|
||||
}
|
||||
|
||||
ThreadError Dataset::ProcessClear(otInstance *aInstance, int argc, char *argv[])
|
||||
{
|
||||
memset(&sDataset, 0, sizeof(sDataset));
|
||||
|
||||
@@ -77,6 +77,7 @@ private:
|
||||
static ThreadError ProcessActive(otInstance *aInstance, int argc, char *argv[]);
|
||||
static ThreadError ProcessActiveTimestamp(otInstance *aInstance, int argc, char *argv[]);
|
||||
static ThreadError ProcessChannel(otInstance *aInstance, int argc, char *argv[]);
|
||||
static ThreadError ProcessChannelMask(otInstance *aInstance, int argc, char *argv[]);
|
||||
static ThreadError ProcessClear(otInstance *aInstance, int argc, char *argv[]);
|
||||
static ThreadError ProcessCommit(otInstance *aInstance, int argc, char *argv[]);
|
||||
static ThreadError ProcessDelay(otInstance *aInstance, int argc, char *argv[]);
|
||||
|
||||
Reference in New Issue
Block a user