Blynk library for embedded hardware. Works with Arduino, ESP8266, Raspberry Pi, Intel Edison/Galileo, LinkIt ONE, Particle Core/Photon, Energia, ARM mbed, etc. http://www.blynk.cc/

Dependents:   Blynk_RBL_BLE_Nano Blynk_MicroBit Blynk_Serial Blynk_RBL_BLE_Nano

Revision:
7:8879692d4e6c
Parent:
0:58b20b438383
Child:
9:7369ec77a3ea
--- a/Blynk/BlynkParam.h	Thu Jun 23 23:00:40 2016 +0000
+++ b/Blynk/BlynkParam.h	Wed Oct 12 09:18:39 2016 +0300
@@ -35,8 +35,10 @@
         long        asLong() const      { return atol(ptr); }
 #ifndef BLYNK_NO_FLOAT
         double      asDouble() const    { return atof(ptr); }
+        float       asFloat() const     { return atof(ptr); }
 #endif
         bool isValid() const            { return ptr != NULL; }
+        bool isEmpty() const            { return *ptr == '\0'; }
 
         bool operator <  (const iterator& it) const { return ptr < it.ptr; }
         bool operator >= (const iterator& it) const { return ptr >= it.ptr; }
@@ -66,7 +68,9 @@
     long        asLong() const      { return atol(buff); }
 #ifndef BLYNK_NO_FLOAT
     double      asDouble() const    { return atof(buff); }
+    float       asFloat() const     { return atof(buff); }
 #endif
+    bool isEmpty() const            { return *buff == '\0'; }
 
     iterator begin() const { return iterator(buff); }
     iterator end() const   { return iterator(buff+len); }
@@ -99,12 +103,25 @@
         add(val);
     }
 
-private:
+protected:
     char*	buff;
     size_t	len;
     size_t	buff_size;
 };
 
+
+class BlynkParamAllocated
+	: public BlynkParam
+{
+public:
+	BlynkParamAllocated(size_t size)
+		: BlynkParam(malloc(size), 0, size)
+	{}
+	~BlynkParamAllocated() {
+		free(buff);
+	}
+};
+
 inline
 BlynkParam::iterator BlynkParam::operator[](int index) const
 {