Library for Bluetooth Low Energy Module ble 4.0 HM-11
hm11.h@4:65cc8bd09b18, 2015-11-30 (annotated)
- Committer:
- igbt6
- Date:
- Mon Nov 30 14:52:32 2015 +0000
- Revision:
- 4:65cc8bd09b18
- Parent:
- 3:d32bdfd04d82
- Child:
- 5:9a00e7bb0275
declarations of all methods done
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
igbt6 | 0:df4bd867616e | 1 | /* |
igbt6 | 0:df4bd867616e | 2 | @file hm11.h |
igbt6 | 0:df4bd867616e | 3 | |
igbt6 | 0:df4bd867616e | 4 | @brief Bluetooth Low Energy v4.0 HM-11 Breakout Library |
igbt6 | 0:df4bd867616e | 5 | |
igbt6 | 0:df4bd867616e | 6 | @Author lukasz uszko(luszko@op.pl) |
igbt6 | 0:df4bd867616e | 7 | |
igbt6 | 0:df4bd867616e | 8 | Tested on FRDM-KL25Z |
igbt6 | 0:df4bd867616e | 9 | |
igbt6 | 0:df4bd867616e | 10 | Copyright (c) 2014 lukasz uszko |
igbt6 | 0:df4bd867616e | 11 | Released under the MIT License (see http://mbed.org/license/mit) |
igbt6 | 0:df4bd867616e | 12 | |
igbt6 | 0:df4bd867616e | 13 | Documentation regarding the HM-11 Bluetooth Low energy module can be found here: |
igbt6 | 0:df4bd867616e | 14 | https://www.microduino.cc/wiki/images/f/fc/Bluetooth40_en.pdf |
igbt6 | 0:df4bd867616e | 15 | http://txyz.info/b10n1c/datasheets/hm-11_bluetooth40_en.pdf |
igbt6 | 0:df4bd867616e | 16 | */ |
igbt6 | 0:df4bd867616e | 17 | |
igbt6 | 0:df4bd867616e | 18 | //HM-11 Device Pinout: |
igbt6 | 0:df4bd867616e | 19 | // Pin Name Description |
igbt6 | 0:df4bd867616e | 20 | // 1 UART_RTS UART interface |
igbt6 | 0:df4bd867616e | 21 | // 2 UART_TX UART interface |
igbt6 | 0:df4bd867616e | 22 | // 3 UART_CTS UART interface |
igbt6 | 0:df4bd867616e | 23 | // 4 UART_RX UART interface |
igbt6 | 0:df4bd867616e | 24 | // 5 NC NC |
igbt6 | 0:df4bd867616e | 25 | // 6 NC NC |
igbt6 | 0:df4bd867616e | 26 | // 7 NC NC |
igbt6 | 0:df4bd867616e | 27 | // 8 NC NC |
igbt6 | 0:df4bd867616e | 28 | // 9 CC V3.3 |
igbt6 | 0:df4bd867616e | 29 | // 10 NC NC or VCC |
igbt6 | 0:df4bd867616e | 30 | // 11 RESETB Reset if low <100ms |
igbt6 | 0:df4bd867616e | 31 | // 12 GND Ground |
igbt6 | 0:df4bd867616e | 32 | // 13 PIO3 Programmable input/output line |
igbt6 | 0:df4bd867616e | 33 | // 14 PIO2 Programmable input/output line |
igbt6 | 0:df4bd867616e | 34 | // 15 PIO1 System LED |
igbt6 | 0:df4bd867616e | 35 | // 16 PIO0 System KEY |
igbt6 | 0:df4bd867616e | 36 | |
igbt6 | 0:df4bd867616e | 37 | // AT Commands |
igbt6 | 0:df4bd867616e | 38 | // Factory default setting: |
igbt6 | 0:df4bd867616e | 39 | // Name: HMSoft; Baud: 9600, N, 8, 1; Pin code: 000000; transmit |
igbt6 | 0:df4bd867616e | 40 | |
igbt6 | 1:abf1462d47a0 | 41 | |
igbt6 | 1:abf1462d47a0 | 42 | //DEMO - HOW TO USE: |
igbt6 | 3:d32bdfd04d82 | 43 | //compiled and built under mbed |
igbt6 | 1:abf1462d47a0 | 44 | /* |
igbt6 | 1:abf1462d47a0 | 45 | ---------------------------------------- DEMO: 1st version -simple polling ---------------------------------------- |
igbt6 | 1:abf1462d47a0 | 46 | #include "mbed.h" |
igbt6 | 1:abf1462d47a0 | 47 | #include "hm11.h" |
igbt6 | 1:abf1462d47a0 | 48 | #include "crc16.h" |
igbt6 | 1:abf1462d47a0 | 49 | |
igbt6 | 1:abf1462d47a0 | 50 | |
igbt6 | 1:abf1462d47a0 | 51 | #define HM11_PIN_TX PTE22 //FRDM-KL25Z UART2 |
igbt6 | 1:abf1462d47a0 | 52 | #define HM11_PIN_RX PTE23 |
igbt6 | 1:abf1462d47a0 | 53 | |
igbt6 | 1:abf1462d47a0 | 54 | int main() { |
igbt6 | 1:abf1462d47a0 | 55 | Serial usbDebug(USBTX, USBRX); |
igbt6 | 1:abf1462d47a0 | 56 | usbDebug.printf("HELLO WORLD !"); |
igbt6 | 1:abf1462d47a0 | 57 | |
igbt6 | 1:abf1462d47a0 | 58 | |
igbt6 | 1:abf1462d47a0 | 59 | HM11* hm11 = new HM11( HM11_PIN_TX, HM11_PIN_RX); |
igbt6 | 1:abf1462d47a0 | 60 | int counter =0; |
igbt6 | 1:abf1462d47a0 | 61 | while(1) { |
igbt6 | 1:abf1462d47a0 | 62 | //myled = 1; |
igbt6 | 1:abf1462d47a0 | 63 | wait(0.5); |
igbt6 | 1:abf1462d47a0 | 64 | usbDebug.printf("alive "); |
igbt6 | 1:abf1462d47a0 | 65 | wait(0.5); |
igbt6 | 1:abf1462d47a0 | 66 | char buf[2]; |
igbt6 | 1:abf1462d47a0 | 67 | snprintf(buf,2,"%d",counter++); |
igbt6 | 1:abf1462d47a0 | 68 | if(counter>9) |
igbt6 | 1:abf1462d47a0 | 69 | counter=0; |
igbt6 | 1:abf1462d47a0 | 70 | hm11->sendDataToDevice(buf); |
igbt6 | 1:abf1462d47a0 | 71 | wait(0.2); |
igbt6 | 1:abf1462d47a0 | 72 | |
igbt6 | 1:abf1462d47a0 | 73 | while(hm11->isRxDataAvailable()) |
igbt6 | 1:abf1462d47a0 | 74 | usbDebug.printf("data: %c\r\n",hm11->getDataFromRx()); |
igbt6 | 1:abf1462d47a0 | 75 | |
igbt6 | 1:abf1462d47a0 | 76 | } |
igbt6 | 1:abf1462d47a0 | 77 | } |
igbt6 | 1:abf1462d47a0 | 78 | */ |
igbt6 | 1:abf1462d47a0 | 79 | |
igbt6 | 1:abf1462d47a0 | 80 | |
igbt6 | 1:abf1462d47a0 | 81 | |
igbt6 | 0:df4bd867616e | 82 | #ifndef HM11_H |
igbt6 | 0:df4bd867616e | 83 | #define HM11_H |
igbt6 | 0:df4bd867616e | 84 | |
igbt6 | 0:df4bd867616e | 85 | |
igbt6 | 0:df4bd867616e | 86 | #include "mbed.h" |
igbt6 | 0:df4bd867616e | 87 | #include "BufferedSerial.h" |
igbt6 | 0:df4bd867616e | 88 | |
igbt6 | 0:df4bd867616e | 89 | #define HM11_SERIAL_DEFAULT_BAUD 9600 |
igbt6 | 0:df4bd867616e | 90 | #define HM11_SERIAL_TIMEOUT 10000 |
igbt6 | 0:df4bd867616e | 91 | #define HM11_SERIAL_EOL "\r\n" |
igbt6 | 0:df4bd867616e | 92 | |
igbt6 | 0:df4bd867616e | 93 | static const char* hm11TestCommands[]={"AT","AT+","CONNL","RENEW","RESET","START","SLEEP","?"}; |
igbt6 | 0:df4bd867616e | 94 | |
igbt6 | 0:df4bd867616e | 95 | static const char* hm11SendCommands[]={"ADDR","BAUD","CLEAR","CON", |
igbt6 | 0:df4bd867616e | 96 | "FILT","HELP","IMME","MODE", |
igbt6 | 0:df4bd867616e | 97 | "NOTI","NAME","PARI","PIO1", |
igbt6 | 0:df4bd867616e | 98 | "PIO","PASS","PIN","POWE", |
igbt6 | 0:df4bd867616e | 99 | "PWRM","ROLE", |
igbt6 | 0:df4bd867616e | 100 | "RSSI","RADD","STOP", |
igbt6 | 0:df4bd867616e | 101 | "SAVE","TCON","TYPE","VERR","VERS" |
igbt6 | 0:df4bd867616e | 102 | }; |
igbt6 | 0:df4bd867616e | 103 | |
igbt6 | 0:df4bd867616e | 104 | static const char* HM11ReceiveMsgs[]={"OK","OK+","Get:","Set:","LOST","ADDR:","CLEAR","CONN", |
igbt6 | 0:df4bd867616e | 105 | "NAME","Set","PIO:","RENEW","RESET","RSSI:","RADD:", |
igbt6 | 0:df4bd867616e | 106 | "START","SLEEP","TCON","RSSI:","RADD:","CONNF" |
igbt6 | 0:df4bd867616e | 107 | }; |
igbt6 | 0:df4bd867616e | 108 | |
igbt6 | 0:df4bd867616e | 109 | typedef enum hm11CommandsType_t{ |
igbt6 | 0:df4bd867616e | 110 | HM11_TEST_COMMAND=0, |
igbt6 | 0:df4bd867616e | 111 | HM11_SEND_COMMAND, |
igbt6 | 0:df4bd867616e | 112 | HM11_NUM_OF_COMMAND_TYPE |
igbt6 | 0:df4bd867616e | 113 | }HM11CommandType; |
igbt6 | 0:df4bd867616e | 114 | |
igbt6 | 0:df4bd867616e | 115 | typedef enum hm11TestCommands_t{ |
igbt6 | 0:df4bd867616e | 116 | HM11_AT_TEST =0, |
igbt6 | 0:df4bd867616e | 117 | HM11_START_CMD, |
igbt6 | 0:df4bd867616e | 118 | HM11_CONNECT_TO_LAST_SUCCEEDED_DEVICE , // |
igbt6 | 0:df4bd867616e | 119 | HM11_RESTORE_ALL, // |
igbt6 | 0:df4bd867616e | 120 | HM11_RESET_MODULE, // |
igbt6 | 0:df4bd867616e | 121 | HM11_WORK_IMMEDIATELY, // |
igbt6 | 0:df4bd867616e | 122 | HM11_SLEEP_MODE, // |
igbt6 | 0:df4bd867616e | 123 | HM11_QUERY_SIGN, |
igbt6 | 0:df4bd867616e | 124 | HM11_NUM_OF_TEST_COMMANDS |
igbt6 | 0:df4bd867616e | 125 | }HM11TestCommands; |
igbt6 | 0:df4bd867616e | 126 | |
igbt6 | 0:df4bd867616e | 127 | |
igbt6 | 0:df4bd867616e | 128 | typedef enum hm11Commands_t{ |
igbt6 | 0:df4bd867616e | 129 | HM11_ADDRESS, |
igbt6 | 0:df4bd867616e | 130 | HM11_BAUDRATE, |
igbt6 | 0:df4bd867616e | 131 | HM11_CLEAR_LAST_CONNECTED_DEVICE_ADDRESS , |
igbt6 | 0:df4bd867616e | 132 | HM11_CONNECT_TO_ADDRESS, |
igbt6 | 0:df4bd867616e | 133 | HM11_FILTER_AT_COMMAND_PARAMETER, |
igbt6 | 0:df4bd867616e | 134 | HM11_HELP_INFORMATION, |
igbt6 | 0:df4bd867616e | 135 | HM11_MODULE_WORK_TYPE, |
igbt6 | 0:df4bd867616e | 136 | HM11_MODULE_WORK_MODE, |
igbt6 | 0:df4bd867616e | 137 | HM11_NOTIFY_INFORMATION, |
igbt6 | 0:df4bd867616e | 138 | HM11_MODULE_NAME, |
igbt6 | 0:df4bd867616e | 139 | HM11_PARITY_BIT, |
igbt6 | 0:df4bd867616e | 140 | HM11_PIO1_OUTPT_STATUS, |
igbt6 | 0:df4bd867616e | 141 | HM11_PIO_PINS_HIGH_OR_LOW, |
igbt6 | 0:df4bd867616e | 142 | HM11_GET_PIN_CODE, |
igbt6 | 0:df4bd867616e | 143 | HM11_PIN_CODE, |
igbt6 | 0:df4bd867616e | 144 | HM11_MODULE_POWER, |
igbt6 | 0:df4bd867616e | 145 | HM11_MODULE_SLEEP_TYPE, |
igbt6 | 0:df4bd867616e | 146 | HM11_MASTER_SLAVE_ROLL, |
igbt6 | 0:df4bd867616e | 147 | HM11_RSSI_VALUE, |
igbt6 | 0:df4bd867616e | 148 | HM11_LAST_CONNECTED_DEVICE_ADDRESS, |
igbt6 | 0:df4bd867616e | 149 | HM11_STOP_BIT, |
igbt6 | 0:df4bd867616e | 150 | HM11_MODULE_SAVE_CONNECTED_ADDR_PARAMETER, |
igbt6 | 0:df4bd867616e | 151 | HM11_MODULE_CONNECT_REMOTE_DEVICE_TIMEOUT_VALUE, |
igbt6 | 0:df4bd867616e | 152 | HM11_MODULE_BOND_MODE, |
igbt6 | 0:df4bd867616e | 153 | HM11_SOFTWARE_VERSION, |
igbt6 | 0:df4bd867616e | 154 | HM11_NUM_OF_COMMANDS |
igbt6 | 0:df4bd867616e | 155 | }HM11Commands; |
igbt6 | 0:df4bd867616e | 156 | |
igbt6 | 0:df4bd867616e | 157 | /** |
igbt6 | 0:df4bd867616e | 158 | AT Commands parameters |
igbt6 | 0:df4bd867616e | 159 | */ |
igbt6 | 0:df4bd867616e | 160 | typedef enum AdvertisingInterval{ |
igbt6 | 0:df4bd867616e | 161 | _100ms=0, |
igbt6 | 0:df4bd867616e | 162 | _152_5ms, |
igbt6 | 0:df4bd867616e | 163 | _211_25ms, |
igbt6 | 0:df4bd867616e | 164 | _318_75ms, |
igbt6 | 0:df4bd867616e | 165 | _417_5ms, |
igbt6 | 0:df4bd867616e | 166 | _546_25ms, |
igbt6 | 0:df4bd867616e | 167 | _760ms, |
igbt6 | 0:df4bd867616e | 168 | _852_5ms, |
igbt6 | 0:df4bd867616e | 169 | _1022_5ms, |
igbt6 | 0:df4bd867616e | 170 | _1285ms, |
igbt6 | 0:df4bd867616e | 171 | _2000ms, |
igbt6 | 0:df4bd867616e | 172 | _3000ms, |
igbt6 | 0:df4bd867616e | 173 | _4000ms, |
igbt6 | 0:df4bd867616e | 174 | _5000ms, |
igbt6 | 0:df4bd867616e | 175 | _6000ms, |
igbt6 | 0:df4bd867616e | 176 | _7000ms, |
igbt6 | 0:df4bd867616e | 177 | _INVALID_ADV_INTERVAL |
igbt6 | 0:df4bd867616e | 178 | }AdvertisingInterval_t; |
igbt6 | 0:df4bd867616e | 179 | |
igbt6 | 0:df4bd867616e | 180 | |
igbt6 | 0:df4bd867616e | 181 | typedef enum AdvertisingType{ |
igbt6 | 0:df4bd867616e | 182 | _AdvertisingScanResponseConnectable=0, |
igbt6 | 0:df4bd867616e | 183 | _LastDeviceConnectsIn1_28Seconds, |
igbt6 | 0:df4bd867616e | 184 | _AdvertisingScanResponse, |
igbt6 | 0:df4bd867616e | 185 | _Advertising, |
igbt6 | 0:df4bd867616e | 186 | _INVALID_ADV_TYPE |
igbt6 | 0:df4bd867616e | 187 | }AdvertisingType_t; |
igbt6 | 0:df4bd867616e | 188 | |
igbt6 | 0:df4bd867616e | 189 | typedef enum BaudRate{ |
igbt6 | 0:df4bd867616e | 190 | _9600=0, |
igbt6 | 0:df4bd867616e | 191 | _19200, |
igbt6 | 0:df4bd867616e | 192 | _38400, |
igbt6 | 0:df4bd867616e | 193 | _57600, |
igbt6 | 0:df4bd867616e | 194 | _115200, |
igbt6 | 0:df4bd867616e | 195 | _4800, |
igbt6 | 0:df4bd867616e | 196 | _2400, |
igbt6 | 0:df4bd867616e | 197 | _1200, |
igbt6 | 0:df4bd867616e | 198 | _230400, |
igbt6 | 0:df4bd867616e | 199 | _INVALID_BAUDRATE |
igbt6 | 0:df4bd867616e | 200 | }BaudRate_t; |
igbt6 | 0:df4bd867616e | 201 | |
igbt6 | 0:df4bd867616e | 202 | typedef enum ConnectionStatus{ |
igbt6 | 0:df4bd867616e | 203 | _L, // Connecting |
igbt6 | 0:df4bd867616e | 204 | _E, // Connect error |
igbt6 | 0:df4bd867616e | 205 | _F, // Connect Fail |
igbt6 | 0:df4bd867616e | 206 | _N // No Address |
igbt6 | 0:df4bd867616e | 207 | }ConnectionStatus_t; |
igbt6 | 0:df4bd867616e | 208 | |
igbt6 | 0:df4bd867616e | 209 | |
igbt6 | 4:65cc8bd09b18 | 210 | |
igbt6 | 3:d32bdfd04d82 | 211 | typedef struct ScanResult{ |
igbt6 | 3:d32bdfd04d82 | 212 | char* addr; |
igbt6 | 3:d32bdfd04d82 | 213 | char*name; |
igbt6 | 3:d32bdfd04d82 | 214 | uint8_t nr; //0-5 |
igbt6 | 3:d32bdfd04d82 | 215 | }ScanResult_t; |
igbt6 | 3:d32bdfd04d82 | 216 | |
igbt6 | 3:d32bdfd04d82 | 217 | |
igbt6 | 3:d32bdfd04d82 | 218 | typedef enum DeployMode{ |
igbt6 | 3:d32bdfd04d82 | 219 | _BROAD_AND_SCAN=1, //Allowed to broadcast and scanning |
igbt6 | 3:d32bdfd04d82 | 220 | _ONLY_BROAD, //Only allow broadcast |
igbt6 | 3:d32bdfd04d82 | 221 | _INVALID_DEPLOY_MODE |
igbt6 | 3:d32bdfd04d82 | 222 | }DeployMode_t; |
igbt6 | 3:d32bdfd04d82 | 223 | |
igbt6 | 3:d32bdfd04d82 | 224 | |
igbt6 | 3:d32bdfd04d82 | 225 | typedef enum FilterOfHmModules{ |
igbt6 | 3:d32bdfd04d82 | 226 | _ALL_BLE_MODULES=0, //Will find all BLE modules |
igbt6 | 3:d32bdfd04d82 | 227 | _ONLY_HM_MODULES, //Only find HM Modules |
igbt6 | 3:d32bdfd04d82 | 228 | _INVALID_FILTER |
igbt6 | 3:d32bdfd04d82 | 229 | }FilterOfHmModules_t; |
igbt6 | 3:d32bdfd04d82 | 230 | |
igbt6 | 3:d32bdfd04d82 | 231 | |
igbt6 | 3:d32bdfd04d82 | 232 | typedef enum ModuleWorkType{ |
igbt6 | 3:d32bdfd04d82 | 233 | _WAIT_UNTIL_AT_START_RECEIVED=0, //Will find all BLE modules |
igbt6 | 3:d32bdfd04d82 | 234 | _WORK_IMMEDIATELY, //Only find HM Modules |
igbt6 | 3:d32bdfd04d82 | 235 | _INVALID_MODULE_WORK_TYPE |
igbt6 | 3:d32bdfd04d82 | 236 | }ModuleWorkType_t; |
igbt6 | 3:d32bdfd04d82 | 237 | |
igbt6 | 3:d32bdfd04d82 | 238 | |
igbt6 | 3:d32bdfd04d82 | 239 | typedef enum ModuleWorkMode{ |
igbt6 | 3:d32bdfd04d82 | 240 | _TRANSM_MODE=0, |
igbt6 | 3:d32bdfd04d82 | 241 | _PIO_COLLECTION_MODE, |
igbt6 | 3:d32bdfd04d82 | 242 | _REMOTE_CONTROL_MODE |
igbt6 | 3:d32bdfd04d82 | 243 | }ModuleWorkMode_t; |
igbt6 | 3:d32bdfd04d82 | 244 | |
igbt6 | 3:d32bdfd04d82 | 245 | |
igbt6 | 3:d32bdfd04d82 | 246 | |
igbt6 | 3:d32bdfd04d82 | 247 | |
igbt6 | 3:d32bdfd04d82 | 248 | typedef enum ParityBit{ |
igbt6 | 3:d32bdfd04d82 | 249 | _NONE=0, |
igbt6 | 3:d32bdfd04d82 | 250 | _EVEN, |
igbt6 | 3:d32bdfd04d82 | 251 | _ODD |
igbt6 | 3:d32bdfd04d82 | 252 | }ParityBit_t; |
igbt6 | 3:d32bdfd04d82 | 253 | |
igbt6 | 3:d32bdfd04d82 | 254 | |
igbt6 | 4:65cc8bd09b18 | 255 | typedef enum ModulePower{ |
igbt6 | 4:65cc8bd09b18 | 256 | _23dbm=0, //-23dbm |
igbt6 | 4:65cc8bd09b18 | 257 | __6dbm, //-6dbm |
igbt6 | 4:65cc8bd09b18 | 258 | _0dbm, //0dbm |
igbt6 | 4:65cc8bd09b18 | 259 | _6dbm, //6dbm |
igbt6 | 4:65cc8bd09b18 | 260 | _INVALID_MOD_POWER |
igbt6 | 4:65cc8bd09b18 | 261 | }ModulePower_t; |
igbt6 | 4:65cc8bd09b18 | 262 | |
igbt6 | 4:65cc8bd09b18 | 263 | |
igbt6 | 4:65cc8bd09b18 | 264 | |
igbt6 | 4:65cc8bd09b18 | 265 | typedef enum SensorType{ |
igbt6 | 4:65cc8bd09b18 | 266 | _NONE_SENSOR=0, //None |
igbt6 | 4:65cc8bd09b18 | 267 | _DHT11, //dht11 |
igbt6 | 4:65cc8bd09b18 | 268 | _DS18B20, //ds18b20 |
igbt6 | 4:65cc8bd09b18 | 269 | _INVALID_SENSOR_TYPE |
igbt6 | 4:65cc8bd09b18 | 270 | }SensorType_t; |
igbt6 | 4:65cc8bd09b18 | 271 | |
igbt6 | 4:65cc8bd09b18 | 272 | |
igbt6 | 4:65cc8bd09b18 | 273 | typedef enum BondMode{ |
igbt6 | 4:65cc8bd09b18 | 274 | _NOT_NEED_PIN_CODE=0, |
igbt6 | 4:65cc8bd09b18 | 275 | _AUTH_NOT_NEED_PIN, |
igbt6 | 4:65cc8bd09b18 | 276 | _AUTH_WITH_PIN, |
igbt6 | 4:65cc8bd09b18 | 277 | _AUTH_AND_BOND, |
igbt6 | 4:65cc8bd09b18 | 278 | _INVALID_BOND_MODE |
igbt6 | 4:65cc8bd09b18 | 279 | }BondMode_t; |
igbt6 | 4:65cc8bd09b18 | 280 | |
igbt6 | 3:d32bdfd04d82 | 281 | |
igbt6 | 0:df4bd867616e | 282 | class HM11{ |
igbt6 | 0:df4bd867616e | 283 | |
igbt6 | 0:df4bd867616e | 284 | public: |
igbt6 | 0:df4bd867616e | 285 | HM11(PinName uartTx , PinName uartRx); |
igbt6 | 0:df4bd867616e | 286 | |
igbt6 | 0:df4bd867616e | 287 | HM11(const BufferedSerial & serial); |
igbt6 | 0:df4bd867616e | 288 | |
igbt6 | 0:df4bd867616e | 289 | bool sendGetCommand(const char* command); |
igbt6 | 0:df4bd867616e | 290 | bool sendSetCommand(const char* command,int param); |
igbt6 | 0:df4bd867616e | 291 | |
igbt6 | 0:df4bd867616e | 292 | bool isCorrectCommand(const char* command, HM11CommandType cmdType); |
igbt6 | 0:df4bd867616e | 293 | |
igbt6 | 0:df4bd867616e | 294 | int sendDataToDevice(const char* data); |
igbt6 | 3:d32bdfd04d82 | 295 | int sendDataToDevice(uint8_t * byteData,uint8_t dataLength); |
igbt6 | 0:df4bd867616e | 296 | |
igbt6 | 0:df4bd867616e | 297 | int isRxDataAvailable(); |
igbt6 | 0:df4bd867616e | 298 | |
igbt6 | 0:df4bd867616e | 299 | inline uint8_t getDataFromRx() { |
igbt6 | 0:df4bd867616e | 300 | return mSerial.getc(); |
igbt6 | 0:df4bd867616e | 301 | } |
igbt6 | 0:df4bd867616e | 302 | |
igbt6 | 0:df4bd867616e | 303 | |
igbt6 | 0:df4bd867616e | 304 | //commandMethods |
igbt6 | 0:df4bd867616e | 305 | bool testCommand(void); |
igbt6 | 0:df4bd867616e | 306 | char* queryModuleAddress(void); |
igbt6 | 0:df4bd867616e | 307 | bool setAdvertisingInterval(AdvertisingInterval_t advInt); |
igbt6 | 0:df4bd867616e | 308 | AdvertisingInterval_t queryAdvertisingInterval(void); |
igbt6 | 0:df4bd867616e | 309 | |
igbt6 | 0:df4bd867616e | 310 | bool setAdvertisingType(AdvertisingType_t advInt); |
igbt6 | 0:df4bd867616e | 311 | AdvertisingType_t queryAdvertisingType(void); |
igbt6 | 0:df4bd867616e | 312 | |
igbt6 | 0:df4bd867616e | 313 | |
igbt6 | 0:df4bd867616e | 314 | /** Set ANCS switch |
igbt6 | 0:df4bd867616e | 315 | * @param enable |0: Off |1: On |Default: 0 |
igbt6 | 0:df4bd867616e | 316 | * @return |
igbt6 | 0:df4bd867616e | 317 | * 1 on success, |
igbt6 | 0:df4bd867616e | 318 | * 0 on error. |
igbt6 | 0:df4bd867616e | 319 | * Note1: This command added in V524. |
igbt6 | 0:df4bd867616e | 320 | * Note2: Please send AT+RESET to restart module if you set value 1. |
igbt6 | 0:df4bd867616e | 321 | * Note3: Must execute AT+TYPE3 first. |
igbt6 | 0:df4bd867616e | 322 | */ |
igbt6 | 0:df4bd867616e | 323 | bool setAncsSwitch(uint8_t enable); |
igbt6 | 0:df4bd867616e | 324 | |
igbt6 | 0:df4bd867616e | 325 | |
igbt6 | 0:df4bd867616e | 326 | /** query ANCS switch |
igbt6 | 0:df4bd867616e | 327 | * @return |
igbt6 | 0:df4bd867616e | 328 | * 1 -On, |
igbt6 | 0:df4bd867616e | 329 | * 0 -Off |
igbt6 | 0:df4bd867616e | 330 | * 0xFF -error |
igbt6 | 0:df4bd867616e | 331 | * Note1: This command added in V524. |
igbt6 | 0:df4bd867616e | 332 | * Note2: Please send AT+RESET to restart module if you set value 1. |
igbt6 | 0:df4bd867616e | 333 | * Note3: Must execute AT+TYPE3 first. |
igbt6 | 0:df4bd867616e | 334 | */ |
igbt6 | 0:df4bd867616e | 335 | uint8_t queryAncsSwitch(void); |
igbt6 | 0:df4bd867616e | 336 | |
igbt6 | 0:df4bd867616e | 337 | |
igbt6 | 0:df4bd867616e | 338 | /** Set Whitelist switch |
igbt6 | 0:df4bd867616e | 339 | * @param enable |0: Off |1: On |Default: 0 |
igbt6 | 0:df4bd867616e | 340 | * @return |
igbt6 | 0:df4bd867616e | 341 | * 1 on success, |
igbt6 | 0:df4bd867616e | 342 | * 0 on error. |
igbt6 | 0:df4bd867616e | 343 | * Note1: This command added in V523 |
igbt6 | 0:df4bd867616e | 344 | * Note2: Whitelist allow three mac address link to module. Please use AT+AD command set whitelist mac address. |
igbt6 | 0:df4bd867616e | 345 | */ |
igbt6 | 0:df4bd867616e | 346 | bool setWhitelistSwitch(uint8_t enable); |
igbt6 | 0:df4bd867616e | 347 | |
igbt6 | 0:df4bd867616e | 348 | |
igbt6 | 0:df4bd867616e | 349 | /** query Whitelist Switch |
igbt6 | 0:df4bd867616e | 350 | * @return |
igbt6 | 0:df4bd867616e | 351 | * 1 - On, |
igbt6 | 0:df4bd867616e | 352 | * 0 - Off, |
igbt6 | 0:df4bd867616e | 353 | * 0xFF -error. |
igbt6 | 0:df4bd867616e | 354 | * Note1: This command added in V523 |
igbt6 | 0:df4bd867616e | 355 | * Note2: Whitelist allow three mac address link to module. Please use AT+AD command set whitelist mac address. |
igbt6 | 0:df4bd867616e | 356 | */ |
igbt6 | 0:df4bd867616e | 357 | uint8_t queryWhitelistSwitch(void); |
igbt6 | 0:df4bd867616e | 358 | |
igbt6 | 0:df4bd867616e | 359 | |
igbt6 | 0:df4bd867616e | 360 | /** Set whitelist mac address |
igbt6 | 0:df4bd867616e | 361 | * @param nrOfMacAddrLinkedToModule |1,2,3 |
igbt6 | 0:df4bd867616e | 362 | * @param macAddress |eg. 001122334455 |
igbt6 | 0:df4bd867616e | 363 | * @return |
igbt6 | 0:df4bd867616e | 364 | * 1 on success, |
igbt6 | 0:df4bd867616e | 365 | * 0 on error. |
igbt6 | 0:df4bd867616e | 366 | */ |
igbt6 | 0:df4bd867616e | 367 | bool setWhitelistMacAddress (uint8_t nrOfMacAddrLinkedToModule, const char* macAddress); |
igbt6 | 0:df4bd867616e | 368 | |
igbt6 | 0:df4bd867616e | 369 | |
igbt6 | 0:df4bd867616e | 370 | /** query whitelist mac address |
igbt6 | 0:df4bd867616e | 371 | * @param nrOfMacAddrLinkedToModule |1,2,3 |
igbt6 | 0:df4bd867616e | 372 | * @return |
igbt6 | 0:df4bd867616e | 373 | * nr of mac addr |
igbt6 | 0:df4bd867616e | 374 | * null -error. |
igbt6 | 0:df4bd867616e | 375 | */ |
igbt6 | 0:df4bd867616e | 376 | char* queryWhitelistMacAddress(uint8_t nrOfMacAddrLinkedToModule); |
igbt6 | 0:df4bd867616e | 377 | |
igbt6 | 0:df4bd867616e | 378 | |
igbt6 | 0:df4bd867616e | 379 | /** Set battery monitor switch |
igbt6 | 0:df4bd867616e | 380 | * @param uint8_t battSwitchEnable: |0: Off |1: On |Default: 0 |
igbt6 | 0:df4bd867616e | 381 | * @return |
igbt6 | 0:df4bd867616e | 382 | * 1 on success, |
igbt6 | 0:df4bd867616e | 383 | * 0 on error. |
igbt6 | 0:df4bd867616e | 384 | * Note1: This command added in V520 |
igbt6 | 0:df4bd867616e | 385 | */ |
igbt6 | 0:df4bd867616e | 386 | bool setBatteryMonitorSwitch(uint8_t battSwitchEnable); |
igbt6 | 0:df4bd867616e | 387 | |
igbt6 | 0:df4bd867616e | 388 | |
igbt6 | 0:df4bd867616e | 389 | /** query BatteryMonitorSwitch |
igbt6 | 0:df4bd867616e | 390 | * @return |
igbt6 | 0:df4bd867616e | 391 | * batt switch state: |0: Off |1: On |
igbt6 | 0:df4bd867616e | 392 | * 0xFF -error |
igbt6 | 0:df4bd867616e | 393 | * Note1: This command added in V520. |
igbt6 | 0:df4bd867616e | 394 | */ |
igbt6 | 0:df4bd867616e | 395 | uint8_t queryBatteryMonitorSwitch(void); |
igbt6 | 0:df4bd867616e | 396 | |
igbt6 | 0:df4bd867616e | 397 | |
igbt6 | 0:df4bd867616e | 398 | |
igbt6 | 0:df4bd867616e | 399 | /**Query battery information |
igbt6 | 0:df4bd867616e | 400 | * @return |
igbt6 | 0:df4bd867616e | 401 | * batt information: 000~100 |
igbt6 | 0:df4bd867616e | 402 | * 0xFF -error |
igbt6 | 0:df4bd867616e | 403 | * |
igbt6 | 0:df4bd867616e | 404 | * There has three ways to get battery information: |
igbt6 | 0:df4bd867616e | 405 | a. Before establishing a connection, Send “AT+BATT?” through UART. |
igbt6 | 0:df4bd867616e | 406 | b. After established a connection, In Mode 1 or 2, remote side send“AT+BATT?” |
igbt6 | 0:df4bd867616e | 407 | Battery information has included in scan response data package, one hour update once |
igbt6 | 0:df4bd867616e | 408 | */ |
igbt6 | 0:df4bd867616e | 409 | uint8_t queryBatteryInformation(void); |
igbt6 | 0:df4bd867616e | 410 | |
igbt6 | 0:df4bd867616e | 411 | |
igbt6 | 0:df4bd867616e | 412 | |
igbt6 | 0:df4bd867616e | 413 | /** Set iBeacon into service mode(*) |
igbt6 | 0:df4bd867616e | 414 | * @return |
igbt6 | 0:df4bd867616e | 415 | * 1 on success, |
igbt6 | 0:df4bd867616e | 416 | * 0 on error. |
igbt6 | 0:df4bd867616e | 417 | * This command is added in V520, Removed in V521, Please use AT+DELO |
igbt6 | 0:df4bd867616e | 418 | * This command set iBeacon into service mode until next power on. |
igbt6 | 0:df4bd867616e | 419 | * In service mode, module not allow any link request. |
igbt6 | 0:df4bd867616e | 420 | * BUSHU is Chinese spelling, meaning the deployment. |
igbt6 | 0:df4bd867616e | 421 | * Note: Should to open iBeacon switch first (AT+IBEA). |
igbt6 | 0:df4bd867616e | 422 | */ |
igbt6 | 0:df4bd867616e | 423 | bool setIBeaconIntoServiceMode(void); |
igbt6 | 0:df4bd867616e | 424 | |
igbt6 | 0:df4bd867616e | 425 | |
igbt6 | 0:df4bd867616e | 426 | |
igbt6 | 0:df4bd867616e | 427 | /** Set Bit format |
igbt6 | 0:df4bd867616e | 428 | * @param bit7Format: 0:NotCompatible, 1:Compatible |
igbt6 | 0:df4bd867616e | 429 | * @return |
igbt6 | 0:df4bd867616e | 430 | * 1 NotCompatible, |
igbt6 | 0:df4bd867616e | 431 | * 0 Compatible, |
igbt6 | 0:df4bd867616e | 432 | * 0xFF Error |
igbt6 | 0:df4bd867616e | 433 | * This command is used only for compatible uses 7 data bits, 2 stop bit device. |
igbt6 | 0:df4bd867616e | 434 | */ |
igbt6 | 0:df4bd867616e | 435 | bool setBitFormat(uint8_t bit7Format); |
igbt6 | 0:df4bd867616e | 436 | |
igbt6 | 0:df4bd867616e | 437 | |
igbt6 | 0:df4bd867616e | 438 | /**Query BitFormat |
igbt6 | 0:df4bd867616e | 439 | * @return |
igbt6 | 0:df4bd867616e | 440 | * bit7 Swu=itch |
igbt6 | 0:df4bd867616e | 441 | * 0xFF -error |
igbt6 | 0:df4bd867616e | 442 | */ |
igbt6 | 0:df4bd867616e | 443 | uint8_t queryBitFormat(void); |
igbt6 | 0:df4bd867616e | 444 | |
igbt6 | 0:df4bd867616e | 445 | |
igbt6 | 0:df4bd867616e | 446 | /** Set baud rate |
igbt6 | 0:df4bd867616e | 447 | * @param baud: Baudrate value |
igbt6 | 0:df4bd867616e | 448 | * @return |
igbt6 | 0:df4bd867616e | 449 | * 1 success, |
igbt6 | 0:df4bd867616e | 450 | * 0 Error, |
igbt6 | 0:df4bd867616e | 451 | */ |
igbt6 | 0:df4bd867616e | 452 | bool setBaudRate(BaudRate_t baud); |
igbt6 | 0:df4bd867616e | 453 | |
igbt6 | 0:df4bd867616e | 454 | |
igbt6 | 0:df4bd867616e | 455 | |
igbt6 | 0:df4bd867616e | 456 | /**Query baud rate |
igbt6 | 0:df4bd867616e | 457 | * @return |
igbt6 | 0:df4bd867616e | 458 | * Baudrate_t - Baudrate value |
igbt6 | 0:df4bd867616e | 459 | */ |
igbt6 | 0:df4bd867616e | 460 | BaudRate_t queryBaudRate(void); |
igbt6 | 0:df4bd867616e | 461 | |
igbt6 | 0:df4bd867616e | 462 | /** Set Characteristic value |
igbt6 | 0:df4bd867616e | 463 | * @param chValue (characteristic value): 0x0001~0xFFFE |
igbt6 | 0:df4bd867616e | 464 | * @return |
igbt6 | 0:df4bd867616e | 465 | * 1 success, |
igbt6 | 0:df4bd867616e | 466 | * 0 Error, |
igbt6 | 0:df4bd867616e | 467 | */ |
igbt6 | 0:df4bd867616e | 468 | bool setCharacteristic(uint16_t chValue); |
igbt6 | 0:df4bd867616e | 469 | |
igbt6 | 0:df4bd867616e | 470 | |
igbt6 | 0:df4bd867616e | 471 | |
igbt6 | 0:df4bd867616e | 472 | /**Query Characteristic value |
igbt6 | 0:df4bd867616e | 473 | * @return |
igbt6 | 0:df4bd867616e | 474 | * characteristic value: 0x0001~0xFFFE |
igbt6 | 0:df4bd867616e | 475 | * error :0xFFFF |
igbt6 | 0:df4bd867616e | 476 | */ |
igbt6 | 0:df4bd867616e | 477 | uint16_t queryCharacteristic(void); |
igbt6 | 0:df4bd867616e | 478 | |
igbt6 | 0:df4bd867616e | 479 | |
igbt6 | 0:df4bd867616e | 480 | /** Try connect to last succeeded device |
igbt6 | 0:df4bd867616e | 481 | * @return |
igbt6 | 0:df4bd867616e | 482 | * ConnectionStatus_t connection status. |
igbt6 | 0:df4bd867616e | 483 | * Notice: Only Central role is used. |
igbt6 | 0:df4bd867616e | 484 | * If remote device has already connected to other device or shut down, |
igbt6 | 0:df4bd867616e | 485 | * “OK+CONNF” will received after about 10 seconds. |
igbt6 | 0:df4bd867616e | 486 | */ |
igbt6 | 0:df4bd867616e | 487 | ConnectionStatus_t connectToLastDevice(void); |
igbt6 | 0:df4bd867616e | 488 | |
igbt6 | 0:df4bd867616e | 489 | |
igbt6 | 0:df4bd867616e | 490 | /** Try connect an address |
igbt6 | 0:df4bd867616e | 491 | * @param address e.g." 0017EA090909 " |
igbt6 | 0:df4bd867616e | 492 | * @return connection status |
igbt6 | 0:df4bd867616e | 493 | * Notice: Only Central role is used. |
igbt6 | 0:df4bd867616e | 494 | * If remote device has already connected to other device or shut down, |
igbt6 | 0:df4bd867616e | 495 | * “OK+CONNF” will received after about 10 seconds. |
igbt6 | 0:df4bd867616e | 496 | * |
igbt6 | 0:df4bd867616e | 497 | * Notice: Only central role is used. |
igbt6 | 0:df4bd867616e | 498 | If remote device has already connected to other device or shut down, |
igbt6 | 0:df4bd867616e | 499 | “OK+CONNF” will received after about 10 Seconds. |
igbt6 | 0:df4bd867616e | 500 | e.g. |
igbt6 | 0:df4bd867616e | 501 | Try to connect an device which MAC address is 00:17:EA:09:09:09 |
igbt6 | 0:df4bd867616e | 502 | Send: AT+CON0017EA090909 |
igbt6 | 0:df4bd867616e | 503 | May receive a reply: |
igbt6 | 0:df4bd867616e | 504 | OK+CONNA ========= Accept request, connecting |
igbt6 | 0:df4bd867616e | 505 | OK+CONNE ========= Connect error |
igbt6 | 0:df4bd867616e | 506 | OK+CONN ========= Connected, if AT+NOTI1 is setup |
igbt6 | 0:df4bd867616e | 507 | OK+CONNF ========= Connect Failed, After 10 seconds |
igbt6 | 0:df4bd867616e | 508 | */ |
igbt6 | 0:df4bd867616e | 509 | ConnectionStatus_t connectToAnAddress(const char* address); |
igbt6 | 0:df4bd867616e | 510 | |
igbt6 | 0:df4bd867616e | 511 | |
igbt6 | 3:d32bdfd04d82 | 512 | /**Query PIO04~PIO11 input(output) state |
igbt6 | 3:d32bdfd04d82 | 513 | * @return |
igbt6 | 3:d32bdfd04d82 | 514 | * in/out state: 0x00~0xFF |
igbt6 | 3:d32bdfd04d82 | 515 | * |
igbt6 | 3:d32bdfd04d82 | 516 | * This command is added since V515 version. |
igbt6 | 3:d32bdfd04d82 | 517 | */ |
igbt6 | 3:d32bdfd04d82 | 518 | uint8_t queryInputOutputState(void); |
igbt6 | 0:df4bd867616e | 519 | |
igbt6 | 3:d32bdfd04d82 | 520 | |
igbt6 | 3:d32bdfd04d82 | 521 | /**Set PIO collection rate |
igbt6 | 3:d32bdfd04d82 | 522 | * @param colRateSec (PIO collection rate): 00-99 unit[s] |
igbt6 | 3:d32bdfd04d82 | 523 | * @return |
igbt6 | 3:d32bdfd04d82 | 524 | * 1 success, |
igbt6 | 3:d32bdfd04d82 | 525 | * 0 Error, |
igbt6 | 3:d32bdfd04d82 | 526 | * |
igbt6 | 3:d32bdfd04d82 | 527 | * In mode 1, when PIO state is change, module will send OK+Col:[xx] to |
igbt6 | 3:d32bdfd04d82 | 528 | * UART or remote side. This command is set send interval. |
igbt6 | 3:d32bdfd04d82 | 529 | * This command is added since V515 version. |
igbt6 | 3:d32bdfd04d82 | 530 | */ |
igbt6 | 3:d32bdfd04d82 | 531 | bool setPioCollectionRate (uint8_t colRateSec); |
igbt6 | 3:d32bdfd04d82 | 532 | |
igbt6 | 3:d32bdfd04d82 | 533 | |
igbt6 | 3:d32bdfd04d82 | 534 | |
igbt6 | 3:d32bdfd04d82 | 535 | /**Query PIO collection rate |
igbt6 | 3:d32bdfd04d82 | 536 | * @return |
igbt6 | 3:d32bdfd04d82 | 537 | * PIO collection rate: 00-99 unit[s] |
igbt6 | 3:d32bdfd04d82 | 538 | * error :0xFF |
igbt6 | 3:d32bdfd04d82 | 539 | */ |
igbt6 | 3:d32bdfd04d82 | 540 | uint8_t queryPioCollectionRate(void); |
igbt6 | 3:d32bdfd04d82 | 541 | |
igbt6 | 3:d32bdfd04d82 | 542 | |
igbt6 | 3:d32bdfd04d82 | 543 | |
igbt6 | 3:d32bdfd04d82 | 544 | /**Start a device discovery scan |
igbt6 | 3:d32bdfd04d82 | 545 | * @param [out] scanRes |
igbt6 | 3:d32bdfd04d82 | 546 | * @return |
igbt6 | 3:d32bdfd04d82 | 547 | * 1 success, |
igbt6 | 3:d32bdfd04d82 | 548 | * 0 Error, |
igbt6 | 3:d32bdfd04d82 | 549 | |
igbt6 | 3:d32bdfd04d82 | 550 | Please set AT+ROLE1 and AT+IMME1 first. |
igbt6 | 3:d32bdfd04d82 | 551 | ---usage--: |
igbt6 | 3:d32bdfd04d82 | 552 | Send: AT+DISC? |
igbt6 | 3:d32bdfd04d82 | 553 | Recv: OK+DISCS |
igbt6 | 3:d32bdfd04d82 | 554 | Recv: OK+DISC:123456789012 (discovered device address information) |
igbt6 | 3:d32bdfd04d82 | 555 | If AT+SHOW1 is setup, you will receive then Name information as follow |
igbt6 | 3:d32bdfd04d82 | 556 | Recv: OK+NAME: xxx |
igbt6 | 3:d32bdfd04d82 | 557 | After send Name value, will send two extra “\r\n” value ASCII byte |
igbt6 | 3:d32bdfd04d82 | 558 | Recv: OK+DISC:234567890123 |
igbt6 | 3:d32bdfd04d82 | 559 | Recv: OK+NAME: xxx |
igbt6 | 3:d32bdfd04d82 | 560 | After send Name value, will send two extra “\r\n” value ASCII byte ...(Max results is 6, use array 0~5) |
igbt6 | 3:d32bdfd04d82 | 561 | Recv: OK+DISCE |
igbt6 | 3:d32bdfd04d82 | 562 | Connect to a discovered device: AT+CONN0, AT+CONN1……AT+CONN5 |
igbt6 | 3:d32bdfd04d82 | 563 | */ |
igbt6 | 3:d32bdfd04d82 | 564 | bool startDeviceDiscoveryScan(ScanResult_t* scanRes); |
igbt6 | 3:d32bdfd04d82 | 565 | |
igbt6 | 3:d32bdfd04d82 | 566 | |
igbt6 | 3:d32bdfd04d82 | 567 | |
igbt6 | 3:d32bdfd04d82 | 568 | /**Connect to an Discovery device |
igbt6 | 3:d32bdfd04d82 | 569 | * @param [in] scanRes |
igbt6 | 3:d32bdfd04d82 | 570 | * @return |
igbt6 | 3:d32bdfd04d82 | 571 | * 1 success, |
igbt6 | 3:d32bdfd04d82 | 572 | * 0 Error, |
igbt6 | 3:d32bdfd04d82 | 573 | |
igbt6 | 3:d32bdfd04d82 | 574 | This command is use after execute AT+DISC? |
igbt6 | 3:d32bdfd04d82 | 575 | This command will clear all discovery data. |
igbt6 | 3:d32bdfd04d82 | 576 | */ |
igbt6 | 3:d32bdfd04d82 | 577 | bool connectToDiscoveryDevice(ScanResult_t* scanRes); |
igbt6 | 3:d32bdfd04d82 | 578 | |
igbt6 | 3:d32bdfd04d82 | 579 | |
igbt6 | 3:d32bdfd04d82 | 580 | |
igbt6 | 3:d32bdfd04d82 | 581 | /**Set IBeaconDeployMode |
igbt6 | 3:d32bdfd04d82 | 582 | * @param depMode - DeployMode_t |
igbt6 | 3:d32bdfd04d82 | 583 | * @return |
igbt6 | 3:d32bdfd04d82 | 584 | * 1 success, |
igbt6 | 3:d32bdfd04d82 | 585 | * 0 Error, |
igbt6 | 3:d32bdfd04d82 | 586 | * |
igbt6 | 3:d32bdfd04d82 | 587 | * After receive OK+DELO[para1], module will reset after 500ms. |
igbt6 | 3:d32bdfd04d82 | 588 | * This command will let module into non-connectable status until next power on. |
igbt6 | 3:d32bdfd04d82 | 589 | */ |
igbt6 | 3:d32bdfd04d82 | 590 | bool setIBeaconDeployMode(DeployMode_t depMode); |
igbt6 | 3:d32bdfd04d82 | 591 | |
igbt6 | 3:d32bdfd04d82 | 592 | |
igbt6 | 3:d32bdfd04d82 | 593 | /**Set filter of HM modules |
igbt6 | 3:d32bdfd04d82 | 594 | * @param filter -FilterOfHmModules_t |
igbt6 | 3:d32bdfd04d82 | 595 | * @return |
igbt6 | 3:d32bdfd04d82 | 596 | * 1 success, |
igbt6 | 3:d32bdfd04d82 | 597 | * 0 Error, |
igbt6 | 3:d32bdfd04d82 | 598 | */ |
igbt6 | 3:d32bdfd04d82 | 599 | bool setFilterOfHmModules(FilterOfHmModules_t filter); |
igbt6 | 3:d32bdfd04d82 | 600 | |
igbt6 | 3:d32bdfd04d82 | 601 | |
igbt6 | 3:d32bdfd04d82 | 602 | /**Query filter of HM modules |
igbt6 | 3:d32bdfd04d82 | 603 | * @return |
igbt6 | 3:d32bdfd04d82 | 604 | * Type of filter |
igbt6 | 3:d32bdfd04d82 | 605 | */ |
igbt6 | 3:d32bdfd04d82 | 606 | FilterOfHmModules_t queryFilterOfHmModules(void); |
igbt6 | 3:d32bdfd04d82 | 607 | |
igbt6 | 3:d32bdfd04d82 | 608 | |
igbt6 | 3:d32bdfd04d82 | 609 | |
igbt6 | 3:d32bdfd04d82 | 610 | /**Remove bond information |
igbt6 | 3:d32bdfd04d82 | 611 | * @return |
igbt6 | 3:d32bdfd04d82 | 612 | * 1 success, |
igbt6 | 3:d32bdfd04d82 | 613 | * 0 Error, |
igbt6 | 3:d32bdfd04d82 | 614 | * Note1: Added in V524 version. |
igbt6 | 3:d32bdfd04d82 | 615 | */ |
igbt6 | 3:d32bdfd04d82 | 616 | bool removeBondInformation(void); |
igbt6 | 3:d32bdfd04d82 | 617 | |
igbt6 | 3:d32bdfd04d82 | 618 | |
igbt6 | 3:d32bdfd04d82 | 619 | /**System Help Information |
igbt6 | 3:d32bdfd04d82 | 620 | * @param [in] char* helpInformation |
igbt6 | 3:d32bdfd04d82 | 621 | * @return |
igbt6 | 3:d32bdfd04d82 | 622 | * 1 success, |
igbt6 | 3:d32bdfd04d82 | 623 | * 0 Error, |
igbt6 | 3:d32bdfd04d82 | 624 | */ |
igbt6 | 3:d32bdfd04d82 | 625 | bool getSystemHelpInformation(char* helpInformationBuf); |
igbt6 | 3:d32bdfd04d82 | 626 | |
igbt6 | 3:d32bdfd04d82 | 627 | |
igbt6 | 3:d32bdfd04d82 | 628 | /**Set Module work type |
igbt6 | 3:d32bdfd04d82 | 629 | * @param modWorkType -ModuleWorkType_t |
igbt6 | 3:d32bdfd04d82 | 630 | * @return |
igbt6 | 3:d32bdfd04d82 | 631 | * 1 success, |
igbt6 | 3:d32bdfd04d82 | 632 | * 0 Error, |
igbt6 | 3:d32bdfd04d82 | 633 | * This command is only used for Central role. |
igbt6 | 3:d32bdfd04d82 | 634 | */ |
igbt6 | 3:d32bdfd04d82 | 635 | bool setModuleWorkType(ModuleWorkType_t modWorkType); |
igbt6 | 3:d32bdfd04d82 | 636 | |
igbt6 | 3:d32bdfd04d82 | 637 | |
igbt6 | 3:d32bdfd04d82 | 638 | /**Query Module work type |
igbt6 | 3:d32bdfd04d82 | 639 | * @return |
igbt6 | 3:d32bdfd04d82 | 640 | * module Work Type -ModuleWorkType_t |
igbt6 | 3:d32bdfd04d82 | 641 | * This command is only used for Central role. |
igbt6 | 3:d32bdfd04d82 | 642 | */ |
igbt6 | 3:d32bdfd04d82 | 643 | ModuleWorkType_t queryModuleWorkType(void); |
igbt6 | 3:d32bdfd04d82 | 644 | |
igbt6 | 3:d32bdfd04d82 | 645 | |
igbt6 | 3:d32bdfd04d82 | 646 | |
igbt6 | 3:d32bdfd04d82 | 647 | |
igbt6 | 3:d32bdfd04d82 | 648 | |
igbt6 | 3:d32bdfd04d82 | 649 | /**Set Module iBeacon Switch |
igbt6 | 3:d32bdfd04d82 | 650 | * @param turnOnOff |
igbt6 | 3:d32bdfd04d82 | 651 | 0: Turn off iBeacon |
igbt6 | 3:d32bdfd04d82 | 652 | * 1: Turn on iBeacon |
igbt6 | 3:d32bdfd04d82 | 653 | * @return |
igbt6 | 3:d32bdfd04d82 | 654 | * 1 success, |
igbt6 | 3:d32bdfd04d82 | 655 | * 0 Error, |
igbt6 | 3:d32bdfd04d82 | 656 | * This command is added since V517 version. |
igbt6 | 3:d32bdfd04d82 | 657 | */ |
igbt6 | 3:d32bdfd04d82 | 658 | bool setModuleIBeaconSwitch (uint8_t turnOnOff); |
igbt6 | 3:d32bdfd04d82 | 659 | |
igbt6 | 3:d32bdfd04d82 | 660 | |
igbt6 | 3:d32bdfd04d82 | 661 | /**Query iBeacon switch |
igbt6 | 3:d32bdfd04d82 | 662 | * @return |
igbt6 | 3:d32bdfd04d82 | 663 | * 0: Turn off iBeacon |
igbt6 | 3:d32bdfd04d82 | 664 | * 1: Turn on iBeacon |
igbt6 | 3:d32bdfd04d82 | 665 | * This command is added since V517 version. |
igbt6 | 3:d32bdfd04d82 | 666 | */ |
igbt6 | 3:d32bdfd04d82 | 667 | uint8_t queryModuleIBeaconSwitch (void); |
igbt6 | 3:d32bdfd04d82 | 668 | |
igbt6 | 3:d32bdfd04d82 | 669 | |
igbt6 | 3:d32bdfd04d82 | 670 | |
igbt6 | 3:d32bdfd04d82 | 671 | /**Set iBeacon UUID |
igbt6 | 3:d32bdfd04d82 | 672 | * @param: iBeacon Uuid - 0x00000001~0xFFFFFFFE |
igbt6 | 3:d32bdfd04d82 | 673 | * @return |
igbt6 | 3:d32bdfd04d82 | 674 | * 1 success, |
igbt6 | 3:d32bdfd04d82 | 675 | * 0 Error, |
igbt6 | 3:d32bdfd04d82 | 676 | * This command is added since V520 version. |
igbt6 | 3:d32bdfd04d82 | 677 | * Default: iBeacon UUID is: 74278BDA-B644-4520-8F0C-720EAF059935. |
igbt6 | 3:d32bdfd04d82 | 678 | * - uuid1 is 74278BDA |
igbt6 | 3:d32bdfd04d82 | 679 | * - uuid2 is B644-4520 |
igbt6 | 3:d32bdfd04d82 | 680 | * - uuid1 is 8F0C-720E |
igbt6 | 3:d32bdfd04d82 | 681 | * - uuid1 is AF059935 |
igbt6 | 3:d32bdfd04d82 | 682 | */ |
igbt6 | 3:d32bdfd04d82 | 683 | bool setIBeaconUuid (uint32_t uuid0,uint32_t uuid1,uint32_t uuid2, uint32_t uuid3); |
igbt6 | 3:d32bdfd04d82 | 684 | bool setIBeaconUuid (uint32_t* uuid); |
igbt6 | 3:d32bdfd04d82 | 685 | |
igbt6 | 3:d32bdfd04d82 | 686 | /**Query iBeacon Uuid |
igbt6 | 3:d32bdfd04d82 | 687 | * @param: part of uuid - 0~3 |
igbt6 | 3:d32bdfd04d82 | 688 | * @return |
igbt6 | 3:d32bdfd04d82 | 689 | * iBeacon Uuid - 0x00000001~0xFFFFFFFE |
igbt6 | 3:d32bdfd04d82 | 690 | * Error - 0x00 |
igbt6 | 3:d32bdfd04d82 | 691 | * This command is added since V520 version. |
igbt6 | 3:d32bdfd04d82 | 692 | */ |
igbt6 | 3:d32bdfd04d82 | 693 | uint32_t queryIBeaconUuid(uint32_t* nr_of_uuid); |
igbt6 | 3:d32bdfd04d82 | 694 | |
igbt6 | 3:d32bdfd04d82 | 695 | |
igbt6 | 3:d32bdfd04d82 | 696 | |
igbt6 | 3:d32bdfd04d82 | 697 | |
igbt6 | 3:d32bdfd04d82 | 698 | /**Set Module iBeacon major version |
igbt6 | 3:d32bdfd04d82 | 699 | * @param: major version- 0x0001~0xFFFE |
igbt6 | 3:d32bdfd04d82 | 700 | * @return |
igbt6 | 3:d32bdfd04d82 | 701 | * 1 success, |
igbt6 | 3:d32bdfd04d82 | 702 | * 0 Error, |
igbt6 | 3:d32bdfd04d82 | 703 | ^ Default: 0xFFE0 |
igbt6 | 3:d32bdfd04d82 | 704 | * This command is added since V517 version. |
igbt6 | 3:d32bdfd04d82 | 705 | */ |
igbt6 | 3:d32bdfd04d82 | 706 | bool setIBeaconMajor(uint16_t mjrVersion); |
igbt6 | 3:d32bdfd04d82 | 707 | |
igbt6 | 3:d32bdfd04d82 | 708 | |
igbt6 | 3:d32bdfd04d82 | 709 | /**Query Module iBeacon major |
igbt6 | 3:d32bdfd04d82 | 710 | * @return |
igbt6 | 3:d32bdfd04d82 | 711 | * iBeacon major version- 0x0001~0xFFFE |
igbt6 | 3:d32bdfd04d82 | 712 | * Error - 0x0000 |
igbt6 | 3:d32bdfd04d82 | 713 | * This command is added since V517 version. |
igbt6 | 3:d32bdfd04d82 | 714 | */ |
igbt6 | 3:d32bdfd04d82 | 715 | uint16_t queryIBeaconMajor(void); |
igbt6 | 3:d32bdfd04d82 | 716 | |
igbt6 | 3:d32bdfd04d82 | 717 | |
igbt6 | 3:d32bdfd04d82 | 718 | |
igbt6 | 3:d32bdfd04d82 | 719 | /**Set Module iBeacon minor version |
igbt6 | 3:d32bdfd04d82 | 720 | * @param: minorversion- 0x0001~0xFFFE |
igbt6 | 3:d32bdfd04d82 | 721 | * @return |
igbt6 | 3:d32bdfd04d82 | 722 | * 1 success, |
igbt6 | 3:d32bdfd04d82 | 723 | * 0 Error, |
igbt6 | 3:d32bdfd04d82 | 724 | ^ Default: 0xFFE1 |
igbt6 | 3:d32bdfd04d82 | 725 | * This command is added since V517 version. |
igbt6 | 3:d32bdfd04d82 | 726 | */ |
igbt6 | 3:d32bdfd04d82 | 727 | bool setIBeaconMinor(uint16_t mnrVersion); |
igbt6 | 3:d32bdfd04d82 | 728 | |
igbt6 | 3:d32bdfd04d82 | 729 | |
igbt6 | 3:d32bdfd04d82 | 730 | /**Query Module iBeacon minor |
igbt6 | 3:d32bdfd04d82 | 731 | * @return |
igbt6 | 3:d32bdfd04d82 | 732 | * iBeacon minor version- 0x0001~0xFFFE |
igbt6 | 3:d32bdfd04d82 | 733 | * Error - 0x0000 |
igbt6 | 3:d32bdfd04d82 | 734 | * This command is added since V517 version. |
igbt6 | 3:d32bdfd04d82 | 735 | */ |
igbt6 | 3:d32bdfd04d82 | 736 | uint16_t queryIBeaconMinor(void); |
igbt6 | 3:d32bdfd04d82 | 737 | |
igbt6 | 3:d32bdfd04d82 | 738 | |
igbt6 | 3:d32bdfd04d82 | 739 | |
igbt6 | 3:d32bdfd04d82 | 740 | |
igbt6 | 3:d32bdfd04d82 | 741 | /**Set Module iBeacon Measured power |
igbt6 | 3:d32bdfd04d82 | 742 | * @param: measured Power 0x0001~0xFFFE |
igbt6 | 3:d32bdfd04d82 | 743 | * @return |
igbt6 | 3:d32bdfd04d82 | 744 | * 1 success, |
igbt6 | 3:d32bdfd04d82 | 745 | * 0 Error, |
igbt6 | 3:d32bdfd04d82 | 746 | ^ Default: 0xFFE1 |
igbt6 | 3:d32bdfd04d82 | 747 | * This command is added since V519 version. |
igbt6 | 3:d32bdfd04d82 | 748 | */ |
igbt6 | 3:d32bdfd04d82 | 749 | bool setIBeaconMeasuredPower(uint16_t measuredPwr); |
igbt6 | 3:d32bdfd04d82 | 750 | |
igbt6 | 3:d32bdfd04d82 | 751 | |
igbt6 | 3:d32bdfd04d82 | 752 | /**Query Module iBeacon Measured power |
igbt6 | 3:d32bdfd04d82 | 753 | * @return |
igbt6 | 3:d32bdfd04d82 | 754 | * iBeacon minor version- 0x0001~0xFFFE |
igbt6 | 3:d32bdfd04d82 | 755 | * Error - 0x0000 |
igbt6 | 3:d32bdfd04d82 | 756 | * This command is added since V519 version. |
igbt6 | 3:d32bdfd04d82 | 757 | */ |
igbt6 | 3:d32bdfd04d82 | 758 | uint16_t queryIBeaconMeasuredPower(void); |
igbt6 | 3:d32bdfd04d82 | 759 | |
igbt6 | 3:d32bdfd04d82 | 760 | |
igbt6 | 3:d32bdfd04d82 | 761 | |
igbt6 | 3:d32bdfd04d82 | 762 | |
igbt6 | 3:d32bdfd04d82 | 763 | /**Set Module Work Mode |
igbt6 | 3:d32bdfd04d82 | 764 | * @param: WorkMode_t |
igbt6 | 3:d32bdfd04d82 | 765 | * @return |
igbt6 | 3:d32bdfd04d82 | 766 | * 1 success, |
igbt6 | 3:d32bdfd04d82 | 767 | * 0 Error, |
igbt6 | 3:d32bdfd04d82 | 768 | ^ Default: 0xFFE1 |
igbt6 | 3:d32bdfd04d82 | 769 | * This command is added since V519 version. |
igbt6 | 3:d32bdfd04d82 | 770 | */ |
igbt6 | 3:d32bdfd04d82 | 771 | bool setModuleWorkMode(ModuleWorkMode_t workMode); |
igbt6 | 3:d32bdfd04d82 | 772 | |
igbt6 | 3:d32bdfd04d82 | 773 | |
igbt6 | 3:d32bdfd04d82 | 774 | /**Query Module Work Mode |
igbt6 | 3:d32bdfd04d82 | 775 | * @return |
igbt6 | 3:d32bdfd04d82 | 776 | * iBeacon minor version- 0x0001~0xFFFE |
igbt6 | 3:d32bdfd04d82 | 777 | * Error - 0x0000 |
igbt6 | 3:d32bdfd04d82 | 778 | * This command is added since V519 version. |
igbt6 | 3:d32bdfd04d82 | 779 | */ |
igbt6 | 3:d32bdfd04d82 | 780 | ModuleWorkMode_t queryModuleWorkMode(void); |
igbt6 | 3:d32bdfd04d82 | 781 | |
igbt6 | 3:d32bdfd04d82 | 782 | |
igbt6 | 3:d32bdfd04d82 | 783 | |
igbt6 | 3:d32bdfd04d82 | 784 | |
igbt6 | 3:d32bdfd04d82 | 785 | /**Set Module name |
igbt6 | 3:d32bdfd04d82 | 786 | * @param: name, length<12 |
igbt6 | 3:d32bdfd04d82 | 787 | * @return |
igbt6 | 3:d32bdfd04d82 | 788 | * 1 success, |
igbt6 | 3:d32bdfd04d82 | 789 | * 0 Error, |
igbt6 | 3:d32bdfd04d82 | 790 | */ |
igbt6 | 3:d32bdfd04d82 | 791 | bool setModuleName(char* name, uint8_t nameLength); |
igbt6 | 3:d32bdfd04d82 | 792 | |
igbt6 | 3:d32bdfd04d82 | 793 | |
igbt6 | 3:d32bdfd04d82 | 794 | /**Query Module name |
igbt6 | 3:d32bdfd04d82 | 795 | * @param: name -> ptr to response buffer |
igbt6 | 3:d32bdfd04d82 | 796 | * @return |
igbt6 | 3:d32bdfd04d82 | 797 | * 1 success, |
igbt6 | 3:d32bdfd04d82 | 798 | * 0 Error, |
igbt6 | 3:d32bdfd04d82 | 799 | */ |
igbt6 | 3:d32bdfd04d82 | 800 | bool queryModuleName(char *name); |
igbt6 | 3:d32bdfd04d82 | 801 | |
igbt6 | 3:d32bdfd04d82 | 802 | |
igbt6 | 3:d32bdfd04d82 | 803 | |
igbt6 | 3:d32bdfd04d82 | 804 | |
igbt6 | 3:d32bdfd04d82 | 805 | /**Set Module parity bit |
igbt6 | 3:d32bdfd04d82 | 806 | * @param: ParityBit_t pBit |
igbt6 | 3:d32bdfd04d82 | 807 | * @return |
igbt6 | 3:d32bdfd04d82 | 808 | * 1 success, |
igbt6 | 3:d32bdfd04d82 | 809 | * 0 Error, |
igbt6 | 3:d32bdfd04d82 | 810 | */ |
igbt6 | 3:d32bdfd04d82 | 811 | bool setParityBit(ParityBit_t pBit); |
igbt6 | 3:d32bdfd04d82 | 812 | |
igbt6 | 3:d32bdfd04d82 | 813 | |
igbt6 | 3:d32bdfd04d82 | 814 | /**Query Module parity bit |
igbt6 | 3:d32bdfd04d82 | 815 | * @return |
igbt6 | 4:65cc8bd09b18 | 816 | * _ODD, _EVEN- val |
igbt6 | 4:65cc8bd09b18 | 817 | _NONE - error |
igbt6 | 3:d32bdfd04d82 | 818 | */ |
igbt6 | 3:d32bdfd04d82 | 819 | ParityBit_t queryParityBit(void); |
igbt6 | 4:65cc8bd09b18 | 820 | |
igbt6 | 4:65cc8bd09b18 | 821 | |
igbt6 | 4:65cc8bd09b18 | 822 | /**Set PIO1 output status (System LED) |
igbt6 | 4:65cc8bd09b18 | 823 | * @param: |
igbt6 | 4:65cc8bd09b18 | 824 | * uint8_t status[0~1] |
igbt6 | 4:65cc8bd09b18 | 825 | * 0 -Unconnected Output, 500ms High 500ms Low,Connected output High. |
igbt6 | 4:65cc8bd09b18 | 826 | * 1 -1: Unconnected output, Low, Connected output High. |
igbt6 | 4:65cc8bd09b18 | 827 | * @return |
igbt6 | 4:65cc8bd09b18 | 828 | * 1 success, |
igbt6 | 4:65cc8bd09b18 | 829 | * 0 Error, |
igbt6 | 4:65cc8bd09b18 | 830 | */ |
igbt6 | 4:65cc8bd09b18 | 831 | bool setPio1OutputStatus(uint8_t status); |
igbt6 | 4:65cc8bd09b18 | 832 | |
igbt6 | 4:65cc8bd09b18 | 833 | |
igbt6 | 4:65cc8bd09b18 | 834 | /**Query PIO1 output status (System LED) |
igbt6 | 4:65cc8bd09b18 | 835 | * @return |
igbt6 | 4:65cc8bd09b18 | 836 | * uint8_t status[0~1] |
igbt6 | 4:65cc8bd09b18 | 837 | * 0 -Unconnected Output, 500ms High 500ms Low,Connected output High. |
igbt6 | 4:65cc8bd09b18 | 838 | * 1 -1: Unconnected output, Low, Connected output High. |
igbt6 | 4:65cc8bd09b18 | 839 | * 0xFF - error |
igbt6 | 4:65cc8bd09b18 | 840 | */ |
igbt6 | 4:65cc8bd09b18 | 841 | uint8_t queryPio1OutputStatus(void); |
igbt6 | 4:65cc8bd09b18 | 842 | |
igbt6 | 4:65cc8bd09b18 | 843 | |
igbt6 | 4:65cc8bd09b18 | 844 | |
igbt6 | 4:65cc8bd09b18 | 845 | |
igbt6 | 4:65cc8bd09b18 | 846 | |
igbt6 | 4:65cc8bd09b18 | 847 | /**Set PIO pins output /high or low |
igbt6 | 4:65cc8bd09b18 | 848 | * @param: |
igbt6 | 4:65cc8bd09b18 | 849 | * nrOfPio - is which PIO pin you want to Query/Set: Value: 2,3,4,5,6,7,8,9,A,B |
igbt6 | 4:65cc8bd09b18 | 850 | * val - Query or setup value. Value: 0 is low and 1 is high |
igbt6 | 4:65cc8bd09b18 | 851 | * @return |
igbt6 | 4:65cc8bd09b18 | 852 | * 1 success, |
igbt6 | 4:65cc8bd09b18 | 853 | * 0 Error, |
igbt6 | 4:65cc8bd09b18 | 854 | */ |
igbt6 | 4:65cc8bd09b18 | 855 | bool setPioPinsOutput(uint8_t nrOfPio, uint8_t val ); |
igbt6 | 4:65cc8bd09b18 | 856 | |
igbt6 | 4:65cc8bd09b18 | 857 | |
igbt6 | 4:65cc8bd09b18 | 858 | /**Query PIO pins output /high or low |
igbt6 | 4:65cc8bd09b18 | 859 | * @param: |
igbt6 | 4:65cc8bd09b18 | 860 | * nrOfPio - is which PIO pin you want to Query/Set: Value: 2,3,4,5,6,7,8,9,A,B |
igbt6 | 4:65cc8bd09b18 | 861 | * @return |
igbt6 | 4:65cc8bd09b18 | 862 | * uint8_t val - state of given PIO: 0- low and 1 -high |
igbt6 | 4:65cc8bd09b18 | 863 | * 0xFF - error |
igbt6 | 4:65cc8bd09b18 | 864 | */ |
igbt6 | 4:65cc8bd09b18 | 865 | uint8_t queryPioPinsOutput(uint8_t nrOfPio); |
igbt6 | 4:65cc8bd09b18 | 866 | |
igbt6 | 4:65cc8bd09b18 | 867 | |
igbt6 | 4:65cc8bd09b18 | 868 | |
igbt6 | 4:65cc8bd09b18 | 869 | |
igbt6 | 4:65cc8bd09b18 | 870 | /**Set Pin Code |
igbt6 | 4:65cc8bd09b18 | 871 | * @param: |
igbt6 | 4:65cc8bd09b18 | 872 | * pinCode - value: 0~999999 |
igbt6 | 4:65cc8bd09b18 | 873 | * Default: 000000 |
igbt6 | 4:65cc8bd09b18 | 874 | * @return |
igbt6 | 4:65cc8bd09b18 | 875 | * 1 success, |
igbt6 | 4:65cc8bd09b18 | 876 | * 0 Error, |
igbt6 | 4:65cc8bd09b18 | 877 | */ |
igbt6 | 4:65cc8bd09b18 | 878 | bool setPinCode (uint32_t pinCode ); |
igbt6 | 4:65cc8bd09b18 | 879 | |
igbt6 | 4:65cc8bd09b18 | 880 | |
igbt6 | 4:65cc8bd09b18 | 881 | /**Query Pin Code |
igbt6 | 4:65cc8bd09b18 | 882 | * @return |
igbt6 | 4:65cc8bd09b18 | 883 | * pinCode - value: 0~999999 |
igbt6 | 4:65cc8bd09b18 | 884 | * 0xFFFFFFFF - error |
igbt6 | 4:65cc8bd09b18 | 885 | */ |
igbt6 | 4:65cc8bd09b18 | 886 | uint8_t queryPinCode (void); |
igbt6 | 3:d32bdfd04d82 | 887 | |
igbt6 | 3:d32bdfd04d82 | 888 | |
igbt6 | 3:d32bdfd04d82 | 889 | |
igbt6 | 3:d32bdfd04d82 | 890 | |
igbt6 | 4:65cc8bd09b18 | 891 | /**Set Module Power |
igbt6 | 4:65cc8bd09b18 | 892 | * @param: |
igbt6 | 4:65cc8bd09b18 | 893 | * modPower - value: 0~999999 |
igbt6 | 4:65cc8bd09b18 | 894 | * Default: 2 |
igbt6 | 4:65cc8bd09b18 | 895 | * @return |
igbt6 | 4:65cc8bd09b18 | 896 | * 1 success, |
igbt6 | 4:65cc8bd09b18 | 897 | * 0 Error, |
igbt6 | 4:65cc8bd09b18 | 898 | */ |
igbt6 | 4:65cc8bd09b18 | 899 | bool setModulePower(ModulePower_t modPower); |
igbt6 | 4:65cc8bd09b18 | 900 | |
igbt6 | 4:65cc8bd09b18 | 901 | |
igbt6 | 4:65cc8bd09b18 | 902 | /**Query Module Power |
igbt6 | 4:65cc8bd09b18 | 903 | * @return |
igbt6 | 4:65cc8bd09b18 | 904 | * modPower |
igbt6 | 4:65cc8bd09b18 | 905 | * _NONE - error |
igbt6 | 4:65cc8bd09b18 | 906 | */ |
igbt6 | 4:65cc8bd09b18 | 907 | ModulePower_t queryModulePower (void); |
igbt6 | 3:d32bdfd04d82 | 908 | |
igbt6 | 3:d32bdfd04d82 | 909 | |
igbt6 | 3:d32bdfd04d82 | 910 | |
igbt6 | 4:65cc8bd09b18 | 911 | /**Set Module sleep type |
igbt6 | 4:65cc8bd09b18 | 912 | * @param: |
igbt6 | 4:65cc8bd09b18 | 913 | * modSleepType[0~1] - value: 0-Auto sleep, 1-don’t auto sleep |
igbt6 | 4:65cc8bd09b18 | 914 | * Default: 1 |
igbt6 | 4:65cc8bd09b18 | 915 | * @return |
igbt6 | 4:65cc8bd09b18 | 916 | * 1 success, |
igbt6 | 4:65cc8bd09b18 | 917 | * 0 Error, |
igbt6 | 4:65cc8bd09b18 | 918 | */ |
igbt6 | 4:65cc8bd09b18 | 919 | bool setModuleSleepType(uint8_t modSleepType ); |
igbt6 | 4:65cc8bd09b18 | 920 | |
igbt6 | 4:65cc8bd09b18 | 921 | |
igbt6 | 4:65cc8bd09b18 | 922 | /**Query Module sleep type |
igbt6 | 4:65cc8bd09b18 | 923 | * @return |
igbt6 | 4:65cc8bd09b18 | 924 | * modSleepType |
igbt6 | 4:65cc8bd09b18 | 925 | * 0xFF - error |
igbt6 | 4:65cc8bd09b18 | 926 | */ |
igbt6 | 4:65cc8bd09b18 | 927 | uint8_t queryModuleSleepType (void); |
igbt6 | 4:65cc8bd09b18 | 928 | |
igbt6 | 4:65cc8bd09b18 | 929 | |
igbt6 | 3:d32bdfd04d82 | 930 | |
igbt6 | 4:65cc8bd09b18 | 931 | /**Restore all setup value to factory setup |
igbt6 | 4:65cc8bd09b18 | 932 | * @return |
igbt6 | 4:65cc8bd09b18 | 933 | * 1 success, |
igbt6 | 4:65cc8bd09b18 | 934 | * 0 Error, |
igbt6 | 4:65cc8bd09b18 | 935 | */ |
igbt6 | 4:65cc8bd09b18 | 936 | bool restoreAll(void); |
igbt6 | 4:65cc8bd09b18 | 937 | |
igbt6 | 4:65cc8bd09b18 | 938 | |
igbt6 | 4:65cc8bd09b18 | 939 | /**Restart module |
igbt6 | 4:65cc8bd09b18 | 940 | * @return |
igbt6 | 4:65cc8bd09b18 | 941 | * 1 success, |
igbt6 | 4:65cc8bd09b18 | 942 | * 0 Error, |
igbt6 | 4:65cc8bd09b18 | 943 | */ |
igbt6 | 4:65cc8bd09b18 | 944 | bool restartModule(void); |
igbt6 | 4:65cc8bd09b18 | 945 | |
igbt6 | 4:65cc8bd09b18 | 946 | |
igbt6 | 4:65cc8bd09b18 | 947 | |
igbt6 | 4:65cc8bd09b18 | 948 | /**Set Master and Slaver Role |
igbt6 | 4:65cc8bd09b18 | 949 | * @param: |
igbt6 | 4:65cc8bd09b18 | 950 | * role[0~1] - value: 0-Peripheral , 1-Central |
igbt6 | 4:65cc8bd09b18 | 951 | * Default: 0 |
igbt6 | 4:65cc8bd09b18 | 952 | * @return |
igbt6 | 4:65cc8bd09b18 | 953 | * 1 success, |
igbt6 | 4:65cc8bd09b18 | 954 | * 0 Error, |
igbt6 | 4:65cc8bd09b18 | 955 | */ |
igbt6 | 4:65cc8bd09b18 | 956 | bool setMasterAndSlaveRole(uint8_t role); |
igbt6 | 4:65cc8bd09b18 | 957 | |
igbt6 | 4:65cc8bd09b18 | 958 | |
igbt6 | 4:65cc8bd09b18 | 959 | /**Query Master and Slaver Role |
igbt6 | 4:65cc8bd09b18 | 960 | * @return |
igbt6 | 4:65cc8bd09b18 | 961 | * role [0~1] - value: 0-Peripheral , 1-Central |
igbt6 | 4:65cc8bd09b18 | 962 | * 0xFF - error |
igbt6 | 4:65cc8bd09b18 | 963 | */ |
igbt6 | 4:65cc8bd09b18 | 964 | uint8_t queryMasterAndSlaveRole(void); |
igbt6 | 4:65cc8bd09b18 | 965 | |
igbt6 | 4:65cc8bd09b18 | 966 | |
igbt6 | 4:65cc8bd09b18 | 967 | |
igbt6 | 4:65cc8bd09b18 | 968 | /**Query Query RSSI Value |
igbt6 | 4:65cc8bd09b18 | 969 | * @return |
igbt6 | 4:65cc8bd09b18 | 970 | * rssi - value: |
igbt6 | 4:65cc8bd09b18 | 971 | * 0xFF - error |
igbt6 | 4:65cc8bd09b18 | 972 | * Require: AT+MODE value > 0 |
igbt6 | 4:65cc8bd09b18 | 973 | * Note: This command only used by Remote device query when connected. |
igbt6 | 4:65cc8bd09b18 | 974 | */ |
igbt6 | 4:65cc8bd09b18 | 975 | uint8_t queryRssiValue(void); |
igbt6 | 4:65cc8bd09b18 | 976 | |
igbt6 | 4:65cc8bd09b18 | 977 | |
igbt6 | 4:65cc8bd09b18 | 978 | |
igbt6 | 4:65cc8bd09b18 | 979 | /**Query Last Connected Device Address |
igbt6 | 4:65cc8bd09b18 | 980 | * @return |
igbt6 | 4:65cc8bd09b18 | 981 | * addr - value: |
igbt6 | 4:65cc8bd09b18 | 982 | * null - error |
igbt6 | 4:65cc8bd09b18 | 983 | */ |
igbt6 | 4:65cc8bd09b18 | 984 | char* queryLastConnectedDeviceAddress(void); |
igbt6 | 4:65cc8bd09b18 | 985 | |
igbt6 | 4:65cc8bd09b18 | 986 | |
igbt6 | 4:65cc8bd09b18 | 987 | |
igbt6 | 4:65cc8bd09b18 | 988 | /**Set Module Sensor work interval |
igbt6 | 4:65cc8bd09b18 | 989 | * @param: |
igbt6 | 4:65cc8bd09b18 | 990 | * interval [0~99] - values: 0-Save when connected, 1-Don’t Save ; Unit: minute |
igbt6 | 4:65cc8bd09b18 | 991 | * Default: 0 |
igbt6 | 4:65cc8bd09b18 | 992 | * @return |
igbt6 | 4:65cc8bd09b18 | 993 | * 1 success, |
igbt6 | 4:65cc8bd09b18 | 994 | * 0 Error, |
igbt6 | 4:65cc8bd09b18 | 995 | * Note: This command is only use for HMSensor |
igbt6 | 4:65cc8bd09b18 | 996 | */ |
igbt6 | 4:65cc8bd09b18 | 997 | bool setModuleSensorWorkInterval(uint8_t interval); |
igbt6 | 4:65cc8bd09b18 | 998 | |
igbt6 | 4:65cc8bd09b18 | 999 | |
igbt6 | 4:65cc8bd09b18 | 1000 | /**Query module Sensor work interval |
igbt6 | 4:65cc8bd09b18 | 1001 | * @return |
igbt6 | 4:65cc8bd09b18 | 1002 | * interval [0~99] - values: 0-Save when connected, 1-Don’t Save ; Unit: minute |
igbt6 | 4:65cc8bd09b18 | 1003 | * 0xFF - error |
igbt6 | 4:65cc8bd09b18 | 1004 | * Note: This command is only use for HMSensor |
igbt6 | 4:65cc8bd09b18 | 1005 | */ |
igbt6 | 4:65cc8bd09b18 | 1006 | uint8_t queryModuleSensorWorkInterval(void); |
igbt6 | 4:65cc8bd09b18 | 1007 | |
igbt6 | 4:65cc8bd09b18 | 1008 | |
igbt6 | 4:65cc8bd09b18 | 1009 | |
igbt6 | 4:65cc8bd09b18 | 1010 | /**Work immediately |
igbt6 | 4:65cc8bd09b18 | 1011 | * @return |
igbt6 | 4:65cc8bd09b18 | 1012 | * 1 success, |
igbt6 | 4:65cc8bd09b18 | 1013 | * 0 Error, |
igbt6 | 4:65cc8bd09b18 | 1014 | * Note: This command is only used when AT+IMME1 is setup. |
igbt6 | 4:65cc8bd09b18 | 1015 | */ |
igbt6 | 4:65cc8bd09b18 | 1016 | bool workImmediately(void); |
igbt6 | 4:65cc8bd09b18 | 1017 | |
igbt6 | 4:65cc8bd09b18 | 1018 | |
igbt6 | 4:65cc8bd09b18 | 1019 | |
igbt6 | 4:65cc8bd09b18 | 1020 | /**Query Module into sleep mode |
igbt6 | 4:65cc8bd09b18 | 1021 | * @return |
igbt6 | 4:65cc8bd09b18 | 1022 | * 1 success, |
igbt6 | 4:65cc8bd09b18 | 1023 | * 0 Error, |
igbt6 | 4:65cc8bd09b18 | 1024 | * Note: Only support Peripheral role. |
igbt6 | 4:65cc8bd09b18 | 1025 | */ |
igbt6 | 4:65cc8bd09b18 | 1026 | bool queryModuleIntoSleepMode(void); |
igbt6 | 4:65cc8bd09b18 | 1027 | |
igbt6 | 4:65cc8bd09b18 | 1028 | |
igbt6 | 4:65cc8bd09b18 | 1029 | |
igbt6 | 4:65cc8bd09b18 | 1030 | /**Set Module save connected address parameter |
igbt6 | 4:65cc8bd09b18 | 1031 | * @param: |
igbt6 | 4:65cc8bd09b18 | 1032 | * saveParam [0~1] - values: 0-Save when connected, 1-Don’t Save |
igbt6 | 4:65cc8bd09b18 | 1033 | * Default: 0 |
igbt6 | 4:65cc8bd09b18 | 1034 | * @return |
igbt6 | 4:65cc8bd09b18 | 1035 | * 1 success, |
igbt6 | 4:65cc8bd09b18 | 1036 | * 0 Error, |
igbt6 | 4:65cc8bd09b18 | 1037 | */ |
igbt6 | 4:65cc8bd09b18 | 1038 | bool setModuleSaveConnectedAddressParam(uint8_t saveParam); |
igbt6 | 4:65cc8bd09b18 | 1039 | |
igbt6 | 4:65cc8bd09b18 | 1040 | |
igbt6 | 4:65cc8bd09b18 | 1041 | /**Query Module save connected address parameter |
igbt6 | 4:65cc8bd09b18 | 1042 | * @return |
igbt6 | 4:65cc8bd09b18 | 1043 | * saveParam [0~1] - values: 0-Save when connected, 1-Don’t Save |
igbt6 | 4:65cc8bd09b18 | 1044 | * 0xFF - error |
igbt6 | 4:65cc8bd09b18 | 1045 | */ |
igbt6 | 4:65cc8bd09b18 | 1046 | uint8_t queryModuleSaveConnectedAddressParam(void); |
igbt6 | 4:65cc8bd09b18 | 1047 | |
igbt6 | 4:65cc8bd09b18 | 1048 | |
igbt6 | 4:65cc8bd09b18 | 1049 | |
igbt6 | 4:65cc8bd09b18 | 1050 | /**Set sensor type on module PIO11(HM-11 is PIO3) |
igbt6 | 4:65cc8bd09b18 | 1051 | * @param: |
igbt6 | 4:65cc8bd09b18 | 1052 | * SensorType_t sensorType |
igbt6 | 4:65cc8bd09b18 | 1053 | * Default: _NONE_SENSOR |
igbt6 | 4:65cc8bd09b18 | 1054 | * @return |
igbt6 | 4:65cc8bd09b18 | 1055 | * 1 success, |
igbt6 | 4:65cc8bd09b18 | 1056 | * 0 Error, |
igbt6 | 4:65cc8bd09b18 | 1057 | * Note: This command is use for HMSensor |
igbt6 | 4:65cc8bd09b18 | 1058 | */ |
igbt6 | 4:65cc8bd09b18 | 1059 | bool setSensorTypeOnModulePio(SensorType_t sensorType); |
igbt6 | 4:65cc8bd09b18 | 1060 | |
igbt6 | 4:65cc8bd09b18 | 1061 | |
igbt6 | 4:65cc8bd09b18 | 1062 | /**Query sensor type on module PIO11(HM-11 is PIO3) |
igbt6 | 4:65cc8bd09b18 | 1063 | * @return |
igbt6 | 4:65cc8bd09b18 | 1064 | * SensorType_t sensorType |
igbt6 | 4:65cc8bd09b18 | 1065 | * 0xFF - _INVALID_SENSOR_TYPE |
igbt6 | 4:65cc8bd09b18 | 1066 | * Note: This command is use for HMSensor |
igbt6 | 4:65cc8bd09b18 | 1067 | */ |
igbt6 | 4:65cc8bd09b18 | 1068 | SensorType_t querySensorTypeOnModulePio(void); |
igbt6 | 4:65cc8bd09b18 | 1069 | |
igbt6 | 4:65cc8bd09b18 | 1070 | |
igbt6 | 4:65cc8bd09b18 | 1071 | |
igbt6 | 4:65cc8bd09b18 | 1072 | /**Set discovery parameter |
igbt6 | 4:65cc8bd09b18 | 1073 | * @param: |
igbt6 | 4:65cc8bd09b18 | 1074 | * discoverParam [0~1] - values: 0-Don’t show name, 1-Show name |
igbt6 | 4:65cc8bd09b18 | 1075 | * Default: 0 |
igbt6 | 4:65cc8bd09b18 | 1076 | * @return |
igbt6 | 4:65cc8bd09b18 | 1077 | * 1 success, |
igbt6 | 4:65cc8bd09b18 | 1078 | * 0 Error, |
igbt6 | 4:65cc8bd09b18 | 1079 | * |
igbt6 | 4:65cc8bd09b18 | 1080 | * Note:Please execute AT+FILT0 first. |
igbt6 | 4:65cc8bd09b18 | 1081 | * If AT+SHOW1 is setup, AT+DISC? Command will show you name information |
igbt6 | 4:65cc8bd09b18 | 1082 | * included into scan result package. |
igbt6 | 4:65cc8bd09b18 | 1083 | */ |
igbt6 | 4:65cc8bd09b18 | 1084 | bool setDiscoveryParameter (SensorType_t discoverParam); |
igbt6 | 4:65cc8bd09b18 | 1085 | |
igbt6 | 4:65cc8bd09b18 | 1086 | |
igbt6 | 4:65cc8bd09b18 | 1087 | /**Query discovery parameter |
igbt6 | 4:65cc8bd09b18 | 1088 | * @return |
igbt6 | 4:65cc8bd09b18 | 1089 | * discoverParam [0~1] - values: 0-Don’t show name, 1-Show name |
igbt6 | 4:65cc8bd09b18 | 1090 | * 0xFF - error |
igbt6 | 4:65cc8bd09b18 | 1091 | */ |
igbt6 | 4:65cc8bd09b18 | 1092 | uint8_t queryDiscoveryParameter (void); |
igbt6 | 4:65cc8bd09b18 | 1093 | |
igbt6 | 4:65cc8bd09b18 | 1094 | |
igbt6 | 4:65cc8bd09b18 | 1095 | |
igbt6 | 4:65cc8bd09b18 | 1096 | |
igbt6 | 4:65cc8bd09b18 | 1097 | /**Query Module Sensor Temperature and humidity(if has a sensor) |
igbt6 | 4:65cc8bd09b18 | 1098 | * @param: |
igbt6 | 4:65cc8bd09b18 | 1099 | * temperature[out]: 0~120 |
igbt6 | 4:65cc8bd09b18 | 1100 | * humidity[out]: 0~120 |
igbt6 | 4:65cc8bd09b18 | 1101 | * @return |
igbt6 | 4:65cc8bd09b18 | 1102 | * 1 success, |
igbt6 | 4:65cc8bd09b18 | 1103 | * 0 Error, |
igbt6 | 4:65cc8bd09b18 | 1104 | * Note: This command is use for HMSensor. |
igbt6 | 4:65cc8bd09b18 | 1105 | * This value is added into scan response data package. |
igbt6 | 4:65cc8bd09b18 | 1106 | * Data format is 0x02, 0x16, 0x00, 0xB0, [reserved], [temperature], [ humidity], [battery]. |
igbt6 | 4:65cc8bd09b18 | 1107 | * Android: Included in OnLeScan function result array, you can see it direct. |
igbt6 | 4:65cc8bd09b18 | 1108 | * iOS: Included in LeScan function result NSDictionary struct, service id is 0xB000. |
igbt6 | 4:65cc8bd09b18 | 1109 | */ |
igbt6 | 4:65cc8bd09b18 | 1110 | bool queryModuleSensorTempAndHumidity(uint8_t* temp, uint8_t* hum); |
igbt6 | 4:65cc8bd09b18 | 1111 | |
igbt6 | 4:65cc8bd09b18 | 1112 | |
igbt6 | 4:65cc8bd09b18 | 1113 | |
igbt6 | 4:65cc8bd09b18 | 1114 | /**Query DS18B20 Sensor temperature |
igbt6 | 4:65cc8bd09b18 | 1115 | * @param: |
igbt6 | 4:65cc8bd09b18 | 1116 | * temperature[out]: 0~255 |
igbt6 | 4:65cc8bd09b18 | 1117 | * @return |
igbt6 | 4:65cc8bd09b18 | 1118 | * 1 success, |
igbt6 | 4:65cc8bd09b18 | 1119 | * 0 Error, |
igbt6 | 4:65cc8bd09b18 | 1120 | * Note1: This command is use for HMSensor. |
igbt6 | 4:65cc8bd09b18 | 1121 | * Note2: Added in V523 version. |
igbt6 | 4:65cc8bd09b18 | 1122 | */ |
igbt6 | 4:65cc8bd09b18 | 1123 | bool queryDS18B20SensorTemperature (uint8_t* temp); |
igbt6 | 4:65cc8bd09b18 | 1124 | |
igbt6 | 4:65cc8bd09b18 | 1125 | |
igbt6 | 4:65cc8bd09b18 | 1126 | |
igbt6 | 4:65cc8bd09b18 | 1127 | /**Set Module connect remote device timeout value |
igbt6 | 4:65cc8bd09b18 | 1128 | * @param: |
igbt6 | 4:65cc8bd09b18 | 1129 | * timeout- range: 0~999999; values: 0-Save when connected, 1-Don’t Save; Unit: ms |
igbt6 | 4:65cc8bd09b18 | 1130 | * Default: 0 |
igbt6 | 4:65cc8bd09b18 | 1131 | * @return |
igbt6 | 4:65cc8bd09b18 | 1132 | * 1 success, |
igbt6 | 4:65cc8bd09b18 | 1133 | * 0 Error, |
igbt6 | 4:65cc8bd09b18 | 1134 | * Note: This value is only used for Central Role, when module has Last Connected address. |
igbt6 | 4:65cc8bd09b18 | 1135 | */ |
igbt6 | 4:65cc8bd09b18 | 1136 | bool setModuleConnectRemoteDeviceTimeoutValue(uint32_t timeout); |
igbt6 | 4:65cc8bd09b18 | 1137 | |
igbt6 | 4:65cc8bd09b18 | 1138 | |
igbt6 | 4:65cc8bd09b18 | 1139 | |
igbt6 | 4:65cc8bd09b18 | 1140 | /**Query connect remote device timeout value |
igbt6 | 4:65cc8bd09b18 | 1141 | * @return |
igbt6 | 4:65cc8bd09b18 | 1142 | * timeout- range: 0~999999; values: 0-Save when connected, 1-Don’t Save; Unit: ms |
igbt6 | 4:65cc8bd09b18 | 1143 | * 0xFFFFFFFF - error |
igbt6 | 4:65cc8bd09b18 | 1144 | * Note: This value is only used for Central Role, when module has Last Connected address. |
igbt6 | 4:65cc8bd09b18 | 1145 | */ |
igbt6 | 4:65cc8bd09b18 | 1146 | uint32_t queryModuleConnectRemoteDeviceTimeoutValue(void); |
igbt6 | 4:65cc8bd09b18 | 1147 | |
igbt6 | 4:65cc8bd09b18 | 1148 | |
igbt6 | 4:65cc8bd09b18 | 1149 | |
igbt6 | 4:65cc8bd09b18 | 1150 | /**Set Module Bond Mode |
igbt6 | 4:65cc8bd09b18 | 1151 | * @param: |
igbt6 | 4:65cc8bd09b18 | 1152 | * BondMode_t bondMode; |
igbt6 | 4:65cc8bd09b18 | 1153 | * Default: _NOT_NEED_PIN_CODE |
igbt6 | 4:65cc8bd09b18 | 1154 | * @return |
igbt6 | 4:65cc8bd09b18 | 1155 | * 1 success, |
igbt6 | 4:65cc8bd09b18 | 1156 | * 0 Error, |
igbt6 | 4:65cc8bd09b18 | 1157 | * |
igbt6 | 4:65cc8bd09b18 | 1158 | * Important: If your module version is less than V515, please don’t use this command. |
igbt6 | 4:65cc8bd09b18 | 1159 | * Under android 4.3 AT+TYPE1 is same to AT+TYPE2. |
igbt6 | 4:65cc8bd09b18 | 1160 | * Note1: Value 3 is added in V524. |
igbt6 | 4:65cc8bd09b18 | 1161 | */ |
igbt6 | 4:65cc8bd09b18 | 1162 | bool setModuleBondMode(BondMode_t bondMode); |
igbt6 | 4:65cc8bd09b18 | 1163 | |
igbt6 | 4:65cc8bd09b18 | 1164 | |
igbt6 | 4:65cc8bd09b18 | 1165 | |
igbt6 | 4:65cc8bd09b18 | 1166 | /**Query Module Bond Mode |
igbt6 | 4:65cc8bd09b18 | 1167 | * @return |
igbt6 | 4:65cc8bd09b18 | 1168 | * BondMode_t bondMode; |
igbt6 | 4:65cc8bd09b18 | 1169 | * 0xFFFFFFFF - _INVALID_BOND_MODE |
igbt6 | 4:65cc8bd09b18 | 1170 | * |
igbt6 | 4:65cc8bd09b18 | 1171 | * Important: If your module version is less than V515, please don’t use this command. |
igbt6 | 4:65cc8bd09b18 | 1172 | * Under android 4.3 AT+TYPE1 is same to AT+TYPE2. |
igbt6 | 4:65cc8bd09b18 | 1173 | * Note1: Value _AUTH_AND_BOND, is added in V524. |
igbt6 | 4:65cc8bd09b18 | 1174 | */ |
igbt6 | 4:65cc8bd09b18 | 1175 | BondMode_t queryModuleBondMode(void); |
igbt6 | 4:65cc8bd09b18 | 1176 | |
igbt6 | 4:65cc8bd09b18 | 1177 | |
igbt6 | 4:65cc8bd09b18 | 1178 | |
igbt6 | 4:65cc8bd09b18 | 1179 | |
igbt6 | 4:65cc8bd09b18 | 1180 | /**Set service UUID |
igbt6 | 4:65cc8bd09b18 | 1181 | * @param: service UUID - 0x0001~0xFFFE |
igbt6 | 4:65cc8bd09b18 | 1182 | * Default: 0xFFE0 |
igbt6 | 4:65cc8bd09b18 | 1183 | * @return: |
igbt6 | 4:65cc8bd09b18 | 1184 | * 1 success, |
igbt6 | 4:65cc8bd09b18 | 1185 | * 0 Error, |
igbt6 | 4:65cc8bd09b18 | 1186 | */ |
igbt6 | 4:65cc8bd09b18 | 1187 | bool setServiceUuid (uint16_t serviceUuid); |
igbt6 | 4:65cc8bd09b18 | 1188 | |
igbt6 | 4:65cc8bd09b18 | 1189 | |
igbt6 | 4:65cc8bd09b18 | 1190 | /**Query service UUID |
igbt6 | 4:65cc8bd09b18 | 1191 | * @return |
igbt6 | 4:65cc8bd09b18 | 1192 | * service UUID - 0x0001~0xFFFE |
igbt6 | 4:65cc8bd09b18 | 1193 | * Error - 0xFFFF |
igbt6 | 4:65cc8bd09b18 | 1194 | */ |
igbt6 | 4:65cc8bd09b18 | 1195 | uint16_t queryServiceUuid(void); |
igbt6 | 4:65cc8bd09b18 | 1196 | |
igbt6 | 4:65cc8bd09b18 | 1197 | |
igbt6 | 4:65cc8bd09b18 | 1198 | |
igbt6 | 4:65cc8bd09b18 | 1199 | /**Set UART sleep type |
igbt6 | 4:65cc8bd09b18 | 1200 | * @param: |
igbt6 | 4:65cc8bd09b18 | 1201 | * sleepType- range:[0~1] |
igbt6 | 4:65cc8bd09b18 | 1202 | * value: 0-When module into sleep mode, you can wake up module through UART. |
igbt6 | 4:65cc8bd09b18 | 1203 | * 1-When module into sleep mode, shutdown UART too |
igbt6 | 4:65cc8bd09b18 | 1204 | * Default: 0 |
igbt6 | 4:65cc8bd09b18 | 1205 | * @return: |
igbt6 | 4:65cc8bd09b18 | 1206 | * 1 success, |
igbt6 | 4:65cc8bd09b18 | 1207 | * 0 Error, |
igbt6 | 4:65cc8bd09b18 | 1208 | */ |
igbt6 | 4:65cc8bd09b18 | 1209 | bool setUartSleepType (uint8_t sleepType); |
igbt6 | 4:65cc8bd09b18 | 1210 | |
igbt6 | 4:65cc8bd09b18 | 1211 | |
igbt6 | 4:65cc8bd09b18 | 1212 | /**Query UART sleep type |
igbt6 | 4:65cc8bd09b18 | 1213 | * @return: |
igbt6 | 4:65cc8bd09b18 | 1214 | * sleepType- range:[0~1] |
igbt6 | 4:65cc8bd09b18 | 1215 | * value: 0-When module into sleep mode, you can wake up module through UART. |
igbt6 | 4:65cc8bd09b18 | 1216 | * 1-When module into sleep mode, shutdown UART too |
igbt6 | 4:65cc8bd09b18 | 1217 | * Error - 0xFF |
igbt6 | 4:65cc8bd09b18 | 1218 | */ |
igbt6 | 4:65cc8bd09b18 | 1219 | uint8_t queryUartSleepType(void); |
igbt6 | 4:65cc8bd09b18 | 1220 | |
igbt6 | 4:65cc8bd09b18 | 1221 | |
igbt6 | 4:65cc8bd09b18 | 1222 | |
igbt6 | 4:65cc8bd09b18 | 1223 | /**Query Software Version |
igbt6 | 4:65cc8bd09b18 | 1224 | * @return |
igbt6 | 4:65cc8bd09b18 | 1225 | * software version- Ok, |
igbt6 | 4:65cc8bd09b18 | 1226 | * null - Error, |
igbt6 | 4:65cc8bd09b18 | 1227 | * Note1: This command is use for HMSensor. |
igbt6 | 4:65cc8bd09b18 | 1228 | * Note2: Added in V523 version. |
igbt6 | 4:65cc8bd09b18 | 1229 | */ |
igbt6 | 4:65cc8bd09b18 | 1230 | char* querySoftwareVersion(void); |
igbt6 | 4:65cc8bd09b18 | 1231 | |
igbt6 | 4:65cc8bd09b18 | 1232 | |
igbt6 | 4:65cc8bd09b18 | 1233 | |
igbt6 | 3:d32bdfd04d82 | 1234 | |
igbt6 | 0:df4bd867616e | 1235 | private: |
igbt6 | 0:df4bd867616e | 1236 | |
igbt6 | 0:df4bd867616e | 1237 | bool waitForData(int timeoutMs); |
igbt6 | 0:df4bd867616e | 1238 | BufferedSerial mSerial; |
igbt6 | 0:df4bd867616e | 1239 | }; |
igbt6 | 0:df4bd867616e | 1240 | |
igbt6 | 0:df4bd867616e | 1241 | |
igbt6 | 0:df4bd867616e | 1242 | |
igbt6 | 0:df4bd867616e | 1243 | |
igbt6 | 0:df4bd867616e | 1244 | |
igbt6 | 0:df4bd867616e | 1245 | |
igbt6 | 0:df4bd867616e | 1246 | |
igbt6 | 0:df4bd867616e | 1247 | |
igbt6 | 0:df4bd867616e | 1248 | |
igbt6 | 0:df4bd867616e | 1249 | |
igbt6 | 0:df4bd867616e | 1250 | |
igbt6 | 0:df4bd867616e | 1251 | #endif |