/*
 * leds.cpp Rutinas que gestionan la salida de los leds
 * 'Ultima modificaci'on: 03-03-2002
 *
 * Antonio G'omez Muriana (correo@senco.net)
 * Miguel Montero G'amez
 */

#include "sdlc++/defs.h"
#include "grafico.h"
#include "leds.h"

#define E2_18 0x02000000L

int LED_6x8::contador;

LED_6x8::LED_6x8() {
	id = contador++;
	vh = E2_18;
}

void LED_6x8::run(WIRE i[48])
{
    long tvh, tvl;
	
	tvh = WIRE2long(i,16);
	tvl = WIRE2long(i+16, 32);
	
	// Solo dibuja si cambia de valor y no es el primero
	if ((tvh != vh) || (tvl != vl) || (vh == E2_18)) {
		for (int k=0; k<48; k++)
			pintarpunto(id, k, i[k]);
	}
	
	vl = tvl;
	vh = tvh;
}
