TD Command
The TD (Time/Distance) command allows configuring 32 timers/counters (TD00 to TD31) that generate triggers based on elapsed time and/or traveled distance.
What is it used for?
- ⏱️ Periodic reports by time (every X seconds)
- 📍 Distance-based reports (every X meters)
- 🔄 Combined triggers (time OR distance, whichever occurs first)
- ⚡ Activate rules in the Event Engine
Storage Modes
| Mode | Memory | Persistence | Recommended use |
|---|---|---|---|
E | Flash | ✅ Non-volatile | Permanent configuration |
D | Flash | ✅ Non-volatile | Permanently disable |
R | RAM | ❌ Volatile | Dynamic timers in rules |
C | RAM | ❌ Volatile | Stop temporary timers |
To preserve Flash memory:
- Use R/C (RAM) when you need to start/stop timers frequently
- Use E/D (Flash) only for configurations that rarely change
Syntax
Configure timer
STDaabcccccdddddQuery timer
QTDaaResponse: RTDaabcccccddddd
Parameters
| Parameter | Description | Range |
|---|---|---|
aa | Timer index | 00-31 |
b | Enable mode | E, D, R, C |
ccccc | Time in seconds | 00000-99999 |
ddddd | Distance in meters | 00000-99999 |
All timers start at 00000 when the device powers on.
TD Signal (Trigger)
| Property | Value |
|---|---|
| Name | TD |
| Index | 00-31 |
| Edge | + (positive) |
| Conditional use | Not suitable |
When the timer reaches its limit (time OR distance), it generates a TDxx+ trigger that can be used as a trigger in logic rules.
Examples
Time-only trigger
>STD00E0030000000< // Timer 00: triggers every 300 seconds| Field | Value | Meaning |
|---|---|---|
| Timer | 00 | Index 0 |
| Mode | E | Enabled (Flash) |
| Time | 00300 | 300 seconds (5 min) |
| Distance | 00000 | Not used |
Distance-only trigger
>STD02E0000001000< // Timer 02: triggers every 1000 metersTime OR distance trigger
>STD01E0006001000< // Timer 01: triggers every 60s OR every 1000mWhichever occurs first resets both counters.
Abbreviated format (time only)
>STD00E00300< // Equivalent to STD00E0030000000Compatible with previous firmware versions.
Usage in Rules (Volatile RAM)
For dynamic timers within rules, use R (start) and C (stop) modes:
// When IGN connects → start 120-second timer
>SRL12E;TRG=IN07+;ACC={STD05R0012000000}<
// When timer expires → generate report and stop
>SRL13E;TRG=TD05+;ACC={GCP00L}{STD05C}<
// When IGN disconnects → stop timer
>SRL14E;TRG=IN07-;ACC={STD05C}<Periodic reports with IGN
// Permanent 60-second timer
>STD00E0006000000<
// Generate CP report every 60s only if IGN is on
>SRL00E;TRG=TD00+;CND=IGN;ACC={GCP00H}<Distance-based tracking
// 500-meter timer
>STD01E0000000500<
// Generate report every 500m while moving
>SRL01E;TRG=TD01+;CND=MV00;ACC={GCP01H}<Compatibility
💾Firmware v1.03.00
SPLegacy
ULLegacy
MTLegacy
💾Firmware v1.00.00
SP-IOT
SM-IOT
Last updated