Mark build test makefiles as being incompatible with parallel make builds, as they...
[pub/USBasp.git] / LUFA / Drivers / Peripheral / XMEGA / SerialSPI_XMEGA.h
index 7d1e6c1..64d57a3 100644 (file)
@@ -29,7 +29,7 @@
 */
 
 /** \file
 */
 
 /** \file
- *  \brief Serial USART Master SPI Mode Peripheral Driver (XMEGA)
+ *  \brief Master SPI Mode Serial USART Peripheral Driver (XMEGA)
  *
  *  On-chip Master SPI mode USART driver for the XMEGA AVR microcontrollers.
  *
  *
  *  On-chip Master SPI mode USART driver for the XMEGA AVR microcontrollers.
  *
@@ -38,7 +38,7 @@
  */
 
 /** \ingroup Group_SerialSPI
  */
 
 /** \ingroup Group_SerialSPI
- *  \defgroup Group_SerialSPI_XMEGA Serial USART Peripheral Driver (XMEGA)
+ *  \defgroup Group_SerialSPI_XMEGA Master SPI Mode Serial USART Peripheral Driver (XMEGA)
  *
  *  \section Sec_ModDescription Module Description
  *  On-chip serial USART driver for the XMEGA AVR microcontrollers.
  *
  *  \section Sec_ModDescription Module Description
  *  On-chip serial USART driver for the XMEGA AVR microcontrollers.
  *
  *  \code
  *      // Initialize the Master SPI mode USART driver before first use, with 1Mbit baud
  *
  *  \code
  *      // Initialize the Master SPI mode USART driver before first use, with 1Mbit baud
- *      SerialSPI_Init(&USARTD, (USART_SPI_SCK_LEAD_RISING | SPI_SAMPLE_LEADING | SPI_ORDER_MSB_FIRST), 1000000);
- *
+ *      SerialSPI_Init(&USARTD0, (USART_SPI_SCK_LEAD_RISING | USART_SPI_SAMPLE_LEADING | USART_SPI_ORDER_MSB_FIRST), 1000000);
+ *      
  *      // Send several bytes, ignoring the returned data
  *      // Send several bytes, ignoring the returned data
- *      SerialSPI_SendByte(&USARTD, 0x01);
- *      SerialSPI_SendByte(&USARTD, 0x02);
- *      SerialSPI_SendByte(&USARTD, 0x03);
- *
+ *      SerialSPI_SendByte(&USARTD0, 0x01);
+ *      SerialSPI_SendByte(&USARTD0, 0x02);
+ *      SerialSPI_SendByte(&USARTD0, 0x03);
+ *      
  *      // Receive several bytes, sending a dummy 0x00 byte each time
  *      uint8_t Byte1 = SerialSPI_ReceiveByte(&USARTD);
  *      uint8_t Byte2 = SerialSPI_ReceiveByte(&USARTD);
  *      uint8_t Byte3 = SerialSPI_ReceiveByte(&USARTD);
  *      // Receive several bytes, sending a dummy 0x00 byte each time
  *      uint8_t Byte1 = SerialSPI_ReceiveByte(&USARTD);
  *      uint8_t Byte2 = SerialSPI_ReceiveByte(&USARTD);
  *      uint8_t Byte3 = SerialSPI_ReceiveByte(&USARTD);
- *
+ *      
  *      // Send a byte, and store the received byte from the same transaction
  *      // Send a byte, and store the received byte from the same transaction
- *      uint8_t ResponseByte = SerialSPI_TransferByte(&USARTD, 0xDC);
+ *      uint8_t ResponseByte = SerialSPI_TransferByte(&USARTD0, 0xDC);
  *  \endcode
  *
  *  @{
  *  \endcode
  *
  *  @{
                /* Macros: */
                        /** \name SPI SCK Polarity Configuration Masks */
                        //@{
                /* Macros: */
                        /** \name SPI SCK Polarity Configuration Masks */
                        //@{
-                       /** SPI clock polarity mask for \c SerialSPI_Init(). Indicates that the SCK should lead on the rising edge. */
+                       /** SPI clock polarity mask for \ref SerialSPI_Init(). Indicates that the SCK should lead on the rising edge. */
                        #define USART_SPI_SCK_LEAD_RISING      0
                        //@}
 
                        /** \name SPI Sample Edge Configuration Masks */
                        //@{
                        #define USART_SPI_SCK_LEAD_RISING      0
                        //@}
 
                        /** \name SPI Sample Edge Configuration Masks */
                        //@{
-                       /** SPI data sample mode mask for \c SerialSPI_Init(). Indicates that the data should sampled on the leading edge. */
+                       /** SPI data sample mode mask for \ref SerialSPI_Init(). Indicates that the data should sampled on the leading edge. */
                        #define USART_SPI_SAMPLE_LEADING       0
 
                        #define USART_SPI_SAMPLE_LEADING       0
 
-                       /** SPI data sample mode mask for \c SerialSPI_Init(). Indicates that the data should be sampled on the trailing edge. */
+                       /** SPI data sample mode mask for \ref SerialSPI_Init(). Indicates that the data should be sampled on the trailing edge. */
                        #define USART_SPI_SAMPLE_TRAILING      USART_UPCHA_bm
                        //@}
 
                        /** \name SPI Data Ordering Configuration Masks */
                        //@{
                        #define USART_SPI_SAMPLE_TRAILING      USART_UPCHA_bm
                        //@}
 
                        /** \name SPI Data Ordering Configuration Masks */
                        //@{
-                       /** SPI data order mask for \c Serial_SPIInit(). Indicates that data should be shifted out MSB first. */
+                       /** SPI data order mask for \ref SerialSPI_Init(). Indicates that data should be shifted out MSB first. */
                        #define USART_SPI_ORDER_MSB_FIRST      0
 
                        #define USART_SPI_ORDER_MSB_FIRST      0
 
-                       /** SPI data order mask for \c Serial_SPIInit(). Indicates that data should be shifted out LSB first. */
+                       /** SPI data order mask for \ref SerialSPI_Init(). Indicates that data should be shifted out LSB first. */
                        #define USART_SPI_ORDER_LSB_FIRST      USART_UDORD_bm
                        //@}                    
 
                        #define USART_SPI_ORDER_LSB_FIRST      USART_UDORD_bm
                        //@}                    
 
                        static inline void SerialSPI_SendByte(USART_t* const USART,
                                                              const uint8_t DataByte)
                        {
                        static inline void SerialSPI_SendByte(USART_t* const USART,
                                                              const uint8_t DataByte)
                        {
-                               USART->DATA   = DataByte;
-                               while (!(USART->STATUS & USART_TXCIF_bm));
-                               USART->STATUS = USART_TXCIF_bm;
+                               SerialSPI_TransferByte(USART, DataByte);
                        }
 
                        /** Sends a dummy byte through the USART SPI interface, blocking until the transfer is complete. The response
                        }
 
                        /** Sends a dummy byte through the USART SPI interface, blocking until the transfer is complete. The response
                         */
                        static inline uint8_t SerialSPI_ReceiveByte(USART_t* const USART)
                        {
                         */
                        static inline uint8_t SerialSPI_ReceiveByte(USART_t* const USART)
                        {
-                               USART->DATA   = 0;
-                               while (!(USART->STATUS & USART_TXCIF_bm));
-                               USART->STATUS = USART_TXCIF_bm;
-                               return USART->DATA;
+                               return SerialSPI_TransferByte(USART, 0);
                        }
                        
        /* Disable C linkage for C++ Compilers: */
                        }
                        
        /* Disable C linkage for C++ Compilers: */