@gninaus Hi Guenther,
the fix is available in our daily build repository: https://download.rexcontrols.cz/partner/daily/
Feel free to test it and report back.
Kind Regards,
Tomas
@gninaus Hi Guenther,
the fix is available in our daily build repository: https://download.rexcontrols.cz/partner/daily/
Feel free to test it and report back.
Kind Regards,
Tomas
Hi Guenther,
Thank you for your bug report. Our developers fixed that immediately. The fix is now under test, and I will let you know once it is publicly available.
Thank you for your understanding.
Cheers,
Tomas
@mtomek Hello,
I'm really sorry—I somehow overlooked the fact that you were posting in this old thread. The "Warning 1 1" indicates that the buffer for serial communication between the Master and Slave devices is full:
#define WARNING_SERIAL 1
#define WARNING_SERIAL_BUFFER_FULL 1
Have you added any new data communication or changed the communication speed recently? I’d also like to point out that REXduino is a third-party project, and we don’t have direct control over it. I found the explanation for the warning directly in the source code here:
https://github.com/jaroslavs/REXduino/blob/master/REXduino_slave/REXduino_slave.ino
Cheers,
Jan
Hi @stepan-ozana,
The delay you're observing in Windows is likely due to process prioritization and interruption handling, which are less efficient and harder to control compared to a Linux-based system like Debian or Raspberry Pi OS. In Linux, you have better control over how processes are scheduled and managed, allowing the system to run more smoothly and minimizing the BUSY signal duration. Windows, on the other hand, tends to introduce more overhead when executing external processes, even if the script itself does nothing, due to the way it handles process management at the system level.
Additionally, our systems on Raspberry Pi use a real-time kernel, which further improves the timing and responsiveness of processes. That's why we recommend running time-critical processes on Debian-based systems.
Cheers,
Jan
@MikeyH Hi Mike,
The driver for controlling the GPIO pins on the Raspberry Pi 5 is finally available. I apologize for the delay. In the end, we had to develop an entirely new driver. This driver can also be used on older versions of Raspberry Pi, provided they are running Linux 5.10 or newer. The documentation for the driver is still being developed. However, everything should be described in the 0410_GPIO and 0411_PWM examples if you install the latest daily build of REXYGEN: https://download.rexcontrols.cz/partner/daily/
Cheers,
Jan
@Scoobsalamander Hi Kris,
I am sending the promised example from our developers: ethercat_basic_example.zip. A readme file with a brief description is included. Please let us know if anything is unclear.
Cheers,
Jan
@Scoobsalamander Hi Kris, thanks for your question!
We are still missing the converter from EtherCAT XML files to our driver which is crucial for EtherCAT setup. Do you have any EtherCAT IO modules in your mind? We can prepare a basic example for you so you can modify it according to your needs. What do you think?
Please, note that the Raspberry Pi is not the best piece of HW for challenging tasks and short communication periods
Cheers,
Tomas
@stepan-ozana Thanks for sharing your solution! Unfortunately, I don't have the required toolboxes to run the script on my computer. However, the code is well-documented and well-organized, which should make it easy for anyone with the necessary Matlab toolboxes to use it without any issues.
'modbus' requires one of the following:
Industrial Communication Toolbox
MATLAB Coder Support Package for NVIDIA Jetson and NVIDIA DRIVE Platforms
Error in example_ModbusTcpIP_Comm_RpiToPC (line 9)
m = modbus('tcpip', IP_ADDR,MODBUS_PORT) %establish communication with the server (client)
Cheers,
Jan
@stepan-ozana
That's good news. I believe your confusion arises from different terminology. The Master/Slave terminology is used in the original context, which we are still adhering to for now. However, the Server/Client terminology is more commonly used nowadays. In the earlier terminology, the client was referred to as master and the server as slave.
@stepan-ozana
Thank you for confirmation. I will update the example. Unfortunately, quite large changes occur across Matlab versions, and there are situations where a script from older versions stops working in newer ones.
Cheers,
Jan