The current modbus situation in master works, but is slightly wonky. We
have four programs that use modbus, and they use three separate modbus
implementations:
gs2_vfd uses an old version of libmodbus that we forked into our
repo in 2008 and then applied some bugfixes to over the years
vfs11_vfd and mb2hal use libmodbus v3, but that version is only
packaged for Precise, not for Lucid or Hardy, so we don't Build-
Depend on it, and these components are not included in our debs
classicladder has its own internal modbus code
I've backported libmodbus5 (version 3.0.1, what's currently in Precise)
to Lucid and Hardy, and compiled debs for i386 and amd64. Source and
binary debs are here: http://highlab.com/~seb/linuxcnc/libmodbus/
I hesitate to say "backported" because all i did was a tiny tweak to the
dsc packaging metadata to make it recognizable by Hardy's and Lucid's
dpkg. No code changes.
I verified that all the various bug fixes we've applied to our copy of
libmodbus made it into upstream, and are present in the packaged version.
I then updated the master branch of linuxcnc to use the new packaged
version, instead of our own old forked copy of libmodbus. My branch is
here:
http://git.highlab.com/?p=emc2.git;a=shortlog;h=refs/heads/libmodbus3
The gory details are all in the handful of commits in the branch, but
the brief rundown is this:
We now Build-Depend on libmodbus-dev.
By default, configure will expect libmodbus v3 or greater, and fail
if it can't be found.
"configure --without-libmodbus" to turn off checking for libmodbus
and turn off compilation of all the things that need libmodbus
(gs2_vfd, vfs11_vfd, and mb2hal). classicladder is still built
even if you say --without-libmodbus, because it doesn't use
libmodbus, it has its own modbus implementation.
I updated gs2_vfd to use the new libmodbus v3 api. I've run the
updated gs2_vfd module (the only one that used our old forked copy
of modbus) on my mill and it works fine as far as i can tell.
I have not tested vfs11_vfd or mb2hal at all, but i also haven't
changed their code or what they link against at all.
I request that the backported debs be included in the linuxcnc.org
debian archive, and that the libmodbus3 branch on highlab.com be
reviewed and merged into master. Any feedback is welcome.
--
Sebastian Kuzminsky
------------------------------------------------------------------------------
How ServiceNow helps IT people transform IT departments:
1. A cloud service to automate IT design, transition and operations
2. Dashboards that offer high-level views of enterprise services
3. A single system of record for all IT processes
http://p.sf.net/sfu/servicenow-d2d-j
_______________________________________________
Emc-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/emc-developers