LUFA Library
120219
|
Defines | |
#define | DATAFLASH_TOTALCHIPS 1 |
#define | DATAFLASH_NO_CHIP DATAFLASH_CHIPCS_MASK |
#define | DATAFLASH_CHIP1 |
#define | DATAFLASH_CHIP2 |
#define | DATAFLASH_PAGE_SIZE |
#define | DATAFLASH_PAGES |
Functions | |
static void | Dataflash_Init (void) |
static uint8_t | Dataflash_TransferByte (const uint8_t Byte) ATTR_ALWAYS_INLINE |
static void | Dataflash_SendByte (const uint8_t Byte) ATTR_ALWAYS_INLINE |
static uint8_t | Dataflash_ReceiveByte (void) ATTR_ALWAYS_INLINE ATTR_WARN_UNUSED_RESULT |
static uint8_t | Dataflash_GetSelectedChip (void) ATTR_ALWAYS_INLINE ATTR_WARN_UNUSED_RESULT |
static void | Dataflash_SelectChip (const uint8_t ChipMask) ATTR_ALWAYS_INLINE |
static void | Dataflash_DeselectChip (void) ATTR_ALWAYS_INLINE |
static void | Dataflash_SelectChipFromPage (const uint16_t PageAddress) |
static void | Dataflash_ToggleSelectedChipCS (void) |
static void | Dataflash_WaitWhileBusy (void) |
static void | Dataflash_SendAddressBytes (uint16_t PageAddress, const uint16_t BufferByte) |
#define DATAFLASH_CHIP1 |
Mask for the first dataflash chip selected.
#define DATAFLASH_CHIP2 |
Mask for the second dataflash chip selected.
#define DATAFLASH_NO_CHIP DATAFLASH_CHIPCS_MASK |
Mask for no dataflash chip selected.
#define DATAFLASH_PAGE_SIZE |
Internal main memory page size for the board's dataflash ICs.
#define DATAFLASH_PAGES |
Total number of pages inside each of the board's dataflash ICs.
#define DATAFLASH_TOTALCHIPS 1 |
Constant indicating the total number of dataflash ICs mounted on the selected board.
static void Dataflash_DeselectChip | ( | void | ) | [inline, static] |
Deselects the current dataflash chip, so that no dataflash is selected.
static uint8_t Dataflash_GetSelectedChip | ( | void | ) | [inline, static] |
Determines the currently selected dataflash chip.
static void Dataflash_Init | ( | void | ) | [inline, static] |
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.
static uint8_t Dataflash_ReceiveByte | ( | void | ) | [inline, static] |
Sends a dummy byte to the currently selected dataflash IC, and returns the next byte from the dataflash.
static void Dataflash_SelectChip | ( | const uint8_t | ChipMask | ) | [inline, static] |
Selects the given dataflash chip.
[in] | ChipMask | Mask of the Dataflash IC to select, in the form of DATAFLASH_CHIPn mask (where n is the chip number). |
static void Dataflash_SelectChipFromPage | ( | const uint16_t | PageAddress | ) | [inline, static] |
Selects a dataflash IC from the given page number, which should range from 0 to ((DATAFLASH_PAGES * DATAFLASH_TOTALCHIPS) - 1). For boards containing only one dataflash IC, this will select DATAFLASH_CHIP1. If the given page number is outside the total number of pages contained in the boards dataflash ICs, all dataflash ICs are deselected.
[in] | PageAddress | Address of the page to manipulate, ranging from 0 to ((DATAFLASH_PAGES * DATAFLASH_TOTALCHIPS) - 1). |
static void Dataflash_SendAddressBytes | ( | uint16_t | PageAddress, |
const uint16_t | BufferByte | ||
) | [inline, static] |
Sends a set of page and buffer address bytes to the currently selected dataflash IC, for use with dataflash commands which require a complete 24-bit address.
[in] | PageAddress | Page address within the selected dataflash IC |
[in] | BufferByte | Address within the dataflash's buffer |
static void Dataflash_SendByte | ( | const uint8_t | Byte | ) | [inline, static] |
Sends a byte to the currently selected dataflash IC, and ignores the next byte from the dataflash.
[in] | Byte | Byte of data to send to the dataflash |
static void Dataflash_ToggleSelectedChipCS | ( | void | ) | [inline, static] |
Toggles the select line of the currently selected dataflash IC, so that it is ready to receive a new command.
static uint8_t Dataflash_TransferByte | ( | const uint8_t | Byte | ) | [inline, static] |
Sends a byte to the currently selected dataflash IC, and returns a byte from the dataflash.
[in] | Byte | Byte of data to send to the dataflash |
static void Dataflash_WaitWhileBusy | ( | void | ) | [inline, static] |
Spin-loops while the currently selected dataflash is busy executing a command, such as a main memory page program or main memory to buffer transfer.