123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 |
- /*""FILE COMMENT""*******************************************************
- * System Name : Serial Peripheral Interface API for RX62Nxx
- * File Name : r_pdl_spi_RX62Nxx.h
- * Version : 1.02
- * Contents : SPI API header
- * Customer :
- * Model :
- * Order :
- * CPU : RX
- * Compiler : RXC
- * OS : Nothing
- * Programmer :
- * Note :
- ************************************************************************
- * Copyright, 2011. Renesas Electronics Corporation
- * and Renesas Solutions Corporation
- ************************************************************************
- * History : 2011.04.08
- * : Ver 1.02
- * : CS-5 release.
- *""FILE COMMENT END""**************************************************/
- #ifndef R_PDL_SPI_RX62Nxx_H
- #define R_PDL_SPI_RX62Nxx_H
- #define SPI_CHANNELS 2
- #define SPI_COMMANDS 8
- /* Globals */
- extern volatile uint8_t rpdl_SPI_method[SPI_CHANNELS];
- extern volatile uint16_t rpdl_SPI_sequence_count[SPI_CHANNELS];
- extern volatile uint16_t rpdl_SPI_tx_sequence_counter[SPI_CHANNELS];
- extern volatile uint16_t rpdl_SPI_rx_sequence_counter[SPI_CHANNELS];
- extern volatile uint8_t rpdl_SPI_tx_frame_counter[SPI_CHANNELS];
- extern volatile uint8_t rpdl_SPI_frame_total[SPI_CHANNELS];
- extern volatile uint8_t rpdl_SPI_rx_frame_counter[SPI_CHANNELS];
- extern volatile const uint32_t * rpdl_SPI_tx_ptr[SPI_CHANNELS];
- extern volatile uint32_t * rpdl_SPI_rx_ptr[SPI_CHANNELS];
- /* Callback function prototypes */
- extern VoidCallBackFunc rpdl_SPI_callback_func[SPI_CHANNELS];
- /* Request trigger options */
- typedef enum {
- SPI_USING_POLLING,
- SPI_USING_IRQ,
- SPI_USING_DMAC_DTC
- } rpdl_spi_transfer_options;
- bool R_SPI_CreateAll(
- const uint8_t,
- const uint32_t,
- const uint32_t,
- const uint32_t,
- const uint32_t
- );
- bool R_SPI_DestroyAll(
- const uint8_t
- );
- bool R_SPI_CommandAll(
- const uint8_t,
- const uint8_t,
- const uint32_t,
- const uint8_t
- );
- bool R_SPI_TransferAll(
- const uint8_t,
- const uint8_t,
- volatile const uint32_t * const,
- volatile uint32_t * const,
- const uint16_t,
- VoidCallBackFunc const,
- const uint8_t
- );
- bool R_SPI_ControlAll(
- const uint8_t,
- const uint8_t,
- const uint32_t
- );
- bool R_SPI_GetStatusAll(
- const uint8_t,
- volatile uint16_t * const,
- volatile uint16_t * const
- );
- bool ReturnFalse(void);
- /* Macro definitions */
- #define R_SPI_Create(a, b, c, d, e) \
- ( \
- ( (a) < SPI_CHANNELS) ? \
- R_SPI_CreateAll( (a), (b), (c), (d), (e) ): \
- ReturnFalse() \
- )
- #define R_SPI_Destroy(a) \
- ( \
- ( (a) < SPI_CHANNELS) ? \
- R_SPI_DestroyAll( (a) ): \
- ReturnFalse() \
- )
- #define R_SPI_Command(a, b, c, d) \
- ( \
- ( ( ((a) < SPI_CHANNELS) && ((b) < SPI_COMMANDS) ) ) ? \
- R_SPI_CommandAll( (a), (b), (c), (d) ): \
- ReturnFalse() \
- )
- #define R_SPI_Transfer(a, b, c, d, e, f, g) \
- ( \
- ( ( ((a) < SPI_CHANNELS) && ((g) <= IPL_MAX) ) ) ? \
- R_SPI_TransferAll( (a), (b), (c), (d), (e), (f), (g) ): \
- ReturnFalse() \
- )
- #define R_SPI_Control(a, b, c) \
- ( \
- ( (a) < SPI_CHANNELS) ? \
- R_SPI_ControlAll( (a), (b), (c) ): \
- ReturnFalse() \
- )
- #define R_SPI_GetStatus(a, b, c) \
- ( \
- ( (a) < SPI_CHANNELS) ? \
- R_SPI_GetStatusAll( (a), (b), (c) ): \
- ReturnFalse() \
- )
- #endif
- /* End of file */
|