Use when correlating BiBa transmitter-side VCP telemetry logs with robot battery telemetry logs, especially when timestamps come from different time domains, one side samples much more slowly than the other, or short current plateaus may be missed between robot log entries.
Use this skill to compare EdgeTX Lua VCP captures against robot-side battery telemetry logs without drawing false conclusions from timezone mismatches or unequal sampling rates.
Core principle: normalize time first, then match event shapes, then state what the coarse side cannot prove.
Collect and label each source before comparing anything:
artifacts/telemetry-captures/*.logdocker logs --timestamps ...For VCP logs, confirm whether lines contain:
2026-03-28T21:53:21.752444+01:00epoch=1774731201.752499RAWI=3.00, RAWDIR=DISFor robot logs, confirm whether lines contain:
Ztelemetry_current_a=3.00telemetry_direction=DISDo not compare local wall time to robot logs directly.
Use one shared time domain:
For BiBa telemetry sessions, the common pattern has been:
+01:00+03:00UTC ZIf these domains are not stated explicitly in the result, the comparison is incomplete.
The robot battery log is typically much coarser than the VCP stream. Treat the robot log as sparse checkpoints.
Match using event shape:
3.00 AIDLE -> DIS -> IDLE3.0 -> 4.9 -> 3.2 ADo not claim exact point-by-point equality when one side only logs every few seconds.
Valid conclusions:
DIS eventN seconds after the robot-side log pointInvalid conclusions:
N seconds from one sparse matchEvery comparison should include:
If the robot logs once every about 5 seconds, explicitly say that short events between samples can be missed.
Typical local VCP inspection:
grep -n 'RAWI=\|RAWDIR=' artifacts/telemetry-captures/vcp-YYYYMMDD-HHMMSS.log
Typical robot log extraction:
sshpass -p 'open' ssh -o StrictHostKeyChecking=no [email protected] \
"docker logs --timestamps biba-biba-controller-1 2>&1 | grep 'Battery telemetry' | tail -n 120"
Typical narrow robot time window:
sshpass -p 'open' ssh -o StrictHostKeyChecking=no [email protected] \
"docker logs --timestamps biba-biba-controller-1 2>&1 | grep '2026-03-28T20:53' | grep 'Battery telemetry'"
Use a compact table when presenting results:
| Event | App-side evidence | Robot-side evidence | Observed lag | Confidence |
|---|---|---|---|---|
DIS 3.00 A | VCP line and timestamp | Robot line and timestamp | Approximate | High |
DIS 4.90 A | Present in VCP | Missing in robot log | Not measurable | Low because coarse robot sampling |
Then summarize:
| Mistake | Why it is wrong |
|---|---|
Comparing +01:00 timestamps directly to Z timestamps | Time domains are different |
| Declaring a short event absent because robot logs do not show it | Coarse sampling can skip it |
| Using one matched point as an exact latency measurement | Sparse robot logs only bound the delay roughly |
Ignoring direction fields like DIS and IDLE | Plateau ordering becomes ambiguous |
biba-biba-controller-1, not biba-controller.