Galileo BASH IO

pinMode

Uso

pinMode.sh pin modo [tipo|period clase|duty]

Descripción

pinMode fija el modo de un pin para su posterior uso.

Argumentos

pin
Número del pin al cual fijar el modo. Puede ser del 0 al 13, o del A0 al A5.
modo
Indica el tipo del pin, puede ser "digital", "analog", "pwm" o "serial"
tipo|period
Si se declaro digital: si es una entrada o salida ( "in" o "out"). Si se declaro pwm: es el periodo del PWM en nanosegundos.
clase|duty
Si se declaro digital: la clase del pin. Puede ser "pullup", "pulldown" o "hiz" para entradas y "strong" para salidas. Si se declaro pwm: es el ciclo (duty cicle) del PWM en nanosegundos.

Devuelve

No devuelve nada.

Ejemplos

Fijar un pin como salida digital

pinMode.sh "$pin" digital out strong # Fijamos el pin
# $pin como salida digital fuerte (tambien puede ser
# con pullup o pulldown).

Fijar un pin como entrada digital

pinMode.sh "$pin" digital in pullup # Fijamos el pin
# $pin como entrada digital con pullup
pinMode.sh "$pin" digital in pulldown # Fijamos el pin
# $pin como entrada digital con pulldown
pinMode.sh "$pin" digital in hiz # Fijamos el pin
# $pin como entrada digital de alta-impedancia.

Fijar un pin como entrada analógica

pinMode.sh "$pin" analog # Fijamos el pin
# $pin como salida analógica. Solo funciona
# con A0-A5

Fijar un pin como salida analógica

pinMode.sh "$pin" pwm 1000000 500000 # Fijamos el pin
# $pin como salida analógica, con un periodo de
# 1000000ns (1ms) y un ciclo de 500000ns (0.5ms) lo
# cual equivale a 50%. Solo funciona con los
# pines PWM

Fijar un pin como entrada/salida serial

pinMode.sh 0 serial
device=$(pinMode.sh 1 serial)
# Podemos leer y escribir en device (es el mismo para
# leer y para escribir)

Errores

Si se intenta abrir un pin no-analógico como entrada analógica, o un pin no PWM como PWM, su comportamiento esta indefinido.

También esta indefinido su comportamiento si faltan parametros.