|
| bool | test_spi_bus_initialization () noexcept |
| |
| bool | test_spi_bus_deinitialization () noexcept |
| |
| bool | test_spi_configuration_validation () noexcept |
| |
| bool | test_spi_device_creation () noexcept |
| |
| bool | test_spi_device_management () noexcept |
| |
| bool | test_spi_transfer_basic () noexcept |
| |
| bool | test_spi_transfer_modes () noexcept |
| |
| bool | test_spi_transfer_sizes () noexcept |
| |
| bool | test_spi_dma_operations () noexcept |
| |
| bool | test_spi_clock_speeds () noexcept |
| |
| bool | test_spi_multi_device_operations () noexcept |
| |
| bool | test_spi_error_handling () noexcept |
| |
| bool | test_spi_timeout_handling () noexcept |
| |
| bool | test_spi_esp_specific_features () noexcept |
| |
| bool | test_spi_iomux_optimization () noexcept |
| |
| bool | test_spi_thread_safety () noexcept |
| |
| bool | test_spi_performance_benchmarks () noexcept |
| |
| bool | test_spi_edge_cases () noexcept |
| |
| bool | test_spi_bus_acquisition () noexcept |
| |
| bool | test_spi_power_management () noexcept |
| |
| hf_spi_bus_config_t | create_test_bus_config (uint32_t speed=MEDIUM_SPEED, bool use_dma=true, spi_host_device_t host=SPI2_HOST) noexcept |
| |
| bool | verify_transfer_data (const uint8_t *tx_data, const uint8_t *rx_data, size_t length) noexcept |
| |
| void | generate_test_pattern (uint8_t *buffer, size_t length, uint8_t seed=0xAA) noexcept |
| |
| void | generate_sequential_pattern (uint8_t *buffer, size_t length, uint8_t start_value=0x01) noexcept |
| |
| void | generate_alternating_pattern (uint8_t *buffer, size_t length, uint8_t value1=0x55, uint8_t value2=0xAA) noexcept |
| |
| bool | test_spi_espidf_direct_api () noexcept |
| | Test SPI using ESP-IDF API directly (bypassing our wrapper)
|
| |
| bool | test_spi_espidf_wrapper_replica () noexcept |
| | Test SPI using EspSpiBus wrapper (replicating ESP-IDF direct test)
|
| |
| void | app_main (void) |
| |
Comprehensive SPI testing suite for ESP32-C6 DevKit-M-1 (noexcept)
This file contains comprehensive testing for the ESP SPI implementation including:
- Bus initialization and configuration validation
- Device creation and management
- Data transfer operations (full-duplex, half-duplex, various modes)
- DMA operations and performance testing
- Error handling and recovery
- Multi-device scenarios with different configurations
- ESP-specific features (clock sources, IOMUX, advanced timing)
- Thread safety verification
- Performance benchmarking and timing tests
- Edge cases and fault injection
- SPI modes (0-3) and various transfer sizes
All functions are noexcept - no exception handling used.
- Author
- Nebiyu Tadesse
- Date
- 2025
- Copyright
- HardFOC