Ich habe gerade zwei Änderungen gemacht:
- mdelay und millis wurden aus der Platform entfernt. Unter Linux gibt es linux_platform.cpp delay und millies als normale Funktionen.
- KnxFacade ist nun eine Template-Klasse. D.h. Man kann durch knx.bau() sich die richtige Bau und mit knx.platform() die richtige Platform holen. Damit kann man z.B. bei Samd21 auf die genutzte SamdPlatform-Instanz zugreifen. ( Bernator damit kannst du z.B. den gewünschten Serial setzen an dem der TPUART hängt.)
mumpf Das mit dem zwei Instanzen auf dem gleichem Rechner liegt wahrscheinlich an https://github.com/thelsing/knx/blob...tform.cpp#L132
Wenn man das auf 1 setzt wird es wahrscheinlich gehen. Aber dann bekommt jede Instanz auch die selbst verschickten Muticast-Pakete. (AFAIR)
Mit dem Restart hab ich mir das in etwa so vorgestellt:
Die Anwendung macht einfach ein knx.restart(PA). Das geht zu BauSystemB::restart(PA).
Dort wird geschaut, ob es zur PA schon eine Verbindung gibt. Wenn ja einfach restartRequest senden. Sonst ConnectRequest. und den Restartrequest erst senden, wenn das ConnectConfirm kam.
Wenn das geht, könnte man den Stack perspektivisch auch nutzten um damit andere Geräte zu programmieren. (quasi als ETS-Ersatz.)
Den Rest deines Posts muss ich noch prüfen.
- mdelay und millis wurden aus der Platform entfernt. Unter Linux gibt es linux_platform.cpp delay und millies als normale Funktionen.
- KnxFacade ist nun eine Template-Klasse. D.h. Man kann durch knx.bau() sich die richtige Bau und mit knx.platform() die richtige Platform holen. Damit kann man z.B. bei Samd21 auf die genutzte SamdPlatform-Instanz zugreifen. ( Bernator damit kannst du z.B. den gewünschten Serial setzen an dem der TPUART hängt.)
mumpf Das mit dem zwei Instanzen auf dem gleichem Rechner liegt wahrscheinlich an https://github.com/thelsing/knx/blob...tform.cpp#L132
Wenn man das auf 1 setzt wird es wahrscheinlich gehen. Aber dann bekommt jede Instanz auch die selbst verschickten Muticast-Pakete. (AFAIR)
Mit dem Restart hab ich mir das in etwa so vorgestellt:
Die Anwendung macht einfach ein knx.restart(PA). Das geht zu BauSystemB::restart(PA).
Dort wird geschaut, ob es zur PA schon eine Verbindung gibt. Wenn ja einfach restartRequest senden. Sonst ConnectRequest. und den Restartrequest erst senden, wenn das ConnectConfirm kam.
Wenn das geht, könnte man den Stack perspektivisch auch nutzten um damit andere Geräte zu programmieren. (quasi als ETS-Ersatz.)
Den Rest deines Posts muss ich noch prüfen.
Kommentar