![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
I added functionality to get the RSSI, BER, and Cell Neighbor for reporting connection issues to M2X
Dependencies: mbed FXOS8700CQ mbed-rtos WNCInterface M2XStreamClient-JMF jsonlite
Diff: sensors.h
- Revision:
- 4:08979e323c6e
- Child:
- 5:8099493f2c35
diff -r 94a2e1a54aac -r 08979e323c6e sensors.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/sensors.h Wed Apr 05 04:53:25 2017 +0000 @@ -0,0 +1,93 @@ +/* =================================================================== +Copyright © 2016, AVNET Inc. + +Licensed under the Apache License, Version 2.0 (the "License"); +you may not use this file except in compliance with the License. +You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, +software distributed under the License is distributed on an +"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, +either express or implied. See the License for the specific +language governing permissions and limitations under the License. + +======================================================================== */ + +#ifndef __SENSORS_H_ +#define __SENSORS_H_ + +//******************************************************************************************************************************************** +//* Create string with sensor readings that can be sent to flow as an HTTP get +//******************************************************************************************************************************************** + +void sensors_init(void); +void read_sensors(void); +void ProcessUsbInterface(void); + +#define SENSOR_FIELD_LEN_LIMIT 32 +typedef struct +{ + char Temperature[SENSOR_FIELD_LEN_LIMIT]; + char Humidity[SENSOR_FIELD_LEN_LIMIT]; + char AccelX[SENSOR_FIELD_LEN_LIMIT]; + char AccelY[SENSOR_FIELD_LEN_LIMIT]; + char AccelZ[SENSOR_FIELD_LEN_LIMIT]; + char MagnetometerX[SENSOR_FIELD_LEN_LIMIT]; + char MagnetometerY[SENSOR_FIELD_LEN_LIMIT]; + char MagnetometerZ[SENSOR_FIELD_LEN_LIMIT]; + char AmbientLightVis[SENSOR_FIELD_LEN_LIMIT]; + char AmbientLightIr[SENSOR_FIELD_LEN_LIMIT]; + char UVindex[SENSOR_FIELD_LEN_LIMIT]; + char Proximity[SENSOR_FIELD_LEN_LIMIT]; + char Temperature_Si7020[SENSOR_FIELD_LEN_LIMIT]; + char Humidity_Si7020[SENSOR_FIELD_LEN_LIMIT]; + char Virtual_Sensor1[SENSOR_FIELD_LEN_LIMIT]; + char Virtual_Sensor2[SENSOR_FIELD_LEN_LIMIT]; + char Virtual_Sensor3[SENSOR_FIELD_LEN_LIMIT]; + char Virtual_Sensor4[SENSOR_FIELD_LEN_LIMIT]; + char Virtual_Sensor5[SENSOR_FIELD_LEN_LIMIT]; + char Virtual_Sensor6[SENSOR_FIELD_LEN_LIMIT]; + char Virtual_Sensor7[SENSOR_FIELD_LEN_LIMIT]; + char Virtual_Sensor8[SENSOR_FIELD_LEN_LIMIT]; + char GPS_Satellites[SENSOR_FIELD_LEN_LIMIT]; + char GPS_Latitude[SENSOR_FIELD_LEN_LIMIT]; + char GPS_Longitude[SENSOR_FIELD_LEN_LIMIT]; + char GPS_Altitude[SENSOR_FIELD_LEN_LIMIT]; + char GPS_Speed[SENSOR_FIELD_LEN_LIMIT]; + char GPS_Course[SENSOR_FIELD_LEN_LIMIT]; + float fTemperature; + float fHumidity; +} K64F_Sensors_t ; + +extern K64F_Sensors_t SENSOR_DATA; + +extern I2C i2c; //SDA, SCL -- define the I2C pins being used +extern Serial pc; // tx, rx +#define PRINTF pc.printf +#define PUTS pc.puts +#define USE_COLOR +#ifdef USE_COLOR + #define BLK "\033[30m" + #define RED "\033[31m" + #define GRN "\033[32m" + #define YEL "\033[33m" + #define BLU "\033[34m" + #define MAG "\033[35m" + #define CYN "\033[36m" + #define WHT "\033[37m" + #define DEF "\033[39m" +#else + #define BLK + #define RED + #define GRN + #define YEL + #define BLU + #define MAG + #define CYN + #define WHT + #define DEF +#endif + +#endif \ No newline at end of file