As endearing as it is to get unactionable hate messages, I would rather we focus our efforts on having fun and fostering a small, great, positive, welcoming community, as it's has been so far.
This code of conduct is from https://www.contributor-covenant.org/, based on Mozilla's. I hope we never have to enforce it, and it sucks that we even have to think about these things. But at least this makes it a little more explicit about what's unacceptable behavior.
Nordic has published an errata for the nRF Connect SDK for versions
>1.8.0 where a Zigbee End Device can end up getting stuck if the
parent device does not acknowledge the "Device Announcement packet".
They have a suggested workaround to implement in the SDK, which has
been adapted for the custom signal handler used here.
This is an effort to solve issues where my parasites would occasionally
drop off my network and require a reboot. After 24Hrs, I've not yet
had a device disappear but it has taken >weeks before a device would
fail. Unforunately it's hard to debug the board as the chips are in a
low power state when this occurs.
I've been debugging a Shelly [bluetooth
proxy](https://www.home-assistant.io/integrations/shelly/#bluetooth-support)
feature, which didn't like b-parasite's advertising. It swallowed it before proxying it to HA.
I compared to both ATC and the legacy b-parasite advertising
(pre-nrf-connect) and found it to be related to the
non-connectable/non-scannable settings. Until this PR, we were
mistankenly settings the advertising to scannable, although with no
scannable data. The Zephyr code that sets this parameter based on the
scannable data is [here](c0fcd35531/subsys/bluetooth/host/adv.c (L860)).
My bet is that some scanners like ESPHome are okay with this, but Shelly
is not. Either way, I believe this PR makes the advertisements more
compliant.
Previous, SW1 was too close to RST, making it difficult to press one
without pressing another. After changing its position, it was more
convenient to route SW1 to pin 10 on U1 - That's P0.30/AIN6 both on
nRF52840 (C) and nRF52833 (E) modules.
I previously used a basic 2N3906 and then changed its footprint to
SOT-23. This led to the wrong pin assignment.
This commit fixes it by using the correct symbol and footprint for it.
Note that the PCB layout still needs fixing.
This will enable us to transparently use different calibration for
different board revisions. The 2.0.0 revision changes the sensing
circuitry and will need its own coeffs.
In this commit, both models are run in parallel for debugging.