Measured results of an XBee wireless sensor device are displayed a LCD on Nucleo board with an XBee coordinator which is in API mode.
Dependencies: TextLCD mbed xbee sample04_sens
Please refer to the following site for the details:
- http://developer.mbed.org/users/bokunimowakaru/code/xbee/wiki/Homepage (English)
- http://www.geocities.jp/bokunimowakaru/diy/xbee/xbee-nucleo.html (Japanese)
Diff: main.cpp
- Revision:
- 5:173a41d73454
- Parent:
- 4:09c0f8f67e63
- Child:
- 7:a3769f9f7dfc
--- a/main.cpp Tue Sep 23 14:06:57 2014 +0000 +++ b/main.cpp Thu Sep 25 12:13:11 2014 +0000 @@ -53,46 +53,48 @@ }else{ lcd.cls(); lcd.printf("Failed:no dev."); } - wait(0.5); + wait(1); + lcd.cls(); // メイン処理 while(1){ // 永久に受信する if(dev_en){ if(trig<=0){ - if(xbee_force(dev_sens)){ // デバイスdev_sensへデータ要求 - lcd.locate(12,0); - lcd.printf("Trig"); - wait(0.1); - lcd.locate(12,0); - lcd.printf(" "); - }else{ + lcd.locate(12,0); + lcd.printf("Trig"); + wait(0.1); + if(xbee_force(dev_sens)==0){ // デバイスdev_sensへデータ要求 lcd.locate(10,0); lcd.printf("Error"); lcd.locate(14,1); lcd.printf("%02X",(byte)trig); } trig = FORCE_INTERVAL; + lcd.locate(12,0); + lcd.printf(" "); } }else{ lcd.cls(); lcd.printf("Waiting for XBee"); - wait(.5); + wait(1); + lcd.cls(); } trig--; /* データ受信(待ち受けて受信する) */ - xbee_rx_call( &xbee_result ); - // データを受信します。 + lcd.locate(14,1); lcd.printf("RX"); + xbee_rx_call( &xbee_result ); // データを受信します。 + lcd.locate(14,1); lcd.printf(" "); switch( xbee_result.MODE ){ // 受信したデータの内容(MODE値)に応じて case MODE_RESP: // sensorからの応答の場合に照度と温度を表示 case MODE_GPIN: // 周期方式でデータ受信した場合も想定 if( bytecmp( dev_sens , &(xbee_result.FROM[0]) ,8 ) == 0 && xbee_result.STATUS == STATUS_OK ){ // 照度測定結果 value = xbee_sensor_result( &xbee_result, LIGHT); - lcd.cls(); lcd.printf( "%.1f",value ); lcd.printf(" Lux "); + lcd.locate(0,0); lcd.printf( "%.1f Lux ",value); // 温度測定結果 value = xbee_sensor_result( &xbee_result, TEMP); - lcd.locate(0,1); lcd.printf( "%.1f",value ); lcd.printf(" C"); + lcd.locate(0,1); lcd.printf( "%.1f C ",value); } break; case MODE_IDNT: // 新しいデバイスを発見 @@ -103,6 +105,7 @@ trig = 0; xbee_gpio_config( dev_sens, 1 , AIN ); // 接続相手のポート1をAIN入力へ xbee_gpio_config( dev_sens, 2 , AIN ); // 接続相手のポート2をAIN入力へ + lcd.cls(); break; default: break;