Nein. ![]()
Und genau hier würde ich eingreifen:
Abfrage erfolgt alle 15 Sekunden...
Antwortzeit auf xxx(!?)ms begrenzt.
(Master wechselt in Sendemodus)
Master sendet Request an Node 1
(Master wechselt von Sende in Empfangsmodus)
Master wartet auf Node 1 seine Antwort oder ob die Anwortzeit abgelaufen ist.
Die Antwort besteht aus tatsächlichen zwei Teilen.
Im ersten Teil wird bestätigt, das Anfrage empfangen und auf diese reagiert wird; aufgefüllt mit einer ID
Die zweite enthält die ID und die Antwort, was abgefragt wurde.
Wird Antwort Teil1 empfangen und Teil2 nicht, geht das im nächsten Umlauf wieder von vorn los.
Das könnte Deine Lösung sein. Dann bist Du mit dem ACK bei und sendest die ID, die schon vorher angelegt wurde.
Und im nächsten Durchgang die ID mit payload.
Bekommst Du kein ACK.ID, gehst Du gleich weiter und fragst den nächsten Node ab ohne auf den Abbruch durch TiemOut zu warten...