uint8_t led0Pin = 7;
uint8_t led1Pin = 8;
uint8_t led2Pin = 9;

uint8_t wave = 0;

float phase = 0.0;

void setup()
{
  Serial.begin(115200);
  while (!Serial)
  {
    delay(1); // wait for serial port to connect. Needed for native USB
  }

  delay(100);
  Serial.println(__FILE__);

  Serial.println(PI, 32);

  pinMode(led0Pin, OUTPUT);
  pinMode(led1Pin, OUTPUT);
  pinMode(led2Pin, OUTPUT);
}

void loop()
{
  Serial.println(wave, BIN);

  PORTD |= B01000000; // D7
  PORTB |= B00000001; // D8
  PORTB |= B00000010; // D9

  digitalWrite(led0Pin, wave & B00000001);
  digitalWrite(led1Pin, wave & B00000010);
  digitalWrite(led2Pin, wave & B00000100);
  
  delay(1000);

  wave++;

  if (wave >= 8)
  {
    wave = 0;
  }
}