Other Parts Discussed in Thread: TMDSIDK437X, TIDEP0025
I have built and compiled the ethercat_slave_cia402_AM437x_arm using EtherCAT SSC code, PRU-ICSS-EtherCAT_Slave_01.00.08.01 and PRU-ICSS-Industrial_Drives_01.00.02.03.
I have used CCS10 to build and will be using TMDSidk437x evaluation board to run the application.
I am working on making a minor modification to the ethercat_slave_cia402_AM437x_arm application. I want to replace the ENDAT encoder with a simple quadrature encoder. I would like to use the eQEP0 interface instead of ENDAT because the motors I plan to use come with incremental encoders that are best suited for direct connection to eQEP modules. The distance between the drive and the motors will be quite short and in the order of a few centimeters.
I have noted that eQEP0 interface is already available on J15 of TMDSidk. So from the HW point of view, I already have an interface that is available.
Here are the steps I am planning to take to change the software application to reach my goal;
1) use #ifdef directives to add quadrature encoder to the application - I don't want to eliminate ENDAT because it could be useful in future
Tips on where to do this will be welcome. I am searching in parallel to identify and point the compiler away from the ENDAT driver to an eQEP driver
2) Add/write an eQEP driver for the CCS project to compile with the rest of the sources - Is there a driver package that I could use or modify and use instead of starting from scratch?
3) Make changes in the application to create the driver instance and integrate with the rest of the motor control application under tirtos environment.
I am exploring and making a list of the multitude of design changes that are required to make such an effort successful. Any tips or application notes that are relevant would be welcome.