Projecte final de Sistemes Encastats

Dependencies:   Hc05 RawSerialPc mbed-rtos mbed

main.cpp

Committer:
jcabello7
Date:
2015-12-19
Revision:
4:0a37a963b724
Parent:
3:4a598ab10e87
Child:
6:c4af95f6e155

File content as of revision 4:0a37a963b724:

#include "mbed.h"
#include "rtos.h"
#include "Hc05.h"
#include "RawSerialPc.h"

RawSerialPc pc(USBTX, USBRX);    //Per provar si funciona, no cal al programa
Hc05 bt(D8, D2);        //Crea l'objecte bt, connectat als pins D8 (TX) i D2 (RX) (és la connexió sèrie BT)
char prova[longString] = "hola"; //Per provar si funciona, no cal al programa


//Aquest serà el meu fil, que va llegint cada 300ms del HC-05 
void llegir_thread(void const *args) {
    while (true) {
        if(bt.llegirString())
            bt.tractaString();
        
        bt.comprovaConnexio();
        bt.getStringLlegit(prova); //Per provar si funciona, no cal al programa
        Thread::wait(100);
        //bt.comprovaConnexio();
        
    }
}

//Aquest serà el programa principal
int main() {
    
    Thread thread(llegir_thread);        //Inicia el fil llegir_thread
    char m[128];
    while (true) {
        pc.enviaString(prova);           //Per provar si funciona, no cal al programa
        if(bt.getAng()<0)                //Per provar si funciona, no cal al programa
            pc.enviaString("ANGLE<0");   //Per provar si funciona, no cal al programa
        if(bt.getVel()== 60)             //Per provar si funciona, no cal al programa
            pc.enviaString("VEL=60");    //Per provar si funciona, no cal al programa
        //if(bt.getMode()<0)
            //pc.enviaString("ALERTA! S'ha perdut la connexio"); //Retorna 0 si ha llegit l'ordre parar, 1 per avançar, 2 per rotar, -1 si hi ha error de connexio
        snprintf(m, 128, "Mode: %d | timer: %dms", bt.getMode(), bt.getTimer());
        pc.enviaString(m);
        bt.getVel();  //Retorna un enter amb la velocitat (de 0 a 100)
        bt.getAng();  //Retorna un enter amb l'angle (de -180º a 180º)
        Thread::wait(500);              
    }
}