 389ff92cc1
			
		
	
	
		389ff92cc1
		
			
		
	
	
	
	
		
			
			* Makefile, Scripts: new linter * About: remove ID from IC * Firmware: remove double define for DIVC/DIVR * Scripts: check folder names too. Docker: replace syntax check with make lint. * Reformat Sources and Migrate to new file naming convention * Docker: symlink clang-format-12 to clang-format * Add coding style guide
		
			
				
	
	
		
			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;
 | |
| }
 |