Danius Kalvaitis
/
danBed_communicate
Communicate with danBed via UART
main.cpp
- Committer:
- DaniusKalv
- Date:
- 2015-02-12
- Revision:
- 0:fc1ff02f51e1
- Child:
- 1:1d18a2a3e9a0
File content as of revision 0:fc1ff02f51e1:
#include "mbed.h" #include <string> PwmOut RED(LED1); PwmOut BLUE(LED2); PwmOut GREEN(LED3); DigitalOut RGB(LED4); //Serial pc(p28, p27); Serial pc(USBTX, USBRX); void receive(); char temp[100]; int main() { RED = 1; GREEN = 1; BLUE = 1; RGB = 0; pc.baud(115200); pc.printf("\r\nWelcome to danBed communication v1.0!"); pc.printf("\r\nWrite 'Labas' to continue...\r\n"); GET: receive(); string labas = "Labas"; if (temp == labas) pc.printf("\r\nLabas!!!\r\n"); else{ pc.printf("\r\nTry again! Type 'Labas'...\r\n"); goto GET; } delete &labas; while(1) { receive(); char buffer[20]; float value; //sscanf(temp,"%s %f", buffer, &value); for(int j = 0; j < 10; j++) pc.printf("\r\n%i", buffer[j]); if(buffer == "RGB"){ RGB = value; if(value == 1) pc.printf("\r\nRGB turned ON\r\n"); else pc.printf("\r\nRGB turned OFF\r\n"); } else if(buffer == "RED"){ RED = value; pc.printf("\r\nRED value %0.2f\r\n", value); } else if(buffer == "GREEN"){ GREEN = value; pc.printf("\r\nGREEN value %0.2f\r\n", value); } else if(buffer == "BLUE"){ BLUE = value; pc.printf("\r\nBLUE value %0.2f\r\n", value); } else pc.printf("\r\nCommand not recognised!\r\n"); //else if(receiver == "RED"){ //pc.gets( } } void receive(){ memset(temp, 255, sizeof(temp)); char c; int i = 0; while(true){ if(pc.readable()){ c = pc.getc(); if (c == 13){ temp[i] = 0; break; } else temp[i] = c; pc.putc(c); i++; } } }