34
Dependencies: BSP libNDEF libxDot-mbed5 ST25DV
code/src/sensors.h
- Committer:
- umickelsen
- Date:
- 2020-10-03
- Revision:
- 1:77a5e662bf40
File content as of revision 1:77a5e662bf40:
#ifndef __SENSORS_H__ #define __SENSORS_H__ #include "mbed.h" //Sin dormir //#define NO_SLEEP /// Definimos el tipo de placa /// #define PLACA_XDOT //#define PLACA_MDOT //Demo HIBER //#define HIBER_DEMO #ifdef PLACA_XDOT #define VSAMPLE 3.3f #endif #ifdef PLACA_MDOT #define VSAMPLE 3.0f #endif #define MEDIR_BAT //Definir solo para probar sensado, sin conexion a la red //#define ONLY_SENSORS //Definir para placa de desarrollo //#define DESARROLLO //Definir para sensor I2C en vez de conversor A/D //Si es I2C #define USE_SENSOR_I2C #ifdef DESARROLLO #define I2C_SENSOR_ADDRESS 0x45 #else #define I2C_SENSOR_ADDRESS 0x44 #endif //Uso de NFC #define USE_NFC //tipo de lanza #ifdef PLACA_BARCO #define SENSOR_MODE 0x02 #else #define SENSOR_MODE 0x01 #endif #define MAX_DEVICE_ID 11 #ifdef USE_NFC #define NFC_START_ADDRESS 0x00000 #define NFC_MAX_ID 20 #if defined(NFC_ORIG_LAYOUT) || defined(HIBER_DEMO) //#ifdef NFC_ORIG_LAYOUT typedef struct { uint32_t sn; int32_t medicion_refint; //V int32_t medicion_analog_in_0; //V int32_t medicion_temperatura; //ºC int32_t medicion_humedad; //% int32_t medicion_bateria; //V int32_t medicion_co2; //% char DEVID[20]; char PAC[20]; } NFC_Memory_Layout; #else typedef struct { char temp_str[4]; char hum_str[4]; char co2_str[4]; int32_t medicion_temperatura; //ºC int32_t medicion_humedad; //% int32_t medicion_bateria; //V int32_t medicion_co2; //% char DEVID[20]; char PAC[20]; } NFC_Memory_Layout; #endif //de NFC Layout #endif //de USE_NFC //Definir para enviar mensajes repetitivos con nro seq para pruebas de alcance //#define MODO_TEST_TX #define SEQ_ADDRESS 0x1000 //#define I2C_RETRY_ADDRESS 0x1100 //////////////////////////// //Direccion de la NVRAM donde guardamos el timestamp antes de dormir #define TIME_SLEEP_ADDRESS 0x10F0 #define NUMBER_SAMPLES 10 #define VREF 3.3 //Tiempo de espera en segundos para leer los sensores al despertarse #ifndef MODO_TEST_TX #define WARMING_UP_SENSORS 10 //#define WARMING_UP_SENSORS 5 #else #define WARMING_UP_SENSORS 5 #endif #define CO2_BAUDRATE 9600 #define CO2_MAX_BUFFER 20 #define TIMEOUT_MENU_CO2 10 //Declaracion de funciones float average_samples(unsigned int cant_samples, AnalogIn input); double volt_to_hum(float volt); double volt_to_temp(float volt); unsigned int reset_co2_buffer(char *co2_buffer); void print_menu_sensor(Serial *pc); char config_sensor(Serial *pc, Serial *co2sens, char *co2_buffer); unsigned int convert_co2(char *buffer); int32_t fix16_from_float( float a ); #ifdef USE_NFC void init_NFC_data(NFC_Memory_Layout *data); #endif #endif // de __SENSORS_H__