# Trigger a rereading of the encoder. This action is sometimes necessary for # absolute encoders after enabling them. For incremental encoders, this is a no-op. # This record is coupled to the parameter library via rereadEncoderPosition_ -> REREAD_ENCODER_POSITION. record(longout, "$(INSTR)$(M):RereadEncoder") { field(DTYP, "asynInt32") field(OUT, "@asyn($(CONTROLLER),$(AXIS),1) REREAD_ENCODER_POSITION") field(PINI, "NO") } # The turboPmac driver reads certain configuration parameters (such as the velocity # and the acceleration) directly from the MCU. This reading procedure is performed # once at IOC startup during atFirstPoll. However, it can be triggered manually # by setting this record value to 1. # This record is coupled to the parameter library via readConfig_ -> READ_CONFIG. record(longout, "$(INSTR)$(M):ReadConfig") { field(DTYP, "asynInt32") field(OUT, "@asyn($(CONTROLLER),$(AXIS),1) READ_CONFIG") field(PINI, "NO") } # PMAC controllers can be "flushed" by setting a certain bit. This empties all # communication buffers. Once the flush is done, the controller acknowledges # this by sending an echo character. This procedure can take up to 10 ms (see # Turbo PMAC User Manual, p. 414) and should therefore not be done as part of # "normal" communications (like the original pmacAsynIPPort driver from DLS # does). The SINQ driver for the Turbo PMAC controller therefore offers this PV # in order to manually trigger a controller flush by writing any value to this PV. record(longout, "$(INSTR)FlushHardware") { field(DTYP, "asynInt32") field(OUT, "@asyn($(CONTROLLER),$(AXIS),1) FLUSH_HARDWARE") field(PINI, "NO") field(VAL, "1") } # If this PV is set to 1 (default), the position limits are read out from the # controller. Otherwise, the limits given in the substitution file (DHLM and # DLLM) are used. # This record is coupled to the parameter library via limFromHardware -> LIM_FROM_HARDWARE. record(longout, "$(INSTR)$(M):LimFromHardware") { field(DTYP, "asynInt32") field(OUT, "@asyn($(CONTROLLER),$(AXIS),1) LIM_FROM_HARDWARE") field(PINI, "YES") field(VAL, "$(LIMFROMHARDWARE=1)") }