hil_task_delete
Deletes a task.
Description
The hil_task_delete function deletes a task, freeing up any system resources and hardware resources used by the task. If the task is running then it is stopped prior to being deleted. Once task has been deleted the task handle becomes invalid and the task may no longer be used.
Prototype
t_error hil_task_delete(t_task task);
Parameters
t_task task
A handle to the task, as returned by one of the task creation functions.
Return value
The return value is 0 if the task is deleted successfully. Otherwise a
negative error code is returned. Error codes are
defined in quanser_errors.h
. A suitable error message
may be retrieved using
msg_get_error_message.
Error codes
QERR_HIL_TASK_DELETE_NOT_SUPPORTED
This function is not supported by the board-specific HIL driver for this board type.
QERR_INVALID_TASK_HANDLE
An invalid task handle was passed as an argument. Once a task has been deleted using hil_task_delete the task handle is invalid.
QERR_INVALID_OPERATION_HANDLE
An invalid operation handle was passed as an argument to the board-specific HIL driver. Once a task has been deleted using hil_task_delete the operation handle is invalid.
QERR_DRIVER_INCOMPATIBLE_WITH_BOARD_DLL
The board-specific HIL driver passed an invalid parameter to the operating system specific kernel-level driver for the board. The board-specific HIL driver is likely not compatible with the operating system specific kernel-level driver for the board. Make sure both are up-to-date and compatible versions.
Requirements
Include Files |
Libraries |
---|---|
hil.h |
hil.lib;quanser_runtime.lib;quanser_common.lib |
Examples
/* * Reads 5000 samples at 1 kHz from the first four analog input channels, using SYSTEM_CLOCK_1. * Return values are ignored for simplicity. */ t_uint32 channels[] = { 0, 1, 2, 3 }; t_double frequency = 1000; t_uint32 samples = 5000; t_uint32 samples_in_buffer = frequency; t_uint32 samples_to_read = 1; static t_double buffer[4]; t_task task; hil_task_create_analog_reader(board, samples_in_buffer, channels, ARRAY_LENGTH(channels), &task); hil_task_start(task, SYSTEM_CLOCK_1, frequency, samples); for (int index = 0; index < samples; index += samples_to_read) { hil_task_read_analog(task, samples_to_read, buffer); ... } hil_task_stop(task); hil_task_delete(task);
Copyright ©2024 Quanser Inc. This page was generated 2024-10-17. Submit feedback to Quanser about this page.