;------------------------------------------------------------------------------------------------------
;    Funciones a añadir a libreria.log para el más fácil manejo de los dispositivos.
;    Pedro Sosa.
;    17 Mayo 2010
;------------------------------------------------------------------------------------------------------
;------------------------------------------------------------------------------------------------------
;    Control de la barrera
;    Se usa el motor 2 que no es sensible al parámetro velocidad
;    Directivas: subir, bajar, parar
;
;     El final de carrera superior está conectado a la entrada digital 1
;    El final de carrera inferior está conectado a la entrada digital 2
;------------------------------------------------------------------------------------------------------
para subir
    motor2D
fin
para motor2D
    local "control
    haz "mot (matriz 2)
    inicializar_motores :mot
    muestra [gira el motor 2 ...subiendo ¿es correcto?]   
    accion_motor 2 "derecha :mot 0
    haz "control (estado_motor 2 :mot)
    muestra :control
fin
para bajar
    motor2I
fin
para motor2I
    local "control
    haz "mot (matriz 2)
    inicializar_motores :mot
    muestra [gira el motor 2 ...bajando ¿es correcto?]   
    accion_motor 2 "izquierda :mot 0
    haz "control (estado_motor 2 :mot)
    muestra :control
fin
para parar
    motor2P
fin
para motor2P
    local "control
    haz "mot (matriz 2)
    inicializar_motores :mot
    muestra [parado el motor 2 ... ¿es correcto?]   
    accion_motor 2 "off :mot 0
    haz "control (estado_motor 2 :mot)
    muestra :control
fin
;------------------------------------------------------------------------------------------------------
;                    control del semáforo
;------------------------------------------------------------------------------------------------------
para rojo_on
    local "e
    haz "sdigitales (matriz 4)
    inicializar_salidas_digitales :sdigitales
    muestra [enciende la salida digital 1 ...led ROJO ENCENDIDO ...¿es correcto?]
    accion_salida_digital 1 "on :sdigitales
fin
para rojo_off
    local "e
    haz "sdigitales (matriz 4)
    inicializar_salidas_digitales :sdigitales
    muestra [apaga la salida digital 1 ...led ROJO APAGADO ...¿es correcto?]
    accion_salida_digital 1 "off :sdigitales
fin
para ambar_on
    local "e
    haz "sdigitales (matriz 4)
    inicializar_salidas_digitales :sdigitales
    muestra [enciende la salida digital 2 ...led AMARILLO ENCENDIDO ...¿es correcto?]
    accion_salida_digital 2 "on :sdigitales
fin
para ambar_off
    local "e
    haz "sdigitales (matriz 4)
    inicializar_salidas_digitales :sdigitales
    muestra [apaga la salida digital 2 ...led AMARILLO APAGADO ...¿es correcto?]
    accion_salida_digital 2 "off :sdigitales
fin
para verde_on
    local "e
    haz "sdigitales (matriz 4)
    inicializar_salidas_digitales :sdigitales
    muestra [enciende la salida digital 3 ...led VERDE ENCENDIDO ...¿es correcto?]
    accion_salida_digital 3 "on :sdigitales
fin
para verde_off
    local "e
    haz "sdigitales (matriz 4)
    inicializar_salidas_digitales :sdigitales
    muestra [apaga la salida digital 3 ...led VERDE APAGADO ...¿es correcto?]
    accion_salida_digital 3 "off :sdigitales
fin