Commit ba4f550806460eb5d2124aae9022b5a0b54270c6
1 parent
bbea0c5b
--no commit message
Showing
2 changed files
with
35 additions
and
2 deletions
Project/applications/smartcities/include/sensors.h
@@ -10,7 +10,7 @@ | @@ -10,7 +10,7 @@ | ||
10 | 10 | ||
11 | #define LIGHT_ADDR 0x39 | 11 | #define LIGHT_ADDR 0x39 |
12 | #define DISTANCE_ADDR 0x01 | 12 | #define DISTANCE_ADDR 0x01 |
13 | -#define PRESSURE_ADDR 0x77 | 13 | +#define PRESSURE_ADDR 0x77 //Cambiar a MPL115A |
14 | #define HUMIDITY_TEMP_ADDR 0x27 | 14 | #define HUMIDITY_TEMP_ADDR 0x27 |
15 | //REMEMBER TO UPDATE I2C_scan ROUTINE WITH EACH NEW SENSOR!!!! | 15 | //REMEMBER TO UPDATE I2C_scan ROUTINE WITH EACH NEW SENSOR!!!! |
16 | #define TOTAL_SENSORS 4 | 16 | #define TOTAL_SENSORS 4 |
@@ -36,12 +36,15 @@ extern sensor pressure_sensor; | @@ -36,12 +36,15 @@ extern sensor pressure_sensor; | ||
36 | uint32_t get_light_data(void); | 36 | uint32_t get_light_data(void); |
37 | uint16_t get_light_ch0(void); | 37 | uint16_t get_light_ch0(void); |
38 | uint16_t get_light_ch1(void); | 38 | uint16_t get_light_ch1(void); |
39 | +char* light_value(uint32_t light); | ||
39 | 40 | ||
40 | //ULTRASONIC SENSOR | 41 | //ULTRASONIC SENSOR |
41 | uint16_t get_distance_data(void); | 42 | uint16_t get_distance_data(void); |
42 | void init_ultrasound(void); | 43 | void init_ultrasound(void); |
43 | uint8_t get_distance_low(void); | 44 | uint8_t get_distance_low(void); |
44 | uint8_t get_distance_high(void); | 45 | uint8_t get_distance_high(void); |
46 | +char* distance_value(uint16_t distance); | ||
47 | + | ||
45 | 48 | ||
46 | //PRESSURE SENSOR | 49 | //PRESSURE SENSOR |
47 | typedef struct { | 50 | typedef struct { |
@@ -61,6 +64,7 @@ typedef struct { | @@ -61,6 +64,7 @@ typedef struct { | ||
61 | uint16_t get_pressure_data(void); | 64 | uint16_t get_pressure_data(void); |
62 | bmp085_callibration get_pressure_callibration_data(void); | 65 | bmp085_callibration get_pressure_callibration_data(void); |
63 | char* callibration_pressure_data_csv(bmp085_callibration parameters); | 66 | char* callibration_pressure_data_csv(bmp085_callibration parameters); |
67 | +char* pressure_value(uint16_t pressure); | ||
64 | void init_pressure(void); | 68 | void init_pressure(void); |
65 | 69 | ||
66 | //HUMIDITY AND TEMPERATURE SENSOR | 70 | //HUMIDITY AND TEMPERATURE SENSOR |
@@ -68,5 +72,6 @@ void init_pressure(void); | @@ -68,5 +72,6 @@ void init_pressure(void); | ||
68 | void init_humidity_temp(void); | 72 | void init_humidity_temp(void); |
69 | uint16_t get_humidity_data(void); | 73 | uint16_t get_humidity_data(void); |
70 | uint16_t get_temperature_data(void); | 74 | uint16_t get_temperature_data(void); |
75 | +char* temp_humidity_value(uint16_t temp, uint16_t humidity); | ||
71 | 76 | ||
72 | #endif | 77 | #endif |
Project/applications/smartcities/sensors.c
@@ -3,7 +3,7 @@ | @@ -3,7 +3,7 @@ | ||
3 | sensor light_sensor = {LIGHT_ADDR, "Light sensor", "illumination", "lux",NULL}; | 3 | sensor light_sensor = {LIGHT_ADDR, "Light sensor", "illumination", "lux",NULL}; |
4 | sensor ultrasound_sensor = {DISTANCE_ADDR, "Ultrasound sensor", "distance", "cm",NULL}; | 4 | sensor ultrasound_sensor = {DISTANCE_ADDR, "Ultrasound sensor", "distance", "cm",NULL}; |
5 | sensor pressure_sensor = {PRESSURE_ADDR, "Pressure sensor", "pressure", "kPa",NULL}; | 5 | sensor pressure_sensor = {PRESSURE_ADDR, "Pressure sensor", "pressure", "kPa",NULL}; |
6 | -sensor humidity_temp_sensor = {HUMIDITY_TEMP_ADDR, "Humidity and Temperature","ºC,RH",NULL}; | 6 | +sensor humidity_temp_sensor = {HUMIDITY_TEMP_ADDR, "Humidity and Temperature","ºC,RH",NULL}; |
7 | 7 | ||
8 | uint32_t get_light_data(void) | 8 | uint32_t get_light_data(void) |
9 | { | 9 | { |
@@ -260,3 +260,31 @@ uint16_t get_temperature_data(void) | @@ -260,3 +260,31 @@ uint16_t get_temperature_data(void) | ||
260 | I2C_stop(I2C1); | 260 | I2C_stop(I2C1); |
261 | return data; | 261 | return data; |
262 | } | 262 | } |
263 | + | ||
264 | +char* light_value(uint32_t light) | ||
265 | +{ | ||
266 | + char *value = chHeapAlloc(NULL,10 + 1); | ||
267 | + sprintf(value,"%d",light); | ||
268 | + return value; | ||
269 | +} | ||
270 | +char* distance_value(uint16_t distance) | ||
271 | +{ | ||
272 | + char *value = chHeapAlloc(NULL,5 + 1); | ||
273 | + sprintf(value,"%d",distance); | ||
274 | + return value; | ||
275 | +} | ||
276 | +char* pressure_value(uint16_t pressure) | ||
277 | +{ | ||
278 | + char *value = chHeapAlloc(NULL,5 + 1); | ||
279 | + sprintf(value,"%d",pressure); | ||
280 | + return value; | ||
281 | +} | ||
282 | +char* temp_humidity_value(uint16_t temp, uint16_t humidity) | ||
283 | +{ | ||
284 | + char *value = chHeapAlloc(NULL,21 + 1); | ||
285 | + sprintf(value,"%d,%d",temp,humidity); | ||
286 | + return value; | ||
287 | +} | ||
288 | + | ||
289 | +//light_value(get_light_data()); | ||
290 | +//temp_humidity_value(get_temperature_data(),get_humidity_data()); | ||
263 | \ No newline at end of file | 291 | \ No newline at end of file |