mirror of
https://github.com/espressif/openthread.git
synced 2026-06-05 21:14:49 +00:00
[dataset] use full Timestamp TLV value in otOperationalDataset (#7739)
The `otOperationalDataset#mActiveTimestamp` should represent the full Active Timestamp TLV value but not only the seconds. The same for `otOperationalDataset#mPendingTimestamp`.
This commit is contained in:
+16
-8
@@ -51,12 +51,12 @@ otError Dataset::Print(otOperationalDataset &aDataset)
|
||||
{
|
||||
if (aDataset.mComponents.mIsPendingTimestampPresent)
|
||||
{
|
||||
OutputLine("Pending Timestamp: %lu", aDataset.mPendingTimestamp);
|
||||
OutputLine("Pending Timestamp: %lu", aDataset.mPendingTimestamp.mSeconds);
|
||||
}
|
||||
|
||||
if (aDataset.mComponents.mIsActiveTimestampPresent)
|
||||
{
|
||||
OutputLine("Active Timestamp: %lu", aDataset.mActiveTimestamp);
|
||||
OutputLine("Active Timestamp: %lu", aDataset.mActiveTimestamp.mSeconds);
|
||||
}
|
||||
|
||||
if (aDataset.mComponents.mIsChannelPresent)
|
||||
@@ -205,12 +205,14 @@ template <> otError Dataset::Process<Cmd("activetimestamp")>(Arg aArgs[])
|
||||
{
|
||||
if (sDataset.mComponents.mIsActiveTimestampPresent)
|
||||
{
|
||||
OutputLine("%lu", sDataset.mActiveTimestamp);
|
||||
OutputLine("%lu", sDataset.mActiveTimestamp.mSeconds);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
SuccessOrExit(error = aArgs[0].ParseAsUint64(sDataset.mActiveTimestamp));
|
||||
SuccessOrExit(error = aArgs[0].ParseAsUint64(sDataset.mActiveTimestamp.mSeconds));
|
||||
sDataset.mActiveTimestamp.mTicks = 0;
|
||||
sDataset.mActiveTimestamp.mAuthoritative = false;
|
||||
sDataset.mComponents.mIsActiveTimestampPresent = true;
|
||||
}
|
||||
|
||||
@@ -423,12 +425,14 @@ template <> otError Dataset::Process<Cmd("pendingtimestamp")>(Arg aArgs[])
|
||||
{
|
||||
if (sDataset.mComponents.mIsPendingTimestampPresent)
|
||||
{
|
||||
OutputLine("%lu", sDataset.mPendingTimestamp);
|
||||
OutputLine("%lu", sDataset.mPendingTimestamp.mSeconds);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
SuccessOrExit(error = aArgs[0].ParseAsUint64(sDataset.mPendingTimestamp));
|
||||
SuccessOrExit(error = aArgs[0].ParseAsUint64(sDataset.mPendingTimestamp.mSeconds));
|
||||
sDataset.mPendingTimestamp.mTicks = 0;
|
||||
sDataset.mPendingTimestamp.mAuthoritative = false;
|
||||
sDataset.mComponents.mIsPendingTimestampPresent = true;
|
||||
}
|
||||
|
||||
@@ -450,14 +454,18 @@ template <> otError Dataset::Process<Cmd("mgmtsetcommand")>(Arg aArgs[])
|
||||
if (*arg == "activetimestamp")
|
||||
{
|
||||
arg++;
|
||||
SuccessOrExit(error = arg->ParseAsUint64(dataset.mActiveTimestamp.mSeconds));
|
||||
dataset.mActiveTimestamp.mTicks = 0;
|
||||
dataset.mActiveTimestamp.mAuthoritative = false;
|
||||
dataset.mComponents.mIsActiveTimestampPresent = true;
|
||||
SuccessOrExit(error = arg->ParseAsUint64(dataset.mActiveTimestamp));
|
||||
}
|
||||
else if (*arg == "pendingtimestamp")
|
||||
{
|
||||
arg++;
|
||||
SuccessOrExit(error = arg->ParseAsUint64(dataset.mPendingTimestamp.mSeconds));
|
||||
dataset.mPendingTimestamp.mTicks = 0;
|
||||
dataset.mPendingTimestamp.mAuthoritative = false;
|
||||
dataset.mComponents.mIsPendingTimestampPresent = true;
|
||||
SuccessOrExit(error = arg->ParseAsUint64(dataset.mPendingTimestamp));
|
||||
}
|
||||
else if (*arg == "networkkey")
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user