Setting up an EPICS controller/IOC

Solution 1:

I'll post a short to-do list here. Otherwise, I recommend you to join the EPICS community (tech-talk mail list) and ask there. In fact, there is a lot of material accumulated over the years, so I would search there (e.g. this).

In short:

  1. Install EPICS on to your Beagle Board Black (you must build it from sources).
  2. Create an IOC (CA-server) using makeBaseApp.pl
  3. Add your device support libraries into the Makefile
  4. Write your custom device support code (in C or C++)
  5. Create a .db file with your records
  6. Run make to build your IOC
  7. Run the resulting executable. This will start the IOC shell.
  8. Test your IOC if it's accessible from your PC using caget, caput and/or camonitor
  9. Eventually write your custom CA-client (Qt, Control System Studio, Python, Java, etc.)

I assume you will be reading/writing signals from your hardware, so as for point 4. on my list I recommend using ASYN driver or even better NDS. These are high-level APIs that hide a lot of EPICS complexities.

HTH