Mwadime Makokha / Mbed 2 deprecated BlueToothSIM868

Dependencies:   mbed

Committer:
MwadimeMakokha
Date:
Thu Nov 14 22:38:08 2019 +0000
Revision:
2:83d03d7148a5
Parent:
1:940070f92554
connect

Who changed what in which revision?

UserRevisionLine numberNew contents of line
MwadimeMakokha 1:940070f92554 1 #include "BT.h"
MwadimeMakokha 0:3d4b4cf5f0e3 2 Timer t;
MwadimeMakokha 1:940070f92554 3 char modem_response[255];
MwadimeMakokha 0:3d4b4cf5f0e3 4 int main(){
MwadimeMakokha 1:940070f92554 5 //Serial modemSerial(PC_6, PC_7);
MwadimeMakokha 2:83d03d7148a5 6 // BT bt(modemSerial);
MwadimeMakokha 2:83d03d7148a5 7 // // MDB mdb(huart1);
MwadimeMakokha 2:83d03d7148a5 8 // DEBUG_PRINTLN("sTART");
MwadimeMakokha 2:83d03d7148a5 9 // bt.get_bt_status();
MwadimeMakokha 2:83d03d7148a5 10 // bt.power_bt_device(1);
MwadimeMakokha 2:83d03d7148a5 11 // bt.bt_unpair_device();
MwadimeMakokha 2:83d03d7148a5 12 // char id = bt.bt_scan(120000);
MwadimeMakokha 2:83d03d7148a5 13 // if(id=='0'){
MwadimeMakokha 2:83d03d7148a5 14 // DEBUG_PRINTLN("Target device not found");
MwadimeMakokha 2:83d03d7148a5 15 // }
MwadimeMakokha 2:83d03d7148a5 16 // else{
MwadimeMakokha 2:83d03d7148a5 17 // ThisThread::sleep_for(4000);
MwadimeMakokha 2:83d03d7148a5 18 // bt.bt_pair_device(id);
MwadimeMakokha 2:83d03d7148a5 19 // ThisThread::sleep_for(2000);
MwadimeMakokha 2:83d03d7148a5 20 // char profile_id = bt.bt_get_profile_id(id);
MwadimeMakokha 2:83d03d7148a5 21 // DEBUG_PRINTLN("%c",profile_id);
MwadimeMakokha 2:83d03d7148a5 22 // bt.bt_connect_device(id,profile_id);
MwadimeMakokha 2:83d03d7148a5 23 // }
MwadimeMakokha 1:940070f92554 24 BT bt(modemSerial);
MwadimeMakokha 1:940070f92554 25 DEBUG_PRINTLN("PROGRAM START");
MwadimeMakokha 1:940070f92554 26 MODEM_PRINTLN("ATE0");
MwadimeMakokha 1:940070f92554 27 get_response(1000,false);
MwadimeMakokha 1:940070f92554 28 DEBUG_PRINTLN("%s",modem_response);
MwadimeMakokha 0:3d4b4cf5f0e3 29 MODEM_PRINTLN("AT");
MwadimeMakokha 0:3d4b4cf5f0e3 30 get_response(1000,false);
MwadimeMakokha 0:3d4b4cf5f0e3 31 if((strcmp(modem_response,"OK") != 0)){
MwadimeMakokha 0:3d4b4cf5f0e3 32 DEBUG_PRINTLN("%s",modem_response);
MwadimeMakokha 0:3d4b4cf5f0e3 33 return 0;
MwadimeMakokha 0:3d4b4cf5f0e3 34 }
MwadimeMakokha 0:3d4b4cf5f0e3 35 DEBUG_PRINTLN("%s",modem_response);
MwadimeMakokha 1:940070f92554 36 bt.get_bt_status();
MwadimeMakokha 1:940070f92554 37 bt.power_bt_device(1);
MwadimeMakokha 2:83d03d7148a5 38 char id = bt.bt_scan(120000);
MwadimeMakokha 1:940070f92554 39 if(id=='0'){
MwadimeMakokha 1:940070f92554 40 DEBUG_PRINTLN("Target device not found");
MwadimeMakokha 1:940070f92554 41 }
MwadimeMakokha 1:940070f92554 42 else{
MwadimeMakokha 1:940070f92554 43 bt.bt_pair_device(id);
MwadimeMakokha 1:940070f92554 44 }
MwadimeMakokha 0:3d4b4cf5f0e3 45 while(1){
MwadimeMakokha 0:3d4b4cf5f0e3 46
MwadimeMakokha 0:3d4b4cf5f0e3 47 }
MwadimeMakokha 0:3d4b4cf5f0e3 48
MwadimeMakokha 0:3d4b4cf5f0e3 49 }
MwadimeMakokha 0:3d4b4cf5f0e3 50 void get_response(uint16_t timeout,bool is_multiline){
MwadimeMakokha 0:3d4b4cf5f0e3 51 int arr_index=0;
MwadimeMakokha 0:3d4b4cf5f0e3 52 while(timeout){
MwadimeMakokha 0:3d4b4cf5f0e3 53 if(arr_index >= 254) break;
MwadimeMakokha 0:3d4b4cf5f0e3 54 while(modemSerial.readable()){
MwadimeMakokha 0:3d4b4cf5f0e3 55 char c = modemSerial.getc();
MwadimeMakokha 0:3d4b4cf5f0e3 56 if(c == '\r') continue;
MwadimeMakokha 0:3d4b4cf5f0e3 57 if(c=='\n' && arr_index==0){
MwadimeMakokha 0:3d4b4cf5f0e3 58 continue;
MwadimeMakokha 0:3d4b4cf5f0e3 59 }
MwadimeMakokha 0:3d4b4cf5f0e3 60 if(c=='\n' && !is_multiline){
MwadimeMakokha 0:3d4b4cf5f0e3 61 break;
MwadimeMakokha 0:3d4b4cf5f0e3 62 }
MwadimeMakokha 0:3d4b4cf5f0e3 63 modem_response[arr_index] = c;
MwadimeMakokha 0:3d4b4cf5f0e3 64 arr_index++;
MwadimeMakokha 0:3d4b4cf5f0e3 65 }
MwadimeMakokha 0:3d4b4cf5f0e3 66 timeout--;
MwadimeMakokha 0:3d4b4cf5f0e3 67 wait_ms(1);
MwadimeMakokha 0:3d4b4cf5f0e3 68 }
MwadimeMakokha 0:3d4b4cf5f0e3 69 modem_response[arr_index] = 0;
MwadimeMakokha 0:3d4b4cf5f0e3 70
MwadimeMakokha 0:3d4b4cf5f0e3 71 }