projects
/
pub
/
USBasp.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (from parent 1:
fa3135d
)
Fix TPI communications in the AVRISP project when bit-banged USART mode is selected.
author
Dean Camera
<dean@fourwalledcubicle.com>
Fri, 29 Jan 2010 05:31:25 +0000
(
05:31
+0000)
committer
Dean Camera
<dean@fourwalledcubicle.com>
Fri, 29 Jan 2010 05:31:25 +0000
(
05:31
+0000)
Projects/AVRISP-MKII/Lib/XPROG/TINYNVM.c
patch
|
blob
|
blame
|
history
Projects/AVRISP-MKII/Lib/XPROG/TINYNVM.h
patch
|
blob
|
blame
|
history
Projects/AVRISP-MKII/Lib/XPROG/XPROGTarget.c
patch
|
blob
|
blame
|
history
diff --git
a/Projects/AVRISP-MKII/Lib/XPROG/TINYNVM.c
b/Projects/AVRISP-MKII/Lib/XPROG/TINYNVM.c
index
9dac31c
..
0e6833a
100644
(file)
--- a/
Projects/AVRISP-MKII/Lib/XPROG/TINYNVM.c
+++ b/
Projects/AVRISP-MKII/Lib/XPROG/TINYNVM.c
@@
-116,7
+116,7
@@
bool TINYNVM_WaitWhileNVMControllerBusy(void)
*
\r
* \return Boolean true if the command sequence complete successfully
\r
*/
\r
*
\r
* \return Boolean true if the command sequence complete successfully
\r
*/
\r
-bool TINYNVM_ReadMemory(const uint
32
_t ReadAddress, uint8_t* ReadBuffer, uint16_t ReadSize)
\r
+bool TINYNVM_ReadMemory(const uint
16
_t ReadAddress, uint8_t* ReadBuffer, uint16_t ReadSize)
\r
{
\r
/* Wait until the NVM controller is no longer busy */
\r
if (!(TINYNVM_WaitWhileNVMControllerBusy()))
\r
{
\r
/* Wait until the NVM controller is no longer busy */
\r
if (!(TINYNVM_WaitWhileNVMControllerBusy()))
\r
@@
-147,7
+147,7
@@
bool TINYNVM_ReadMemory(const uint32_t ReadAddress, uint8_t* ReadBuffer, uint16_
*
\r
* \return Boolean true if the command sequence complete successfully
\r
*/
\r
*
\r
* \return Boolean true if the command sequence complete successfully
\r
*/
\r
-bool TINYNVM_WriteMemory(const uint
32
_t WriteAddress, const uint8_t* WriteBuffer, uint16_t WriteLength)
\r
+bool TINYNVM_WriteMemory(const uint
16
_t WriteAddress, const uint8_t* WriteBuffer, uint16_t WriteLength)
\r
{
\r
/* Wait until the NVM controller is no longer busy */
\r
if (!(TINYNVM_WaitWhileNVMControllerBusy()))
\r
{
\r
/* Wait until the NVM controller is no longer busy */
\r
if (!(TINYNVM_WaitWhileNVMControllerBusy()))
\r
diff --git
a/Projects/AVRISP-MKII/Lib/XPROG/TINYNVM.h
b/Projects/AVRISP-MKII/Lib/XPROG/TINYNVM.h
index
e6a6749
..
546e5ab
100644
(file)
--- a/
Projects/AVRISP-MKII/Lib/XPROG/TINYNVM.h
+++ b/
Projects/AVRISP-MKII/Lib/XPROG/TINYNVM.h
@@
-63,8
+63,8
@@
\r
/* Function Prototypes: */
\r
bool TINYNVM_WaitWhileNVMBusBusy(void);
\r
\r
/* Function Prototypes: */
\r
bool TINYNVM_WaitWhileNVMBusBusy(void);
\r
- bool TINYNVM_ReadMemory(const uint
32
_t ReadAddress, uint8_t* ReadBuffer, uint16_t ReadLength);
\r
- bool TINYNVM_WriteMemory(const uint
32
_t WriteAddress, const uint8_t* WriteBuffer, uint16_t WriteLength);
\r
+ bool TINYNVM_ReadMemory(const uint
16
_t ReadAddress, uint8_t* ReadBuffer, uint16_t ReadLength);
\r
+ bool TINYNVM_WriteMemory(const uint
16
_t WriteAddress, const uint8_t* WriteBuffer, uint16_t WriteLength);
\r
bool TINYNVM_EraseMemory(void);
\r
\r
#if defined(INCLUDE_FROM_TINYNVM_C)
\r
bool TINYNVM_EraseMemory(void);
\r
\r
#if defined(INCLUDE_FROM_TINYNVM_C)
\r
diff --git
a/Projects/AVRISP-MKII/Lib/XPROG/XPROGTarget.c
b/Projects/AVRISP-MKII/Lib/XPROG/XPROGTarget.c
index
1406428
..
0f590c7
100644
(file)
--- a/
Projects/AVRISP-MKII/Lib/XPROG/XPROGTarget.c
+++ b/
Projects/AVRISP-MKII/Lib/XPROG/XPROGTarget.c
@@
-96,7
+96,7
@@
ISR(TIMER1_COMPA_vect, ISR_BLOCK)
}
\r
\r
/** ISR to manage the TPI software USART when bit-banged TPI USART mode is selected. */
\r
}
\r
\r
/** ISR to manage the TPI software USART when bit-banged TPI USART mode is selected. */
\r
-ISR(TIMER1_C
OMPB
_vect, ISR_BLOCK)
\r
+ISR(TIMER1_C
APT
_vect, ISR_BLOCK)
\r
{
\r
/* Toggle CLOCK pin in a single cycle (see AVR datasheet) */
\r
BITBANG_TPICLOCK_PIN |= BITBANG_TPICLOCK_MASK;
\r
{
\r
/* Toggle CLOCK pin in a single cycle (see AVR datasheet) */
\r
BITBANG_TPICLOCK_PIN |= BITBANG_TPICLOCK_MASK;
\r
@@
-209,10
+209,10
@@
void XPROGTarget_EnableTargetTPI(void)
/* Set DATA line high for idle state */
\r
BITBANG_TPIDATA_PORT |= BITBANG_TPIDATA_MASK;
\r
\r
/* Set DATA line high for idle state */
\r
BITBANG_TPIDATA_PORT |= BITBANG_TPIDATA_MASK;
\r
\r
- /* Fire timer capture channel
B
ISR to manage the software USART */
\r
-
OCR1B
= BITS_BETWEEN_USART_CLOCKS;
\r
- TCCR1B = (1 << WGM12) | (1 << CS10);
\r
- TIMSK1 = (1 <<
OCIE1B
);
\r
+ /* Fire timer capture channel ISR to manage the software USART */
\r
+
ICR1
= BITS_BETWEEN_USART_CLOCKS;
\r
+ TCCR1B = (1 << WGM1
3) | (1 << WGM1
2) | (1 << CS10);
\r
+ TIMSK1 = (1 <<
ICIE1
);
\r
#endif
\r
\r
/* Send two BREAKs of 12 bits each to enable TPI interface (need at least 16 idle bits) */
\r
#endif
\r
\r
/* Send two BREAKs of 12 bits each to enable TPI interface (need at least 16 idle bits) */
\r