[EthercatDevice_DmpLCD_Generic]
Description
Read the X-axis position of the touch point on the touchscreen of the LCD module on the EtherCAT slave device. The coordinate will be rotated according to the configuration of lcdSetRotation()
.
Derived Class:
Class Name | Vendor ID | Product Code |
EthercatDevice_QECR11UN01 | 0x00000bc3 | 0x0086d103 |
EthercatDevice_QECR00UN01 | 0x00000bc3 | 0x0086d100 |
Syntax
int touchX(size_t point = 0);
Parameters
[in] size_t point
Touchpoint sequence number. If the device supports multi-touch, this parameter can be used to read the X-axis position of the specified touch point.- 0: 1st touch point.
- 1: 2nd touch point.
- And so on.
Return Value
Return the X-axis position of the touch point. If the return value is smaller than 0, it means an error code.
Comment
This function must be called after a successful execution of EthercatMaster::start()
and before EthercatMaster::stop()
. This function is non-blocking and can be called within the callback functions.
Example
#include "Ethercat.h" EthercatMaster master; EthercatDevice_QECR00UN01 slave; bool Touched = false; int TouchX; int TouchY; void CyclicCallback() { if (!Touched && slave.isTouched() > 0) { Touched = true; TouchX = slave.touchX(); TouchY = slave.touchY(); } } void setup() { Serial.begin(115200); master.begin(); slave.attach(0, master); slave.lcdInit(ECAT_LCD_ILI9341_1); master.attachCyclicCallback(CyclicCallback); master.start(); } void loop() { if (Touched) { Serial.print("Touched. X: "); Serial.print(TouchX); Serial.print(", Y: "); Serial.println(TouchY); delay(500); Touched = false; } // ... }
Please see EthercatDevice_DmpLCD_Generic Class for more QEC Stepper Drivers instructions and API usage.