> I read in several comp.c sources that functions in the comps
> get passed (void *arg, long period). 

These are typically functions setup with hal_export_funct().
The interface is described in hal.h:

https://github.com/LinuxCNC/linuxcnc/blob/2.7-hm2-encoder-raw-position/src/hal/hal.h


"hal_export_funct() makes a realtime function provided by a
component available to the system.  A subsequent call to
hal_add_funct_to_thread() can be used to schedule the
execution of the function as needed by the system.
'name' is the name of the new function.  It must be no longer
than HAL_NAME_LEN.  This is the name as it would appear in an ini
file, which does not need to be the same as the C function name.
'funct' is a pointer to the function code.  'funct' must be
the address of a function that accepts a void pointer and
a long int.  The pointer will be set to the value 'arg' below,
and the long will be set to the thread period in nanoseconds.
'arg' is a void pointer that will be passed to the function
each time it is called. ..."
-- 
Dewey Garrett



_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to