 fb80f9537f
			
		
	
	
		fb80f9537f
		
			
		
	
	
	
	
		
			
			* Rfid: fixed HID emulation by adding zero pulse every 4 bits * Rfid: HID emulation fixed with DSP based FSK oscillator.
		
			
				
	
	
		
			21 lines
		
	
	
		
			476 B
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			21 lines
		
	
	
		
			476 B
		
	
	
	
		
			C++
		
	
	
	
	
	
| #include "osc-fsk.h"
 | |
| 
 | |
| OscFSK::OscFSK(uint16_t _freq_low, uint16_t _freq_hi, uint16_t _osc_phase_max)
 | |
|     : freq{_freq_low, _freq_hi}
 | |
|     , osc_phase_max(_osc_phase_max) {
 | |
|     osc_phase_current = 0;
 | |
| }
 | |
| 
 | |
| bool OscFSK::next(bool bit, uint16_t* period) {
 | |
|     bool advance = false;
 | |
|     *period = freq[bit];
 | |
|     osc_phase_current += *period;
 | |
| 
 | |
|     if(osc_phase_current > osc_phase_max) {
 | |
|         advance = true;
 | |
|         osc_phase_current -= osc_phase_max;
 | |
|     }
 | |
| 
 | |
|     return advance;
 | |
| }
 |