Bluetooth hc05 library

Dependents:   Nucleo_bt

Revision:
10:2e1538dc2e1a
Parent:
9:a8a96ce56d6e
Child:
11:770663228ced
--- a/hc05.cpp	Sun Aug 19 07:52:06 2018 +0000
+++ b/hc05.cpp	Sun Aug 19 17:00:22 2018 +0000
@@ -24,7 +24,7 @@
         case UART1 :
             at0.at_send("AT+VERSION?\r\n", "");
             if(t_interrupt == OFF)  {
-                return at0.getAnswer(3);
+                return at0.getAnswer(800);
             } else  {
                 return at0.buffer;
             }
@@ -32,7 +32,7 @@
         case UART6 :
             at1.at_send1("AT+VERSION?\r\n", "");
             if(t_interrupt1 == OFF)  {
-                return at1.getAnswer(3);
+                return at1.getAnswer(800);
             } else  {
                 return at1.buffer;
             }
@@ -47,7 +47,7 @@
         case UART1 :
             at0.at_send("AT+RESET\r\n", "");
             if(t_interrupt == OFF)  {
-                return at0.getAnswer(3);
+                return at0.getAnswer(800);
             } else  {
                 return at0.buffer;
             }
@@ -55,7 +55,7 @@
         case UART6 :
             at1.at_send1("AT+RESET\r\n", "");
             if(t_interrupt1 == OFF)  {
-                return at1.getAnswer(3);
+                return at1.getAnswer(800);
             } else  {
                 return at1.buffer;
             }
@@ -70,7 +70,7 @@
         case UART1 :
             at0.at_send("AT+ORGL\r\n", "");
             if(t_interrupt == OFF)  {
-                return at0.getAnswer(3);
+                return at0.getAnswer(800);
             } else  {
                 return at0.buffer;
             }
@@ -78,7 +78,7 @@
         case UART6 :
             at1.at_send1("AT+ORGL\r\n", "");
             if(t_interrupt1 == OFF)  {
-                return at1.getAnswer(3);
+                return at1.getAnswer(800);
             } else  {
                 return at1.buffer;
             }
@@ -94,7 +94,7 @@
         case UART1 :
             at0.at_send("AT+ADDR?\r\n", "");
             if(t_interrupt == OFF)  {
-                return at0.getAnswer(1);
+                return at0.getAnswer(600);
             } else  {
                 return at0.buffer;
             }
@@ -102,7 +102,7 @@
         case UART6 :
             at1.at_send1("AT+ADDR?\r\n", "");
             if(t_interrupt1 == OFF)  {
-                return at1.getAnswer(1);
+                return at1.getAnswer(600);
             } else  {
                 return at1.buffer;
             }
@@ -118,7 +118,7 @@
         case UART1 :
             at0.at_send("AT+NAME?\r\n", "");
             if(t_interrupt == OFF)  {
-                return at0.getAnswer(3);
+                return at0.getAnswer(800);
             } else  {
                 return at0.buffer;
             }
@@ -126,7 +126,7 @@
         case UART6 :
             at1.at_send1("AT+NAME?\r\n", "");
             if(t_interrupt1 == OFF)  {
-                return at1.getAnswer(3);
+                return at1.getAnswer(800);
             } else  {
                 return at1.buffer;
             }
@@ -142,7 +142,7 @@
         case UART1 :
             at0.at_send("AT+RNAME?\r\n", "");
             if(t_interrupt == OFF)  {
-                return at0.getAnswer(3);
+                return at0.getAnswer(800);
             } else  {
                 return at0.buffer;
             }
@@ -150,7 +150,7 @@
         case UART6 :
             at1.at_send1("AT+RNAME?\r\n", "");
             if(t_interrupt1 == OFF)  {
-                return at1.getAnswer(3);
+                return at1.getAnswer(800);
             } else  {
                 return at1.buffer;
             }
@@ -166,7 +166,7 @@
         case UART1 :
             at0.at_send("AT+ROLE?\r\n", "");
             if(t_interrupt == OFF)  {
-                return at0.getAnswer(3);
+                return at0.getAnswer(600);
             } else  {
                 return at0.buffer;
             }
