Ethernet+BLE prototype
Dependencies: mbed EthernetInterface mbed-rtos
main.cpp@3:d9445b9e7163, 2014-03-27 (annotated)
- Committer:
- teruo
- Date:
- Thu Mar 27 10:17:11 2014 +0000
- Revision:
- 3:d9445b9e7163
- Parent:
- 1:50463ff10d56
- Child:
- 4:78e96198c879
ddd
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
teruo | 0:da21a9dd2303 | 1 | #include "mbed.h" |
teruo | 0:da21a9dd2303 | 2 | #include "config.h" |
teruo | 0:da21a9dd2303 | 3 | #include "log.h" |
teruo | 3:d9445b9e7163 | 4 | #include "HttpSend.h" |
teruo | 3:d9445b9e7163 | 5 | #include "rtos.h" |
teruo | 3:d9445b9e7163 | 6 | |
teruo | 3:d9445b9e7163 | 7 | Serial pc(USBTX, USBRX); |
teruo | 3:d9445b9e7163 | 8 | Serial bleModule(p9,p10); |
teruo | 3:d9445b9e7163 | 9 | |
teruo | 3:d9445b9e7163 | 10 | osThreadId m_jm1_receice_thread; |
teruo | 3:d9445b9e7163 | 11 | HttpSend m_httpsend; |
teruo | 3:d9445b9e7163 | 12 | |
teruo | 3:d9445b9e7163 | 13 | void jm1_receice_thread (void const *argument) { |
teruo | 3:d9445b9e7163 | 14 | INFO_LOG ("jm1_receice_thread start\n"); |
teruo | 3:d9445b9e7163 | 15 | while (true) { |
teruo | 3:d9445b9e7163 | 16 | message_t *message = m_httpsend.getMessageBuffer(); |
teruo | 3:d9445b9e7163 | 17 | memset(message->data,0,SENDBUFFER_SIZE); |
teruo | 3:d9445b9e7163 | 18 | if(bleModule.readable()){ |
teruo | 3:d9445b9e7163 | 19 | if(NULL!=bleModule.gets(message->data, SENDBUFFER_SIZE)){ |
teruo | 3:d9445b9e7163 | 20 | message->size = strlen(message->data); |
teruo | 3:d9445b9e7163 | 21 | pc.printf("(size=%d):%s",message->size,message->data); |
teruo | 3:d9445b9e7163 | 22 | if(message->size!=0){ |
teruo | 3:d9445b9e7163 | 23 | m_httpsend.send(message); |
teruo | 3:d9445b9e7163 | 24 | } |
teruo | 3:d9445b9e7163 | 25 | } |
teruo | 3:d9445b9e7163 | 26 | } |
teruo | 3:d9445b9e7163 | 27 | } |
teruo | 3:d9445b9e7163 | 28 | // unreachable INFO_LOG ("jm1_receice_thread end\n"); |
teruo | 3:d9445b9e7163 | 29 | } |
teruo | 3:d9445b9e7163 | 30 | |
teruo | 3:d9445b9e7163 | 31 | |
teruo | 3:d9445b9e7163 | 32 | void callback() { |
teruo | 3:d9445b9e7163 | 33 | // pc.printf ("callback\n"); |
teruo | 3:d9445b9e7163 | 34 | message_t *message = m_httpsend.getMessageBuffer(); |
teruo | 3:d9445b9e7163 | 35 | memset(message->data,0,SENDBUFFER_SIZE); |
teruo | 3:d9445b9e7163 | 36 | if(bleModule.readable()){ |
teruo | 3:d9445b9e7163 | 37 | if(NULL!=bleModule.gets(message->data, SENDBUFFER_SIZE)){ |
teruo | 3:d9445b9e7163 | 38 | message->size = strlen(message->data); |
teruo | 3:d9445b9e7163 | 39 | // pc.printf("(size=%d):%s",message->size,message->data); |
teruo | 3:d9445b9e7163 | 40 | if(message->size!=0){ |
teruo | 3:d9445b9e7163 | 41 | m_httpsend.send(message); |
teruo | 3:d9445b9e7163 | 42 | } |
teruo | 3:d9445b9e7163 | 43 | } |
teruo | 3:d9445b9e7163 | 44 | } |
teruo | 3:d9445b9e7163 | 45 | // pc.printf ("callback\n"); |
teruo | 3:d9445b9e7163 | 46 | } |
teruo | 3:d9445b9e7163 | 47 | |
teruo | 3:d9445b9e7163 | 48 | osThreadDef(jm1_receice_thread, osPriorityNormal, DEFAULT_STACK_SIZE); |
teruo | 0:da21a9dd2303 | 49 | |
teruo | 0:da21a9dd2303 | 50 | int main() { |
teruo | 3:d9445b9e7163 | 51 | pc.printf ("BLE GW main start !!!\n"); |
teruo | 0:da21a9dd2303 | 52 | |
teruo | 3:d9445b9e7163 | 53 | /*************************/ |
teruo | 0:da21a9dd2303 | 54 | // Initialize |
teruo | 3:d9445b9e7163 | 55 | /*************************/ |
teruo | 3:d9445b9e7163 | 56 | // HttpSend |
teruo | 3:d9445b9e7163 | 57 | m_httpsend.init(); |
teruo | 3:d9445b9e7163 | 58 | // Serial |
teruo | 3:d9445b9e7163 | 59 | bleModule.baud(115200); |
teruo | 0:da21a9dd2303 | 60 | |
teruo | 3:d9445b9e7163 | 61 | // bleModule.attach(&callback); |
teruo | 3:d9445b9e7163 | 62 | |
teruo | 3:d9445b9e7163 | 63 | m_jm1_receice_thread = osThreadCreate(osThread(jm1_receice_thread), NULL); |
teruo | 3:d9445b9e7163 | 64 | |
teruo | 3:d9445b9e7163 | 65 | while(true) { |
teruo | 3:d9445b9e7163 | 66 | // osDelay(osWaitForever); |
teruo | 3:d9445b9e7163 | 67 | // INFO_LOG ("WaitForever stop \n"); |
teruo | 3:d9445b9e7163 | 68 | // wait(0.5); |
teruo | 0:da21a9dd2303 | 69 | } |
teruo | 0:da21a9dd2303 | 70 | |
teruo | 3:d9445b9e7163 | 71 | // unreachable INFO_LOG ("BLE GW main stop !!!\n"); |
teruo | 0:da21a9dd2303 | 72 | } |