test desc

Dependencies:   mbed

Committer:
amasudch
Date:
Sun Mar 29 22:22:11 2020 +0000
Revision:
0:5e7defce627a
test

Who changed what in which revision?

UserRevisionLine numberNew contents of line
amasudch 0:5e7defce627a 1 #include <stdio.h>
amasudch 0:5e7defce627a 2 #include <string.h>
amasudch 0:5e7defce627a 3 #include "mbed.h"
amasudch 0:5e7defce627a 4
amasudch 0:5e7defce627a 5 //Colours for printf
amasudch 0:5e7defce627a 6 #define cyan "\033[0;36m" /* 0 -> normal; 36 -> cyan */
amasudch 0:5e7defce627a 7 #define green "\033[4;32m" /*4 -> underline ; 32 -> green */
amasudch 0:5e7defce627a 8 #define blue "\033[9;34m" /*9 -> strike ; 34 -> blue */
amasudch 0:5e7defce627a 9 #define KWHT "\x1B[37m"
amasudch 0:5e7defce627a 10 #define none "\033[0m" /* to flush the previous property */
amasudch 0:5e7defce627a 11
amasudch 0:5e7defce627a 12 //IO declarations
amasudch 0:5e7defce627a 13 Serial pc(USBTX, USBRX); //PC UART
amasudch 0:5e7defce627a 14 //DigitalOut led1(LED1);
amasudch 0:5e7defce627a 15 DigitalOut GREEN(LED2); //Input Mode
amasudch 0:5e7defce627a 16 DigitalOut BLUE(LED3); //output mode
amasudch 0:5e7defce627a 17 DigitalIn sw2(SW2); //INPUT MODE SELECT
amasudch 0:5e7defce627a 18 DigitalIn sw3(SW3); //Output mode select
amasudch 0:5e7defce627a 19
amasudch 0:5e7defce627a 20 //Bluetooth module declaration
amasudch 0:5e7defce627a 21 Serial HC06(PTC15, PTC14); //BT TX, RX
amasudch 0:5e7defce627a 22 char snd[512], rcv[1000]; //send and receive buffer
amasudch 0:5e7defce627a 23
amasudch 0:5e7defce627a 24 int main()
amasudch 0:5e7defce627a 25 {
amasudch 0:5e7defce627a 26
amasudch 0:5e7defce627a 27 GREEN=BLUE=1; //LEDs are off
amasudch 0:5e7defce627a 28 int mode=0; //Mode 0 for android-to-k64f, 1 for k64f-to-android
amasudch 0:5e7defce627a 29 int timer=0; //Timer for entering the default android-to-k64f
amasudch 0:5e7defce627a 30
amasudch 0:5e7defce627a 31 //default settings
amasudch 0:5e7defce627a 32 HC06.printf("Welcome to the ECE embedded lab\n"
amasudch 0:5e7defce627a 33 "This lab is intended to create a communication link between embedded system and android device over bluetooth");
amasudch 0:5e7defce627a 34
amasudch 0:5e7defce627a 35 printf("%swelcome to the ece embedded lab\n"
amasudch 0:5e7defce627a 36 "This lab is intended to create a communication link between embedded system and android device over bluetooth"
amasudch 0:5e7defce627a 37 "please make sure that you have the application installed and running on your android device"
amasudch 0:5e7defce627a 38 "be sure that the bluetooth and location sensor is enabled\n\n\n", cyan);
amasudch 0:5e7defce627a 39
amasudch 0:5e7defce627a 40 HC06.printf("Hold down SW2 (Blue LED) for 3 seconds to choose k64f-to-android mode or SW3(Green LED) FOR Android-to-k64\n");
amasudch 0:5e7defce627a 41 printf("%sHold down SW2 (Blue LED) for k64f-to-android mode or""SW3(Green LED) for Android-to-k64\n\n\n", KWHT);
amasudch 0:5e7defce627a 42 HC06.printf("The default mode (Android-to-K64f mode) will be selected automatically in 15 seconds\n");
amasudch 0:5e7defce627a 43 printf("%sThe default mode (android-to-k64f mode) will be selected automatically in 15 seconds\n\n\n", none);
amasudch 0:5e7defce627a 44
amasudch 0:5e7defce627a 45 while(1) {
amasudch 0:5e7defce627a 46 wait(2);
amasudch 0:5e7defce627a 47 timer+=1;
amasudch 0:5e7defce627a 48 if (timer==8) break;
amasudch 0:5e7defce627a 49
amasudch 0:5e7defce627a 50 if(!sw3) {
amasudch 0:5e7defce627a 51 HC06.printf("\nAndroid-to-k64 mode chosen\n");
amasudch 0:5e7defce627a 52 printf("\nAndroid-to-k64f mode chosen\n");
amasudch 0:5e7defce627a 53 GREEN=0;
amasudch 0:5e7defce627a 54
amasudch 0:5e7defce627a 55 break;
amasudch 0:5e7defce627a 56 }
amasudch 0:5e7defce627a 57 if (!sw2) {
amasudch 0:5e7defce627a 58 BLUE=0;
amasudch 0:5e7defce627a 59 mode=1;
amasudch 0:5e7defce627a 60 HC06.printf("\nK64F-TO android mode chosen\n");
amasudch 0:5e7defce627a 61 printf("\nk64f-to-android mode chosen\n");
amasudch 0:5e7defce627a 62
amasudch 0:5e7defce627a 63 break;
amasudch 0:5e7defce627a 64 }
amasudch 0:5e7defce627a 65 }
amasudch 0:5e7defce627a 66
amasudch 0:5e7defce627a 67 while(1) {
amasudch 0:5e7defce627a 68 while(mode==0) {
amasudch 0:5e7defce627a 69 HC06.gets(rcv,1000);
amasudch 0:5e7defce627a 70 //HC06.scanf("%s",rcv);
amasudch 0:5e7defce627a 71 if (strstr(rcv,"mode=1")!=NULL) {
amasudch 0:5e7defce627a 72 mode=1;
amasudch 0:5e7defce627a 73 printf("Mode is changed to K64f-to-Android mode\n");
amasudch 0:5e7defce627a 74 puts(rcv);
amasudch 0:5e7defce627a 75
amasudch 0:5e7defce627a 76 }
amasudch 0:5e7defce627a 77 while (mode==1) {
amasudch 0:5e7defce627a 78 pc.scanf("%s",snd);
amasudch 0:5e7defce627a 79
amasudch 0:5e7defce627a 80 //pc.gets(snd,510);
amasudch 0:5e7defce627a 81
amasudch 0:5e7defce627a 82 if(strstr(snd,"mode=0")!=NULL) mode=0;
amasudch 0:5e7defce627a 83 {
amasudch 0:5e7defce627a 84 mode=0;
amasudch 0:5e7defce627a 85 printf("Mode is changed to Android-to-K64f mode\n");
amasudch 0:5e7defce627a 86 }
amasudch 0:5e7defce627a 87 pc.printf("%s sent\n",snd);
amasudch 0:5e7defce627a 88 HC06.printf("%s\n",snd);
amasudch 0:5e7defce627a 89 }
amasudch 0:5e7defce627a 90
amasudch 0:5e7defce627a 91 }
amasudch 0:5e7defce627a 92 }
amasudch 0:5e7defce627a 93 }