this is using the mbed os version 5-13-1
Diff: source/main-https.cpp
- Branch:
- PassingRegression
- Revision:
- 113:888e262ff0a9
- Parent:
- 112:a0999ea4ece0
- Child:
- 114:b11bb96c09f3
--- a/source/main-https.cpp Sat May 11 11:55:29 2019 +0000
+++ b/source/main-https.cpp Sat May 18 10:50:49 2019 +0000
@@ -47,6 +47,7 @@
char buffer[BUFFER_LEN];
static EventQueue eventQueue_atcmd(/* event count */ 32 * EVENTS_EVENT_SIZE);
static EventQueue eventQueue_wifi(/* event count */ 32 * EVENTS_EVENT_SIZE);
+static EventQueue eventQueue_ble(/* event count */ 10 * EVENTS_EVENT_SIZE);
/* Queue and memory pool for AT to Wifi commands */
static MemoryPool<wifi_cmd_message_t, 16> aT2WiFimPool;
@@ -83,7 +84,7 @@
Thread atcmd_thread(ATCMD_THREAD_PRIORITY, 4*1024, &atcmd_stk[0]);
#else
// using global heap
-Thread btle_thread(BTLE_THREAD_PRIORITY, 1024);
+Thread btle_thread(BTLE_THREAD_PRIORITY, 4*1024);
Thread wifi_thread(WIFI_THREAD_PRIORITY, 4*1024);
Thread atcmd_thread(ATCMD_THREAD_PRIORITY, 4*1024);
#endif
@@ -132,8 +133,9 @@
}
-void printWaitAbortKeyPress(int numSecs)
+void printWaitAbortKeyPress(int numSecs, const char * printStr=NULL)
{
+ dbg_printf(LOG, "%s", printStr);
dbg_printf(LOG, "Waiting for %d seconds... [press key to abort]\n", numSecs);
char fmtstr[20];
for(int i=0;i<numSecs;i++){
@@ -142,7 +144,7 @@
sprintf(fmtstr, "BLE: loop # %d\n", i);
peripheral->sendBLEUartData(fmtstr);
wait(0.5);
- eventQueue_atcmd.dispatch(500); // Dispatch time - 500msec
+ //eventQueue_atcmd.dispatch(500); // Dispatch time - 500msec
if(device->readable()){
dbg_printf(LOG, "keypress detected aborting....\n");
device->getc();
@@ -217,7 +219,8 @@
#define PAUSE_SECONDS_BLE 0
int main() {
device = new RawSerial(USBTX, USBRX, 2*DEFAULT_BAUD_RATE);
- initialise_debug();
+ uint8_t debug_level = (LOG | ERR | TXT | DBG);
+ initialise_debug(debug_level);
#ifdef MBED_MAJOR_VERSION
dbg_printf(LOG, "Mbed OS version %d.%d.%d\n\n", MBED_MAJOR_VERSION, MBED_MINOR_VERSION, MBED_PATCH_VERSION);
#endif
@@ -227,7 +230,6 @@
setupDefaultWiFiConfig();
setupDefaultBleConfig();
BLE& _ble = BLE::Instance();
- events::EventQueue queue(/* event count */ 10 * EVENTS_EVENT_SIZE);
#if MBED_CONF_APP_FILESYSTEM_SUPPORT
/* if filesystem creation fails or there is no filesystem the security manager
* will fallback to storing the security database in memory */
@@ -236,16 +238,18 @@
}
#endif
dbg_printf(LOG, "\r\n PERIPHERAL \r\n\r\n");
- peripheral = new SMDevicePeripheral(_ble, queue, peer_address, ble_config);
+ peripheral = new SMDevicePeripheral(_ble, eventQueue_ble, peer_address, ble_config);
peripheral->run();
- btle_thread.start(callback(&queue, &EventQueue::dispatch_forever));
-
+ btle_thread.start(callback(&eventQueue_ble, &EventQueue::dispatch_forever));
+ //btle_thread.start(callback(peripheral, &SMDevicePeripheral::run));
+ printWaitAbortKeyPress(120, "Wait after BLE dispatch\r\n");
int start = Kernel::get_ms_count();
network = WiFiInterface::get_default_instance();
if (!network) {
dbg_printf(LOG, "ERROR: No WiFiInterface found.\n");
}
+ printWaitAbortKeyPress(120, "Wait after WiFi instantiation\r\n");
wiFiManager = new WiFiManager(wifi_config, network,
eventQueue_wifi,
&aT2WiFimPool, &aT2WiFiCmdQueue,
@@ -258,6 +262,8 @@
dbg_printf(LOG, "\r\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++ \r\n");
wifi_thread.start(callback(wiFiManager, &WiFiManager::runMain));
dbg_printf(LOG, "\r\n after starting wifi thread \r\n");
+ printWaitAbortKeyPress(120, "Wait after WiFi Manager dispatch\r\n");
+ initialise_debug(NONE);
// dispatch wifi event queue on event thread
wifi_evt_thread.start(callback(&eventQueue_wifi, &EventQueue::dispatch_forever));
// dispatch atcmd event queue on event thread