You should change the flow control message if statement to below: if (((rx_frame.arb_id == self.rx_arb_id) or (rx_frame.arb_id == self.tx_arb_id-8)) and rx_frame.data[0] == 0x30): Frame control frames generally go out to the address of the specific device and not 7DF (rx request arbid). If you had an ECU with 7E8, the flow control message would go to 7E0.
You should change the flow control message if statement to below:
Frame control frames generally go out to the address of the specific device and not 7DF (rx request arbid).
If you had an ECU with 7E8, the flow control message would go to 7E0.