// ------------------------------------------------------------- void FlexCAN::setFilter(const CAN_filter_t &filter, uint8_t n) { if ( 8 > n ) { if (filter.ext) { FLEXCAN0_IDFLT_TAB(n) = ((filter.rtr?1:0) << 31) | ((filter.ext?1:0) << 30) | ((filter.id & FLEXCAN_MB_ID_EXT_MASK) << 1); } else { FLEXCAN0_IDFLT_TAB(n) = ((filter.rtr?1:0) << 31) | ((filter.ext?1:0) << 30) | (FLEXCAN_MB_ID_IDSTD(filter.id) << 1); } } }
// ------------------------------------------------------------- void CAN_K2X::setFilter(const CAN_Filter &filter, uint8_t n) { if ( 8 > n ) { if (filter.extended) { FLEXCAN0_IDFLT_TAB(n) = ((filter.rtr ? 1 : 0) << 31) | ((filter.extended ? 1 : 0) << 30) | ((filter.id & FLEXCAN_MB_ID_EXT_MASK) << 1); } else { FLEXCAN0_IDFLT_TAB(n) = ((filter.rtr ? 1 : 0) << 31) | ((filter.extended ? 1 : 0) << 30) | (FLEXCAN_MB_ID_IDSTD(filter.id) << 1); } } }