How do you handle error frames and bus-off states in a CAN-based embedded system for Knorr-Bremse Group rail and commercial vehicle braking controls?