Text and pictures © 2019-2023 Guillaume Dargaud
Last updated on 2021/11/05
"In case the rest of you missed it, the inspirational speech was: 'If you work hard, you can achieve great things. And then you die'." — Scott Adams.
The original API for the ESP-301 motion controller was simple, but the XPS-RL got must tougher by having a real-time OS and no explicit API documentation. Fortunately a C++ API was available, which I simplified here for use in C.
Features: Things are kept to a minimum. The only calls are to start the motors, move and set speed and acceleration, but it should be easy enough to carry on with that. There's a Makefile and 2 test programs, simply run them with -h for help. It communicates via ethernet.
Limitations: the current system is configured for a URS100BPP rotation table and a BGS80PP goniometer set on the same group. It's probably easy to adapt to other types of motors. At the begining of the source code, there's an explanation how it was reverse-engineered from a mix of C++ code and wireshark intercepts.