/*
  Uno Morse SOS
*/
const int LED_PIN = 8;
const unsigned long DIT_TIME = 250;           // dit time
const unsigned long DAH_TIME = DIT_TIME * 3;  // dah time
const unsigned long CHAR_SPACE = DIT_TIME;    // dit/dah space
const unsigned long LTR_SPACE = DIT_TIME * 2; // char space + letter space = 3
const unsigned long WRD_SPACE = DIT_TIME * 7; // word space
// 0 = dit, 1 = dah, 2 = letter spc, 3 = word spc
const int morseChars[] = {
  0, 0, 0, 2, // 'S', letter space
  1, 1, 1, 2, // 'O', letter space
  0, 0, 0, 3  // 'S', word space
};
void sendChar(char value) {
  if (value == 0) {
    Serial.println("Dit");
    digitalWrite(LED_PIN, HIGH);
    delay(DIT_TIME);
    digitalWrite(LED_PIN, LOW);
    delay(CHAR_SPACE);
  } else if (value == 1)  {
    Serial.println("Dah");
    digitalWrite(LED_PIN, HIGH);
    delay(DAH_TIME);
    digitalWrite(LED_PIN, LOW);
    delay(CHAR_SPACE);
  } else if (value == 2)  {
    Serial.println("Ltr space");
    delay(LTR_SPACE);
  } else if (value == 3)  {
    Serial.println("Word space");
    delay(WRD_SPACE);
  }
}
void setup() {
  Serial.begin(115200);
  pinMode(LED_PIN, OUTPUT);
  Serial.println("Save Our Ship!\n");
}
void loop() {
  for (int charCount = 0; charCount < (sizeof morseChars / sizeof morseChars[0]); charCount++)  {
    sendChar(morseChars[charCount]);
  }
}