Dependencies:   ChaNFSSD mbed BMP085 SHT2x

Committer:
tosihisa
Date:
Fri Jan 13 10:15:08 2012 +0000
Revision:
1:83960ee4d9a2
Parent:
0:6089ae824f06
Child:
2:f546aaa0e1d5
add 5-sec wait before using CO2-sensor

Who changed what in which revision?

UserRevisionLine numberNew contents of line
tosihisa 1:83960ee4d9a2 1 /*
tosihisa 1:83960ee4d9a2 2 * このソフトウェアは、大阪市立大学と京都大学生存圏ミッション研究の共同研究の成果物です。
tosihisa 1:83960ee4d9a2 3 * ソースコードそのもののライセンスは、各ソースコードのライセンスに沿って公開します。
tosihisa 1:83960ee4d9a2 4 * 2012-1-4 Toshihisa T
tosihisa 1:83960ee4d9a2 5 */
tosihisa 0:6089ae824f06 6 #include "mbed.h"
tosihisa 0:6089ae824f06 7 #include "NMEA_parse.h"
tosihisa 0:6089ae824f06 8 #include "SDFileSystem.h"
tosihisa 0:6089ae824f06 9 #include "libT/mbed/tserialbuffer.h"
tosihisa 0:6089ae824f06 10 #include "BMP085.h"
tosihisa 0:6089ae824f06 11 #include "SHT25.h"
tosihisa 0:6089ae824f06 12 #include "SHT2x.h"
tosihisa 0:6089ae824f06 13 #include "AD7994.h"
tosihisa 0:6089ae824f06 14 //#include "TextLCD.h"
tosihisa 0:6089ae824f06 15 #include "TextLCD_20X4.h"
tosihisa 1:83960ee4d9a2 16 #include "UBXPacket.h"
tosihisa 0:6089ae824f06 17
tosihisa 0:6089ae824f06 18 using namespace libT;
tosihisa 0:6089ae824f06 19
tosihisa 1:83960ee4d9a2 20 #define _CO2_TEST
tosihisa 1:83960ee4d9a2 21 //#define _I2C_TEST
tosihisa 0:6089ae824f06 22
tosihisa 0:6089ae824f06 23 #define _USE_FS_NAME "sd"
tosihisa 0:6089ae824f06 24
tosihisa 0:6089ae824f06 25 Serial debug(USBTX,USBRX);
tosihisa 0:6089ae824f06 26
tosihisa 0:6089ae824f06 27 DigitalIn gps_int0(p24);
tosihisa 0:6089ae824f06 28 DigitalOut gps_reset(p25);
tosihisa 0:6089ae824f06 29 InterruptIn gps_pps(p26);
tosihisa 0:6089ae824f06 30 tSerialBuffer gps(p28,p27);
tosihisa 0:6089ae824f06 31 DigitalOut gps_pps_led(LED2);
tosihisa 1:83960ee4d9a2 32 #ifdef _I2C_TEST /* { */
tosihisa 1:83960ee4d9a2 33 I2C i2c(p9, p10); // sda, scl
tosihisa 1:83960ee4d9a2 34 #endif /* } */
tosihisa 0:6089ae824f06 35 BMP085 bmp085(p9, p10);
tosihisa 0:6089ae824f06 36 //SHT25 sht25(p9, p10);
tosihisa 0:6089ae824f06 37 //SHT2x sht25(p9,p10);
tosihisa 0:6089ae824f06 38 AD7994 ad7994(p9,p10);
tosihisa 0:6089ae824f06 39 TextLCD_20X4 lcd(p15, p16, p17, p18, p19, p20); // rs, e, d4-d7
tosihisa 0:6089ae824f06 40
tosihisa 1:83960ee4d9a2 41 SDFileSystem sd(p5, p6, p7, p8, _USE_FS_NAME);
tosihisa 0:6089ae824f06 42
tosihisa 0:6089ae824f06 43 DigitalOut myled(LED1);
tosihisa 0:6089ae824f06 44
tosihisa 1:83960ee4d9a2 45 #ifdef _CO2_TEST
tosihisa 0:6089ae824f06 46 tSerialBuffer CO2(p13,p14);
tosihisa 0:6089ae824f06 47 #endif
tosihisa 0:6089ae824f06 48
tosihisa 1:83960ee4d9a2 49 struct UBXPacket_s UBXPacket;
tosihisa 1:83960ee4d9a2 50
tosihisa 0:6089ae824f06 51 int pps_count = 0;
tosihisa 0:6089ae824f06 52 void gps_pps_rise()
tosihisa 0:6089ae824f06 53 {
tosihisa 0:6089ae824f06 54 gps_pps_led = ((pps_count+=1) & 1) ? 1 : 0;
tosihisa 0:6089ae824f06 55 }
tosihisa 0:6089ae824f06 56
tosihisa 0:6089ae824f06 57 void logFile_Init()
tosihisa 0:6089ae824f06 58 {
tosihisa 0:6089ae824f06 59 DIR *d;
tosihisa 0:6089ae824f06 60 struct dirent *p;
tosihisa 0:6089ae824f06 61
tosihisa 0:6089ae824f06 62 d = opendir("/" _USE_FS_NAME);
tosihisa 0:6089ae824f06 63 if ( d != NULL ) {
tosihisa 0:6089ae824f06 64 while ( (p = readdir(d)) != NULL ) {
tosihisa 0:6089ae824f06 65 debug.printf("FILE - %s\x0d\x0a", p->d_name);
tosihisa 0:6089ae824f06 66 }
tosihisa 0:6089ae824f06 67 closedir(d);
tosihisa 0:6089ae824f06 68 }
tosihisa 0:6089ae824f06 69 }
tosihisa 0:6089ae824f06 70
tosihisa 0:6089ae824f06 71 void FileWriteTest()
tosihisa 0:6089ae824f06 72 {
tosihisa 0:6089ae824f06 73 FILE *fp;
tosihisa 0:6089ae824f06 74 char *logname = "/" _USE_FS_NAME "/MBEDLOG.TXT";
tosihisa 0:6089ae824f06 75
tosihisa 0:6089ae824f06 76 debug.printf("FileWriteTest() open(%s) :", logname);
tosihisa 0:6089ae824f06 77 fp = fopen(logname,"a+w");
tosihisa 0:6089ae824f06 78 if(fp == NULL){
tosihisa 0:6089ae824f06 79 printf("NG\n");
tosihisa 0:6089ae824f06 80 return;
tosihisa 0:6089ae824f06 81 }
tosihisa 0:6089ae824f06 82 printf("OK\n");
tosihisa 0:6089ae824f06 83 fprintf(fp,"ENV Logger \"V1\" Start (BUILD:[" __DATE__ "/" __TIME__ "])\x0d\x0a");
tosihisa 0:6089ae824f06 84 fclose(fp);
tosihisa 0:6089ae824f06 85 }
tosihisa 0:6089ae824f06 86
tosihisa 1:83960ee4d9a2 87 #ifdef _CO2_TEST /* { */
tosihisa 0:6089ae824f06 88 int CO2_Read(unsigned short *val)
tosihisa 0:6089ae824f06 89 {
tosihisa 0:6089ae824f06 90 unsigned char sbuf[] = { 0xFE, 0x04, 0x00, 0x03, 0x00, 0x01, 0xD5, 0xC5 };
tosihisa 0:6089ae824f06 91 unsigned char rbuf[7];
tosihisa 0:6089ae824f06 92 int i;
tosihisa 0:6089ae824f06 93 unsigned short crc;
tosihisa 0:6089ae824f06 94 extern unsigned short modbus_CRC(unsigned char *DataPtr, unsigned short len);
tosihisa 0:6089ae824f06 95
tosihisa 0:6089ae824f06 96 for(i=0;i < sizeof(sbuf);i++){
tosihisa 0:6089ae824f06 97 //debug.printf("0x%02x ",sbuf[i]);
tosihisa 0:6089ae824f06 98 CO2.putc(sbuf[i]);
tosihisa 0:6089ae824f06 99 }
tosihisa 0:6089ae824f06 100 for(i=0;i < sizeof(rbuf);i++){
tosihisa 0:6089ae824f06 101 while(!CO2.readable()){}
tosihisa 0:6089ae824f06 102 rbuf[i] = CO2.getc();
tosihisa 0:6089ae824f06 103 }
tosihisa 1:83960ee4d9a2 104 if(rbuf[0] != 0xFE){
tosihisa 1:83960ee4d9a2 105 return -4;
tosihisa 1:83960ee4d9a2 106 }
tosihisa 1:83960ee4d9a2 107 if(rbuf[1] != 0x04){
tosihisa 1:83960ee4d9a2 108 return -1;
tosihisa 1:83960ee4d9a2 109 }
tosihisa 1:83960ee4d9a2 110 if(rbuf[2] != 0x02){
tosihisa 1:83960ee4d9a2 111 return -2;
tosihisa 1:83960ee4d9a2 112 }
tosihisa 0:6089ae824f06 113 crc = rbuf[6];
tosihisa 0:6089ae824f06 114 crc = (crc << 8) | rbuf[5];
tosihisa 0:6089ae824f06 115 if(crc != modbus_CRC(rbuf,5)){
tosihisa 1:83960ee4d9a2 116 return -3;
tosihisa 0:6089ae824f06 117 }
tosihisa 0:6089ae824f06 118 *val = rbuf[3];
tosihisa 0:6089ae824f06 119 *val = (*val << 8) | rbuf[4];
tosihisa 0:6089ae824f06 120 return 0;
tosihisa 0:6089ae824f06 121 }
tosihisa 0:6089ae824f06 122 #endif /* HAVE_CO2 } */
tosihisa 0:6089ae824f06 123
tosihisa 0:6089ae824f06 124 // BMP085 0xee
tosihisa 0:6089ae824f06 125 // AD9774 0x44
tosihisa 1:83960ee4d9a2 126 #ifdef _I2C_TEST /* { */
tosihisa 0:6089ae824f06 127 int i2c_found() {
tosihisa 0:6089ae824f06 128 int count = 0;
tosihisa 1:83960ee4d9a2 129 lcd.locate(0,2);
tosihisa 1:83960ee4d9a2 130 lcd.printf("%-19s","I2C Dev:");
tosihisa 1:83960ee4d9a2 131 lcd.locate(8,2);
tosihisa 0:6089ae824f06 132 for (int address=0; address<256; address+=2) {
tosihisa 0:6089ae824f06 133 if (!i2c.write(address, NULL, 0)) { // 0 returned is ok
tosihisa 1:83960ee4d9a2 134 lcd.printf("%02X ",address);
tosihisa 0:6089ae824f06 135 count++;
tosihisa 0:6089ae824f06 136 }
tosihisa 0:6089ae824f06 137 }
tosihisa 1:83960ee4d9a2 138 lcd.printf("\n");
tosihisa 1:83960ee4d9a2 139 lcd.printf("%d devices found", count);
tosihisa 0:6089ae824f06 140 return count;
tosihisa 0:6089ae824f06 141 }
tosihisa 1:83960ee4d9a2 142 #endif /* } */
tosihisa 1:83960ee4d9a2 143
tosihisa 1:83960ee4d9a2 144 unsigned char NMEA_CalcSum(unsigned char *str,int len)
tosihisa 1:83960ee4d9a2 145 {
tosihisa 1:83960ee4d9a2 146 unsigned char sum = 0;
tosihisa 1:83960ee4d9a2 147 int i;
tosihisa 1:83960ee4d9a2 148 for(i = 0;i < len;i++){
tosihisa 1:83960ee4d9a2 149 sum = sum ^ (*(str + i));
tosihisa 1:83960ee4d9a2 150 }
tosihisa 1:83960ee4d9a2 151 return sum;
tosihisa 1:83960ee4d9a2 152 }
tosihisa 1:83960ee4d9a2 153
tosihisa 1:83960ee4d9a2 154 void UBX_CalcSum(unsigned char *str,int len,unsigned char *sum)
tosihisa 1:83960ee4d9a2 155 {
tosihisa 1:83960ee4d9a2 156 int i;
tosihisa 1:83960ee4d9a2 157 *(sum + 0) = *(sum + 1) = 0;
tosihisa 1:83960ee4d9a2 158 for(i = 0;i < len;i++){
tosihisa 1:83960ee4d9a2 159 *(sum + 0) = *(sum + 0) + *(str+i);
tosihisa 1:83960ee4d9a2 160 *(sum + 1) = *(sum + 1) + *(sum + 0);
tosihisa 1:83960ee4d9a2 161 }
tosihisa 1:83960ee4d9a2 162 }
tosihisa 1:83960ee4d9a2 163
tosihisa 1:83960ee4d9a2 164 int UBX_WaitAck(struct UBXPacket_s *info)
tosihisa 1:83960ee4d9a2 165 {
tosihisa 1:83960ee4d9a2 166 UBXPacket.cjobst = 0;
tosihisa 1:83960ee4d9a2 167
tosihisa 1:83960ee4d9a2 168 while(1){
tosihisa 1:83960ee4d9a2 169 while(gps.readable()) {
tosihisa 1:83960ee4d9a2 170 if(UBXPacket_Parse(&UBXPacket,gps.getc()) == 100){
tosihisa 1:83960ee4d9a2 171 if((UBXPacket.cls == 0x05) && (UBXPacket.id == 0x01)){
tosihisa 1:83960ee4d9a2 172 return 1; /* ACK */
tosihisa 1:83960ee4d9a2 173 } else if((UBXPacket.cls == 0x05) && (UBXPacket.id == 0x00)){
tosihisa 1:83960ee4d9a2 174 return 0; /* NAK */
tosihisa 1:83960ee4d9a2 175 } else {
tosihisa 1:83960ee4d9a2 176 UBXPacket.cjobst = 0;
tosihisa 1:83960ee4d9a2 177 }
tosihisa 1:83960ee4d9a2 178 }
tosihisa 1:83960ee4d9a2 179 }
tosihisa 1:83960ee4d9a2 180 }
tosihisa 1:83960ee4d9a2 181 return -1;
tosihisa 1:83960ee4d9a2 182 }
tosihisa 1:83960ee4d9a2 183
tosihisa 1:83960ee4d9a2 184 unsigned char wbuf[1024];
tosihisa 1:83960ee4d9a2 185 int widx;
tosihisa 0:6089ae824f06 186
tosihisa 0:6089ae824f06 187 int main() {
tosihisa 0:6089ae824f06 188 int ret = 0;
tosihisa 0:6089ae824f06 189 float p, t;
tosihisa 0:6089ae824f06 190 int temp;
tosihisa 0:6089ae824f06 191 int userRegister;
tosihisa 0:6089ae824f06 192 unsigned short CO2_val;
tosihisa 0:6089ae824f06 193 unsigned long scanCount = 0;
tosihisa 1:83960ee4d9a2 194 FILE *fp;
tosihisa 1:83960ee4d9a2 195 char *logname = "/" _USE_FS_NAME "/ENVLOG.TXT";
tosihisa 1:83960ee4d9a2 196 char c;
tosihisa 0:6089ae824f06 197
tosihisa 0:6089ae824f06 198 debug.format(8,Serial::None,1);
tosihisa 0:6089ae824f06 199 debug.baud(115200);
tosihisa 0:6089ae824f06 200 debug.printf("ENV Logger \"V1\" Start (BUILD:[" __DATE__ "/" __TIME__ "])\n");
tosihisa 0:6089ae824f06 201
tosihisa 0:6089ae824f06 202 debug.printf("LCD Display\n");
tosihisa 0:6089ae824f06 203
tosihisa 0:6089ae824f06 204 //lcd.cls();
tosihisa 0:6089ae824f06 205 lcd.locate(0,0);
tosihisa 0:6089ae824f06 206 lcd.printf("ENV Logger \"V1\"");
tosihisa 1:83960ee4d9a2 207 #ifdef _CO2_TEST
tosihisa 1:83960ee4d9a2 208 wait(5.0);
tosihisa 1:83960ee4d9a2 209 #endif
tosihisa 0:6089ae824f06 210
tosihisa 0:6089ae824f06 211 //logFile_Init();
tosihisa 0:6089ae824f06 212 //FileWriteTest();
tosihisa 0:6089ae824f06 213
tosihisa 1:83960ee4d9a2 214 UBXPacket.cjobst = 0;
tosihisa 1:83960ee4d9a2 215
tosihisa 0:6089ae824f06 216 gps_pps.rise(gps_pps_rise);
tosihisa 0:6089ae824f06 217 gps.format(8,Serial::None,1);
tosihisa 0:6089ae824f06 218 gps.baud(9600);
tosihisa 0:6089ae824f06 219
tosihisa 0:6089ae824f06 220 gps_reset = 1;
tosihisa 0:6089ae824f06 221 wait(0.5);
tosihisa 0:6089ae824f06 222 gps_reset = 0;
tosihisa 0:6089ae824f06 223
tosihisa 1:83960ee4d9a2 224 #if 0
tosihisa 1:83960ee4d9a2 225 wait(0.5);
tosihisa 1:83960ee4d9a2 226 if(1){
tosihisa 1:83960ee4d9a2 227 //unsigned char modeStr[] = "PUBX,41,1,0007,0003,115200,0";
tosihisa 1:83960ee4d9a2 228 unsigned char modeStr[] = "PUBX,41,1,0007,0001,115200,0";
tosihisa 1:83960ee4d9a2 229 unsigned char sum = NMEA_CalcSum(modeStr,strlen((char *)modeStr));
tosihisa 1:83960ee4d9a2 230 debug.printf("SEND:[%s](0x%02X)\n",modeStr,sum);
tosihisa 1:83960ee4d9a2 231 gps.printf("$%s*%02X%c%c",modeStr,sum,0x0d,0x0a);
tosihisa 1:83960ee4d9a2 232
tosihisa 1:83960ee4d9a2 233 debug.printf("CHG BAUD:115200\n");
tosihisa 1:83960ee4d9a2 234 gps.format(8,Serial::None,1);
tosihisa 1:83960ee4d9a2 235 gps.baud(115200);
tosihisa 1:83960ee4d9a2 236 }
tosihisa 1:83960ee4d9a2 237
tosihisa 1:83960ee4d9a2 238 gps.recvStart();
tosihisa 1:83960ee4d9a2 239 wait(0.5);
tosihisa 0:6089ae824f06 240
tosihisa 1:83960ee4d9a2 241 if(1){
tosihisa 1:83960ee4d9a2 242 unsigned char chkStr[][11] = {
tosihisa 1:83960ee4d9a2 243 { 0xB5,0x62,0x06,0x01,0x03,0x00,0x02,0x10,0x02,0xFF,0xFF }, //RXM-RAW (0x02 0x10)
tosihisa 1:83960ee4d9a2 244 { 0xB5,0x62,0x06,0x01,0x03,0x00,0x02,0x30,0x02,0xFF,0xFF }, //RXM-ALM (0x02 0x30)
tosihisa 1:83960ee4d9a2 245 { 0xB5,0x62,0x06,0x01,0x03,0x00,0x02,0x31,0x02,0xFF,0xFF }, //RXM-EPH (0x02 0x31)
tosihisa 1:83960ee4d9a2 246 //{ 0xB5,0x62,0x06,0x01,0x03,0x00,0x02,0x41,0x02,0xFF,0xFF },
tosihisa 1:83960ee4d9a2 247 { 0xB5,0x62,0x06,0x01,0x03,0x00,0x02,0x11,0x02,0xFF,0xFF }, //RXM-SFRB (0x02 0x11)
tosihisa 1:83960ee4d9a2 248 { 0xB5,0x62,0x06,0x01,0x03,0x00,0x02,0x20,0x02,0xFF,0xFF }, //RXM-SVSI (0x02 0x20)
tosihisa 1:83960ee4d9a2 249 { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0xFF }, //END
tosihisa 1:83960ee4d9a2 250 };
tosihisa 1:83960ee4d9a2 251 int i,j;
tosihisa 1:83960ee4d9a2 252
tosihisa 1:83960ee4d9a2 253 for(j=0;chkStr[j][0] != 0x00;j++){
tosihisa 1:83960ee4d9a2 254 UBX_CalcSum(&chkStr[j][2],7,&chkStr[j][9]);
tosihisa 1:83960ee4d9a2 255 for(i = 0; i < sizeof(chkStr[0]);i++){
tosihisa 1:83960ee4d9a2 256 gps.putc(chkStr[j][i]);
tosihisa 1:83960ee4d9a2 257 }
tosihisa 1:83960ee4d9a2 258 debug.printf("%d : SET UBX Rate : %s\n",j,(UBX_WaitAck(&UBXPacket) == 1) ? "ACK" : "NAK");
tosihisa 1:83960ee4d9a2 259 }
tosihisa 1:83960ee4d9a2 260 }
tosihisa 1:83960ee4d9a2 261 UBXPacket.cjobst = 0;
tosihisa 1:83960ee4d9a2 262 #endif
tosihisa 1:83960ee4d9a2 263
tosihisa 1:83960ee4d9a2 264 #if 0
tosihisa 1:83960ee4d9a2 265 debug.printf("open(%s) :", logname);
tosihisa 1:83960ee4d9a2 266 if((fp = fopen(logname,"a+w")) == NULL){
tosihisa 1:83960ee4d9a2 267 printf("NG\n");
tosihisa 1:83960ee4d9a2 268 } else {
tosihisa 1:83960ee4d9a2 269 printf("OK\n");
tosihisa 1:83960ee4d9a2 270 }
tosihisa 1:83960ee4d9a2 271 widx = 0;
tosihisa 1:83960ee4d9a2 272 #endif
tosihisa 1:83960ee4d9a2 273
tosihisa 1:83960ee4d9a2 274 // ad7994.Start();
tosihisa 1:83960ee4d9a2 275
tosihisa 1:83960ee4d9a2 276 #ifdef _CO2_TEST
tosihisa 0:6089ae824f06 277 CO2.format(8,Serial::None,1);
tosihisa 0:6089ae824f06 278 CO2.baud(9600);
tosihisa 0:6089ae824f06 279 CO2.recvStart();
tosihisa 0:6089ae824f06 280 #endif
tosihisa 0:6089ae824f06 281
tosihisa 0:6089ae824f06 282 //sht25.SHT2x_SoftReset();
tosihisa 0:6089ae824f06 283 //sht25.SHT2x_ReadUserRegister(&userRegister); //get actual user reg
tosihisa 0:6089ae824f06 284 //userRegister = (userRegister & ~SHT2x_RES_MASK) | SHT2x_RES_12_14BIT;
tosihisa 0:6089ae824f06 285 //sht25.SHT2x_WriteUserRegister(&userRegister); //write changed user reg
tosihisa 0:6089ae824f06 286
tosihisa 0:6089ae824f06 287 while(1) {
tosihisa 0:6089ae824f06 288 //lcd.cls();
tosihisa 0:6089ae824f06 289 lcd.locate(0,1);
tosihisa 1:83960ee4d9a2 290 lcd.printf("SCAN: %-10ld",scanCount);
tosihisa 0:6089ae824f06 291
tosihisa 0:6089ae824f06 292 #if 0
tosihisa 0:6089ae824f06 293 while(gps.readable()) {
tosihisa 1:83960ee4d9a2 294 c = gps.getc();
tosihisa 1:83960ee4d9a2 295 if(UBXPacket_Parse(&UBXPacket,c) == 100){
tosihisa 1:83960ee4d9a2 296 debug.printf("%ld : GET UBX Packet (Class=0x%02X,ID=0x%02X,LEN=%d)\n",
tosihisa 1:83960ee4d9a2 297 scanCount,
tosihisa 1:83960ee4d9a2 298 UBXPacket.cls,
tosihisa 1:83960ee4d9a2 299 UBXPacket.id,
tosihisa 1:83960ee4d9a2 300 UBXPacket.len );
tosihisa 1:83960ee4d9a2 301 UBXPacket.cjobst = 0;
tosihisa 1:83960ee4d9a2 302 if(scanCount > 120){
tosihisa 1:83960ee4d9a2 303 if(widx >= 0){
tosihisa 1:83960ee4d9a2 304 fwrite(&wbuf,sizeof(wbuf[0]),widx,fp);
tosihisa 1:83960ee4d9a2 305 widx = 0;
tosihisa 1:83960ee4d9a2 306 }
tosihisa 1:83960ee4d9a2 307 fclose(fp);
tosihisa 1:83960ee4d9a2 308 }
tosihisa 1:83960ee4d9a2 309 }
tosihisa 1:83960ee4d9a2 310 if(fp != NULL){
tosihisa 1:83960ee4d9a2 311 wbuf[widx] = c;
tosihisa 1:83960ee4d9a2 312 widx++;
tosihisa 1:83960ee4d9a2 313 if(widx >= sizeof(wbuf)){
tosihisa 1:83960ee4d9a2 314 fwrite(&wbuf,sizeof(wbuf[0]),widx,fp);
tosihisa 1:83960ee4d9a2 315 widx = 0;
tosihisa 1:83960ee4d9a2 316 }
tosihisa 1:83960ee4d9a2 317 }
tosihisa 0:6089ae824f06 318 }
tosihisa 0:6089ae824f06 319 #endif
tosihisa 0:6089ae824f06 320
tosihisa 1:83960ee4d9a2 321 #if 0
tosihisa 0:6089ae824f06 322 bmp085.update();
tosihisa 0:6089ae824f06 323 p = bmp085.get_pressure();
tosihisa 0:6089ae824f06 324 t = bmp085.get_temperature();
tosihisa 0:6089ae824f06 325 lcd.locate(0,2);
tosihisa 0:6089ae824f06 326 lcd.printf("%-7.2fhPa %-7.2fC\n", p, t);
tosihisa 0:6089ae824f06 327 #endif
tosihisa 0:6089ae824f06 328
tosihisa 0:6089ae824f06 329 #if 0
tosihisa 0:6089ae824f06 330 sht25.SHT2x_MeasurePoll(TEMP,&temp);
tosihisa 0:6089ae824f06 331 p = sht25.SHT2x_CalcTemperatureC(temp);
tosihisa 0:6089ae824f06 332 sht25.SHT2x_MeasurePoll(HUMIDITY,&temp);
tosihisa 0:6089ae824f06 333 t = sht25.SHT2x_CalcRH(temp);
tosihisa 0:6089ae824f06 334 debug.printf("SHT25 = p:%6.2f C / t:%6.2f RH\n", p, t);
tosihisa 0:6089ae824f06 335 sht25.SHT2x_SoftReset();
tosihisa 0:6089ae824f06 336 #endif
tosihisa 1:83960ee4d9a2 337
tosihisa 0:6089ae824f06 338 #if 0
tosihisa 0:6089ae824f06 339 sht25.SoftReset();
tosihisa 0:6089ae824f06 340 printf("SHT25 = %f\n",sht25.get_temperature());
tosihisa 0:6089ae824f06 341 #endif
tosihisa 1:83960ee4d9a2 342
tosihisa 1:83960ee4d9a2 343 #ifdef _I2C_TEST /* { */
tosihisa 1:83960ee4d9a2 344 i2c_found();
tosihisa 1:83960ee4d9a2 345 #endif /* } */
tosihisa 0:6089ae824f06 346
tosihisa 1:83960ee4d9a2 347 #ifdef _CO2_TEST
tosihisa 1:83960ee4d9a2 348 lcd.locate(0,2);
tosihisa 1:83960ee4d9a2 349 ret = CO2_Read(&CO2_val);
tosihisa 1:83960ee4d9a2 350 if(ret == 0){
tosihisa 1:83960ee4d9a2 351 lcd.printf("CO2:%5dppm\n",CO2_val);
tosihisa 0:6089ae824f06 352 } else {
tosihisa 1:83960ee4d9a2 353 lcd.printf("CO2:NG(%d) \n",ret);
tosihisa 0:6089ae824f06 354 }
tosihisa 0:6089ae824f06 355 #endif
tosihisa 1:83960ee4d9a2 356
tosihisa 1:83960ee4d9a2 357 #if 0
tosihisa 0:6089ae824f06 358 ad7994.update();
tosihisa 0:6089ae824f06 359 lcd.locate(0,3);
tosihisa 0:6089ae824f06 360 lcd.printf("A/D:%04X/%04X",
tosihisa 0:6089ae824f06 361 ad7994.readChn(0),
tosihisa 0:6089ae824f06 362 ad7994.readChn(1));
tosihisa 1:83960ee4d9a2 363 #endif
tosihisa 0:6089ae824f06 364
tosihisa 0:6089ae824f06 365 myled = 1;
tosihisa 1:83960ee4d9a2 366 wait(0.5);
tosihisa 0:6089ae824f06 367 myled = 0;
tosihisa 1:83960ee4d9a2 368 wait(0.5);
tosihisa 0:6089ae824f06 369
tosihisa 0:6089ae824f06 370 scanCount++;
tosihisa 0:6089ae824f06 371 }
tosihisa 0:6089ae824f06 372 }