Thread Commissioning. (#399)

This commit is contained in:
Jonathan Hui
2016-09-08 10:23:11 -07:00
committed by GitHub
parent 4f610ef082
commit 7c2b818d2e
46 changed files with 3987 additions and 130 deletions
+57 -3
View File
@@ -37,6 +37,8 @@
#include <openthread.h>
#include <openthread-diag.h>
#include <commissioning/commissioner.h>
#include <commissioning/joiner.h>
#include "cli.hpp"
#include "cli_dataset.hpp"
@@ -63,15 +65,24 @@ const struct Command Interpreter::sCommands[] =
{ "child", &ProcessChild },
{ "childmax", &ProcessChildMax },
{ "childtimeout", &ProcessChildTimeout },
#if OPENTHREAD_ENABLE_COMMISSIONER
{ "commissioner", &ProcessCommissioner },
#endif
{ "contextreusedelay", &ProcessContextIdReuseDelay },
{ "counter", &ProcessCounters },
{ "dataset", &ProcessDataset },
#if OPENTHREAD_ENABLE_DIAG
{ "diag", &ProcessDiag },
#endif
{ "discover", &ProcessDiscover },
{ "eidcache", &ProcessEidCache },
{ "extaddr", &ProcessExtAddress },
{ "extpanid", &ProcessExtPanId },
{ "ifconfig", &ProcessIfconfig },
{ "ipaddr", &ProcessIpAddr },
#if OPENTHREAD_ENABLE_JOINER
{ "joiner", &ProcessJoiner },
#endif
{ "keysequence", &ProcessKeySequence },
{ "leaderdata", &ProcessLeaderData },
{ "leaderpartitionid", &ProcessLeaderPartitionId },
@@ -101,9 +112,6 @@ const struct Command Interpreter::sCommands[] =
{ "thread", &ProcessThread },
{ "version", &ProcessVersion },
{ "whitelist", &ProcessWhitelist },
#if OPENTHREAD_ENABLE_DIAG
{ "diag", &ProcessDiag },
#endif
};
static otDEFINE_ALIGNED_VAR(sPingTimerBuf, sizeof(Timer), uint64_t);
@@ -1818,6 +1826,52 @@ void Interpreter::ProcessVersion(int argc, char *argv[])
(void)argv;
}
#if OPENTHREAD_ENABLE_COMMISSIONER
void Interpreter::ProcessCommissioner(int argc, char *argv[])
{
ThreadError error = kThreadError_None;
VerifyOrExit(argc > 0, error = kThreadError_Parse);
if (strcmp(argv[0], "start") == 0)
{
otCommissionerStart();
}
else if (strcmp(argv[0], "stop") == 0)
{
otCommissionerStop();
}
exit:
AppendResult(error);
}
#endif // OPENTHREAD_ENABLE_COMMISSIONER
#if OPENTHREAD_ENABLE_JOINER
void Interpreter::ProcessJoiner(int argc, char *argv[])
{
ThreadError error = kThreadError_None;
VerifyOrExit(argc > 0, error = kThreadError_Parse);
if (strcmp(argv[0], "start") == 0)
{
otJoinerStart();
}
else if (strcmp(argv[0], "stop") == 0)
{
otJoinerStop();
}
exit:
AppendResult(error);
}
#endif // OPENTHREAD_ENABLE_JOINER
void Interpreter::ProcessWhitelist(int argc, char *argv[])
{
ThreadError error = kThreadError_None;