#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "gpio.h"

//Variables y Palabras/Frases
char si[]="si";
char no[]="no";
char gracias[]="gracias";


char bienvenido[]="Bienvenido al Bootcamp de la Universidad Anáhuac";


void muestra(char * texto) { //Muestra un texto en pantalla
   printf("%s\n",texto);
}


leer(char * texto){ //Lee la palabra o frase de texto introducida por el teclado
   //scanf("%s", texto);  
   //texto=fgets(texto,200,stdin);
   texto=gets(texto);
}

void speak(char * text){ //Llama a la función 'habla' del sistema opertivo
    char command[200]="~/bin/habla ";
  
   strcat(command, text);
   setPort(18,1);
   system(command);
   setPort(18,0);
}

int compara(char *texto1, char *texto2){ //Compara dos textos 
				//Si son iguales regresa 1 , 0 en caso contrario
  int ret;

  ret=strcmp(texto1,texto2)==0?1:0;

  return(ret);
}

int setup(){
  openPort(18,"out");
  speak(bienvenido);

}


void loop(){
   char frase[100];

  muestra("Listo. escriba la frase o palabra (terminar programa con CTRL-C):");
  leer(frase);
  if ( compara(frase,"si")){
     speak(si);
   }
   else if ( strcmp(frase,"no")==0){
     speak(no);
   }
   else if ( strcmp(frase,"gracias")==0){
     speak(gracias);
   }
   else muestra("Palabra o frase desconocida:");
   
   muestra(frase);
}


int main(){

  setup();
  
  while (1){
    loop(); //ciclo infinito, interrumpir con CTRL-C
  }

}

