KIR Misc Functions.ino
These miscelaneous functions cover:
- Low Power Operation
- Low power sleep mode
- Setting MCU oscillator frequency
- Supply voltage measurement
- Reading average supply votage from ADC
- Printing out ATmega328PB fuse settings and lockbits, in debug mode.
initPins
This function sets the pinMode for the non row/col pins and sets their HIGH/LOW level as appropriate. This essentialy covers the 2 IR receivers, The IR emitter, the 2 I2C pins and the GPIO power supply pins for the optional IR receivers and I2C EEPROM (Both of which are powered off by default).
initLowPowerSleep
This function configures the relevant AVR registers to obtain optimal low power current usage, when sleeping. The sleep mode is set to SLEEP_MODE_PWR_DOWN, which usese the least amount of current when sleeping.