Sergeh Vartanian
/
Coordinator
WSN Coordinator
Fork of I2C_HelloWorld_Mbed by
main.cpp@1:f9ead8ebc68b, 2014-06-16 (annotated)
- Committer:
- LAvtec818
- Date:
- Mon Jun 16 18:17:19 2014 +0000
- Revision:
- 1:f9ead8ebc68b
- Parent:
- 0:f76c26307f9a
Coordinator
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
mbed_official | 0:f76c26307f9a | 1 | #include "mbed.h" |
LAvtec818 | 1:f9ead8ebc68b | 2 | #include "PowerControl.h" |
LAvtec818 | 1:f9ead8ebc68b | 3 | #include "EthernetPowerControl.h" |
mbed_official | 0:f76c26307f9a | 4 | |
mbed_official | 0:f76c26307f9a | 5 | // Read temperature from LM75BD |
LAvtec818 | 1:f9ead8ebc68b | 6 | #define USR_POWERDOWN (0x104) |
mbed_official | 0:f76c26307f9a | 7 | |
mbed_official | 0:f76c26307f9a | 8 | I2C i2c(p28, p27); |
LAvtec818 | 1:f9ead8ebc68b | 9 | Serial pc(USBTX, USBRX); // tx, rx |
LAvtec818 | 1:f9ead8ebc68b | 10 | InterruptIn PIR_in(p5); |
LAvtec818 | 1:f9ead8ebc68b | 11 | Serial xbee1(p9,p10); |
LAvtec818 | 1:f9ead8ebc68b | 12 | DigitalOut rst1(p11); |
LAvtec818 | 1:f9ead8ebc68b | 13 | AnalogIn light(p20); |
mbed_official | 0:f76c26307f9a | 14 | |
LAvtec818 | 1:f9ead8ebc68b | 15 | Timer cal_temp_time; |
LAvtec818 | 1:f9ead8ebc68b | 16 | Timer cal_temp_time_c; |
LAvtec818 | 1:f9ead8ebc68b | 17 | |
LAvtec818 | 1:f9ead8ebc68b | 18 | Timer PIR_c; |
LAvtec818 | 1:f9ead8ebc68b | 19 | //Ticker flipper; |
LAvtec818 | 1:f9ead8ebc68b | 20 | |
LAvtec818 | 1:f9ead8ebc68b | 21 | const int tx_addr = 0x14; |
LAvtec818 | 1:f9ead8ebc68b | 22 | const int rx_addr = 0x15; |
LAvtec818 | 1:f9ead8ebc68b | 23 | char readbuff [35]; |
LAvtec818 | 1:f9ead8ebc68b | 24 | char rb [35]; |
LAvtec818 | 1:f9ead8ebc68b | 25 | char tx_cmd[1]; |
LAvtec818 | 1:f9ead8ebc68b | 26 | int y[18]; |
LAvtec818 | 1:f9ead8ebc68b | 27 | int x[16]; |
LAvtec818 | 1:f9ead8ebc68b | 28 | int occupancy_count = 0; |
LAvtec818 | 1:f9ead8ebc68b | 29 | char c = 'y'; |
LAvtec818 | 1:f9ead8ebc68b | 30 | int flag = 0; |
LAvtec818 | 1:f9ead8ebc68b | 31 | int room_temp = 0; |
LAvtec818 | 1:f9ead8ebc68b | 32 | int cal_temp[16]; |
LAvtec818 | 1:f9ead8ebc68b | 33 | int flag_c = 0; |
LAvtec818 | 1:f9ead8ebc68b | 34 | int room_temp_c = 0; |
LAvtec818 | 1:f9ead8ebc68b | 35 | int cal_temp_c[16]; |
LAvtec818 | 1:f9ead8ebc68b | 36 | int temp_occupancy_count_c = 0; |
LAvtec818 | 1:f9ead8ebc68b | 37 | int PIR_tag = 0; |
LAvtec818 | 1:f9ead8ebc68b | 38 | int initial_flag = 0; |
LAvtec818 | 1:f9ead8ebc68b | 39 | int after_cond_high = 0; |
LAvtec818 | 1:f9ead8ebc68b | 40 | int after_cond_low = 0; |
LAvtec818 | 1:f9ead8ebc68b | 41 | int temp_occupancy_count_ed = 0; |
LAvtec818 | 1:f9ead8ebc68b | 42 | int low_duration = 0; |
LAvtec818 | 1:f9ead8ebc68b | 43 | int high_duration = 0; |
LAvtec818 | 1:f9ead8ebc68b | 44 | int fluc_counter = 0; |
LAvtec818 | 1:f9ead8ebc68b | 45 | int human_temp_c = 0; |
LAvtec818 | 1:f9ead8ebc68b | 46 | int human_temp = 0; |
LAvtec818 | 1:f9ead8ebc68b | 47 | |
LAvtec818 | 1:f9ead8ebc68b | 48 | void flip() { |
LAvtec818 | 1:f9ead8ebc68b | 49 | // pc.printf("kos kesh"); |
LAvtec818 | 1:f9ead8ebc68b | 50 | if (PIR_tag == 1) |
LAvtec818 | 1:f9ead8ebc68b | 51 | { |
LAvtec818 | 1:f9ead8ebc68b | 52 | if (PIR_c.read() >= 30) //check to see if the PIR sensor has been low for 30 seconds or more, if so, then most likely someone new just entered |
LAvtec818 | 1:f9ead8ebc68b | 53 | temp_occupancy_count_c = 1; |
LAvtec818 | 1:f9ead8ebc68b | 54 | else if (PIR_c.read() <= 10) |
LAvtec818 | 1:f9ead8ebc68b | 55 | temp_occupancy_count_c = temp_occupancy_count_ed; |
LAvtec818 | 1:f9ead8ebc68b | 56 | PIR_c.reset(); |
LAvtec818 | 1:f9ead8ebc68b | 57 | PIR_tag = 0; |
LAvtec818 | 1:f9ead8ebc68b | 58 | } |
LAvtec818 | 1:f9ead8ebc68b | 59 | |
LAvtec818 | 1:f9ead8ebc68b | 60 | |
LAvtec818 | 1:f9ead8ebc68b | 61 | tx_cmd[0] = 0x4C; |
LAvtec818 | 1:f9ead8ebc68b | 62 | //tx_cmd[1] = 0x4C; |
LAvtec818 | 1:f9ead8ebc68b | 63 | //i2c.write(tx_addr, |
LAvtec818 | 1:f9ead8ebc68b | 64 | i2c.write(tx_addr, tx_cmd , 1); |
LAvtec818 | 1:f9ead8ebc68b | 65 | |
LAvtec818 | 1:f9ead8ebc68b | 66 | wait(0.25); |
LAvtec818 | 1:f9ead8ebc68b | 67 | |
LAvtec818 | 1:f9ead8ebc68b | 68 | //i2c.write(rx_addr, cmd, 1); |
LAvtec818 | 1:f9ead8ebc68b | 69 | i2c.read(rx_addr, readbuff, 35); |
LAvtec818 | 1:f9ead8ebc68b | 70 | |
LAvtec818 | 1:f9ead8ebc68b | 71 | //float tmp = (float((cmd[0]<<8)|cmd[1]) / 256.0); |
LAvtec818 | 1:f9ead8ebc68b | 72 | for (int count = 0; count < 17; count++) |
LAvtec818 | 1:f9ead8ebc68b | 73 | y[count] = 256*readbuff[(count*2)+1] + readbuff [(count*2)]; |
LAvtec818 | 1:f9ead8ebc68b | 74 | |
LAvtec818 | 1:f9ead8ebc68b | 75 | y[17] = readbuff[34]; |
LAvtec818 | 1:f9ead8ebc68b | 76 | |
LAvtec818 | 1:f9ead8ebc68b | 77 | |
LAvtec818 | 1:f9ead8ebc68b | 78 | //calibrating |
LAvtec818 | 1:f9ead8ebc68b | 79 | |
LAvtec818 | 1:f9ead8ebc68b | 80 | for (int temp_comp_c = 0; temp_comp_c < 16; temp_comp_c++) |
LAvtec818 | 1:f9ead8ebc68b | 81 | { |
LAvtec818 | 1:f9ead8ebc68b | 82 | if (( x[temp_comp_c] >= 240) && (x[temp_comp_c] <= 300)) |
LAvtec818 | 1:f9ead8ebc68b | 83 | room_temp_c = room_temp_c + 1; |
LAvtec818 | 1:f9ead8ebc68b | 84 | if (( x[temp_comp_c] >= 300) && (x[temp_comp_c] <= 400)) |
LAvtec818 | 1:f9ead8ebc68b | 85 | human_temp_c = human_temp_c + 1;} |
LAvtec818 | 1:f9ead8ebc68b | 86 | if (flag_c == 0) { |
LAvtec818 | 1:f9ead8ebc68b | 87 | if (room_temp_c >= 12){ |
LAvtec818 | 1:f9ead8ebc68b | 88 | for (int cal_c = 0; cal_c < 16; cal_c++) |
LAvtec818 | 1:f9ead8ebc68b | 89 | cal_temp_c[cal_c] = x[cal_c]; |
LAvtec818 | 1:f9ead8ebc68b | 90 | } |
LAvtec818 | 1:f9ead8ebc68b | 91 | flag_c = 1; |
LAvtec818 | 1:f9ead8ebc68b | 92 | cal_temp_time_c.start(); |
LAvtec818 | 1:f9ead8ebc68b | 93 | } |
LAvtec818 | 1:f9ead8ebc68b | 94 | |
LAvtec818 | 1:f9ead8ebc68b | 95 | if (cal_temp_time_c.read_ms() == 900000){ |
LAvtec818 | 1:f9ead8ebc68b | 96 | flag_c = 0; |
LAvtec818 | 1:f9ead8ebc68b | 97 | cal_temp_time_c.reset();} |
LAvtec818 | 1:f9ead8ebc68b | 98 | |
LAvtec818 | 1:f9ead8ebc68b | 99 | |
LAvtec818 | 1:f9ead8ebc68b | 100 | if (after_cond_high == 1){ |
LAvtec818 | 1:f9ead8ebc68b | 101 | if ((PIR_c.read() <= 10) && (room_temp_c + room_temp <= 28) && (fluc_counter == 5)) //check to see if the PIR sensor has been high for 10 or less seconds if so, someone just passed by and probably left |
LAvtec818 | 1:f9ead8ebc68b | 102 | { temp_occupancy_count_c = temp_occupancy_count_c;} |
LAvtec818 | 1:f9ead8ebc68b | 103 | high_duration = PIR_c.read(); //how long did the PIR signal stay high (busy) |
LAvtec818 | 1:f9ead8ebc68b | 104 | PIR_c.reset(); //reset timer |
LAvtec818 | 1:f9ead8ebc68b | 105 | if ((high_duration > low_duration) && (room_temp_c + room_temp <= 10) && (fluc_counter == 5)) |
LAvtec818 | 1:f9ead8ebc68b | 106 | temp_occupancy_count_c++; |
LAvtec818 | 1:f9ead8ebc68b | 107 | after_cond_low = 1; |
LAvtec818 | 1:f9ead8ebc68b | 108 | after_cond_high = 0; |
LAvtec818 | 1:f9ead8ebc68b | 109 | } |
LAvtec818 | 1:f9ead8ebc68b | 110 | |
LAvtec818 | 1:f9ead8ebc68b | 111 | if (after_cond_low == 1){ |
LAvtec818 | 1:f9ead8ebc68b | 112 | if ((PIR_c.read() >= 120) && (room_temp_c + room_temp >= 24) && (fluc_counter == 5)) |
LAvtec818 | 1:f9ead8ebc68b | 113 | temp_occupancy_count_c--; |
LAvtec818 | 1:f9ead8ebc68b | 114 | else if ((PIR_c.read() >= 600) && (room_temp_c+room_temp >= 24) && (fluc_counter == 5)) |
LAvtec818 | 1:f9ead8ebc68b | 115 | temp_occupancy_count_c = 1; |
LAvtec818 | 1:f9ead8ebc68b | 116 | low_duration = PIR_c.read(); //how long did the PIR signal stay low |
LAvtec818 | 1:f9ead8ebc68b | 117 | PIR_c.reset(); //reset timer |
LAvtec818 | 1:f9ead8ebc68b | 118 | if (low_duration > high_duration) //comparing low and high duration |
LAvtec818 | 1:f9ead8ebc68b | 119 | temp_occupancy_count_c--; |
LAvtec818 | 1:f9ead8ebc68b | 120 | after_cond_low = 0; |
LAvtec818 | 1:f9ead8ebc68b | 121 | after_cond_high = 1; |
LAvtec818 | 1:f9ead8ebc68b | 122 | } |
LAvtec818 | 1:f9ead8ebc68b | 123 | |
LAvtec818 | 1:f9ead8ebc68b | 124 | if (initial_flag == 0){ |
LAvtec818 | 1:f9ead8ebc68b | 125 | if (PIR_in == 1){ //first raising edge of Coord PIR Sensor (someone has entered the room) |
LAvtec818 | 1:f9ead8ebc68b | 126 | PIR_c.start(); // start timer for PIR sensor processing |
LAvtec818 | 1:f9ead8ebc68b | 127 | // temp_occupancy_count_c = temp_occupancy_count_c + 1 |
LAvtec818 | 1:f9ead8ebc68b | 128 | initial_flag = 1 ; |
LAvtec818 | 1:f9ead8ebc68b | 129 | after_cond_high = 1;} //initial condition met, neg to pos edge |
LAvtec818 | 1:f9ead8ebc68b | 130 | // initial_flag = 1; |
LAvtec818 | 1:f9ead8ebc68b | 131 | else { |
LAvtec818 | 1:f9ead8ebc68b | 132 | PIR_c.start(); |
LAvtec818 | 1:f9ead8ebc68b | 133 | PIR_tag = 1; |
LAvtec818 | 1:f9ead8ebc68b | 134 | } |
LAvtec818 | 1:f9ead8ebc68b | 135 | } |
LAvtec818 | 1:f9ead8ebc68b | 136 | |
LAvtec818 | 1:f9ead8ebc68b | 137 | room_temp_c = 0; |
LAvtec818 | 1:f9ead8ebc68b | 138 | room_temp = 0; |
LAvtec818 | 1:f9ead8ebc68b | 139 | human_temp_c = 0; |
LAvtec818 | 1:f9ead8ebc68b | 140 | human_temp = 0; |
LAvtec818 | 1:f9ead8ebc68b | 141 | pc.printf("Coordinator:\n\r%d\t%d\t%d\t%d\n\r%d\t%d\t%d\t%d\n\r%d\t%d\t%d\t%d\n\r%d\t%d\t%d\t%d\n\r\n\r",y[1],y[2],y[3], |
LAvtec818 | 1:f9ead8ebc68b | 142 | y[4],y[5],y[6],y[7],y[8],y[9],y[10],y[11],y[12],y[13],y[14],y[15],y[16]); |
LAvtec818 | 1:f9ead8ebc68b | 143 | pc.printf("Occupany Count: %d\n\r", temp_occupancy_count_c); |
LAvtec818 | 1:f9ead8ebc68b | 144 | if (temp_occupancy_count_c <= 3) |
LAvtec818 | 1:f9ead8ebc68b | 145 | pc.printf("Low Occupancy\n\r"); |
LAvtec818 | 1:f9ead8ebc68b | 146 | if ((temp_occupancy_count_c <= 6) && (temp_occupancy_count_c > 3)) |
LAvtec818 | 1:f9ead8ebc68b | 147 | pc.printf("Mid Occupancy\n\r"); |
LAvtec818 | 1:f9ead8ebc68b | 148 | if (temp_occupancy_count_c > 6) |
LAvtec818 | 1:f9ead8ebc68b | 149 | pc.printf("High Occupancy\n\r"); |
LAvtec818 | 1:f9ead8ebc68b | 150 | } |
mbed_official | 0:f76c26307f9a | 151 | |
mbed_official | 0:f76c26307f9a | 152 | int main() { |
LAvtec818 | 1:f9ead8ebc68b | 153 | |
LAvtec818 | 1:f9ead8ebc68b | 154 | |
LAvtec818 | 1:f9ead8ebc68b | 155 | i2c.frequency(50000); |
LAvtec818 | 1:f9ead8ebc68b | 156 | xbee1.baud(115200); |
LAvtec818 | 1:f9ead8ebc68b | 157 | |
LAvtec818 | 1:f9ead8ebc68b | 158 | PHY_PowerDown(); |
LAvtec818 | 1:f9ead8ebc68b | 159 | |
LAvtec818 | 1:f9ead8ebc68b | 160 | PIR_in.rise(&flip); |
LAvtec818 | 1:f9ead8ebc68b | 161 | PIR_in.fall(&flip); |
LAvtec818 | 1:f9ead8ebc68b | 162 | |
LAvtec818 | 1:f9ead8ebc68b | 163 | rst1 = 0; //Set reset pin to 0 |
LAvtec818 | 1:f9ead8ebc68b | 164 | wait_ms(1);//Wait at least one millisecond |
LAvtec818 | 1:f9ead8ebc68b | 165 | rst1 = 1;//Set reset pin to 1 |
LAvtec818 | 1:f9ead8ebc68b | 166 | wait_ms(1); |
LAvtec818 | 1:f9ead8ebc68b | 167 | |
LAvtec818 | 1:f9ead8ebc68b | 168 | // pc.printf("not this"); |
LAvtec818 | 1:f9ead8ebc68b | 169 | wait_ms(75000); //wait one minute for initial start up |
LAvtec818 | 1:f9ead8ebc68b | 170 | |
mbed_official | 0:f76c26307f9a | 171 | while (1) { |
LAvtec818 | 1:f9ead8ebc68b | 172 | |
LAvtec818 | 1:f9ead8ebc68b | 173 | |
LAvtec818 | 1:f9ead8ebc68b | 174 | // xbee1.putc(c); |
LAvtec818 | 1:f9ead8ebc68b | 175 | if (xbee1.readable()){ |
LAvtec818 | 1:f9ead8ebc68b | 176 | // pc.printf("receiving\n\r"); |
LAvtec818 | 1:f9ead8ebc68b | 177 | // pc.putc(xbee1.getc()); |
LAvtec818 | 1:f9ead8ebc68b | 178 | |
LAvtec818 | 1:f9ead8ebc68b | 179 | if (fluc_counter < 6) |
LAvtec818 | 1:f9ead8ebc68b | 180 | fluc_counter++; |
LAvtec818 | 1:f9ead8ebc68b | 181 | |
LAvtec818 | 1:f9ead8ebc68b | 182 | for (int j = 2; j < 34; j++) |
LAvtec818 | 1:f9ead8ebc68b | 183 | rb[j] = xbee1.getc(); |
LAvtec818 | 1:f9ead8ebc68b | 184 | |
LAvtec818 | 1:f9ead8ebc68b | 185 | for (int z = 0; z < 16; z++) |
LAvtec818 | 1:f9ead8ebc68b | 186 | x[z] = 256*rb[(2*z)+3]+rb[(2*z)+2]; |
LAvtec818 | 1:f9ead8ebc68b | 187 | |
LAvtec818 | 1:f9ead8ebc68b | 188 | //calibrating |
LAvtec818 | 1:f9ead8ebc68b | 189 | |
LAvtec818 | 1:f9ead8ebc68b | 190 | for (int temp_comp = 0; temp_comp < 16; temp_comp++) |
LAvtec818 | 1:f9ead8ebc68b | 191 | { |
LAvtec818 | 1:f9ead8ebc68b | 192 | if (( x[temp_comp] >= 240) && (x[temp_comp] <= 300)) |
LAvtec818 | 1:f9ead8ebc68b | 193 | room_temp = room_temp + 1; |
LAvtec818 | 1:f9ead8ebc68b | 194 | if (( x[temp_comp] >= 300) && (x[temp_comp] <= 400)) |
LAvtec818 | 1:f9ead8ebc68b | 195 | human_temp = human_temp + 1;} |
LAvtec818 | 1:f9ead8ebc68b | 196 | if (flag == 0) { |
LAvtec818 | 1:f9ead8ebc68b | 197 | if (room_temp >= 12){ //good place to set the initial flag to begin duration timing |
LAvtec818 | 1:f9ead8ebc68b | 198 | for (int cal = 0; cal < 16; cal++) |
LAvtec818 | 1:f9ead8ebc68b | 199 | cal_temp[cal] = x[cal]; |
LAvtec818 | 1:f9ead8ebc68b | 200 | } |
LAvtec818 | 1:f9ead8ebc68b | 201 | flag = 1; |
LAvtec818 | 1:f9ead8ebc68b | 202 | cal_temp_time.start(); |
LAvtec818 | 1:f9ead8ebc68b | 203 | } |
LAvtec818 | 1:f9ead8ebc68b | 204 | |
LAvtec818 | 1:f9ead8ebc68b | 205 | if (cal_temp_time.read_ms() == 900000){ |
LAvtec818 | 1:f9ead8ebc68b | 206 | flag = 0; |
LAvtec818 | 1:f9ead8ebc68b | 207 | cal_temp_time.reset();} |
LAvtec818 | 1:f9ead8ebc68b | 208 | |
LAvtec818 | 1:f9ead8ebc68b | 209 | // pc.printf("x = %d\n\r", x); |
LAvtec818 | 1:f9ead8ebc68b | 210 | |
LAvtec818 | 1:f9ead8ebc68b | 211 | pc.printf("End Device\n\r%d\t%d\t%d\t%d\n\r%d\t%d\t%d\t%d\n\r%d\t%d\t%d\t%d\n\r%d\t%d\t%d\t%d\n\r\n\r",x[0],x[1],x[2],x[3], |
LAvtec818 | 1:f9ead8ebc68b | 212 | x[4],x[5],x[6],x[7],x[8],x[9],x[10],x[11],x[12],x[13],x[14],x[15]); |
LAvtec818 | 1:f9ead8ebc68b | 213 | pc.printf("Occupany Count: %d\n\r", temp_occupancy_count_c);} |
LAvtec818 | 1:f9ead8ebc68b | 214 | |
LAvtec818 | 1:f9ead8ebc68b | 215 | if ((PIR_c.read() >= 600) && (PIR_in == 0)) { //if the signal has been low for 5 or more minutes, and the PIR_in is low, check the temp, if room, occupancy zero |
LAvtec818 | 1:f9ead8ebc68b | 216 | tx_cmd[0] = 0x4C; |
LAvtec818 | 1:f9ead8ebc68b | 217 | i2c.write(tx_addr, tx_cmd , 1); |
LAvtec818 | 1:f9ead8ebc68b | 218 | |
LAvtec818 | 1:f9ead8ebc68b | 219 | wait(0.25); |
mbed_official | 0:f76c26307f9a | 220 | |
LAvtec818 | 1:f9ead8ebc68b | 221 | i2c.read(rx_addr, readbuff, 35); |
mbed_official | 0:f76c26307f9a | 222 | |
LAvtec818 | 1:f9ead8ebc68b | 223 | for (int count = 0; count < 17; count++) |
LAvtec818 | 1:f9ead8ebc68b | 224 | y[count] = 256*readbuff[(count*2)+1] + readbuff [(count*2)]; |
LAvtec818 | 1:f9ead8ebc68b | 225 | |
LAvtec818 | 1:f9ead8ebc68b | 226 | y[17] = readbuff[34]; |
LAvtec818 | 1:f9ead8ebc68b | 227 | |
LAvtec818 | 1:f9ead8ebc68b | 228 | for (int temp_comp_c = 0; temp_comp_c < 16; temp_comp_c++) |
LAvtec818 | 1:f9ead8ebc68b | 229 | { |
LAvtec818 | 1:f9ead8ebc68b | 230 | if (( x[temp_comp_c] >= 240) && (x[temp_comp_c] <= 300)) |
LAvtec818 | 1:f9ead8ebc68b | 231 | room_temp_c = room_temp_c + 1; |
LAvtec818 | 1:f9ead8ebc68b | 232 | if (( x[temp_comp_c] >= 300) && (x[temp_comp_c] <= 400)) |
LAvtec818 | 1:f9ead8ebc68b | 233 | human_temp_c = human_temp_c + 1;} |
LAvtec818 | 1:f9ead8ebc68b | 234 | |
LAvtec818 | 1:f9ead8ebc68b | 235 | } |
LAvtec818 | 1:f9ead8ebc68b | 236 | |
LAvtec818 | 1:f9ead8ebc68b | 237 | if (room_temp_c >= 12) |
LAvtec818 | 1:f9ead8ebc68b | 238 | temp_occupancy_count_c = 0; |
LAvtec818 | 1:f9ead8ebc68b | 239 | if (human_temp_c >= 6) |
LAvtec818 | 1:f9ead8ebc68b | 240 | temp_occupancy_count_c = 1; |
LAvtec818 | 1:f9ead8ebc68b | 241 | if (human_temp_c >= 8) |
LAvtec818 | 1:f9ead8ebc68b | 242 | temp_occupancy_count_c = 2; |
LAvtec818 | 1:f9ead8ebc68b | 243 | |
LAvtec818 | 1:f9ead8ebc68b | 244 | |
LAvtec818 | 1:f9ead8ebc68b | 245 | if (light < 0.5){ //and thermal temp readings are low, need to think about this a little more |
LAvtec818 | 1:f9ead8ebc68b | 246 | occupancy_count = 0; |
LAvtec818 | 1:f9ead8ebc68b | 247 | } |
LAvtec818 | 1:f9ead8ebc68b | 248 | |
LAvtec818 | 1:f9ead8ebc68b | 249 | // sleep(); |
LAvtec818 | 1:f9ead8ebc68b | 250 | // pc.printf("system on idle\n\r"); |
LAvtec818 | 1:f9ead8ebc68b | 251 | //pc.printf("x1 = %d\n",x1); |
mbed_official | 0:f76c26307f9a | 252 | } |
mbed_official | 0:f76c26307f9a | 253 | } |