23 #ifndef HAS_FUNCTIONAL
24 #if defined(__linux__) || defined(ARDUINO_ARCH_ESP32) || defined(ESP_PLATFORM) || defined(ARDUINO_ARCH_STM32) || defined (ARDUINO_ARCH_SAMD) || defined (ARDUINO_ARCH_RP2040) || defined(LIBRETINY)
25 #define HAS_FUNCTIONAL 1
27 #define HAS_FUNCTIONAL 0
144 #ifndef SMALL_GROUPOBJECT
216 #ifndef SMALL_GROUPOBJECT
272 #ifdef SMALL_GROUPOBJECT
276 size_t asapValueSize(uint8_t code)
const;
279 bool _uninitialized : 1;
282 uint8_t _dataLength = 0;
283 #ifndef SMALL_GROUPOBJECT
This class represents a single group object.
bool writeEnable()
Check if the write flag (W) was set.
bool valueCompare(const KNXValue &value, const Dpt &type)
Check if the value (after conversion to dpt) will differ from current value of the group object and c...
GroupObjectUpdatedHandler callback()
returns the registered callback
uint16_t asap()
returns the Application Service Access Point of the group object.
bool responseUpdateEnable()
Check if the update flag (U) was set.
bool initialized()
Check if the group object contains a valid value assigned from bus or from application program.
virtual ~GroupObject()
The destructor.
size_t sizeInTelegram()
returns the size of the group object in Byte as it is in a telegram.
static void processClassCallback(GroupObject &ko)
static GroupObjectUpdatedHandler classCallback()
Alternative callback processing: register one global callback for all group object.
ComFlag commFlag()
Return the current state of the group object.
KNXValue value()
return the current value of the group object.
size_t sizeInMemory() const
returns the size of the group object in the heap memory of the group object.
bool transmitEnable()
Check if the transmit flag (T) was set.
GroupObject()
The constructor.
void objectWritten()
Mark a communication object as written.
uint8_t * valueRef()
returns the pointer to the value of the group object.
bool valueNoSendCompare(const KNXValue &value, const Dpt &type)
Check if the value (after conversion to dpt) will differ from current value of the group object and u...
void requestObjectRead()
Request the read of a communication object.
Priority priority()
Get the priority of the group object.
bool valueReadOnInit()
Check if the initialisation flag (I) was set.
bool communicationEnable()
Check if the communication flag (C) was set.
bool tryValue(KNXValue &value, const Dpt &type)
set the current value of the group object.
bool valueNoSend(const KNXValue &value, const Dpt &type)
set the current value of the group objectand show success.
size_t valueSize()
returns the size of the group object in Byte.
Dpt dataPointType()
returns the currently configured datapoint type.
bool readEnable()
Check if the read flag (R) was set.
@ Ok
read or write request were send successfully
@ ReadRequest
Read was requested but was not processed.
@ Updated
Group object was updated.
@ Uninitialized
uninitialized Group Object, its value is not valid
@ Error
there was an error on processing a request
@ Transmitting
Group Object is processed a the moment (read or write)
@ WriteRequest
Write was requested but was not processed.
std::function< void(GroupObject &)> GroupObjectUpdatedHandler