Machinekit

Machinekit

rtapi_task_new

NAME

rtapi_task_new — create a realtime task

SYNTAX

int rtapi_task_new (void (* taskcode)(void * ), void * arg, int prio, unsigned long stacksize, int uses_fp, char name, int** cpu_id )

int rtapi_task_delete ( int task_id )

ARGUMENTS

taskcode
A pointer to the function to be called when the task is started

arg
An argument to be passed to the taskcode function when the task is started

prio
A task priority value returned by rtapi_prio_xxxx

uses_fp
A flag that tells the OS whether the task uses floating point or not.

task_id
A task ID returned by a previous call to rtapi_task_new

name
The name argument is used to identify the thread by name at the operating system level.
Corresponds to the HAL name of the thread.

cpu_id
Bind this thread to a particular CPU core.

DESCRIPTION

rtapi_task_new creates but does not start a realtime task.
The task is created in the "paused" state.
To start it, call either rtapi_task_start for periodic tasks, or rtapi_task_resume for free-running tasks.

REALTIME CONSIDERATIONS

Call only from within init/cleanup code, not from realtime tasks.

RETURN VALUE

On success, returns a positive integer task ID.
This ID is used for all subsequent calls that need to act on the task.
On failure, returns an RTAPI status code.

SEE ALSO

rtapi_prio
rtapi_task_start
rtapi_task_wait
rtapi_task_resume