pub fn set_filter(&mut self, filter: impl Filter) {
        // Convert the filter into values for the registers and store them for later
        // use.
        self.filter = Some((filter.filter_type(), filter.to_registers()));
    }
Set up the acceptance filter on the device.

NOTE: On a bus with mixed 11-bit and 29-bit packet id's, you may
experience an 11-bit filter match against a 29-bit frame and vice
versa. Your application should check the id again once a frame has
been received to make sure it is the expected value.

You may use a `const {}` block to ensure that the filter is parsed
during program compilation.

The filter is not applied to the peripheral until [`Self::start`] is
called.

[ESP32C3 Reference Manual](https://www.espressif.com/sites/default/files/documentation/esp32-c3_technical_reference_manual_en.pdf#subsubsection.29.4.6)
esp-hal/src/twai/mod.rs