Update board Dataflash_Init() functions to automatically configure the appropriate communication interface.

pull/1469/head
Dean Camera 11 years ago
parent 6d58628e85
commit f7b9ebea02

@ -103,7 +103,6 @@ void SetupHardware(void)
/* Hardware Initialization */
LEDs_Init();
SPI_Init(SPI_SPEED_FCPU_DIV_2 | SPI_ORDER_MSB_FIRST | SPI_SCK_LEAD_FALLING | SPI_SAMPLE_TRAILING | SPI_MODE_MASTER);
Dataflash_Init();
USB_Init();

@ -129,7 +129,6 @@ void SetupHardware(void)
LEDs_Init();
Joystick_Init();
Buttons_Init();
SPI_Init(SPI_SPEED_FCPU_DIV_2 | SPI_ORDER_MSB_FIRST | SPI_SCK_LEAD_FALLING | SPI_SAMPLE_TRAILING | SPI_MODE_MASTER);
Dataflash_Init();
USB_Init();

@ -148,7 +148,6 @@ void SetupHardware(void)
/* Hardware Initialization */
LEDs_Init();
Joystick_Init();
SPI_Init(SPI_SPEED_FCPU_DIV_2 | SPI_ORDER_MSB_FIRST | SPI_SCK_LEAD_FALLING | SPI_SAMPLE_TRAILING | SPI_MODE_MASTER);
Dataflash_Init();
USB_Init();

@ -88,7 +88,6 @@ void SetupHardware(void)
/* Hardware Initialization */
LEDs_Init();
SPI_Init(SPI_SPEED_FCPU_DIV_2 | SPI_ORDER_MSB_FIRST | SPI_SCK_LEAD_FALLING | SPI_SAMPLE_TRAILING | SPI_MODE_MASTER);
Dataflash_Init();
USB_Init();

@ -24,6 +24,7 @@
* - Updated the Android Accessory Class to accept version 2 protocol devices (with version 1 functionality)
* - All board drivers now implement dummy functions and constants when BOARD is set to NONE
* - Added missing LEDs to the XMEGA A3BU Xplained board LED driver (thanks to Michael Janssen)
* - Changed board Dataflash drivers to automatically configure the appropriate SPI interface for the selected board
*
* <b>Fixed:</b>
* - Core:

@ -11,7 +11,8 @@
* areas relevant to making older projects compatible with the API changes of each new release.
*
* \section Sec_MigrationXXXXXX Migrating from 130303 to XXXXXX
* There is no migration information for this version.
* <b>Non-USB Library Components</b>
* - The Board Dataflash \c Dataflash_Init() function now automatically configures the appropriate communication interface.
*
* \section Sec_Migration130303 Migrating from 120730 to 130303
* <b>Device Mode</b>