@@ -174,7 +174,7 @@
         case UART6 :
             at1.at_send1("AT+ROLE?\r\n", "");
             if(t_interrupt1 == OFF)  {
-                return at1.getAnswer(3);
+                return at1.getAnswer(600);
             } else  {
                 return at1.buffer;
             }
@@ -190,7 +190,7 @@
         case UART1 :
             at0.at_send("AT+CLASS?\r\n", "");
             if(t_interrupt == OFF)  {
-                return at0.getAnswer(3);
+                return at0.getAnswer(600);
             } else  {
                 return at0.buffer;
             }
@@ -198,7 +198,7 @@
         case UART6 :
             at1.at_send1("AT+CLASS?\r\n", "");
             if(t_interrupt1 == OFF)  {
-                return at1.getAnswer(3);
+                return at1.getAnswer(600);
             } else  {
                 return at1.buffer;
             }
@@ -214,7 +214,7 @@
         case UART1 :
             at0.at_send("AT+IAC?\r\n", "");
             if(t_interrupt == OFF)  {
-                return at0.getAnswer(3);
+                return at0.getAnswer(600);
             } else  {
                 return at0.buffer;
             }
@@ -222,7 +222,7 @@
         case UART6 :
             at1.at_send1("AT+IAC?\r\n", "");
             if(t_interrupt1 == OFF)  {
-                return at1.getAnswer(3);
+                return at1.getAnswer(600);
             } else  {
                 return at1.buffer;
             }
@@ -238,7 +238,7 @@
         case UART1 :
             at0.at_send("AT+INQM?\r\n", "");
             if(t_interrupt == OFF)  {
-                return at0.getAnswer(3);
+                return at0.getAnswer(800);
             } else  {
                 return at0.buffer;
             }
@@ -246,7 +246,7 @@
         case UART6 :
             at1.at_send1("AT+INQM?\r\n", "");
             if(t_interrupt1 == OFF)  {
-                return at1.getAnswer(3);
+                return at1.getAnswer(800);
             } else  {
                 return at1.buffer;
             }
@@ -262,7 +262,7 @@
         case UART1 :
             at0.at_send("AT+PSWD?\r\n", "");
             if(t_interrupt == OFF)  {
-                return at0.getAnswer(1);
+                return at0.getAnswer(600);
             } else  {
                 return at0.buffer;
             }
@@ -270,7 +270,7 @@
         case UART6 :
             at1.at_send1("AT+PSWD?\r\n", "");
             if(t_interrupt1 == OFF)  {
-                return at1.getAnswer(1);
+                return at1.getAnswer(600);
             } else  {
                 return at1.buffer;
             }
@@ -286,7 +286,7 @@
         case UART1 :
             at0.at_send("AT+UART?\r\n", "");
             if(t_interrupt == OFF)  {
-                return at0.getAnswer(3);
+                return at0.getAnswer(600);
             } else  {
                 return at0.buffer;
             }
@@ -294,7 +294,7 @@
         case UART6 :
             at1.at_send1("AT+UART?\r\n", "");
             if(t_interrupt1 == OFF)  {
-                return at1.getAnswer(3);
+                return at1.getAnswer(600);
             } else  {
                 return at1.buffer;
             }
