knx
ETS configurable knx-stack
dptconvert.h
Go to the documentation of this file.
1 /*
2  KNX client library - internals
3  Copyright (C) 2005-2011 Martin Koegler <mkoegler@auto.tuwien.ac.at>
4  Copyright (C) 2014 Patrik Pfaffenbauer <patrik.pfaffenbauer@p3.co.at>
5 
6  This program is free software; you can redistribute it and/or modify
7  it under the terms of the GNU General Public License as published by
8  the Free Software Foundation; either version 2 of the License, or
9  (at your option) any later version.
10 
11  In addition to the permissions in the GNU General Public License,
12  you may link the compiled version of this file into combinations
13  with other programs, and distribute those combinations without any
14  restriction coming from the use of this file. (The General Public
15  License restrictions do apply in other respects; for example, they
16  cover modification of the file, and distribution when not linked into
17  a combine executable.)
18 
19  This program is distributed in the hope that it will be useful,
20  but WITHOUT ANY WARRANTY; without even the implied warranty of
21  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22  GNU General Public License for more details.
23 
24  You should have received a copy of the GNU General Public License
25  along with this program; if not, write to the Free Software
26  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
27 */
28 
29 #pragma once
30 
31 #include <cstdint>
32 
33 #include "dpt.h"
34 #include "knx_value.h"
35 
39 bool KNX_Decode_Value(uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
40 
44 bool KNX_Encode_Value(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
45 
46 //KNX to internal
47 bool busValueToBinary(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
48 bool busValueToBinaryControl(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
49 bool busValueToStepControl(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
50 bool busValueToCharacter(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
51 bool busValueToUnsigned8(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
52 bool busValueToSigned8(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
53 bool busValueToStatusAndMode(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
54 bool busValueToUnsigned16(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
55 bool busValueToTimePeriod(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
56 bool busValueToSigned16(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
57 bool busValueToTimeDelta(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
58 bool busValueToFloat16(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
59 bool busValueToTime(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
60 bool busValueToDate(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
61 bool busValueToUnsigned32(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
62 bool busValueToSigned32(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
63 bool busValueToLongTimePeriod(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
64 bool busValueToFloat32(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
65 bool busValueToAccess(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
66 bool busValueToString(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
67 bool busValueToScene(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
68 bool busValueToSceneControl(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
69 bool busValueToSceneInfo(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
70 bool busValueToSceneConfig(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
71 bool busValueToDateTime(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
72 bool busValueToUnicode(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
73 bool busValueToSigned64(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
74 bool busValueToAlarmInfo(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
75 bool busValueToSerialNumber(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
76 bool busValueToVersion(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
77 bool busValueToScaling(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
78 bool busValueToTariff(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
79 bool busValueToLocale(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
80 bool busValueToRGB(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
81 bool busValueToRGBW(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
82 bool busValueToFlaggedScaling(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
83 bool busValueToActiveEnergy(const uint8_t* payload, size_t payload_length, const Dpt& datatype, KNXValue& value);
84 
85 //Internal to KNX
86 bool valueToBusValueBinary(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
87 bool valueToBusValueBinaryControl(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
88 bool valueToBusValueStepControl(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
89 bool valueToBusValueCharacter(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
90 bool valueToBusValueUnsigned8(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
91 bool valueToBusValueSigned8(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
92 bool valueToBusValueStatusAndMode(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
93 bool valueToBusValueUnsigned16(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
94 bool valueToBusValueTimePeriod(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
95 bool valueToBusValueSigned16(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
96 bool valueToBusValueTimeDelta(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
97 bool valueToBusValueFloat16(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
98 bool valueToBusValueTime(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
99 bool valueToBusValueDate(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
100 bool valueToBusValueUnsigned32(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
101 bool valueToBusValueSigned32(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
102 bool valueToBusValueLongTimePeriod(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
103 bool valueToBusValueFloat32(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
104 bool valueToBusValueAccess(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
105 bool valueToBusValueString(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
106 bool valueToBusValueScene(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
107 bool valueToBusValueSceneControl(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
108 bool valueToBusValueSceneInfo(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
109 bool valueToBusValueSceneConfig(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
110 bool valueToBusValueDateTime(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
111 bool valueToBusValueUnicode(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
112 bool valueToBusValueSigned64(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
113 bool valueToBusValueAlarmInfo(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
114 bool valueToBusValueSerialNumber(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
115 bool valueToBusValueVersion(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
116 bool valueToBusValueScaling(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
117 bool valueToBusValueTariff(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
118 bool valueToBusValueLocale(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
119 bool valueToBusValueRGB(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
120 bool valueToBusValueRGBW(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
121 bool valueToBusValueFlaggedScaling(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
122 bool valueToBusValueActiveEnergy(const KNXValue& value, uint8_t* payload, size_t payload_length, const Dpt& datatype);
123 
124 //Payload manipulation
125 bool bitFromPayload(const uint8_t* payload, int index);
126 uint8_t unsigned8FromPayload(const uint8_t* payload, int index);
127 int8_t signed8FromPayload(const uint8_t* payload, int index);
128 uint16_t unsigned16FromPayload(const uint8_t* payload, int index);
129 int16_t signed16FromPayload(const uint8_t* payload, int index);
130 uint32_t unsigned32FromPayload(const uint8_t* payload, int index);
131 int32_t signed32FromPayload(const uint8_t* payload, int index);
132 uint64_t unsigned64FromPayload(const uint8_t* payload, int index);
133 double float16FromPayload(const uint8_t* payload, int index);
134 float float32FromPayload(const uint8_t* payload, int index);
135 double float64FromPayload(const uint8_t* payload, int index);
136 int64_t signed64FromPayload(const uint8_t* payload, int index);
137 uint8_t bcdFromPayload(const uint8_t* payload, int index);
138 
139 void bitToPayload(uint8_t* payload, size_t payload_length, int index, bool value);
140 void unsigned8ToPayload(uint8_t* payload, size_t payload_length, int index, uint8_t value, uint8_t mask); //mask 0xFF
141 void signed8ToPayload(uint8_t* payload, size_t payload_length, int index, int8_t value, uint8_t mask); //mask 0xFF
142 void unsigned16ToPayload(uint8_t* payload, size_t payload_length, int index, uint16_t value, uint16_t mask); //mask 0xFFFF
143 void signed16ToPayload(uint8_t* payload, size_t payload_length, int index, int16_t value, uint16_t mask); //mask 0xFFFF
144 void unsigned32ToPayload(uint8_t* payload, size_t payload_length, int index, uint32_t value, uint32_t mask); //mask = 0xFFFFFFFF
145 void signed32ToPayload(uint8_t* payload, size_t payload_length, int index, int32_t value, uint32_t mask); //mask = 0xFFFFFFFF
146 void float16ToPayload(uint8_t* payload, size_t payload_length, int index, double value, uint16_t mask); //mask = 0xFFFF
147 void float32ToPayload(uint8_t* payload, size_t payload_length, int index, double value, uint32_t mask); //mask = 0xFFFFFFFF
148 void signed64ToPayload(uint8_t* payload, size_t payload_length, int index, int64_t value, uint64_t mask); //mask = UINT64_C(0xFFFFFFFFFFFFFFFF)
149 void bcdToPayload(uint8_t* payload, size_t payload_length, int index, uint8_t value);
Definition: dpt.h:364
bool valueToBusValueRGB(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)
bool busValueToUnicode(const uint8_t *payload, size_t payload_length, const Dpt &datatype, KNXValue &value)
Definition: dptconvert.cpp:778
bool valueToBusValueBinary(const KNXValue &value, uint8_t *payload, size_t payload_length, const Dpt &datatype)
uint32_t unsigned32FromPayload(const uint8_t *payload, int index)
bool busValueToDate(const uint8_t *payload, size_t payload_length, const Dpt &datatype, KNXValue &value)
Definition: dptconvert.cpp:522
bool valueToBusValueScene(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)
int32_t signed32FromPayload(const uint8_t *payload, int index)
bool valueToBusValueUnsigned16(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)
bool valueToBusValueScaling(const KNXValue &value, uint8_t *payload, size_t payload_length, const Dpt &datatype)
double float64FromPayload(const uint8_t *payload, int index)
bool busValueToAlarmInfo(const uint8_t *payload, size_t payload_length, const Dpt &datatype, KNXValue &value)
Definition: dptconvert.cpp:791
bool busValueToAccess(const uint8_t *payload, size_t payload_length, const Dpt &datatype, KNXValue &value)
Definition: dptconvert.cpp:570
bool busValueToVersion(const uint8_t *payload, size_t payload_length, const Dpt &datatype, KNXValue &value)
Definition: dptconvert.cpp:849
bool busValueToUnsigned32(const uint8_t *payload, size_t payload_length, const Dpt &datatype, KNXValue &value)
Definition: dptconvert.cpp:542
bool busValueToUnsigned16(const uint8_t *payload, size_t payload_length, const Dpt &datatype, KNXValue &value)
Definition: dptconvert.cpp:438
bool busValueToLongTimePeriod(const uint8_t *payload, size_t payload_length, const Dpt &datatype, KNXValue &value)
Definition: dptconvert.cpp:556
bool valueToBusValueTime(const KNXValue &value, uint8_t *payload, size_t payload_length, const Dpt &datatype)
bool busValueToSigned16(const uint8_t *payload, size_t payload_length, const Dpt &datatype, KNXValue &value)
Definition: dptconvert.cpp:454
bool valueToBusValueRGBW(const KNXValue &value, uint8_t *payload, size_t payload_length, const Dpt &datatype)
bool busValueToTimePeriod(const uint8_t *payload, size_t payload_length, const Dpt &datatype, KNXValue &value)
Definition: dptconvert.cpp:445
bool busValueToBinaryControl(const uint8_t *payload, size_t payload_length, const Dpt &datatype, KNXValue &value)
Definition: dptconvert.cpp:352
uint16_t unsigned16FromPayload(const uint8_t *payload, int index)
bool busValueToSigned32(const uint8_t *payload, size_t payload_length, const Dpt &datatype, KNXValue &value)
Definition: dptconvert.cpp:549
bool busValueToRGB(const uint8_t *payload, size_t payload_length, const Dpt &datatype, KNXValue &value)
Definition: dptconvert.cpp:930
bool busValueToBinary(const uint8_t *payload, size_t payload_length, const Dpt &datatype, KNXValue &value)
Definition: dptconvert.cpp:345
bool busValueToDateTime(const uint8_t *payload, size_t payload_length, const Dpt &datatype, KNXValue &value)
Definition: dptconvert.cpp:699
bool busValueToSceneInfo(const uint8_t *payload, size_t payload_length, const Dpt &datatype, KNXValue &value)
Definition: dptconvert.cpp:654
bool valueToBusValueUnicode(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)
bool busValueToSigned64(const uint8_t *payload, size_t payload_length, const Dpt &datatype, KNXValue &value)
Definition: dptconvert.cpp:784
bool busValueToSceneConfig(const uint8_t *payload, size_t payload_length, const Dpt &datatype, KNXValue &value)
Definition: dptconvert.cpp:676
bool valueToBusValueDateTime(const KNXValue &value, uint8_t *payload, size_t payload_length, const Dpt &datatype)
bool busValueToFlaggedScaling(const uint8_t *payload, size_t payload_length, const Dpt &datatype, KNXValue &value)
Definition: dptconvert.cpp:960
bool busValueToSigned8(const uint8_t *payload, size_t payload_length, const Dpt &datatype, KNXValue &value)
Definition: dptconvert.cpp:413
bool valueToBusValueTariff(const KNXValue &value, uint8_t *payload, size_t payload_length, const Dpt &datatype)
void float32ToPayload(uint8_t *payload, size_t payload_length, int index, double value, uint32_t mask)
bool busValueToStepControl(const uint8_t *payload, size_t payload_length, const Dpt &datatype, KNXValue &value)
Definition: dptconvert.cpp:359
bool valueToBusValueLocale(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)
bool busValueToScaling(const uint8_t *payload, size_t payload_length, const Dpt &datatype, KNXValue &value)
Definition: dptconvert.cpp:871
bool busValueToSerialNumber(const uint8_t *payload, size_t payload_length, const Dpt &datatype, KNXValue &value)
Definition: dptconvert.cpp:831
int64_t signed64FromPayload(const uint8_t *payload, int index)
bool busValueToActiveEnergy(const uint8_t *payload, size_t payload_length, const Dpt &datatype, KNXValue &value)
Definition: dptconvert.cpp:978
uint8_t unsigned8FromPayload(const uint8_t *payload, int index)
void signed64ToPayload(uint8_t *payload, size_t payload_length, int index, int64_t value, uint64_t mask)
bool valueToBusValueFlaggedScaling(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)
bool valueToBusValueAlarmInfo(const KNXValue &value, uint8_t *payload, size_t payload_length, const Dpt &datatype)
uint8_t bcdFromPayload(const uint8_t *payload, int index)
bool valueToBusValueSerialNumber(const KNXValue &value, uint8_t *payload, size_t payload_length, const Dpt &datatype)
void unsigned8ToPayload(uint8_t *payload, size_t payload_length, int index, uint8_t value, uint8_t mask)
double float16FromPayload(const uint8_t *payload, int index)
bool valueToBusValueSigned8(const KNXValue &value, uint8_t *payload, size_t payload_length, const Dpt &datatype)
int16_t signed16FromPayload(const uint8_t *payload, int index)
bool busValueToFloat16(const uint8_t *payload, size_t payload_length, const Dpt &datatype, KNXValue &value)
Definition: dptconvert.cpp:477
bool busValueToUnsigned8(const uint8_t *payload, size_t payload_length, const Dpt &datatype, KNXValue &value)
Definition: dptconvert.cpp:383
float float32FromPayload(const uint8_t *payload, int index)
void bitToPayload(uint8_t *payload, size_t payload_length, int index, bool value)
bool valueToBusValueSceneConfig(const KNXValue &value, uint8_t *payload, size_t payload_length, const Dpt &datatype)
bool bitFromPayload(const uint8_t *payload, int index)
bool busValueToTimeDelta(const uint8_t *payload, size_t payload_length, const Dpt &datatype, KNXValue &value)
Definition: dptconvert.cpp:468
void unsigned32ToPayload(uint8_t *payload, size_t payload_length, int index, uint32_t value, uint32_t mask)
bool valueToBusValueSigned64(const KNXValue &value, uint8_t *payload, size_t payload_length, const Dpt &datatype)
void float16ToPayload(uint8_t *payload, size_t payload_length, int index, double value, uint16_t mask)
void bcdToPayload(uint8_t *payload, size_t payload_length, int index, uint8_t value)
bool busValueToRGBW(const uint8_t *payload, size_t payload_length, const Dpt &datatype, KNXValue &value)
Definition: dptconvert.cpp:938
bool valueToBusValueAccess(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)
bool valueToBusValueSigned16(const KNXValue &value, uint8_t *payload, size_t payload_length, const Dpt &datatype)
int8_t signed8FromPayload(const uint8_t *payload, int index)
bool busValueToSceneControl(const uint8_t *payload, size_t payload_length, const Dpt &datatype, KNXValue &value)
Definition: dptconvert.cpp:632
bool valueToBusValueSceneInfo(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)
bool valueToBusValueFloat32(const KNXValue &value, uint8_t *payload, size_t payload_length, const Dpt &datatype)
bool busValueToCharacter(const uint8_t *payload, size_t payload_length, const Dpt &datatype, KNXValue &value)
Definition: dptconvert.cpp:365
bool valueToBusValueSigned32(const KNXValue &value, uint8_t *payload, size_t payload_length, const Dpt &datatype)
bool busValueToScene(const uint8_t *payload, size_t payload_length, const Dpt &datatype, KNXValue &value)
Definition: dptconvert.cpp:625
uint64_t unsigned64FromPayload(const uint8_t *payload, int index)
bool busValueToString(const uint8_t *payload, size_t payload_length, const Dpt &datatype, KNXValue &value)
Definition: dptconvert.cpp:609
bool busValueToLocale(const uint8_t *payload, size_t payload_length, const Dpt &datatype, KNXValue &value)
Definition: dptconvert.cpp:914
void signed16ToPayload(uint8_t *payload, size_t payload_length, int index, int16_t value, uint16_t mask)
bool valueToBusValueBinaryControl(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)
bool valueToBusValueTimePeriod(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)
Converts the KNXValue struct to the KNX Payload as the specific DPT.
Definition: dptconvert.cpp:181
void signed32ToPayload(uint8_t *payload, size_t payload_length, int index, int32_t value, uint32_t mask)
bool KNX_Decode_Value(uint8_t *payload, size_t payload_length, const Dpt &datatype, KNXValue &value)
Converts the KNX Payload given by the specific DPT and puts the value in the KNXValue struc.
Definition: dptconvert.cpp:13
bool busValueToStatusAndMode(const uint8_t *payload, size_t payload_length, const Dpt &datatype, KNXValue &value)
Definition: dptconvert.cpp:420
bool valueToBusValueUnsigned32(const KNXValue &value, uint8_t *payload, size_t payload_length, const Dpt &datatype)
bool busValueToFloat32(const uint8_t *payload, size_t payload_length, const Dpt &datatype, KNXValue &value)
Definition: dptconvert.cpp:563
void unsigned16ToPayload(uint8_t *payload, size_t payload_length, int index, uint16_t value, uint16_t mask)
bool valueToBusValueCharacter(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)
bool valueToBusValueVersion(const KNXValue &value, uint8_t *payload, size_t payload_length, const Dpt &datatype)
void signed8ToPayload(uint8_t *payload, size_t payload_length, int index, int8_t value, uint8_t mask)
bool busValueToTariff(const uint8_t *payload, size_t payload_length, const Dpt &datatype, KNXValue &value)
Definition: dptconvert.cpp:889
bool busValueToTime(const uint8_t *payload, size_t payload_length, const Dpt &datatype, KNXValue &value)
Definition: dptconvert.cpp:488