- code cleanup
- introduce 3 persistent variables for store error codes if something goes failure during I2C communication