************************************************************
*  Fichero Changelog
************************************************************
2004-10-09  -Comenzado proyecto gsalta-hw Juan Gonzalez<juan@iearobotics.com>
            -Comenzado primer hito: gsalta1.asm:
              -Creada plaquita que se conecta al puerto B de la Skypic,
                con un pulsador y una clema para la conexion de la manta.
                En vez de la manta se ha conectado un bumper. Comprobado que
                este hardware funciona correctamente
               -Rutina de atencion a las interrupciones de cambio en el 
                puerto B. Se cambia el estado del led. Comprobacion del
                antirrebotes. Funciona correctamente.
               -Se guarda y se recupera el contexto cuando llega la
                interrupcion
               -Aunque solo hay una causa de interrupcion, se hace un polling
                a ver cual ha sido la causa (para ampliaciones futuras)
2004-10-10  Juan Gonzalez <juan@iearobotics.com>
            -Anadida rutina para configurar el puerto serie a 9600
            -Anadidas rutinas para escritura/lectura del puerto serie
            -Las transmisiones serie funcionan correctamente junto con las
             interrupciones del puerto B (Comprobado)
            -Cada vez que hay un cambio en puerto B se envia una trama
             "trama de cambio". De momento identificada solo por el caracter X
            -La trama de cambio incluye el estado del pulsador: '0' (apretado)
             '1' liberado. Cada vez que hay un cambio, se envia alguna de las
             siguientes tramas:
               -"X1" Pulsador activado
               -"X0" Pulsador liberado
            ------------------------> gsalta1 finalizado

            -Comenzado segundo hito: gsalta2.asm
              -Anadida interrupcion de overflow del timer 0. Se ejecuta cada
               10ms (un tick).
              -Con cada tick se incrementa un contador de 16 bits (CONTICK)
              -Cada vez que ocurre un evento se envia el tiempo transcurrido
               (valor de CONTICK). Primero la parte alta y luego la baja.
              -Las tramas que recibe el PC son de 4 bytes: 1 byte para 
               identificar la trama, otro con el estado del pulsador y 2
               bytes para el tiempo. Precision de centesimas.
            ------------------------> gsalta2 finalizado
            
2004-10-11  Juan Gonzalez <juan@iearobotics.com>
            -Comenzado tercer hito: gsalta3.asm
               -Modificada precision a la milesima (la marca de tiempo de
                cada evento esta ahora en milesimas, no en centesimas)
               -Anadido automata de control. Ahora las tramas X se envian 
                desde el bucle principal. El control del antirrebotes no se
                hace por espera activa dentro de una interrupcion. Ahora
                las rutinas de atencion a la interrupcion son mas cortas
               -Control "del infinito". Cuando el cronometro alcanza su valor
                maximo (tomado 0xFF00 por simplicidad) no se incrementa mas.
               -Anadido control del "reset". Cuando llega el primer evento
                despues de un reset, la marca de tiempo que se envia es 0.
               -CORREGIDO BUG: habia un caso en el que el automata se quedaba
                entre dos estados en los que las interrupciones siempre estaban
                deshabilitadas.
               -El estado del led refleja en todo momento el estado estable
                del pulsador
             --------------------------> gsalta3.asm finalizado ---------------
             
2004-10-12  Juan Gonzalez <juan@iearobotics.com>
            -Añadido un condensador de 1micro-faradio y una resistencia de 
             150ohm a la placa con los pulsadores. Se han reducido 
             considerablemente los espúreos. El sistema es mucho más estable.
             Esta electronica funciona perfectamente con gsalta3.
            -Comenzado gsalta4.asm
              -Nueva variable entrada, que contiene el estado estable de la
               entrada (se considera estable si ha transcurrido un tiempo
               superior al antirrebotes)
              -Subrutina leer_entrada que devuelve el estado de la entrada
               estable
              -Subrutina actualizar_led, que pone el led en un estado acorde
               con la entrada estable
              -Modificado automata para eliminar pulsos espureos. Solo se
               envian tramas cuando haya un cambio y sea superior al tiempo
               antirrebotes. En caso contrario se ignoran. Ahora solo pueden
               llegar tramas alternadas (on-off-on...). Comprobado: FUNCIONA.
              -BUG: cuando llega a infinito, se dejan de enviar tramas.
              -[BUG ARREGLADO]: Al llegar la parte alta del crono a 0xFF, no
                se actualizaba el contador del antirrebotes, por lo que si 
                se producia un cambio en la entrada se pasaba al estado
                antirrebotes y de ahi nunca se salia.
              -Anadida funcion portb_int_enable para habilitar la interrupcion  
               de cambio del puerto B
              -Anadidos comentarios al codigo
              --------------------------------> gsalta4.asm finalizado
              
              -Comenzado gsalta5.asm
                -Modificada la precision. Ahora las unidades son decimas
                 de milisegundo.
                -Realizadas primeras pruebas de validacion: la precision a
                 nivel de milesima esta conseguida. Se ha conectado a una
                 tarjeta CT6811 con un software de generacion de senales.
                 El error esta por determinar, pero estimo que puede estar
                 en el orden de +-200 micro-segundos
                -Probado con una "manta" casera y cutre, hecha con un
                 bumper (no con la manta oficial de gsalta). No se han
                 apreciado cosas extranas.
                 
2004-10-16  Juan Gonzalez <juan@iearobotics.com>
              -Probado gsatal5.asm con la aplicacion gsalta (pruebas con Xavi).
              -------------------------------> gsalta5.asm finalizado
              
              -Comenzado gsalta6.asm
              -Nuevo servicio de interrogacion sobre el estado de la 
               plataforma.
              -Tiempo antirrebotes cambiado a 25ms (antes 10ms)
2004-12-16  Juan Gonzalez <juan@iearobotics.com>
              -Finalizado gsalta6.asm
              -Subido al cvs de software-libre.org
              
2005-02-04  Juan Gonzalez <juan@iearobotics.com>
              -Tomada instantanea version_0_9
              Liberada version 0.9-------------------------------------------
              
              -Comenzada nueva version
              -CAMBIOS CON RESPECTO A LA VERSION ANTERIOR:
                -En la trama de cambio ahora se envian 5 bytes:
                 identificador de trama, estado de la manta, y 3 bytes
                 para la marca de tiempo.
                -La codificacion de la marca de tiempo esta en otras unidades.
                 Hay que multiplicarlo por 8 y se obtiene el valor en 
                 micro-segundos.
                -La precision en la medida es mejor, lo que permitira su
                 aplicacion a otros proyectos
                -El cronometraje interno se lleva a cabo con el Timer 1
                -El control antirrebotes con el Timer 0, exclusivamente
                -Solucionado problema de error en las medidas: aparecian
                 errores de hasta 20ms. Ahora el error esta por debajo del ms
                -Se han realizado pruebas con un Generador de onda conectado
                 a la Skypic.
               -Tomadas medidas conectando un generador de onda. El error
                es de 0.5 ms
2005-02-07  Juan Gonzalez <juan@iearobotics.com>
              -Changed name to Chronopic, instead of Chronojump-hw
