SNIC UART Interface library: Serial to Wi-Fi library for Murata TypeYD Wi-Fi module. For more information about TypeYD: http://www.murata.co.jp/products/microwave/module/lbwb1zzydz/index.html
Dependents: SNIC-xively-jumpstart-demo SNIC-FluentLogger-example TCPEchoServer murataDemo ... more
Fork of YDwifiInterface by
YDwifi/YDwifi.cpp@0:61c402886fbb, 2014-03-06 (annotated)
- Committer:
- kishino
- Date:
- Thu Mar 06 11:13:00 2014 +0000
- Revision:
- 0:61c402886fbb
- Child:
- 2:0ba43344c814
The common method which creates a UART command request was created.
Who changed what in which revision?
| User | Revision | Line number | New contents of line |
|---|---|---|---|
| kishino | 0:61c402886fbb | 1 | #include "mbed.h" |
| kishino | 0:61c402886fbb | 2 | #include "YDwifi.h" |
| kishino | 0:61c402886fbb | 3 | #include "YDwifi_uartmsg.h" |
| kishino | 0:61c402886fbb | 4 | #include <string> |
| kishino | 0:61c402886fbb | 5 | //#include <algorithm> |
| kishino | 0:61c402886fbb | 6 | |
| kishino | 0:61c402886fbb | 7 | C_YDwifi *C_YDwifi::mInstance_p; |
| kishino | 0:61c402886fbb | 8 | |
| kishino | 0:61c402886fbb | 9 | C_YDwifi::C_YDwifi(PinName tx, PinName rx, PinName cts, PinName rts, PinName reset, PinName alarm, int baud): |
| kishino | 0:61c402886fbb | 10 | mUart(tx, rx), mModuleReset(reset) |
| kishino | 0:61c402886fbb | 11 | { |
| kishino | 0:61c402886fbb | 12 | mUartRecvThread_p = NULL; |
| kishino | 0:61c402886fbb | 13 | mInstance_p = this; |
| kishino | 0:61c402886fbb | 14 | mUartRequestSeq = 0; |
| kishino | 0:61c402886fbb | 15 | |
| kishino | 0:61c402886fbb | 16 | printf("baud:%d\r\n", baud); |
| kishino | 0:61c402886fbb | 17 | mUart.baud( baud ); |
| kishino | 0:61c402886fbb | 18 | } |
| kishino | 0:61c402886fbb | 19 | |
| kishino | 0:61c402886fbb | 20 | int C_YDwifi::initUart() |
| kishino | 0:61c402886fbb | 21 | { |
| kishino | 0:61c402886fbb | 22 | // Create UART recv thread |
| kishino | 0:61c402886fbb | 23 | mUartRecvThread_p = new Thread( C_YDwifi::uartRecvThread ); |
| kishino | 0:61c402886fbb | 24 | if( mUartRecvThread_p == NULL ) |
| kishino | 0:61c402886fbb | 25 | { |
| kishino | 0:61c402886fbb | 26 | printf("[C_YDwifi::initUart] thread cread failed\r\n"); |
| kishino | 0:61c402886fbb | 27 | return -1; |
| kishino | 0:61c402886fbb | 28 | } |
| kishino | 0:61c402886fbb | 29 | |
| kishino | 0:61c402886fbb | 30 | // set intr callback function |
| kishino | 0:61c402886fbb | 31 | mUart.attach( this, &C_YDwifi::uartIntr_callback, Serial::RxIrq ); |
| kishino | 0:61c402886fbb | 32 | |
| kishino | 0:61c402886fbb | 33 | return 0; |
| kishino | 0:61c402886fbb | 34 | } |
| kishino | 0:61c402886fbb | 35 | |
| kishino | 0:61c402886fbb | 36 | void C_YDwifi::uartIntr_callback( void ) |
| kishino | 0:61c402886fbb | 37 | { |
| kishino | 0:61c402886fbb | 38 | #if 0 |
| kishino | 0:61c402886fbb | 39 | C_YDwifi *instance = C_YDwifi::getInstance(); |
| kishino | 0:61c402886fbb | 40 | instance->mUart.putc('G'); |
| kishino | 0:61c402886fbb | 41 | instance->mUartRecvThread_p->signal_set(1); |
| kishino | 0:61c402886fbb | 42 | #else |
| kishino | 0:61c402886fbb | 43 | mUart.putc('G'); |
| kishino | 0:61c402886fbb | 44 | mUartRecvThread_p->signal_set(1); |
| kishino | 0:61c402886fbb | 45 | #endif |
| kishino | 0:61c402886fbb | 46 | } |
| kishino | 0:61c402886fbb | 47 | |
| kishino | 0:61c402886fbb | 48 | void C_YDwifi::uartRecvThread (void const *args_p) { |
| kishino | 0:61c402886fbb | 49 | C_YDwifi *instance_p = C_YDwifi::getInstance(); |
| kishino | 0:61c402886fbb | 50 | if ( instance_p == NULL ) |
| kishino | 0:61c402886fbb | 51 | { |
| kishino | 0:61c402886fbb | 52 | printf("Socket constructor error: no wifly instance available!\r\n"); |
| kishino | 0:61c402886fbb | 53 | } |
| kishino | 0:61c402886fbb | 54 | |
| kishino | 0:61c402886fbb | 55 | int recvdata = 0; |
| kishino | 0:61c402886fbb | 56 | printf("uartRecvThread\r\n"); |
| kishino | 0:61c402886fbb | 57 | |
| kishino | 0:61c402886fbb | 58 | /* UART recv thread main loop */ |
| kishino | 0:61c402886fbb | 59 | for (;;) |
| kishino | 0:61c402886fbb | 60 | { |
| kishino | 0:61c402886fbb | 61 | Thread::signal_wait(1); |
| kishino | 0:61c402886fbb | 62 | // wait(0.1); |
| kishino | 0:61c402886fbb | 63 | recvdata = instance_p->mUart.getc(); |
| kishino | 0:61c402886fbb | 64 | printf( "[thread]%02x\r\n", recvdata ); |
| kishino | 0:61c402886fbb | 65 | } |
| kishino | 0:61c402886fbb | 66 | } |
| kishino | 0:61c402886fbb | 67 |
muRata

Murata TypeYD