/*
LUFA Library
- Copyright (C) Dean Camera, 2011.
+ Copyright (C) Dean Camera, 2012.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
- Copyright 2011 Dean Camera (dean [at] fourwalledcubicle [dot] com)
+ Copyright 2012 Dean Camera (dean [at] fourwalledcubicle [dot] com)
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
#define _V2_PROTOCOL_
/* Includes: */
- #include <LUFA/Common/Common.h>
+ #include <avr/io.h>
+ #include <avr/interrupt.h>
+ #include <avr/wdt.h>
+
#include <LUFA/Drivers/USB/USB.h>
- #if (ARCH == ARCH_AVR8)
- #include <avr/io.h>
- #include <avr/interrupt.h>
- #include <avr/wdt.h>
- #elif (ARCH == ARCH_UC3)
- #include <avr32/io.h>
- #endif
-
#include "../Descriptors.h"
#include "V2ProtocolConstants.h"
#include "V2ProtocolParams.h"
#endif
#endif
- #if defined(USB_SERIES_4_AVR) && ((VTARGET_ADC_CHANNEL == 2) || (VTARGET_ADC_CHANNEL == 3))
+ #if defined(USB_SERIES_4_AVR) && ((VTARGET_ADC_CHANNEL == 2) || (VTARGET_ADC_CHANNEL == 3)) && !defined(NO_VTARGET_DETECT)
#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. */
#define PROGRAMMER_ID "AVRISP_MK2"
/** Timeout period for each issued command from the host before it is aborted (in 10ms ticks). */
#define COMMAND_TIMEOUT_TICKS 100
+ /** Command timeout ticks remaining counter, GPIOR for speed. */
+ #define TimeoutTicksRemaining GPIOR1
+
/** MUX mask for the VTARGET ADC channel number. */
#define VTARGET_ADC_CHANNEL_MASK ADC_GET_CHANNEL_MASK(VTARGET_ADC_CHANNEL)
/* External Variables: */
- extern uint32_t CurrentAddress;
- extern bool MustLoadExtendedAddress;
- extern volatile bool TimeoutExpired;
+ extern uint32_t CurrentAddress;
+ extern bool MustLoadExtendedAddress;
/* Function Prototypes: */
void V2Protocol_Init(void);