1. Introducción
Las siguientes secciones muestran los pines, parámetros y funciones suministrados por "dispositivos canónicos". Todos los controladores de dispositivo HAL deben suministrar los mismos pines y parámetros, e implementar el mismo comportamiento.
Tenga en cuenta que solo los campos <io-type>
y <specific-name>
estan
definido para un dispositivo canónico. Los campos <device-name>
, <device-num>
,
y <chan-num>
se establecen en función de las características del
dispositivo real.
2. Entrada digital
La entrada digital canónica (campo tipo E/S:digin
) es bastante simple.
2.1. Pines
-
(bit) in — Estado de la entrada hardware.
-
(bit) in-not — Estado invertido de la entrada.
2.2. Parámetros
-
Ninguno
2.3. Funciones
-
(funct) read — Lee el hardware y configura los pines HAL in y 'in-not`.
3. Salida digital
La salida digital canónica (campo de tipo E/S: digout
) también es muy
sencilla.
3.1. Pines
-
(bit) * out * — Valor a escribir (posiblemente invertido) en la salida hardware.
3.2. Parámetros
-
(bit) invert — Si es TRUE, out se invierte antes de escribir en el hardware.
3.3. Funciones
-
(funct) write — Lee out e invert y establece la salida hardware en consecuencia.
4. Entrada Analógica
La entrada analógica canónica (tipo E/S: adcin
) se espera que
sea utilizada para convertidores analógico a digital que, por ejemplo,
conviertan voltaje a un rango continuo de valores.
4.1. Pines
-
(float) value — La lectura del hardware, escalada según los parámetros scale y offset. Value = ((lectura de entrada, en unidades dependientes del hardware) * scale) - offset
4.2. Parámetros
-
(float) scale — El voltaje de entrada (o corriente) se multiplicará por scale antes de salir a value.
-
(float) offset — Se restará de la entrada de voltaje (o corriente) hardware después de que se haya aplicado el multiplicador de escala.
-
(float) bit_weight — El valor del bit menos significativo(LSB). Es efectivamente la granularidad de la lectura de entrada.
-
(float) hw_offset — El valor presente en la entrada cuando se aplican 0 voltios al pin(es) de entrada.
4.3. Funciones
-
(funct) read — Lee los valores de este canal de entrada analógica. Se puede usar para leer un canal individual, o puede hacer que se lean todos los canales
5. Salida analógica
La salida analógica canónica (tipo E/S: adcout). Esto esta pensado para cualquier tipo de hardware que pueda generar un rango de valores más o menos continuo. Los ejemplos son convertidores de digital a analógico o generadores PWM.
5.1. Pines
-
(float) value — El valor que se escribirá. El valor real de salida para el hardware dependerá de la escala y los parámetros de offset.
-
(bit) enable — Si es falso, entonces salida al hardware es 0, independientemente del pin value.
5.2. Parámetros
-
(float) offset — Esto se agregará a value antes de la actualizacion del hardware.
-
(float) scale — Se debe configurar de modo que una entrada de 1 en el pin value causará que en el pin de salida analógica se lea 1 voltio.
-
(float) high_limit (opcional) — Cuando se calcula el valor para salida al hardware, si value + offset es mayor que high_limit, se usará high_limit .
-
(float) low_limit (opcional) — Cuando se calcula el valor de salida para el hardware, si value + offset es menor que low_limit, se usará low_limit.
-
(float) bit_weight (opcional) — El valor del bit menos significativo (LSB), en voltios (o mA, para salidas de corriente)
-
(float) hw_offset (opcional) — El voltaje (o corriente) real que saldrá si se escribe 0 en el hardware.
5.3. Funciones
(funct) write — Hace que el valor calculado sea enviado al hardware. Si el pin enable es falso, la salida será 0, independientemente de value, scale y offset. El significado de "0" depende del hardware. Por ejemplo, un A/D bipolar de 12 bits puede necesitar escribir 0x1FF (escala intermedia) para obtener D/A 0 voltios desde el pin de hardware. Si el pin enable es verdadero, lee scale, offset y value y pone a la salida del ADC (scale * value) + offset.