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() {
 | 
			
		||||
  Serial.begin(9600);
 | 
			
		||||
  pinMode(11, OUTPUT);
 | 
			
		||||
  pinMode(3, OUTPUT);
 | 
			
		||||
  pinMode(2, OUTPUT);
 | 
			
		||||
  // put your setup code here, to run once:
 | 
			
		||||
  dds.setReferenceClock(8000);
 | 
			
		||||
  dds.setReferenceClock(32000);
 | 
			
		||||
  dds.start();
 | 
			
		||||
  dds.setFrequency(1000);
 | 
			
		||||
  dds.on();
 | 
			
		||||
| 
						 | 
				
			
			@ -41,7 +41,7 @@ void loop() {
 | 
			
		|||
  //  return;
 | 
			
		||||
  for(i = 0; i < strlen(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
 | 
			
		||||
ISR(ADC_vect) {
 | 
			
		||||
  static uint8_t outer = 0;
 | 
			
		||||
  static uint8_t tcnt = 0;
 | 
			
		||||
  TIFR1 |= _BV(ICF1);
 | 
			
		||||
  // Wave shaping
 | 
			
		||||
  PORTD |= _BV(2);
 | 
			
		||||
  // 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))
 | 
			
		||||
  //  dds.setAmplitude((255 - tcnt));
 | 
			
		||||
  //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();
 | 
			
		||||
  PORTD &= ~_BV(2);
 | 
			
		||||
  if(outer++ == 3) {
 | 
			
		||||
    outer = 0;
 | 
			
		||||
  } else {
 | 
			
		||||
    return;
 | 
			
		||||
  }
 | 
			
		||||
  if(tcnt++ == 0) { // Next bit
 | 
			
		||||
    //PORTD ^= _BV(2); // Diagnostic pin (D2)
 | 
			
		||||
    if(!sent) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue