コード例 #1
0
int CAN_device_init(uint8_t channel, uint32_t baud)
{
	pr_info("Initializing CAN");
	pr_info_int(channel);
	pr_info_int_msg(" with baud rate ", baud);

	if (!initQueues()) {
		pr_info("CAN init queues failed\r\n");
		return 0;
	}

	switch (channel) {
	case 0:
		CAN_device_init_1(baud);
		break;
	case 1:
		CAN_device_init_2(baud);
		break;
	default:
		pr_info("CAN init device failed\r\n");
		return 0;
	}

	/* Clear out all filter values except 0.  It accepts all. */
	CAN_device_set_filter(channel, 0, 1, 0, 0, true);
	for (size_t i = 1; i < CAN_FILTER_COUNT; ++i)
		CAN_device_set_filter(channel, i, 0, 0, 0, false);

	pr_info("CAN init success!\r\n");
	return 1;
}
コード例 #2
0
int CAN_device_init(uint8_t channel, uint32_t baud)
{

    pr_info("CAN");
    pr_info_int(channel);
    pr_info(" init @ ");
    pr_info_int(baud);

    if (initQueues()) {
        switch (channel) {
        case 0:
            CAN_device_init_1(baud);
            break;
        }
        pr_info(" win\r\n");
        return 1;
    } else {
        pr_info(" fail\r\n");
        return 0;
    }
}