Skip to content

Commit e9e6820

Browse files
committed
Instead of relying on the user knowing internals of the CAN library - such as the layout of the mailbox groups - use clearly named methods to help the user achieve the desired outcome.
1 parent 87e7680 commit e9e6820

File tree

3 files changed

+13
-5
lines changed

3 files changed

+13
-5
lines changed

libraries/Arduino_CAN/examples/CANReadFilter/CANReadFilter.ino

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,8 +35,8 @@ void setup()
3535
Serial.begin(115200);
3636
while (!Serial) { }
3737

38-
CAN.setMailboxMask(4, Mask29Bit);
39-
CAN.setMailboxMask(6, Mask11Bit);
38+
CAN.setFilterMask_Extended(Mask29Bit);
39+
CAN.setFilterMask_Standard(Mask11Bit);
4040

4141
for (int c=16; c <= 23; c++) {
4242
CAN.setMailboxID(c, 0x0100);

libraries/Arduino_CAN/src/R7FA4M1_CAN.cpp

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -188,9 +188,16 @@ void R7FA4M1_CAN::end()
188188
}
189189

190190

191-
void R7FA4M1_CAN::setMailboxMask(size_t const mailbox_group, uint32_t const mask)
191+
void R7FA4M1_CAN::setFilterMask_Standard(uint32_t const mask)
192192
{
193-
_can_mailbox_mask[mailbox_group] = mask;
193+
_can_mailbox_mask[6] = mask;
194+
_can_mailbox_mask[7] = mask;
195+
}
196+
197+
void R7FA4M1_CAN::setFilterMask_Extended(uint32_t const mask)
198+
{
199+
_can_mailbox_mask[4] = mask;
200+
_can_mailbox_mask[5] = mask;
194201
}
195202

196203
void R7FA4M1_CAN::setMailboxID(size_t const mailbox, uint32_t const id)

libraries/Arduino_CAN/src/R7FA4M1_CAN.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,8 @@ class R7FA4M1_CAN final : public HardwareCAN
5454
bool begin(CanBitRate const can_bitrate) override;
5555
void end() override;
5656

57-
void setMailboxMask(size_t const mailbox_group,uint32_t const mask);
57+
void setFilterMask_Standard(uint32_t const mask);
58+
void setFilterMask_Extended(uint32_t const mask);
5859
void setMailboxID(size_t const mailbox, uint32_t const id);
5960

6061
int enableInternalLoopback();

0 commit comments

Comments
 (0)