188 lines
4.2 KiB
C
188 lines
4.2 KiB
C
/*""FILE COMMENT""*******************************************************
|
|
* System Name : Multi-function Timer Pulse Unit API for RX62N
|
|
* File Name : r_pdl_MTU2_RX62Nxx.h
|
|
* Version : 1.02
|
|
* Contents : MTU2 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_MTU2_RX62Nxx_H
|
|
#define R_PDL_MTU2_RX62Nxx_H
|
|
|
|
#define MTU2_UNITS 2
|
|
#define MTU2_CHANNELS_PER_UNIT 6
|
|
#define MTU2_CHANNELS (uint8_t)(MTU2_UNITS * MTU2_CHANNELS_PER_UNIT)
|
|
|
|
/* Callback function storage */
|
|
extern VoidCallBackFunc rpdl_MTU2_func1_callback_func[MTU2_CHANNELS];
|
|
extern VoidCallBackFunc rpdl_MTU2_func2_callback_func[MTU2_CHANNELS];
|
|
extern VoidCallBackFunc rpdl_MTU2_func3_callback_func[MTU2_CHANNELS];
|
|
extern VoidCallBackFunc rpdl_MTU2_func4_callback_func[MTU2_CHANNELS];
|
|
extern VoidCallBackFunc rpdl_MTU2_TGRE_callback_func[MTU2_CHANNELS];
|
|
extern VoidCallBackFunc rpdl_MTU2_TGRF_callback_func[MTU2_CHANNELS];
|
|
extern VoidCallBackFunc rpdl_MTU2_Overflow_callback_func[MTU2_CHANNELS];
|
|
extern VoidCallBackFunc rpdl_MTU2_Underflow_callback_func[MTU2_CHANNELS];
|
|
|
|
typedef struct R_MTU2_Create_parameters
|
|
{
|
|
uint32_t data2;
|
|
uint32_t data3;
|
|
uint32_t data4;
|
|
uint16_t data5;
|
|
uint32_t data6;
|
|
uint32_t data7;
|
|
uint32_t data8;
|
|
uint16_t data9;
|
|
uint16_t data10;
|
|
uint16_t data11;
|
|
uint16_t data12;
|
|
uint16_t data13;
|
|
uint16_t data14;
|
|
uint16_t data15;
|
|
uint16_t data16;
|
|
uint16_t data17;
|
|
uint16_t data18;
|
|
VoidCallBackFunc func1;
|
|
VoidCallBackFunc func2;
|
|
VoidCallBackFunc func3;
|
|
VoidCallBackFunc func4;
|
|
uint8_t data19;
|
|
VoidCallBackFunc func5;
|
|
VoidCallBackFunc func6;
|
|
VoidCallBackFunc func7;
|
|
VoidCallBackFunc func8;
|
|
uint8_t data20;
|
|
} R_MTU2_Create_structure;
|
|
|
|
typedef struct R_MTU2_ControlChannel_parameters
|
|
{
|
|
uint8_t data2;
|
|
uint16_t data3;
|
|
uint16_t data4;
|
|
uint16_t data5;
|
|
uint16_t data6;
|
|
uint16_t data7;
|
|
uint16_t data8;
|
|
uint16_t data9;
|
|
uint16_t data10;
|
|
uint16_t data11;
|
|
uint16_t data12;
|
|
} R_MTU2_ControlChannel_structure;
|
|
|
|
typedef struct R_MTU2_ControlUnit_parameters
|
|
{
|
|
uint16_t data2;
|
|
uint32_t data3;
|
|
uint32_t data4;
|
|
uint16_t data5;
|
|
uint32_t data6;
|
|
uint8_t data7;
|
|
uint16_t data8;
|
|
uint16_t data9;
|
|
uint16_t data10;
|
|
} R_MTU2_ControlUnit_structure;
|
|
|
|
/* Library prototypes */
|
|
bool R_MTU2_SetAll(
|
|
const uint16_t
|
|
);
|
|
bool R_MTU2_CreateAll(
|
|
const uint8_t,
|
|
R_MTU2_Create_structure * const
|
|
);
|
|
bool R_MTU2_DestroyAll(
|
|
const uint8_t
|
|
);
|
|
bool R_MTU2_ControlChannelAll(
|
|
const uint8_t,
|
|
R_MTU2_ControlChannel_structure * const
|
|
);
|
|
bool R_MTU2_ControlUnitAll(
|
|
const uint8_t,
|
|
R_MTU2_ControlUnit_structure * const
|
|
);
|
|
bool R_MTU2_ReadChannelAll(
|
|
const uint8_t,
|
|
volatile uint8_t * const,
|
|
volatile uint16_t * const,
|
|
volatile uint16_t * const,
|
|
volatile uint16_t * const,
|
|
volatile uint16_t * const,
|
|
volatile uint16_t * const,
|
|
volatile uint16_t * const,
|
|
volatile uint16_t * const
|
|
);
|
|
bool R_MTU2_ReadUnitAll(
|
|
const uint8_t,
|
|
volatile uint16_t * const,
|
|
volatile uint8_t * const
|
|
);
|
|
bool ReturnFalse(void);
|
|
void R_MTU2_Create_load_defaults(R_MTU2_Create_structure * const);
|
|
|
|
/* Macro definitions */
|
|
|
|
#define R_MTU2_Set(a) \
|
|
( \
|
|
R_MTU2_SetAll( (a) ) \
|
|
)
|
|
|
|
#define R_MTU2_Create(a, b) \
|
|
( \
|
|
( (a) < MTU2_CHANNELS ) ? \
|
|
R_MTU2_CreateAll( (a), (b) ) : \
|
|
ReturnFalse() \
|
|
)
|
|
|
|
#define R_MTU2_ControlChannel(a, b) \
|
|
( \
|
|
( (a) < MTU2_CHANNELS ) ? \
|
|
R_MTU2_ControlChannelAll( (a), (b) ) : \
|
|
ReturnFalse() \
|
|
)
|
|
|
|
#define R_MTU2_ControlUnit(a, b) \
|
|
( \
|
|
( (a) < MTU2_UNITS ) ? \
|
|
R_MTU2_ControlUnitAll( (a), (b) ) : \
|
|
ReturnFalse() \
|
|
)
|
|
|
|
#define R_MTU2_ReadChannel(a, b, c, d, e, f, g, h, i) \
|
|
( \
|
|
( (a) < MTU2_CHANNELS ) ? \
|
|
R_MTU2_ReadChannelAll( (a), (b), (c), (d), (e), (f), (g), (h), (i) ) : \
|
|
ReturnFalse() \
|
|
)
|
|
|
|
#define R_MTU2_ReadUnit(a, b, c) \
|
|
( \
|
|
( (a) < MTU2_UNITS ) ? \
|
|
R_MTU2_ReadUnitAll( (a), (b), (c) ) : \
|
|
ReturnFalse() \
|
|
)
|
|
|
|
#define R_MTU2_Destroy(a) \
|
|
( \
|
|
( (a) < MTU2_UNITS ) ? \
|
|
R_MTU2_DestroyAll( (a) ) : \
|
|
ReturnFalse() \
|
|
)
|
|
|
|
#endif
|
|
/* End of file */
|