Hallo,
ich habe sehr wenig Erfahrung mit C Programmierung und momentan ein Problem beim Einlesen des DPT 10.001 TimeOfDay.
Da DPT 10.001 ein 3 Byte Wert ist, habe ich "t" als uint32_t definiert.
Im kdevice.h File ist folgendes definiert:
Als Ergebnis erhalte ich in der Debug Ausgabe
Mich wundert dabei, dass ich 2 Events im Debug sehe, auf dem Busmonitor ist allerdings nur 1 Event vorhanden.
Für Hilfe wäre ich dankbar.
Hat niemand eine Idee was ich hier falsch mache?
Falls das nicht funktioniert, kann man die gesamte Nachricht als byte array auslesen?
Dann könnte ich mir selbst die 3 Byte herauslesen.
VG
mobil750
ich habe sehr wenig Erfahrung mit C Programmierung und momentan ein Problem beim Einlesen des DPT 10.001 TimeOfDay.
Code:
// index will contain the com-object which received a telegram switch (index) { case COMOBJ_timeOfDay : // code to treat received TimeOfDay DPT 10.001 uint32_t t = Knx.read(COMOBJ_timeOfDay); ...
Im kdevice.h File ist folgendes definiert:
Code:
#define COMOBJ_timeOfDay 0 #define COMOBJ_date 1 #define COMOBJ_presence 2 ..... KnxComObject KnxDevice::_comObjectsList[] = { /* Index 0 - null */ KnxComObject(KNX_DPT_10_001, 0x2b), /* Index 1 - null */ KnxComObject(KNX_DPT_11_001, 0x2b), /* Index 2 - null */ KnxComObject(KNX_DPT_1_003, 0x2b), ...
Als Ergebnis erhalte ich in der Debug Ausgabe
Code:
... 16:04:09.786 -> 16:04:09.786 -> konnektingKnxEvents index=0 16:04:09.786 -> internalKnxEvents index=0 16:04:09.786 -> knxEvents(): KNX Object 0 reveived, NtpTimeOfDay = 60 16:04:09.786 -> 16:04:09.906 -> 16:04:09.906 -> 16:04:09.906 -> konnektingKnxEvents index=0 16:04:09.906 -> internalKnxEvents index=0 16:04:09.906 -> knxEvents(): KNX Object 0 reveived, NtpTimeOfDay = 60 16:04:09.906 -> ...
Für Hilfe wäre ich dankbar.
Hat niemand eine Idee was ich hier falsch mache?
Falls das nicht funktioniert, kann man die gesamte Nachricht als byte array auslesen?
Dann könnte ich mir selbst die 3 Byte herauslesen.
VG
mobil750
Kommentar