From 025742fca89e78d33f37b229c97607460a3a78d5 Mon Sep 17 00:00:00 2001 From: Dean Camera Date: Tue, 26 Jul 2011 03:07:32 +0000 Subject: Added new VTARGET_USE_INTERNAL_REF configuration option to the AVRISP-MKII clone project (thanks to Volker Bosch). --- Projects/AVRISP-MKII/AVRISP-MKII.txt | 6 ++++++ Projects/AVRISP-MKII/Lib/V2Protocol.c | 2 +- Projects/AVRISP-MKII/Lib/V2Protocol.h | 9 +++++++++ Projects/AVRISP-MKII/makefile | 1 + 4 files changed, 17 insertions(+), 1 deletion(-) (limited to 'Projects') 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. Ignored when compiled for targets lacking an ADC, or when NO_VTARGET_DETECT is defined. * * + * VTARGET_USE_INTERNAL_REF + * Makefile LUFA_OPTS + * 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. + * + * * VTARGET_SCALE_FACTOR * Makefile LUFA_OPTS * 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 -- cgit v1.2.3