Ethernet+BLE prototype
Dependencies: mbed EthernetInterface mbed-rtos
Diff: main.cpp
- Revision:
- 3:d9445b9e7163
- Parent:
- 1:50463ff10d56
- Child:
- 4:78e96198c879
diff -r 23966fe302b4 -r d9445b9e7163 main.cpp --- 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"); }