|
HF-TMC9660 Driver 0.1.0-dev
Hardware Agnostic C++ Driver for the TMC9660
|
Communication interfaces for TMC9660 Parameter Mode devices using TMCL protocol over SPI. More...
#include <array>#include <cstdarg>#include <cstdint>#include <cstdio>#include <cstdlib>#include <cstring>#include <span>#include <string>Go to the source code of this file.
Classes | |
| struct | tmc9660::TMCLReply |
| Reply structure returned by TMCL command operations. More... | |
| struct | tmc9660::TMCLFrame |
| Frame structure for TMCL commands. More... | |
| class | tmc9660::CommInterface< Derived > |
| SPI status codes as per TMC9660 Parameter Mode. More... | |
| class | tmc9660::SpiCommInterface< Derived > |
| CRTP-based SPI implementation of TMC9660CommInterface. More... | |
| class | tmc9660::UartCommInterface< Derived > |
| CRTP-based UART implementation of TMC9660CommInterface. More... | |
Namespaces | |
| namespace | tmc9660 |
Macros | |
| #define | TMC9660_LOG_DEBUG(comm_obj, level, tag, ...) (comm_obj).logDebug(level, tag, __VA_ARGS__) |
| Compile-time debug logging control for TMC9660 library. | |
Enumerations | |
| enum class | tmc9660::CommMode { tmc9660::SPI , tmc9660::UART } |
| Supported physical communication modes for TMC9660. More... | |
| enum class | tmc9660::TMC9660CtrlPin { tmc9660::RST , tmc9660::DRV_EN , tmc9660::FAULTN , tmc9660::WAKE } |
| TMC9660 control pin identifiers with board-agnostic naming. More... | |
| enum class | tmc9660::GpioSignal { tmc9660::INACTIVE = 0 , tmc9660::ACTIVE = 1 } |
| GPIO signal states with board-agnostic naming. More... | |
| enum class | tmc9660::SPIStatus : uint8_t { tmc9660::OK = 0xFF , tmc9660::CHECKSUM_ERROR = 0x00 , tmc9660::FIRST_CMD = 0x0C , tmc9660::NOT_READY = 0xF0 } |
| SPI status codes as per TMC9660 Parameter Mode specification. More... | |
Functions | |
| static constexpr uint8_t | tmc9660::tmclChecksum (const uint8_t *bytes, size_t n, uint8_t start=0) noexcept |
| Calculate 8-bit checksum using sum of bytes method. | |
Communication interfaces for TMC9660 Parameter Mode devices using TMCL protocol over SPI.
| #define TMC9660_LOG_DEBUG | ( | comm_obj, | |
| level, | |||
| tag, | |||
| ... ) (comm_obj).logDebug(level, tag, __VA_ARGS__) |
Compile-time debug logging control for TMC9660 library.
Define TMC9660_DISABLE_DEBUG_LOGGING before including this header to completely disable all debug logging. When disabled, all logDebug() calls are optimized out at compile time, including argument evaluation (via macro replacement).
Example usage: #define TMC9660_DISABLE_DEBUG_LOGGING #include "TMC9660CommInterface.hpp"
Or via compiler flags: -DTMC9660_DISABLE_DEBUG_LOGGING