#ifndef FOST02_H_
#define FOST02_H_
/*-----------------------------------------------
* Includes
* ---------------------------------------------*/
#include <stdlib.h>
#include <inttypes.h>
#include <config.h>
#include <drivers/mcu/gpio.h>
/*-----------------------------------------------
* Defines
* ---------------------------------------------*/
/*
* Define which PORT/PIN to use:
*/
#ifndef FOST02_DATA
#warning FOST02_DATA not defined, useing EXP_M
#define FOST02_DATA EXP_M
#endif
#ifndef FOST02_CLK
#warning FOST02_CLK not defined, useing EXP_L
#define FOST02_CLK EXP_L
#endif
/*-----------------------------------------------
* Functions
* ---------------------------------------------*/
/*
* Initiate FOST02 for reading temperature and humidity from sensor.
*/
void FOST02Init(void);
void sendReset(void);
uint8_t sendCommand(uint8_t cmd);
uint8_t getFOST02PinStatus(void);
uint16_t getFOST02Data(void);
/*
* Start reading and return the temperature value.
*/
void measureFOST02temperature(void);
void measureFOST02humidity(void);
uint16_t getFOST02temperature(void);
uint16_t getFOST02humidity(void);
void getFOST02DataByte(uint8_t *data1, uint8_t *data2);
//static unsigned uint16_t __attribute__ ((progmem)) HumidityTable[] = {
static uint16_t HumidityTable[] = {
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0000,
0x0032,
0x010D,
0x014D,
0x0228,
0x0304,
0x0343,
0x041E,
0x045D,
0x0537,
0x0612,
0x0650,
0x072B,
0x0805,
0x0843,
0x091D,
0x095A,
0x0A34,
0x0B0D,
0x0B4B,
0x0C24,
0x0C61,
0x0D39,
0x0E12,
0x0E4F,
0x0F27,
0x0F63,
0x103B,
0x1113,
0x114F,
0x1227,
0x1263,
0x133A,
0x1411,
0x144C,
0x1523,
0x155E,
0x1635,
0x170B,
0x1746,
0x181C,
0x1856,
0x192C,
0x1A02,
0x1A3B,
0x1B11,
0x1B4A,
0x1C20,
0x1C59,
0x1D2E,
0x1E03,
0x1E3B,
0x1F10,
0x1F48,
0x201C,
0x2054,
0x2128,
0x2160,
0x2234,
0x2307,
0x233F,
0x2412,
0x2449,
0x251C,
0x2553,
0x2625,
0x265C,
0x272E,
0x2800,
0x2837,
0x2908,
0x293E,
0x2A10,
0x2A45,
0x2B17,
0x2B4C,
0x2C1D,
0x2C52,
0x2D23,
0x2D57,
0x2E28,
0x2E5C,
0x2F2C,
0x2F60,
0x3030,
0x3100,
0x3134,
0x3203,
0x3237,
0x3306,
0x3339,
0x3408,
0x343A,
0x3509,
0x353B,
0x360A,
0x363C,
0x370A,
0x373C,
0x380A,
0x383B,
0x3909,
0x393A,
0x3A07,
0x3A38,
0x3B05,
0x3B36,
0x3C03,
0x3C33,
0x3C63,
0x3D2F,
0x3D5F,
0x3E2B,
0x3E5B,
0x3F27,
0x3F56,
0x4021,
0x4051,
0x411C,
0x414B,
0x4215,
0x4244,
0x430E,
0x433D,
0x4407,
0x4435,
0x4463,
0x452C,
0x455A,
0x4623,
0x4651,
0x471A,
0x4747,
0x4810,
0x483C,
0x4905,
0x4931,
0x495E,
0x4A26,
0x4A52,
0x4B1A,
0x4B45,
0x4C0D,
0x4C38,
0x4D00,
0x4D2B,
0x4D56,
0x4E1C,
0x4E47,
0x4F0E,
0x4F38,
0x4F62,
0x5028,
0x5052,
0x5118,
0x5142,
0x5208,
0x5231,
0x525A,
0x531F,
0x5348,
0x540D,
0x5436,
0x545E,
0x5523,
0x554B,
0x560F,
0x5637,
0x565F,
0x5723,
0x574A,
0x580D,
0x5835,
0x585C,
0x591F,
0x5946,
0x5A08,
0x5A2F,
0x5A55,
0x5B17,
0x5B3D,
0x5B63,
0x5C25,
0x5C4B,
0x5D0C,
0x5D32,
0x5D57,
0x5E18,
0x5E3D,
0x5E62,
0x5F22,
0x5F47,
0x6007,
0x602B,
0x604F,
0x610F,
0x6133,
0x6157,
0x6216,
0x623A,
0x625D,
0x6400,
0x6400,
0x6400,
0x6400,
0x6400,
0x6400,
0x6400,
0x6400,
0x6400,
0x6400,
0x6400,
0x6400,
0x6400,
0x6400,
0x6400,
0x6400,
0x6400,
0x6400,
0x6400,
0x6400,
0x6400,
0x6400,
0x6400,
0x6400,
0x6400,
0x6400,
0x6400,
0x6400,
0x6400,
0x6400,
0x6400,
0x6400,
0x6400,
0x6400,
0x6400,
0x6400,
0x6400,
0x6400,
0x6400,
0x6400,
0x6400,
0x6400,
0x6400,
0x6400,
0x6400,
0x6400,
0x6400,
0x6400,
0x6400,
0x6400};
#endif