Faster reference clock rate (using pin 3), skip outer loop to slow PSK.
This commit is contained in:
		
							parent
							
								
									77a8c62b78
								
							
						
					
					
						commit
						26ffcd332b
					
				| 
						 | 
					@ -5,10 +5,10 @@ DDS dds;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void setup() {
 | 
					void setup() {
 | 
				
			||||||
  Serial.begin(9600);
 | 
					  Serial.begin(9600);
 | 
				
			||||||
  pinMode(11, OUTPUT);
 | 
					  pinMode(3, OUTPUT);
 | 
				
			||||||
  pinMode(2, OUTPUT);
 | 
					  pinMode(2, OUTPUT);
 | 
				
			||||||
  // put your setup code here, to run once:
 | 
					  // put your setup code here, to run once:
 | 
				
			||||||
  dds.setReferenceClock(8000);
 | 
					  dds.setReferenceClock(32000);
 | 
				
			||||||
  dds.start();
 | 
					  dds.start();
 | 
				
			||||||
  dds.setFrequency(1000);
 | 
					  dds.setFrequency(1000);
 | 
				
			||||||
  dds.on();
 | 
					  dds.on();
 | 
				
			||||||
| 
						 | 
					@ -41,7 +41,7 @@ void loop() {
 | 
				
			||||||
  //  return;
 | 
					  //  return;
 | 
				
			||||||
  for(i = 0; i < strlen(string); i++) {
 | 
					  for(i = 0; i < strlen(string); i++) {
 | 
				
			||||||
    sendChar(string[i]);
 | 
					    sendChar(string[i]);
 | 
				
			||||||
    Serial.println(string[i]);
 | 
					    //Serial.println(string[i]);
 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -51,19 +51,25 @@ const uint8_t amplitudeShape[41] = {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// This will trigger at 8kHz
 | 
					// This will trigger at 8kHz
 | 
				
			||||||
ISR(ADC_vect) {
 | 
					ISR(ADC_vect) {
 | 
				
			||||||
 | 
					  static uint8_t outer = 0;
 | 
				
			||||||
  static uint8_t tcnt = 0;
 | 
					  static uint8_t tcnt = 0;
 | 
				
			||||||
  TIFR1 |= _BV(ICF1);
 | 
					  TIFR1 |= _BV(ICF1);
 | 
				
			||||||
  // Wave shaping
 | 
					  // Wave shaping
 | 
				
			||||||
  PORTD |= _BV(2);
 | 
					 | 
				
			||||||
  // TODO: Improve how this would perform.
 | 
					  // TODO: Improve how this would perform.
 | 
				
			||||||
  if(tcnt < 82)
 | 
					 | 
				
			||||||
    dds.setAmplitude(amplitudeShape[(82-tcnt)/2]);
 | 
					 | 
				
			||||||
  if(tcnt > (255-82))
 | 
					 | 
				
			||||||
    dds.setAmplitude(amplitudeShape[(tcnt-173)/2]);
 | 
					 | 
				
			||||||
  //else if(tcnt > (255-64))
 | 
					  //else if(tcnt > (255-64))
 | 
				
			||||||
  //  dds.setAmplitude((255 - tcnt));
 | 
					  //  dds.setAmplitude((255 - tcnt));
 | 
				
			||||||
  //else dds.setAmplitude(255);
 | 
					  //else dds.setAmplitude(255);
 | 
				
			||||||
 | 
					  if(tcnt < 81)
 | 
				
			||||||
 | 
					    dds.setAmplitude(amplitudeShape[(81-tcnt)/2]);
 | 
				
			||||||
 | 
					  if(tcnt > (255-81))
 | 
				
			||||||
 | 
					    dds.setAmplitude(amplitudeShape[(tcnt-174)/2]);
 | 
				
			||||||
  dds.clockTick();
 | 
					  dds.clockTick();
 | 
				
			||||||
 | 
					  PORTD &= ~_BV(2);
 | 
				
			||||||
 | 
					  if(outer++ == 3) {
 | 
				
			||||||
 | 
					    outer = 0;
 | 
				
			||||||
 | 
					  } else {
 | 
				
			||||||
 | 
					    return;
 | 
				
			||||||
 | 
					  }
 | 
				
			||||||
  if(tcnt++ == 0) { // Next bit
 | 
					  if(tcnt++ == 0) { // Next bit
 | 
				
			||||||
    //PORTD ^= _BV(2); // Diagnostic pin (D2)
 | 
					    //PORTD ^= _BV(2); // Diagnostic pin (D2)
 | 
				
			||||||
    if(!sent) {
 | 
					    if(!sent) {
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue