#include "adc.h"
#include "pinout.h"
#include <avr/io.h>

void adc_setup(void){
  ADMUX = (1 << REFS0);     //Versorgungsspannung definieren
  ADCSRA|= (1 << ADEN)    //enable bit für adc
		| (1 << ADPS0)   //setze Prescaler für Abtastfrequenz
		| (1 << ADPS1)   //setze Prescaler für Abtastfrequenz
		| (0 << ADPS2);   //setze Prescaler für Abtastfrequenz
}



int adc_read(unsigned char adc_pin) {
  ADMUX &= 0b11110000; //Alte Port-Select Flags löschen
  ADMUX|=adc_pin;	//Neuen Eingang setzen
  ADCSRA |= (1 << ADSC);          // eine Wandlung "single conversion"
  while (ADCSRA & (1 << ADSC) ) { // auf Abschluss der Konvertierung warten
  }
  int ADCresult = ADCL;
  ADCresult += (ADCH << 8);
  return ADCresult;
}

