...
Use an existing support
If a support is present in <ibek-support>, it's very simple to use it just create a a yaml that instantiates your device(s).
An example could be the following:the following the following yaml newport.yaml. It instatiate a motor with 1 axis. This support implicitly assumes that this serial control is connected to a Ethernet2Serial server like a moxa that responds on address 192.168.190.56 and port 4001
Code Block | ||||
---|---|---|---|---|
| ||||
ioc_name: rfmotors description: RF motors entities: - type: motorNewport.SMC100CreateController controllerName: NEWPORT001 P: "SPARC:RF:" IP: 192.168.190.56 TCPPORT: 4001 numAxes: 1 - type: motorNewport.motorAxis controller: NEWPORT001 M: "m0" DESC: "Axis" ADDR: 0 DLLM: -25 DHLM: 25 home: 1 start: 10 VELO: 1 |
The project contains .devcontainer to test developments, however I often create a local image:Then we can test if simply having the docker image: baltig.infn.it:4567/epics-containers/infn-epics-ioc
Code Block | ||||
---|---|---|---|---|
| ||||
docker build --build-arg TARGET_ARCHITECTURE="linux" --build-arg TARGETARCH="amd64" -t baltig.infn.it:4567/epics-containers/infn-epics-ioc:local
cd <project with yaml config >
docker run -p 5064:5064/udp -p 5064:5064/tcp -p 5065:5065/udp -p 5065:5065/tcp -it -v .:/epics/ioc/config baltig.infn.it:4567/epics-containers/infn-epics-ioc:local |
A generic asyn motor OPI interface can be used to drive the motor. Motor OPIs