@@ -308,20 +308,19 @@
 {
     switch(num)  {
         case UART1 :
-            at0.at_send("AT+INQ?\r\n", "");
+            at0.at_send("AT+INQ\r\n", "");
 
             if(t_interrupt == OFF)  {
-                return at0.getAnswer(3);
+                return at0.getAnswer(600);
             } else  {
                 return at0.buffer;
             }
 
-
         case UART6 :
-            at1.at_send1("AT+INQ?\r\n", "");
+            at1.at_send1("AT+INQ\r\n", "");
 
             if(t_interrupt1 == OFF)  {
-                return at1.getAnswer(3);
+                return at1.getAnswer(600);
             } else  {
                 return at1.buffer;
             }
@@ -338,7 +337,7 @@
             at0.at_send("AT+INIT\r\n", "");
 
             if(t_interrupt == OFF)  {
-                return at0.getAnswer(2);
+                return at0.getAnswer(800);
             } else  {
                 return at0.buffer;
             }
@@ -348,7 +347,7 @@
             at1.at_send("AT+INIT\r\n", "");
 
             if(t_interrupt1 == OFF)  {
-                return at1.getAnswer(2);
+                return at1.getAnswer(800);
             } else  {
                 return at1.buffer;
             }
@@ -365,7 +364,7 @@
         case UART1 :
             at0.at_send("AT+STATE?\r\n", "");
             if(t_interrupt == OFF)  {
-                return at0.getAnswer(3);
+                return at0.getAnswer(800);
             } else  {
                 return at0.buffer;
             }
@@ -373,7 +372,7 @@
         case UART6 :
             at1.at_send1("AT+STATE?\r\n", "");
             if(t_interrupt1 == OFF)  {
-                return at1.getAnswer(3);
+                return at1.getAnswer(800);
             } else  {
                 return at1.buffer;
             }
@@ -389,7 +388,7 @@
         case UART1 :
             at0.at_send("AT+CMODE?\r\n", "");
             if(t_interrupt == OFF)  {
-                return at0.getAnswer(3);
+                return at0.getAnswer(600);
             } else  {
                 return at0.buffer;
             }
@@ -397,7 +396,7 @@
         case UART6 :
             at1.at_send1("AT+CMODE?\r\n", "");
             if(t_interrupt1 == OFF)  {
-                return at1.getAnswer(3);
+                return at1.getAnswer(600);
             } else  {
                 return at1.buffer;
             }
@@ -413,7 +412,7 @@
         case UART1 :
             at0.at_send("AT+BIND?\r\n", "");
             if(t_interrupt == OFF)  {
-                return at0.getAnswer(3);
+                return at0.getAnswer(600);
             } else  {
                 return at0.buffer;
             }
@@ -421,7 +420,7 @@
         case UART6 :
             at1.at_send1("AT+BIND?\r\n", "");
             if(t_interrupt1 == OFF)  {
-                return at1.getAnswer(3);
+                return at1.getAnswer(600);
             } else  {
                 return at1.buffer;
             }
@@ -438,7 +437,7 @@
         case UART1 :
             at0.at_send("AT+ROLE=%i\r\n", (char*)role);
             if(t_interrupt == OFF)  {
-                return at0.getAnswer(3);
+                return at0.getAnswer(600);
             } else  {
                 return at0.buffer;
             }
@@ -446,7 +445,55 @@
         case UART6 :
             at1.at_send1("AT+ROLE=%i\r\n", (char*)role);
             if(t_interrupt1 == OFF)  {
-                return at1.getAnswer(3);
+                return at1.getAnswer(600);
+            } else  {
+                return at1.buffer;
+            }
+
+    }
+    return 0;
+
+}
+
+char *bt_modul_hc05::set_device_class(UART num, int dclass)
+{
+    switch(num)  {
+        case UART1 :
+            at0.at_send("AT+CLASS=%i\r\n", (char*) dclass);
+            if(t_interrupt == OFF)  {
+                return at0.getAnswer(600);
+            } else  {
+                return at0.buffer;
+            }
+
+        case UART6 :
+            at1.at_send1("AT+CLASS=%i\r\n", (char*) dclass);
+            if(t_interrupt1 == OFF)  {
+                return at1.getAnswer(600);
+            } else  {
+                return at1.buffer;
+            }
+
+    }
+    return 0;
+
+}
+
+char *bt_modul_hc05::set_modul_giac(UART num, char *giac)
+{
+    switch(num)  {
+        case UART1 :
+            at0.at_send("AT+IAC=%s\r\n", giac);
+            if(t_interrupt == OFF)  {
+                return at0.getAnswer(600);
+            } else  {
+                return at0.buffer;
+            }
+
+        case UART6 :
+            at1.at_send1("AT+IAC=%s\r\n", giac);
+            if(t_interrupt1 == OFF)  {
+                return at1.getAnswer(600);
             } else  {
                 return at1.buffer;
             }
@@ -462,7 +509,7 @@
         case UART1 :
             at0.at_send("AT+PSWD=%s\r\n", pin);
             if(t_interrupt == OFF)  {
-                return at0.getAnswer(3);
+                return at0.getAnswer(600);
             } else  {
                 return at0.buffer;
             }
@@ -470,7 +517,31 @@
         case UART6 :
             at1.at_send1("AT+PSWD=%s\r\n", pin);
             if(t_interrupt1 == OFF)  {
-                return at1.getAnswer(3);
+                return at1.getAnswer(600);
+            } else  {
+                return at1.buffer;
+            }
+
+    }
+    return 0;
+
+}
+
+char *bt_modul_hc05::set_modul_inquiry(UART num, char *inqparams)
+{
+    switch(num)  {
+        case UART1 :
+            at0.at_send("AT+INQM=%s\r\n", inqparams);
+            if(t_interrupt == OFF)  {
+                return at0.getAnswer(800);
+            } else  {
+                return at0.buffer;
+            }
+
+        case UART6 :
+            at1.at_send1("AT+INQM=%s\r\n", inqparams);
+            if(t_interrupt1 == OFF)  {
+                return at1.getAnswer(800);
             } else  {
                 return at1.buffer;
             }
@@ -486,7 +557,7 @@
         case UART1 :
             at0.at_send("AT+NAME=%s\r\n", name);
             if(t_interrupt == OFF)  {
-                return at0.getAnswer(3);
+                return at0.getAnswer(800);
             } else  {
                 return at0.buffer;
             }
@@ -494,7 +565,7 @@
         case UART6 :
             at1.at_send1("AT+NAME=%s\r\n", name);
             if(t_interrupt1 == OFF)  {
-                return at1.getAnswer(3);
+                return at1.getAnswer(800);
             } else  {
                 return at1.buffer;
             }
@@ -510,7 +581,7 @@
         case UART1 :
             at0.at_send("AT+UART=%s\r\n", uartparams);
             if(t_interrupt == OFF)  {
-                return at0.getAnswer(3);
+                return at0.getAnswer(600);
             } else  {
                 return at0.buffer;
             }
@@ -518,7 +589,7 @@
         case UART6 :
             at1.at_send1("AT+UART=%s\r\n", uartparams);
             if(t_interrupt1 == OFF)  {
-                return at1.getAnswer(3);
+                return at1.getAnswer(600);
             } else  {
                 return at1.buffer;
             }
@@ -534,7 +605,7 @@
         case UART1 :
             at0.at_send("AT+BIND=\r\n", address);
             if(t_interrupt == OFF)  {
-                return at0.getAnswer(3);
+                return at0.getAnswer(600);
             } else  {
                 return at0.buffer;
             }
@@ -542,7 +613,7 @@
         case UART6 :
             at1.at_send1("AT+BIND=\r\n", address);
             if(t_interrupt1 == OFF)  {
-                return at1.getAnswer(3);
+                return at1.getAnswer(600);
             } else  {
                 return at1.buffer;
             }
@@ -559,7 +630,7 @@
         case UART1 :
             at0.at_send("AT+CMODE=%i\r\n", (char*)mode);
             if(t_interrupt == OFF)  {
-                return at0.getAnswer(3);
+                return at0.getAnswer(600);
             } else  {
                 return at0.buffer;
             }
@@ -567,7 +638,7 @@
         case UART6 :
             at1.at_send1("AT+CMODE=%i\r\n", (char*)mode);
             if(t_interrupt1 == OFF)  {
-                return at1.getAnswer(3);
+                return at1.getAnswer(600);
             } else  {
                 return at1.buffer;
             }
@@ -582,7 +653,7 @@
         case UART1 :
             at0.at_send("AT+FSAD=%s\r\n", address);
             if(t_interrupt == OFF)  {
-                return at0.getAnswer(3);
+                return at0.getAnswer(800);
             } else  {
                 return at0.buffer;
             }
@@ -590,7 +661,7 @@
         case UART6 :
             at1.at_send1("AT+FSAD=%s\r\n", address);
             if(t_interrupt1 == OFF)  {
-                return at1.getAnswer(3);
+                return at1.getAnswer(800);
             } else  {
                 return at1.buffer;
             }
@@ -605,7 +676,7 @@
         case UART1 :
             at0.at_send("AT+PMSAD=%s\r\n", address);
             if(t_interrupt == OFF)  {
-                return at0.getAnswer(3);
+                return at0.getAnswer(800);
             } else  {
                 return at0.buffer;
             }
@@ -613,7 +684,7 @@
         case UART6 :
             at1.at_send1("AT+PMSAD=%s\r\n", address);
             if(t_interrupt1 == OFF)  {
-                return at1.getAnswer(3);
+                return at1.getAnswer(800);
             } else  {
                 return at1.buffer;
             }
@@ -628,7 +699,7 @@
         case UART1 :
             at0.at_send("AT+RMAAD\r\n", "");
             if(t_interrupt == OFF)  {
-                return at0.getAnswer(3);
+                return at0.getAnswer(800);
             } else  {
                 return at0.buffer;
             }
@@ -636,7 +707,7 @@
         case UART6 :
             at1.at_send1("AT+RMAAD\r\n", "");
             if(t_interrupt1 == OFF)  {
-                return at1.getAnswer(3);
+                return at1.getAnswer(800);
             } else  {
                 return at1.buffer;
             }
@@ -651,7 +722,7 @@
         case UART1 :
             at0.at_send("AT+LINK=%s\r\n", address);
             if(t_interrupt == OFF)  {
-                return at0.getAnswer(3);
+                return at0.getAnswer(800);
             } else  {
                 return at0.buffer;
             }
@@ -659,7 +730,7 @@
         case UART6 :
             at1.at_send1("AT+LINK=%s\r\n", address);
             if(t_interrupt1 == OFF)  {
-                return at1.getAnswer(3);
+                return at1.getAnswer(800);
             } else  {
                 return at1.buffer;
             }
@@ -674,7 +745,7 @@
         case UART1 :
             at0.at_send("AT+DISC=%s\r\n", address);
             if(t_interrupt == OFF)  {
-                return at0.getAnswer(3);
+                return at0.getAnswer(800);
             } else  {
                 return at0.buffer;
             }
@@ -682,7 +753,7 @@
         case UART6 :
             at1.at_send1("AT+DISC=%s\r\n", address);
             if(t_interrupt1 == OFF)  {
-                return at1.getAnswer(3);
+                return at1.getAnswer(800);
             } else  {
                 return at1.buffer;
             }
@@ -709,14 +780,14 @@
     switch(num)  {
         case UART1 :
             if(t_interrupt == OFF)  {
-                return at0.getAnswer(2);
+                return at0.getAnswer(800);
             } else  {
                 return at0.buffer;
             }
 
         case UART6 :
             if(t_interrupt1 == OFF)  {
-                return at1.getAnswer(2);
+                return at1.getAnswer(800);
             } else  {
                 return at1.buffer;
             }
@@ -738,4 +809,20 @@
                 at1.clear();
             }
     }
+}
+
+char *bt_modul_hc05::search(UART num)
+{
+  //  bt_modul_hc05::set_modul_role(UART6, MASTER);
+    bt_modul_hc05::get_modul_init(num);
+    bt_modul_hc05::set_modul_giac(num, "9e8b33");
+    bt_modul_hc05::set_device_class(num, 0);
+    bt_modul_hc05::set_modul_inquiry(num, "1,5,10");
+    return bt_modul_hc05::get_modul_inqm(num);
+}
+
+char *bt_modul_hc05::link_device(UART num, char *address)
+{
+    bt_modul_hc05::search_device(num, address);
+    return bt_modul_hc05::connect_device(num, address);
 }
\ No newline at end of file