Mwadime Makokha / Mbed 2 deprecated BlueToothSIM868

Dependencies:   mbed

Committer:
MwadimeMakokha
Date:
Thu Nov 14 14:02:32 2019 +0000
Revision:
1:940070f92554
Parent:
0:3d4b4cf5f0e3
Child:
2:83d03d7148a5
Add scanning and getting device id based on mac address

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 1:940070f92554 6 BT bt(modemSerial);
MwadimeMakokha 1:940070f92554 7 DEBUG_PRINTLN("PROGRAM START");
MwadimeMakokha 1:940070f92554 8 MODEM_PRINTLN("ATE0");
MwadimeMakokha 1:940070f92554 9 get_response(1000,false);
MwadimeMakokha 1:940070f92554 10 DEBUG_PRINTLN("%s",modem_response);
MwadimeMakokha 0:3d4b4cf5f0e3 11 MODEM_PRINTLN("AT");
MwadimeMakokha 0:3d4b4cf5f0e3 12 get_response(1000,false);
MwadimeMakokha 0:3d4b4cf5f0e3 13 if((strcmp(modem_response,"OK") != 0)){
MwadimeMakokha 0:3d4b4cf5f0e3 14 DEBUG_PRINTLN("%s",modem_response);
MwadimeMakokha 0:3d4b4cf5f0e3 15 return 0;
MwadimeMakokha 0:3d4b4cf5f0e3 16 }
MwadimeMakokha 0:3d4b4cf5f0e3 17 DEBUG_PRINTLN("%s",modem_response);
MwadimeMakokha 0:3d4b4cf5f0e3 18 MODEM_PRINTLN("AT+BTHOST?");
MwadimeMakokha 1:940070f92554 19 get_response(1000,true);
MwadimeMakokha 0:3d4b4cf5f0e3 20 DEBUG_PRINTLN("%s",modem_response);
MwadimeMakokha 1:940070f92554 21 bt.get_bt_status();
MwadimeMakokha 1:940070f92554 22 bt.power_bt_device(1);
MwadimeMakokha 1:940070f92554 23 char id = bt.bt_scan();
MwadimeMakokha 1:940070f92554 24 if(id=='0'){
MwadimeMakokha 1:940070f92554 25 DEBUG_PRINTLN("Target device not found");
MwadimeMakokha 1:940070f92554 26 }
MwadimeMakokha 1:940070f92554 27 else{
MwadimeMakokha 1:940070f92554 28 bt.bt_pair_device(id);
MwadimeMakokha 1:940070f92554 29 }
MwadimeMakokha 0:3d4b4cf5f0e3 30 while(1){
MwadimeMakokha 0:3d4b4cf5f0e3 31
MwadimeMakokha 0:3d4b4cf5f0e3 32 }
MwadimeMakokha 0:3d4b4cf5f0e3 33
MwadimeMakokha 0:3d4b4cf5f0e3 34 }
MwadimeMakokha 0:3d4b4cf5f0e3 35 void get_response(uint16_t timeout,bool is_multiline){
MwadimeMakokha 0:3d4b4cf5f0e3 36 int arr_index=0;
MwadimeMakokha 0:3d4b4cf5f0e3 37 while(timeout){
MwadimeMakokha 0:3d4b4cf5f0e3 38 if(arr_index >= 254) break;
MwadimeMakokha 0:3d4b4cf5f0e3 39 while(modemSerial.readable()){
MwadimeMakokha 0:3d4b4cf5f0e3 40 char c = modemSerial.getc();
MwadimeMakokha 0:3d4b4cf5f0e3 41 if(c == '\r') continue;
MwadimeMakokha 0:3d4b4cf5f0e3 42 if(c=='\n' && arr_index==0){
MwadimeMakokha 0:3d4b4cf5f0e3 43 continue;
MwadimeMakokha 0:3d4b4cf5f0e3 44 }
MwadimeMakokha 0:3d4b4cf5f0e3 45 if(c=='\n' && !is_multiline){
MwadimeMakokha 0:3d4b4cf5f0e3 46 break;
MwadimeMakokha 0:3d4b4cf5f0e3 47 }
MwadimeMakokha 0:3d4b4cf5f0e3 48 modem_response[arr_index] = c;
MwadimeMakokha 0:3d4b4cf5f0e3 49 arr_index++;
MwadimeMakokha 0:3d4b4cf5f0e3 50 }
MwadimeMakokha 0:3d4b4cf5f0e3 51 timeout--;
MwadimeMakokha 0:3d4b4cf5f0e3 52 wait_ms(1);
MwadimeMakokha 0:3d4b4cf5f0e3 53 }
MwadimeMakokha 0:3d4b4cf5f0e3 54 modem_response[arr_index] = 0;
MwadimeMakokha 0:3d4b4cf5f0e3 55
MwadimeMakokha 0:3d4b4cf5f0e3 56 }