@ -45,7 +45,7 @@
* <table>
* <tr><th>Name</th><th>Info</th><th>Select Pin</th><th>SPI Port</th></tr>
* <tr><td>DATAFLASH_CHIP1</td><td>AT45DB321C (4MB)</td><td>PORTE.6</td><td>SPI0</td></tr>
* </table>
* </table>
*
* @{
*/
@ -90,12 +90,14 @@
/* Inline Functions: */
/** Initializes the dataflash driver so that commands and data may be sent to an attached dataflash IC.
* The microcontroller's SPI driver MUST be initialized before any of the dataflash commands are used.
* The appropriate SPI interface will be automatically configured.
*/
static inline void Dataflash_Init(void)
{
DATAFLASH_CHIPCS_DDR |= DATAFLASH_CHIPCS_MASK;
DATAFLASH_CHIPCS_PORT |= DATAFLASH_CHIPCS_MASK;
SPI_Init(SPI_SPEED_FCPU_DIV_2 | SPI_ORDER_MSB_FIRST | SPI_SCK_LEAD_FALLING | SPI_SAMPLE_TRAILING | SPI_MODE_MASTER);
}
/** Sends a byte to the currently selected dataflash IC, and returns a byte from the dataflash.

@ -90,12 +90,14 @@
/* Inline Functions: */
/** Initializes the dataflash driver so that commands and data may be sent to an attached dataflash IC.
* The microcontroller's SPI driver MUST be initialized before any of the dataflash commands are used.
* The appropriate SPI interface will be automatically configured.
*/
static inline void Dataflash_Init(void)
{
DATAFLASH_CHIPCS_DDR |= DATAFLASH_CHIPCS_MASK;
DATAFLASH_CHIPCS_PORT |= DATAFLASH_CHIPCS_MASK;
SPI_Init(SPI_SPEED_FCPU_DIV_2 | SPI_ORDER_MSB_FIRST | SPI_SCK_LEAD_FALLING | SPI_SAMPLE_TRAILING | SPI_MODE_MASTER);
}
/** Sends a byte to the currently selected dataflash IC, and returns a byte from the dataflash.

@ -90,12 +90,14 @@
/* Inline Functions: */
/** Initializes the dataflash driver so that commands and data may be sent to an attached dataflash IC.
* The microcontroller's SPI driver MUST be initialized before any of the dataflash commands are used.
* The appropriate SPI interface will be automatically configured.
*/
static inline void Dataflash_Init(void)
{
DATAFLASH_CHIPCS_DDR |= DATAFLASH_CHIPCS_MASK;
DATAFLASH_CHIPCS_PORT |= DATAFLASH_CHIPCS_MASK;
SPI_Init(SPI_SPEED_FCPU_DIV_2 | SPI_ORDER_MSB_FIRST | SPI_SCK_LEAD_FALLING | SPI_SAMPLE_TRAILING | SPI_MODE_MASTER);
}
/** Sends a byte to the currently selected dataflash IC, and returns a byte from the dataflash.

@ -94,12 +94,14 @@
/* Inline Functions: */
/** Initializes the dataflash driver so that commands and data may be sent to an attached dataflash IC.
* The microcontroller's SPI driver MUST be initialized before any of the dataflash commands are used.
* The appropriate SPI interface will be automatically configured.
*/
static inline void Dataflash_Init(void)
{
DATAFLASH_CHIPCS_DDR |= DATAFLASH_CHIPCS_MASK;
DATAFLASH_CHIPCS_PORT |= DATAFLASH_CHIPCS_MASK;
SPI_Init(SPI_SPEED_FCPU_DIV_2 | SPI_ORDER_MSB_FIRST | SPI_SCK_LEAD_FALLING | SPI_SAMPLE_TRAILING | SPI_MODE_MASTER);
}
/** Sends a byte to the currently selected dataflash IC, and returns a byte from the dataflash.
@ -223,7 +225,7 @@
#if (DATAFLASH_TOTALCHIPS == 2)
PageAddress >>= 1;
#endif
Dataflash_SendByte(PageAddress >> 5);
Dataflash_SendByte((PageAddress << 3) | (BufferByte >> 8));
Dataflash_SendByte(BufferByte);

@ -71,7 +71,7 @@
/* Includes: */
#include "../../../../Common/Common.h"
#include "../../../Misc/AT45DB642D.h"
#include "../../../Peripheral/SPI.h"
@ -113,12 +113,14 @@
/* Inline Functions: */
/** Initializes the dataflash driver so that commands and data may be sent to an attached dataflash IC.
* The microcontroller's SPI driver MUST be initialized before any of the dataflash commands are used.
* The appropriate SPI interface will be automatically configured.
*/
static inline void Dataflash_Init(void)
{
DATAFLASH_CHIPCS_DDR |= DATAFLASH_CHIPCS_MASK;
DATAFLASH_CHIPCS_PORT |= DATAFLASH_CHIPCS_MASK;
SPI_Init(SPI_SPEED_FCPU_DIV_2 | SPI_ORDER_MSB_FIRST | SPI_SCK_LEAD_FALLING | SPI_SAMPLE_TRAILING | SPI_MODE_MASTER);
}
/** Sends a byte to the currently selected dataflash IC, and returns a byte from the dataflash.

@ -89,7 +89,7 @@
/* Inline Functions: */
/** Initializes the dataflash driver so that commands and data may be sent to an attached dataflash IC.
* The microcontroller's SPI driver MUST be initialized before any of the dataflash commands are used.
* The appropriate SPI interface will be automatically configured.
*/
static inline void Dataflash_Init(void)
{
@ -97,6 +97,12 @@
PORTCFG.MPCMASK = DATAFLASH_CHIPCS_MASK;
DATAFLASH_CHIPCS_PORT.PIN0CTRL = PORT_INVEN_bm;
SerialSPI_Init(&USARTD0, (USART_SPI_SCK_LEAD_RISING | USART_SPI_SAMPLE_LEADING | USART_SPI_ORDER_MSB_FIRST), (F_CPU / 2));
PORTD.DIRSET = PIN3_bm | PIN1_bm;
PORTD.DIRCLR = PIN2_bm;
PORTC.PIN2CTRL = PORT_OPC_PULLUP_gc;
}
/** Sends a byte to the currently selected dataflash IC, and returns a byte from the dataflash.

@ -89,7 +89,7 @@
/* Inline Functions: */
/** Initializes the dataflash driver so that commands and data may be sent to an attached dataflash IC.
* The microcontroller's SPI driver MUST be initialized before any of the dataflash commands are used.
* The appropriate SPI interface will be automatically configured.
*/
static inline void Dataflash_Init(void)
{
@ -98,7 +98,12 @@
PORTCFG.MPCMASK = DATAFLASH_CHIPCS_MASK;
DATAFLASH_CHIPCS_PORT.PIN0CTRL = PORT_INVEN_bm;
PORTC.REMAP |= PORT_USART0_bm;
SerialSPI_Init(&USARTC0, (USART_SPI_SCK_LEAD_RISING | USART_SPI_SAMPLE_LEADING | USART_SPI_ORDER_MSB_FIRST), (F_CPU / 2));
PORTC.REMAP |= PORT_USART0_bm;
PORTC.DIRSET = PIN7_bm | PIN5_bm;
PORTC.DIRCLR = PIN6_bm;
PORTC.PIN6CTRL = PORT_OPC_PULLUP_gc;
}
/** Sends a byte to the currently selected dataflash IC, and returns a byte from the dataflash.

@ -108,7 +108,7 @@
#define USART_SPI_SAMPLE_LEADING 0
/** 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
#define USART_SPI_SAMPLE_TRAILING (1 << 1)
//@}
/** \name SPI Data Ordering Configuration Masks */
@ -117,7 +117,7 @@
#define USART_SPI_ORDER_MSB_FIRST 0
/** 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 (1 << 2)
//@}
/* Inline Functions: */

@ -201,7 +201,6 @@ void SetupHardware(void)
/* Hardware Initialization */
LEDs_Init();
SPI_Init(SPI_SPEED_FCPU_DIV_2 | SPI_SCK_LEAD_FALLING | SPI_SAMPLE_TRAILING | SPI_MODE_MASTER);
ADC_Init(ADC_FREE_RUNNING | ADC_PRESCALE_128);
Temperature_Init();
Dataflash_Init();

@ -70,7 +70,6 @@ void SetupHardware(void)
#endif
/* Hardware Initialization */
SPI_Init(SPI_SPEED_FCPU_DIV_2 | SPI_SCK_LEAD_FALLING | SPI_SAMPLE_TRAILING | SPI_MODE_MASTER);
Dataflash_Init();
LEDs_Init();
USB_Init(USB_MODE_UID);

Loading…
Cancel
Save