Skip to content

Commit a0c1a64

Browse files
committed
separate the CAN FD and non-CAN FD declarations of can_init_freq, can_init_freq_direct, can_frequency functions
1 parent 78b37fd commit a0c1a64

File tree

1 file changed

+29
-21
lines changed

1 file changed

+29
-21
lines changed

hal/include/hal/can_api.h

Lines changed: 29 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -84,42 +84,48 @@ void can_init(can_t *obj, PinName rd, PinName td);
8484
*/
8585
void can_init_direct(can_t *obj, const can_pinmap_t *pinmap);
8686

87+
#if DEVICE_CAN_FD
8788
/** Initialize the CAN peripheral. It sets the default parameters for CAN
8889
* peripheral, and configures its specifieds pins.
8990
*
9091
* @param obj CAN object
9192
* @param rd The CAN RD pin name
9293
* @param td The CAN TD pin name
93-
#ifdef DEVICE_CAN_FD
9494
* @param hz The bus frequency in classical CAN mode, or nominal phase frequency in CAN FD mode
9595
* @param data_hz The data phase frequency in CAN FD mode, the CAN object is put into Classical CAN mode if this parameter is zero
96-
#else
97-
* @param hz The bus frequency
98-
#endif
9996
*/
100-
void can_init_freq(can_t *obj, PinName rd, PinName td, int hz
101-
#ifdef DEVICE_CAN_FD
102-
, int data_hz
103-
#endif
104-
);
97+
void can_init_freq(can_t *obj, PinName rd, PinName td, int hz, int data_hz);
10598

10699
/** Initialize the CAN peripheral. It sets the default parameters for CAN
107100
* peripheral, and configures its specifieds pins.
108101
*
109102
* @param obj CAN object
110103
* @param pinmap pointer to structure which holds static pinmap
111-
#ifdef DEVICE_CAN_FD
112104
* @param hz The bus frequency in classical CAN mode, or nominal phase frequency in CAN FD mode
113105
* @param data_hz The data phase frequency in CAN FD mode, the CAN object is put into Classical CAN mode if this parameter is zero
106+
*/
107+
void can_init_freq_direct(can_t *obj, const can_pinmap_t *pinmap, int hz, int data_hz);
108+
114109
#else
110+
/** Initialize the CAN peripheral. It sets the default parameters for CAN
111+
* peripheral, and configures its specifieds pins.
112+
*
113+
* @param obj CAN object
114+
* @param rd The CAN RD pin name
115+
* @param td The CAN TD pin name
115116
* @param hz The bus frequency
116-
#endif
117117
*/
118-
void can_init_freq_direct(can_t *obj, const can_pinmap_t *pinmap, int hz
119-
#ifdef DEVICE_CAN_FD
120-
, int data_hz
118+
void can_init_freq(can_t *obj, PinName rd, PinName td, int hz);
119+
120+
/** Initialize the CAN peripheral. It sets the default parameters for CAN
121+
* peripheral, and configures its specifieds pins.
122+
*
123+
* @param obj CAN object
124+
* @param pinmap pointer to structure which holds static pinmap
125+
* @param hz The bus frequency
126+
*/
127+
void can_init_freq_direct(can_t *obj, const can_pinmap_t *pinmap, int hz);
121128
#endif
122-
);
123129

124130
/** Release the CAN peripheral, not currently invoked. It requires further
125131
* resource management.
@@ -128,21 +134,23 @@ void can_init_freq_direct(can_t *obj, const can_pinmap_t *pinmap, int hz
128134
*/
129135
void can_free(can_t *obj);
130136

137+
#if DEVICE_CAN_FD
131138
/** Configure the CAN bus frequency
132139
*
133140
* @param obj The CAN object
134-
#ifdef DEVICE_CAN_FD
135141
* @param hz The bus frequency in classical CAN mode, or nominal phase frequency in CAN FD mode
136142
* @param data_hz The data phase frequency in CAN FD mode, the CAN object is put into Classical CAN mode if this parameter is zero
143+
*/
144+
int can_frequency(can_t *obj, int hz, int data_hz);
145+
137146
#else
147+
/** Configure the CAN bus frequency
148+
*
149+
* @param obj The CAN object
138150
* @param hz The bus frequency
139-
#endif
140151
*/
141-
int can_frequency(can_t *obj, int hz
142-
#ifdef DEVICE_CAN_FD
143-
, int data_hz
152+
int can_frequency(can_t *obj, int hz);
144153
#endif
145-
);
146154

147155
/** Initialize the CAN IRQ handler
148156
*

0 commit comments

Comments
 (0)