Adafruit_IO_Arduino/AdafruitIO_Data.h
2016-08-12 17:07:53 -04:00

85 lines
2.1 KiB
C++

//
// Adafruit invests time and resources providing this open source code.
// Please support Adafruit and open source hardware by purchasing
// products from Adafruit!
//
// Copyright (c) 2015-2016 Adafruit Industries
// Authors: Tony DiCola, Todd Treece
// Licensed under the MIT license.
//
// All text above must be included in any redistribution.
//
#ifndef ADAFRUITIO_DATA_H
#define ADAFRUITIO_DATA_H
#include "Arduino.h"
#include "AdafruitIO_Definitions.h"
// forward decl
class AdafruitIO_Feed;
class AdafruitIO_Data {
public:
AdafruitIO_Data();
AdafruitIO_Data(AdafruitIO_Feed *f);
AdafruitIO_Data(AdafruitIO_Feed *f, char *csv);
bool setCSV(char *csv);
void setLocation(double lat, double lon, double ele=0);
void setValue(const char *value, double lat=0, double lon=0, double ele=0);
void setValue(char *value, double lat=0, double lon=0, double ele=0);
void setValue(bool value, double lat=0, double lon=0, double ele=0);
void setValue(String value, double lat=0, double lon=0, double ele=0);
void setValue(int value, double lat=0, double lon=0, double ele=0);
void setValue(unsigned int value, double lat=0, double lon=0, double ele=0);
void setValue(long value, double lat=0, double lon=0, double ele=0);
void setValue(unsigned long value, double lat=0, double lon=0, double ele=0);
void setValue(float value, double lat=0, double lon=0, double ele=0, int precision=6);
void setValue(double value, double lat=0, double lon=0, double ele=0, int precision=6);
char* feedName();
char* value();
char* toChar();
String toString();
bool toBool();
bool isTrue();
bool isFalse();
int toInt();
int toPinLevel();
unsigned int toUnsignedInt();
double toDouble();
float toFloat();
long toLong();
unsigned long toUnsignedLong();
char* toCSV();
char* charFromDouble(double d, int precision=6);
double lat();
double lon();
double ele();
AdafruitIO_Feed *feed;
private:
char *_csv,
*_value;
double _lat,
_lon,
_ele;
bool _parseCSV();
};
#endif // ADAFRUITIO_DATA_H