/*
  LED PWM
  Uses 2 pots to control the duty cycle of a Pulse Width Modulation
  with resulting values used to set both the LED and audio signal
  
  <---- pot 0 ---->           <---- pot 0 ---->
                  |           |               |
                  |           |               |
                  |           |               |
                  <-- pot 1 -->               <--- ...
*/

#define LED     (13)
#define POT_1   (0)
#define POT_2   (1)
#define SPEAKER (11)

float delay_on;
float delay_off;

void setup() {                
	// initialize the digital pin as an output.
	// Pin 13 has an LED connected on the nano board:
	pinMode(LED, OUTPUT);
        // initialize Pin 11 as audio out
        pinMode(SPEAKER, OUTPUT);
}

void loop() {
        // We read the value of the pots at the beginning of the loop
        // and store them as integer variables (declared at the top)
        //delay_on  = analogRead(POT_1);
        //delay_off = analogRead(POT_2);
        //
        // But in meergranen PCB 1.0, the pots are wired the wrong way
        // So we need to adjust that :)
        delay_on  = 1023 - analogRead(POT_1);
        delay_off = 1023 - analogRead(POT_2);

        // Parameters for the PWM
        digitalWrite(LED, HIGH);        // turn the LED on
        digitalWrite(SPEAKER, HIGH);    // set max audio signal
        delay(delay_on);                // wait for delay_on ms
        digitalWrite(LED, LOW);         // turn the LED off
        digitalWrite(SPEAKER, LOW);     // audio flat line
        delay(delay_off);               // wait for delay_off ms
}
