|
FastLED 3.9.15
|
PARLIO ISR-streaming functional validation (#2548 deep-dive follow-up).
Validates the engine's ISR-chunked streaming path on real hardware:
wave8Transpose_16x4_bf1_pipe4 shipped in #2559).Pass criterion: every show()+wait() completes within timeoutMs. Catches hangs / stalls in the streaming engine.
Does NOT validate transmitted byte correctness — that's covered by the host bit-exactness test in tests/fl/channels/wave8.cpp added in #2559, and by the RX-loopback path in the existing autoresearch CLI when run with a jumper wire.
Invoked via the parlioStreamValidate JSON-RPC handler registered in AutoResearchRemote.cpp.
Definition in file AutoResearchParlioStream.h.
#include "FastLED.h"#include "fl/chipsets/chipset_timing_config.h"#include "fl/chipsets/led_timing.h"#include "fl/stl/int.h"#include "fl/stl/span.h"#include "fl/stl/vector.h"
Include dependency graph for AutoResearchParlioStream.h:
This graph shows which files directly or indirectly include this file:Go to the source code of this file.
Classes | |
| struct | autoresearch::parlio_stream::ValidateResult |
Namespaces | |
| namespace | autoresearch |
| namespace | autoresearch::parlio_stream |
Functions | |
| bool | autoresearch::parlio_stream::isFastLedOutputPinValid (int pin) |
| ValidateResult | autoresearch::parlio_stream::validateParlioStreaming (int base_tx_pin, int num_lanes, int num_leds, int iterations, uint32_t timeout_ms, const int *tx_pins=nullptr) |
| Run the PARLIO streaming functional test. | |
Variables | |
| constexpr int | autoresearch::parlio_stream::kMaxIterations = 16 |
| constexpr int | autoresearch::parlio_stream::kMaxLanes = 16 |
| struct autoresearch::parlio_stream::ValidateResult |
| Class Members | ||
|---|---|---|
| int | base_tx_pin | |
| uint32_t | bytes_total | |
| uint32_t | bytes_transmitted | |
| bool | channels_ok | |
| bool | completed | |
| bool | explicit_tx_pins | |
| int | failed_iter | |
| bool | hardware_idle | |
| int | iterations | |
| int | lanes | |
| int | leds_per_lane | |
| uint32_t | per_iter_show_us[kMaxIterations] | |
| uint32_t | per_iter_us[kMaxIterations] | |
| uint32_t | per_iter_wait_us[kMaxIterations] | |
| uint32_t | ring_count | |
| bool | ring_error | |
| uint32_t | steady_avg_show_us | |
| uint32_t | steady_avg_us | |
| uint32_t | steady_avg_wait_us | |
| uint32_t | timeout_ms | |
| uint32_t | tx_done_count | |
| int | tx_pins[kMaxLanes] | |
| uint32_t | underrun_count | |
| uint32_t | worker_isr_count | |