updated for interrupt-driver low power operation

Polling is done 4096 times per sec based on a timer
interrupt.

The main loop attempts to put the CPU in low-power
mode between interrupts.