hal_signal_new, hal_signal_delete, hal_link, hal_unlink - Manipular señales HAL
int hal_signal_new(const char *signal_name, hal_type_t type) | |
int hal_signal_delete(const char *signal_name) | |
int hal_link(const char *pin_name, const char * signal_name) | |
int hal_unlink(const char *pin_name) |
signal_name
El nombre de la señal
pin_name
El nombre del pin
type |
El tipo de señal, como se especifica en hal_type_t(3hal). |
hal_signal_new crea un nuevo objeto de señal. Una vez que una señal ha sido creada, los pines se pueden vincular con hal_link. El objeto señal contiene el almacenamiento real para los datos de la señal. Los objetos pin vinculados a la señal tiene punteros que apuntan a los datos. ’name’ es el nombre de la nueva señal. No puede tener más de HAL_NAME_LEN caracteres. Si ya hay una señal con el mismo nombre, fallará la llamada.
hal_link vincula un pin a una señal. Si el pin ya está vinculado a la señal deseada, el comando tiene éxito. Si el pin ya está vinculado a alguna otra señal, es un error. En cualquier caso, la conexión existente no es modificada. (Use ’hal_unlink’ para romper una conexión existente). Si la señal ya tiene otros pines vinculados, no se ven afectados: una señal puede ser vinculada a muchos pines, pero un pin puede vincularse a una sola señal.
hal_unlink desvincula cualquier señal del pin especificado.
hal_signal_delete elimina un objeto de señal. Cualquier pin vinculado al objeto queda desvinculado
Devuelve un código de estado HAL.
hal_type_t(3hal)