ADC code won't work as intended
it is not a good practice to put so much into an isr.
it is not a good practice to put the same routines in the isr as well as outside of the isr.
restart the adc at the beginning of the isr to save some time.