X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/271be037b736d66a7b7e0c4d5d30c5a24025277f..34dc7f241fe0627e21c3a218123d5d9fbc97374c:/Projects/AVRISP/AVRISP.c?ds=sidebyside diff --git a/Projects/AVRISP/AVRISP.c b/Projects/AVRISP/AVRISP.c index f14b6545a..44b8356cd 100644 --- a/Projects/AVRISP/AVRISP.c +++ b/Projects/AVRISP/AVRISP.c @@ -34,10 +34,6 @@ * the project and is responsible for the initial application hardware configuration. */ -// TODO: Add in software SPI for lower programming speeds below 125KHz -// TODO: Add in VTARGET detection -// TODO: Add reversed target connector checks - #include "AVRISP.h" /** Main program entry point. This routine contains the overall program flow, including initial @@ -47,14 +43,16 @@ int main(void) { SetupHardware(); - V2Params_LoadEEPROMParamValues(); + V2Params_LoadNonVolatileParamValues(); LEDs_SetAllLEDs(LEDMASK_USB_NOTREADY); for (;;) { - Process_AVRISP_Commands(); - + Process_AVRISP_Commands(); + + V2Params_UpdateParamValues(); + USB_USBTask(); } } @@ -73,7 +71,14 @@ void SetupHardware(void) LEDs_Init(); USB_Init(); - /* Millisecond timer initialization for timeout checking */ + #if defined(ADC) + /* 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(VTARGET_ADC_CHANNEL | ADC_RIGHT_ADJUSTED | ADC_REFERENCE_AVCC); + #endif + + /* Millisecond timer initialization for timeouts and delays */ OCR0A = ((F_CPU / 64) / 1000); TCCR0A = (1 << WGM01); TCCR0B = ((1 << CS01) | (1 << CS00));