hal_export_funct - crea una función en tiempo real invocable desde un hilo
typedef void(*hal_funct_t)(void * arg, long period) | |
int hal_export_funct(const char *name, hal_funct_t funct, void *arg, int uses_fp, int reentrant, int comp_id) |
name |
El nombre de la función. | ||
funct |
El puntero a la función. | ||
arg |
El argumento que se pasará como el primer parámetro de funct |
uses_fp
No cero si la función utiliza operaciones de punto flotante, incluida la asignación de valores de coma flotante con "=".
reentrant
Si reentrant no es cero, la función puede ser reemplazada y llamada nuevamente antes de que se complete la primera llamada. De lo contrario, solo se puede agregar a un hilo.
comp_id
Un identificador de componente HAL devuelto por una llamada anterior a hal_init.
hal_export_funct crea una función en tiempo real proporcionada por un componente disponible para el sistema. Una llamada posterior a hal_add_funct_to_thread se puede usar para programar la ejecución de la función según lo necesite el sistema.
Cuando esta función se coloca en un hilo HAL y se inician los hilos HAL, funct se llama repetidamente con dos argumentos: void *arg es el mismo valor que se le dio a hal_export_funct, y long period es el intervalo entre llamadas en nanosegundos.
Cada llamada a la función debe hacer una pequeña cantidad de trabajo y retornar.
Devuelve un código de estado HAL.
hal_create_thread(3hal), hal_add_funct_to_thread(3hal)