HF-TMC9660 Driver 0.1.0-dev
Hardware Agnostic C++ Driver for the TMC9660
Loading...
Searching...
No Matches
bootloader_comprehensive_test.cpp File Reference

Comprehensive Bootloader testing suite for ESP32-C6 DevKit-M-1 (noexcept) More...

#include "../../../inc/tmc9660.hpp"
#include "esp32_tmc9660_bus.hpp"
#include "TestFramework.h"
#include <memory>
#include <vector>
#include <algorithm>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
Include dependency graph for bootloader_comprehensive_test.cpp:

Functions

bool test_bootloader_basic_initialization () noexcept
 
bool test_bootloader_parameter_mode () noexcept
 
bool test_bootloader_register_mode () noexcept
 
bool test_bootloader_spi_interface () noexcept
 
bool test_bootloader_uart_interface () noexcept
 
bool test_bootloader_clock_configuration () noexcept
 
bool test_bootloader_error_handling () noexcept
 
bool test_bootloader_performance_benchmarks () noexcept
 
bool test_bootloader_multi_device () noexcept
 
bool test_bootloader_edge_cases () noexcept
 
std::unique_ptr< TMC9660< Esp32Tmc9660SpiBus > > create_test_driver () noexcept
 
bool test_bootloader_config (const BootloaderConfig &config, const char *test_name) noexcept
 
void log_bootloader_result (typename TMC9660< Esp32Tmc9660SpiBus >::BootloaderInitResult result, const char *context) noexcept
 
template<typename InterfaceType >
bool perform_bootloader_reset_sequence (std::unique_ptr< InterfaceType > &interface, TMC9660< InterfaceType > &driver, const BootloaderConfig &cfg) noexcept
 
void app_main (void)
 

Variables

static const charTAG = "Bootloader_Test"
 
static TestResults g_test_results
 
static constexpr bool ENABLE_CORE_TESTS = true
 
static constexpr bool ENABLE_PARAMETER_MODE_TESTS = true
 
static constexpr bool ENABLE_REGISTER_MODE_TESTS = true
 
static constexpr bool ENABLE_INTERFACE_TESTS = false
 
static constexpr bool ENABLE_CLOCK_TESTS = false
 
static constexpr bool ENABLE_ERROR_HANDLING_TESTS = false
 
static constexpr bool ENABLE_PERFORMANCE_TESTS = false
 
static constexpr bool ENABLE_STRESS_TESTS = false
 

Detailed Description

Comprehensive Bootloader testing suite for ESP32-C6 DevKit-M-1 (noexcept)

This file contains comprehensive testing for TMC9660 bootloader features including:

  • Bootloader initialization and configuration validation
  • Parameter mode vs Register mode testing
  • SPI and UART interface configuration
  • Clock source and PLL configuration
  • Boot mode validation and error handling
  • Multi-device bootloader operations
  • Performance benchmarking
  • Edge cases and fault injection
Author
Nebiyu Tadesse
Date
2025

Function Documentation

◆ app_main()

void app_main ( void )
Here is the call graph for this function:

◆ create_test_driver()

std::unique_ptr< TMC9660< Esp32Tmc9660SpiBus > > create_test_driver ( )
noexcept
Here is the call graph for this function:

◆ log_bootloader_result()

void log_bootloader_result ( typename TMC9660< Esp32Tmc9660SpiBus >::BootloaderInitResult result,
const char * context )
noexcept
Here is the caller graph for this function:

◆ perform_bootloader_reset_sequence()

template<typename InterfaceType >
bool perform_bootloader_reset_sequence ( std::unique_ptr< InterfaceType > & interface,
TMC9660< InterfaceType > & driver,
const BootloaderConfig & cfg )
noexcept
Here is the caller graph for this function:

◆ test_bootloader_basic_initialization()

bool test_bootloader_basic_initialization ( )
noexcept
Here is the call graph for this function:
Here is the caller graph for this function:

◆ test_bootloader_clock_configuration()

bool test_bootloader_clock_configuration ( )
noexcept
Here is the call graph for this function:
Here is the caller graph for this function:

◆ test_bootloader_config()

bool test_bootloader_config ( const BootloaderConfig & config,
const char * test_name )
noexcept
Here is the call graph for this function:
Here is the caller graph for this function:

◆ test_bootloader_edge_cases()

bool test_bootloader_edge_cases ( )
noexcept
Here is the call graph for this function:
Here is the caller graph for this function:

◆ test_bootloader_error_handling()

bool test_bootloader_error_handling ( )
noexcept
Here is the call graph for this function:
Here is the caller graph for this function:

◆ test_bootloader_multi_device()

bool test_bootloader_multi_device ( )
noexcept
Here is the call graph for this function:
Here is the caller graph for this function:

◆ test_bootloader_parameter_mode()

bool test_bootloader_parameter_mode ( )
noexcept
Here is the call graph for this function:
Here is the caller graph for this function:

◆ test_bootloader_performance_benchmarks()

bool test_bootloader_performance_benchmarks ( )
noexcept
Here is the call graph for this function:
Here is the caller graph for this function:

◆ test_bootloader_register_mode()

bool test_bootloader_register_mode ( )
noexcept
Here is the call graph for this function:
Here is the caller graph for this function:

◆ test_bootloader_spi_interface()

bool test_bootloader_spi_interface ( )
noexcept
Here is the call graph for this function:
Here is the caller graph for this function:

◆ test_bootloader_uart_interface()

bool test_bootloader_uart_interface ( )
noexcept
Here is the call graph for this function:
Here is the caller graph for this function:

Variable Documentation

◆ ENABLE_CLOCK_TESTS

constexpr bool ENABLE_CLOCK_TESTS = false
staticconstexpr

◆ ENABLE_CORE_TESTS

constexpr bool ENABLE_CORE_TESTS = true
staticconstexpr

◆ ENABLE_ERROR_HANDLING_TESTS

constexpr bool ENABLE_ERROR_HANDLING_TESTS = false
staticconstexpr

◆ ENABLE_INTERFACE_TESTS

constexpr bool ENABLE_INTERFACE_TESTS = false
staticconstexpr

◆ ENABLE_PARAMETER_MODE_TESTS

constexpr bool ENABLE_PARAMETER_MODE_TESTS = true
staticconstexpr

◆ ENABLE_PERFORMANCE_TESTS

constexpr bool ENABLE_PERFORMANCE_TESTS = false
staticconstexpr

◆ ENABLE_REGISTER_MODE_TESTS

constexpr bool ENABLE_REGISTER_MODE_TESTS = true
staticconstexpr

◆ ENABLE_STRESS_TESTS

constexpr bool ENABLE_STRESS_TESTS = false
staticconstexpr

◆ g_test_results

TestResults g_test_results
static

◆ TAG

const char* TAG = "Bootloader_Test"
static