my programming experience allows me to do a lot and nothing at the same time ..... I'm not a professional programmer and it took me a long and too long time to understand the mechanisms of linuxcnc .... many still are not well understood . ... I would be presumptuous to give advice to you .... I don't know your experience and your goals .... if you have to make a plasma or some kind of mill or a printer ..... you find many better suggestions than the ones I can give you .... if you have to work with robot joint I took a lot of advantage from the suggestions of arkEye, andyPugh, sebastian kumizky, dave garret and last but not least from Grotius' projects .... indeed Grotius gave me made me better understand what arkEye suggested ..... about ethercat I haven't studied the protocol in depth, otherwise I wouldn't have asked the silly questions I asked here .... so I confess with sympathy that I use the forum as a textbook .... for ethercat today follow db1981's posts and for the rest do a lot of practice .... when I was very good in mathematics (centuries ago) it's because I did a lot of practice and a lot of study and I had a lot of interest in doing it .... after these i can suggest you to use what is more familiar for you .... personally is c++ and because i'm lazy I use QT framework .... when you be able grab and send data from Lcnc to Qt interfaces you can do a lot of thinghs with little effort .... but it all depends on what you can do today..... for time I have and for my experinces on Lcnc and in english .... i can help you.
with qProcess ...
Code:
QProcess sdoRegUpload;
sdoRegUpload.startDetached("/bin/sh",QStringList()<<"-c"<<"ethercat upload -p 2 -t in16 0x2646 00");
sdoRegUpload.waitForFinished();
QByteArray result = sdoRegUpload.readAll();
QString myValue = QString::fromStdString(result.toStdString());
int grabVal = myValue.split(" ")[1].toInt;
**** but better was run sequences of these command inside a qthread o inside a cyclic Qtimer so you have not UI freeze problem *******
regards