Ethernet+BLE prototype
Dependencies: mbed EthernetInterface mbed-rtos
main.cpp
- Committer:
- teruo
- Date:
- 2014-03-28
- Revision:
- 4:78e96198c879
- Parent:
- 3:d9445b9e7163
- Child:
- 5:9fffeb949e5a
File content as of revision 4:78e96198c879:
#include "mbed.h" #include "config.h" #include "log.h" #include "HttpSend.h" #include "cmsis_os.h" Serial bleModule(p9,p10); osThreadId m_jm1_receive_thread; HttpSend m_httpsend; void jm1_receive_thread (void const *argument) { INFO_LOG ("jm1_receive_thread start\n"); while (true) { 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); if(message->size!=0){ // INFO_LOG("(size=%d):%s",message->size,message->data); m_httpsend.send(message); } } } } // unreachable INFO_LOG ("jm1_receive_thread end\n"); } void callback() { 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); if(message->size!=0){ // INFO_LOG("(size=%d):%s",message->size,message->data); m_httpsend.send(message); } } } } //osThreadDef(jm1_receive_thread, osPriorityRealtime, DEFAULT_STACK_SIZE); osThreadDef(jm1_receive_thread, osPriorityNormal, DEFAULT_STACK_SIZE); int main() { INFO_LOG ("BLE GW main start !!!\n"); /*************************/ // Initialize /*************************/ // EthernetInterface EthernetInterface eth; eth.init(); // HttpSend m_httpsend.init(ð); // Serial bleModule.baud(115200); 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); bleModule.attach(&callback); while(true) { led1 = !led1; wait(0.5); } } // unreachable INFO_LOG ("BLE GW main stop !!!\n"); }