diff options
author | Dean Camera <dean@fourwalledcubicle.com> | 2009-12-28 02:58:23 +0000 |
---|---|---|
committer | Dean Camera <dean@fourwalledcubicle.com> | 2009-12-28 02:58:23 +0000 |
commit | 3222f21b849ca283cc6c1f07c347285b8cbce075 (patch) | |
tree | b30164aa3796fa0b94484f87d8f79924f0e6249e /Projects/AVRISP-MKII/Lib | |
parent | 39ab7507dd4be15b9208744abe85e265fac4c71f (diff) | |
download | lufa-3222f21b849ca283cc6c1f07c347285b8cbce075.tar.gz lufa-3222f21b849ca283cc6c1f07c347285b8cbce075.tar.bz2 lufa-3222f21b849ca283cc6c1f07c347285b8cbce075.zip |
Add dummy undocumented TPI XPROG parameters to the AVRISP project so that TPI programming mode can be entered.
Diffstat (limited to 'Projects/AVRISP-MKII/Lib')
-rw-r--r-- | Projects/AVRISP-MKII/Lib/XPROG/XPROGProtocol.c | 25 | ||||
-rw-r--r-- | Projects/AVRISP-MKII/Lib/XPROG/XPROGProtocol.h | 2 |
2 files changed, 19 insertions, 8 deletions
diff --git a/Projects/AVRISP-MKII/Lib/XPROG/XPROGProtocol.c b/Projects/AVRISP-MKII/Lib/XPROG/XPROGProtocol.c index b8c435efa..f3f888e1c 100644 --- a/Projects/AVRISP-MKII/Lib/XPROG/XPROGProtocol.c +++ b/Projects/AVRISP-MKII/Lib/XPROG/XPROGProtocol.c @@ -74,7 +74,7 @@ void XPROGProtocol_SetMode(void) void XPROGProtocol_Command(void)
{
uint8_t XPROGCommand = Endpoint_Read_Byte();
-
+
switch (XPROGCommand)
{
case XPRG_CMD_ENTER_PROGMODE:
@@ -420,13 +420,22 @@ static void XPROGProtocol_SetParam(void) uint8_t XPROGParam = Endpoint_Read_Byte();
/* Determine which parameter is being set, store the new parameter value */
- if (XPROGParam == XPRG_PARAM_NVMBASE)
- XPROG_Param_NVMBase = Endpoint_Read_DWord_BE();
- else if (XPROGParam == XPRG_PARAM_EEPPAGESIZE)
- XPROG_Param_EEPageSize = Endpoint_Read_Word_BE();
- else
- ReturnStatus = XPRG_ERR_FAILED;
-
+ switch (XPROGParam)
+ {
+ case XPRG_PARAM_NVMBASE:
+ XPROG_Param_NVMBase = Endpoint_Read_DWord_BE();
+ break;
+ case XPRG_PARAM_EEPPAGESIZE:
+ XPROG_Param_EEPageSize = Endpoint_Read_Word_BE();
+ break;
+ case XPRG_PARAM_UNDOC_1:
+ case XPRG_PARAM_UNDOC_2:
+ break; // Undocumented TPI parameter, just accept and discard
+ default:
+ ReturnStatus = XPRG_ERR_FAILED;
+ break;
+ }
+
Endpoint_ClearOUT();
Endpoint_SetEndpointDirection(ENDPOINT_DIR_IN);
diff --git a/Projects/AVRISP-MKII/Lib/XPROG/XPROGProtocol.h b/Projects/AVRISP-MKII/Lib/XPROG/XPROGProtocol.h index 19a2a4d01..e42e50cec 100644 --- a/Projects/AVRISP-MKII/Lib/XPROG/XPROGProtocol.h +++ b/Projects/AVRISP-MKII/Lib/XPROG/XPROGProtocol.h @@ -97,6 +97,8 @@ #define XPRG_PARAM_NVMBASE 0x01
#define XPRG_PARAM_EEPPAGESIZE 0x02
+ #define XPRG_PARAM_UNDOC_1 0x03
+ #define XPRG_PARAM_UNDOC_2 0x04
#define XPRG_PROTOCOL_PDI 0x00
#define XPRG_PROTOCOL_JTAG 0x01
|