I made a little C++ library for the Robot Remote API. I’ve been using this for a little while with an application that acts as a CAN node in a HIL rig and it’s working great. It has a built-in HTTP server that, if enabled, will show a web page with all available keywords.
EDIT: Just to be clear, this library is an XML-RPC (and optional HTTP) server implementing the Robot Remote API. I only mentioned the CAN application as an example of usage (it’s in fact the reason I created this library). RobotRemoteServerCpp can be used with any C++ application.
Always great to have new libraries in the RF ecosystem
I’ll suggest changing the name of the library to include what it does, rather than how it’s written. Maybe something like RemoteCANLibrary ? This is just so hopefully it will be easier for people to find it.
I was perhaps a bit unclear. This library has nothing to do with CAN, it’s a library with an XML-RPC (and optional HTTP) server implementing the robot remote APi. The CAN thing is an application that uses this library (it’s actually the reason I developed this).
FYI, I don’t know if it’s still convention or not, but back when I worked with remote server implementations, there was only python reference implementation as the gold standard. There might have been clojure and ruby at the time.
I don’t know if you want to do that as well or not.
By doing so, a user can test/run the same “test” against all remote library server implementations without having to build an example library for the server to serve.
You might also want to contact the RF project to have your remote server listed as one of the available implementations.
You mentioned creating this server to use with a CAN application, is that custom/proprietary, or might you have a generic CAN library implementation as well to be servable via this server?
I will definitely have a look at the reference implementation, that sounds like a great idea. As for having a link on the RF project it’s actually already listed there.
The CAN application is unfortunately proprietary and nothing I will be able to share. I have some ideas about a generic CAN node application that parses an eds or xdd file but haven’t gotten to it yet.