Ethernet+BLE prototype

Dependencies:   mbed EthernetInterface mbed-rtos

main.cpp

Committer:
teruo
Date:
2014-03-27
Revision:
3:d9445b9e7163
Parent:
1:50463ff10d56
Child:
4:78e96198c879

File content as of revision 3:d9445b9e7163:

#include "mbed.h"
#include "config.h"
#include "log.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() {
    pc.printf ("BLE GW main start !!!\n");

    /*************************/
    // Initialize
    /*************************/
    // HttpSend
    m_httpsend.init();
    // Serial
    bleModule.baud(115200);
    
//    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);
    }

    // unreachable INFO_LOG ("BLE GW main stop !!!\n"); 
}