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

Reply via email to