Skip to content

Commit 06bbfea

Browse files
authored
Fix for flexible CAN baud rate (#296)
Fix for #295 to allow flexible bit rate either one of the 4 predefined rates or a custom rate.
1 parent b5a3b9d commit 06bbfea

File tree

4 files changed

+8
-2
lines changed

4 files changed

+8
-2
lines changed

Diff for: libraries/Arduino_CAN/src/CanUtil.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ namespace util
2828
**************************************************************************************/
2929

3030
std::tuple<bool, uint32_t, uint32_t, uint32_t>
31-
calc_can_bit_timing(CanBitRate const can_bitrate,
31+
calc_can_bit_timing(uint32_t const can_bitrate,
3232
uint32_t const can_clock_Hz,
3333
uint32_t const tq_min,
3434
uint32_t const tq_max,

Diff for: libraries/Arduino_CAN/src/CanUtil.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ std::tuple<bool, /* valid result found */
3636
uint32_t, /* baud_rate_prescaler */
3737
uint32_t, /* time_segment_1 */
3838
uint32_t> /* time_segment_2 */
39-
calc_can_bit_timing(CanBitRate const can_bitrate, uint32_t const can_clock_Hz, uint32_t const tq_min, uint32_t const tq_max,
39+
calc_can_bit_timing(uint32_t const can_bitrate, uint32_t const can_clock_Hz, uint32_t const tq_min, uint32_t const tq_max,
4040
uint32_t const tseg1_min, uint32_t const tseg1_max, uint32_t const tseg2_min, uint32_t const tseg2_max);
4141

4242
/**************************************************************************************

Diff for: libraries/Arduino_CAN/src/R7FA4M1_CAN.cpp

+5
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,11 @@ R7FA4M1_CAN::R7FA4M1_CAN(int const can_tx_pin, int const can_rx_pin)
137137
**************************************************************************************/
138138

139139
bool R7FA4M1_CAN::begin(CanBitRate const can_bitrate)
140+
{
141+
return begin(static_cast<uint32_t>(can_bitrate));
142+
}
143+
144+
bool R7FA4M1_CAN::begin(uint32_t const can_bitrate)
140145
{
141146
bool init_ok = true;
142147

Diff for: libraries/Arduino_CAN/src/R7FA4M1_CAN.h

+1
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ class R7FA4M1_CAN final : public HardwareCAN
5252

5353

5454
bool begin(CanBitRate const can_bitrate) override;
55+
bool begin(uint32_t const can_bitrate);
5556
void end() override;
5657

5758
void setFilterMask_Standard(uint32_t const mask);

0 commit comments

Comments
 (0)