.

hostServiceCreate

Declaration

 
const HostService hostServiceCreate(MPIControl            control,
                                    HostServiceFunction   serviceFunction,
                                    void                  *params,
                                    long                  interruptPeriod,
                                    MPI_BOOL              enableWatchdog,
                                    long                  priority)
  Required Header: service.h

Description

hostServiceCreate creates an SISR thread running at the specified priority for the given control object that executes the serviceFunction every interruptPeriod samples. After the create is called, the Sync interrupt occurs. By default, the service function is disabled from executing. Use hostServiceEnable(...) to enable the execution of the serviceFunction.

 
control a handle to a Control object.
serviceFunction a handle to a user defined Sync Interrupt Service Routine (SISR) function.
*params points to a user defined structure that will be passed to serviceFunction.
interruptPeriod specifies the frequency of the Sync Interrupt (where the frequency is a multiple of the controller’s sample rate). This value must be greater that zero.
A value of 1 generates an interrupt every controller sample.
A value of 2 generates an interrupt every other sample, etc.
enableWatchdog

if TRUE, the SISR thread sets the HostProcessFlag watchdog flag in the firmware just before executing the serviceFunction.  When the serviceFunction is complete, the SISR thread will clear the watchdog flag. If the watchdog flag is still set when the firmware starts SynqNet transmission, the controller will generate a MEIEventTypeCONTROL_HOST_PROCESS_TIME_EXCEEDED event. 

The event indicates that the host's serviceFunction did not complete before SynqNet transmission.  This should be used if the host is trying to (for example) process feedback and calculate a new DAC command for a drive located on the network.
priority

is a platform specific variable.

If "priority" is
Then
-1
hostServiceCreate will attempt to assign the maximum priority to the hostService thread.
>0
hostServiceCreate will attempt to assign the priority to the hostservice thread.

NOTE: To avoid CPU usage competition, it is recommended that you run this hostService thread at a priority slightly higher than the apputil service thread.

   
 
Return Values
handle to a HostService object.
MPIHandleVOID if the HostService could not be created

See Also

hostServiceDelete | hostServiceEnable | hostServiceStatus

hostService1.c | hostService2.c

 

       Legal Notice  |  Tech Email  |  Feedback
      
Copyright ©
2001-2021 Motion Engineering