I have applied and pushed the patch, and can now build OK with modbus R3-2:
[jwlodek@dell-rhel8 eurotherm2k]$ make clean uninstall -s
[jwlodek@dell-rhel8 eurotherm2k]$ make -sj
[jwlodek@dell-rhel8 eurotherm2k]$
[jwlodek@dell-rhel8 eurotherm2k]$ more /usr/lib/epics/README | grep MODBUS
MODBUS - R3-2
-Jakub
From: Mark Rivers <rivers at cars.uchicago.edu>
Sent: Friday, August 26, 2022 12:54 PM
To: Wlodek, Jakub <jwlodek at bnl.gov>; William Kirstaedter <kirstaedter at fhi-berlin.mpg.de>; tech-talk at aps.anl.gov <tech-talk at aps.anl.gov>
Subject: RE: Eurotherm modbus support
Hi Jakub ,
Ø
I was planning on getting it working with the newer modbus version at some point, which it seems you have already done, perhaps we should just apply those changes to the repo?
That sounds good. Are you OK with just applying my changes using the “patch” command, or do you want me to fork the repository and make a PR?
One thing you need to do before applying the patch is to do:
git mv eurothermModbus.c eurothermModbus.cpp
Mark
From: Wlodek, Jakub <jwlodek at bnl.gov>
Sent: Friday, August 26, 2022 11:50 AM
To: Mark Rivers <rivers at cars.uchicago.edu>; William Kirstaedter <kirstaedter at fhi-berlin.mpg.de>; tech-talk at aps.anl.gov
Subject: Re: Eurotherm modbus support
This repo is a backup of an IOC instance we had running that as far as I could tell had no upstream master (I believe it was downloaded as a source tarball, probably from the
DLS site). I was planning on getting it working with the newer modbus version at some point, which it seems you have already done, perhaps we should just apply those changes to the repo?
I now realize that DLS repository is not the same as the one you are using. However, this one does seem to be the same:
https://github.com/jwlodek/eurotherm2k
Jakub, is this repository a fork of a master somewhere else, or is this now the primary repository?
Mark
Hi William,
It appears that the eurothemModbus source code is on Github here:
https://github.com/dls-controls/eurothermModbus
Does your gitlab dump differ from that?
Mark
Hi Mark,
unfortunately, it doesnt work, various casts fail.
I've saved a dump here:
https://gitlab.fhi.mpg.de/kw/eurotherm2k
(should be externally accessible)
William Kirstaedter
PP&B Computer Support Group
Fritz-Haber-Institut Berlin
Am 26.08.22 um 14:40 schrieb Mark Rivers:
You can probably just rename eurothermModbus.c
to eurothermModbus.cpp. See if that works.
How does eurothermModbus use drvModbusAsyn?
From: Tech-talk on behalf of William Kirstaedter via Tech-talk
Sent: Friday, August 26, 2022 7:20 AM
To: tech-talk at aps.anl.gov
Subject: Eurotherm modbus support
Hi,
unfortunately the DLS site for the eurotherm support module is not available anymore...
(http://controls.diamond.ac.uk/downloads/support/eurotherm2k/)
does anybody still maintain eurotherms?
I kinda converted the 1-22 release to work with my environment and am now running into a C / C++ error...
newer asyn versions reference vector.h which is C++ while my eurotherm support file is C, which is bad because the C compiler doesnt know about the C++ vector.h ...
In file included from /home/epics/EPICS/epics-support/modbus/include/drvModbusAsyn.h:15,
from ../eurothermModbus.c:25:
/home/epics/EPICS/epics-support/asyn/include/asynPortDriver.h:4:10: fatal error: vector: No such file or directory
#include <vector>
^~~~~~~~
compilation terminated.
Im not sure how to get around this....
maybe someone with more experience in the EPICS build system can help me out.
thanks,
William
|