epics-modules / motor

APS BCDA synApps module: motor
https://epics-modules.github.io/motor/
20 stars 47 forks source link

Iocsh referenced by xxx module is missing #189

Closed djvine closed 1 year ago

djvine commented 2 years ago

This is the same issue as https://github.com/epics-modules/xxx/issues/26

@prjemian merged a pull request at the time but that appears to be broken. There's no iocsh directory in motor or motorSim.

The xxx module references the following to instantiate some simulated motors: iocshLoad("$(MOTOR)/iocsh/motorSim.iocsh", "INSTANCE=motorSim, HOME_POS=0, NUM_AXES=16, HIGH_LIM=32000, LOW_LIM=-32000, SUB=substitutions/motorSim.substitutions")

prjemian commented 2 years ago

The docs/RELEASE.md file states that amongst the changes for R7.2: iocsh files are now installed at build time.

prjemian commented 2 years ago

The make rule source (new in R6.2.1): https://github.com/EPICS-synApps/support/blob/R6-2-1/configure/CONFIG_IOCSH

kmpeters commented 2 years ago

motorSim.iocsh can also appear to be missing if motorMotorSim is built outside of the motor module. In this case it would be found here:

$(MOTOR_MOTORSIM)/iocsh/motorSim.iocsh

Instead of inside motor:

$(MOTOR)/iocsh/motorSim.iocsh
MarkRivers commented 2 years ago

Note that motorSim.iocsh is using the obsolete and deprecated Model 2 driver. It should be updated to use the Model 3 driver. I have just created a PR to update motorMotorSim/iocs/motorSimIOC/iocBoot/iocMotorSim to use the Model 3 driver, but I did not update motorSim.iocsh.

kmpeters commented 1 year ago

I added motorSim8x.iocsh to motorMotorSim recently (https://github.com/epics-motor/motorMotorSim/commit/32547ab47953e08ef06ed291cd699444af1e7987), which uses the model-3 support and can be sourced like the older motorSim.iocsh. It is installed to the motor's iocsh dir when motorMotorSim is built as a submodule. It is installed to motorMotorSim's iocsh dir when motorMotorSim is built outside of motor.