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 { uint8_t MyMessage::getByte() const {
if (miGetPayloadType() == P_BYTE) { if (miGetPayloadType() == P_BYTE) {
return data[0]; return data[0];
@@ -116,9 +120,6 @@ uint8_t MyMessage::getByte() const {
} }
} }
bool MyMessage::getBool() const {
return getInt();
}
float MyMessage::getFloat() const { float MyMessage::getFloat() const {
if (miGetPayloadType() == P_FLOAT32) { 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) { if (miGetPayloadType() == P_LONG32) {
return lValue; return lValue;
} else if (miGetPayloadType() == P_STRING) { } 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) { if (miGetPayloadType() == P_ULONG32) {
return ulValue; return ulValue;
} else if (miGetPayloadType() == P_STRING) { } 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) { if (miGetPayloadType() == P_INT16) {
return iValue; return iValue;
} else if (miGetPayloadType() == P_STRING) { } 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) { if (miGetPayloadType() == P_UINT16) {
return uiValue; return uiValue;
} else if (miGetPayloadType() == P_STRING) { } else if (miGetPayloadType() == P_STRING) {
@@ -217,28 +218,28 @@ MyMessage& MyMessage::set(float value, uint8_t decimals) {
return *this; return *this;
} }
MyMessage& MyMessage::set(unsigned long value) { MyMessage& MyMessage::set(uint32_t value) {
miSetPayloadType(P_ULONG32); miSetPayloadType(P_ULONG32);
miSetLength(4); miSetLength(4);
ulValue = value; ulValue = value;
return *this; return *this;
} }
MyMessage& MyMessage::set(long value) { MyMessage& MyMessage::set(int32_t value) {
miSetPayloadType(P_LONG32); miSetPayloadType(P_LONG32);
miSetLength(4); miSetLength(4);
lValue = value; lValue = value;
return *this; return *this;
} }
MyMessage& MyMessage::set(unsigned int value) { MyMessage& MyMessage::set(uint16_t value) {
miSetPayloadType(P_UINT16); miSetPayloadType(P_UINT16);
miSetLength(2); miSetLength(2);
uiValue = value; uiValue = value;
return *this; return *this;
} }
MyMessage& MyMessage::set(int value) { MyMessage& MyMessage::set(int16_t value) {
miSetPayloadType(P_INT16); miSetPayloadType(P_INT16);
miSetLength(2); miSetLength(2);
iValue = value; iValue = value;
+14 -14
View File
@@ -244,13 +244,13 @@ public:
char* getString(char *buffer) const; char* getString(char *buffer) const;
const char* getString() const; const char* getString() const;
void* getCustom() const; void* getCustom() const;
uint8_t getByte() const;
bool getBool() const; bool getBool() const;
uint8_t getByte() const;
float getFloat() const; float getFloat() const;
long getLong() const; int16_t getInt() const;
unsigned long getULong() const; uint16_t getUInt() const;
int getInt() const; int32_t getLong() const;
unsigned int getUInt() const; uint32_t getULong() const;
// Getter for ack-flag. True if this is an ack message. // Getter for ack-flag. True if this is an ack message.
bool isAck() const; bool isAck() const;
@@ -263,12 +263,12 @@ public:
// Setters for payload // Setters for payload
MyMessage& set(void* payload, uint8_t length); MyMessage& set(void* payload, uint8_t length);
MyMessage& set(const char* value); MyMessage& set(const char* value);
MyMessage& set(uint8_t value);
MyMessage& set(float value, uint8_t decimals); MyMessage& set(float value, uint8_t decimals);
MyMessage& set(unsigned long value); MyMessage& set(uint8_t value);
MyMessage& set(long value); MyMessage& set(uint32_t value);
MyMessage& set(unsigned int value); MyMessage& set(int32_t value);
MyMessage& set(int value); MyMessage& set(uint16_t value);
MyMessage& set(int16_t value);
#else #else
@@ -296,10 +296,10 @@ struct
// This union is used to simplify the construction of the binary data types transferred. // This union is used to simplify the construction of the binary data types transferred.
union { union {
uint8_t bValue; uint8_t bValue;
unsigned long ulValue; uint16_t uiValue;
long lValue; int16_t iValue;
unsigned int uiValue; uint32_t ulValue;
int iValue; int32_t lValue;
struct { // Float messages struct { // Float messages
float fValue; float fValue;
uint8_t fPrecision; // Number of decimals when serializing uint8_t fPrecision; // Number of decimals when serializing