FastLED 3.10.6
Loading...
Searching...
No Matches
AutoResearchEdgeProbe.h
Go to the documentation of this file.
1// AutoResearch edge probe (FastLED#3586 bring-up tooling).
2//
3// A GPIO any-edge ISR that timestamps up to 200 edges with the CPU
4// cycle counter — an in-firmware logic probe for "the driver transmits
5// but the capture backend records nothing" investigations. Armed via
6// the edgeProbe RPC, read back via edgeProbeRead.
7
8#pragma once
9
10#include "fl/stl/int.h"
11
13void edgeProbeArm(int pin);
14
17void edgeProbeArmMode(int pin, bool passive);
18
21const fl::u32 *edgeProbeStamps(fl::u32 &count);
22
25
28
31
33const fl::u32 *edgeProbeRmtLive();
const fl::u32 * edgeProbeStamps(fl::u32 &count)
Timestamp buffer: entry = (level_before_edge << 31) | cycle_count.
fl::u32 edgeProbeState()
Probe task progress: 0=not started 1=started 2=triggered 3=sampled.
const fl::u32 * edgeProbeRmtLive()
RMT registers snapshotted at trigger time (INT_RAW, CH2STATUS, CH3STATUS, CH2_RX_CONF1).
fl::u32 edgeProbeSelfTestEdges()
Edges recorded by the arm-time pull-toggle self-test.
void edgeProbeArmMode(int pin, bool passive)
Passive variant: no pinMode/attachInterrupt/pull toggles — only the triggered tight-loop sampler task...
fl::u32 edgeProbeCpuMhz()
CPU frequency in MHz for cycle→ns conversion.
void edgeProbeArm(int pin)
Arm the probe on a pin (re-arming resets the buffer).