| 
						
					 | 
					 | 
					@@ -5,7 +5,7 @@
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					***********************************************************************************************************/
 | 
					 | 
					 | 
					 | 
					***********************************************************************************************************/
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					//Libraries
 | 
					 | 
					 | 
					 | 
					//Libraries
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#include  <Wire.h>                 //IDE Standard
 | 
					 | 
					 | 
					 | 
					#include <Wire.h>                 //IDE Standard
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#include <Rotary.h>               //Ben  Buxton https://github.com/brianlow/Rotary
 | 
					 | 
					 | 
					 | 
					#include <Rotary.h>               //Ben  Buxton https://github.com/brianlow/Rotary
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#include <si5351.h>               //Etherkit  https://github.com/etherkit/Si5351Arduino
 | 
					 | 
					 | 
					 | 
					#include <si5351.h>               //Etherkit  https://github.com/etherkit/Si5351Arduino
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#include <Adafruit_GFX.h>         //Adafruit  GFX https://github.com/adafruit/Adafruit-GFX-Library
 | 
					 | 
					 | 
					 | 
					#include <Adafruit_GFX.h>         //Adafruit  GFX https://github.com/adafruit/Adafruit-GFX-Library
 | 
				
			
			
		
	
	
		
		
			
				
					
					| 
						
					 | 
					 | 
					@@ -13,9 +13,26 @@
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					//User  preferences
 | 
					 | 
					 | 
					 | 
					//User  preferences
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					//------------------------------------------------------------------------------------------------------------
 | 
					 | 
					 | 
					 | 
					//------------------------------------------------------------------------------------------------------------
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					#ifdef ESP32DOIT //use the ESP32 DEVKIT DOIT environment
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					#pragma "ESP32DOIT" //show in console on build
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					#define board      1    //Define board
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#define  IF         0       //Enter your IF frequency, ex: 455 = 455kHz, 10700 = 10.7MHz,  0 = to direct convert receiver or RF generator, + will add and - will subtract IF  offfset.
 | 
					 | 
					 | 
					 | 
					#define  IF         0       //Enter your IF frequency, ex: 455 = 455kHz, 10700 = 10.7MHz,  0 = to direct convert receiver or RF generator, + will add and - will subtract IF  offfset.
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#define BAND_INIT  7         //Enter your initial Band (1-21) at startup,  ex: 1 = Freq Generator, 2 = 800kHz (MW), 7 = 7.2MHz (40m), 11 = 14.1MHz (20m). 
 | 
					 | 
					 | 
					 | 
					#define BAND_INIT  7         //Enter your initial Band (1-21) at startup,  ex: 1 = Freq Generator, 2 = 800kHz (MW), 7 = 7.2MHz (40m), 11 = 14.1MHz (20m). 
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#define  XT_CAL_F   33000     //Si5351 calibration factor, adjust to get exatcly 10MHz. Increasing  this value will decreases the frequency and vice versa.
 | 
					 | 
					 | 
					 | 
					#define XT_CAL_F   33000     //Si5351 calibration factor, adjust to get exatcly 10MHz. Increasing  this value will decreases the frequency and vice versa.
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					#define S_GAIN     303       //Adjust the sensitivity of Signal Meter A/D input: 101 = 500mv; 202 = 1v;  303 = 1.5v; 404 = 2v; 505 = 2.5v; 1010 = 5v (max).
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					#define tunestep   32        //The  pin used by tune step push button.
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					#define band       33        //The pin used  by band selector push button.
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					#define rx_tx      5        //The pin used by  RX / TX selector switch, RX = switch open, TX = switch closed to GND. When in TX,  the IF value is not considered.
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					#define adc        4        //The pin used by  Signal Meter A/D input.
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					#define rotary1    34         //First pin for rotary encoder.
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					#define rotary2    35         //Second pin for rotary encoder.
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					#else // use the ARDUINO1 environment
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					#pragma "ARDUINO1" //show in console on build
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					#define board      0  //Define board
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					#define  IF         0       //Enter your IF frequency, ex: 455 = 455kHz, 10700 = 10.7MHz,  0 = to direct convert receiver or RF generator, + will add and - will subtract IF  offfset.
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					#define BAND_INIT  7         //Enter your initial Band (1-21) at startup,  ex: 1 = Freq Generator, 2 = 800kHz (MW), 7 = 7.2MHz (40m), 11 = 14.1MHz (20m). 
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					#define XT_CAL_F   33000     //Si5351 calibration factor, adjust to get exatcly 10MHz. Increasing  this value will decreases the frequency and vice versa.
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#define S_GAIN     303       //Adjust the sensitivity of Signal Meter A/D input: 101 = 500mv; 202 = 1v;  303 = 1.5v; 404 = 2v; 505 = 2.5v; 1010 = 5v (max).
 | 
					 | 
					 | 
					 | 
					#define S_GAIN     303       //Adjust the sensitivity of Signal Meter A/D input: 101 = 500mv; 202 = 1v;  303 = 1.5v; 404 = 2v; 505 = 2.5v; 1010 = 5v (max).
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#define tunestep   A0        //The  pin used by tune step push button.
 | 
					 | 
					 | 
					 | 
					#define tunestep   A0        //The  pin used by tune step push button.
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#define band       A1        //The pin used  by band selector push button.
 | 
					 | 
					 | 
					 | 
					#define band       A1        //The pin used  by band selector push button.
 | 
				
			
			
		
	
	
		
		
			
				
					
					| 
						
					 | 
					 | 
					@@ -23,6 +40,8 @@
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#define adc        A3        //The pin used by  Signal Meter A/D input.
 | 
					 | 
					 | 
					 | 
					#define adc        A3        //The pin used by  Signal Meter A/D input.
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#define rotary1    2         //First pin for rotary encoder.
 | 
					 | 
					 | 
					 | 
					#define rotary1    2         //First pin for rotary encoder.
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					#define rotary2    3         //Second pin for rotary encoder.
 | 
					 | 
					 | 
					 | 
					#define rotary2    3         //Second pin for rotary encoder.
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					#endif
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					//------------------------------------------------------------------------------------------------------------
 | 
					 | 
					 | 
					 | 
					//------------------------------------------------------------------------------------------------------------
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					Rotary  r = Rotary(rotary1, rotary2);
 | 
					 | 
					 | 
					 | 
					Rotary  r = Rotary(rotary1, rotary2);
 | 
				
			
			
		
	
	
		
		
			
				
					
					| 
						
					 | 
					 | 
					@@ -56,11 +75,15 @@ void set_frequency(short dir)  {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  }
 | 
					 | 
					 | 
					 | 
					  }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					}
 | 
					 | 
					 | 
					 | 
					}
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					ISR(PCINT2_vect) {
 | 
					 | 
					 | 
					 | 
					#ifdef ESP32DOIT //use the ESP32 DEVKIT DOIT environment
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  char  result = r.process();
 | 
					 | 
					 | 
					 | 
					  //TODO
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  if (result == DIR_CW) set_frequency(1);
 | 
					 | 
					 | 
					 | 
					#else
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  else if  (result == DIR_CCW) set_frequency(-1);
 | 
					 | 
					 | 
					 | 
					  ISR(PCINT2_vect) {
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					}
 | 
					 | 
					 | 
					 | 
					    char  result = r.process();
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    if (result == DIR_CW) set_frequency(1);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    else if  (result == DIR_CCW) set_frequency(-1);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    }
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					#endif
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					void tunegen() {
 | 
					 | 
					 | 
					 | 
					void tunegen() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  si5351.set_freq((freq +  (interfreq * 1000ULL)) * 100ULL, SI5351_CLK0);
 | 
					 | 
					 | 
					 | 
					  si5351.set_freq((freq +  (interfreq * 1000ULL)) * 100ULL, SI5351_CLK0);
 | 
				
			
			
		
	
	
		
		
			
				
					
					| 
						
					 | 
					 | 
					@@ -257,9 +280,13 @@ void setup() {
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  si5351.output_enable(SI5351_CLK1, 0);
 | 
					 | 
					 | 
					 | 
					  si5351.output_enable(SI5351_CLK1, 0);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  si5351.output_enable(SI5351_CLK2,  0);
 | 
					 | 
					 | 
					 | 
					  si5351.output_enable(SI5351_CLK2,  0);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  PCICR |= (1 << PCIE2);
 | 
					 | 
					 | 
					 | 
					 #ifdef ESP32DOIT
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  PCMSK2 |= (1 << PCINT18) | (1 << PCINT19);
 | 
					 | 
					 | 
					 | 
					  //TODO
 | 
				
			
			
				
				
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  sei();
 | 
					 | 
					 | 
					 | 
					  #else
 | 
				
			
			
				
				
			
		
	
		
		
	
		
		
	
		
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    PCICR |= (1 << PCIE2);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    PCMSK2 |= (1 << PCINT18) | (1 << PCINT19);
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					    sei();
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					 | 
					  #endif
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  count = BAND_INIT;
 | 
					 | 
					 | 
					 | 
					  count = BAND_INIT;
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					  bandpresets();
 | 
					 | 
					 | 
					 | 
					  bandpresets();
 | 
				
			
			
		
	
	
		
		
			
				
					
					| 
						
					 | 
					 | 
					 
 |