HF-TMC9660 Driver
Hardware Agnostic C++ Driver for the TMC9660
|
#include <cstdint>
Go to the source code of this file.
Namespaces | |
namespace | tmc9660 |
namespace | tmc9660::tmcl |
Macros | |
#define | OP_LIST(X) |
Operation codes accepted by the TMC9660 Parameter Mode (Table 18). | |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case Op::NAME: return #NAME; |
#define | CALC_OPERATION_LIST(X) |
#define | X(NAME, VALUE, DOC) NAME = VALUE, |
#define | X(NAME, VALUE, DOC) case CalcOperation::NAME: return #NAME; |
#define | JUMP_CONDITION_LIST(X) |
#define | X(NAME, VALUE, DOC) NAME = VALUE, |
#define | X(NAME, VALUE, DOC) case JumpCondition::NAME: return #NAME; |
#define | WAIT_CONDITION_LIST(X) |
#define | X(NAME, VALUE, DOC) NAME = VALUE, |
#define | X(NAME, VALUE, DOC) case WaitCondition::NAME: return #NAME; |
#define | REPLY_CODE_LIST(X) |
Status codes returned in the status byte of every TMCL reply. | |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case ReplyCode::NAME: return #NAME; |
#define | RAMDEBUG_TYPE_LIST(X) |
TYPE field values when Operation::RamDebug is issued. | |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case RamDebugType::NAME: return #NAME; |
#define | RAMDEBUG_STATE_LIST(X) |
Values returned by ::RamDebugType::GET_STATE. | |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case RamDebugState::NAME: return #NAME; |
#define | GLOBAL_PARAM_BANK0_LIST(X) |
Non-motion parameters in bank 0: communication, I/O, heartbeat, hibernation, loops, auto-start, etc. | |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case GlobalParamBank0::NAME: return #NAME; |
#define | GLOBAL_PARAM_BANK2_LIST(X) |
User-script variables 0…15. RWE. | |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case GlobalParamBank2::NAME: return #NAME; |
#define | GLOBAL_PARAM_BANK3_LIST(X) |
Timer periods and input-trigger transitions for scripting interrupts. | |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case GlobalParamBank3::NAME: return #NAME; |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case TriggerTransition::NAME: return #NAME; |
#define | GATE_DRIVER_LIST(X) |
Parameters for gate driver timer and current settings (Table 20). | |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case GateDriver::NAME: return #NAME; |
#define | PWM_OUTPUT_POLARITY_LIST(X) |
Table — PWM Output Polarity: | |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case PwmOutputPolarity::NAME: return #NAME; |
#define | GATE_CURRENT_SINK_LIST(X) |
Enumerates possible values for UVW_SINK_CURRENT and Y2_SINK_CURRENT (50–2000mA). | |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case GateCurrentSink::NAME: return #NAME; |
#define | GATE_CURRENT_SOURCE_LIST(X) |
Enumerates possible values for UVW_SOURCE_CURRENT and Y2_SOURCE_CURRENT (25–1000mA). | |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case GateCurrentSource::NAME: return #NAME; |
#define | BOOTSTRAP_CURRENT_LIMIT_LIST(X) |
Enumerates possible values for BOOTSTRAP_CURRENT_LIMIT (45–391mA). | |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case BootstrapCurrentLimit::NAME: return #NAME; |
#define | OVERCURRENT_PROTECTION_LIST(X) |
Parameters for configuring gate driver overcurrent protection. | |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case OvercurrentProtection::NAME: return #NAME; |
#define | OVERCURRENT_ENABLE_LIST(X) |
Enumerates options for enabling or disabling overcurrent protection. | |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case OvercurrentEnable::NAME: return #NAME; |
#define | OVERCURRENT_THRESHOLD_LIST(X) |
Enumerates possible threshold values for overcurrent protection. | |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case OvercurrentThreshold::NAME: return #NAME; |
#define | OVERCURRENT_TIMING_LIST(X) |
Enumerates possible blanking and deglitch times for overcurrent protection. | |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case OvercurrentTiming::NAME: return #NAME; |
#define | VDS_USAGE_LIST(X) |
Enumerates options for VDS measurement usage in overcurrent protection. | |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case VdsUsage::NAME: return #NAME; |
#define | UNDERVOLTAGE_PROTECTION_LIST(X) |
Parameters for configuring undervoltage lockout (UVLO) protection. | |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case UndervoltageProtection::NAME: return #NAME; |
#define | UNDERVOLTAGE_LEVEL_LIST(X) |
Enumerates possible levels for undervoltage protection. | |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case UndervoltageLevel::NAME: return #NAME; |
#define | UNDERVOLTAGE_ENABLE_LIST(X) |
Enumerates options for enabling or disabling undervoltage protection. | |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case UndervoltageEnable::NAME: return #NAME; |
#define | VGS_SHORT_PROTECTION_LIST(X) |
Parameters for configuring gate-to-source (VGS) short circuit protection. | |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case VgsShortProtection::NAME: return #NAME; |
#define | VGS_SHORT_ENABLE_LIST(X) |
Enumerates options for enabling or disabling VGS short protection. | |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case VgsShortEnable::NAME: return #NAME; |
#define | VGS_BLANKING_TIME_LIST(X) |
Enumerates possible blanking times for VGS short protection. | |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case VgsBlankingTime::NAME: return #NAME; |
#define | VGS_DEGLITCH_TIME_LIST(X) |
Enumerates possible deglitch times for VGS short protection. | |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case VgsDeglitchTime::NAME: return #NAME; |
#define | MOTOR_CONFIG_LIST(X) |
Parameters for configuring motor characteristics and drive settings. | |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case MotorConfig::NAME: return #NAME; |
#define | MOTOR_TYPE_LIST(X) |
Enumerates supported motor types. | |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case MotorType::NAME: return #NAME; |
#define | MOTOR_DIRECTION_LIST(X) |
Enumerates motor rotation directions. | |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case MotorDirection::NAME: return #NAME; |
#define | PWM_SWITCHING_SCHEME_LIST(X) |
Enumerates PWM switching schemes. | |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case PwmSwitchingScheme::NAME: return #NAME; |
#define | COMMUTATION_MODE_LIST(X) |
Commutation modes define how the motor shaft angle is determined and the system's state. | |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case CommutationMode::NAME: return #NAME; |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case IdleMotorPwmBehavior::NAME: return #NAME; |
#define | ADC_CONFIG_LIST(X) |
Parameters for configuring ADCs for motor current measurement. | |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case AdcConfig::NAME: return #NAME; |
#define | ADC_SHUNT_TYPE_LIST(X) |
Enumerates shunt types for ADC measurements. | |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case AdcShuntType::NAME: return #NAME; |
#define | CSA_GAIN_LIST(X) |
Enumerates current sense amplifier gain settings. | |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case CsaGain::NAME: return #NAME; |
#define | CSA_FILTER_LIST(X) |
Enumerates current sense amplifier filter settings. | |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case CsaFilter::NAME: return #NAME; |
#define | ADC_MAPPING_LIST(X) |
Enumerates ADC mapping options for motor phases. | |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case AdcMapping::NAME: return #NAME; |
#define | ADC_INVERSION_LIST(X) |
Enumerates ADC inversion settings. | |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case AdcInversion::NAME: return #NAME; |
#define | PWM_FREQUENCY_LIST(X) |
Enumerates recommended PWM frequencies for different motor types. | |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case PwmFrequency::NAME: return #NAME; |
#define | FEEDBACK_SENSOR_CONFIG_LIST(X) |
Parameters for configuring feedback sensors (ABN, Hall, SPI encoders). | |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case FeedbackSensorConfig::NAME: return #NAME; |
#define | ABN_INIT_METHOD_LIST(X) |
Enumerates ABN encoder initialization methods. | |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case AbnInitMethod::NAME: return #NAME; |
#define | ABN_INIT_STATE_LIST(X) |
Enumerates ABN encoder initialization states. | |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case AbnInitState::NAME: return #NAME; |
#define | ABN_N_CHANNEL_FILTERING_LIST(X) |
Enumerates ABN N-channel filtering modes. | |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case AbnNChannelFiltering::NAME: return #NAME; |
#define | HALL_SECTOR_OFFSET_LIST(X) |
Enumerates Hall sector offsets. | |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case HallSectorOffset::NAME: return #NAME; |
#define | SPI_ENCODER_TRANSFER_LIST(X) |
Enumerates SPI encoder transfer modes. | |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case SpiEncoderTransfer::NAME: return #NAME; |
#define | SPI_INIT_METHOD_LIST(X) |
Enumerates SPI encoder initialization methods. | |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case SpiInitMethod::NAME: return #NAME; |
#define | ENABLE_DISABLE_LIST(X) |
Generic enable/disable settings used by various parameters. | |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case EnableDisable::NAME: return #NAME; |
#define | DIRECTION_LIST(X) |
Direction settings used by various encoder parameters. | |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case Direction::NAME: return #NAME; |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case TorqueFluxControl::NAME: return #NAME; |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case TorqueFluxPiSeparation::NAME: return #NAME; |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case CurrentPiNormalization::NAME: return #NAME; |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case VelocityControl::NAME: return #NAME; |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case VelocitySensorSelection::NAME: return #NAME; |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case VelocityPiNorm::NAME: return #NAME; |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case VelocityMeterMode::NAME: return #NAME; |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case AccelerationFFShift::NAME: return #NAME; |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case PositionControl::NAME: return #NAME; |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case PositionSensorSelection::NAME: return #NAME; |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case PositionPiNorm::NAME: return #NAME; |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case RamperStopConfig::NAME: return #NAME; |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case ReferenceSwitchEnable::NAME: return #NAME; |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case ReferenceSwitchPolaritySwap::NAME: return #NAME; |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case ReferenceSwitchLatchSettings::NAME: return #NAME; |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case EventStopSettings::NAME: return #NAME; |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case BiquadFilter::NAME: return #NAME; |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case BiquadFilterEnable::NAME: return #NAME; |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case FaultHandling::NAME: return #NAME; |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case GdrvRetryBehaviour::NAME: return #NAME; |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case DriveFaultBehaviour::NAME: return #NAME; |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case IitMonitor::NAME: return #NAME; |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case TemperatureProtection::NAME: return #NAME; |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case HeartbeatMonitoring::NAME: return #NAME; |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case HeartbeatMonitoringConfig::NAME: return #NAME; |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case BrakeChopper::NAME: return #NAME; |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case MechanicalBrake::NAME: return #NAME; |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case ReferenceSearch::NAME: return #NAME; |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case ReferenceSwitchSearchMode::NAME: return #NAME; |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case ReferenceSearchCommand::NAME: return #NAME; |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case ReferenceSearchStatus::NAME: return #NAME; |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case StepDir::NAME: return #NAME; |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case StepDirStepDividerShift::NAME: return #NAME; |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case HibernationWakeup::NAME: return #NAME; |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case PowerDownTimeout::NAME: return #NAME; |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case SystemStatusSupply::NAME: return #NAME; |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case InternalMeasurement::NAME: return #NAME; |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case CombinedDiagnosticValues::NAME: return #NAME; |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case ErrorsAndFlags::NAME: return #NAME; |
#define | FLAG(bit) (1u << (bit)) /** Bit flag macro */ |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case GeneralStatusFlags::NAME: return #NAME; |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case GeneralErrorFlags::NAME: return #NAME; |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case GateDriverErrorFlags::NAME: return #NAME; |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
#define | X(NAME, VALUE, DOC) case AdcStatusFlags::NAME: return #NAME; |
#define | X(NAME, VALUE, DOC) NAME = VALUE DOC, |
Trigger Transition Options | |
#define | TRIGGER_TRANSITION_LIST(X) |
For all "_TRIGGER_TRANSITION" params: 0=OFF, 1=RISING, 2=FALLING, 3=BOTH. | |
enum class | tmc9660::tmcl::TriggerTransition : uint8_t { tmc9660::tmcl::X } |
const char * | tmc9660::tmcl::to_string (TriggerTransition e) |
Idle Motor PWM Behavior | |
#define | IDLE_MOTOR_PWM_BEHAVIOR_LIST(X) |
PWM behavior in commutation mode "System Off" (Parameter ID: 9). | |
enum class | tmc9660::tmcl::IdleMotorPwmBehavior : std::uint8_t { tmc9660::tmcl::X } |
const char * | tmc9660::tmcl::to_string (IdleMotorPwmBehavior behavior) |
Torque and Flux Control Parameters | |
#define | TORQUE_FLUX_CONTROL_LIST(X) |
Parameters for configuring torque and flux control loops. | |
enum class | tmc9660::tmcl::TorqueFluxControl : uint16_t { tmc9660::tmcl::X } |
const char * | tmc9660::tmcl::to_string (TorqueFluxControl config) |
Torque/Flux PI Separation | |
#define | TORQUE_FLUX_PI_SEPARATION_LIST(X) |
Selects if torque and flux PI controllers use separate parameters. | |
enum class | tmc9660::tmcl::TorqueFluxPiSeparation : uint8_t { tmc9660::tmcl::X } |
const char * | tmc9660::tmcl::to_string (TorqueFluxPiSeparation separation) |
Current PI Normalization Format | |
#define | CURRENT_PI_NORMALIZATION_LIST(X) |
Normalization format for current PI controller output. | |
enum class | tmc9660::tmcl::CurrentPiNormalization : uint8_t { tmc9660::tmcl::X } |
const char * | tmc9660::tmcl::to_string (CurrentPiNormalization norm) |
Velocity Mode Parameters | |
#define | VELOCITY_CONTROL_LIST(X) |
Parameters for configuring velocity control and ramping. | |
enum class | tmc9660::tmcl::VelocityControl : uint16_t { tmc9660::tmcl::X } |
const char * | tmc9660::tmcl::to_string (VelocityControl config) |
Velocity Sensor Selection | |
#define | VELOCITY_SENSOR_SELECTION_LIST(X) |
Enumerates feedback sources for velocity PI regulator. | |
enum class | tmc9660::tmcl::VelocitySensorSelection : uint8_t { tmc9660::tmcl::X } |
const char * | tmc9660::tmcl::to_string (VelocitySensorSelection selection) |
Velocity PI Normalization | |
#define | VELOCITY_PI_NORM_LIST(X) |
Enumerates normalization formats for velocity PI controller. | |
enum class | tmc9660::tmcl::VelocityPiNorm : uint8_t { tmc9660::tmcl::X } |
const char * | tmc9660::tmcl::to_string (VelocityPiNorm norm) |
Velocity Meter Modes | |
#define | VELOCITY_METER_MODE_LIST(X) |
Enumerates velocity meter modes. | |
enum class | tmc9660::tmcl::VelocityMeterMode : std::uint8_t { tmc9660::tmcl::X } |
const char * | tmc9660::tmcl::to_string (VelocityMeterMode mode) |
Acceleration Feedforward Shift | |
#define | ACCELERATION_FF_SHIFT_LIST(X) |
Enumerates shift values for acceleration feedforward. | |
enum class | tmc9660::tmcl::AccelerationFFShift : uint8_t { tmc9660::tmcl::X } |
const char * | tmc9660::tmcl::to_string (AccelerationFFShift shift) |
Position Mode Parameters | |
#define | POSITION_CONTROL_LIST(X) |
Parameters for configuring position control and ramping. | |
enum class | tmc9660::tmcl::PositionControl : uint16_t { tmc9660::tmcl::X } |
const char * | tmc9660::tmcl::to_string (PositionControl config) |
Position Sensor Selection | |
#define | POSITION_SENSOR_SELECTION_LIST(X) |
Enumerates feedback sources for position PI regulator. | |
enum class | tmc9660::tmcl::PositionSensorSelection : uint8_t { tmc9660::tmcl::X } |
const char * | tmc9660::tmcl::to_string (PositionSensorSelection selection) |
Position PI Normalization | |
#define | POSITION_PI_NORM_LIST(X) |
Enumerates normalization formats for position PI controller. | |
enum class | tmc9660::tmcl::PositionPiNorm : uint8_t { tmc9660::tmcl::X } |
const char * | tmc9660::tmcl::to_string (PositionPiNorm norm) |
Ramper Stop Condition and Reference Switch Parameters | |
#define | RAMPER_STOP_CONFIG_LIST(X) |
Parameters for configuring ramper stop conditions and reference switch behavior. | |
enum class | tmc9660::tmcl::RamperStopConfig : uint16_t { tmc9660::tmcl::X } |
const char * | tmc9660::tmcl::to_string (RamperStopConfig config) |
Reference Switch Enable | |
#define | REFERENCE_SWITCH_ENABLE_LIST(X) |
Bitwise enable for stopping when reference switch input is triggered. | |
enum class | tmc9660::tmcl::ReferenceSwitchEnable : uint8_t { tmc9660::tmcl::X } |
const char * | tmc9660::tmcl::to_string (ReferenceSwitchEnable enable) |
Reference Switch Polarity and Swap | |
#define | REFERENCE_SWITCH_POLARITY_SWAP_LIST(X) |
Bitwise configuration for reference switch polarity and swapping. | |
enum class | tmc9660::tmcl::ReferenceSwitchPolaritySwap : uint8_t { tmc9660::tmcl::X } |
const char * | tmc9660::tmcl::to_string (ReferenceSwitchPolaritySwap config) |
Reference Switch Latch Settings | |
#define | REFERENCE_SWITCH_LATCH_SETTINGS_LIST(X) |
Bitwise configuration for reference switch latch behavior. | |
enum class | tmc9660::tmcl::ReferenceSwitchLatchSettings : uint8_t { tmc9660::tmcl::X } |
const char * | tmc9660::tmcl::to_string (ReferenceSwitchLatchSettings setting) |
Event Stop Settings | |
#define | EVENT_STOP_SETTINGS_LIST(X) |
Bitwise configuration for stop conditions. | |
enum class | tmc9660::tmcl::EventStopSettings : uint8_t { tmc9660::tmcl::X } |
const char * | tmc9660::tmcl::to_string (EventStopSettings setting) |
Biquad Filter Parameters | |
#define | BIQUAD_FILTER_LIST(X) |
Parameters for configuring biquad filters for torque and velocity control loops. | |
enum class | tmc9660::tmcl::BiquadFilter : uint16_t { tmc9660::tmcl::X } |
const char * | tmc9660::tmcl::to_string (BiquadFilter e) |
Biquad Filter Enable/Disable | |
#define | BIQUAD_FILTER_ENABLE_LIST(X) |
Enumerates enable/disable options for biquad filters. | |
enum class | tmc9660::tmcl::BiquadFilterEnable : uint8_t { tmc9660::tmcl::X } |
const char * | tmc9660::tmcl::to_string (BiquadFilterEnable enable) |
Fault Handling Parameters | |
#define | FAULT_HANDLING_LIST(X) |
Parameters for configuring system behavior on fault conditions. | |
enum class | tmc9660::tmcl::FaultHandling : uint16_t { tmc9660::tmcl::X } |
const char * | tmc9660::tmcl::to_string (FaultHandling config) |
Gate Driver Retry Behaviour | |
#define | GDRV_RETRY_BEHAVIOUR_LIST(X) |
System state after a gate driver fault occurs. | |
enum class | tmc9660::tmcl::GdrvRetryBehaviour : uint8_t { tmc9660::tmcl::X } |
const char * | tmc9660::tmcl::to_string (GdrvRetryBehaviour behaviour) |
Drive Fault Behaviour | |
#define | DRIVE_FAULT_BEHAVIOUR_LIST(X) |
System state after all retries fail following a fault. | |
enum class | tmc9660::tmcl::DriveFaultBehaviour : std::uint8_t { tmc9660::tmcl::X } |
const char * | tmc9660::tmcl::to_string (DriveFaultBehaviour behaviour) |
IIT Monitor Parameters | |
#define | IIT_MONITOR_LIST(X) |
Parameters for configuring IIT (I²t) monitoring and protection. | |
enum class | tmc9660::tmcl::IitMonitor : uint16_t { tmc9660::tmcl::X } |
const char * | tmc9660::tmcl::to_string (IitMonitor e) |
Temperature Protection Parameters | |
#define | TEMPERATURE_PROTECTION_LIST(X) |
Parameters for configuring temperature protection using external and internal sensors. | |
enum class | tmc9660::tmcl::TemperatureProtection : uint16_t { tmc9660::tmcl::X } |
const char * | tmc9660::tmcl::to_string (TemperatureProtection e) |
Heartbeat Monitoring Parameters | |
#define | HEARTBEAT_MONITORING_LIST(X) |
Parameters for configuring heartbeat monitoring. | |
enum class | tmc9660::tmcl::HeartbeatMonitoring : uint16_t { tmc9660::tmcl::X } |
const char * | tmc9660::tmcl::to_string (HeartbeatMonitoring e) |
Heartbeat Monitoring Config | |
#define | HEARTBEAT_MONITORING_CONFIG_LIST(X) |
Enumerates heartbeat monitoring interface selection. | |
enum class | tmc9660::tmcl::HeartbeatMonitoringConfig : uint8_t { tmc9660::tmcl::X } |
const char * | tmc9660::tmcl::to_string (HeartbeatMonitoringConfig e) |
Brake Chopper Parameters | |
#define | BRAKE_CHOPPER_LIST(X) |
Parameters for configuring the brake chopper functionality. | |
enum class | tmc9660::tmcl::BrakeChopper : uint16_t { tmc9660::tmcl::X } |
const char * | tmc9660::tmcl::to_string (BrakeChopper e) |
Mechanical Brake Parameters | |
#define | MECHANICAL_BRAKE_LIST(X) |
Parameters for controlling an external mechanical brake. | |
enum class | tmc9660::tmcl::MechanicalBrake : uint16_t { tmc9660::tmcl::X } |
const char * | tmc9660::tmcl::to_string (MechanicalBrake e) |
Reference Search (Automatic Homing) Parameters | |
#define | REFERENCE_SEARCH_LIST(X) |
Parameters for configuring automatic homing/reference search routines. | |
enum class | tmc9660::tmcl::ReferenceSearch : uint16_t { tmc9660::tmcl::X } |
const char * | tmc9660::tmcl::to_string (ReferenceSearch e) |
Reference Search Modes | |
#define | REFERENCE_SEARCH_MODE_LIST(X) |
Enumerates reference search (homing) patterns. | |
enum class | tmc9660::tmcl::ReferenceSwitchSearchMode : uint8_t { tmc9660::tmcl::X } |
const char * | tmc9660::tmcl::to_string (ReferenceSwitchSearchMode e) |
Reference Search TMCL Command Types | |
#define | REFERENCE_SEARCH_COMMAND_LIST(X) |
Enumerates TMCL RFS (13) command types for reference search. | |
enum class | tmc9660::tmcl::ReferenceSearchCommand : uint8_t { tmc9660::tmcl::X } |
const char * | tmc9660::tmcl::to_string (ReferenceSearchCommand e) |
Reference Search Status Codes | |
#define | REFERENCE_SEARCH_STATUS_LIST(X) |
Enumerates status codes for reference search state machine. | |
enum class | tmc9660::tmcl::ReferenceSearchStatus : uint8_t { tmc9660::tmcl::X } |
const char * | tmc9660::tmcl::to_string (ReferenceSearchStatus e) |
Step/Dir Interface Parameters | |
#define | STEP_DIR_LIST(X) |
Parameters for configuring the STEP/DIR target movement interface. | |
enum class | tmc9660::tmcl::StepDir : uint16_t { tmc9660::tmcl::X } |
const char * | tmc9660::tmcl::to_string (StepDir e) |
Step/Dir Microstep Divider Shift | |
#define | STEP_DIR_STEP_DIVIDER_SHIFT_LIST(X) |
Enumerates micro-step divider shift settings for STEP/DIR interface. | |
enum class | tmc9660::tmcl::StepDirStepDividerShift : uint8_t { tmc9660::tmcl::X } |
const char * | tmc9660::tmcl::to_string (StepDirStepDividerShift e) |
Hibernation and Wakeup Parameters | |
#define | HIBERNATION_WAKEUP_LIST(X) |
Parameters for configuring hibernation (low-power) and wakeup behavior. | |
enum class | tmc9660::tmcl::HibernationWakeup : uint16_t { tmc9660::tmcl::X } |
const char * | tmc9660::tmcl::to_string (HibernationWakeup e) |
Power Down Timeout | |
#define | POWER_DOWN_TIMEOUT_LIST(X) |
Enumerates timeout durations for power-down state. | |
enum class | tmc9660::tmcl::PowerDownTimeout : uint8_t { tmc9660::tmcl::X } |
const char * | tmc9660::tmcl::to_string (PowerDownTimeout e) |
System Supply Parameters | |
@{System Supply Parameters | |
#define | SYSTEM_STATUS_SUPPLY_LIST(X) |
Parameters for supply voltage warnings. | |
enum class | tmc9660::tmcl::SystemStatusSupply : uint16_t { tmc9660::tmcl::X } |
const char * | tmc9660::tmcl::to_string (SystemStatusSupply e) |
Internal Measurement Parameters | |
@{Internal Measurement Parameters | |
#define | INTERNAL_MEASUREMENT_LIST(X) |
Raw diagnostic values and FOC internal measurements. | |
enum class | tmc9660::tmcl::InternalMeasurement : uint16_t { tmc9660::tmcl::X } |
const char * | tmc9660::tmcl::to_string (InternalMeasurement e) |
Combined Diagnostic Values | |
@{Combined Diagnostic Values | |
#define | COMBINED_DIAGNOSTIC_VALUES_LIST(X) |
Simplified combined measurement registers used during tuning. | |
enum class | tmc9660::tmcl::CombinedDiagnosticValues : uint16_t { tmc9660::tmcl::X } |
const char * | tmc9660::tmcl::to_string (CombinedDiagnosticValues e) |
Temperature and Error Flags Parameters | |
#define | ERRORS_AND_FLAGS_LIST(X) |
Parameters for temperature monitoring and error flags. | |
enum class | tmc9660::tmcl::ErrorsAndFlags : uint16_t { tmc9660::tmcl::X } |
const char * | tmc9660::tmcl::to_string (ErrorsAndFlags e) |
General Status Flags | |
#define | GENERAL_STATUS_FLAGS_LIST(X) |
General status flags indicating system state, events, and hardware availability. | |
enum class | tmc9660::tmcl::GeneralStatusFlags : uint32_t { tmc9660::tmcl::X } |
const char * | tmc9660::tmcl::to_string (GeneralStatusFlags e) |
General Error Flags | |
#define | GENERAL_ERROR_FLAGS_LIST(X) |
Enumerates general error flags for GENERAL_ERROR_FLAGS. | |
enum class | tmc9660::tmcl::GeneralErrorFlags : uint32_t { tmc9660::tmcl::X } |
const char * | tmc9660::tmcl::to_string (GeneralErrorFlags e) |
Gate Driver Error Flags | |
#define | GATE_DRIVER_ERROR_FLAGS_LIST(X) |
Enumerates gate driver error flags for GDRV_ERROR_FLAGS. | |
enum class | tmc9660::tmcl::GateDriverErrorFlags : uint32_t { tmc9660::tmcl::X } |
const char * | tmc9660::tmcl::to_string (GateDriverErrorFlags e) |
ADC Status Flags | |
@{ | |
#define | ADC_STATUS_FLAGS_LIST(X) |
Bit flags reported via parameter ADC_STATUS_FLAGS. | |
enum class | tmc9660::tmcl::AdcStatusFlags : uint32_t { tmc9660::tmcl::X } |
const char * | tmc9660::tmcl::to_string (AdcStatusFlags e) |
#define ABN_INIT_METHOD_LIST | ( | X | ) |
Enumerates ABN encoder initialization methods.
Table — ABN Initialization Methods:
NUMBER | NAME | DESCRIPTION |
---|---|---|
0 | FORCED_PHI_E_ZERO_WITH_ACTIVE_SWING | Force phi_e zero with active swing. |
1 | FORCED_PHI_E_90_ZERO | Force phi_e 90-degree then zero. |
2 | USE_HALL | Use Hall sensor for alignment. |
3 | USE_N_CHANNEL_OFFSET | Use N-channel offset for alignment. |
#define ABN_INIT_STATE_LIST | ( | X | ) |
Enumerates ABN encoder initialization states.
Table — ABN Initialization States:
NUMBER | NAME | DESCRIPTION |
---|---|---|
0 | IDLE | Initialization idle. |
1 | BUSY | Initialization in progress. |
2 | WAIT | Waiting for completion. |
3 | DONE | Initialization completed. |
#define ABN_N_CHANNEL_FILTERING_LIST | ( | X | ) |
Enumerates ABN N-channel filtering modes.
Table — ABN N-Channel Filtering Modes:
NUMBER | NAME | DESCRIPTION |
---|---|---|
0 | FILTERING_OFF | No filtering. |
1 | N_EVENT_ON_A_HIGH_B_HIGH | Event on A high, B high. |
2 | N_EVENT_ON_A_HIGH_B_LOW | Event on A high, B low. |
3 | N_EVENT_ON_A_LOW_B_HIGH | Event on A low, B high. |
4 | N_EVENT_ON_A_LOW_B_LOW | Event on A low, B low. |
#define ACCELERATION_FF_SHIFT_LIST | ( | X | ) |
Enumerates shift values for acceleration feedforward.
Table — Acceleration Feedforward Shift:
NUMBER | NAME | DESCRIPTION |
---|---|---|
0 | NO_SHIFT | No shift. |
1 | SHIFT_4_BIT | Shift right by 4 bits. |
2 | SHIFT_8_BIT | Shift right by 8 bits. |
3 | SHIFT_12_BIT | Shift right by 12 bits. |
4 | SHIFT_16_BIT | Shift right by 16 bits. |
5 | SHIFT_20_BIT | Shift right by 20 bits. |
6 | SHIFT_24_BIT | Shift right by 24 bits. |
#define ADC_CONFIG_LIST | ( | X | ) |
Parameters for configuring ADCs for motor current measurement.
Table — ADC Configuration Parameters:
NUMBER | NAME | DESCRIPTION |
---|---|---|
12 | ADC_SHUNT_TYPE | Shunt type for ADC measurements. See AdcShuntType enum. Default: 4 (BOTTOM_SHUNTS). |
13 | ADC_I0_RAW | Raw ADC measurement for I0 shunt [-32768, 32767]. Read-only. |
14 | ADC_I1_RAW | Raw ADC measurement for I1 shunt [-32768, 32767]. Read-only. |
15 | ADC_I2_RAW | Raw ADC measurement for I2 shunt [-32768, 32767]. Read-only. |
16 | ADC_I3_RAW | Raw ADC measurement for I3 shunt [-32768, 32767]. Read-only. |
17 | CSA_GAIN_ADC_I0_TO_ADC_I2 | Current sense amplifier gain for ADC I0, I1 and I2. See CsaGain enum. Default: 1 (GAIN_10X). |
18 | CSA_GAIN_ADC_I3 | Current sense amplifier gain for ADC I3. See CsaGain enum. Default: 1 (GAIN_10X). |
19 | CSA_FILTER_ADC_I0_TO_ADC_I2 | Current sense amplifier filter for ADC I0, I1 and I2. See CsaFilter enum. Default: 0 (T_0_55_MICROSEC). |
20 | CSA_FILTER_ADC_I3 | Current sense amplifier filter for ADC I3. See CsaFilter enum. Default: 0 (T_0_55_MICROSEC). |
21 | CURRENT_SCALING_FACTOR | Current scaling factor converting internal units to real-world units [1, 65535]. Default: 520. |
22 | PHASE_UX1_ADC_MAPPING | Mapping ADC to UX1. See AdcMapping enum. Default: 0 (ADC_I0). |
23 | PHASE_VX2_ADC_MAPPING | Mapping ADC to VX2. See AdcMapping enum. Default: 1 (ADC_I1). |
24 | PHASE_WY1_ADC_MAPPING | Mapping ADC to WY1. See AdcMapping enum. Default: 2 (ADC_I2). |
25 | PHASE_Y2_ADC_MAPPING | Mapping ADC to Y2. See AdcMapping enum. Default: 3 (ADC_I3). |
26 | ADC_I0_SCALE | Scaling applied to ADC I0 [1, 32767]. Default: 1024. |
27 | ADC_I1_SCALE | Scaling applied to ADC I1 [1, 32767]. Default: 1024. |
28 | ADC_I2_SCALE | Scaling applied to ADC I2 [1, 32767]. Default: 1024. |
29 | ADC_I3_SCALE | Scaling applied to ADC I3 [1, 32767]. Default: 1024. |
30 | ADC_I0_INVERTED | Invert the reading of ADC I0. 0: NOT_INVERTED, 1: INVERTED. Default: 1. |
31 | ADC_I1_INVERTED | Invert the reading of ADC I1. 0: NOT_INVERTED, 1: INVERTED. Default: 1. |
32 | ADC_I2_INVERTED | Invert the reading of ADC I2. 0: NOT_INVERTED, 1: INVERTED. Default: 1. |
33 | ADC_I3_INVERTED | Invert the reading of ADC I3. 0: NOT_INVERTED, 1: INVERTED. Default: 1. |
34 | ADC_I0_OFFSET | Offset applied to ADC I0 measurement [-32768, 32767]. Default: 0. |
35 | ADC_I1_OFFSET | Offset applied to ADC I1 measurement [-32768, 32767]. Default: 0. |
36 | ADC_I2_OFFSET | Offset applied to ADC I2 measurement [-32768, 32767]. Default: 0. |
37 | ADC_I3_OFFSET | Offset applied to ADC I3 measurement [-32768, 32767]. Default: 0. |
38 | ADC_I0 | Scaled and offset compensated ADC I0 measurement [-32768, 32767]. Read-only. |
39 | ADC_I1 | Scaled and offset compensated ADC I1 measurement [-32768, 32767]. Read-only. |
40 | ADC_I2 | Scaled and offset compensated ADC I2 measurement [-32768, 32767]. Read-only. |
41 | ADC_I3 | Scaled and offset compensated ADC I3 measurement [-32768, 32767]. Read-only. |
#define ADC_INVERSION_LIST | ( | X | ) |
Enumerates ADC inversion settings.
Table — ADC Inversion Settings:
NUMBER | NAME | DESCRIPTION |
---|---|---|
0 | NOT_INVERTED | Normal reading (not inverted) |
1 | INVERTED | Inverted reading |
#define ADC_MAPPING_LIST | ( | X | ) |
Enumerates ADC mapping options for motor phases.
Table — ADC Mapping:
NUMBER | NAME | DESCRIPTION |
---|---|---|
0 | ADC_I0 | Map to ADC I0 |
1 | ADC_I1 | Map to ADC I1 |
2 | ADC_I2 | Map to ADC I2 |
3 | ADC_I3 | Map to ADC I3 |
#define ADC_SHUNT_TYPE_LIST | ( | X | ) |
Enumerates shunt types for ADC measurements.
Table — ADC Shunt Types:
NUMBER | NAME | DESCRIPTION |
---|---|---|
0 | INLINE_UVW | Inline shunts for U, V, W phases |
1 | INLINE_VW | Inline shunts for V, W phases |
2 | INLINE_UW | Inline shunts for U, W phases |
3 | INLINE_UV | Inline shunts for U, V phases |
4 | BOTTOM_SHUNTS | Bottom shunts |
#define ADC_STATUS_FLAGS_LIST | ( | X | ) |
Bit flags reported via parameter ADC_STATUS_FLAGS.
NUMBER | NAME | DESCRIPTION |
---|---|---|
0x00000001 | I0_CLIPPED | No description provided. |
0x00000002 | I1_CLIPPED | No description provided. |
0x00000004 | I2_CLIPPED | No description provided. |
0x00000008 | I3_CLIPPED | No description provided. |
0x00000010 | U0_CLIPPED | No description provided. |
0x00000020 | U1_CLIPPED | No description provided. |
0x00000040 | U2_CLIPPED | No description provided. |
0x00000080 | U3_CLIPPED | No description provided. |
0x00000100 | AIN0_CLIPPED | No description provided. |
0x00000200 | AIN1_CLIPPED | No description provided. |
0x00000400 | AIN2_CLIPPED | No description provided. |
0x00000800 | AIN3_CLIPPED | No description provided. |
0x00001000 | VM_CLIPPED | No description provided. |
0x00002000 | TEMP_CLIPPED | No description provided. |
#define BIQUAD_FILTER_ENABLE_LIST | ( | X | ) |
Enumerates enable/disable options for biquad filters.
Table — Biquad Filter Enable/Disable:
NUMBER | NAME | DESCRIPTION |
---|---|---|
0 | DISABLED | Filter disabled. |
1 | ENABLED | Filter enabled. |
#define BIQUAD_FILTER_LIST | ( | X | ) |
Parameters for configuring biquad filters for torque and velocity control loops.
The TMC9660 Parameter Mode includes biquad filters to enhance the performance of its velocity and torque control loops. The biquad filter is a second-order digital filter, operating on current and past input/output samples using configurable coefficients.
The filter output Y(n) is calculated as: Y(n) = X(n)*b0 + X(n-1)*b1 + X(n-2)*b2 + Y(n-1)*a1 + Y(n-2)*a2 where:
The velocity biquad filter (enabled by default) filters the actual velocity used as input for the velocity controller. The torque biquad filter can be enabled to filter the target torque value.
NUMBER | NAME | DESCRIPTION |
---|---|---|
318 | TARGET_TORQUE_BIQUAD_FILTER_ENABLE | Enable target torque biquad filter. 0: DISABLED, 1: ENABLED. Default: 0. RWE |
319 | TARGET_TORQUE_BIQUAD_FILTER_ACOEFF_1 | Target torque biquad filter aCoeff_1 [-2147483648, 2147483647]. Default: 0. RWE |
320 | TARGET_TORQUE_BIQUAD_FILTER_ACOEFF_2 | Target torque biquad filter aCoeff_2 [-2147483648, 2147483647]. Default: 0. RWE |
321 | TARGET_TORQUE_BIQUAD_FILTER_BCOEFF_0 | Target torque biquad filter bCoeff_0 [-2147483648, 2147483647]. Default: 1048576. RWE |
322 | TARGET_TORQUE_BIQUAD_FILTER_BCOEFF_1 | Target torque biquad filter bCoeff_1 [-2147483648, 2147483647]. Default: 0. RWE |
323 | TARGET_TORQUE_BIQUAD_FILTER_BCOEFF_2 | Target torque biquad filter bCoeff_2 [-2147483648, 2147483647]. Default: 0. RWE |
324 | ACTUAL_VELOCITY_BIQUAD_FILTER_ENABLE | Enable actual velocity biquad filter. 0: DISABLED, 1: ENABLED. Default: 1. RWE |
325 | ACTUAL_VELOCITY_BIQUAD_FILTER_ACOEFF_1 | Actual velocity biquad filter aCoeff_1 [-2147483648, 2147483647]. Default: 1849195. RWE |
326 | ACTUAL_VELOCITY_BIQUAD_FILTER_ACOEFF_2 | Actual velocity biquad filter aCoeff_2 [-2147483648, 2147483647]. Default: 15961938. RWE |
327 | ACTUAL_VELOCITY_BIQUAD_FILTER_BCOEFF_0 | Actual velocity biquad filter bCoeff_0 [-2147483648, 2147483647]. Default: 3665. RWE |
328 | ACTUAL_VELOCITY_BIQUAD_FILTER_BCOEFF_1 | Actual velocity biquad filter bCoeff_1 [-2147483648, 2147483647]. Default: 7329. RWE |
329 | ACTUAL_VELOCITY_BIQUAD_FILTER_BCOEFF_2 | Actual velocity biquad filter bCoeff_2 [-2147483648, 2147483647]. Default: 3665. RWE |
#define BOOTSTRAP_CURRENT_LIMIT_LIST | ( | X | ) |
Enumerates possible values for BOOTSTRAP_CURRENT_LIMIT (45–391mA).
Table — Bootstrap Current Limit:
NUMBER | NAME | DESCRIPTION |
---|---|---|
0 | CUR_45_MA | 45 mA |
1 | CUR_91_MA | 91 mA |
2 | CUR_141_MA | 141 mA |
3 | CUR_191_MA | 191 mA |
4 | CUR_267_MA | 267 mA |
5 | CUR_292_MA | 292 mA |
6 | CUR_341_MA | 341 mA |
7 | CUR_391_MA | 391 mA |
#define BRAKE_CHOPPER_LIST | ( | X | ) |
Parameters for configuring the brake chopper functionality.
The brake chopper dissipates excess energy via an external brake resistor and MOSFET when supply voltage exceeds a set limit.
Table — Brake Chopper Parameters:
NUMBER | NAME | DESCRIPTION |
---|---|---|
212 | BRAKE_CHOPPER_ENABLE | Enable brake chopper. 0: DISABLED, 1: ENABLED. Default: 0. RWE |
213 | BRAKE_CHOPPER_VOLTAGE_LIMIT | Voltage limit [0.1V] to activate brake chopper. 50...1000. Default: 260. RWE |
214 | BRAKE_CHOPPER_HYSTERESIS | Hysteresis [0.1V] for deactivation. 0...50. Default: 5. RWE |
#define CALC_OPERATION_LIST | ( | X | ) |
#define COMBINED_DIAGNOSTIC_VALUES_LIST | ( | X | ) |
Simplified combined measurement registers used during tuning.
These parameters provide compact diagnostic values primarily used during motor tuning operations. They combine multiple measurements into single 32-bit values or provide integrated measurements to facilitate data collection at lower sampling rates.
NUMBER | NAME | DESCRIPTION |
---|---|---|
330 | TORQUE_FLUX_COMBINED_TARGET_VALUES | Raw (unscaled) torque and flux target values combined into one 32-bit value. Used for simplified compact measurement during tuning. [0...4294967295]. Read-only. |
331 | TORQUE_FLUX_COMBINED_ACTUAL_VALUES | Raw (unscaled) torque and flux actual values combined into one 32-bit value. Used for simplified compact measurement during tuning. [0...4294967295]. Read-only. |
332 | VOLTAGE_D_Q_COMBINED_ACTUAL_VALUES | Raw (unscaled) voltage actual values combined into one 32-bit value. Used for simplified compact measurement during tuning. [0...4294967295]. Read-only. |
333 | INTEGRATED_ACTUAL_TORQUE_VALUE | Periodically summed up actual torque value. Used for simplified measurement with low measurement frequency during tuning operations. [0...4294967295]. Read-only. |
334 | INTEGRATED_ACTUAL_VELOCITY_VALUE | Periodically summed up actual velocity value. Used for simplified measurement with low measurement frequency during tuning operations. [0...4294967295]. Read-only. |
#define COMMUTATION_MODE_LIST | ( | X | ) |
Commutation modes define how the motor shaft angle is determined and the system's state.
To turn a motor, the commutation mode must be selected using the parameter COMMUTATION_MODE
. This specifies the feedback system used to determine the motor's shaft angle. It is also used to enable/disable the system or switch to a state with shorted motor coils.
IDLE_MOTOR_PWM_BEHAVIOR
parameter:1
: PWM signals are switched off, leaving the motor electrically floating (default).0
: PWM signals remain active.OPENLOOP_VOLTAGE
parameter (PWM duty cycle relative to supply voltage).OPENLOOP_VOLTAGE
parameter with care.OPENLOOP_CURRENT
parameter and regulated by the flux control loop.MAX_FLUX
parameter.TARGET_VELOCITY
parameter.MAX_TORQUE
parameter.MAX_TORQUE
parameter.MAX_TORQUE
parameter.COMMUTATION_MODE
(Parameter ID: 4)IDLE_MOTOR_PWM_BEHAVIOR
(Parameter ID: 9)Commutation modes define how the motor shaft angle is determined and the system's state.
Table — Commutation Modes:
NUMBER | NAME | DESCRIPTION |
---|---|---|
0 | SYSTEM_OFF | System off (default after power-on/reset). |
1 | SYSTEM_OFF_LOW_SIDE_FETS_ON | All low-side FETs on (coils shorted to ground). |
2 | SYSTEM_OFF_HIGH_SIDE_FETS_ON | All high-side FETs on (coils shorted to supply). |
3 | FOC_OPENLOOP_VOLTAGE_MODE | Open-loop voltage mode (constant duty cycle). |
4 | FOC_OPENLOOP_CURRENT_MODE | Open-loop current mode (constant current). |
5 | FOC_ABN | FOC with ABN encoder feedback. |
6 | FOC_HALL_SENSOR | FOC with Hall sensor feedback. |
7 | RESERVED | Reserved. |
8 | FOC_SPI_ENC | FOC with SPI encoder feedback. |
9 | IDLE_MOTOR_PWM_BEHAVIOR | Idle motor PWM behavior. |
#define CSA_FILTER_LIST | ( | X | ) |
Enumerates current sense amplifier filter settings.
Table — Current Sense Amplifier Filter:
NUMBER | NAME | DESCRIPTION |
---|---|---|
0 | T_0_55_MICROSEC | 0.55 μs filter time |
1 | T_0_75_MICROSEC | 0.75 μs filter time |
2 | T_1_0_MICROSEC | 1.0 μs filter time |
3 | T_1_35_MICROSEC | 1.35 μs filter time |
#define CSA_GAIN_LIST | ( | X | ) |
Enumerates current sense amplifier gain settings.
Table — Current Sense Amplifier Gain:
NUMBER | NAME | DESCRIPTION |
---|---|---|
0 | GAIN_5X | 5x gain |
1 | GAIN_10X | 10x gain |
2 | GAIN_20X | 20x gain |
3 | GAIN_40X | 40x gain |
4 | GAIN_1X_BYPASS_CSA | 1x gain (bypass CSA) |
#define CURRENT_PI_NORMALIZATION_LIST | ( | X | ) |
Normalization format for current PI controller output.
Table — Current PI Normalization Format:
NUMBER | NAME | DESCRIPTION |
---|---|---|
0 | SHIFT_8_BIT | Output shifted right by 8 bits. |
1 | SHIFT_16_BIT | Output shifted right by 16 bits. |
#define DIRECTION_LIST | ( | X | ) |
Direction settings used by various encoder parameters.
Table — Direction Settings:
NUMBER | NAME | DESCRIPTION |
---|---|---|
0 | NOT_INVERTED | Normal direction. |
1 | INVERTED | Inverted direction. |
#define DRIVE_FAULT_BEHAVIOUR_LIST | ( | X | ) |
System state after all retries fail following a fault.
Table — Drive Fault Behaviour:
NUMBER | NAME | DESCRIPTION |
---|---|---|
0 | OPEN_CIRCUIT | Switch off and discharge LS/HS gates; motor spins freely. |
1 | ELECTRICAL_BRAKING | Switch off and, if possible, enable LS/HS gates for electrical braking. |
2 | MECHANICAL_BRAKING_AND_OPEN_CIRCUIT | Switch off, discharge LS/HS gates, and engage mechanical brake if configured. |
3 | MECHANICAL_AND_ELECTRICAL_BRAKING | Switch off, enable LS/HS gates if possible, and engage mechanical brake if configured. |
#define ENABLE_DISABLE_LIST | ( | X | ) |
Generic enable/disable settings used by various parameters.
Table — Enable/Disable Settings:
NUMBER | NAME | DESCRIPTION |
---|---|---|
0 | DISABLED | Feature disabled. |
1 | ENABLED | Feature enabled. |
#define ERRORS_AND_FLAGS_LIST | ( | X | ) |
Parameters for temperature monitoring and error flags.
NUMBER | NAME | DESCRIPTION |
---|---|---|
289 | GENERAL_STATUS_FLAGS | General status flags. See GeneralStatusFlags enum. Read-only. |
293 | EXTERNAL_TEMPERATURE | External temperature sensor reading [0-65535]. Read-only. |
294 | EXTERNAL_TEMPERATURE_SHUTDOWN_THRESHOLD | Shutdown threshold for external temperature [0-65535]. Default: 65535. |
295 | EXTERNAL_TEMPERATURE_WARNING_THRESHOLD | Warning threshold for external temperature [0-65535]. Default: 65535. |
296 | CHIP_TEMPERATURE | Chip temperature reading [0-65535]. Read-only. |
297 | CHIP_TEMPERATURE_SHUTDOWN_THRESHOLD | Shutdown threshold for chip temperature [0-65535]. Default: 65535. |
298 | CHIP_TEMPERATURE_WARNING_THRESHOLD | Warning threshold for chip temperature [0-65535]. Default: 65535. |
299 | GENERAL_ERROR_FLAGS | General error flags. See GeneralErrorFlags enum. Read-only. |
300 | GDRV_ERROR_FLAGS | Gate driver error flags. See GateDriverErrorFlags enum. Read-only. |
301 | ADC_STATUS_FLAGS | ADC status flags. See AdcStatusFlags enum. Write-to-clear. |
#define EVENT_STOP_SETTINGS_LIST | ( | X | ) |
Bitwise configuration for stop conditions.
Table — Event Stop Settings:
NUMBER | NAME | DESCRIPTION |
---|---|---|
0 | DO_HARD_STOP | Hard stop on event. |
1 | DO_SOFT_STOP | Soft stop (ramp down) on event. |
2 | STOP_ON_POS_DEVIATION | Stop on position deviation. |
3 | STOP_ON_POS_DEVIATION_SOFT_STOP | Stop on position deviation, soft stop. |
4 | STOP_ON_VEL_DEVIATION | Stop on velocity deviation. |
5 | STOP_ON_VEL_DEVIATION_SOFT_STOP | Stop on velocity deviation, soft stop. |
6 | STOP_ON_POS_VEL_DEVIATION | Stop on position or velocity deviation. |
7 | STOP_ON_POS_VEL_DEVIATION_SOFT_STOP | Stop on position or velocity deviation, soft stop. |
#define FAULT_HANDLING_LIST | ( | X | ) |
Parameters for configuring system behavior on fault conditions.
The TMC9660 supports advanced fault handling for overtemperature, I²T, and gate driver faults. The system can be configured to react with open-circuit, electrical braking, and/or mechanical braking. For gate driver faults, a retry mechanism is available. The number of retries and retry behavior are configurable. If all retries fail, the standard drive fault behavior is applied.
Table — Fault Handling Parameters:
NUMBER | NAME | DESCRIPTION |
---|---|---|
286 | GDRV_RETRY_BEHAVIOUR | State after a gate driver fault. See GdrvRetryBehaviour. Default: 0 (OPEN_CIRCUIT). RWE |
287 | DRIVE_FAULT_BEHAVIOUR | State after all retries fail. See DriveFaultBehaviour. Default: 0 (OPEN_CIRCUIT). RWE |
288 | FAULT_HANDLER_NUMBER_OF_RETRIES | Max number of retries per detected fault [0...255]. Default: 5. RWE |
#define FEEDBACK_SENSOR_CONFIG_LIST | ( | X | ) |
Parameters for configuring feedback sensors (ABN, Hall, SPI encoders).
Table — Feedback Sensor Configuration Parameters:
NUMBER | NAME | DESCRIPTION |
---|---|---|
89 | ABN_1_PHI_E | Phi_e calculated from ABN feedback [-32768, 32767]. Read-only. |
90 | ABN_1_STEPS | ABN encoder steps per rotation (CPR) [0, 16777215]. Default: 65536. |
91 | ABN_1_DIRECTION | ABN encoder rotation direction. 0: NOT_INVERTED, 1: INVERTED. Default: 0. |
92 | ABN_1_INIT_METHOD | ABN initialization method. See AbnInitMethod enum. Default: 0. |
93 | ABN_1_INIT_STATE | ABN initialization state. See AbnInitState enum. Read-only. |
94 | ABN_1_INIT_DELAY | Delay for forced phi_e initialization [1000, 10000 ms]. Default: 1000. |
95 | ABN_1_INIT_VELOCITY | Init velocity for N-channel offset [-200000, 200000]. Default: 5. |
96 | ABN_1_N_CHANNEL_PHI_E_OFFSET | Offset between phi_e zero and ABN index pulse [-32768, 32767]. Default: 0. |
97 | ABN_1_N_CHANNEL_INVERTED | ABN N-channel inversion. 0: ACTIVE_HIGH, 1: ACTIVE_LOW. Default: 0. |
98 | ABN_1_N_CHANNEL_FILTERING | ABN N-channel filtering. See AbnNChannelFiltering enum. Default: 0. |
99 | ABN_1_CLEAR_ON_NEXT_NULL | Clear position on next N-channel event. 0: DISABLED, 1: ENABLED. Default: 0. |
100 | ABN_1_VALUE | Raw ABN encoder counter value [0, 16777215]. Read-only. |
74 | HALL_PHI_E | Phi_e calculated from Hall feedback [-32768, 32767]. Read-only. |
75 | HALL_SECTOR_OFFSET | Hall sector offset. See HallSectorOffset enum. Default: 0. |
76 | HALL_FILTER_LENGTH | Hall signal filter length [0, 255]. Default: 0. |
77 | HALL_POSITION_0_OFFSET | Hall offset for 0-degree position [-32768, 32767]. Default: 0. |
78 | HALL_POSITION_60_OFFSET | Hall offset for 60-degree position [-32768, 32767]. Default: 10922. |
79 | HALL_POSITION_120_OFFSET | Hall offset for 120-degree position [-32768, 32767]. Default: 21845. |
80 | HALL_POSITION_180_OFFSET | Hall offset for 180-degree position [-32768, 32767]. Default: -32768. |
81 | HALL_POSITION_240_OFFSET | Hall offset for 240-degree position [-32768, 32767]. Default: -21846. |
82 | HALL_POSITION_300_OFFSET | Hall offset for 300-degree position [-32768, 32767]. Default: -10923. |
83 | HALL_INVERT_DIRECTION | Invert Hall angle direction. 0: NOT_INVERTED, 1: INVERTED. Default: 0. |
84 | HALL_EXTRAPOLATION_ENABLE | Enable Hall extrapolation. 0: DISABLED, 1: ENABLED. Default: 0. |
85 | HALL_PHI_E_OFFSET | Hall sensor mounting tolerance compensation [-32768, 32767]. Default: 0. |
181 | SPI_ENCODER_CS_SETTLE_DELAY_TIME | CS settle delay time [0, 6375 ns]. Default: 0. |
182 | SPI_ENCODER_CS_IDLE_DELAY_TIME | CS idle delay time between frames [0, 102 us]. Default: 0. |
183 | SPI_ENCODER_MAIN_TRANSFER_CMD_SIZE | Size of first SPI transfer frame [1, 16]. Default: 1. |
184 | SPI_ENCODER_SECONDARY_TRANSFER_CMD_SIZE | Size of optional secondary SPI transfer [0, 15]. Default: 0. |
185 | SPI_ENCODER_TRANSFER_DATA_3_0 | Transmit data and read received data (bytes 0-3). Default: 0. |
186 | SPI_ENCODER_TRANSFER_DATA_7_4 | Transmit data and read received data (bytes 4-7). Default: 0. |
187 | SPI_ENCODER_TRANSFER_DATA_11_8 | Transmit data and read received data (bytes 8-11). Default: 0. |
188 | SPI_ENCODER_TRANSFER_DATA_15_12 | Transmit data and read received data (bytes 12-15). Default: 0. |
189 | SPI_ENCODER_TRANSFER | SPI interface control. See SpiEncoderTransfer enum. Default: 0. |
190 | SPI_ENCODER_POSITION_COUNTER_MASK | Mask to extract position from received data [0, 4294967295]. Default: 0. |
191 | SPI_ENCODER_POSITION_COUNTER_SHIFT | Right bit shift for position value before mask [0, 127]. Default: 0. |
192 | SPI_ENCODER_POSITION_COUNTER_VALUE | Actual SPI encoder position value [0, 4294967295]. Read-only. |
193 | SPI_ENCODER_COMMUTATION_ANGLE | Actual absolute encoder angle value [-32768, 32767]. Read-only. |
194 | SPI_ENCODER_INITIALIZATION_METHOD | Encoder initialization method. See SpiInitMethod enum. Default: 0. |
195 | SPI_ENCODER_DIRECTION | SPI encoder direction. 0: NOT_INVERTED, 1: INVERTED. Default: 0. |
196 | SPI_ENCODER_OFFSET | Internal commutation offset [0, 4294967295]. Default: 0. |
197 | SPI_LUT_CORRECTION_ENABLE | Enable lookup table correction. 0: DISABLED, 1: ENABLED. Default: 0. |
198 | SPI_LUT_ADDRESS_SELECT | Address to read/write in lookup table [0, 255]. Default: 0. |
199 | SPI_LUT_DATA | Data to read/write to lookup table address [-128, 127]. Default: 0. |
201 | SPI_LUT_COMMON_SHIFT_FACTOR | LUT entries are multiplied with 2^SHIFT_FACTOR [-128, 127]. Default: 0. |
174 | ABN_2_STEPS | ABN 2 encoder steps per rotation (CPR) [0, 16777215]. Default: 1024. |
175 | ABN_2_DIRECTION | ABN 2 encoder rotation direction. 0: NORMAL, 1: INVERTED. Default: 0. |
176 | ABN_2_GEAR_RATIO | ABN 2 encoder gear ratio [1, 255]. Default: 1. |
177 | ABN_2_ENABLE | Enable ABN 2 encoder. 0: DISABLED, 1: ENABLED. Default: 0. |
178 | ABN_2_VALUE | Raw ABN 2 encoder counter value [0, 4294967295]. Read-only. |
#define FLAG | ( | bit | ) | (1u << (bit)) /** Bit flag macro */ |
#define GATE_CURRENT_SINK_LIST | ( | X | ) |
Enumerates possible values for UVW_SINK_CURRENT and Y2_SINK_CURRENT (50–2000mA).
Table — Gate Current Sink:
NUMBER | NAME | DESCRIPTION |
---|---|---|
0 | CUR_50_MA | 50 mA |
1 | CUR_100_MA | 100 mA |
2 | CUR_160_MA | 160 mA |
3 | CUR_210_MA | 210 mA |
4 | CUR_270_MA | 270 mA |
5 | CUR_320_MA | 320 mA |
6 | CUR_380_MA | 380 mA |
7 | CUR_430_MA | 430 mA |
8 | CUR_580_MA | 580 mA |
9 | CUR_720_MA | 720 mA |
10 | CUR_860_MA | 860 mA |
11 | CUR_1000_MA | 1000 mA |
12 | CUR_1250_MA | 1250 mA |
13 | CUR_1510_MA | 1510 mA |
14 | CUR_1770_MA | 1770 mA |
15 | CUR_2000_MA | 2000 mA |
#define GATE_CURRENT_SOURCE_LIST | ( | X | ) |
Enumerates possible values for UVW_SOURCE_CURRENT and Y2_SOURCE_CURRENT (25–1000mA).
Table — Gate Current Source:
NUMBER | NAME | DESCRIPTION |
---|---|---|
0 | CUR_25_MA | 25 mA |
1 | CUR_50_MA | 50 mA |
2 | CUR_80_MA | 80 mA |
3 | CUR_105_MA | 105 mA |
4 | CUR_135_MA | 135 mA |
5 | CUR_160_MA | 160 mA |
6 | CUR_190_MA | 190 mA |
7 | CUR_215_MA | 215 mA |
8 | CUR_290_MA | 290 mA |
9 | CUR_360_MA | 360 mA |
10 | CUR_430_MA | 430 mA |
11 | CUR_500_MA | 500 mA |
12 | CUR_625_MA | 625 mA |
13 | CUR_755_MA | 755 mA |
14 | CUR_855_MA | 855 mA |
15 | CUR_1000_MA | 1000 mA |
#define GATE_DRIVER_ERROR_FLAGS_LIST | ( | X | ) |
Enumerates gate driver error flags for GDRV_ERROR_FLAGS.
NUMBER | NAME | DESCRIPTION |
---|---|---|
FLAG(0) | U_LOW_SIDE_OVERCURRENT | U low side overcurrent. |
FLAG(1) | V_LOW_SIDE_OVERCURRENT | V low side overcurrent. |
FLAG(2) | W_LOW_SIDE_OVERCURRENT | W low side overcurrent. |
FLAG(3) | Y2_LOW_SIDE_OVERCURRENT | Y2 low side overcurrent. |
FLAG(4) | U_LOW_SIDE_DISCHARGE_SHORT | U low side discharge short. |
FLAG(5) | V_LOW_SIDE_DISCHARGE_SHORT | V low side discharge short. |
FLAG(6) | W_LOW_SIDE_DISCHARGE_SHORT | W low side discharge short. |
FLAG(7) | Y2_LOW_SIDE_DISCHARGE_SHORT | Y2 low side discharge short. |
FLAG(8) | U_LOW_SIDE_CHARGE_SHORT | U low side charge short. |
FLAG(9) | V_LOW_SIDE_CHARGE_SHORT | V low side charge short. |
FLAG(10) | W_LOW_SIDE_CHARGE_SHORT | W low side charge short. |
FLAG(11) | Y2_LOW_SIDE_CHARGE_SHORT | Y2 low side charge short. |
FLAG(12) | U_BOOTSTRAP_UNDERVOLTAGE | U bootstrap undervoltage. |
FLAG(13) | V_BOOTSTRAP_UNDERVOLTAGE | V bootstrap undervoltage. |
FLAG(14) | W_BOOTSTRAP_UNDERVOLTAGE | W bootstrap undervoltage. |
FLAG(15) | Y2_BOOTSTRAP_UNDERVOLTAGE | Y2 bootstrap undervoltage. |
FLAG(16) | U_HIGH_SIDE_OVERCURRENT | U high side overcurrent. |
FLAG(17) | V_HIGH_SIDE_OVERCURRENT | V high side overcurrent. |
FLAG(18) | W_HIGH_SIDE_OVERCURRENT | W high side overcurrent. |
FLAG(19) | Y2_HIGH_SIDE_OVERCURRENT | Y2 high side overcurrent. |
FLAG(20) | U_HIGH_SIDE_DISCHARGE_SHORT | U high side discharge short. |
FLAG(21) | V_HIGH_SIDE_DISCHARGE_SHORT | V high side discharge short. |
FLAG(22) | W_HIGH_SIDE_DISCHARGE_SHORT | W high side discharge short. |
FLAG(23) | Y2_HIGH_SIDE_DISCHARGE_SHORT | Y2 high side discharge short. |
FLAG(24) | U_HIGH_SIDE_CHARGE_SHORT | U high side charge short. |
FLAG(25) | V_HIGH_SIDE_CHARGE_SHORT | V high side charge short. |
FLAG(26) | W_HIGH_SIDE_CHARGE_SHORT | W high side charge short. |
FLAG(27) | Y2_HIGH_SIDE_CHARGE_SHORT | Y2 high side charge short. |
FLAG(29) | GDRV_UNDERVOLTAGE | Gate driver undervoltage. |
FLAG(30) | GDRV_LOW_VOLTAGE | Gate driver low voltage. |
FLAG(31) | GDRV_SUPPLY_UNDERVOLTAGE | Gate driver supply undervoltage. |
#define GATE_DRIVER_LIST | ( | X | ) |
Parameters for gate driver timer and current settings (Table 20).
These parameters configure the MOSFET gate driver for the TMC9660, including output polarity, break-before-make timing, adaptive drive time, drive times, current limits, and bootstrap current limit.
Table 20 — Gate driver timer and current settings:
NR | PARAMETER | DESCRIPTION |
---|---|---|
233 | PWM_L_OUTPUT_POLARITY | PWM_L output polarity. 0: ACTIVE_HIGH, 1: ACTIVE_LOW |
234 | PWM_H_OUTPUT_POLARITY | PWM_H output polarity. 0: ACTIVE_HIGH, 1: ACTIVE_LOW |
235 | BREAK_BEFORE_MAKE_TIME_LOW_UVW | Break-before-make time for low side UVW [8.33ns units] 0...255 |
236 | BREAK_BEFORE_MAKE_TIME_HIGH_UVW | Break-before-make time for high side UVW [8.33ns units] 0...255 |
237 | BREAK_BEFORE_MAKE_TIME_LOW_Y2 | Break-before-make time for low side Y2 [8.33ns units] 0...255 |
238 | BREAK_BEFORE_MAKE_TIME_HIGH_Y2 | Break-before-make time for high side Y2 [8.33ns units] 0...255 |
239 | USE_ADAPTIVE_DRIVE_TIME_UVW | Adaptive drive time UVW. 0: DISABLED, 1: ENABLED |
240 | USE_ADAPTIVE_DRIVE_TIME_Y2 | Adaptive drive time Y2. 0: DISABLED, 1: ENABLED |
241 | DRIVE_TIME_SINK_UVW | Discharge time UVW [0...255] (1s/120MHz) × (2×value+3) |
242 | DRIVE_TIME_SOURCE_UVW | Charge time UVW [0...255] (1s/120MHz) × (2×value+3) |
243 | DRIVE_TIME_SINK_Y2 | Discharge time Y2 [0...255] (1s/120MHz) × (2×value+3) |
244 | DRIVE_TIME_SOURCE_Y2 | Charge time Y2 [0...255] (1s/120MHz) × (2×value+3) |
245 | UVW_SINK_CURRENT | See tmc9660::tmcl::GateCurrentSink |
246 | UVW_SOURCE_CURRENT | See tmc9660::tmcl::GateCurrentSource |
247 | Y2_SINK_CURRENT | See tmc9660::tmcl::GateCurrentSink |
248 | Y2_SOURCE_CURRENT | See tmc9660::tmcl::GateCurrentSource |
249 | BOOTSTRAP_CURRENT_LIMIT | See tmc9660::tmcl::BootstrapCurrentLimit |
#define GDRV_RETRY_BEHAVIOUR_LIST | ( | X | ) |
System state after a gate driver fault occurs.
Table — Gate Driver Retry Behaviour:
NUMBER | NAME | DESCRIPTION |
---|---|---|
0 | OPEN_CIRCUIT | Switch off and discharge gates; motor spins freely. |
1 | ELECTRICAL_BRAKING | Switch off and, if possible, enable LS or HS gates for electrical braking. |
#define GENERAL_ERROR_FLAGS_LIST | ( | X | ) |
Enumerates general error flags for GENERAL_ERROR_FLAGS.
These flags indicate various error conditions in the system. Most of these flags are Read-Write-Clear (RWC), meaning they can be cleared by writing a 1 to the corresponding bit position.
NUMBER | NAME | DESCRIPTION |
---|---|---|
FLAG(0) | CONFIG_ERROR | Verification of config storage failed. Read-only. |
FLAG(1) | TMCL_SCRIPT_ERROR | TMCL Script not available. Read-only. |
FLAG(2) | HOMESWITCH_NOT_FOUND | Reference search for home switch failed. Read-only. |
FLAG(5) | HALL_ERROR | Signals an invalid hall state. Read-write-clear. |
FLAG(9) | WATCHDOG_EVENT | Watchdog reset indication. Read-write-clear. |
FLAG(13) | EXT_TEMP_EXCEEDED | External temperature exceeded. Read-write-clear. |
FLAG(14) | CHIP_TEMP_EXCEEDED | Chip temperature threshold exceeded. Read-write-clear. |
FLAG(16) | I2T_1_EXCEEDED | Signals that I²t limit 1 was exceeded. Read-write-clear. |
FLAG(17) | I2T_2_EXCEEDED | Signals that I²t limit 2 was exceeded. Read-write-clear. |
FLAG(18) | EXT_TEMP_WARNING | External temperature warning threshold exceeded. Read-write-clear. |
FLAG(19) | SUPPLY_OVERVOLTAGE_WARNING | Supply overvoltage warning threshold exceeded. Read-write-clear. |
FLAG(20) | SUPPLY_UNDERVOLTAGE_WARNING | Supply voltage below undervoltage warning threshold. Read-write-clear. |
FLAG(21) | ADC_IN_OVERVOLTAGE | ADC IN over 2V while ADC enabled. Read-write-clear. |
FLAG(22) | FAULT_RETRY_HAPPENED | The set number of max. retries was exceeded without recovering. Read-write-clear. |
FLAG(23) | FAULT_RETRIES_FAILED | All retries of a detected fault failed. Read-write-clear. |
FLAG(24) | CHIP_TEMP_WARNING | Chip temperature warning threshold exceeded. Read-write-clear. |
FLAG(26) | HEARTBEAT_STOPPED | Heartbeat stopped. Read-write-clear. |
#define GENERAL_STATUS_FLAGS_LIST | ( | X | ) |
General status flags indicating system state, events, and hardware availability.
This 32-bit status register contains flags that provide information about the current system state, regulation modes, configuration status, hardware events, and available peripherals.
Most flags are read-only (R), while some can be read, written, and cleared (RWC). Flags marked as RWC can be cleared by writing a 1 to the corresponding bit.
NUMBER | NAME | DESCRIPTION |
---|---|---|
FLAG(0) | REGULATION_STOPPED | System does not regulate motion. Read-only. |
FLAG(1) | REGULATION_TORQUE | System is regulating mode torque. Read-only. |
FLAG(2) | REGULATION_VELOCITY | System is regulating mode velocity. Read-only. |
FLAG(3) | REGULATION_POSITION | System is regulating mode position. Read-only. |
FLAG(4) | CONFIG_STORED | Config was stored successfully. Read-write-clear. |
FLAG(5) | CONFIG_LOADED | Config was loaded successfully. Read-write-clear. |
FLAG(6) | CONFIG_READ_ONLY | Memory for config is read only. Read-only. |
FLAG(7) | TMCL_SCRIPT_READ_ONLY | Memory for TMCL script is read only. Read-only. |
FLAG(8) | BRAKE_CHOPPER_ACTIVE | Brake chopper is active. Read-only. |
FLAG(9) | POSITION_REACHED | Actual velocity and target velocity are below POSITION_REACHED_THRESHOLD. Read-only. |
FLAG(10) | VELOCITY_REACHED | Actual velocity and target velocity are below VELOCITY_REACHED_THRESHOLD. Read-only. |
FLAG(11) | ADC_OFFSET_CALIBRATED | The ADC offset was calibrated automatically (clear to recalibrate). Read-write-clear. |
FLAG(12) | RAMPER_LATCHED | The ramper latched a position. Read-write-clear. |
FLAG(13) | RAMPER_EVENT_STOP_SWITCH | Ramper had a switch stop event. Read-only. |
FLAG(14) | RAMPER_EVENT_STOP_DEVIATION | Ramper had a deviation stop event. Read-write-clear. |
FLAG(15) | RAMPER_VELOCITY_REACHED | The ramper reached its velocity target. Read-only. |
FLAG(16) | RAMPER_POSITION_REACHED | The ramper reached its position target. Read-only. |
FLAG(17) | RAMPER_SECOND_MOVE | The ramper needed a second move to reach target. Read-write-clear. |
FLAG(18) | IIT_1_ACTIVE | IIT 1 active. Read-only. |
FLAG(19) | IIT_2_ACTIVE | IIT 2 active. Read-only. |
FLAG(20) | REFSEARCH_FINISHED | Reference search finished. Read-only. |
FLAG(21) | Y2_USED_FOR_BRAKING | Fourth phase used for braking. Read-only. |
FLAG(23) | STEPDIR_INPUT_AVAILABLE | Signals that StepDir is available. Read-only. |
FLAG(24) | RIGHT_REF_SWITCH_AVAILABLE | Signals that REF_R is available. Read-only. |
FLAG(25) | HOME_REF_SWITCH_AVAILABLE | Signals that REF_H is available. Read-only. |
FLAG(26) | LEFT_REF_SWITCH_AVAILABLE | Signals that REF_L is available. Read-only. |
FLAG(27) | ABN2_FEEDBACK_AVAILABLE | Signals that ABN2 feedback is available. Read-only. |
FLAG(28) | HALL_FEEDBACK_AVAILABLE | Signals that hall feedback is available. Read-only. |
FLAG(29) | ABN1_FEEDBACK_AVAILABLE | Signals that ABN1 feedback is available. Read-only. |
FLAG(30) | SPI_FLASH_AVAILABLE | Signals that an external SPI flash is available. Read-only. |
FLAG(31) | I2C_EEPROM_AVAILABLE | Signals that an external I2C EEPROM is available. Read-only. |
#define GLOBAL_PARAM_BANK0_LIST | ( | X | ) |
Non-motion parameters in bank 0: communication, I/O, heartbeat, hibernation, loops, auto-start, etc.
To persist changes, use STAP after setting RWE parameters.
#define GLOBAL_PARAM_BANK2_LIST | ( | X | ) |
User-script variables 0…15. RWE.
#define GLOBAL_PARAM_BANK3_LIST | ( | X | ) |
Timer periods and input-trigger transitions for scripting interrupts.
#define HALL_SECTOR_OFFSET_LIST | ( | X | ) |
Enumerates Hall sector offsets.
Table — Hall Sector Offsets:
NUMBER | NAME | DESCRIPTION |
---|---|---|
0 | DEG_0 | 0 degrees. |
1 | DEG_60 | 60 degrees. |
2 | DEG_120 | 120 degrees. |
3 | DEG_180 | 180 degrees. |
4 | DEG_240 | 240 degrees. |
5 | DEG_300 | 300 degrees. |
#define HEARTBEAT_MONITORING_CONFIG_LIST | ( | X | ) |
Enumerates heartbeat monitoring interface selection.
Table — Heartbeat Monitoring Config:
NUMBER | NAME | DESCRIPTION |
---|---|---|
0 | DISABLED | Heartbeat monitoring disabled. |
1 | TMCL_UART_INTERFACE | Monitor TMCL UART interface. |
2 | SPI_INTERFACE | Monitor SPI interface. |
3 | TMCL_UART_AND_SPI_INTERFACE | Monitor both UART and SPI. |
#define HEARTBEAT_MONITORING_LIST | ( | X | ) |
Parameters for configuring heartbeat monitoring.
The heartbeat monitor checks for regular communication on UART and/or SPI. If no datagram is received within the configured timeout, the system initiates a motor shutdown (behavior defined by DRIVE_FAULT_BEHAVIOUR). The status flag HEARTBEAT_STOPPED is raised.
Table — Heartbeat Monitoring Parameters:
NUMBER | NAME | DESCRIPTION |
---|---|---|
3 | HEARTBEAT_MONITORING_CONFIG | Heartbeat monitoring config. 0: DISABLED, 1: UART, 2: SPI, 3: UART+SPI. |
4 | HEARTBEAT_MONITORING_TIMEOUT | Heartbeat timeout in ms [1...4294967295]. Default: 100. |
#define HIBERNATION_WAKEUP_LIST | ( | X | ) |
Parameters for configuring hibernation (low-power) and wakeup behavior.
The TMC9660 can be sent to a low-power hibernation state using WAKE_PIN_CONTROL_ENABLE or GO_TO_TIMEOUT_POWER_DOWN_STATE.
Table — Hibernation and Wakeup Parameters:
NUMBER | NAME | DESCRIPTION |
---|---|---|
10 | WAKE_PIN_CONTROL_ENABLE | Enable WAKE pin control. 0: DISABLED, 1: ENABLED. Default: 0. RWE |
11 | GO_TO_TIMEOUT_POWER_DOWN_STATE | Enter power-down for a predefined time. See PowerDownTimeout. Default: 0. W |
#define IDLE_MOTOR_PWM_BEHAVIOR_LIST | ( | X | ) |
PWM behavior in commutation mode "System Off" (Parameter ID: 9).
Table — Idle Motor PWM Behavior:
NUMBER | NAME | DESCRIPTION |
---|---|---|
0 | PWM_ON_WHEN_MOTOR_IDLE | PWM stays on when motor is idle (all phases same voltage). |
1 | PWM_OFF_WHEN_MOTOR_IDLE | PWM off (high-Z, motor floating) [default]. |
#define IIT_MONITOR_LIST | ( | X | ) |
Parameters for configuring IIT (I²t) monitoring and protection.
The IIT monitor protects against overtemperature in sustained load conditions by monitoring the total current flowing into the motor (torque and flux). Two independent IIT monitoring windows are supported, each with its own time constant and limit. If the squared current sum exceeds the limit, an emergency stop is triggered. The behavior is defined by DRIVE_FAULT_BEHAVIOUR. Status flags indicate active protection and limit exceeded.
Table — IIT Monitor Parameters:
NUMBER | NAME | DESCRIPTION |
---|---|---|
224 | THERMAL_WINDING_TIME_CONSTANT_1 | Time constant for IIT window 1 [ms]. Default: 3000. |
225 | IIT_LIMIT_1 | IIT limit for window 1 [A^2 x ms]. Default: 4294967295. |
226 | IIT_SUM_1 | Actual IIT sum for window 1 [A^2 x ms]. Default: 0. |
227 | THERMAL_WINDING_TIME_CONSTANT_2 | Time constant for IIT window 2 [ms]. Default: 6000. |
228 | IIT_LIMIT_2 | IIT limit for window 2 [A^2 x ms]. Default: 4294967295. |
229 | IIT_SUM_2 | Actual IIT sum for window 2 [A^2 x ms]. Default: 0. |
230 | RESET_IIT_SUMS | Write to reset both IIT sums. Default: 0. |
231 | ACTUAL_TOTAL_MOTOR_CURRENT | Total current through motor windings [mA]. Default: 0. |
#define INTERNAL_MEASUREMENT_LIST | ( | X | ) |
Raw diagnostic values and FOC internal measurements.
These parameters provide access to interim results and measurements from the Field-Oriented Control (FOC) algorithm, as well as raw input states. They are useful for debugging and diagnostics.
NUMBER | NAME | DESCRIPTION |
---|---|---|
304 | MCC_INPUTS_RAW | Raw inputs for ABN, hall, reference switches, driver enabled, hall filtered and ABN2 or Step/Dir [0...32767]. Read-only. |
305 | FOC_VOLTAGE_UX | Interim result of the FOC for phase U (X in case of stepper motor) [-32768...32767]. Read-only. |
306 | FOC_VOLTAGE_WY | Interim result of the FOC for phase W (Y in case of stepper motor) [-32768...32767]. Read-only. |
307 | FOC_VOLTAGE_V | Interim result of the FOC for phase V (BLDC motor only) [-32768...32767]. Read-only. |
308 | FIELDWEAKENING_I | I parameter for field weakening controller [0...32767]. Default: 0. RWE |
310 | FIELDWEAKENING_VOLTAGE_THRESHOLD | Maximum motor voltage allowed for field weakening [0...32767]. Default: 32767. RWE |
311 | FOC_CURRENT_UX | Interim measurement of the FOC for phase UX [-32768...32767]. Read-only. |
312 | FOC_CURRENT_V | Interim measurement of the FOC for phase V [-32768...32767]. Read-only. |
313 | FOC_CURRENT_WY | Interim measurement of the FOC for phase WY [-32768...32767]. Read-only. |
314 | FOC_VOLTAGE_UQ | Interim measurement of the FOC for Uq [-32768...32767]. Read-only. |
315 | FOC_CURRENT_IQ | Interim measurement of the FOC for Iq [-32768...32767]. Read-only. |
#define JUMP_CONDITION_LIST | ( | X | ) |
#define MECHANICAL_BRAKE_LIST | ( | X | ) |
Parameters for controlling an external mechanical brake.
The mechanical brake is controlled by a PWM output. Release is triggered by setting RELEASE_BRAKE.
Table — Mechanical Brake Parameters:
NUMBER | NAME | DESCRIPTION |
---|---|---|
216 | RELEASE_BRAKE | Release brake (apply PWM). 0: DEACTIVATED, 1: ACTIVATED. Default: 0. |
217 | BRAKE_RELEASING_DUTY_CYCLE | Duty cycle [%] for releasing phase. 0...99. Default: 75. |
218 | BRAKE_HOLDING_DUTY_CYCLE | Duty cycle [%] for holding phase. 0...99. Default: 11. |
219 | BRAKE_RELEASING_DURATION | Duration [ms] for releasing phase. 0...65535. Default: 80. |
221 | INVERT_BRAKE_OUTPUT | Invert brake output. 0: NORMAL, 1: INVERTED. Default: 0. |
#define MOTOR_CONFIG_LIST | ( | X | ) |
Parameters for configuring motor characteristics and drive settings.
Table — Motor Configuration Parameters:
NUMBER | NAME | DESCRIPTION |
---|---|---|
0 | MOTOR_TYPE | Motor type selection. See MotorType enum. Default: 0 (NO_MOTOR). RWE |
1 | MOTOR_POLE_PAIRS | Number of pole pairs for motor [0-127]. Default: 1. RWE |
2 | MOTOR_DIRECTION | Motor direction. 0: NOT_INVERTED, 1: INVERTED. Default: 0. RWE |
3 | MOTOR_PWM_FREQUENCY | PWM frequency in Hz [10000-100000]. Default: 25000. RWE |
4 | COMMUTATION_MODE | Motor commutation mode. See CommutationMode enum. Default: 0 (SYSTEM_OFF). RW |
5 | OUTPUT_VOLTAGE_LIMIT | PID UQ/UD output limit for circular limiter [0-32767]. Default: 8000. RWE |
8 | PWM_SWITCHING_SCHEME | PWM switching scheme. See PwmSwitchingScheme enum. Default: 1 (SVPWM). RWE |
#define MOTOR_DIRECTION_LIST | ( | X | ) |
Enumerates motor rotation directions.
Table — Motor Direction:
NUMBER | NAME | DESCRIPTION |
---|---|---|
0 | FORWARD | Forward rotation |
1 | REVERSE | Reverse rotation |
#define MOTOR_TYPE_LIST | ( | X | ) |
Enumerates supported motor types.
Table — Motor Types:
NUMBER | NAME | DESCRIPTION |
---|---|---|
0 | NO_MOTOR | No motor selected |
1 | DC_MOTOR | DC motor |
2 | STEPPER_MOTOR | Stepper motor |
3 | BLDC_MOTOR | Brushless DC motor |
#define OP_LIST | ( | X | ) |
Operation codes accepted by the TMC9660 Parameter Mode (Table 18).
Table 18 — TMCL commands:
NUMBER | OPERATION | TYPE | MOTOR/BANK | VALUE | DESCRIPTION |
---|---|---|---|---|---|
3 | MST | - | - | - | Stops motor movement |
5 | SAP | parameter | 0 | value | Sets axis parameter (motion control specific settings) |
6 | GAP | parameter | 0 | - | Gets axis parameter (read out motion control specific settings) |
7 | STAP | 0xFFF | 0xF | 0xFFFFFFFF | Stores all storable parameters to external memory |
9 | SGP | parameter | 0,2,3 | value | Sets global parameter (module/user settings) |
10 | GGP | parameter | - | - | Gets global parameter (module/user settings) |
13 | RFS | START|STOP|STATUS | 0 | - | Reference search 14 | SIO | port number | 0 | 0,1 | Sets digital output to specified value 15 | GIO | port number | 0: digital, 1: ana | - | Gets value of analog/digital input 19 | CALC | operation | - | value | Arithmetic operation (accumulator and value) 20 | COMP | - | - | value | Compares accumulator with value 21 | JC | condition | - | address | Jump conditional 22 | JA | - | - | address | Jump absolute 23 | CSUB | - | - | address | Calls subroutine 24 | RSUB | - | - | - | Returns from subroutine 25 | EI | - | - | interrupt number | Enables interrupt 26 | DI | - | - | interrupt number | Disables interrupt 27 | WAIT | condition | - | ticks | Waits with further program execution 28 | STOP | - | - | - | Stops program execution 33 | CALCX | type | - | - | Arithmetic operation (accumulator and X-register) 34 | AAP | parameter | 0 | - | Accumulator to axis parameter 35 | AGP | parameter | 0,2,3 | - | Accumulator to global parameter 36 | CLE | flag | - | - | Clears an error flag 37 | VECT | interrupt number | - | address | Defines interrupt vector 38 | RETI | - | - | - | Returns from interrupt 40 | CALCVV | type | user var 1 | user var 2 | Arithmetic: user variable and user variable 41 | CALCVA | type | user variable | - | Arithmetic: user variable and accumulator 42 | CALCAV | type | user variable | - | Arithmetic: accumulator and user variable 43 | CALCVX | type | user variable | - | Arithmetic: user variable and X register 44 | CALCXV | type | user variable | - | Arithmetic: X register and user variable 45 | CALCV | type | - | value | Arithmetic: user variable and direct value 48 | RST | - | - | address | Restarts the program from the given address 49 | DJNZ | user variable | - | address | Decrement and jump if not zero 55 | SIV | - | - | value | Sets indexed variable 56 | GIV | - | - | - | Gets indexed variable 57 | AIV | - | - | - | Accumulator to indexed variable 128 | ApplStop | - | - | - | Stops a running TMCL program 129 | ApplRun | 0: current, 1: addr| - | address | Starts/continues TMCL program 130 | ApplStep | - | - | - | Executes only the next TMCL command 131 | ApplReset | - | - | - | Stops and resets program counter 132 | DownloadStart | - | - | - | Enter download mode (store script) 133 | DownloadEnd | - | - | - | End download mode 134 | ReadMem | - | - | address | Returns script command at address 135 | GetStatusScript | - | - | - | Gets status of script 136 | GetVersion | - | - | - | Gets version of system 137 | FactoryDefault | - | - | - | Clears settings stored in external memory 141 | Breakpoint | 0:add,1:del,2:all,3:max| - | address | Manage breakpoints 142 | RamDebug | see Table 16 | see Table 16 | see Table 16 | Access to RAMDebug control 157 | GetInfo | 0:ID, 1:Version | - | - | Gets ID and version info 242 | Boot | 0x81 | 0x92 | 0xA3B4C5D6 | Returns the system to the bootloader
Each command lists the TYPE, MOTOR/BANK, and VALUE fields as per Table 18. For scripting-related commands, see the manual for further details.
#define OVERCURRENT_ENABLE_LIST | ( | X | ) |
Enumerates options for enabling or disabling overcurrent protection.
Table — Overcurrent Protection Enable/Disable:
NUMBER | NAME | DESCRIPTION |
---|---|---|
0 | DISABLED | Protection disabled. |
1 | ENABLED | Protection enabled. |
#define OVERCURRENT_PROTECTION_LIST | ( | X | ) |
Parameters for configuring gate driver overcurrent protection.
These parameters configure the overcurrent protection thresholds, blanking times, deglitch times, and enable/disable settings for the UVW and Y2 phases of the TMC9660 gate driver.
Table — Gate Driver Overcurrent Protection:
NUMBER | NAME | DESCRIPTION |
---|---|---|
254 | UVW_LOW_SIDE_ENABLE | Enable overcurrent protection for UVW phases low side. 0: DISABLED, 1: ENABLED. Default: 1. |
255 | UVW_HIGH_SIDE_ENABLE | Enable overcurrent protection for UVW phases high side. 0: DISABLED, 1: ENABLED. Default: 1. |
256 | Y2_LOW_SIDE_ENABLE | Enable overcurrent protection for Y2 phase low side. 0: DISABLED, 1: ENABLED. Default: 1. |
257 | Y2_HIGH_SIDE_ENABLE | Enable overcurrent protection for Y2 phase high side. 0: DISABLED, 1: ENABLED. Default: 1. |
258 | UVW_LOW_SIDE_THRESHOLD | Threshold for UVW phases low side [0-15]. Default: 0. |
259 | UVW_HIGH_SIDE_THRESHOLD | Threshold for UVW phases high side [0-15]. Default: 0. |
260 | Y2_LOW_SIDE_THRESHOLD | Threshold for Y2 phase low side [0-15]. Default: 0. |
261 | Y2_HIGH_SIDE_THRESHOLD | Threshold for Y2 phase high side [0-15]. Default: 0. |
262 | UVW_LOW_SIDE_BLANKING | Blanking time for UVW phases low side [0-7]. Default: 2. |
263 | UVW_HIGH_SIDE_BLANKING | Blanking time for UVW phases high side [0-7]. Default: 2. |
264 | Y2_LOW_SIDE_BLANKING | Blanking time for Y2 phase low side [0-7]. Default: 2. |
265 | Y2_HIGH_SIDE_BLANKING | Blanking time for Y2 phase high side [0-7]. Default: 2. |
266 | UVW_LOW_SIDE_DEGLITCH | Deglitch time for UVW phases low side [0-7]. Default: 6. |
267 | UVW_HIGH_SIDE_DEGLITCH | Deglitch time for UVW phases high side [0-7]. Default: 6. |
268 | Y2_LOW_SIDE_DEGLITCH | Deglitch time for Y2 phase low side [0-7]. Default: 6. |
269 | Y2_HIGH_SIDE_DEGLITCH | Deglitch time for Y2 phase high side [0-7]. Default: 6. |
270 | UVW_LOW_SIDE_USE_VDS | Use VDS measurement for UVW phases low side. 0: DISABLED, 1: ENABLED. Default: 1. |
271 | Y2_LOW_SIDE_USE_VDS | Use VDS measurement for Y2 phase low side. 0: DISABLED, 1: ENABLED. Default: 1. |
#define OVERCURRENT_THRESHOLD_LIST | ( | X | ) |
Enumerates possible threshold values for overcurrent protection.
Table — Overcurrent Protection Thresholds:
NUMBER | NAME | DESCRIPTION |
---|---|---|
0 | V_63_MILLIVOLT | 63 mV |
1 | V_125_MILLIVOLT | 125 mV |
2 | V_187_MILLIVOLT | 187 mV |
3 | V_248_MILLIVOLT | 248 mV |
4 | V_312_MILLIVOLT | 312 mV |
5 | V_374_MILLIVOLT | 374 mV |
6 | V_434_MILLIVOLT | 434 mV |
7 | V_504_MILLIVOLT | 504 mV |
8 | V_705_MILLIVOLT | 705 mV |
9 | V_940_MILLIVOLT | 940 mV |
10 | V_1180_MILLIVOLT | 1180 mV |
11 | V_1410_MILLIVOLT | 1410 mV |
12 | V_1650_MILLIVOLT | 1650 mV |
13 | V_1880_MILLIVOLT | 1880 mV |
14 | V_2110_MILLIVOLT | 2110 mV |
15 | V_2350_MILLIVOLT | 2350 mV |
#define OVERCURRENT_TIMING_LIST | ( | X | ) |
Enumerates possible blanking and deglitch times for overcurrent protection.
Table — Overcurrent Protection Timing:
NUMBER | NAME | DESCRIPTION |
---|---|---|
0 | OFF | No blanking or deglitching |
1 | T_0_25_MICROSEC | 0.25 µs |
2 | T_0_5_MICROSEC | 0.5 µs |
3 | T_1_MICROSEC | 1.0 µs |
4 | T_2_MICROSEC | 2.0 µs |
5 | T_4_MICROSEC | 4.0 µs |
6 | T_6_MICROSEC | 6.0 µs |
7 | T_8_MICROSEC | 8.0 µs |
#define POSITION_CONTROL_LIST | ( | X | ) |
Parameters for configuring position control and ramping.
Table — Position Control Parameters:
NUMBER | NAME | DESCRIPTION |
---|---|---|
142 | POSITION_SENSOR_SELECTION | Feedback source for position PI regulator. See PositionSensorSelection. Default: 0 (SAME_AS_COMMUTATION). RWE |
143 | TARGET_POSITION | Target position value. Write to activate position regulation. -2147483648...2147483647. Default: 0. RW |
144 | ACTUAL_POSITION | Actual position value. -2147483648...2147483647. Default: 0. RW |
145 | POSITION_SCALING_FACTOR | Scaling factor for position to real-world units. 1024...65535. Default: 1024. RWE |
146 | POSITION_P | P parameter for position PI regulator. 0...32767. Default: 5. RWE |
147 | POSITION_I | I parameter for position PI regulator. 0...32767. Default: 0. RWE |
148 | POSITION_NORM_P | P normalization for position PI. See PositionPiNorm. Default: 1. RWE |
149 | POSITION_NORM_I | I normalization for position PI. See PositionPiNorm. Default: 1. RWE |
150 | POSITION_PI_INTEGRATOR | Integrated error of position PI regulator. -2147483648...2147483647. Default: 0. R |
151 | POSITION_PI_ERROR | Error of position PI regulator. -2147483648...2147483647. Default: 0. R |
153 | POSITION_LOOP_DOWNSAMPLING | Downsampling factor for position controller. 0...127. Default: 0. RWE |
154 | LATCH_POSITION | Position switch latched. -2147483648...2147483647. Default: 0. R |
155 | POSITION_LIMIT_LOW | Position limit low. -2147483648...2147483647. Default: -2147483648. RWE |
156 | POSITION_LIMIT_HIGH | Position limit high. -2147483648...2147483647. Default: 2147483647. RWE |
157 | POSITION_REACHED_THRESHOLD | Deviation between target and actual position below which the position reached flag goes active and latches. If a new target position is set the flag is reset. 0...2147483647. Default: 0. RWE |
#define POSITION_PI_NORM_LIST | ( | X | ) |
Enumerates normalization formats for position PI controller.
Table — Position PI Normalization:
NUMBER | NAME | DESCRIPTION |
---|---|---|
0 | NO_SHIFT | No shift. |
1 | SHIFT_8_BIT | Shift right by 8 bits. |
2 | SHIFT_16_BIT | Shift right by 16 bits. |
3 | SHIFT_24_BIT | Shift right by 24 bits. |
#define POSITION_SENSOR_SELECTION_LIST | ( | X | ) |
Enumerates feedback sources for position PI regulator.
Table — Position Sensor Selection:
NUMBER | NAME | DESCRIPTION |
---|---|---|
0 | SAME_AS_COMMUTATION | Use same feedback as commutation mode. |
1 | DIGITAL_HALL | Use digital Hall sensors. |
2 | ABN1_ENCODER | Use ABN1 encoder. |
3 | ABN2_ENCODER | Use ABN2 encoder. |
4 | SPI_ENCODER | Use SPI encoder. |
#define POWER_DOWN_TIMEOUT_LIST | ( | X | ) |
Enumerates timeout durations for power-down state.
Table — Power Down Timeout:
NUMBER | NAME | DESCRIPTION |
---|---|---|
0 | T_250_MILLISEC | 250 ms |
1 | T_500_MILLISEC | 500 ms |
2 | T_1_SEC | 1 second |
3 | T_2_SEC | 2 seconds |
4 | T_4_SEC | 4 seconds |
5 | T_8_SEC | 8 seconds |
6 | T_16_SEC | 16 seconds |
7 | T_32_SEC | 32 seconds |
#define PWM_FREQUENCY_LIST | ( | X | ) |
Enumerates recommended PWM frequencies for different motor types.
Table — PWM Frequency Configuration:
NUMBER | NAME | DESCRIPTION |
---|---|---|
25000 | STANDARD_BLDC | Standard frequency for typical BLDC motors |
20000 | STANDARD_STEPPER | Standard frequency for high-inductance stepper motors |
50000 | FAST_BLDC | For fast-spinning BLDC motors (>10,000 RPM) |
100000 | ULTRA_FAST_BLDC | For very high-speed or low-inductance BLDC motors |
20000 | MINIMUM_SILENT | Minimum frequency to avoid audible switching noise |
#define PWM_OUTPUT_POLARITY_LIST | ( | X | ) |
Table — PWM Output Polarity:
NUMBER | NAME | DESCRIPTION |
---|---|---|
0 | ACTIVE_HIGH | PWM output is active high. |
1 | ACTIVE_LOW | PWM output is active low. |
#define PWM_SWITCHING_SCHEME_LIST | ( | X | ) |
Enumerates PWM switching schemes.
Table — PWM Switching Schemes:
NUMBER | NAME | DESCRIPTION |
---|---|---|
0 | STANDARD | Standard modulation |
1 | SVPWM | Space Vector PWM |
2 | FLAT_BOTTOM | Flat bottom modulation |
#define RAMDEBUG_STATE_LIST | ( | X | ) |
Values returned by ::RamDebugType::GET_STATE.
Table 17 — List of RAMDebug states:
NUMBER | NAME | DESCRIPTION |
---|---|---|
0 | Idle | RAMDebug is not running and can be configured. Use type code 0 to enter this state. |
1 | Trigger | RAMDebug is waiting for the trigger event to happen. When updating a value that RAMDebug |
| is triggering on, ensure this state is reached before updating. 2 | Capture | RAMDebug has been triggered and is capturing samples. 3 | Complete | RAMDebug has finished capturing samples. The data can now be downloaded using type code 9. 4 | Pretrigger | RAMDebug is capturing samples for the pretrigger.
#define RAMDEBUG_TYPE_LIST | ( | X | ) |
TYPE field values when Operation::RamDebug is issued.
Table 16 — RAMDebug type commands:
NUMBER | TYPE (subcode) | MOTOR/BANK | VALUE | DESCRIPTION |
---|---|---|---|---|
0 | INITIALISE_RESET | - | - | Initialize and reset RAMDebug configuration & buffers. |
1 | SET_SAMPLE_COUNT | - | Number | Set total number of samples to collect (not per-channel). |
3 | SET_PRESCALER | - | Prescale | Set divider for sampling rate (divider = VALUE+1). |
4 | SET_CHANNEL | Type: 0=Disabled, 1=Parameter, 3=Global param | Motor/Bank: 0xFF000000, AP/GP number: 0x00000FFF | Configure capture channel. |
5 | SET_TRIGGER_CHANNEL | Type: 0=Disabled, 1=Parameter, 3=Global param | Motor/Bank: 0xFF000000, AP/GP number: 0x00000FFF | Specify source of trigger data. |
6 | SET_TRIGGER_MASK_SHIFT | Shift | Mask | Specify mask and shift for trigger value. |
7 | ENABLE_TRIGGER | Type: 0=Uncond, 1=RiseS, 2=FallS, 3=DualS, | Threshold | Start measurement by enabling trigger. |
| | 4=RiseU, 5=FallU, 6=BothU | | 8 | GET_STATE | - | - | Request state of RAMDebug (see RamDebugState). 9 | READ_SAMPLE | Index | - | Download sampled values at index. 10 | GET_INFO | - | 0=Max channels, 1=Buffer size, 2=RAMDebug freq, 3=Captured count, | Read general info. | | | 4=Prescaler on trigger | 11 | GET_CHANNEL_TYPE | Index | - | Read channel type info. 12 | GET_CHANNEL_ADDRESS | Index | - | Read channel address. 13 | SET_PRETRIGGER_COUNT | - | Number | Set total number of pretrigger samples (not per-channel). 14 | GET_PRETRIGGER_COUNT | - | - | Get total number of pretrigger samples.
#define RAMPER_STOP_CONFIG_LIST | ( | X | ) |
Parameters for configuring ramper stop conditions and reference switch behavior.
Table — Ramper Stop Conditions and Reference Switches:
NUMBER | NAME | DESCRIPTION |
---|---|---|
134 | STOP_ON_VELOCITY_DEVIATION | Max velocity deviation before stop event [0...200000]. Default: 0. RW |
152 | STOP_ON_POSITION_DEVIATION | Max position deviation before stop event [0...2147483647]. Default: 0. RWE |
154 | LATCH_POSITION | Latched position at switch event [-2147483648...2147483647]. Default: 0. R |
161 | REFERENCE_SWITCH_ENABLE | Bitwise enable for stopping on reference switch. See ReferenceSwitchEnable. Default: 0. RWE |
162 | REFERENCE_SWITCH_POLARITY_AND_SWAP | Bitwise config for switch polarity/swap. See ReferenceSwitchPolaritySwap. Default: 0. RWE |
163 | REFERENCE_SWITCH_LATCH_SETTINGS | Bitwise config for latch behavior. See ReferenceSwitchLatchSettings. Default: 0. RWE |
164 | EVENT_STOP_SETTINGS | Bitwise config for stop conditions. See EventStopSettings. Default: 0. RWE |
#define REFERENCE_SEARCH_COMMAND_LIST | ( | X | ) |
Enumerates TMCL RFS (13) command types for reference search.
Table — Reference Search TMCL Command Types:
NUMBER | NAME | DESCRIPTION |
---|---|---|
0 | START | Start reference search. |
1 | STOP | Stop reference search. |
2 | STATUS | Return reference search status. |
#define REFERENCE_SEARCH_LIST | ( | X | ) |
Parameters for configuring automatic homing/reference search routines.
The TMC9660 supports eight different reference search patterns, configurable via REFERENCE_SWITCH_SEARCH_MODE. Two speeds can be set: REFERENCE_SWITCH_SEARCH_SPEED (fast search) and REFERENCE_SWITCH_SPEED (slow, for accuracy). Switch positions can be read out after search. The TMCL command RFS (13) is used to start/stop/query the search.
Table — Reference Search (Automatic Homing) Parameters:
NUMBER | NAME | DESCRIPTION |
---|---|---|
165 | REFERENCE_SWITCH_SEARCH_MODE | Reference search mode. See ReferenceSearchMode. Default: 0. |
166 | REFERENCE_SWITCH_SEARCH_SPEED | Speed for reference search [-134217728...134217727]. Default: 0. |
167 | REFERENCE_SWITCH_SPEED | Lower speed for accurate switch positioning [-134217728...134217727]. Default: 0. |
168 | RIGHT_LIMIT_SWITCH_POSITION | Position of right limit switch [-2147483648...2147483647]. Default: 0. |
169 | HOME_SWITCH_POSITION | Position of home switch [-2147483648...2147483647]. Default: 0. |
170 | LAST_REFERENCE_POSITION | Last reference position [-2147483648...2147483647]. Default: 0. |
#define REFERENCE_SEARCH_MODE_LIST | ( | X | ) |
Enumerates reference search (homing) patterns.
Table — Reference Search Modes:
NUMBER | NAME | DESCRIPTION |
---|---|---|
1 | LEFT_SWITCH | Search for left limit switch. |
2 | RIGHT_SWITCH_LEFT_SWITCH | Search right limit, then left limit switch. |
3 | RIGHT_SWITCH_LEFT_SWITCH_BOTH_SIDES | Right limit, then approach left limit from both sides. |
4 | LEFT_SWITCH_BOTH_SIDES | Approach left limit from both sides. |
5 | HOME_SWITCH_NEG_DIR_LEFT_END_SWITCH | Search home switch in negative direction, turn if left end detected. |
6 | HOME_SWITCH_POS_DIR_RIGHT_END_SWITCH | Search home switch in positive direction, turn if right end detected. |
7 | HOME_SWITCH_NEG_DIR_IGNORE_END_SWITCH | Search home switch in negative direction, ignore end switch. |
8 | HOME_SWITCH_POS_DIR_IGNORE_END_SWITCH | Search home switch in positive direction, ignore end switch. |
#define REFERENCE_SEARCH_STATUS_LIST | ( | X | ) |
Enumerates status codes for reference search state machine.
Table — Reference Search Status Codes:
NUMBER | NAME | DESCRIPTION |
---|---|---|
0 | IDLE | No description provided. |
1 | START_REFERENCE_DRIVE | No description provided. |
2 | START_DRIVE_TO_RIGHT_LIMIT_FAST | No description provided. |
3 | WAIT_UNTIL_RIGHT_SWITCH_REACHED | No description provided. |
4 | START_DRIVE_TO_LEFT_LIMIT_FAST | No description provided. |
5 | WAIT_UNTIL_LEFT_SWITCH_REACHED | No description provided. |
6 | DRIVE_OUT_OF_LEFT_SWITCH_SLOWLY | No description provided. |
7 | WAIT_UNTIL_LEFT_SWITCH_EXITED_DRIVE_IN_AGAIN | No description provided. |
8 | WAIT_UNTIL_LEFT_SWITCH_REACHED_AGAIN_DRIVE_TO_POSITION | No description provided. |
9 | WAIT_UNTIL_POSITION_REACHED_SET_ZERO | No description provided. |
10 | WAIT_UNTIL_SWITCH_PUSHED_AGAIN | No description provided. |
11 | WAIT_UNTIL_OTHER_SIDE_SWITCH_REACHED | No description provided. |
12 | RESERVED | No description provided. |
13 | WAIT_UNTIL_CENTER_SWITCH_REACHED | No description provided. |
14 | REFERENCE_DRIVE_FINISHED_RESTORE_SETTINGS | No description provided. |
15 | STOP_REFERENCE_DRIVE | No description provided. |
#define REFERENCE_SWITCH_ENABLE_LIST | ( | X | ) |
Bitwise enable for stopping when reference switch input is triggered.
Table — Reference Switch Enable:
NUMBER | NAME | DESCRIPTION |
---|---|---|
0 | NO_STOP_ON_SWITCH_TRIGGERED | No stop on switch. |
1 | STOP_ON_L | Stop on left switch. |
2 | STOP_ON_R | Stop on right switch. |
3 | STOP_ON_R_AND_L | Stop on right and left switches. |
4 | STOP_ON_H | Stop on home switch. |
5 | STOP_ON_H_AND_L | Stop on home and left switches. |
6 | STOP_ON_H_AND_R | Stop on home and right switches. |
7 | STOP_ON_H_R_AND_L | Stop on home, right, and left switches. |
#define REFERENCE_SWITCH_LATCH_SETTINGS_LIST | ( | X | ) |
Bitwise configuration for reference switch latch behavior.
Table — Reference Switch Latch Settings:
NUMBER | NAME | DESCRIPTION |
---|---|---|
0 | NO_TRIGGER | No latch triggered. |
1 | L_R_RISING_EDGE | Latch on rising edge of left/right switch. |
2 | L_R_FALLING_EDGE | Latch on falling edge of left/right switch. |
3 | L_R_BOTH_EDGES | Latch on both edges of left/right switch. |
4 | H_RISING_EDGE | Latch on rising edge of home switch. |
5 | H_L_R_RISING_EDGE | Latch on rising edge of home and left/right switches. |
6 | H_RISING_L_R_FALLING_EDGE | Latch on rising edge of home and falling edge of left/right switches. |
7 | H_RISING_L_R_BOTH_EDGES | Latch on rising edge of home and both edges of left/right switches. |
8 | H_FALLING_EDGE | Latch on falling edge of home switch. |
9 | H_FALLING_L_R_RISING_EDGE | Latch on falling edge of home and rising edge of left/right switches. |
10 | H_L_R_FALLING_EDGE | Latch on falling edge of home and left/right switches. |
11 | H_FALLING_L_R_BOTH_EDGES | Latch on falling edge of home and both edges of left/right switches. |
12 | H_BOTH_EDGES | Latch on both edges of home switch. |
13 | H_BOTH_L_R_RISING_EDGE | Latch on both edges of home and rising edge of left/right switches. |
14 | H_BOTH_L_R_FALLING_EDGE | Latch on both edges of home and falling edge of left/right switches. |
15 | H_L_R_BOTH_EDGES | Latch on both edges of home and left/right switches. |
#define REFERENCE_SWITCH_POLARITY_SWAP_LIST | ( | X | ) |
Bitwise configuration for reference switch polarity and swapping.
Table — Reference Switch Polarity and Swap:
NUMBER | NAME | DESCRIPTION |
---|---|---|
0 | NOT_SWAPPED_NOT_INVERTED | No swapping or inversion. |
1 | L_INVERTED | Left switch inverted. |
2 | R_INVERTED | Right switch inverted. |
3 | R_AND_L_INVERTED | Right and left switches inverted. |
4 | H_INVERTED | Home switch inverted. |
5 | H_AND_L_INVERTED | Home and left switches inverted. |
6 | H_AND_R_INVERTED | Home and right switches inverted. |
7 | H_R_AND_L_INVERTED | Home, right, and left switches inverted. |
8 | L_R_SWAPPED_L_INVERTED | Left and right switches swapped, left inverted. |
9 | L_R_SWAPPED_R_INVERTED | Left and right switches swapped, right inverted. |
10 | L_R_SWAPPED_R_AND_L_INVERTED | Left and right switches swapped, both inverted. |
11 | L_R_SWAPPED_H_INVERTED | Left and right switches swapped, home inverted. |
12 | L_R_SWAPPED_H_AND_L_INVERTED | Left and right switches swapped, home and left inverted. |
13 | L_R_SWAPPED | Left and right switches swapped. |
14 | L_R_SWAPPED_H_AND_R_INVERTED | Left and right switches swapped, home and right inverted. |
15 | L_R_SWAPPED_H_R_AND_L_INVERTED | Left and right switches swapped, home, right, and left inverted. |
#define REPLY_CODE_LIST | ( | X | ) |
Status codes returned in the status byte of every TMCL reply.
Table 19 — TMCL status codes:
NUMBER | NAME | DESCRIPTION |
---|---|---|
100 | REPLY_OK | Command executed successfully. |
101 | REPLY_CMD_LOADED | Command loaded successfully. |
1 | REPLY_CHKERR | Check error occurred (e.g., checksum error). |
2 | REPLY_INVALID_CMD | Invalid command received (unknown command number). |
3 | REPLY_WRONG_TYPE | Wrong type of data received (TYPE field invalid). |
4 | REPLY_INVALID_VALUE | Invalid value received (VALUE field out of range). |
6 | REPLY_CMD_NOT_AVAILABLE | Command not available (not supported in this mode). |
7 | REPLY_CMD_LOAD_ERROR | Error occurred while loading command (storage error). |
9 | REPLY_MAX_EXCEEDED | Maximum limit exceeded (e.g., too many breakpoints). |
10 | REPLY_DOWNLOAD_NOT_POSSIBLE | Download operation not possible (misuse or memory full). |
#define SPI_ENCODER_TRANSFER_LIST | ( | X | ) |
Enumerates SPI encoder transfer modes.
Table — SPI Encoder Transfer Modes:
NUMBER | NAME | DESCRIPTION |
---|---|---|
0 | OFF | SPI encoder interface off. |
1 | TRIGGER_SINGLE_TRANSFER | Trigger a single SPI transfer. |
2 | CONTINUOUS_POSITION_COUNTER_READ | Continuously read position counter. |
#define SPI_INIT_METHOD_LIST | ( | X | ) |
Enumerates SPI encoder initialization methods.
Table — SPI Encoder Initialization Methods:
NUMBER | NAME | DESCRIPTION |
---|---|---|
0 | FORCED_PHI_E_ZERO_WITH_ACTIVE_SWING | Force rotor into PHI_E zero with active swing. |
1 | FORCED_PHI_E_90_ZERO | Force rotor into PHI_E 90° then 0° position. |
2 | USE_OFFSET | Use the offset value stored in SPI_ENCODER_OFFSET. |
#define STEP_DIR_LIST | ( | X | ) |
Parameters for configuring the STEP/DIR target movement interface.
The STEP/DIR interface allows position control via step and direction signals. Supports micro-stepping, extrapolation, and velocity feedforward. Micro-stepping is set by STEP_DIR_STEP_DIVIDER_SHIFT (1/1 to 1/1024). Extrapolation smooths movement between steps and can be limited by velocity. Timeout and correction are configurable.
NUMBER | NAME | DESCRIPTION |
---|---|---|
68 | VELOCITY_FEEDFORWARD_ENABLE | Enable velocity feedforward. 0: DISABLED, 1: ENABLED. Default: 0. RWE |
205 | STEP_DIR_STEP_DIVIDER_SHIFT | Micro-step divider shift (see StepDirStepDividerShift). Default: 0 (full step). RWE |
206 | STEP_DIR_ENABLE | Enable STEP/DIR input. 0: DISABLED, 1: ENABLED. Default: 0. RW |
207 | STEP_DIR_EXTRAPOLATION_ENABLE | Enable extrapolation. 0: DISABLED, 1: ENABLED. Default: 0. RW |
208 | STEP_DIR_STEP_SIGNAL_TIMEOUT_LIMIT | Step signal timeout limit [ms]. 1...2000. Default: 1000. RW |
209 | STEP_DIR_MAXIMUM_EXTRAPOLATION_VELOCITY | Max velocity for extrapolation [eRPM]. 0...2147483647. Default: 2147483647. RW |
#define STEP_DIR_STEP_DIVIDER_SHIFT_LIST | ( | X | ) |
Enumerates micro-step divider shift settings for STEP/DIR interface.
Determines the number of micro-steps per full step (1/1 to 1/1024).
NUMBER | NAME | DESCRIPTION |
---|---|---|
0 | STEP_MODE_FULL | Full step (1/1) |
1 | STEP_MODE_HALF | Half step (1/2) |
2 | STEP_MODE_QUARTER | Quarter step (1/4) |
3 | STEP_MODE_1_8TH | 1/8 step |
4 | STEP_MODE_1_16TH | 1/16 step |
5 | STEP_MODE_1_32ND | 1/32 step |
6 | STEP_MODE_1_64TH | 1/64 step |
7 | STEP_MODE_1_128TH | 1/128 step |
8 | STEP_MODE_1_256TH | 1/256 step |
9 | STEP_MODE_1_512TH | 1/512 step |
10 | STEP_MODE_1_1024TH | 1/1024 step |
#define SYSTEM_STATUS_SUPPLY_LIST | ( | X | ) |
Parameters for supply voltage warnings.
NUMBER | NAME | DESCRIPTION |
---|---|---|
290 | SUPPLY_VOLTAGE | Actual supply voltage in 0.1 V units. Read-only. |
291 | SUPPLY_OVERVOLTAGE_WARNING_THRESHOLD | Supply overvoltage warning threshold [0…1000]. RWE |
292 | SUPPLY_UNDERVOLTAGE_WARNING_THRESHOLD | Supply undervoltage warning threshold [0…1000]. RWE |
#define TEMPERATURE_PROTECTION_LIST | ( | X | ) |
Parameters for configuring temperature protection using external and internal sensors.
The TMC9660 integrates protections using both an external analog temperature sensor (AIN3) and an internal chip sensor.
Table — Temperature Protection Parameters:
NUMBER | NAME | DESCRIPTION |
---|---|---|
293 | EXTERNAL_TEMPERATURE | External temperature sensor value [0...65535]. |
294 | EXTERNAL_TEMPERATURE_SHUTDOWN_THRESHOLD | Shutdown threshold for external temperature [0...65535]. Default: 65535. |
295 | EXTERNAL_TEMPERATURE_WARNING_THRESHOLD | Warning threshold for external temperature [0...65535]. Default: 65535. |
296 | CHIP_TEMPERATURE | Internal chip temperature value [0...65535]. |
297 | CHIP_TEMPERATURE_SHUTDOWN_THRESHOLD | Shutdown threshold for chip temperature [0...65535]. Default: 65535. |
298 | CHIP_TEMPERATURE_WARNING_THRESHOLD | Warning threshold for chip temperature [0...65535]. Default: 65535. |
#define TORQUE_FLUX_CONTROL_LIST | ( | X | ) |
Parameters for configuring torque and flux control loops.
Table — Torque and Flux Control Parameters:
NUMBER | NAME | DESCRIPTION |
---|---|---|
6 | MAX_TORQUE | Maximum motor torque [mA]. 0...65535. Default: 2000. RWE |
7 | MAX_FLUX | Maximum motor flux [mA]. 0...65535. Default: 2000. RWE |
104 | TARGET_TORQUE | Target torque [mA]. Write to activate torque regulation. -32768...32767. Default: 0. RW |
105 | ACTUAL_TORQUE | Actual motor torque [mA]. -32767...32768. Default: 0. R |
106 | TARGET_FLUX | Target flux [mA]. -10000...10000. Default: 0. RW |
107 | ACTUAL_FLUX | Actual motor flux [mA]. -2147483648...2147483647. Default: 0. R |
108 | TORQUE_OFFSET | Offset applied to torque value [mA]. -4700...4700. Default: 0. RW |
109 | TORQUE_P | P parameter for torque PI regulator. 0...32767. Default: 50. RWE |
110 | TORQUE_I | I parameter for torque PI regulator. 0...32767. Default: 100. RWE |
111 | FLUX_P | P parameter for flux PI regulator (if separated). 0...32767. Default: 50. RWE |
112 | FLUX_I | I parameter for flux PI regulator (if separated). 0...32767. Default: 100. RWE |
113 | SEPARATE_TORQUE_FLUX_PI_PARAMETERS | Enable separate PI values for torque/flux. 0: COMBINED, 1: SEPARATED. Default: 0. RWE |
114 | CURRENT_NORM_P | P normalization format for current PI. 0: SHIFT_8_BIT, 1: SHIFT_16_BIT. Default: 0. RWE |
115 | CURRENT_NORM_I | I normalization format for current PI. 0: SHIFT_8_BIT, 1: SHIFT_16_BIT. Default: 1. RWE |
116 | TORQUE_PI_ERROR | Torque PI regulator error. -2147483648...2147483647. Default: 0. R |
117 | FLUX_PI_ERROR | Flux PI regulator error. -2147483648...2147483647. Default: 0. R |
118 | TORQUE_PI_INTEGRATOR | Integrated error of torque PI. -2147483648...2147483647. Default: 0. R |
119 | FLUX_PI_INTEGRATOR | Integrated error of flux PI. -2147483648...2147483647. Default: 0. R |
120 | FLUX_OFFSET | Offset applied to flux value [mA]. -4700...4700. Default: 0. RW |
308 | FIELDWEAKENING_I | I parameter for field weakening controller. 0...32767. Default: 0. RWE |
310 | FIELDWEAKENING_VOLTAGE_THRESHOLD | Max voltage for field weakening. 0...32767. Default: 32767. RWE |
#define TORQUE_FLUX_PI_SEPARATION_LIST | ( | X | ) |
Selects if torque and flux PI controllers use separate parameters.
Table — Torque/Flux PI Separation:
NUMBER | NAME | DESCRIPTION |
---|---|---|
0 | TORQUE_FLUX_PI_COMBINED | Use same PI parameters for torque and flux. |
1 | TORQUE_FLUX_PI_SEPARATED | Use separate PI parameters for torque and flux. |
#define TRIGGER_TRANSITION_LIST | ( | X | ) |
For all "_TRIGGER_TRANSITION" params: 0=OFF, 1=RISING, 2=FALLING, 3=BOTH.
NUMBER | NAME | DESCRIPTION |
---|---|---|
0 | OFF | No trigger transition. |
1 | RISING | Trigger on rising edge. |
2 | FALLING | Trigger on falling edge. |
3 | BOTH | Trigger on both rising and falling edges. |
#define UNDERVOLTAGE_ENABLE_LIST | ( | X | ) |
Enumerates options for enabling or disabling undervoltage protection.
Table — Undervoltage Protection Enable/Disable:
NUMBER | NAME | DESCRIPTION |
---|---|---|
0 | DISABLED | Protection disabled. |
1 | ENABLED | Protection enabled. |
#define UNDERVOLTAGE_LEVEL_LIST | ( | X | ) |
Enumerates possible levels for undervoltage protection.
Used with the SUPPLY_LEVEL parameter to configure the VS undervoltage threshold.
Table — Undervoltage Protection Levels:
NUMBER | NAME | DESCRIPTION |
---|---|---|
0 | DISABLED | Comparator disabled. |
1 | LEVEL_0 | Hardware level 0. |
2 | LEVEL_1 | Hardware level 1. |
3 | LEVEL_2 | Hardware level 2. |
4 | LEVEL_3 | Hardware level 3. |
5 | LEVEL_4 | Hardware level 4. |
6 | LEVEL_5 | Hardware level 5. |
7 | LEVEL_6 | Hardware level 6. |
8 | LEVEL_7 | Hardware level 7. |
9 | LEVEL_8 | Hardware level 8. |
10 | LEVEL_9 | Hardware level 9. |
11 | LEVEL_10 | Hardware level 10. |
12 | LEVEL_11 | Hardware level 11. |
13 | LEVEL_12 | Hardware level 12. |
14 | LEVEL_13 | Hardware level 13. |
15 | LEVEL_14 | Hardware level 14. |
16 | LEVEL_15 | Hardware level 15. |
#define UNDERVOLTAGE_PROTECTION_LIST | ( | X | ) |
Parameters for configuring undervoltage lockout (UVLO) protection.
These parameters configure the undervoltage protection for the supply voltage (VS), driver voltage (VDRV), and bootstrap capacitors for UVW and Y2 phases.
Table — Undervoltage Protection Parameters:
NUMBER | NAME | DESCRIPTION |
---|---|---|
250 | SUPPLY_LEVEL | Protection level for VS (Supply voltage) [0-16]. Default: 0. |
251 | VDRV_ENABLE | Enable protection for VDRV (Driver voltage) [0, 1]. Default: 1. |
252 | BST_UVW_ENABLE | Enable protection for UVW bootstrap capacitors [0, 1]. Default: 1. |
253 | BST_Y2_ENABLE | Enable protection for Y2 bootstrap capacitor [0, 1]. Default: 1. |
#define VDS_USAGE_LIST | ( | X | ) |
Enumerates options for VDS measurement usage in overcurrent protection.
Table — VDS Measurement Enable/Disable:
NUMBER | NAME | DESCRIPTION |
---|---|---|
0 | DISABLED | VDS measurement disabled |
1 | ENABLED | VDS measurement enabled |
#define VELOCITY_CONTROL_LIST | ( | X | ) |
Parameters for configuring velocity control and ramping.
Table — Velocity Control Parameters:
NUMBER | NAME | DESCRIPTION |
---|---|---|
123 | VELOCITY_SENSOR_SELECTION | Feedback source for velocity PI regulator. See VelocitySensorSelection. Default: 0 (SAME_AS_COMMUTATION). RWE |
124 | TARGET_VELOCITY | Target velocity value. Write to activate velocity regulation. -134217728...134217727. Default: 0. RW |
125 | ACTUAL_VELOCITY | Actual velocity value. -2147483648...2147483647. Default: 0. R |
126 | VELOCITY_OFFSET | Offset applied to velocity value. -200000...200000. Default: 0. RW |
127 | VELOCITY_P | P parameter for velocity PI regulator. 0...32767. Default: 800. RWE |
128 | VELOCITY_I | I parameter for velocity PI regulator. 0...32767. Default: 1. RWE |
129 | VELOCITY_NORM_P | P normalization for velocity PI. See VelocityPiNorm. Default: 2. RWE |
130 | VELOCITY_NORM_I | I normalization for velocity PI. See VelocityPiNorm. Default: 2. RWE |
131 | VELOCITY_PI_INTEGRATOR | Integrated error of velocity PI regulator. -2147483648...2147483647. Default: 0. R |
132 | VELOCITY_PI_ERROR | Velocity PI regulator error. -2147483648...2147483647. Default: 0. R |
133 | VELOCITY_SCALING_FACTOR | Scaling factor for velocity to real-world units. 1...2047. Default: 1. RWE |
135 | VELOCITY_LOOP_DOWNSAMPLING | Downsampling factor for velocity controller. 0...127. Default: 5. RWE |
137 | VELOCITY_METER_SWITCH_THRESHOLD | Threshold for switching from period to frequency velocity meter. 0...134217727. Default: 2000. RWE |
138 | VELOCITY_METER_SWITCH_HYSTERESIS | Hysteresis for switching back to period meter. 0...65535. Default: 500. RWE |
139 | VELOCITY_METER_MODE | Currently used velocity meter mode. See VelocityMeterMode. Default: 0. R |
45 | OPENLOOP_ANGLE | Phi_e calculated by ramper hardware (openloop modes). -32768...32767. Default: 0. R |
46 | OPENLOOP_CURRENT | Openloop current applied in openloop, current mode [mA]. 0...65535. Default: 1000. RWE |
47 | OPENLOOP_VOLTAGE | Openloop voltage applied in openloop, voltage mode. 0...16383. Default: 0. RWE |
50 | ACCELERATION_FF_GAIN | Gain for acceleration feedforward. 0...65535. Default: 8. RWE |
51 | ACCELERATION_FF_SHIFT | Shift for acceleration feedforward. See AccelerationFfShift. Default: 4. RWE |
52 | RAMP_ENABLE | Enable acceleration/deceleration ramps. 0: DISABLED, 1: ENABLED. Default: 0. RWE |
53 | DIRECT_VELOCITY_MODE | Direct velocity control mode. 0: DISABLED, 1: ENABLED. Default: 1. RWE |
54 | RAMP_AMAX | Max acceleration (top part of ramp). 1...8388607. Default: 1000. RWE |
55 | RAMP_A1 | First acceleration in ramp. 1...8388607. Default: 8000. RWE |
56 | RAMP_A2 | Second acceleration in ramp. 1...8388607. Default: 4000. RWE |
57 | RAMP_DMAX | Max deceleration (top part of ramp). 1...8388607. Default: 1000. RWE |
58 | RAMP_D1 | Second deceleration in ramp. 1...8388607. Default: 8000. RWE |
59 | RAMP_D2 | First deceleration in ramp. 1...8388607. Default: 8000. RWE |
60 | RAMP_VMAX | Max velocity of ramp. 0...134217727. Default: 134217727. RWE |
61 | RAMP_V1 | Velocity threshold for A1/D1 to A2/D2. 0...134217727. Default: 0. RWE |
62 | RAMP_V2 | Velocity threshold for A2/D2 to AMAX/DMAX. 0...134217727. Default: 0. RWE |
63 | RAMP_VSTART | Start velocity of ramp. 0...8388607. Default: 0. RWE |
64 | RAMP_VSTOP | Stop velocity of ramp. 1...8388607. Default: 1. RWE |
65 | RAMP_TVMAX | Min time at VMAX before deceleration. 0...65535. Default: 0. RWE |
66 | RAMP_TZEROWAIT | Wait time at end of ramp. 0...65535. Default: 0. RWE |
67 | ACCELERATION_FEEDFORWARD_ENABLE | Enable acceleration feedforward. 0: DISABLED, 1: ENABLED. Default: 0. RWE |
68 | VELOCITY_FEEDFORWARD_ENABLE | Enable velocity feedforward. 0: DISABLED, 1: ENABLED. Default: 0. RWE |
69 | RAMP_VELOCITY | Target velocity calculated by ramp controller. -134217727...134217727. Default: 0. R |
70 | RAMP_VELOCITY_ERROR | Error of ramp velocity controller. -134217727...134217727. Default: 0. R |
#define VELOCITY_METER_MODE_LIST | ( | X | ) |
Enumerates velocity meter modes.
Table — Velocity Meter Modes:
NUMBER | NAME | DESCRIPTION |
---|---|---|
0 | PERIOD_METER | Period-based measurement. |
1 | FREQUENCY_METER | Frequency-based measurement. |
2 | SOFTWARE_METER | Software-based measurement. |
#define VELOCITY_PI_NORM_LIST | ( | X | ) |
Enumerates normalization formats for velocity PI controller.
Table — Velocity PI Normalization:
NUMBER | NAME | DESCRIPTION |
---|---|---|
0 | NO_SHIFT | No shift. |
1 | SHIFT_8_BIT | Shift right by 8 bits. |
2 | SHIFT_16_BIT | Shift right by 16 bits. |
3 | SHIFT_24_BIT | Shift right by 24 bits. |
#define VELOCITY_SENSOR_SELECTION_LIST | ( | X | ) |
Enumerates feedback sources for velocity PI regulator.
Table — Velocity Sensor Selection:
NUMBER | NAME | DESCRIPTION |
---|---|---|
0 | SAME_AS_COMMUTATION | Use same feedback as commutation mode. |
1 | DIGITAL_HALL | Use digital Hall sensors. |
2 | ABN1_ENCODER | Use ABN1 encoder. |
3 | ABN2_ENCODER | Use ABN2 encoder. |
4 | SPI_ENCODER | Use SPI encoder. |
#define VGS_BLANKING_TIME_LIST | ( | X | ) |
Enumerates possible blanking times for VGS short protection.
Table — VGS Protection Blanking Time:
NUMBER | NAME | DESCRIPTION |
---|---|---|
0 | OFF | No blanking. |
1 | T_0_25_MICROSEC | 0.25 µs blanking time. |
2 | T_0_5_MICROSEC | 0.5 µs blanking time. |
3 | T_1_MICROSEC | 1.0 µs blanking time. |
#define VGS_DEGLITCH_TIME_LIST | ( | X | ) |
Enumerates possible deglitch times for VGS short protection.
Table — VGS Protection Deglitch Time:
NUMBER | NAME | DESCRIPTION |
---|---|---|
0 | OFF | No deglitching. |
1 | T_0_25_MICROSEC | 0.25 µs deglitch time. |
2 | T_0_5_MICROSEC | 0.5 µs deglitch time. |
3 | T_1_MICROSEC | 1.0 µs deglitch time. |
4 | T_2_MICROSEC | 2.0 µs deglitch time. |
5 | T_4_MICROSEC | 4.0 µs deglitch time. |
6 | T_6_MICROSEC | 6.0 µs deglitch time. |
7 | T_8_MICROSEC | 8.0 µs deglitch time. |
#define VGS_SHORT_ENABLE_LIST | ( | X | ) |
Enumerates options for enabling or disabling VGS short protection.
Table — VGS Protection Enable/Disable:
NUMBER | NAME | DESCRIPTION |
---|---|---|
0 | DISABLED | Protection disabled. |
1 | ENABLED | Protection enabled. |
#define VGS_SHORT_PROTECTION_LIST | ( | X | ) |
Parameters for configuring gate-to-source (VGS) short circuit protection.
These parameters enable/disable protection against gate-to-source voltage shorts for different phases (UVW, Y2) and transitions (ON, OFF) of both low and high side drivers. The protection includes configurable blanking and deglitch times.
#define WAIT_CONDITION_LIST | ( | X | ) |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case Op::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case CalcOperation::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case JumpCondition::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case WaitCondition::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case ReplyCode::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case RamDebugType::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case RamDebugState::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case GlobalParamBank0::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case GlobalParamBank2::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case GlobalParamBank3::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case TriggerTransition::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case GateDriver::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case PwmOutputPolarity::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case GateCurrentSink::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case GateCurrentSource::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case BootstrapCurrentLimit::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case OvercurrentProtection::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case OvercurrentEnable::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case OvercurrentThreshold::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case OvercurrentTiming::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case VdsUsage::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case UndervoltageProtection::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case UndervoltageLevel::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case UndervoltageEnable::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case VgsShortProtection::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case VgsShortEnable::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case VgsBlankingTime::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case VgsDeglitchTime::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case MotorConfig::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case MotorType::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case MotorDirection::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case PwmSwitchingScheme::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case CommutationMode::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case IdleMotorPwmBehavior::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case AdcConfig::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case AdcShuntType::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case CsaGain::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case CsaFilter::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case AdcMapping::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case AdcInversion::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case PwmFrequency::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case FeedbackSensorConfig::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case AbnInitMethod::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case AbnInitState::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case AbnNChannelFiltering::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case HallSectorOffset::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case SpiEncoderTransfer::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case SpiInitMethod::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case EnableDisable::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case Direction::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case TorqueFluxControl::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case TorqueFluxPiSeparation::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case CurrentPiNormalization::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case VelocityControl::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case VelocitySensorSelection::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case VelocityPiNorm::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case VelocityMeterMode::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case AccelerationFFShift::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case PositionControl::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case PositionSensorSelection::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case PositionPiNorm::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case RamperStopConfig::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case ReferenceSwitchEnable::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case ReferenceSwitchPolaritySwap::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case ReferenceSwitchLatchSettings::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case EventStopSettings::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case BiquadFilter::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case BiquadFilterEnable::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case FaultHandling::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case GdrvRetryBehaviour::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case DriveFaultBehaviour::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case IitMonitor::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case TemperatureProtection::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case HeartbeatMonitoring::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case HeartbeatMonitoringConfig::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case BrakeChopper::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case MechanicalBrake::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case ReferenceSearch::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case ReferenceSwitchSearchMode::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case ReferenceSearchCommand::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case ReferenceSearchStatus::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case StepDir::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case StepDirStepDividerShift::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case HibernationWakeup::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case PowerDownTimeout::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case SystemStatusSupply::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case InternalMeasurement::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case CombinedDiagnosticValues::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case ErrorsAndFlags::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case GeneralStatusFlags::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case GeneralErrorFlags::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case GateDriverErrorFlags::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | case AdcStatusFlags::NAME: return #NAME; |
#define X | ( | NAME, | |
VALUE, | |||
DOC | |||
) | NAME = VALUE DOC, |