mbed Sensor node for Instrumented Booth over ETH.
Dependencies: EthernetInterface-1 MaxbotixDriver Presence HTU21D_TEMP_HUMID_SENSOR_SAMPLE Resources SHARPIR mbed-rtos mbed-src WDT_K64F nsdl_lib
Fork of Trenton_Switch_LPC1768_ETH by
sensor_ctl.h@46:807e9cf63f4c, 2015-07-16 (annotated)
- Committer:
- andcor02
- Date:
- Thu Jul 16 13:28:49 2015 +0000
- Revision:
- 46:807e9cf63f4c
- Parent:
- 44:f70163204018
Added Serial VCOM debug over USB.
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
andcor02 | 25:cb16c5248769 | 1 | #ifndef SENSOR_CTL_H_ |
andcor02 | 25:cb16c5248769 | 2 | #define SENSOR_CTL_H_ |
andcor02 | 25:cb16c5248769 | 3 | /** Defines sensor control functionality for CES Instrumented Booth demonstrations */ |
andcor02 | 25:cb16c5248769 | 4 | |
andcor02 | 25:cb16c5248769 | 5 | |
andcor02 | 25:cb16c5248769 | 6 | |
andcor02 | 25:cb16c5248769 | 7 | /******* Sensor Timer/Debounce Periods (ms) **********/ |
erigow01 | 27:6017a643f386 | 8 | #define TEMPERATURE_REPORT_PERIOD_MS 60000 // Every Minute |
erigow01 | 44:f70163204018 | 9 | #define SOUND_SAMPLE_PERIOD_MS 100 // Every 100 ms |
erigow01 | 27:6017a643f386 | 10 | #define SOUND_REPORT_PERIOD_MS 10000 // Every 10 seconds |
erigow01 | 31:389416beb4c3 | 11 | #define DOOR_HEIGHT_PERIOD_MS 50 // Every 50 ms |
erigow01 | 44:f70163204018 | 12 | #define MOTION_REPORT_PERIOD_MS 250 // Every Quarter Second. |
erigow01 | 44:f70163204018 | 13 | #define DOOR_TRIP_REPORT_PERIOD_MS 250 // Every quarter second. |
erigow01 | 27:6017a643f386 | 14 | #define KIOSK_REPORT_PERIOD_MS 1000 // Every Second |
erigow01 | 44:f70163204018 | 15 | #define ACCELEROMETER_PERIOD_MS 200 // Every 200ms |
andcor02 | 25:cb16c5248769 | 16 | |
erigow01 | 44:f70163204018 | 17 | |
erigow01 | 44:f70163204018 | 18 | #define DOOR_SENSOR_DEBOUNCE_MS 1000 |
erigow01 | 44:f70163204018 | 19 | #define KIOSK_SENSOR_DEBOUNCE_MS 10000 |
erigow01 | 44:f70163204018 | 20 | #define PIR_SENSOR_DEBOUNCE_MS 300000 // Five Minutes |
andcor02 | 25:cb16c5248769 | 21 | |
erigow01 | 31:389416beb4c3 | 22 | |
andcor02 | 25:cb16c5248769 | 23 | //Externally visible values. |
andcor02 | 25:cb16c5248769 | 24 | extern float current_temperature_value; |
erigow01 | 44:f70163204018 | 25 | extern float current_ambient_noise_value; |
andcor02 | 30:b74aa0729b07 | 26 | extern float current_height_value; |
andcor02 | 25:cb16c5248769 | 27 | extern bool current_presence_value; //Either from Kiosk or PIR |
andcor02 | 25:cb16c5248769 | 28 | extern bool current_door_trip_value; |
erigow01 | 44:f70163204018 | 29 | extern bool current_accelerometer_value; |
andcor02 | 25:cb16c5248769 | 30 | |
andcor02 | 25:cb16c5248769 | 31 | |
andcor02 | 30:b74aa0729b07 | 32 | |
andcor02 | 25:cb16c5248769 | 33 | //Initialisation |
andcor02 | 25:cb16c5248769 | 34 | void init_sensors(); |
andcor02 | 25:cb16c5248769 | 35 | |
andcor02 | 25:cb16c5248769 | 36 | //Handle timers/interrupts/etc |
andcor02 | 25:cb16c5248769 | 37 | void handle_temperature_report_timer(); |
andcor02 | 25:cb16c5248769 | 38 | void handle_microphone_sample_timer(); |
andcor02 | 25:cb16c5248769 | 39 | void handle_microphone_report_timer(); |
erigow01 | 26:4cac6b346e4f | 40 | void handle_motion_report_timer(); |
andcor02 | 25:cb16c5248769 | 41 | void handle_door_height_sample_timer(); |
erigow01 | 26:4cac6b346e4f | 42 | void handle_door_trip_report_timer(); |
erigow01 | 27:6017a643f386 | 43 | void handle_kiosk_report_timer(); |
erigow01 | 44:f70163204018 | 44 | void handle_accelerometer_report_timer(); |
andcor02 | 25:cb16c5248769 | 45 | |
andcor02 | 25:cb16c5248769 | 46 | #endif // SENSOR_CTL_H_ |