I am currently working on the ab_server simulator code. I realized that I had most of what I needed for a small cross-platform event loop and have been working on that on and off for a couple of months. This is going to gate any further changes to ab_server. I hope to be able to eventually release a server that will:
- support multiple end points (looking like multiple PLCs).
- each end point may be a different kind of PLC.
- support Modbus as well as EIP/CIP PLCs.
- really support BOOL arrays in a platform-dependent way (OMRON and AB do not do the same thing).
- support tag listing.
I will also be slowly redoing the main library to use the cross-platform event loop. That will allow me to reduce the memory and CPU overhead of the library and potentially port it to other OSes like FreeRTOS and NuttX.
I am also working on consolidating the CI builds to reduce code duplication and extending them to support Alpine Linux using the musl C library. I will eventually be releasing Debian and Redhat packages for the library.
I am still trying to find an organization that will deal with hardware donations. I have applied to a few and been rejected by one that does have nice support for donated hardware. If anyone has any ideas of other organizations that can deal with tax forms etc. for hardware donations (other than the Software Freedone Conservancy), please let me know!
Best,
Kyle