int can_setup(int baudrate) { spi__init(); mcp2515_reset(); /* Wait until reset finishes. */ int count = 100; while (1) { if (get_mode() == REQOP_CONFIG) { break; } else { udelay(1); count--; } if (count <= 0) { printf("CAN controller not responding. Check daughter board connection!\n"); return -1; } } set_baudrate(baudrate); enable_intrrupt(); set_mode(REQOP_NORMAL); return 0; }
int can_tx_setup(int baudrate) { mcp2515_reset(); /* Wait until reset finishes. */ while (1) { if (get_mode() == REQOP_CONFIG) { break; } } set_baudrate(baudrate); enable_intrrupt(); enable_rollover(); set_rx_mode(0, RXM_ANY); set_mode(REQOP_NORMAL); return 0; }