I took my first jump into GitHub as a contributor. I put my current AS3935 based application called “Striker” into the repository. You can find it here:
This should now get me off the hook for several of you asking for the code!
Please note that I am using full bit-banging I2C interface. It turns out the AS3935 bug is not just on the first read of register 0, but all reads and writes of it. I had considered a hybrid solution of using the Wire library to access the bulk of the registers and a bit bang solution for register 0. But it practice this was painful to implement.
What I hope to do is look at the Wire library and ‘adjust’ it to ignore the incorrect NAK during the address cycle for register 0. But that will have to wait.
You will also notice that the Arduino has a pin to control an LED, a horn, and a silence switch. It also has a pin to control a spark generator to provide self test capability. This is not tested yet as my oscilloscope had to go back for service before I could get the lightning simulator working.