Okundu Omeni
/
wifi-https-ble-sm-uart-atcmd-5-13-1
this is using the mbed os version 5-13-1
source/ATCmdManager.h@75:08eff6258e1b, 2019-03-14 (annotated)
- Committer:
- ocomeni
- Date:
- Thu Mar 14 21:34:06 2019 +0000
- Revision:
- 75:08eff6258e1b
- Parent:
- 74:f26e846adfe9
- Child:
- 78:07bb86e3ce14
Ble Security example now working!
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
ocomeni | 74:f26e846adfe9 | 1 | #ifndef __ATCMD_MANAGER_H__ |
ocomeni | 74:f26e846adfe9 | 2 | #define __ATCMD_MANAGER_H__ |
ocomeni | 74:f26e846adfe9 | 3 | #include <mbed.h> |
ocomeni | 74:f26e846adfe9 | 4 | #include "ATCmdParser.h" |
ocomeni | 74:f26e846adfe9 | 5 | |
ocomeni | 75:08eff6258e1b | 6 | #define MAIN_LOOP_WAIT_TIME_MS 1000 // milliseconds |
ocomeni | 75:08eff6258e1b | 7 | #define NUM_UART_OPTIONS 6 |
ocomeni | 74:f26e846adfe9 | 8 | #ifndef UBLOX_ODIN_W2_MISC_TIMEOUT |
ocomeni | 74:f26e846adfe9 | 9 | #define UBLOX_ODIN_W2_MISC_TIMEOUT 2000 |
ocomeni | 74:f26e846adfe9 | 10 | #endif |
ocomeni | 74:f26e846adfe9 | 11 | |
ocomeni | 74:f26e846adfe9 | 12 | |
ocomeni | 74:f26e846adfe9 | 13 | class ATCmdManager { |
ocomeni | 74:f26e846adfe9 | 14 | public: |
ocomeni | 74:f26e846adfe9 | 15 | ATCmdManager(PinName tx, PinName rx, bool debug = false); |
ocomeni | 74:f26e846adfe9 | 16 | public: |
ocomeni | 74:f26e846adfe9 | 17 | void runMain(); |
ocomeni | 74:f26e846adfe9 | 18 | |
ocomeni | 74:f26e846adfe9 | 19 | |
ocomeni | 74:f26e846adfe9 | 20 | |
ocomeni | 74:f26e846adfe9 | 21 | private: |
ocomeni | 74:f26e846adfe9 | 22 | // UART settings |
ocomeni | 74:f26e846adfe9 | 23 | UARTSerial _serial; |
ocomeni | 74:f26e846adfe9 | 24 | Mutex _smutex; // Protect serial port access |
ocomeni | 74:f26e846adfe9 | 25 | Mutex _rmutex; // Reset protection |
ocomeni | 74:f26e846adfe9 | 26 | |
ocomeni | 74:f26e846adfe9 | 27 | // AT Command Parser |
ocomeni | 74:f26e846adfe9 | 28 | ATCmdParser _parser; |
ocomeni | 74:f26e846adfe9 | 29 | // OOB processing |
ocomeni | 74:f26e846adfe9 | 30 | void _process_oob(uint32_t timeout, bool all); |
ocomeni | 74:f26e846adfe9 | 31 | // OOB message handlers |
ocomeni | 74:f26e846adfe9 | 32 | void _oob_startup_hdlr(); |
ocomeni | 74:f26e846adfe9 | 33 | void _oob_bleRole_hdlr(); |
ocomeni | 74:f26e846adfe9 | 34 | void _oob_wifiMode_err(); |
ocomeni | 74:f26e846adfe9 | 35 | void _oob_conn_already(); |
ocomeni | 74:f26e846adfe9 | 36 | void _oob_err(); |
ocomeni | 75:08eff6258e1b | 37 | void _oob_echo_off(); |
ocomeni | 75:08eff6258e1b | 38 | void _oob_uart_setup(); |
ocomeni | 75:08eff6258e1b | 39 | void _oob_echo_on(); |
ocomeni | 75:08eff6258e1b | 40 | void _oob_data_mode(); |
ocomeni | 75:08eff6258e1b | 41 | void _oob_get_mac_addr(); |
ocomeni | 75:08eff6258e1b | 42 | void _oob_get_ble_role(); |
ocomeni | 75:08eff6258e1b | 43 | void _oob_ena_ble_peri(); |
ocomeni | 75:08eff6258e1b | 44 | void _oob_reboot(); |
ocomeni | 75:08eff6258e1b | 45 | void _oob_get_fw_ver(); |
ocomeni | 74:f26e846adfe9 | 46 | |
ocomeni | 74:f26e846adfe9 | 47 | /** |
ocomeni | 74:f26e846adfe9 | 48 | * Allows timeout to be changed between commands |
ocomeni | 74:f26e846adfe9 | 49 | * |
ocomeni | 74:f26e846adfe9 | 50 | * @param timeout_ms timeout of the connection |
ocomeni | 74:f26e846adfe9 | 51 | */ |
ocomeni | 74:f26e846adfe9 | 52 | void set_timeout(uint32_t timeout_ms = UBLOX_ODIN_W2_MISC_TIMEOUT); |
ocomeni | 74:f26e846adfe9 | 53 | }; |
ocomeni | 74:f26e846adfe9 | 54 | #endif // __ATCMD_MANAGER_H__ |