Condensation Monitor Measure the current environment condition at outside and inside and make caution or warnings related to condensation. Support UART over BLE. It works with nRF Toolbox. 結露モニタ 屋内外の環境情報を計測し、結露に関する警告あるいは注意を出力します。 nRF Toolboxと一緒に動作し、UART機能でBLE経由でメッセージを出力します。 ドキュメント https://developer.mbed.org/users/takafuminaka/notebook/information-about-my-condensation-monitor-for-mbed/
Dependencies: AQM0802 BME280 HDC1000 VaporCondition mbed BLE_API nRF51822 BLE_Condensation_Monitor
Dependents: BLE_Condensation_Monitor
Fork of Condensation_Monitor by
main.cpp@7:7cecec859fe1, 2015-06-14 (annotated)
- Committer:
- takafuminaka
- Date:
- Sun Jun 14 09:13:40 2015 +0000
- Revision:
- 7:7cecec859fe1
- Parent:
- 6:3c2404870d39
- Child:
- 8:f2b32f6b161c
Internal Sensor is selectable BME280 or HDC1000 by INSIDE_SENSOR defitinion.
;
;
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
yasuyuki | 0:6434ef883399 | 1 | //********************** |
yasuyuki | 0:6434ef883399 | 2 | // Hygrometer and Thermometer for mbed |
yasuyuki | 0:6434ef883399 | 3 | // |
yasuyuki | 0:6434ef883399 | 4 | // LPC1768 flash=512KB, ADC=12bits |
yasuyuki | 0:6434ef883399 | 5 | // LPC11U35 flash=64KB, ADC=10bits |
yasuyuki | 0:6434ef883399 | 6 | // Nucleo ADC=12bits |
yasuyuki | 0:6434ef883399 | 7 | // |
yasuyuki | 0:6434ef883399 | 8 | // (C)Copyright 2015 All rights reserved by Y.Onodera |
yasuyuki | 0:6434ef883399 | 9 | // http://einstlab.web.fc2.com |
yasuyuki | 0:6434ef883399 | 10 | //********************** |
yasuyuki | 0:6434ef883399 | 11 | #include "mbed.h" |
yasuyuki | 0:6434ef883399 | 12 | #include "HDC1000.h" |
takafuminaka | 1:1cf4309871b7 | 13 | #include "BME280.h" |
takafuminaka | 4:3075954b341c | 14 | #include "AQM0802.h" |
takafuminaka | 4:3075954b341c | 15 | |
takafuminaka | 1:1cf4309871b7 | 16 | #include "VaporCondition.h" |
takafuminaka | 1:1cf4309871b7 | 17 | |
takafuminaka | 1:1cf4309871b7 | 18 | #define NEED_CONSOLE_OUTPUT 1 |
takafuminaka | 5:06d988a47721 | 19 | #define NEED_BLE_CONSOLE 1 |
takafuminaka | 4:3075954b341c | 20 | #define NEED_LCD_OUTPUT 1 |
takafuminaka | 1:1cf4309871b7 | 21 | |
takafuminaka | 7:7cecec859fe1 | 22 | #define TYPE_HDC1000 1 |
takafuminaka | 7:7cecec859fe1 | 23 | #define TYPE_BME280 2 |
takafuminaka | 7:7cecec859fe1 | 24 | |
takafuminaka | 7:7cecec859fe1 | 25 | // #define INSIDE_SENSOR TYPE_HDC1000 |
takafuminaka | 7:7cecec859fe1 | 26 | #define INSIDE_SENSOR TYPE_BME280 |
takafuminaka | 7:7cecec859fe1 | 27 | |
takafuminaka | 1:1cf4309871b7 | 28 | #if NEED_CONSOLE_OUTPUT |
takafuminaka | 1:1cf4309871b7 | 29 | Serial pc(USBTX, USBRX); |
takafuminaka | 1:1cf4309871b7 | 30 | #define PC(...) { pc.printf(__VA_ARGS__); } |
takafuminaka | 1:1cf4309871b7 | 31 | #else |
takafuminaka | 1:1cf4309871b7 | 32 | #define PC(...) /* nothing */ |
takafuminaka | 1:1cf4309871b7 | 33 | #endif /* #if NEED_CONSOLE_OUTPUT */ |
takafuminaka | 1:1cf4309871b7 | 34 | |
takafuminaka | 5:06d988a47721 | 35 | #if NEED_BLE_CONSOLE |
takafuminaka | 5:06d988a47721 | 36 | #include "BLEDevice.h" |
takafuminaka | 5:06d988a47721 | 37 | #include "UARTService.h" |
takafuminaka | 5:06d988a47721 | 38 | #define BLEC(...) { char __blecstr[32]; sprintf(__blecstr,__VA_ARGS__); if (uart) uart->write(__blecstr, strlen(__blecstr)); } |
takafuminaka | 5:06d988a47721 | 39 | #else |
takafuminaka | 5:06d988a47721 | 40 | #define BLEC(...) /* nothing */ |
takafuminaka | 5:06d988a47721 | 41 | #endif /* #if NEED_BLE_CONSOLE */ |
yasuyuki | 0:6434ef883399 | 42 | |
yasuyuki | 0:6434ef883399 | 43 | #if defined(TARGET_LPC1768) |
takafuminaka | 6:3c2404870d39 | 44 | I2C i2c(p28, p27); |
takafuminaka | 6:3c2404870d39 | 45 | // BME280 sensor(p28, p27, 0x76 << 1); |
takafuminaka | 1:1cf4309871b7 | 46 | #else |
takafuminaka | 6:3c2404870d39 | 47 | I2C i2c(I2C_SDA0, I2C_SCL0); |
takafuminaka | 6:3c2404870d39 | 48 | // BME280 sensor(I2C_SDA0, I2C_SCL0, 0x76 << 1); |
yasuyuki | 0:6434ef883399 | 49 | #endif |
yasuyuki | 0:6434ef883399 | 50 | |
takafuminaka | 7:7cecec859fe1 | 51 | BME280 sensor_out(I2C_SDA0, I2C_SCL0, 0x76 << 1); |
takafuminaka | 7:7cecec859fe1 | 52 | |
takafuminaka | 7:7cecec859fe1 | 53 | #if INSIDE_SENSOR == TYPE_HDC1000 |
takafuminaka | 7:7cecec859fe1 | 54 | HDC1000 sensor_in(i2c); |
takafuminaka | 7:7cecec859fe1 | 55 | #elif INSIDE_SENSOR == TYPE_BME280 |
takafuminaka | 7:7cecec859fe1 | 56 | BME280 sensor_in(I2C_SDA0, I2C_SCL0, 0x77 << 1); |
takafuminaka | 7:7cecec859fe1 | 57 | #endif |
takafuminaka | 7:7cecec859fe1 | 58 | |
takafuminaka | 4:3075954b341c | 59 | #if NEED_LCD_OUTPUT |
takafuminaka | 6:3c2404870d39 | 60 | AQM0802 lcd(i2c); |
takafuminaka | 4:3075954b341c | 61 | #endif |
yasuyuki | 0:6434ef883399 | 62 | |
takafuminaka | 1:1cf4309871b7 | 63 | DigitalOut led1(LED1); |
takafuminaka | 1:1cf4309871b7 | 64 | DigitalOut led2(LED2); |
takafuminaka | 1:1cf4309871b7 | 65 | |
takafuminaka | 5:06d988a47721 | 66 | #if NEED_BLE_CONSOLE |
takafuminaka | 5:06d988a47721 | 67 | BLEDevice ble; |
takafuminaka | 5:06d988a47721 | 68 | UARTService *uart; |
takafuminaka | 5:06d988a47721 | 69 | |
takafuminaka | 5:06d988a47721 | 70 | void disconnectionCallback(Gap::Handle_t handle, Gap::DisconnectionReason_t reason) |
takafuminaka | 5:06d988a47721 | 71 | { |
takafuminaka | 5:06d988a47721 | 72 | PC("Disconnected!\n\r"); |
takafuminaka | 5:06d988a47721 | 73 | PC("Restarting the advertising process\n\r"); |
takafuminaka | 5:06d988a47721 | 74 | ble.startAdvertising(); |
takafuminaka | 5:06d988a47721 | 75 | } |
takafuminaka | 5:06d988a47721 | 76 | |
takafuminaka | 5:06d988a47721 | 77 | #endif /* #if NEED_BLE_CONSOLE */ |
takafuminaka | 4:3075954b341c | 78 | |
takafuminaka | 6:3c2404870d39 | 79 | int main() |
takafuminaka | 6:3c2404870d39 | 80 | { |
takafuminaka | 4:3075954b341c | 81 | float Tdp_o =0.; |
takafuminaka | 4:3075954b341c | 82 | float Tdp_i =0.; |
takafuminaka | 4:3075954b341c | 83 | int cautions = 0; |
takafuminaka | 4:3075954b341c | 84 | int warnings = 0; |
takafuminaka | 1:1cf4309871b7 | 85 | int warn_wid = 20; |
takafuminaka | 7:7cecec859fe1 | 86 | char msg1[10],msg2[10]; |
takafuminaka | 4:3075954b341c | 87 | int mode=0; |
takafuminaka | 4:3075954b341c | 88 | int skip=0; |
takafuminaka | 7:7cecec859fe1 | 89 | char msg[4][2][10]; |
takafuminaka | 5:06d988a47721 | 90 | char bmsg[4][20]; |
takafuminaka | 4:3075954b341c | 91 | int skipf[4]; |
takafuminaka | 6:3c2404870d39 | 92 | |
takafuminaka | 4:3075954b341c | 93 | float Tcur; |
takafuminaka | 4:3075954b341c | 94 | float Tdp; |
takafuminaka | 4:3075954b341c | 95 | char *sTcur; |
takafuminaka | 4:3075954b341c | 96 | char *sWin; |
takafuminaka | 4:3075954b341c | 97 | char *ssTcur; |
takafuminaka | 4:3075954b341c | 98 | char *ssWin; |
takafuminaka | 5:06d988a47721 | 99 | char *bsTcur; |
takafuminaka | 5:06d988a47721 | 100 | char *bsWin; |
takafuminaka | 5:06d988a47721 | 101 | |
takafuminaka | 6:3c2404870d39 | 102 | int skipped = 0; |
takafuminaka | 6:3c2404870d39 | 103 | |
takafuminaka | 1:1cf4309871b7 | 104 | VaporCondition Inside; |
takafuminaka | 1:1cf4309871b7 | 105 | VaporCondition Outside; |
takafuminaka | 1:1cf4309871b7 | 106 | |
takafuminaka | 6:3c2404870d39 | 107 | // LED Check |
takafuminaka | 1:1cf4309871b7 | 108 | led1 = 1; |
takafuminaka | 1:1cf4309871b7 | 109 | led2 = 1; |
takafuminaka | 4:3075954b341c | 110 | wait(3); |
takafuminaka | 1:1cf4309871b7 | 111 | |
takafuminaka | 1:1cf4309871b7 | 112 | led1 = 0; |
takafuminaka | 1:1cf4309871b7 | 113 | led2 = 0; |
takafuminaka | 6:3c2404870d39 | 114 | |
takafuminaka | 7:7cecec859fe1 | 115 | i2c.frequency(100000); |
takafuminaka | 6:3c2404870d39 | 116 | |
takafuminaka | 5:06d988a47721 | 117 | #if NEED_BLE_CONSOLE |
takafuminaka | 6:3c2404870d39 | 118 | // Setup BLE // |
takafuminaka | 5:06d988a47721 | 119 | ble.init(); |
takafuminaka | 5:06d988a47721 | 120 | ble.onDisconnection(disconnectionCallback); |
takafuminaka | 6:3c2404870d39 | 121 | |
takafuminaka | 5:06d988a47721 | 122 | uart = new UARTService(ble); |
takafuminaka | 5:06d988a47721 | 123 | |
takafuminaka | 5:06d988a47721 | 124 | /* setup advertising */ |
takafuminaka | 5:06d988a47721 | 125 | ble.accumulateAdvertisingPayload(GapAdvertisingData::BREDR_NOT_SUPPORTED); |
takafuminaka | 5:06d988a47721 | 126 | ble.setAdvertisingType(GapAdvertisingParams::ADV_CONNECTABLE_UNDIRECTED); |
takafuminaka | 5:06d988a47721 | 127 | ble.accumulateAdvertisingPayload(GapAdvertisingData::SHORTENED_LOCAL_NAME, |
takafuminaka | 5:06d988a47721 | 128 | (const uint8_t *)"BLE Condensation Monitor", sizeof("BLE Condensation Monitor") - 1); |
takafuminaka | 5:06d988a47721 | 129 | ble.accumulateAdvertisingPayload(GapAdvertisingData::COMPLETE_LIST_128BIT_SERVICE_IDS, |
takafuminaka | 5:06d988a47721 | 130 | (const uint8_t *)UARTServiceUUID_reversed, sizeof(UARTServiceUUID_reversed)); |
takafuminaka | 5:06d988a47721 | 131 | |
takafuminaka | 5:06d988a47721 | 132 | ble.setAdvertisingInterval(160); /* 100ms; in multiples of 0.625ms. */ |
takafuminaka | 5:06d988a47721 | 133 | ble.startAdvertising(); |
takafuminaka | 5:06d988a47721 | 134 | #endif /* #if NEED_BLE_CONSOLE */ |
takafuminaka | 6:3c2404870d39 | 135 | |
yasuyuki | 0:6434ef883399 | 136 | while(1) { |
takafuminaka | 6:3c2404870d39 | 137 | if ( skipped == 0 ) { |
takafuminaka | 6:3c2404870d39 | 138 | // Get data |
takafuminaka | 6:3c2404870d39 | 139 | |
takafuminaka | 7:7cecec859fe1 | 140 | Outside.t = sensor_out.getTemperature(); |
takafuminaka | 7:7cecec859fe1 | 141 | Outside.h = sensor_out.getHumidity(); |
takafuminaka | 6:3c2404870d39 | 142 | |
takafuminaka | 7:7cecec859fe1 | 143 | Outside.p = sensor_out.getPressure(); |
yasuyuki | 0:6434ef883399 | 144 | |
takafuminaka | 7:7cecec859fe1 | 145 | #if INSIDE_SENSOR == TYPE_HDC1000 |
takafuminaka | 7:7cecec859fe1 | 146 | Inside.p = sensor_out.getPressure(); // Usually Pressures are same between inside and outside. |
takafuminaka | 7:7cecec859fe1 | 147 | Inside.t = float(sensor_in.temperature())/0x10000*165-40; |
takafuminaka | 7:7cecec859fe1 | 148 | Inside.h = float(sensor_in.humidity())/0x10000*100; |
takafuminaka | 7:7cecec859fe1 | 149 | PC("In: %2.2f degC, %2.2f %%\r\n", Inside.t, Inside.h); |
takafuminaka | 7:7cecec859fe1 | 150 | #elif INSIDE_SENSOR == TYPE_BME280 |
takafuminaka | 7:7cecec859fe1 | 151 | Inside.t = sensor_in.getTemperature(); |
takafuminaka | 7:7cecec859fe1 | 152 | Inside.h = sensor_in.getHumidity(); |
takafuminaka | 7:7cecec859fe1 | 153 | Inside.p = sensor_in.getPressure(); |
takafuminaka | 7:7cecec859fe1 | 154 | PC("In: %2.2f degC, %2.2f %%, %04.2f hPa\r\n", Inside.t, Inside.h, Inside.p); |
takafuminaka | 7:7cecec859fe1 | 155 | #endif |
takafuminaka | 6:3c2404870d39 | 156 | |
takafuminaka | 7:7cecec859fe1 | 157 | PC("Out: %2.2f degC, %2.2f %%, %04.2f hPa\r\n", Outside.t, Outside.h, Outside.p); |
takafuminaka | 1:1cf4309871b7 | 158 | |
takafuminaka | 6:3c2404870d39 | 159 | PC("Humidity Ratio [g/kg] : In %2.2f Out %2.2f \r\n", Inside.Rh(), Outside.Rh()); |
takafuminaka | 6:3c2404870d39 | 160 | Tdp_o = Outside.Tdp(); |
takafuminaka | 6:3c2404870d39 | 161 | Tdp_i = Inside.Tdp(); |
takafuminaka | 6:3c2404870d39 | 162 | PC("Due Point Temperature [degC] : In %2.2f Out %2.2f \r\n", Tdp_o, Tdp_i); |
yasuyuki | 0:6434ef883399 | 163 | |
takafuminaka | 6:3c2404870d39 | 164 | // print catuions and warnings // |
takafuminaka | 6:3c2404870d39 | 165 | cautions = 0; |
takafuminaka | 6:3c2404870d39 | 166 | warnings = 0; |
takafuminaka | 3:8f886f74f9bb | 167 | |
takafuminaka | 6:3c2404870d39 | 168 | for(int ii=0; ii<4; ii++) { |
takafuminaka | 6:3c2404870d39 | 169 | if ( (ii % 2) == 1 ) { |
takafuminaka | 6:3c2404870d39 | 170 | Tcur = Outside.t; // 1 and 3 |
takafuminaka | 6:3c2404870d39 | 171 | sTcur = "Outside"; |
takafuminaka | 6:3c2404870d39 | 172 | ssTcur = "Out"; |
takafuminaka | 6:3c2404870d39 | 173 | bsTcur = "Out"; |
takafuminaka | 6:3c2404870d39 | 174 | } else { |
takafuminaka | 6:3c2404870d39 | 175 | Tcur = Inside.t; // 0 and 2 |
takafuminaka | 6:3c2404870d39 | 176 | sTcur = "Inside"; |
takafuminaka | 6:3c2404870d39 | 177 | ssTcur = "In"; |
takafuminaka | 6:3c2404870d39 | 178 | bsTcur = "In"; |
takafuminaka | 6:3c2404870d39 | 179 | } |
takafuminaka | 4:3075954b341c | 180 | |
takafuminaka | 6:3c2404870d39 | 181 | if ( ii / 2 ) { |
takafuminaka | 6:3c2404870d39 | 182 | sWin = " Window"; // 2 and 3 |
takafuminaka | 6:3c2404870d39 | 183 | ssWin = "@Win"; |
takafuminaka | 6:3c2404870d39 | 184 | bsWin = "Wind."; |
takafuminaka | 6:3c2404870d39 | 185 | } else { |
takafuminaka | 6:3c2404870d39 | 186 | sWin = ""; // 0 and 1 |
takafuminaka | 6:3c2404870d39 | 187 | ssWin = ""; |
takafuminaka | 6:3c2404870d39 | 188 | bsWin = ""; |
takafuminaka | 6:3c2404870d39 | 189 | } |
takafuminaka | 4:3075954b341c | 190 | |
takafuminaka | 6:3c2404870d39 | 191 | if ( ii / 2 == ii %2 ) { |
takafuminaka | 6:3c2404870d39 | 192 | Tdp = Tdp_i; // 0 and 3 |
takafuminaka | 6:3c2404870d39 | 193 | } else { |
takafuminaka | 6:3c2404870d39 | 194 | Tdp = Tdp_o; // 1 and 1 |
takafuminaka | 6:3c2404870d39 | 195 | } |
takafuminaka | 6:3c2404870d39 | 196 | |
takafuminaka | 6:3c2404870d39 | 197 | if ( Tdp >= Tcur - warn_wid ) { |
takafuminaka | 6:3c2404870d39 | 198 | skipf[ii] = 0; |
takafuminaka | 6:3c2404870d39 | 199 | if ( Tdp >= Tcur ) { |
takafuminaka | 7:7cecec859fe1 | 200 | PC("Condensation at %s %s\r\n",sTcur,sWin); |
takafuminaka | 6:3c2404870d39 | 201 | sprintf(msg[ii][0],"Condns!!"); |
takafuminaka | 6:3c2404870d39 | 202 | sprintf(msg[ii][1],"%s%s",ssTcur,ssWin); |
takafuminaka | 6:3c2404870d39 | 203 | sprintf(bmsg[ii],"Cond. at %s",bsWin); |
takafuminaka | 6:3c2404870d39 | 204 | cautions ++; |
takafuminaka | 6:3c2404870d39 | 205 | } else { |
takafuminaka | 6:3c2404870d39 | 206 | PC("%4.1f degC to Condensation at %s%s\r\n", Tcur - Tdp, sTcur, sWin); |
takafuminaka | 6:3c2404870d39 | 207 | sprintf(msg[ii][0],"Cto%4.1fC",Tcur-Tdp); |
takafuminaka | 6:3c2404870d39 | 208 | sprintf(msg[ii][1],"%s%s\0",ssTcur,ssWin); |
takafuminaka | 6:3c2404870d39 | 209 | sprintf(bmsg[ii],"%4.1ftoC.at%s%s",Tcur - Tdp, bsTcur, bsWin); |
takafuminaka | 6:3c2404870d39 | 210 | warnings ++; |
takafuminaka | 6:3c2404870d39 | 211 | } |
takafuminaka | 6:3c2404870d39 | 212 | } else { |
takafuminaka | 6:3c2404870d39 | 213 | skipf[ii] = 1; |
takafuminaka | 6:3c2404870d39 | 214 | } |
takafuminaka | 4:3075954b341c | 215 | } |
takafuminaka | 4:3075954b341c | 216 | |
takafuminaka | 6:3c2404870d39 | 217 | PC("\r\n"); |
takafuminaka | 6:3c2404870d39 | 218 | |
takafuminaka | 6:3c2404870d39 | 219 | if ( cautions > 0 ) { |
takafuminaka | 6:3c2404870d39 | 220 | led2 = 1; |
takafuminaka | 4:3075954b341c | 221 | } else { |
takafuminaka | 6:3c2404870d39 | 222 | led2 = 0; |
takafuminaka | 4:3075954b341c | 223 | } |
takafuminaka | 4:3075954b341c | 224 | |
takafuminaka | 6:3c2404870d39 | 225 | if ( warnings > 0 ) { |
takafuminaka | 6:3c2404870d39 | 226 | led1 = 1; |
takafuminaka | 4:3075954b341c | 227 | } else { |
takafuminaka | 6:3c2404870d39 | 228 | led1 = 0; |
takafuminaka | 4:3075954b341c | 229 | } |
takafuminaka | 4:3075954b341c | 230 | |
takafuminaka | 1:1cf4309871b7 | 231 | } |
takafuminaka | 4:3075954b341c | 232 | // LCD print |
takafuminaka | 4:3075954b341c | 233 | switch(mode) { |
takafuminaka | 4:3075954b341c | 234 | case (0): |
takafuminaka | 4:3075954b341c | 235 | skip = 1; |
takafuminaka | 4:3075954b341c | 236 | break; |
takafuminaka | 6:3c2404870d39 | 237 | |
takafuminaka | 4:3075954b341c | 238 | case (1): |
takafuminaka | 4:3075954b341c | 239 | sprintf(msg1,"Ti %4.1fC",Inside.t); |
takafuminaka | 4:3075954b341c | 240 | sprintf(msg2,"To %4.1fC",Outside.t); |
takafuminaka | 5:06d988a47721 | 241 | BLEC("Temp.In%4.1f Out%4.1f\n",Inside.t, Outside.t); |
takafuminaka | 4:3075954b341c | 242 | break; |
takafuminaka | 6:3c2404870d39 | 243 | |
takafuminaka | 4:3075954b341c | 244 | case (2): |
takafuminaka | 4:3075954b341c | 245 | sprintf(msg1,"Hi %4.1f%%",Inside.h); |
takafuminaka | 4:3075954b341c | 246 | sprintf(msg2,"Ho %4.1f%%",Outside.h); |
takafuminaka | 5:06d988a47721 | 247 | BLEC("Hum.In%2.0f%% Out%2.0f%%\n",Inside.h, Outside.h); |
takafuminaka | 4:3075954b341c | 248 | break; |
takafuminaka | 6:3c2404870d39 | 249 | |
takafuminaka | 4:3075954b341c | 250 | case (3): |
takafuminaka | 4:3075954b341c | 251 | sprintf(msg1,"Po%6.2f",Outside.p); |
takafuminaka | 4:3075954b341c | 252 | sprintf(msg2," [hPa]"); |
takafuminaka | 7:7cecec859fe1 | 253 | BLEC("Prs.Out%6.2fhPa\n",Outside.p); |
takafuminaka | 4:3075954b341c | 254 | break; |
takafuminaka | 6:3c2404870d39 | 255 | |
takafuminaka | 4:3075954b341c | 256 | case (4): |
takafuminaka | 7:7cecec859fe1 | 257 | #if INSIDE_SENSOR == TYPE_BME280 |
takafuminaka | 7:7cecec859fe1 | 258 | sprintf(msg1,"Pi%6.2f",Inside.p); |
takafuminaka | 7:7cecec859fe1 | 259 | sprintf(msg2," [hPa]"); |
takafuminaka | 7:7cecec859fe1 | 260 | BLEC("Prs.In %6.2fhPa\n",Inside.p); |
takafuminaka | 7:7cecec859fe1 | 261 | #elif INSIDE_SENSOR == TYPE_HDC1000 |
takafuminaka | 7:7cecec859fe1 | 262 | skip = 1; |
takafuminaka | 7:7cecec859fe1 | 263 | #endif |
takafuminaka | 7:7cecec859fe1 | 264 | break; |
takafuminaka | 7:7cecec859fe1 | 265 | |
takafuminaka | 7:7cecec859fe1 | 266 | case (5): |
takafuminaka | 4:3075954b341c | 267 | sprintf(msg1,"Dpi%4.1fC",Tdp_i); |
takafuminaka | 4:3075954b341c | 268 | sprintf(msg2,"Dpo%4.1fC",Tdp_o); |
takafuminaka | 5:06d988a47721 | 269 | BLEC("DP. In%4.1f Out%4.1f\n",Tdp_i, Tdp_o); |
takafuminaka | 4:3075954b341c | 270 | break; |
takafuminaka | 6:3c2404870d39 | 271 | |
takafuminaka | 4:3075954b341c | 272 | case (6): |
takafuminaka | 4:3075954b341c | 273 | case (7): |
takafuminaka | 4:3075954b341c | 274 | case (8): |
takafuminaka | 7:7cecec859fe1 | 275 | case (9): |
takafuminaka | 7:7cecec859fe1 | 276 | int ii = mode - 6; |
takafuminaka | 4:3075954b341c | 277 | skip = skipf[ii]; |
takafuminaka | 4:3075954b341c | 278 | sprintf(msg1,"%8s",msg[ii][0]); |
takafuminaka | 4:3075954b341c | 279 | sprintf(msg2,"%8s",msg[ii][1]); |
takafuminaka | 5:06d988a47721 | 280 | BLEC("%s\n",bmsg[ii]); |
takafuminaka | 4:3075954b341c | 281 | break; |
takafuminaka | 4:3075954b341c | 282 | } |
takafuminaka | 4:3075954b341c | 283 | mode++; |
takafuminaka | 7:7cecec859fe1 | 284 | if ( mode > 9 ) { |
takafuminaka | 6:3c2404870d39 | 285 | mode = 0; |
takafuminaka | 6:3c2404870d39 | 286 | } |
takafuminaka | 6:3c2404870d39 | 287 | |
takafuminaka | 4:3075954b341c | 288 | if ( skip == 0 ) { |
takafuminaka | 4:3075954b341c | 289 | #if NEED_LCD_OUTPUT |
takafuminaka | 4:3075954b341c | 290 | lcd.locate(0,0); |
takafuminaka | 4:3075954b341c | 291 | lcd.print(msg1); |
takafuminaka | 4:3075954b341c | 292 | lcd.locate(0,1); |
takafuminaka | 4:3075954b341c | 293 | lcd.print(msg2); |
takafuminaka | 6:3c2404870d39 | 294 | |
takafuminaka | 4:3075954b341c | 295 | #endif |
takafuminaka | 6:3c2404870d39 | 296 | skipped = 0; |
takafuminaka | 4:3075954b341c | 297 | wait(3); |
takafuminaka | 4:3075954b341c | 298 | } else { |
takafuminaka | 4:3075954b341c | 299 | skip = 0; |
takafuminaka | 6:3c2404870d39 | 300 | skipped = 1; |
takafuminaka | 4:3075954b341c | 301 | } |
yasuyuki | 0:6434ef883399 | 302 | } |
yasuyuki | 0:6434ef883399 | 303 | |
takafuminaka | 4:3075954b341c | 304 | } |