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

Dependencies:   mbed-http

Revision:
103:7b566b522427
Parent:
99:05398b3184f8
Child:
105:e5ce023eee93
--- a/source/main-https.cpp	Wed Apr 24 17:34:17 2019 +0000
+++ b/source/main-https.cpp	Thu May 02 21:50:17 2019 +0000
@@ -1,6 +1,7 @@
 #define MBED_CONF_MBED_TRACE_ENABLE 1
 
 #include "select-demo.h"
+#include "debug.h"
 
 #if DEMO == DEMO_HTTPS
 
@@ -11,6 +12,7 @@
 #include "fault_handlers.h"
 //#include "BLE.h"
 #include "ATCmdParser.h"
+
 //#include "BLEDevice.h"
 
 #include "LEDService.h"
@@ -26,6 +28,7 @@
 DigitalOut alivenessLED(LED1, 0);
 DigitalOut actuatedLED(LED2, 0);
 
+#define FILE_CODE       "main"
 
 static RawSerial *device; // tx, rx
 
@@ -126,7 +129,7 @@
        // perform free memory check
     int blockSize = 16;
     int i = 1;
-    printf("Checking memory with blocksize %d char ...\n", blockSize);
+    dbg_printf(LOG, "Checking memory with blocksize %d char ...\n", blockSize);
     while (true) {
         char *p = (char *) malloc(i * blockSize);
         if (p == NULL)
@@ -134,7 +137,7 @@
         free(p);
         ++i;
     }
-    printf("Ok for %d char\n", (i - 1) * blockSize);
+    dbg_printf(LOG, "Ok for %d char\n", (i - 1) * blockSize);
     _smutex.unlock();
 
 }
@@ -163,12 +166,12 @@
     
     if(uartCharRcvCount == 0)
     {
-        device->printf("\nFirst Call to UART attach callback!!\n");
+        dbg_printf(LOG, "\nFirst Call to UART attach callback!!\n");
     }
     else if(uartCharRcvCount >= uartExpectedRcvCount)
     {
-        device->printf("\nNumber of Received Bytes = %d\n\n", uartCharRcvCount);
-        device->printf("--- Writing back received bytes --- \n");
+        dbg_printf(LOG, "\nNumber of Received Bytes = %d\n\n", uartCharRcvCount);
+        dbg_printf(LOG, "--- Writing back received bytes --- \n");
         int n;
         n = WriteUartBytes(RxBuffer, TX_BUFFER_LEN, uartCharRcvCount);
         UartBusy = false;
@@ -198,16 +201,16 @@
 void BackGndUartRead(uint8_t * rxBuffer, size_t bufSize, int rxLen)
 {
     UartBusy = true;
-    device->printf("Setting up background UART read -  rxLen = %d\n", rxLen);
+    dbg_printf(LOG, "Setting up background UART read -  rxLen = %d\n", rxLen);
     uartCharRcvCount = 0;
     if(rxLen > bufSize)
     {
         rxLen = bufSize;
     }
     uartExpectedRcvCount = rxLen;
-    device->printf("\nattaching to device UART\n\n");
+    dbg_printf(LOG, "\nattaching to device UART\n\n");
     device->attach(&UartRxcallback_ex);
-    device->printf("\nBackground UART read setup completed\n\n");
+    dbg_printf(LOG, "\nBackground UART read setup completed\n\n");
 }
 
 int ReadUartBytes(uint8_t * rxBuffer, size_t bufSize, int rxLen, bool echo)
@@ -230,19 +233,19 @@
 
 void checkUartReceive()
 {
-    //device->printf("Hello World!\n\r");
+    //dbg_printf(LOG, "Hello World!\n\r");
     char cbuf[100];
     int rxCnt=0;
     while(device->readable()) {
-        //device->printf("uartCharRcvCount = %d\n\r", uartCharRcvCount++);
+        //dbg_printf(LOG, "uartCharRcvCount = %d\n\r", uartCharRcvCount++);
         cbuf[rxCnt++] = device->getc();
         //putc(getc() + 1); // echo input back to terminal
     }
     cbuf[rxCnt] = NULL;
     if(rxCnt > 0)
     {
-        device->printf("received %d chars\n", rxCnt);
-        device->printf("%s\n", cbuf);
+        dbg_printf(LOG, "received %d chars\n", rxCnt);
+        dbg_printf(LOG, "%s\n", cbuf);
     }
 
 }
@@ -258,7 +261,7 @@
     lastTime = now;
     now = Kernel::get_ms_count();
     callCount++;
-    device->printf("\nHello : %d secs elapsed : CallCount = %d \n", uint32_t(now - lastTime), callCount);
+    dbg_printf(LOG, "\nHello : %d secs elapsed : CallCount = %d \n", uint32_t(now - lastTime), callCount);
 }
 
 
