Ayuda !!!

Muy bien esto es mas o menos lo que he estado haciendo...

hice mi algoritmo basado en una libreria de tiempo que encontre en internet, mi problema es que la libreria produce el tiempo partiendo de segundos hasta años y yo lo necesito para realizar un cronometro deprotivo por lo cual los milisegundos son importantes para mi.
El problema nace cuando modifico las librerias y trato de cambiar los datos y valores para que ahora haga lo mismo pero partiendo de milisegundos entonces me marca los siguienntes errores para la programacion.

Proyecto
#define btnRIGHT 0
#define btnUP 1
#include <Time.h>
#include <LiquidCrystal.h>
#include <EEPROM.h>
LiquidCrystal lcd(8, 9, 4, 5, 6, 7);

int lcd_key = 0;
int adc_key_in = 0;
//int button1 = 2;
//int button2 = 3;
//int button3 = 10;
int variable1 = 0;
int variable2 = 0;
int x = 0;
int s = 0;
int m = 0;
const int ledPin = 13;
int ant;
int next;
byte value;
int contador = 0;
int read_LCD_buttons()

{
adc_key_in = analogRead(0);

if (adc_key_in < 50) return btnRIGHT;
if (adc_key_in < 250) return btnUP;
}
unsigned long millis();

void setup()
{ Serial.begin (120000);
setTime(0000,00, 00, 00, 5, 01,2015);
lcd.begin(16, 2);
//pinMode(button1, INPUT);
//pinMode(button2, INPUT);
lcd.print("calculando...");
//pinMode(ledPin, OUTPUT);
}

void loop()

{
lcd.setCursor(1, 9);
lcd_key = read_LCD_buttons(); // Lee los botones
switch (lcd_key) // Dependiendo del boton, realiza una accion

{
case btnRIGHT:
{
{
time_t t = now(); //Guarda en t el tiempo actual
variable1 = millis (t); //tome los milisegundos de t y lo asigna a variable 1
}
}
case btnUP:
{
time_t t = now(); //Guarda en t el tiempo actual
variable2 = millis (t); //tome los milisegundos de t y lo asigna a variable 2
s = variable2 - variable1; // hace la diferencia y lo guarda en s

{
if ( s < 999 );
x = 1 ;
s = 0 ; // Asigna una equivalencia de s a segundos guardados en x y reinicia s
}
{
if ( x < 59);
m = 1 ;
x = 0 ; // Asigna una equivalencia a x en minutos guardados en m y reinicia x
}
{ lcd.setCursor (1,1);
lcd.print ("tiempo:"); // estetica...
}
{
lcd.setCursor (1,2);
lcd.print (x); // imprime x en el lcd
lcd.setCursor (4,2);
lcd.print (":");
lcd.setCursor (5,2);
lcd.print (s); // imprime s en el lcd
lcd.setCursor (7,2);
lcd.print (":");
lcd.setCursor (8,2);
lcd.print (m); // imprime m en el lcd
}
}
}
}

/*{
if(button1 == HIGH){ //Si el primer sensor se activa se inicia el reloj y se graba en una variable 1
time_t t = now(); //Guarda en t el tiempo actual
variable1=second(t); //tome los segundos de t y lo asigna a variable 1
}

if(button2 == HIGH){ //Si el segundo sensor se activa se graba en una variable 2 el tiempo
time_t t = now(); //Guarda en t el tiempo actual
variable2=second(t); //tome los segundos de t y lo asigna a variable 2
tiempo=variable2-variable1; // hace la diferencia y lo almacena en tiempo

EEPROM.write(contador, tiempo); // graba en la memoria el valor de tiempo en la primera posicion
contador=contador+1;
}

if(button3 == HIGH){ //Si el boton 3 es estado alto entonces asigna a la variable value lo que este en la posicion ant
ant=contador;
value = EEPROM.read(ant);
ant=ant-1; //Para la siguiente lectura se va dismunuyendo la posicion de lectura es decir ant.
}
if(button4 == HIGH){ //Si el boton 4 es estado alto entonces asigna a la variable value lo que este en la posicion next
next=contador;
value = EEPROM.read(next);
next=next+1;
}

lcd.setCursor(0, 1);
lcd.print(value);
Serial.println(tiempo);
delay(1000);

}*/
Todo lo comentado es usado cuando las variables son tomadas de forma digital y no analoga.

ERRORES

Arduino:1.6.1 (Windows 8.1), Placa:"Arduino Leonardo"

C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Arduino.h:132:26: error: new declaration 'long unsigned int millis()'

unsigned long millis(void);

^

In file included from programa.ino:1:0:

C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Time.h:124:9: error: ambiguates old declaration 'int millis()'

int millis(); // the millis now

^

programa.ino:41:26: error: new declaration 'long unsigned int millis()'

In file included from programa.ino:1:0:

C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino/Time.h:124:9: error: ambiguates old declaration 'int millis()'

int millis(); // the millis now

^

Error de compilación

en los adjuntos doy los originales de la libreria y las modificaciones que hice

espero alguien entienda esto jajaja... AYUDA !!!!

DateStrings.cpp (3.12 KB)

keywords.txt (822 Bytes)

Readme.txt (6.62 KB)

Time.cpp (9 KB)

Time.h (6.8 KB)

Time.h (6.33 KB)

Time.cpp (8.39 KB)