Ethernet+BLE prototype

Dependencies:   mbed EthernetInterface mbed-rtos

Revision:
3:d9445b9e7163
Parent:
1:50463ff10d56
Child:
4:78e96198c879
--- a/main.cpp	Wed Mar 12 09:46:42 2014 +0000
+++ b/main.cpp	Thu Mar 27 10:17:11 2014 +0000
@@ -1,26 +1,72 @@
 #include "mbed.h"
 #include "config.h"
 #include "log.h"
-#include "httpSend.h"
+#include "HttpSend.h"
+#include "rtos.h"
+
+Serial pc(USBTX, USBRX);
+Serial bleModule(p9,p10);
+
+osThreadId m_jm1_receice_thread;
+HttpSend m_httpsend;
+
+void jm1_receice_thread (void const *argument) {
+    INFO_LOG ("jm1_receice_thread start\n");
+    while (true) {
+        message_t *message = m_httpsend.getMessageBuffer();
+        memset(message->data,0,SENDBUFFER_SIZE);
+        if(bleModule.readable()){
+            if(NULL!=bleModule.gets(message->data, SENDBUFFER_SIZE)){
+               message->size = strlen(message->data);
+                pc.printf("(size=%d):%s",message->size,message->data);
+                if(message->size!=0){
+                    m_httpsend.send(message);
+                }
+            }
+        }
+    }
+    // unreachable INFO_LOG ("jm1_receice_thread end\n");
+}
+
+
+void callback() {
+//    pc.printf ("callback\n");
+    message_t *message = m_httpsend.getMessageBuffer();
+    memset(message->data,0,SENDBUFFER_SIZE);
+    if(bleModule.readable()){
+        if(NULL!=bleModule.gets(message->data, SENDBUFFER_SIZE)){
+           message->size = strlen(message->data);
+//            pc.printf("(size=%d):%s",message->size,message->data);
+            if(message->size!=0){
+                m_httpsend.send(message);
+            }
+        }
+    }
+//    pc.printf ("callback\n");
+}
+
+osThreadDef(jm1_receice_thread,  osPriorityNormal, DEFAULT_STACK_SIZE);
 
 int main() {
-    INFO_LOG ("BLE GW main start !!!\r\n");
+    pc.printf ("BLE GW main start !!!\n");
 
+    /*************************/
     // Initialize
-    EthernetInterface eth;
-    eth.init();
-    eth.connect();
-
-    INFO_LOG ("IP Address is %s \r\n", eth.getIPAddress());
+    /*************************/
+    // HttpSend
+    m_httpsend.init();
+    // Serial
+    bleModule.baud(115200);
     
-    char UUID[] = "00000000-XXXX-XXXX-X000-XXXXXXxxxxxx";
-    
-    for(int i=0;i<10000;i++) {
-        printf("cnt = %d\r\n",i);
-        httpSend(eth,UUID);
-        wait(10);
+//    bleModule.attach(&callback);
+
+    m_jm1_receice_thread = osThreadCreate(osThread(jm1_receice_thread), NULL);
+
+    while(true) {
+//        osDelay(osWaitForever);
+//        INFO_LOG ("WaitForever stop \n");
+//        wait(0.5);
     }
-    eth.disconnect();
 
-    INFO_LOG ("BLE GW main stop !!!\r\n");
+    // unreachable INFO_LOG ("BLE GW main stop !!!\n"); 
 }