- Linux MultiMedia Studio Computer Accessories User Manual

PC Based Motion Control
MN1278 05.2001
39
Priority Event
6 Timer
7 Digital input
8 Comms
9 DPR event
10 Move Buffer Low
11 Axis Idle
Note: The reset event is generated if the controller resets, hence this is not generated by the firmware and
is consequently not subject to the priority scheme.
The NextMove PCI controller will check for a pending event every 2ms. If multiple events occur within a 2ms
tick, then the above priority system will be used to decide which event to generate. A higher priority event will
interrupt a lower priority event. Each event is processed within a separate thread by the host PC application. If
more than one event is active on the host PC they will execute concurrently.
In order for an event to be generated the, the appropriate event handler must be installed.
The event handlers are installed with the following functions in C++:
Axis Idle
The install function for axis idle events, it accepts a pointer to a function, if this is a NULL pointer the handler is
uninstalled.
typedef void TAxisIdleEventHandler (void *pController, __int16 nAxisBitPattern)
__int16 installAxisIdleEventHandler (TAxisIdleEventHandler *pHandler)
CAN1
The install function for CAN events on bus 1, it accepts a pointer to a function, if this is a NULL pointer the
handler is uninstalled.
typedef void TCANEventHandler (void *pController)
__int16 installCAN1EventHandler (TCANEventHandler *pHandler)
CAN2
The install function for CAN events on bus 2, it accepts a pointer to a function, if this is a NULL pointer the
handler is uninstalled.
typedef void TCANEventHandler (void *pController)
__int16 installCAN2EventHandler (TCANEventHandler *pHandler)
Comms
The install function for Comms events, it accepts a pointer to a function, if this is a NULL pointer the handler is
uninstalled.
typedef void TCommsEventHandler (void *pController, __int32 lCommsEventPending)
__int16 installCommsEventHandler (TCommsEventHandler *pHandler)