From 020bcb77aa26edd509eecc6da17f90e0872831fb Mon Sep 17 00:00:00 2001 From: Jonathan Challinger Date: Tue, 28 Apr 2020 21:45:39 -0700 Subject: [PATCH] usb_slcan: disable can filters --- modules/usb_slcan/usb_slcan.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/modules/usb_slcan/usb_slcan.c b/modules/usb_slcan/usb_slcan.c index cd29892..4cde3fc 100644 --- a/modules/usb_slcan/usb_slcan.c +++ b/modules/usb_slcan/usb_slcan.c @@ -73,8 +73,9 @@ static uint8_t hex_to_nibble(char c) { static void process_slcan_cmd(struct slcan_instance_s* instance, size_t cmd_len) { // Unsupported commands that are just ACKed switch(instance->cmd_buf[0]) { - case 'S': // Set bitrate case 'C': // Close CAN channel + can_set_filtering_enabled(instance.can_instance, true); + case 'S': // Set bitrate case 'M': case 'm': { chnWriteTimeout(&SDU1, (uint8_t*)"\r", 1, TIME_IMMEDIATE); @@ -88,16 +89,19 @@ static void process_slcan_cmd(struct slcan_instance_s* instance, size_t cmd_len) switch(instance->cmd_buf[0]) { case 'L': { // Open CAN channel in silent mode instance->loopback_enable = false; + can_set_filtering_enabled(instance.can_instance, false); chnWriteTimeout(&SDU1, (uint8_t*)"\r", 1, TIME_IMMEDIATE); return; } case 'O': { // Open CAN channel in normal mode instance->loopback_enable = false; + can_set_filtering_enabled(instance.can_instance, false); chnWriteTimeout(&SDU1, (uint8_t*)"\r", 1, TIME_IMMEDIATE); return; } case 'l': { instance->loopback_enable = true; + can_set_filtering_enabled(instance.can_instance, false); chnWriteTimeout(&SDU1, (uint8_t*)"\r", 1, TIME_IMMEDIATE); return; }