/* nr 1 - hent karakterer fra brugere
* skille tegn er mellemrum, linefeed(ascci value 10) og carriage return(ascii value 13)
*/

#define CR 13
#define LF 10
void setup() { Serial.begin(9600); }
  
char getChar()
{
  int bogstav;
  while (Serial.available() == 0 ) 
  {
  }
  bogstav = Serial.read();
  return  (char) bogstav; /* type cast - beware */
}

int getOrd(char ord[], int maxl) /* call by reference - ref til array/streng*/
{
  int antal;
  char c;
  antal = 0;
  while (antal < maxl-1)  // -1 fordi der skal vaere plads til afsluttende 0
  {
    c = getChar();
    if ((c == ' ') || (c == CR) || (c == LF))  // ballet er slut
    {
      ord[antal] = 0;
      return antal;
    }
    ord[antal] = c;
    antal++;  // tael antal een op
  }
  ord[antal] = 0; // -1 fordi vi taeller fra nul.
  return antal; // laengde af streng uden afsluttende 0
}

void do_jens_kode()
{ Serial.println("saa er der opgaver");}

void do_rasmus_kode()
{ Serial.println("saa skal der et eller andet");}

void do_fri_kode()
{ Serial.println("fredagsbar");}

void do_kommando_Ord(char kmd[])
{
  if ( strcmp(kmd, "Jens") == 0 )  // yes det er jens
  {
    do_jens_kode();
  }
  else if ( strcmp(kmd,"Rasmus") == 0 ) // oev
  {
     do_rasmus_kode();
  }
    else if (strcmp(kmd,"fri") == 0 )
  {
    do_fri_kode();
  }
  else // default -ikke kendt kommando
  {
  }
}


char kommandoOrd[10];
void loop()
{
int lgt;
  lgt = getOrd(kommandoOrd,9);  /* simpel test */

  Serial.print("debug:("); Serial.print(lgt); Serial.print("): ");
  Serial.println(kommandoOrd); // test udskriv det der er kommet ind

  do_kommando_Ord(kommandoOrd);

   
}