@@ -275,7 +278,7 @@
     int n = wifi_demo_func(network);
     if(n > 0)// error
     {
-        device->printf("\n --- Error running wifi demo --- \n");
+        dbg_printf(LOG, "\n --- Error running wifi demo --- \n");
     }
 }
 
@@ -285,16 +288,16 @@
     int n =5;
     if(n > 0)// error
     {
-        device->printf("\n --- Error running wifi demo --- \n");
+        dbg_printf(LOG, "\n --- Error running wifi demo --- \n");
     }
 }
 
 void printWait(int numSecs)
 {
-    printf("Waiting for %d seconds...\n", numSecs);
+    dbg_printf(LOG, "Waiting for %d seconds...\n", numSecs);
     for(int i=0;i<numSecs;i++){
-        printf("%d", i);
-        printf("\n");
+        dbg_printf(LOG, "%d", i);
+        dbg_printf(LOG, "\n");
         wait(0.5);
         eventQueue.dispatch(500);        // Dispatch time - 500msec
     }
@@ -302,17 +305,17 @@
 
 void printWaitAbortKeyPress(int numSecs)
 {
-    printf("Waiting for %d seconds... [press key to abort]\n", numSecs);
+    dbg_printf(LOG, "Waiting for %d seconds... [press key to abort]\n", numSecs);
     char fmtstr[20];
     for(int i=0;i<numSecs;i++){
-        printf("%d", i);
-        printf("\n");
+        dbg_printf(LOG, "%d", i);
+        dbg_printf(LOG, "\n");
         sprintf(fmtstr, "BLE: loop # %d\n", i);
         peripheral->sendBLEUartData(fmtstr);
         wait(0.5);
         eventQueue.dispatch(500);        // Dispatch time - 500msec
         if(device->readable()){
-            printf("keypress detected aborting....\n");
+            dbg_printf(LOG, "keypress detected aborting....\n");
             device->getc();
             break;
         }
@@ -344,59 +347,24 @@
 
 
 
-#define MAX_LOOP_COUNT 3
-int ble_security_main()
-{
-    BLE& _ble = BLE::Instance();
-    events::EventQueue queue;
-
-#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 */
-    if (!create_filesystem()) {
-        printf("Filesystem creation failed, will use memory storage\r\n");
-    }
-#endif
-    int loopCount = 0; 
-    while(1) {
-        {
-            printf("\r\n PERIPHERAL \r\n\r\n");
-            SMDevicePeripheral peripheral(_ble, queue, peer_address, ble_config);
-            peripheral.run();
-            return 0;
-        }
-        if(loopCount >= MAX_LOOP_COUNT)
-        {
-            return 0;
-        }
-
-        {
-            printf("\r\n CENTRAL \r\n\r\n");
-            SMDeviceCentral central(_ble, queue, peer_address, ble_config);
-            central.run();
-        }
-        loopCount++;
-        printf("loop Cycle #%d\r\n", loopCount);
-    }
-
-    return 0;
-}
 
 void print_memory_info() {
+#ifdef ENABLE_MEMORY_CHECKS
     // allocate enough room for every thread's stack statistics
     int cnt = osThreadGetCount();
     mbed_stats_stack_t *stats = (mbed_stats_stack_t*) malloc(cnt * sizeof(mbed_stats_stack_t));
  
     cnt = mbed_stats_stack_get_each(stats, cnt);
     for (int i = 0; i < cnt; i++) {
-        printf("Thread: 0x%lX, Stack size: %lu / %lu\r\n", stats[i].thread_id, stats[i].max_size, stats[i].reserved_size);
+        dbg_printf(LOG, "Thread: 0x%lX, Stack size: %lu / %lu\r\n", stats[i].thread_id, stats[i].max_size, stats[i].reserved_size);
     }
     free(stats);
  
     // Grab the heap statistics
     mbed_stats_heap_t heap_stats;
     mbed_stats_heap_get(&heap_stats);
-    printf("Heap size: %lu / %lu bytes\r\n", heap_stats.current_size, heap_stats.reserved_size);
+    dbg_printf(LOG, "Heap size: %lu / %lu bytes\r\n", heap_stats.current_size, heap_stats.reserved_size);
+#endif
 }
 
 //#define DISABLE_WIFI
@@ -405,21 +373,20 @@
 #define BLE_STOP_START_ADV_SCAN_DEMO
 #define SKIP_WIFI_CONNECT_DEMO
 #define PAUSE_SECONDS   0
-#define PAUSE_SECONDS_BLE 2
+#define PAUSE_SECONDS_BLE 0
 int main() {
-    //print_all_thread_info();
-    //print_heap_and_isr_stack_info();
+    initialise_debug();
 #ifdef MBED_MAJOR_VERSION
-    printf("Mbed OS version %d.%d.%d\n\n", MBED_MAJOR_VERSION, MBED_MINOR_VERSION, MBED_PATCH_VERSION);
+    dbg_printf(LOG, "Mbed OS version %d.%d.%d\n\n", MBED_MAJOR_VERSION, MBED_MINOR_VERSION, MBED_PATCH_VERSION);
 #endif
     
     reset_counter++;
     print_memory_info();
-    printf("\r\n ++++++ PROGRAM STARTING -- reset count = %d ++++++ \r\n", reset_counter);
-    device = new RawSerial(USBTX, USBRX, DEFAULT_BAUD_RATE);
+    dbg_printf(LOG, "\r\n ++++++ PROGRAM STARTING -- reset count = %d ++++++ \r\n", reset_counter);
+    device = new RawSerial(USBTX, USBRX, 2*DEFAULT_BAUD_RATE);
     //device = new RawSerial(PA_9, PA_10, DEFAULT_BAUD_RATE);
     
-    printf("*** HELLO MESSAGE *** \n %s", (char *)&hello_msg[6]);
+    dbg_printf(LOG, "*** HELLO MESSAGE *** \n %s", (char *)&hello_msg[6]);
     setupDefaultWiFiConfig();
     setupDefaultBleConfig();
     BLE& _ble = BLE::Instance();
@@ -428,11 +395,11 @@
     /* if filesystem creation fails or there is no filesystem the security manager
      * will fallback to storing the security database in memory */
     if (!create_filesystem()) {
-        printf("Filesystem creation failed, will use memory storage\r\n");
+        dbg_printf(LOG, "Filesystem creation failed, will use memory storage\r\n");
     }
 #endif
     print_memory_info();
-    printf("\r\n PERIPHERAL \r\n\r\n");
+    dbg_printf(LOG, "\r\n PERIPHERAL \r\n\r\n");
     peripheral = new SMDevicePeripheral(_ble, queue, peer_address, ble_config);
     print_memory_info();
 
@@ -447,7 +414,7 @@
 #ifdef DISABLE_WIFI_DEMO
     network = WiFiInterface::get_default_instance();
     if (!network) {
-        printf("ERROR: No WiFiInterface found.\n");
+        dbg_printf(LOG, "ERROR: No WiFiInterface found.\n");
     }
     wiFiManager = new WiFiManager(wifi_config, network, 
                                   eventQueue,
@@ -459,19 +426,19 @@
 #else
     NetworkInterface* network = connect_to_default_network_interface();
     int stop = Kernel::get_ms_count();
-    device->printf("\n The Wifi Network scan took %d ms or %4.1f seconds\n", (stop - start), (float)((stop - start)/1000.0));
+    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(); 
     network->disconnect(); 
     delete network;
-    device->printf("\n Wifi-Demo completed - restarting BLE  \n\n");
+    dbg_printf(LOG, "\n Wifi-Demo completed - restarting BLE  \n\n");
 #endif /// endif DISABLE_WIFI_DEMO
 
 #else
-    device->printf("\n Wifi Demo disabled so just waiting it out...  \n\n");
+    dbg_printf(LOG, "\n Wifi Demo disabled so just waiting it out...  \n\n");
     printWait(2); // lets wait for a minute before turning BLE back on
-    device->printf("\n ++++++ restarting BLE ++++++ \n\n");
+    dbg_printf(LOG, "\n ++++++ restarting BLE ++++++ \n\n");
 #endif  /// endif DISABLE_WIFI
     printWaitAbortKeyPress(PAUSE_SECONDS);
     //peripheral->startAdvertising();
@@ -481,72 +448,72 @@
         device->putc(i);
     }
     reportGapState();
-    device->printf("\n\n\nEnter # of expected bytes: ");
+    dbg_printf(LOG, "\n\n\nEnter # of expected bytes: ");
     ReadUartBytes(RxBuffer, RX_BUFFER_LEN, 4, true);
     uint8_t rxLen = (uint8_t) (100*(RxBuffer[0]-'0') + 10*(RxBuffer[1]-'0') + (RxBuffer[2]-'0')) %256;
-    device->printf("\n\nExpected # of Received Bytes = %d\n", rxLen);
+    dbg_printf(LOG, "\n\nExpected # of Received Bytes = %d\n", rxLen);
     BackGndUartRead(RxBuffer, RX_BUFFER_LEN, (int) rxLen);
 
-    device->printf("\n Waiting for 5 seconds ");
+    dbg_printf(LOG, "\n Waiting for 5 seconds ");
     printWait(5);
-    device->printf("\n Waiting finished!!!\n Now waiting for expected bytes to be received \n\n");
+    dbg_printf(LOG, "\n Waiting finished!!!\n Now waiting for expected bytes to be received \n\n");
     while(UartBusy){
         wait(0.1);
     }
 #endif 
 
-    device->printf("\r\n++++++ Press key for Wifi demo test ++++++ \r\n");
+    dbg_printf(LOG, "\r\n++++++ Press key for Wifi demo test ++++++ \r\n");
     printWaitAbortKeyPress(PAUSE_SECONDS);
 #ifndef SKIP_WIFI_SCAN_DEMO
-    device->printf("\r\n++++++ Test WiFi Manager Network Scan ++++++ \r\n");
+    dbg_printf(LOG, "\r\n++++++ Test WiFi Manager Network Scan ++++++ \r\n");
     int count;
     count = wiFiManager->scanNetworks();
     if (count <= 0) {
-        device->printf("scan() failed with return value: %d\n", count);
+        dbg_printf(LOG, "scan() failed with return value: %d\n", count);
     }
     else {
-        device->printf("\r\n++++++ Test WiFi Scan found %d networks ++++++ \r\n ++++ SUCCESS ++++\r\n", count);
+        dbg_printf(LOG, "\r\n++++++ Test WiFi Scan found %d networks ++++++ \r\n ++++ SUCCESS ++++\r\n", count);
     }
 #endif    
 
 #ifndef SKIP_WIFI_CONNECT_DEMO
-    device->printf("\r\n++++++ Test WiFi Manager Network connect ++++++ \r\n");
+    dbg_printf(LOG, "\r\n++++++ Test WiFi Manager Network connect ++++++ \r\n");
     nsapi_error_t werror;
     werror = wiFiManager->connect();
     if (werror < 0) {
-        device->printf("connect() failed with return value: %d\n", werror);
+        dbg_printf(LOG, "connect() failed with return value: %d\n", werror);
     }
     else {
-        device->printf("\r\n++++++ Test WiFi connect SUCCESSFUL ++++++ \r\n");
+        dbg_printf(LOG, "\r\n++++++ Test WiFi connect SUCCESSFUL ++++++ \r\n");
     }
     if(!werror) // connect successful - test dicsonnection
     {
-        device->printf("\r\n++++++ Test WiFi Manager Network disconnect ++++++ \r\n");
+        dbg_printf(LOG, "\r\n++++++ Test WiFi Manager Network disconnect ++++++ \r\n");
         werror = wiFiManager->disconnect();
         if (werror) {
-            device->printf("disconnect() failed with return value: %d\n", werror);
+            dbg_printf(LOG, "disconnect() failed with return value: %d\n", werror);
         }
         else {
-            device->printf("\r\n++++++ Test WiFi disconnect SUCCESSFUL ++++++ \r\n");
+            dbg_printf(LOG, "\r\n++++++ Test WiFi disconnect SUCCESSFUL ++++++ \r\n");
         }
     }
 #endif    
     //wiFiManager->runMain();
-    device->printf("\r\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++ \r\n");
-    device->printf("\r\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++ \r\n");
-    device->printf("\r\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++ \r\n");
-    device->printf("\r\n++++++ Test WiFi Manager Network scan from thread ++++++ \r\n");
-    device->printf("\r\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++ \r\n");
-    device->printf("\r\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++ \r\n");
-    device->printf("\r\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++ \r\n");
+    dbg_printf(LOG, "\r\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++ \r\n");
+    dbg_printf(LOG, "\r\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++ \r\n");
+    dbg_printf(LOG, "\r\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++ \r\n");
+    dbg_printf(LOG, "\r\n++++++ Test WiFi Manager Network scan from thread ++++++ \r\n");
+    dbg_printf(LOG, "\r\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++ \r\n");
+    dbg_printf(LOG, "\r\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++ \r\n");
+    dbg_printf(LOG, "\r\n++++++++++++++++++++++++++++++++++++++++++++++++++++++++ \r\n");
     wifi_thread.start(callback(wiFiManager, &WiFiManager::runMain));
-    printf("\r\n after starting wifi thread \r\n");
+    dbg_printf(LOG, "\r\n after starting wifi thread \r\n");
     print_memory_info();
     // dispatch event queue on event thread
-    printf("\r\n [MAIN THREAD]  Thread Id = %X\r\n", (uint32_t)ThisThread::get_id());
-    printf("\r\n [EVENT THREAD]  Thread Id = %X\r\n", (uint32_t)evt_thread.get_id());
+    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));
-    device->printf("\r\n++++++ Starting ATCmdmanager ++++++ \r\n");
+    dbg_printf(LOG, "\r\n++++++ Starting ATCmdmanager ++++++ \r\n");
     ATCmdManager *aTCmdManager = new ATCmdManager(USBTX, USBRX, peripheral, 
                                                 eventQueue, wiFiManager, 
                                                 &aT2WiFimPool, &aT2WiFiCmdQueue,
@@ -556,7 +523,7 @@
                                                 false);
     //aTCmdManager->runMain();
     atcmd_thread.start(callback(aTCmdManager, &ATCmdManager::runMain));
-    printf("\r\n after starting atcmd thread \r\n");
+    dbg_printf(LOG, "\r\n after starting atcmd thread \r\n");
     print_memory_info();
     //SCB->SHCSR |= 0x00070000;//Enable fault handler.
     //wiFiManager->runMain();