this is using the mbed os version 5-13-1

Dependencies:   mbed-http

Branch:
PassingRegression
Revision:
109:c274780ff609
Parent:
108:3c8fb2c6e7bf
Child:
112:a0999ea4ece0
--- a/source/main-https.cpp	Mon May 06 20:18:02 2019 +0000
+++ b/source/main-https.cpp	Wed May 08 19:38:35 2019 +0000
@@ -57,8 +57,8 @@
 uint8_t TxBuffer[TX_BUFFER_LEN];
 uint8_t RxBuffer[RX_BUFFER_LEN];
 #endif
-static EventQueue eventQueue(/* event count */ 32 * EVENTS_EVENT_SIZE);
-//static EventQueue eventQueue2(/* event count */ 10 * EVENTS_EVENT_SIZE);
+static EventQueue eventQueue_atcmd(/* event count */ 32 * EVENTS_EVENT_SIZE);
+static EventQueue eventQueue_wifi(/* event count */ 32 * EVENTS_EVENT_SIZE);
 
 LEDService *ledServicePtr;
 
@@ -103,14 +103,15 @@
 #else
 // using global heap
 Thread btle_thread(BTLE_THREAD_PRIORITY, 1024);
-Thread wifi_thread(WIFI_THREAD_PRIORITY, 6*1024);
+Thread wifi_thread(WIFI_THREAD_PRIORITY, 4*1024);
 Thread atcmd_thread(ATCMD_THREAD_PRIORITY, 4*1024);
 #endif
 
 /* create a semaphore to synchronize the threads */
 Semaphore sync_sema;
 
-Thread evt_thread;
+Thread atcmd_evt_thread(osPriorityNormal, 1024);
+Thread wifi_evt_thread;
 #include "network-helper.h"
 
 /* List of trusted root CA certificates
@@ -302,7 +303,7 @@
         dbg_printf(LOG, "%d", i);
         dbg_printf(LOG, "\n");
         wait(0.5);
-        eventQueue.dispatch(500);        // Dispatch time - 500msec
+        eventQueue_atcmd.dispatch(500);        // Dispatch time - 500msec
     }
 }
 
@@ -316,7 +317,7 @@
         sprintf(fmtstr, "BLE: loop # %d\n", i);
         peripheral->sendBLEUartData(fmtstr);
         wait(0.5);
-        eventQueue.dispatch(500);        // Dispatch time - 500msec
+        eventQueue_atcmd.dispatch(500);        // Dispatch time - 500msec
         if(device->readable()){
             dbg_printf(LOG, "keypress detected aborting....\n");
             device->getc();
@@ -437,7 +438,7 @@
         dbg_printf(LOG, "ERROR: No WiFiInterface found.\n");
     }
     wiFiManager = new WiFiManager(wifi_config, network, 
-                                  eventQueue,
+                                  eventQueue_wifi,
                                   &aT2WiFimPool, &aT2WiFiCmdQueue,
                                   &wiFi2ATmPool, &wiFi2ATCmdQueue,
                                   &aT2WiFiDatamPool, &aT2WiFiDataQueue,
@@ -448,8 +449,8 @@
     int stop = Kernel::get_ms_count();
     dbg_printf(LOG, "\n The Wifi Network scan took %d ms or %4.1f seconds\n", (stop - start), (float)((stop - start)/1000.0));
     // run on separate thread;
-    evt_thread.start(callback(wifi_demo, network));
-    evt_thread.join(); 
+    wifi_evt_thread.start(callback(wifi_demo, network));
+    wifi_evt_thread.join(); 
     network->disconnect(); 
     delete network;
     dbg_printf(LOG, "\n Wifi-Demo completed - restarting BLE  \n\n");
@@ -531,11 +532,12 @@
     print_memory_info();
     // dispatch event queue on event thread
     dbg_printf(LOG, "\r\n [MAIN THREAD]  Thread Id = %X\r\n", (uint32_t)ThisThread::get_id());
-    dbg_printf(LOG, "\r\n [EVENT THREAD]  Thread Id = %X\r\n", (uint32_t)evt_thread.get_id());
-    evt_thread.start(callback(&eventQueue, &EventQueue::dispatch_forever));
+    dbg_printf(LOG, "\r\n [EVENT THREAD]  Thread Id = %X\r\n", (uint32_t)wifi_evt_thread.get_id());
+    wifi_evt_thread.start(callback(&eventQueue_wifi, &EventQueue::dispatch_forever));
+    atcmd_evt_thread.start(callback(&eventQueue_atcmd, &EventQueue::dispatch_forever));
     dbg_printf(LOG, "\r\n++++++ Starting ATCmdmanager ++++++ \r\n");
     ATCmdManager *aTCmdManager = new ATCmdManager(USBTX, USBRX, peripheral, 
-                                                eventQueue, wiFiManager, 
+                                                eventQueue_atcmd, wiFiManager, 
                                                 &aT2WiFimPool, &aT2WiFiCmdQueue,
                                                 &wiFi2ATmPool, &wiFi2ATCmdQueue,
                                                 &aT2WiFiDatamPool, &aT2WiFiDataQueue,