Basic ring buffer implementation
add additional ADC read when reading without oversampling so that ADC settles after MUX change
move simple methods to macros, bit of syntactic sugar, more tests
interrupt based usart. note that ADC sleep nukes the ongoing transmission