Fixed problem in DeviceSettings::strParam, returned wrong string
[avr-sim.git] / src / ADC.h
blob621d0b156060fad1b6146033534fea4fb6d45d30
1 #ifndef AVR_ADCONVERTER_H
2 #define AVR_ADCONVERTER_H
4 #include "Hardware.h"
6 namespace avr {
8 /**
9 * @author Tom Haber
10 * @date May 27, 2008
11 * @brief Analog-Digital Converter
13 class ADC: public avr::Hardware {
14 public:
15 ADC(Bus & bus, unsigned int ccVec);
16 ~ADC();
18 public:
19 bool attachReg(const char *name, IORegister *reg);
20 bool finishBuild();
21 void regChanged( IORegister *reg );
22 void step();
23 void reset();
24 void beforeInvokeInterrupt(unsigned int vector);
26 private:
27 void setAdcsr(unsigned char val);
28 float refVoltage() const;
30 private:
31 IORegister *admux;
32 IORegister *adcsr;
33 IORegister *adch;
34 IORegister *adcl;
36 private:
37 unsigned char adcsr_old;
38 unsigned int ccVec;
39 unsigned int prescaler;
41 int clk;
42 float sample;
47 #endif /* AVR_ADCONVERTER_H */