Info |
---|
This section refers to the following sample application(s):
|
Because of the time synchronized nature of a
Include Page | ||||
---|---|---|---|---|
|
Your application has two ways for retrieving the current time:
- by calling functions
- by receiving a time pin notification
Time pin notifications allow your application to accurately timestamp external events. The time pin is a single, dedicated pin. When the time pin is asserted, the
Include Page | ||||
---|---|---|---|---|
|
The "network time" contains the current Absolute Slot Number (ASN), as well as a time offset inside the current slot. The combination of those two values forms an accurate timestamp.
The 03-time
Sample Application
The 03-time
sample application creates a task which periodically reads the current time, and prints it over CLI. It also registers for time pin notifications, which it also prints over CLI. Finally, it starts a network join procedures.
The figure below shows a annotated output of the 03-time
sample application:
No Format |
---|
time app, ver 1.0.0.2
SmartMeshIP stack, ver 1.2.1.3
> minfo
Net stack v1.2.1.3
state: Search <<< The mote is searching.
mac: 00:17:0d:00:00:38:0f:47
moteid: 0
netid: 423
blSwVer: 13
ldrSwVer: 1.0.3.12
UTC time: 0:0
reset st: 200
> current time:
- ASN: 0x0000000000 <<< ASN is 0 when not joined.
- offset: 0 us
- sysTime: 181289 ticks
8271 : Joining
9429 : Connected
17797 : Active <<< The mote has joined.
current time:
- ASN: 0x000032e6d5 <<< ASN is now set to the network's ASN.
- offset: 3034 us
- sysTime: 673008 ticks
minfo
Net stack v1.2.1.3
state: Oper <<< minfo shows mote is operational.
mac: 00:17:0d:00:00:38:0f:47
moteid: 2
netid: 423
blSwVer: 13
ldrSwVer: 1.0.3.12
UTC time: 1025689387:102113
reset st: 200
> current time:
- ASN: 0x000032e987
- offset: 2550 us
- sysTime: 836915 ticks
time notification: <<< A time pin notification
- upTime: 27 s
- ASN: 0x000032ead6
- offset: 30734 us
current time:
- ASN: 0x000032ec39
- offset: 2050 us
- sysTime: 1000822 ticks |
To trigger a time pin notification, you need to pull the time pin low, then high. The default state of the time pin should be high.
Warning |
---|
While the time pin is low, the device consumes more energy in order to return a highly accurate timestamp when the pin transitions to high. Your application should therefore keep the pin high by default, and lower it only for a small amount of time, but not less than the |