Hi, What I cannot find an example of is how to filter for more than one error?
ret = rt_dev_setsockopt(can_fd, SOL_CAN_RAW, CAN_RAW_ERR_FILTER, &err_mask, sizeof(err_mask)); will pick out the messages that correspond to err_mask. At the moment I seem to be picking up CAN_ERR_BUSERROR but not for example CAN_ERR_CRTL (mind you I presume the latter should have been CAN_ERR_CTRL which is a bit more intuitive). If I want to pick up both can I do this ret = rt_dev_setsockopt(can_fd, SOL_CAN_RAW, CAN_RAW_ERR_FILTER, &err_mask1, sizeof(err_mask1)); ret = rt_dev_setsockopt(can_fd, SOL_CAN_RAW, CAN_RAW_ERR_FILTER, &err_mask2, sizeof(err_mask2)); to set up to get errors of two types or can I only pick up one at a time.? This is what my CanID and the data sequence looks like: !0x00000088!<0x088> [8] 00 00 80 19 00 00 00 00 0x00000080 is CAN_ERR_BUSERROR and 0x00000008 is protocol violation CAN_ERR_PROT. So I seem to have those two errors. Correct? -What is a protocol error? The values in data 2 and 3 seem to say data 2: 80 Error occurred on transmission data 3 19 Ack Slot? The first one I can understand I have nothing connected to the bus, the second one What does the second one mean? Regards, Roland. _______________________________________________ Xenomai-help mailing list [email protected] https://mail.gna.org/listinfo/xenomai-help
