changed return types from int to bool

This commit is contained in:
Phil1pp 2025-05-16 11:37:01 +02:00
parent a685700d37
commit 9d8da3b74a
2 changed files with 157 additions and 157 deletions

View File

@ -10,7 +10,7 @@
#define ENSURE_PAYLOAD(x) #define ENSURE_PAYLOAD(x)
int KNX_Decode_Value(uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value) bool KNX_Decode_Value(uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value)
{ {
if (payload_length > 0) if (payload_length > 0)
{ {
@ -174,7 +174,7 @@ int KNX_Decode_Value(uint8_t* payload, size_t payload_length, const Dpt& datatyp
return false; return false;
} }
int KNX_Encode_Value(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype) bool KNX_Encode_Value(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype)
{ {
if (datatype.mainGroup == 1 && datatype.subGroup >= 1 && datatype.subGroup <= 23 && datatype.subGroup != 20 && !datatype.index) if (datatype.mainGroup == 1 && datatype.subGroup >= 1 && datatype.subGroup <= 23 && datatype.subGroup != 20 && !datatype.index)
return valueToBusValueBinary(value, payload, payload_length, datatype); return valueToBusValueBinary(value, payload, payload_length, datatype);
@ -334,27 +334,27 @@ int KNX_Encode_Value(const KNXValue& value, uint8_t* payload, size_t payload_len
return false; return false;
} }
int busValueToBinary(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value) bool busValueToBinary(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value)
{ {
ASSERT_PAYLOAD(1); ASSERT_PAYLOAD(1);
value = bitFromPayload(payload, 7); value = bitFromPayload(payload, 7);
return true; return true;
} }
int busValueToBinaryControl(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value) bool busValueToBinaryControl(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value)
{ {
ASSERT_PAYLOAD(1); ASSERT_PAYLOAD(1);
value = (uint8_t)(unsigned8FromPayload(payload, 0) & 0x03); value = (uint8_t)(unsigned8FromPayload(payload, 0) & 0x03);
return true; return true;
} }
int busValueToStepControl(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value) bool busValueToStepControl(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value)
{ {
ASSERT_PAYLOAD(1); ASSERT_PAYLOAD(1);
value = (uint8_t)(unsigned8FromPayload(payload, 0) & 0x0F); value = (uint8_t)(unsigned8FromPayload(payload, 0) & 0x0F);
return true; return true;
} }
int busValueToCharacter(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value) bool busValueToCharacter(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value)
{ {
ASSERT_PAYLOAD(1); ASSERT_PAYLOAD(1);
int8_t charValue = signed8FromPayload(payload, 0); int8_t charValue = signed8FromPayload(payload, 0);
@ -372,7 +372,7 @@ int busValueToCharacter(const uint8_t* payload, size_t payload_length, const Dpt
return true; return true;
} }
int busValueToUnsigned8(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value) bool busValueToUnsigned8(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value)
{ {
ASSERT_PAYLOAD(1); ASSERT_PAYLOAD(1);
@ -402,14 +402,14 @@ int busValueToUnsigned8(const uint8_t* payload, size_t payload_length, const Dpt
return true; return true;
} }
int busValueToSigned8(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value) bool busValueToSigned8(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value)
{ {
ASSERT_PAYLOAD(1); ASSERT_PAYLOAD(1);
value = (uint8_t)(unsigned8FromPayload(payload, 0)); value = (uint8_t)(unsigned8FromPayload(payload, 0));
return true; return true;
} }
int busValueToStatusAndMode(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value) bool busValueToStatusAndMode(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value)
{ {
ASSERT_PAYLOAD(1); ASSERT_PAYLOAD(1);
@ -427,14 +427,14 @@ int busValueToStatusAndMode(const uint8_t* payload, size_t payload_length, const
return false; return false;
} }
int busValueToUnsigned16(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value) bool busValueToUnsigned16(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value)
{ {
ASSERT_PAYLOAD(2); ASSERT_PAYLOAD(2);
value = unsigned16FromPayload(payload, 0); value = unsigned16FromPayload(payload, 0);
return true; return true;
} }
int busValueToTimePeriod(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value) bool busValueToTimePeriod(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value)
{ {
ASSERT_PAYLOAD(2); ASSERT_PAYLOAD(2);
@ -443,7 +443,7 @@ int busValueToTimePeriod(const uint8_t* payload, size_t payload_length, const Dp
return true; return true;
} }
int busValueToSigned16(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value) bool busValueToSigned16(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value)
{ {
ASSERT_PAYLOAD(2); ASSERT_PAYLOAD(2);
@ -457,7 +457,7 @@ int busValueToSigned16(const uint8_t* payload, size_t payload_length, const Dpt&
return true; return true;
} }
int busValueToTimeDelta(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value) bool busValueToTimeDelta(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value)
{ {
ASSERT_PAYLOAD(2); ASSERT_PAYLOAD(2);
@ -466,7 +466,7 @@ int busValueToTimeDelta(const uint8_t* payload, size_t payload_length, const Dpt
return true; return true;
} }
int busValueToFloat16(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value) bool busValueToFloat16(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value)
{ {
ASSERT_PAYLOAD(2); ASSERT_PAYLOAD(2);
@ -477,7 +477,7 @@ int busValueToFloat16(const uint8_t* payload, size_t payload_length, const Dpt&
return true; return true;
} }
int busValueToTime(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value) bool busValueToTime(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value)
{ {
ASSERT_PAYLOAD(3); ASSERT_PAYLOAD(3);
@ -510,7 +510,7 @@ int busValueToTime(const uint8_t* payload, size_t payload_length, const Dpt& dat
return false; return false;
} }
int busValueToDate(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value) bool busValueToDate(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value)
{ {
ASSERT_PAYLOAD(3); ASSERT_PAYLOAD(3);
unsigned short year = unsigned8FromPayload(payload, 2) & 0x7F; unsigned short year = unsigned8FromPayload(payload, 2) & 0x7F;
@ -529,35 +529,35 @@ int busValueToDate(const uint8_t* payload, size_t payload_length, const Dpt& dat
return true; return true;
} }
int busValueToUnsigned32(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value) bool busValueToUnsigned32(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value)
{ {
ASSERT_PAYLOAD(4); ASSERT_PAYLOAD(4);
value = unsigned32FromPayload(payload, 0); value = unsigned32FromPayload(payload, 0);
return true; return true;
} }
int busValueToSigned32(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value) bool busValueToSigned32(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value)
{ {
ASSERT_PAYLOAD(4); ASSERT_PAYLOAD(4);
value = signed32FromPayload(payload, 0); value = signed32FromPayload(payload, 0);
return true; return true;
} }
int busValueToLongTimePeriod(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value) bool busValueToLongTimePeriod(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value)
{ {
ASSERT_PAYLOAD(4); ASSERT_PAYLOAD(4);
value = signed32FromPayload(payload, 0); value = signed32FromPayload(payload, 0);
return true; return true;
} }
int busValueToFloat32(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value) bool busValueToFloat32(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value)
{ {
ASSERT_PAYLOAD(4); ASSERT_PAYLOAD(4);
value = float32FromPayload(payload, 0); value = float32FromPayload(payload, 0);
return true; return true;
} }
int busValueToAccess(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value) bool busValueToAccess(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value)
{ {
ASSERT_PAYLOAD(4); ASSERT_PAYLOAD(4);
@ -596,7 +596,7 @@ int busValueToAccess(const uint8_t* payload, size_t payload_length, const Dpt& d
return false; return false;
} }
int busValueToString(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value) bool busValueToString(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value)
{ {
ASSERT_PAYLOAD(14); ASSERT_PAYLOAD(14);
@ -612,14 +612,14 @@ int busValueToString(const uint8_t* payload, size_t payload_length, const Dpt& d
return true; return true;
} }
int busValueToScene(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value) bool busValueToScene(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value)
{ {
ASSERT_PAYLOAD(1); ASSERT_PAYLOAD(1);
value = (uint8_t)(unsigned8FromPayload(payload, 0) & 0x3F); value = (uint8_t)(unsigned8FromPayload(payload, 0) & 0x3F);
return true; return true;
} }
int busValueToSceneControl(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value) bool busValueToSceneControl(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value)
{ {
ASSERT_PAYLOAD(1); ASSERT_PAYLOAD(1);
@ -641,7 +641,7 @@ int busValueToSceneControl(const uint8_t* payload, size_t payload_length, const
return false; return false;
} }
int busValueToSceneInfo(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value) bool busValueToSceneInfo(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value)
{ {
ASSERT_PAYLOAD(1); ASSERT_PAYLOAD(1);
@ -663,7 +663,7 @@ int busValueToSceneInfo(const uint8_t* payload, size_t payload_length, const Dpt
return false; return false;
} }
int busValueToSceneConfig(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value) bool busValueToSceneConfig(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value)
{ {
ASSERT_PAYLOAD(1); ASSERT_PAYLOAD(1);
@ -686,7 +686,7 @@ int busValueToSceneConfig(const uint8_t* payload, size_t payload_length, const D
return false; return false;
} }
int busValueToDateTime(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value) bool busValueToDateTime(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value)
{ {
ASSERT_PAYLOAD(8); ASSERT_PAYLOAD(8);
@ -764,20 +764,20 @@ int busValueToDateTime(const uint8_t* payload, size_t payload_length, const Dpt&
return false; return false;
} }
int busValueToUnicode(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value) bool busValueToUnicode(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value)
{ {
//TODO //TODO
return false; return false;
} }
int busValueToSigned64(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value) bool busValueToSigned64(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value)
{ {
ASSERT_PAYLOAD(8); ASSERT_PAYLOAD(8);
value = signed64FromPayload(payload, 0); value = signed64FromPayload(payload, 0);
return true; return true;
} }
int busValueToAlarmInfo(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value) bool busValueToAlarmInfo(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value)
{ {
ASSERT_PAYLOAD(6); ASSERT_PAYLOAD(6);
@ -817,7 +817,7 @@ int busValueToAlarmInfo(const uint8_t* payload, size_t payload_length, const Dpt
return false; return false;
} }
int busValueToSerialNumber(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value) bool busValueToSerialNumber(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value)
{ {
ASSERT_PAYLOAD(6); ASSERT_PAYLOAD(6);
@ -835,7 +835,7 @@ int busValueToSerialNumber(const uint8_t* payload, size_t payload_length, const
return false; return false;
} }
int busValueToVersion(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value) bool busValueToVersion(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value)
{ {
ASSERT_PAYLOAD(2); ASSERT_PAYLOAD(2);
@ -857,7 +857,7 @@ int busValueToVersion(const uint8_t* payload, size_t payload_length, const Dpt&
return false; return false;
} }
int busValueToScaling(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value) bool busValueToScaling(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value)
{ {
ASSERT_PAYLOAD(3); ASSERT_PAYLOAD(3);
@ -875,7 +875,7 @@ int busValueToScaling(const uint8_t* payload, size_t payload_length, const Dpt&
return false; return false;
} }
int busValueToTariff(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value) bool busValueToTariff(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value)
{ {
ASSERT_PAYLOAD(3); ASSERT_PAYLOAD(3);
@ -900,7 +900,7 @@ int busValueToTariff(const uint8_t* payload, size_t payload_length, const Dpt& d
return false; return false;
} }
int busValueToLocale(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value) bool busValueToLocale(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value)
{ {
ASSERT_PAYLOAD(datatype.mainGroup == 231 ? 4 : 2); ASSERT_PAYLOAD(datatype.mainGroup == 231 ? 4 : 2);
@ -916,15 +916,15 @@ int busValueToLocale(const uint8_t* payload, size_t payload_length, const Dpt& d
return false; return false;
} }
int busValueToRGB(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value) bool busValueToRGB(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value)
{ {
ASSERT_PAYLOAD(3); ASSERT_PAYLOAD(3);
uint32_t rgb = unsigned16FromPayload(payload, 0) * 256 + unsigned8FromPayload(payload, 2); uint32_t rgb = (unsigned16FromPayload(payload, 0) << 8) | unsigned8FromPayload(payload, 2);
value = rgb; value = rgb;
return true; return true;
} }
int busValueToRGBW(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value) bool busValueToRGBW(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value)
{ {
ASSERT_PAYLOAD(6); ASSERT_PAYLOAD(6);
@ -946,7 +946,7 @@ int busValueToRGBW(const uint8_t* payload, size_t payload_length, const Dpt& dat
return false; return false;
} }
int busValueToFlaggedScaling(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value) bool busValueToFlaggedScaling(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value)
{ {
ASSERT_PAYLOAD(2); ASSERT_PAYLOAD(2);
@ -964,7 +964,7 @@ int busValueToFlaggedScaling(const uint8_t* payload, size_t payload_length, cons
return false; return false;
} }
int busValueToActiveEnergy(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value) bool busValueToActiveEnergy(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value)
{ {
ASSERT_PAYLOAD(6); ASSERT_PAYLOAD(6);
@ -989,25 +989,25 @@ int busValueToActiveEnergy(const uint8_t* payload, size_t payload_length, const
//------------------------------------------------------------------------------------------------------------------------------------- //-------------------------------------------------------------------------------------------------------------------------------------
int valueToBusValueBinary(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype) bool valueToBusValueBinary(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype)
{ {
bitToPayload(payload, payload_length, 7, value); bitToPayload(payload, payload_length, 7, value);
return true; return true;
} }
int valueToBusValueBinaryControl(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype) bool valueToBusValueBinaryControl(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype)
{ {
unsigned8ToPayload(payload, payload_length, 0, (uint64_t)value, 0x03); unsigned8ToPayload(payload, payload_length, 0, (uint64_t)value, 0x03);
return true; return true;
} }
int valueToBusValueStepControl(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype) bool valueToBusValueStepControl(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype)
{ {
unsigned8ToPayload(payload, payload_length, 0, (uint64_t)value, 0x0F); unsigned8ToPayload(payload, payload_length, 0, (uint64_t)value, 0x0F);
return true; return true;
} }
int valueToBusValueCharacter(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype) bool valueToBusValueCharacter(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype)
{ {
if ((uint64_t)value > INT64_C(255) || (datatype.subGroup == 1 && (uint64_t)value > INT64_C(127))) if ((uint64_t)value > INT64_C(255) || (datatype.subGroup == 1 && (uint64_t)value > INT64_C(127)))
return false; return false;
@ -1016,7 +1016,7 @@ int valueToBusValueCharacter(const KNXValue& value, uint8_t* payload, size_t pay
return true; return true;
} }
int valueToBusValueUnsigned8(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype) bool valueToBusValueUnsigned8(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype)
{ {
if ((int64_t)value < INT64_C(0)) if ((int64_t)value < INT64_C(0))
return false; return false;
@ -1062,7 +1062,7 @@ int valueToBusValueUnsigned8(const KNXValue& value, uint8_t* payload, size_t pay
return true; return true;
} }
int valueToBusValueSigned8(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype) bool valueToBusValueSigned8(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype)
{ {
if ((int64_t)value < INT64_C(-128) || (int64_t)value > INT64_C(127)) if ((int64_t)value < INT64_C(-128) || (int64_t)value > INT64_C(127))
return false; return false;
@ -1071,7 +1071,7 @@ int valueToBusValueSigned8(const KNXValue& value, uint8_t* payload, size_t paylo
return true; return true;
} }
int valueToBusValueStatusAndMode(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype) bool valueToBusValueStatusAndMode(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype)
{ {
if (datatype.index < 5) if (datatype.index < 5)
bitToPayload(payload, payload_length, datatype.index, value); bitToPayload(payload, payload_length, datatype.index, value);
@ -1088,7 +1088,7 @@ int valueToBusValueStatusAndMode(const KNXValue& value, uint8_t* payload, size_t
return true; return true;
} }
int valueToBusValueUnsigned16(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype) bool valueToBusValueUnsigned16(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype)
{ {
if ((int64_t)value < INT64_C(0) || (int64_t)value > INT64_C(65535)) if ((int64_t)value < INT64_C(0) || (int64_t)value > INT64_C(65535))
return false; return false;
@ -1097,7 +1097,7 @@ int valueToBusValueUnsigned16(const KNXValue& value, uint8_t* payload, size_t pa
return true; return true;
} }
int valueToBusValueTimePeriod(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype) bool valueToBusValueTimePeriod(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype)
{ {
struct tm tmp = value; struct tm tmp = value;
time_t timeSinceEpoch = mktime(&tmp); time_t timeSinceEpoch = mktime(&tmp);
@ -1109,7 +1109,7 @@ int valueToBusValueTimePeriod(const KNXValue& value, uint8_t* payload, size_t pa
return true; return true;
} }
int valueToBusValueSigned16(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype) bool valueToBusValueSigned16(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype)
{ {
if ((int64_t)value < INT64_C(-32768) || (int64_t)value > INT64_C(32767)) if ((int64_t)value < INT64_C(-32768) || (int64_t)value > INT64_C(32767))
return false; return false;
@ -1127,7 +1127,7 @@ int valueToBusValueSigned16(const KNXValue& value, uint8_t* payload, size_t payl
return true; return true;
} }
int valueToBusValueTimeDelta(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype) bool valueToBusValueTimeDelta(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype)
{ {
struct tm tmp = value; struct tm tmp = value;
time_t timeSinceEpoch = mktime(&tmp); time_t timeSinceEpoch = mktime(&tmp);
@ -1139,7 +1139,7 @@ int valueToBusValueTimeDelta(const KNXValue& value, uint8_t* payload, size_t pay
return true; return true;
} }
int valueToBusValueFloat16(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype) bool valueToBusValueFloat16(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype)
{ {
double numValue = value; double numValue = value;
@ -1196,7 +1196,7 @@ int valueToBusValueFloat16(const KNXValue& value, uint8_t* payload, size_t paylo
return true; return true;
} }
int valueToBusValueTime(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype) bool valueToBusValueTime(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype)
{ {
switch (datatype.index) switch (datatype.index)
{ {
@ -1226,7 +1226,7 @@ int valueToBusValueTime(const KNXValue& value, uint8_t* payload, size_t payload_
return true; return true;
} }
int valueToBusValueDate(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype) bool valueToBusValueDate(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype)
{ {
struct tm tmp = value; struct tm tmp = value;
@ -1239,7 +1239,7 @@ int valueToBusValueDate(const KNXValue& value, uint8_t* payload, size_t payload_
return true; return true;
} }
int valueToBusValueUnsigned32(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype) bool valueToBusValueUnsigned32(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype)
{ {
if ((int64_t)value < INT64_C(0) || (int64_t)value > INT64_C(4294967295)) if ((int64_t)value < INT64_C(0) || (int64_t)value > INT64_C(4294967295))
return false; return false;
@ -1248,7 +1248,7 @@ int valueToBusValueUnsigned32(const KNXValue& value, uint8_t* payload, size_t pa
return true; return true;
} }
int valueToBusValueSigned32(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype) bool valueToBusValueSigned32(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype)
{ {
if ((int64_t)value < INT64_C(-2147483648) || (int64_t)value > INT64_C(2147483647)) if ((int64_t)value < INT64_C(-2147483648) || (int64_t)value > INT64_C(2147483647))
return false; return false;
@ -1257,7 +1257,7 @@ int valueToBusValueSigned32(const KNXValue& value, uint8_t* payload, size_t payl
return true; return true;
} }
int valueToBusValueLongTimePeriod(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype) bool valueToBusValueLongTimePeriod(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype)
{ {
if ((int64_t)value < INT64_C(-2147483648) || (int64_t)value > INT64_C(2147483647)) if ((int64_t)value < INT64_C(-2147483648) || (int64_t)value > INT64_C(2147483647))
return false; return false;
@ -1266,7 +1266,7 @@ int valueToBusValueLongTimePeriod(const KNXValue& value, uint8_t* payload, size_
return true; return true;
} }
int valueToBusValueFloat32(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype) bool valueToBusValueFloat32(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype)
{ {
double numValue = value; double numValue = value;
@ -1277,7 +1277,7 @@ int valueToBusValueFloat32(const KNXValue& value, uint8_t* payload, size_t paylo
return true; return true;
} }
int valueToBusValueAccess(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype) bool valueToBusValueAccess(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype)
{ {
switch (datatype.index) switch (datatype.index)
{ {
@ -1317,7 +1317,7 @@ int valueToBusValueAccess(const KNXValue& value, uint8_t* payload, size_t payloa
return true; return true;
} }
int valueToBusValueString(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype) bool valueToBusValueString(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype)
{ {
const char* strValue = value; const char* strValue = value;
uint8_t val = strValue[0]; uint8_t val = strValue[0];
@ -1333,7 +1333,7 @@ int valueToBusValueString(const KNXValue& value, uint8_t* payload, size_t payloa
return true; return true;
} }
int valueToBusValueScene(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype) bool valueToBusValueScene(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype)
{ {
if ((int64_t)value < INT64_C(0) || (int64_t)value > INT64_C(63)) if ((int64_t)value < INT64_C(0) || (int64_t)value > INT64_C(63))
return false; return false;
@ -1342,7 +1342,7 @@ int valueToBusValueScene(const KNXValue& value, uint8_t* payload, size_t payload
return true; return true;
} }
int valueToBusValueSceneControl(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype) bool valueToBusValueSceneControl(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype)
{ {
switch (datatype.index) switch (datatype.index)
{ {
@ -1366,7 +1366,7 @@ int valueToBusValueSceneControl(const KNXValue& value, uint8_t* payload, size_t
return true; return true;
} }
int valueToBusValueSceneInfo(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype) bool valueToBusValueSceneInfo(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype)
{ {
switch (datatype.index) switch (datatype.index)
{ {
@ -1390,7 +1390,7 @@ int valueToBusValueSceneInfo(const KNXValue& value, uint8_t* payload, size_t pay
return true; return true;
} }
int valueToBusValueSceneConfig(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype) bool valueToBusValueSceneConfig(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype)
{ {
switch (datatype.index) switch (datatype.index)
{ {
@ -1415,7 +1415,7 @@ int valueToBusValueSceneConfig(const KNXValue& value, uint8_t* payload, size_t p
return true; return true;
} }
int valueToBusValueDateTime(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype) bool valueToBusValueDateTime(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype)
{ {
switch (datatype.index) switch (datatype.index)
{ {
@ -1492,19 +1492,19 @@ int valueToBusValueDateTime(const KNXValue& value, uint8_t* payload, size_t payl
return true; return true;
} }
int valueToBusValueUnicode(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype) bool valueToBusValueUnicode(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype)
{ {
//TODO //TODO
return false; return false;
} }
int valueToBusValueSigned64(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype) bool valueToBusValueSigned64(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype)
{ {
signed64ToPayload(payload, payload_length, 0, (int64_t)value, UINT64_C(0xFFFFFFFFFFFFFFFF)); signed64ToPayload(payload, payload_length, 0, (int64_t)value, UINT64_C(0xFFFFFFFFFFFFFFFF));
return true; return true;
} }
int valueToBusValueAlarmInfo(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype) bool valueToBusValueAlarmInfo(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype)
{ {
switch (datatype.index) switch (datatype.index)
{ {
@ -1556,7 +1556,7 @@ int valueToBusValueAlarmInfo(const KNXValue& value, uint8_t* payload, size_t pay
return true; return true;
} }
int valueToBusValueSerialNumber(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype) bool valueToBusValueSerialNumber(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype)
{ {
switch (datatype.index) switch (datatype.index)
{ {
@ -1587,7 +1587,7 @@ int valueToBusValueSerialNumber(const KNXValue& value, uint8_t* payload, size_t
return true; return true;
} }
int valueToBusValueVersion(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype) bool valueToBusValueVersion(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype)
{ {
switch (datatype.index) switch (datatype.index)
{ {
@ -1626,7 +1626,7 @@ int valueToBusValueVersion(const KNXValue& value, uint8_t* payload, size_t paylo
return true; return true;
} }
int valueToBusValueScaling(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype) bool valueToBusValueScaling(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype)
{ {
switch (datatype.index) switch (datatype.index)
{ {
@ -1655,7 +1655,7 @@ int valueToBusValueScaling(const KNXValue& value, uint8_t* payload, size_t paylo
return true; return true;
} }
int valueToBusValueTariff(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype) bool valueToBusValueTariff(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype)
{ {
switch (datatype.index) switch (datatype.index)
{ {
@ -1684,7 +1684,7 @@ int valueToBusValueTariff(const KNXValue& value, uint8_t* payload, size_t payloa
return true; return true;
} }
int valueToBusValueLocale(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype) bool valueToBusValueLocale(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype)
{ {
int strl = strlen(value); int strl = strlen(value);
@ -1702,19 +1702,19 @@ int valueToBusValueLocale(const KNXValue& value, uint8_t* payload, size_t payloa
return false; return false;
} }
int valueToBusValueRGB(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype) bool valueToBusValueRGB(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype)
{ {
if ((int64_t)value < INT64_C(0) || (int64_t)value > INT64_C(16777215)) if ((int64_t)value < INT64_C(0) || (int64_t)value > INT64_C(0xffffff))
return false; return false;
unsigned int rgb = (int64_t)value; unsigned int rgb = (int64_t)value;
unsigned16ToPayload(payload, payload_length, 0, rgb / 256, 0xffff); unsigned16ToPayload(payload, payload_length, 0, rgb >> 8, 0xffff);
unsigned8ToPayload(payload, payload_length, 2, rgb % 256, 0xff); unsigned8ToPayload(payload, payload_length, 2, rgb & 0xff, 0xff);
return true; return true;
} }
int valueToBusValueRGBW(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype) bool valueToBusValueRGBW(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype)
{ {
switch (datatype.index) switch (datatype.index)
{ {
@ -1734,7 +1734,7 @@ int valueToBusValueRGBW(const KNXValue& value, uint8_t* payload, size_t payload_
return true; return true;
} }
int valueToBusValueFlaggedScaling(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype) bool valueToBusValueFlaggedScaling(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype)
{ {
switch (datatype.index) switch (datatype.index)
{ {
@ -1759,7 +1759,7 @@ int valueToBusValueFlaggedScaling(const KNXValue& value, uint8_t* payload, size_
return true; return true;
} }
int valueToBusValueActiveEnergy(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype) bool valueToBusValueActiveEnergy(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype)
{ {
switch (datatype.index) switch (datatype.index)
{ {

View File

@ -36,90 +36,90 @@
/** /**
* Converts the KNX Payload given by the specific DPT and puts the value in the KNXValue struc * Converts the KNX Payload given by the specific DPT and puts the value in the KNXValue struc
*/ */
int KNX_Decode_Value(uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value); bool KNX_Decode_Value(uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
/** /**
* Converts the KNXValue struct to the KNX Payload as the specific DPT * Converts the KNXValue struct to the KNX Payload as the specific DPT
*/ */
int KNX_Encode_Value(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype); bool KNX_Encode_Value(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
//KNX to internal //KNX to internal
int busValueToBinary(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value); bool busValueToBinary(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
int busValueToBinaryControl(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value); bool busValueToBinaryControl(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
int busValueToStepControl(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value); bool busValueToStepControl(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
int busValueToCharacter(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value); bool busValueToCharacter(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
int busValueToUnsigned8(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value); bool busValueToUnsigned8(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
int busValueToSigned8(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value); bool busValueToSigned8(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
int busValueToStatusAndMode(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value); bool busValueToStatusAndMode(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
int busValueToUnsigned16(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value); bool busValueToUnsigned16(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
int busValueToTimePeriod(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value); bool busValueToTimePeriod(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
int busValueToSigned16(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value); bool busValueToSigned16(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
int busValueToTimeDelta(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value); bool busValueToTimeDelta(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
int busValueToFloat16(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value); bool busValueToFloat16(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
int busValueToTime(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value); bool busValueToTime(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
int busValueToDate(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value); bool busValueToDate(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
int busValueToUnsigned32(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value); bool busValueToUnsigned32(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
int busValueToSigned32(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value); bool busValueToSigned32(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
int busValueToLongTimePeriod(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value); bool busValueToLongTimePeriod(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
int busValueToFloat32(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value); bool busValueToFloat32(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
int busValueToAccess(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value); bool busValueToAccess(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
int busValueToString(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value); bool busValueToString(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
int busValueToScene(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value); bool busValueToScene(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
int busValueToSceneControl(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value); bool busValueToSceneControl(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
int busValueToSceneInfo(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value); bool busValueToSceneInfo(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
int busValueToSceneConfig(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value); bool busValueToSceneConfig(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
int busValueToDateTime(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value); bool busValueToDateTime(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
int busValueToUnicode(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value); bool busValueToUnicode(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
int busValueToSigned64(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value); bool busValueToSigned64(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
int busValueToAlarmInfo(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value); bool busValueToAlarmInfo(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
int busValueToSerialNumber(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value); bool busValueToSerialNumber(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
int busValueToVersion(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value); bool busValueToVersion(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
int busValueToScaling(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value); bool busValueToScaling(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
int busValueToTariff(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value); bool busValueToTariff(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
int busValueToLocale(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value); bool busValueToLocale(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
int busValueToRGB(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value); bool busValueToRGB(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
int busValueToRGBW(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value); bool busValueToRGBW(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
int busValueToFlaggedScaling(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value); bool busValueToFlaggedScaling(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
int busValueToActiveEnergy(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value); bool busValueToActiveEnergy(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
//Internal to KNX //Internal to KNX
int valueToBusValueBinary(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype); bool valueToBusValueBinary(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
int valueToBusValueBinaryControl(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype); bool valueToBusValueBinaryControl(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
int valueToBusValueStepControl(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype); bool valueToBusValueStepControl(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
int valueToBusValueCharacter(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype); bool valueToBusValueCharacter(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
int valueToBusValueUnsigned8(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype); bool valueToBusValueUnsigned8(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
int valueToBusValueSigned8(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype); bool valueToBusValueSigned8(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
int valueToBusValueStatusAndMode(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype); bool valueToBusValueStatusAndMode(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
int valueToBusValueUnsigned16(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype); bool valueToBusValueUnsigned16(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
int valueToBusValueTimePeriod(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype); bool valueToBusValueTimePeriod(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
int valueToBusValueSigned16(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype); bool valueToBusValueSigned16(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
int valueToBusValueTimeDelta(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype); bool valueToBusValueTimeDelta(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
int valueToBusValueFloat16(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype); bool valueToBusValueFloat16(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
int valueToBusValueTime(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype); bool valueToBusValueTime(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
int valueToBusValueDate(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype); bool valueToBusValueDate(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
int valueToBusValueUnsigned32(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype); bool valueToBusValueUnsigned32(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
int valueToBusValueSigned32(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype); bool valueToBusValueSigned32(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
int valueToBusValueLongTimePeriod(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype); bool valueToBusValueLongTimePeriod(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
int valueToBusValueFloat32(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype); bool valueToBusValueFloat32(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
int valueToBusValueAccess(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype); bool valueToBusValueAccess(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
int valueToBusValueString(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype); bool valueToBusValueString(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
int valueToBusValueScene(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype); bool valueToBusValueScene(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
int valueToBusValueSceneControl(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype); bool valueToBusValueSceneControl(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
int valueToBusValueSceneInfo(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype); bool valueToBusValueSceneInfo(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
int valueToBusValueSceneConfig(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype); bool valueToBusValueSceneConfig(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
int valueToBusValueDateTime(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype); bool valueToBusValueDateTime(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
int valueToBusValueUnicode(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype); bool valueToBusValueUnicode(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
int valueToBusValueSigned64(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype); bool valueToBusValueSigned64(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
int valueToBusValueAlarmInfo(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype); bool valueToBusValueAlarmInfo(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
int valueToBusValueSerialNumber(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype); bool valueToBusValueSerialNumber(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
int valueToBusValueVersion(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype); bool valueToBusValueVersion(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
int valueToBusValueScaling(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype); bool valueToBusValueScaling(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
int valueToBusValueTariff(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype); bool valueToBusValueTariff(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
int valueToBusValueLocale(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype); bool valueToBusValueLocale(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
int valueToBusValueRGB(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype); bool valueToBusValueRGB(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
int valueToBusValueRGBW(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype); bool valueToBusValueRGBW(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
int valueToBusValueFlaggedScaling(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype); bool valueToBusValueFlaggedScaling(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
int valueToBusValueActiveEnergy(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype); bool valueToBusValueActiveEnergy(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
//Payload manipulation //Payload manipulation
bool bitFromPayload(const uint8_t* payload, int index); bool bitFromPayload(const uint8_t* payload, int index);