aboutsummaryrefslogtreecommitdiffstats
path: root/LUFA
diff options
context:
space:
mode:
Diffstat (limited to 'LUFA')
-rw-r--r--LUFA/Common/Common.h2
-rw-r--r--LUFA/Drivers/Peripheral/AVR32/SPI.h1
-rw-r--r--LUFA/Drivers/Peripheral/AVR8/SPI.h1
-rw-r--r--LUFA/Drivers/Peripheral/AVR8/Serial.h26
-rw-r--r--LUFA/Drivers/Peripheral/AVR8/TWI.h2
-rw-r--r--LUFA/ManPages/ChangeLog.txt4
6 files changed, 27 insertions, 9 deletions
diff --git a/LUFA/Common/Common.h b/LUFA/Common/Common.h
index 04480d514..67bbb9295 100644
--- a/LUFA/Common/Common.h
+++ b/LUFA/Common/Common.h
@@ -62,7 +62,7 @@
#include "Atomic.h"
- #define PROGMEM
+ #define PROGMEM const
#else
#include <avr/io.h>
#endif
diff --git a/LUFA/Drivers/Peripheral/AVR32/SPI.h b/LUFA/Drivers/Peripheral/AVR32/SPI.h
index e07eb6c76..b7484799a 100644
--- a/LUFA/Drivers/Peripheral/AVR32/SPI.h
+++ b/LUFA/Drivers/Peripheral/AVR32/SPI.h
@@ -51,6 +51,7 @@
#define __SPI_AVR32_H__
/* Includes: */
+ #include <avr32/io.h>
#include <stdbool.h>
/* Preprocessor Checks: */
diff --git a/LUFA/Drivers/Peripheral/AVR8/SPI.h b/LUFA/Drivers/Peripheral/AVR8/SPI.h
index 3440cc9f1..f466162be 100644
--- a/LUFA/Drivers/Peripheral/AVR8/SPI.h
+++ b/LUFA/Drivers/Peripheral/AVR8/SPI.h
@@ -51,6 +51,7 @@
#define __SPI_AVR8_H__
/* Includes: */
+ #include <avr/io.h>
#include <stdbool.h>
/* Preprocessor Checks: */
diff --git a/LUFA/Drivers/Peripheral/AVR8/Serial.h b/LUFA/Drivers/Peripheral/AVR8/Serial.h
index 282528bb0..0421dea73 100644
--- a/LUFA/Drivers/Peripheral/AVR8/Serial.h
+++ b/LUFA/Drivers/Peripheral/AVR8/Serial.h
@@ -80,7 +80,7 @@
*/
static inline bool Serial_IsCharReceived(void);
#else
- #define Serial_IsCharReceived() /* TODO */
+ #define Serial_IsCharReceived() ((UCSR1A & (1 << RXC1)) ? true : false)
#endif
/* Inline Functions: */
@@ -92,13 +92,27 @@
*/
static inline void Serial_Init(const uint32_t BaudRate, const bool DoubleSpeed)
{
- // TODO
+ UCSR1A = (DoubleSpeed ? (1 << U2X1) : 0);
+ UCSR1B = ((1 << TXEN1) | (1 << RXEN1));
+ UCSR1C = ((1 << UCSZ11) | (1 << UCSZ10));
+
+ DDRD |= (1 << 3);
+ PORTD |= (1 << 2);
+
+ UBRR1 = (DoubleSpeed ? SERIAL_2X_UBBRVAL(BaudRate) : SERIAL_UBBRVAL(BaudRate));
}
/** Turns off the USART driver, disabling and returning used hardware to their default configuration. */
static inline void Serial_ShutDown(void)
{
- // TODO
+ UCSR1A = 0;
+ UCSR1B = 0;
+ UCSR1C = 0;
+
+ DDRD &= ~(1 << 3);
+ PORTD &= ~(1 << 2);
+
+ UBRR1 = 0;
}
/** Transmits a given byte through the USART.
@@ -107,7 +121,8 @@
*/
static inline void Serial_TxByte(const char DataByte)
{
- // TODO
+ while (!(UCSR1A & (1 << UDRE1)));
+ UDR1 = DataByte;
}
/** Receives a byte from the USART.
@@ -116,7 +131,8 @@
*/
static inline uint8_t Serial_RxByte(void)
{
- // TODO
+ while (!(UCSR1A & (1 << RXC1)));
+ return UDR1;
}
/* Disable C linkage for C++ Compilers: */
diff --git a/LUFA/Drivers/Peripheral/AVR8/TWI.h b/LUFA/Drivers/Peripheral/AVR8/TWI.h
index 673f1b071..d169b8230 100644
--- a/LUFA/Drivers/Peripheral/AVR8/TWI.h
+++ b/LUFA/Drivers/Peripheral/AVR8/TWI.h
@@ -37,7 +37,7 @@
*/
/** \ingroup Group_TWI
- * @defgroup Group_TWI_AVR8 Series U4, U6 and U7 Model TWI Driver
+ * @defgroup Group_TWI_AVR8 8-Bit AVR TWI Driver
*
* Master mode TWI driver for the 8-Bit AVRs containing a hardware TWI module.
*
diff --git a/LUFA/ManPages/ChangeLog.txt b/LUFA/ManPages/ChangeLog.txt
index f05ace33d..ad43258c3 100644
--- a/LUFA/ManPages/ChangeLog.txt
+++ b/LUFA/ManPages/ChangeLog.txt
@@ -9,7 +9,7 @@
* \section Sec_ChangeLogXXXXXX Version XXXXXX
*
* <b>New:</b>
- * - (None)
+ * - Added support for the UC3B0256 AVR32 microcontroller
*
* <b>Changed:</b>
* - AVRISP programmer project now has a more robust timeout system, allowing for a doubling of the software USART speed
@@ -17,7 +17,7 @@
* - Increased the speed of both software and hardware TPI/PDI programming modes of the AVRISP project
*
* <b>Fixed:</b>
- * - (None)
+ * - Fixed software PDI/TPI programming mode in the AVRISP project not correctly toggling just the clock pin
*
* \section Sec_ChangeLog100219 Version 100219
*