Initial commit

Dependencies:   ConfigFile FXOS8700CQ M2XStreamClient-JMF MODSERIAL SDFileSystem WNCInterface jsonlite mbed-rtos mbed

Fork of StarterKit_M2X_DevLab by Jan Korycan

sensors.h

Committer:
jk431j
Date:
2017-04-05
Revision:
4:08979e323c6e
Child:
5:8099493f2c35

File content as of revision 4:08979e323c6e:

/* ===================================================================
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