Ethernet+BLE prototype
Dependencies: mbed EthernetInterface mbed-rtos
Diff: main.cpp
- Revision:
- 4:78e96198c879
- Parent:
- 3:d9445b9e7163
- Child:
- 5:9fffeb949e5a
--- a/main.cpp Thu Mar 27 10:17:11 2014 +0000 +++ b/main.cpp Fri Mar 28 01:10:32 2014 +0000 @@ -2,71 +2,88 @@ #include "config.h" #include "log.h" #include "HttpSend.h" -#include "rtos.h" +#include "cmsis_os.h" -Serial pc(USBTX, USBRX); Serial bleModule(p9,p10); -osThreadId m_jm1_receice_thread; +osThreadId m_jm1_receive_thread; + + HttpSend m_httpsend; -void jm1_receice_thread (void const *argument) { - INFO_LOG ("jm1_receice_thread start\n"); +void jm1_receive_thread (void const *argument) { + INFO_LOG ("jm1_receive_thread start\n"); while (true) { - message_t *message = m_httpsend.getMessageBuffer(); - memset(message->data,0,SENDBUFFER_SIZE); if(bleModule.readable()){ + message_t *message = m_httpsend.getMessageBuffer(); + memset(message->data,0,SENDBUFFER_SIZE); +// INFO_LOG("(message=0x%08X)\n",message); if(NULL!=bleModule.gets(message->data, SENDBUFFER_SIZE)){ - message->size = strlen(message->data); - pc.printf("(size=%d):%s",message->size,message->data); + message->size = strlen(message->data); if(message->size!=0){ +// INFO_LOG("(size=%d):%s",message->size,message->data); m_httpsend.send(message); } } } } - // unreachable INFO_LOG ("jm1_receice_thread end\n"); + // unreachable INFO_LOG ("jm1_receive_thread end\n"); } void callback() { -// pc.printf ("callback\n"); - message_t *message = m_httpsend.getMessageBuffer(); - memset(message->data,0,SENDBUFFER_SIZE); + INFO_LOG ("callback\n"); if(bleModule.readable()){ + message_t *message = m_httpsend.getMessageBuffer(); + memset(message->data,0,SENDBUFFER_SIZE); +// INFO_LOG("(message=0x%08X)\n",message); if(NULL!=bleModule.gets(message->data, SENDBUFFER_SIZE)){ - message->size = strlen(message->data); -// pc.printf("(size=%d):%s",message->size,message->data); + message->size = strlen(message->data); if(message->size!=0){ +// INFO_LOG("(size=%d):%s",message->size,message->data); m_httpsend.send(message); } } } -// pc.printf ("callback\n"); } -osThreadDef(jm1_receice_thread, osPriorityNormal, DEFAULT_STACK_SIZE); + +//osThreadDef(jm1_receive_thread, osPriorityRealtime, DEFAULT_STACK_SIZE); +osThreadDef(jm1_receive_thread, osPriorityNormal, DEFAULT_STACK_SIZE); int main() { - pc.printf ("BLE GW main start !!!\n"); + INFO_LOG ("BLE GW main start !!!\n"); /*************************/ // Initialize /*************************/ + // EthernetInterface + EthernetInterface eth; + eth.init(); + // HttpSend - m_httpsend.init(); + m_httpsend.init(ð); + // Serial bleModule.baud(115200); -// bleModule.attach(&callback); - - m_jm1_receice_thread = osThreadCreate(osThread(jm1_receice_thread), NULL); + if(true){ + m_jm1_receive_thread = osThreadCreate(osThread(jm1_receive_thread), NULL); + // Thread::wait(3000); + INFO_LOG ("init end\n"); + while(true) { + osDelay(osWaitForever); + INFO_LOG ("WaitForever stop \n"); + wait(0.5); + } + }else{ + DigitalOut led1(LED1); - while(true) { -// osDelay(osWaitForever); -// INFO_LOG ("WaitForever stop \n"); -// wait(0.5); + bleModule.attach(&callback); + while(true) { + led1 = !led1; + wait(0.5); + } } - // unreachable INFO_LOG ("BLE GW main stop !!!\n"); }