X-Git-Url: http://git.linex4red.de/pub/USBasp.git/blobdiff_plain/cb779e3d7d32d7c43e0a45bb526de0a04135b0c7..b04de2f2f4bb14c968ebcc765ec93c5d1591aa0d:/LUFA/CodeTemplates/DriverStubs/Dataflash.h diff --git a/LUFA/CodeTemplates/DriverStubs/Dataflash.h b/LUFA/CodeTemplates/DriverStubs/Dataflash.h index e76c4eb83..9fcc25f9b 100644 --- a/LUFA/CodeTemplates/DriverStubs/Dataflash.h +++ b/LUFA/CodeTemplates/DriverStubs/Dataflash.h @@ -1,13 +1,13 @@ /* LUFA Library - Copyright (C) Dean Camera, 2010. + Copyright (C) Dean Camera, 2012. dean [at] fourwalledcubicle [dot] com www.lufa-lib.org */ /* - Copyright 2010 Dean Camera (dean [at] fourwalledcubicle [dot] com) + Copyright 2012 Dean Camera (dean [at] fourwalledcubicle [dot] com) Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted @@ -79,8 +79,8 @@ #define DATAFLASH_PAGES // TODO: Replace with the total number of pages inside one of the Dataflash ICs /* Inline Functions: */ - /** Initialises the dataflash driver so that commands and data may be sent to an attached dataflash IC. - * The AVR's SPI driver MUST be initialized before any of the dataflash commands are used. + /** 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 inline void Dataflash_Init(void) { @@ -88,6 +88,38 @@ DATAFLASH_CHIPCS_PORT |= DATAFLASH_CHIPCS_MASK; } + /** Sends a byte to the currently selected dataflash IC, and returns a byte from the dataflash. + * + * \param[in] Byte Byte of data to send to the dataflash + * + * \return Last response byte from the dataflash + */ + static inline uint8_t Dataflash_TransferByte(const uint8_t Byte) ATTR_ALWAYS_INLINE; + static inline uint8_t Dataflash_TransferByte(const uint8_t Byte) + { + // TODO + } + + /** Sends a byte to the currently selected dataflash IC, and ignores the next byte from the dataflash. + * + * \param[in] Byte Byte of data to send to the dataflash + */ + static inline void Dataflash_SendByte(const uint8_t Byte) ATTR_ALWAYS_INLINE; + static inline void Dataflash_SendByte(const uint8_t Byte) + { + // TODO + } + + /** Sends a dummy byte to the currently selected dataflash IC, and returns the next byte from the dataflash. + * + * \return Last response byte from the dataflash + */ + static inline uint8_t Dataflash_ReceiveByte(void) ATTR_ALWAYS_INLINE ATTR_WARN_UNUSED_RESULT; + static inline uint8_t Dataflash_ReceiveByte(void) + { + // TODO + } + /** Determines the currently selected dataflash chip. * * \return Mask of the currently selected Dataflash chip, either \ref DATAFLASH_NO_CHIP if no chip is selected @@ -124,7 +156,7 @@ * are deselected. * * \param[in] PageAddress Address of the page to manipulate, ranging from - * ((DATAFLASH_PAGES * DATAFLASH_TOTALCHIPS) - 1). + * 0 to ((DATAFLASH_PAGES * DATAFLASH_TOTALCHIPS) - 1). */ static inline void Dataflash_SelectChipFromPage(const uint16_t PageAddress) { @@ -166,7 +198,7 @@ } /** 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-byte address. + * dataflash commands which require a complete 24-bit address. * * \param[in] PageAddress Page address within the selected dataflash IC * \param[in] BufferByte Address within the dataflash's buffer