goToMain / libosdp

Implementation of IEC 60839-11-5 OSDP (Open Supervised Device Protocol); provides a C library with support for C++, Rust and Python3
https://libosdp.sidcha.dev
Apache License 2.0
130 stars 69 forks source link

PD to ignore reply from other PD on same address #112

Closed schmida2 closed 9 months ago

schmida2 commented 1 year ago

For OSDP auto addressing (https://github.com/schmida2/libosdp/blob/osdp-extension-autoaddr/OSDP_Extension-AutoAddressingProtocol.md) it happens that initially multiple PDs linger on the same bus address. This change ensures that PDs do not react to a reply from another PD on the same address. This change does not harm "normal" bus operation; it adds some robustness for unusual cases.

sidcha commented 9 months ago

@schmida2 I will close this PR for now; let's discuss on #113 and then come back implementation.

At the very least, any non-standard changes should be guarded by feature flags where the user has to opt-in for this behaviour.