#include <Bridge.h>
#include <YunServer.h>
#include <YunClient.h>

int dac = 0;

YunServer server;

void setup()
{
  //initializing PWM pins
  //PWM output starts at pin 2 to 13
  for(uint8_t i = 2; i <= 13; ++i)
  {
    pinMode(0, OUTPUT);
  }
  
  digitalWrite(13, LOW);
  Bridge.begin();
  digitalWrite(13, HIGH);
  server.listenOnLocalhost();
  server.begin();
}

void loop()
{
  YunClient client = server.accept();
  if (client)
  {
    process(client);
    client.stop();
  }
  delay(50);  //delay for 50ms
}

void process(YunClient client)
{
  String command = client.readStringUntil('/');
  if(command == "dac")
  {
    dacCommand(client);
  }
}

void dacCommand(YunClient client)
{
  int pin, value;
  pin = client.parseInt();  //obtain pin # from HTML
  if (client.read() == '/')
  {
    value = client.parseInt();  //obtain value from HTML
    Serial.println(value);
    dac = value;
    analogWrite(pin, value);  //PWM value outputted to obtained pin
  }
  else
  {
    value = dac;
  }
}
