[EthercatDevice_DmpStepper_Generic]
Description
Configure the digital filter of the specified encoder on the EtherCAT slave device. As shown in the figure, pulses with a width smaller than the filter bandwidth are filtered out, and pulses that are not filtered out are delayed by the time of the filter bandwidth.
This parameter is written to the EEPROM of the EtherCAT slave device and loaded during startup, so users do not need to configure this parameter each time before running the program.
Derived Class:
Class Name | Vendor ID | Product Code |
EthercatDevice_QECR11MP3S | 0x00000bc3 | 0x0086d0d6 |
EthercatDevice_QECR00MP3S | 0x00000bc3 | 0x0086d0d9 |
Syntax
int configEncoderDigitalFilter(int encoder, uint32_t width);
Parameters
[in] int encoder
The specified encoder number:
Definition | Value | Description |
ECAT_ENCODER_1 | 0x01 | Encoder 1 on the EtherCAT slave device. |
ECAT_ENCODER_2 | 0x02 | Encoder 2 on the EtherCAT slave device. |
ECAT_ENCODER_3 | 0x03 | Encoder 3 on the EtherCAT slave device. |
ECAT_ENCODER_X | 0x11 | Encoder X, which mapping is determined by the configMachineAxisMapping() . |
ECAT_ENCODER_Y | 0x12 | Encoder Y, which mapping is determined by the configMachineAxisMapping() . |
ECAT_ENCODER_Z | 0x13 | Encoder Z, which mapping is determined by the configMachineAxisMapping() . |
[in] uint32_t width
The digital filter of the encoder to be configured is in units of 10 nanoseconds. If this value is 100, it means the filter width is 1000 nanoseconds.
Return Value
Return an error code. If the returned value is zero, it indicates a successful execution of this function.
Comment
This function must be called after a successful execution of EthercatMaster::begin()
. This function is blocking and cannot be called within the callback functions.
Example
#include "Ethercat.h" EthercatMaster master; EthercatDevice_QECR11MP3S slave; void setup() { master.begin(); slave.attach(0, master); slave.configEncoderDigitalFilter(ECAT_ENCODER_1, 100); slave.configEncoderDigitalFilter(ECAT_ENCODER_2, 100); slave.configEncoderDigitalFilter(ECAT_ENCODER_3, 100); // ... } void loop() { // ... }
Please see EthercatDevice_DmpStepper_Generic Class for more QEC Stepper Drivers instructions and API usage.