Startup Tests API

API Component: Startup Tests API_COMP_STARTUP_TESTS
status: implemented
header_file: main/components/startup_tests/led_running_test.h

Brief Description

Test functions for running light effects on the LED strip, used for startup visual feedback and hardware validation.

Key features:

  • Sequential running light effect for boot validation

  • Multiple cycles and rainbow effect for advanced testing

  • Synchronous, blocking execution (no separate task)

  • Uses led_controller API for all LED operations

Architecture:

  • Called after LED controller initialization in main()

  • Effects run synchronously, blocking until complete

  • No separate task/thread required; runs in main context

  • All LED operations use led_controller API

Test Functions

API Function: led_running_test_single_cycle API_FUNC_STARTUP_TESTS_SINGLE_CYCLE
status: implemented
api_signature: esp_err_t led_running_test_single_cycle(led_color_t color, uint32_t delay_ms)
returns: ESP_OK on success
parameters: color, delay_ms
component: API_COMP_STARTUP_TESTS
links outgoing: REQ_STARTUP_2, REQ_LED_2

Run a single cycle of running light effect (one LED moves across the strip).

Signature:

esp_err_t led_running_test_single_cycle(led_color_t color, uint32_t delay_ms);

Parameters:

  • color - Color of the running LED

  • delay_ms - Delay between LED movements in milliseconds

Returns:

  • ESP_OK - Test completed successfully

Note

  • See requirements: REQ_STARTUP_2, REQ_LED_2

  • Synchronous, blocking execution

API Function: led_running_test_multiple_cycles API_FUNC_STARTUP_TESTS_MULTIPLE_CYCLES
status: implemented
api_signature: esp_err_t led_running_test_multiple_cycles(led_color_t color, uint32_t delay_ms, uint8_t cycles)
returns: ESP_OK on success
parameters: color, delay_ms, cycles
component: API_COMP_STARTUP_TESTS
links outgoing: REQ_STARTUP_2, REQ_LED_2

Run multiple cycles of running light effect.

Signature:

esp_err_t led_running_test_multiple_cycles(led_color_t color, uint32_t delay_ms, uint8_t cycles);

Parameters:

  • color - Color of the running LED

  • delay_ms - Delay between LED movements in milliseconds

  • cycles - Number of complete cycles to run

Returns:

  • ESP_OK - Test completed successfully

Note

  • See requirements: REQ_STARTUP_2, REQ_LED_2

  • Synchronous, blocking execution

API Function: led_running_test_rainbow API_FUNC_STARTUP_TESTS_RAINBOW
status: implemented
api_signature: esp_err_t led_running_test_rainbow(uint32_t delay_ms, uint8_t cycles)
returns: ESP_OK on success
parameters: delay_ms, cycles
component: API_COMP_STARTUP_TESTS
links outgoing: REQ_STARTUP_3, REQ_LED_2

Run rainbow running light effect (color changes as it moves).

Signature:

esp_err_t led_running_test_rainbow(uint32_t delay_ms, uint8_t cycles);

Parameters:

  • delay_ms - Delay between LED movements in milliseconds

  • cycles - Number of complete cycles to run

Returns:

  • ESP_OK - Test completed successfully

Note

  • See requirements: REQ_STARTUP_3, REQ_LED_2

  • Synchronous, blocking execution