summaryrefslogtreecommitdiff
path: root/digital/avr/modules/adc/adc.h
diff options
context:
space:
mode:
Diffstat (limited to 'digital/avr/modules/adc/adc.h')
-rw-r--r--digital/avr/modules/adc/adc.h33
1 files changed, 20 insertions, 13 deletions
diff --git a/digital/avr/modules/adc/adc.h b/digital/avr/modules/adc/adc.h
index edd4a0af..dba200ce 100644
--- a/digital/avr/modules/adc/adc.h
+++ b/digital/avr/modules/adc/adc.h
@@ -1,7 +1,7 @@
#ifndef adc_h
#define adc_h
/* adc.h */
-/* n.avr.adc - AVR ADC Module. {{{
+/* avr.adc - AVR ADC module. {{{
*
* Copyright (C) 2005 Thomas Burg
*
@@ -23,29 +23,36 @@
* Email: burg AT efrei DOT fr
* }}} */
-#include "common.h"
-/* Different name on ATmega8535. */
-
-#if defined (__AVR_ATmega8535__) || defined (__AVR_ATmega16__)
-#define ADCSR ADCSRA
+/* Different name for AVR with auto-trigger support. */
+#if !defined (__AVR_ATmega128__)
+# define ADCSR ADCSRA
#endif
-/* +AutoDec */
+#ifdef HOST
+
+/* No hardware on host. */
+# define ADCSRA 1
+# define ADIF 1
+
+extern uint16_t ADCW;
-/** Initialise adc. */
+/** Table that the user can update to simulate an ADC. */
+extern uint16_t adc_values[8];
+
+#endif /* defined (HOST) */
+
+/** Initialise ADC. */
void
adc_init (void);
-/** Choose and start mesure on adc line. */
+/** Choose and start measure on ADC line. */
void
adc_start (uint8_t c);
-/* -AutoDec */
-
-/** check on finish mesure */
+/** Check if measure is finished. */
#define adc_checkf() bit_is_set (ADCSR, ADIF)
-/** read mesure */
+/** Read measure. */
#define adc_read() ADCW
#endif /* adc_h */