I want to find...

Search

Shares

Table of Content

EthercatDevice_DmpStepper.configEncoderInputPolarity()

[EthercatDevice_DmpStepper_Generic]

Description

Configure the polarity of the input pins for the specified encoder on the EtherCAT slave device. 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 NameVendor IDProduct Code
EthercatDevice_QECR11MP3S0x00000bc30x0086d0d6
EthercatDevice_QECR00MP3S0x00000bc30x0086d0d9

Syntax

int configEncoderInputPolarity(int encoder, bool pin_a, bool pin_b, bool pin_z);

Parameters

  • [in] int encoder
    The specified encoder number:
DefinitionValueDescription
ECAT_ENCODER_10x01Encoder 1 on the EtherCAT slave device.
ECAT_ENCODER_20x02Encoder 2 on the EtherCAT slave device.
ECAT_ENCODER_30x03Encoder 3 on the EtherCAT slave device.
ECAT_ENCODER_X0x11Encoder X, which mapping is determined by the configMachineAxisMapping().
ECAT_ENCODER_Y0x12Encoder Y, which mapping is determined by the configMachineAxisMapping().
ECAT_ENCODER_Z0x13Encoder Z, which mapping is determined by the configMachineAxisMapping().
  • [in] bool pin_a
    The polarity of input pin A for the specified encoder to be configured.
    • true: High voltage represents logic 1, while low voltage represents logic 0.
    • false: High voltage represents logic 0, while low voltage represents logic 1.
  • [in] bool pin_b
    The polarity of input pin B for the specified encoder to be configured. The explanation for the input value is the same as pin_a.
  • [in] bool pin_z
    The polarity of input pin Z for the specified encoder to be configured. The explanation for the input value is the same as pin_a.

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.configEncoderInputPolarity(ECAT_ENCODER_1, true, true, true);
  slave.configEncoderInputPolarity(ECAT_ENCODER_2, true, true, true);
  slave.configEncoderInputPolarity(ECAT_ENCODER_3, true, true, true);
  // ...
}

void loop() {
  // ...
}

Please see EthercatDevice_DmpStepper_Generic Class for more QEC Stepper Drivers instructions and API usage.

Scroll to Top