aboutsummaryrefslogtreecommitdiffstats
path: root/Projects
diff options
context:
space:
mode:
Diffstat (limited to 'Projects')
-rw-r--r--Projects/AVRISP-MKII/AVRISP-MKII.txt38
-rw-r--r--Projects/AVRISP-MKII/Lib/XPROG/XMEGANVM.c14
-rw-r--r--Projects/AVRISP-MKII/Lib/XPROG/XMEGANVM.h4
-rw-r--r--Projects/XPLAINBridge/XPLAINBridge.txt1
4 files changed, 34 insertions, 23 deletions
diff --git a/Projects/AVRISP-MKII/AVRISP-MKII.txt b/Projects/AVRISP-MKII/AVRISP-MKII.txt
index d2977dde9..a6f00b4a3 100644
--- a/Projects/AVRISP-MKII/AVRISP-MKII.txt
+++ b/Projects/AVRISP-MKII/AVRISP-MKII.txt
@@ -215,63 +215,69 @@
* <td>AUX_LINE_PORT</td>
* <td>Makefile LUFA_OPTS</td>
* <td>PORT register for the programmer's AUX target line. The use of this line varies between the programming protocols,
- * but is generally used for the target's /RESET line. <i>Ignored when compiled for the XPLAIN board.</i></td>
+ * but is generally used for the target's /RESET line.
+ * \n \n <i>Ignored when compiled for the XPLAIN board.</i></td>
* </tr>
* <tr>
* <td>AUX_LINE_PIN</td>
* <td>Makefile LUFA_OPTS</td>
* <td>PIN register for the programmer's AUX target line. The use of this line varies between the programming protocols,
- * but is generally used for the target's /RESET line. <i>Ignored when compiled for the XPLAIN board.</i></td>
+ * but is generally used for the target's /RESET line.
+ * \n \n <i>Ignored when compiled for the XPLAIN board.</i></td>
* </tr>
* <tr>
* <td>AUX_LINE_DDR</td>
* <td>Makefile LUFA_OPTS</td>
* <td>DDR register for the programmer's AUX target line. The use of this line varies between the programming protocols,
- * but is generally used for the target's /RESET line. <i>Ignored when compiled for the XPLAIN board.</i></td>
+ * but is generally used for the target's /RESET line.
+ * \n \n <i>Ignored when compiled for the XPLAIN board.</i></td>
* </tr>
* <tr>
* <td>AUX_LINE_MASK</td>
* <td>Makefile LUFA_OPTS</td>
* <td>Mask for the programmer's AUX target line. The use of this line varies between the programming protocols,
- * but is generally used for the target's /RESET line. <b>Must not be the AVR's /SS pin</b>. <i>Ignored when
- * compiled for the XPLAIN board.</i></td>
+ * but is generally used for the target's /RESET line. <b>Must not be the AVR's /SS pin</b>.
+ * \n \n <i>Ignored when compiled for the XPLAIN board.</i></td>
* </tr>
* <tr>
* <td>VTARGET_ADC_CHANNEL</td>
* <td>Makefile LUFA_OPTS</td>
* <td>ADC channel number (on supported AVRs) to use for VTARGET level detection, if NO_VTARGET_DETECT is not defined.
- * <i>Ignored when compiled for targets lacking an ADC.</i></td>
+ * \n \n <i>Ignored when compiled for targets lacking an ADC.</i></td>
* </tr>
* <tr>
* <td>ENABLE_ISP_PROTOCOL</td>
* <td>Makefile LUFA_OPTS</td>
- * <td>Define to enable SPI programming protocol support. <i>Ignored when compiled for the XPLAIN board.</i></td>
+ * <td>Define to enable SPI programming protocol support.
+ * \n \n <i>Ignored when compiled for the XPLAIN board.</i></td>
* </tr>
* <tr>
* <td>ENABLE_XPROG_PROTOCOL</td>
* <td>Makefile LUFA_OPTS</td>
- * <td>Define to enable PDI and TPI programming protocol support. <i>Ignored when compiled for the XPLAIN board.</i></td>
+ * <td>Define to enable PDI and TPI programming protocol support.
+ * \n \n <i>Ignored when compiled for the XPLAIN board.</i></td>
* </tr>
* <tr>
* <td>NO_VTARGET_DETECT</td>
* <td>Makefile LUFA_OPTS</td>
* <td>Define to disable VTARGET sampling and reporting on AVR models with an ADC converter. This will cause the programmer
- * to report a fixed 3.3V target voltage to the host regardless of the real target voltage. <i>Ignored when compiled for
- * targets lacking an ADC.</i></td>
+ * to report a fixed 3.3V target voltage to the host regardless of the real target voltage.
+ * \n \n <i>Ignored when compiled for targets lacking an ADC.</i></td>
* </tr>
* <tr>
* <td>VTARGET_REF_VOLTS</td>
* <td>Makefile LUFA_OPTS</td>
* <td>Indicates the programmer AVR's AVCC reference voltage when measuring the target's supply voltage. Note that the supply
* voltage should never exceed the reference voltage on the programmer AVR without some form of protection to prevent damage
- * to the ADC. <i>Ignored when compiled for targets lacking an ADC, or when NO_VTARGET_DETECT is defined.</i></td>
+ * to the ADC.
+ * \n \n <i>Ignored when compiled for targets lacking an ADC, or when NO_VTARGET_DETECT is defined.</i></td>
* </tr>
* <tr>
* <td>VTARGET_USE_INTERNAL_REF</td>
* <td>Makefile LUFA_OPTS</td>
* <td>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. <i>Ignored when compiled for targets lacking an ADC, or when
- * NO_VTARGET_DETECT is defined.</i></td>
+ * override the VTARGET_REF_VOLTS configuration option.
+ * \n \n <i>Ignored when compiled for targets lacking an ADC, or when NO_VTARGET_DETECT is defined.</i></td>
* </tr>
* <tr>
* <td>VTARGET_SCALE_FACTOR</td>
@@ -279,7 +285,8 @@
* <td>Indicates the target's supply voltage scale factor when applied to the ADC. A simple resistive divider can be used on the
* ADC pin for measuring the target's supply voltage, so that voltages above the programmer AVR's AVCC reference voltage can be
* measured. This should be the reciprocal of the division performed - e.g. if the VTARGET voltage is halved, this should be set
- * to 2. <i>Ignored when compiled for targets lacking an ADC, or when NO_VTARGET_DETECT is defined.</i></td>
+ * to 2.
+ * \n \n <i>Ignored when compiled for targets lacking an ADC, or when NO_VTARGET_DETECT is defined.</i></td>
* </tr>
* <tr>
* <td>LIBUSB_DRIVER_COMPAT</td>
@@ -291,7 +298,7 @@
* <td>XCK_RESCUE_CLOCK_ENABLE</td>
* <td>Makefile LUFA_OPTS</td>
* <td>Define to move the ISP rescue clock to the AVR's XCK pin instead of the OCR1A output pin. This is useful for existing programming
- * hardware that does not expose the OCR1A pin of the AVR, but *may* cause some issues with PDI programming mode.</td>
+ * hardware that does not expose the OCR1A pin of the AVR, but <i>may</i> cause some issues with PDI programming mode.</td>
* </tr>
* <tr>
* <td>INVERTED_ISP_MISO</td>
@@ -301,6 +308,7 @@
* </tr>
* <tr>
* <td>FIRMWARE_VERSION_MINOR</td>
+ * <td>Makefile LUFA_OPTS</td>
* <td>Define to set the minor firmware revision nunber reported to the host on request. By default this will use a firmware version compatible
* with the latest Atmel IDE version, however if desired the reported minor value can be adjusted here.</td>
* </tr>
diff --git a/Projects/AVRISP-MKII/Lib/XPROG/XMEGANVM.c b/Projects/AVRISP-MKII/Lib/XPROG/XMEGANVM.c
index 820374fb9..567bd5777 100644
--- a/Projects/AVRISP-MKII/Lib/XPROG/XMEGANVM.c
+++ b/Projects/AVRISP-MKII/Lib/XPROG/XMEGANVM.c
@@ -186,7 +186,7 @@ bool XMEGANVM_GetMemoryCRC(const uint8_t CRCCommand, uint32_t* const CRCDest)
/* Set CMDEX bit in NVM CTRLA register to start the CRC generation */
XPROGTarget_SendByte(PDI_CMD_STS | (PDI_DATSIZE_4BYTES << 2));
XMEGANVM_SendNVMRegAddress(XMEGA_NVM_REG_CTRLA);
- XPROGTarget_SendByte(1 << 0);
+ XPROGTarget_SendByte(XMEGA_NVM_BIT_CTRLA_CMDEX);
/* Wait until the NVM bus is ready again */
if (!(XMEGANVM_WaitWhileNVMBusBusy()))
@@ -202,11 +202,11 @@ bool XMEGANVM_GetMemoryCRC(const uint8_t CRCCommand, uint32_t* const CRCDest)
/* Send the REPEAT command to grab the CRC bytes */
XPROGTarget_SendByte(PDI_CMD_REPEAT | PDI_DATSIZE_1BYTE);
- XPROGTarget_SendByte(XMEGA_CRC_LENGTH - 1);
+ XPROGTarget_SendByte(XMEGA_CRC_LENGTH_BYTES - 1);
/* Read in the CRC bytes from the target */
XPROGTarget_SendByte(PDI_CMD_LD | (PDI_POINTER_INDIRECT_PI << 2) | PDI_DATSIZE_1BYTE);
- for (uint8_t i = 0; i < XMEGA_CRC_LENGTH; i++)
+ for (uint8_t i = 0; i < XMEGA_CRC_LENGTH_BYTES; i++)
((uint8_t*)CRCDest)[i] = XPROGTarget_ReceiveByte();
return (TimeoutExpired == false);
@@ -304,7 +304,7 @@ bool XMEGANVM_WritePageMemory(const uint8_t WriteBuffCommand, const uint8_t Eras
/* Set CMDEX bit in NVM CTRLA register to start the buffer erase */
XPROGTarget_SendByte(PDI_CMD_STS | (PDI_DATSIZE_4BYTES << 2));
XMEGANVM_SendNVMRegAddress(XMEGA_NVM_REG_CTRLA);
- XPROGTarget_SendByte(1 << 0);
+ XPROGTarget_SendByte(XMEGA_NVM_BIT_CTRLA_CMDEX);
}
if (WriteSize)
@@ -376,7 +376,7 @@ bool XMEGANVM_EraseMemory(const uint8_t EraseCommand, const uint32_t Address)
/* Set CMDEX bit in NVM CTRLA register to start the erase sequence */
XPROGTarget_SendByte(PDI_CMD_STS | (PDI_DATSIZE_4BYTES << 2));
XMEGANVM_SendNVMRegAddress(XMEGA_NVM_REG_CTRLA);
- XPROGTarget_SendByte(1 << 0);
+ XPROGTarget_SendByte(XMEGA_NVM_BIT_CTRLA_CMDEX);
}
else if (EraseCommand == XMEGA_NVM_CMD_ERASEEEPROM)
{
@@ -388,7 +388,7 @@ bool XMEGANVM_EraseMemory(const uint8_t EraseCommand, const uint32_t Address)
/* Set CMDEX bit in NVM CTRLA register to start the buffer erase */
XPROGTarget_SendByte(PDI_CMD_STS | (PDI_DATSIZE_4BYTES << 2));
XMEGANVM_SendNVMRegAddress(XMEGA_NVM_REG_CTRLA);
- XPROGTarget_SendByte(1 << 0);
+ XPROGTarget_SendByte(XMEGA_NVM_BIT_CTRLA_CMDEX);
/* Wait until the NVM controller is no longer busy */
if (!(XMEGANVM_WaitWhileNVMControllerBusy()))
@@ -420,7 +420,7 @@ bool XMEGANVM_EraseMemory(const uint8_t EraseCommand, const uint32_t Address)
/* Set CMDEX bit in NVM CTRLA register to start the EEPROM erase sequence */
XPROGTarget_SendByte(PDI_CMD_STS | (PDI_DATSIZE_4BYTES << 2));
XMEGANVM_SendNVMRegAddress(XMEGA_NVM_REG_CTRLA);
- XPROGTarget_SendByte(1 << 0);
+ XPROGTarget_SendByte(XMEGA_NVM_BIT_CTRLA_CMDEX);
}
else
{
diff --git a/Projects/AVRISP-MKII/Lib/XPROG/XMEGANVM.h b/Projects/AVRISP-MKII/Lib/XPROG/XMEGANVM.h
index 05ee5be9c..a8704df3c 100644
--- a/Projects/AVRISP-MKII/Lib/XPROG/XMEGANVM.h
+++ b/Projects/AVRISP-MKII/Lib/XPROG/XMEGANVM.h
@@ -56,7 +56,7 @@
#endif
/* Defines: */
- #define XMEGA_CRC_LENGTH 3
+ #define XMEGA_CRC_LENGTH_BYTES 3
#define XMEGA_NVM_REG_ADDR0 0x00
#define XMEGA_NVM_REG_ADDR1 0x01
@@ -70,6 +70,8 @@
#define XMEGA_NVM_REG_INTCTRL 0x0D
#define XMEGA_NVM_REG_STATUS 0x0F
#define XMEGA_NVM_REG_LOCKBITS 0x10
+
+ #define XMEGA_NVM_BIT_CTRLA_CMDEX (1 << 0)
#define XMEGA_NVM_CMD_NOOP 0x00
#define XMEGA_NVM_CMD_CHIPERASE 0x40
diff --git a/Projects/XPLAINBridge/XPLAINBridge.txt b/Projects/XPLAINBridge/XPLAINBridge.txt
index 52cf99fac..9dead426e 100644
--- a/Projects/XPLAINBridge/XPLAINBridge.txt
+++ b/Projects/XPLAINBridge/XPLAINBridge.txt
@@ -91,6 +91,7 @@
* </tr>
* <tr>
* <td>FIRMWARE_VERSION_MINOR</td>
+ * <td>Makefile LUFA_OPTS</td>
* <td>Define to set the minor firmware revision nunber reported to the host on request. By default this will use a firmware version compatible
* with the latest Atmel IDE version, however if desired the reported minor value can be adjusted here.</td>
* </tr>