Merge pull request #224 from mysensors/use-stdint-in-mymessage

Use stdint in MyMessage
This commit is contained in:
Henrik Ekblad
2015-10-08 21:52:27 +02:00
2 changed files with 26 additions and 25 deletions
+12 -11
View File
@@ -106,6 +106,10 @@ char* MyMessage::getString(char *buffer) const {
}
}
bool MyMessage::getBool() const {
return getInt();
}
uint8_t MyMessage::getByte() const {
if (miGetPayloadType() == P_BYTE) {
return data[0];
@@ -116,9 +120,6 @@ uint8_t MyMessage::getByte() const {
}
}
bool MyMessage::getBool() const {
return getInt();
}
float MyMessage::getFloat() const {
if (miGetPayloadType() == P_FLOAT32) {
@@ -130,7 +131,7 @@ float MyMessage::getFloat() const {
}
}
long MyMessage::getLong() const {
int32_t MyMessage::getLong() const {
if (miGetPayloadType() == P_LONG32) {
return lValue;
} else if (miGetPayloadType() == P_STRING) {
@@ -140,7 +141,7 @@ long MyMessage::getLong() const {
}
}
unsigned long MyMessage::getULong() const {
uint32_t MyMessage::getULong() const {
if (miGetPayloadType() == P_ULONG32) {
return ulValue;
} else if (miGetPayloadType() == P_STRING) {
@@ -150,7 +151,7 @@ unsigned long MyMessage::getULong() const {
}
}
int MyMessage::getInt() const {
int16_t MyMessage::getInt() const {
if (miGetPayloadType() == P_INT16) {
return iValue;
} else if (miGetPayloadType() == P_STRING) {
@@ -160,7 +161,7 @@ int MyMessage::getInt() const {
}
}
unsigned int MyMessage::getUInt() const {
uint16_t MyMessage::getUInt() const {
if (miGetPayloadType() == P_UINT16) {
return uiValue;
} else if (miGetPayloadType() == P_STRING) {
@@ -217,28 +218,28 @@ MyMessage& MyMessage::set(float value, uint8_t decimals) {
return *this;
}
MyMessage& MyMessage::set(unsigned long value) {
MyMessage& MyMessage::set(uint32_t value) {
miSetPayloadType(P_ULONG32);
miSetLength(4);
ulValue = value;
return *this;
}
MyMessage& MyMessage::set(long value) {
MyMessage& MyMessage::set(int32_t value) {
miSetPayloadType(P_LONG32);
miSetLength(4);
lValue = value;
return *this;
}
MyMessage& MyMessage::set(unsigned int value) {
MyMessage& MyMessage::set(uint16_t value) {
miSetPayloadType(P_UINT16);
miSetLength(2);
uiValue = value;
return *this;
}
MyMessage& MyMessage::set(int value) {
MyMessage& MyMessage::set(int16_t value) {
miSetPayloadType(P_INT16);
miSetLength(2);
iValue = value;
+14 -14
View File
@@ -244,13 +244,13 @@ public:
char* getString(char *buffer) const;
const char* getString() const;
void* getCustom() const;
uint8_t getByte() const;
bool getBool() const;
uint8_t getByte() const;
float getFloat() const;
long getLong() const;
unsigned long getULong() const;
int getInt() const;
unsigned int getUInt() const;
int16_t getInt() const;
uint16_t getUInt() const;
int32_t getLong() const;
uint32_t getULong() const;
// Getter for ack-flag. True if this is an ack message.
bool isAck() const;
@@ -263,12 +263,12 @@ public:
// Setters for payload
MyMessage& set(void* payload, uint8_t length);
MyMessage& set(const char* value);
MyMessage& set(uint8_t value);
MyMessage& set(float value, uint8_t decimals);
MyMessage& set(unsigned long value);
MyMessage& set(long value);
MyMessage& set(unsigned int value);
MyMessage& set(int value);
MyMessage& set(uint8_t value);
MyMessage& set(uint32_t value);
MyMessage& set(int32_t value);
MyMessage& set(uint16_t value);
MyMessage& set(int16_t value);
#else
@@ -296,10 +296,10 @@ struct
// This union is used to simplify the construction of the binary data types transferred.
union {
uint8_t bValue;
unsigned long ulValue;
long lValue;
unsigned int uiValue;
int iValue;
uint16_t uiValue;
int16_t iValue;
uint32_t ulValue;
int32_t lValue;
struct { // Float messages
float fValue;
uint8_t fPrecision; // Number of decimals when serializing