This version has the following changes:
* return the bios version with REG_ID_VER
* Improved backlight setting for LCD and Keyboard
* Replaced delay() with a non-blocking delay nbDelay()
* Implements monitoring of receive and request events
* I2C reset if no events were recorded in previous 2.5 seconds indicating a possible I2C malfunction.
If i2c master performs discovery via address read, stm32 has no data to
send for the masterin requestEvent. Send the zero byte if we got
requestEvent early, for example on i2c address read.
The correct power-on sequence for obtaining the battery percentage is to first power on the PicoCalc with the battery inserted
Then connect the USB Type-C cable to read the battery percentage.
The battery percentage also can be retrieved via I2C communication within the UF2 program.
PicoCalc keyboard firmware updating required.