projects
/
pub
/
USBasp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Add structure padding to the appropriate descriptor structures to maintain correct...
[pub/USBasp.git]
/
Projects
/
AVRISP-MKII
/
Lib
/
V2Protocol.c
diff --git
a/Projects/AVRISP-MKII/Lib/V2Protocol.c
b/Projects/AVRISP-MKII/Lib/V2Protocol.c
index
618dedb
..
b510d43
100644
(file)
--- a/
Projects/AVRISP-MKII/Lib/V2Protocol.c
+++ b/
Projects/AVRISP-MKII/Lib/V2Protocol.c
@@
-1,13
+1,13
@@
/*
LUFA Library
/*
LUFA Library
- Copyright (C) Dean Camera, 201
0
.
+ Copyright (C) Dean Camera, 201
1
.
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
dean [at] fourwalledcubicle [dot] com
www.lufa-lib.org
*/
/*
- Copyright 201
0
Dean Camera (dean [at] fourwalledcubicle [dot] com)
+ Copyright 201
1
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
Permission to use, copy, modify, distribute, and sell this
software and its documentation for any purpose is hereby granted
@@
-44,10
+44,10
@@
bool MustLoadExtendedAddress;
/** ISR to manage timeouts whilst processing a V2Protocol command */
/** ISR to manage timeouts whilst processing a V2Protocol command */
-ISR(
TIMER0_COMPA_vect, ISR_NO
BLOCK)
+ISR(
WDT_vect, ISR_
BLOCK)
{
{
- if (TimeoutTicksRemaining)
-
TimeoutTicksRemaining--
;
+ TimeoutExpired = true;
+
wdt_disable()
;
}
/** Initialises the hardware and software associated with the V2 protocol command handling. */
}
/** Initialises the hardware and software associated with the V2 protocol command handling. */
@@
-60,11
+60,6
@@
void V2Protocol_Init(void)
ADC_StartReading(ADC_REFERENCE_AVCC | ADC_RIGHT_ADJUSTED | VTARGET_ADC_CHANNEL_MASK);
#endif
ADC_StartReading(ADC_REFERENCE_AVCC | ADC_RIGHT_ADJUSTED | VTARGET_ADC_CHANNEL_MASK);
#endif
- /* Timeout timer initialization (10ms period) */
- OCR0A = (((F_CPU / 1024) / 100) - 1);
- TCCR0A = (1 << WGM01);
- TIMSK0 = (1 << OCIE0A);
-
V2Params_LoadNonVolatileParamValues();
#if defined(ENABLE_ISP_PROTOCOL)
V2Params_LoadNonVolatileParamValues();
#if defined(ENABLE_ISP_PROTOCOL)
@@
-80,9
+75,10
@@
void V2Protocol_ProcessCommand(void)
{
uint8_t V2Command = Endpoint_Read_Byte();
{
uint8_t V2Command = Endpoint_Read_Byte();
- /* Start the timeout management timer */
- TimeoutTicksRemaining = COMMAND_TIMEOUT_TICKS;
- TCCR0B = ((1 << CS02) | (1 << CS00));
+ /* Start the watchdog with timeout interrupt enabled to manage the timeout */
+ TimeoutExpired = false;
+ wdt_enable(WDTO_1S);
+ WDTCSR |= (1 << WDIE);
switch (V2Command)
{
switch (V2Command)
{
@@
-144,8
+140,8
@@
void V2Protocol_ProcessCommand(void)
break;
}
break;
}
- /* Disable the timeout management timer */
-
TCCR0B = 0
;
+ /* Disable the timeout management
watchdog
timer */
+
wdt_disable()
;
Endpoint_WaitUntilReady();
Endpoint_SelectEndpoint(AVRISP_DATA_OUT_EPNUM);
Endpoint_WaitUntilReady();
Endpoint_SelectEndpoint(AVRISP_DATA_OUT_EPNUM);
@@
-185,7
+181,7
@@
static void V2Protocol_SignOn(void)
Endpoint_Write_Byte(CMD_SIGN_ON);
Endpoint_Write_Byte(STATUS_CMD_OK);
Endpoint_Write_Byte(sizeof(PROGRAMMER_ID) - 1);
Endpoint_Write_Byte(CMD_SIGN_ON);
Endpoint_Write_Byte(STATUS_CMD_OK);
Endpoint_Write_Byte(sizeof(PROGRAMMER_ID) - 1);
- Endpoint_Write_Stream_LE(PROGRAMMER_ID, (sizeof(PROGRAMMER_ID) - 1), N
O_STREAM_CALLBACK
);
+ Endpoint_Write_Stream_LE(PROGRAMMER_ID, (sizeof(PROGRAMMER_ID) - 1), N
ULL
);
Endpoint_ClearIN();
}
Endpoint_ClearIN();
}
@@
-249,7
+245,7
@@
static void V2Protocol_GetSetParam(const uint8_t V2Command)
*/
static void V2Protocol_LoadAddress(void)
{
*/
static void V2Protocol_LoadAddress(void)
{
- Endpoint_Read_Stream_BE(&CurrentAddress, sizeof(CurrentAddress), N
O_STREAM_CALLBACK
);
+ Endpoint_Read_Stream_BE(&CurrentAddress, sizeof(CurrentAddress), N
ULL
);
Endpoint_ClearOUT();
Endpoint_SelectEndpoint(AVRISP_DATA_IN_EPNUM);
Endpoint_ClearOUT();
Endpoint_SelectEndpoint(AVRISP_DATA_IN_EPNUM);