aboutsummaryrefslogtreecommitdiffstats
path: root/Projects
diff options
context:
space:
mode:
authorDean Camera <dean@fourwalledcubicle.com>2011-07-26 03:07:32 +0000
committerDean Camera <dean@fourwalledcubicle.com>2011-07-26 03:07:32 +0000
commit025742fca89e78d33f37b229c97607460a3a78d5 (patch)
tree968a5a4b9890a5b201611204798d4a416364bb62 /Projects
parentd5e874d3480e6806223cd2fc05d9c9bb85e9d95e (diff)
downloadlufa-025742fca89e78d33f37b229c97607460a3a78d5.tar.gz
lufa-025742fca89e78d33f37b229c97607460a3a78d5.tar.bz2
lufa-025742fca89e78d33f37b229c97607460a3a78d5.zip
Added new VTARGET_USE_INTERNAL_REF configuration option to the AVRISP-MKII clone project (thanks to Volker Bosch).
Diffstat (limited to 'Projects')
-rw-r--r--Projects/AVRISP-MKII/AVRISP-MKII.txt6
-rw-r--r--Projects/AVRISP-MKII/Lib/V2Protocol.c2
-rw-r--r--Projects/AVRISP-MKII/Lib/V2Protocol.h9
-rw-r--r--Projects/AVRISP-MKII/makefile1
4 files changed, 17 insertions, 1 deletions
diff --git a/Projects/AVRISP-MKII/AVRISP-MKII.txt b/Projects/AVRISP-MKII/AVRISP-MKII.txt
index fb6411b58..ab355bfac 100644
--- a/Projects/AVRISP-MKII/AVRISP-MKII.txt
+++ b/Projects/AVRISP-MKII/AVRISP-MKII.txt
@@ -267,6 +267,12 @@
* to the ADC. <i>Ignored when compiled for targets lacking an ADC, or when NO_VTARGET_DETECT is defined.</i></td>
* </tr>
* <tr>
+ * <td>VTARGET_USE_INTERNAL_REF</td>
+ * <td>Makefile LUFA_OPTS</td>
+ * <td>Selects the internal 2.56V ADC reference voltage, instead of using the AVR's VREF pin. When enabled, this option will
+ * override the VTARGET_REF_VOLTS configuration option.</i></td>
+ * </tr>
+ * <tr>
* <td>VTARGET_SCALE_FACTOR</td>
* <td>Makefile LUFA_OPTS</td>
* <td>Indicates the target's supply voltage scale factor when applied to the ADC. A simple resistive divider can be used on the
diff --git a/Projects/AVRISP-MKII/Lib/V2Protocol.c b/Projects/AVRISP-MKII/Lib/V2Protocol.c
index 4c8f0585a..65e34fad9 100644
--- a/Projects/AVRISP-MKII/Lib/V2Protocol.c
+++ b/Projects/AVRISP-MKII/Lib/V2Protocol.c
@@ -57,7 +57,7 @@ void V2Protocol_Init(void)
/* Initialize the ADC converter for VTARGET level detection on supported AVR models */
ADC_Init(ADC_FREE_RUNNING | ADC_PRESCALE_128);
ADC_SetupChannel(VTARGET_ADC_CHANNEL);
- ADC_StartReading(ADC_REFERENCE_AVCC | ADC_RIGHT_ADJUSTED | VTARGET_ADC_CHANNEL_MASK);
+ ADC_StartReading(VTARGET_REF_MASK | ADC_RIGHT_ADJUSTED | VTARGET_ADC_CHANNEL_MASK);
#endif
V2Params_LoadNonVolatileParamValues();
diff --git a/Projects/AVRISP-MKII/Lib/V2Protocol.h b/Projects/AVRISP-MKII/Lib/V2Protocol.h
index 8e9e6ff38..2511571f9 100644
--- a/Projects/AVRISP-MKII/Lib/V2Protocol.h
+++ b/Projects/AVRISP-MKII/Lib/V2Protocol.h
@@ -61,6 +61,15 @@
#if defined(USB_SERIES_4_AVR) && ((VTARGET_ADC_CHANNEL == 2) || (VTARGET_ADC_CHANNEL == 3))
#error The U4 AVR chips do not contain ADC channels 2 or 3. Please change VTARGET_ADC_CHANNEL or define NO_VTARGET_DETECT in the makefile.
#endif
+
+ #if defined(VTARGET_USE_INTERNAL_REF)
+ #undef VTARGET_REF_VOLTS
+ #define VTARGET_REF_VOLTS 2.56
+
+ #define VTARGET_REF_MASK ADC_REFERENCE_INT2560MV
+ #else
+ #define VTARGET_REF_MASK ADC_REFERENCE_AVCC
+ #endif
/* Macros: */
/** Programmer ID string, returned to the host during the CMD_SIGN_ON command processing. */
diff --git a/Projects/AVRISP-MKII/makefile b/Projects/AVRISP-MKII/makefile
index 0675242c0..36c6c893e 100644
--- a/Projects/AVRISP-MKII/makefile
+++ b/Projects/AVRISP-MKII/makefile
@@ -140,6 +140,7 @@ LUFA_OPTS += -D ENABLE_XPROG_PROTOCOL
LUFA_OPTS += -D VTARGET_ADC_CHANNEL=2
LUFA_OPTS += -D VTARGET_REF_VOLTS=5
LUFA_OPTS += -D VTARGET_SCALE_FACTOR=1
+#LUFA_OPTS += -D VTARGET_USE_INTERNAL_REF
#LUFA_OPTS += -D NO_VTARGET_DETECT
#LUFA_OPTS += -D LIBUSB_DRIVER_COMPAT
#LUFA_OPTS += -D XCK_RESCUE_CLOCK_ENABLE