30 lines
		
	
	
		
			720 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			720 B
		
	
	
	
		
			C++
		
	
	
	
	
	
| #pragma once
 | |
| 
 | |
| class WIEGAND {
 | |
| public:
 | |
|     WIEGAND();
 | |
|     void begin();
 | |
|     void end();
 | |
|     bool available();
 | |
|     unsigned long getCode();
 | |
|     unsigned long getCodeHigh();
 | |
|     int getWiegandType();
 | |
| 
 | |
|     static void ReadD0();
 | |
|     static void ReadD1();
 | |
| 
 | |
| private:
 | |
|     static bool DoWiegandConversion();
 | |
|     static unsigned long GetCardId(
 | |
|         volatile unsigned long* codehigh,
 | |
|         volatile unsigned long* codelow,
 | |
|         char bitlength);
 | |
| 
 | |
|     static volatile unsigned long _cardTempHigh;
 | |
|     static volatile unsigned long _cardTemp;
 | |
|     static volatile unsigned long _lastWiegand;
 | |
|     static volatile int _bitCount;
 | |
|     static int _wiegandType;
 | |
|     static unsigned long _code;
 | |
|     static unsigned long _codeHigh;
 | |
| }; | 
