#ifndef _fasterAnalogRead_h
#define _fasterAnalogRead_h

#ifndef cbi
#define cbi(sfr, bit) (_SFR_BYTE(sfr) &= ~_BV(bit))
#endif
#ifndef sbi
#define sbi(sfr, bit) (_SFR_BYTE(sfr) |= _BV(bit))
#endif

#define MAXANALOGVALS 8

class fastAnalog
{
	private:
		int maxPins;
		unsigned char analogPins[MAXANALOGVALS];
	public:
		fastAnalog();
		~fastAnalog();
	public:

		int analogVals[MAXANALOGVALS];
		unsigned char isValid[MAXANALOGVALS];
		int curAnalogVal;
		
		void SetPrescaler(unsigned char fac); // 8,16,32,64,128
		void startNextAnalogVal(void);
		int readLastAnalogVal(void);

};

#endif
