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.