I want to find...

Search

Shares

Table of Content

EthercatDevice_DmpStepper.machineIsLimitTouched()

[EthercatDevice_DmpStepper_Generic]

Description

Check if the limit switch of the specified machine axis on the EtherCAT slave device is touched.

Derived Class:

Class NameVendor IDProduct Code
EthercatDevice_QECR11MP3S0x00000bc30x0086d0d6
EthercatDevice_QECR00MP3S0x00000bc30x0086d0d9

Syntax

int machineIsLimitTouched(int machine_axis);

Parameters

  • [in] int machine_axis
    The specified machine axis number on the EtherCAT slave device:
DefinitionValueDescription
ECAT_MACHINE_X_AXIS0X-axis, which mapping is determined by the configMachineAxisMapping().
ECAT_MACHINE_Y_AXIS1Y-axis, which mapping is determined by the configMachineAxisMapping().
ECAT_MACHINE_Z_AXIS2Z-axis, which mapping is determined by the configMachineAxisMapping().

Return Value

Return whether the limit switch of the specified machine axis is touched.

  • 1 means the Machine Limit Switch is touched.
  • 0 means none.

If the return value is less than 0, it indicates an error code.

Comment

This function must be called after a successful execution of EthercatMaster::start() and before EthercatMaster::stop(). This function is blocking and cannot be called within the callback functions.

This function only works in G-code Controller mode on the EtherCAT slave device. For more details, please refer to configDeviceMode().

Example

#include "Ethercat.h"

EthercatMaster master;
EthercatDevice_QECR11MP3S slave;

void CyclicCallback() {
  slave.update();
}

void setup() {
  Serial.begin(115200);
  master.begin();
  slave.attach(0, master);
  master.attachCyclicCallback(CyclicCallback);
  master.start();
}

void loop() {
  Serial.print("Limit Switch => ");
  Serial.print("X: ");
  Serial.print(slave.machineIsLimitTouched(ECAT_MACHINE_X_AXIS));
  Serial.print(", Y: ");
  Serial.print(slave.machineIsLimitTouched(ECAT_MACHINE_Y_AXIS));
  Serial.print(", Z: ");
  Serial.println(slave.machineIsLimitTouched(ECAT_MACHINE_Z_AXIS));
  delay(1000);
  // ...
}

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

Scroll to Top