You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
// Frame duplication prevention based on LFN (see KKNX RF spec. 3.2.5 p.28)
See chapter 6.1.7 of 03.02.05 Communication Medium RF.
1) History List
We have to store the KNX serial number and the last received LFN (frame number) of this device in a list:
minimum 3 entries
maximum 7 entries or deletion mechanism after a timeout (e.g. 3s)
only one entry for each KNX serial number
Then discard a received frame if its KNX serial number and LFN pair is already in the list.
2) Repetition Counter
Implement pseudo code:
if rf_repetition_counter(rec_Frame) > 0 and
rf_repetition_counter(rec_Frame) > rf_repetition_counter_limit(Repeater)
rf_repetetion_counter(rec_Frame)—
else
discard(rec_Frame)
endif
rf_repetition_counter_limit should be read from PID_RF_REPEAT_COUNTER (PID = 74) in the Device Object (object_type = 0).
Additional remarks:
The KNX serial number is only contained in RF frames where the destination address is a group address and it is not 0x0000 (broadcast).
Open questions:
As the KNX serial number is only conained in frames that are used for normal group communication, does this mean that the RF retransmitter really only works on this single communication mode? So no RF retransmitting when configuring a device for example.
The text was updated successfully, but these errors were encountered:
Enable support for retransmitting received KNX-RF frames. This can be used to extend the range of KNX-RF.
See
knx/src/knx/rf_data_link_layer.cpp
Line 214 in cc1fc7d
See chapter 6.1.7 of 03.02.05 Communication Medium RF.
1) History List
We have to store the KNX serial number and the last received LFN (frame number) of this device in a list:
Then discard a received frame if its KNX serial number and LFN pair is already in the list.
2) Repetition Counter
Implement pseudo code:
rf_repetition_counter_limit should be read from PID_RF_REPEAT_COUNTER (PID = 74) in the Device Object (object_type = 0).
Additional remarks:
Open questions:
The text was updated successfully, but these errors were encountered: