Buenos días Cristian,
Adjunto te paso un nuevo firmware (versión 215) que mejora el protocolo Wiegand 26.
En esta versión, las tramas que tienen una longitud menor o igual a 10 mS, y mayor o igual a 100 mS, son descartadas, ya que pueden ser
potenciales ruidos. Las mismas no se informan como eventos.
Esto te evita llamar al
WiegandInit() repetidamente como lo hacías para re-iniciar el algoritmo.
Sin embargo, si hay un ruido
que entre en ese periodo de tiempo y genere 26 bits, el mismo será tomado como una trama y l
uego el algoritmo indicará que es inválida (pero genera el evento) porque los bit de paridad serán erróneos. En ese caso, si no queres que se genere un evento, vas a tener que deshabilitarlo como hacías hasta ahora cuando activas el motor o incorporar los capacitores de filtro en las señales por hardware.
Finalmente me habías comentado de necesitar una funcion para medir tiempo entre dos puntos del programa. Fijate en el
manual de programación Pawn, la función
TimeGetTickRateMS(). La misma tiene una resolucion de 10 mS. El ejemplo esta en el manual.
Saludos y felices fiestas.