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; }
void main(void) { MFRC522__SELECT::set_mode(pin::mode::OUTPUT); MFRC522__RESET::set_mode(pin::mode::OUTPUT); spi__init(SPI_CLKDIV_16); console::init(); puts_P(PSTR("Looking for MFRC522.")); nfc::init(); nfc::start(); const uint8_t version = nfc::getFirmwareVersion(); if (!version) { puts_P(PSTR("Didn't find MFRC522 board.")); return; } puts_P(PSTR("Found chip MFRC522.")); printf_P(PSTR("Firmware ver. 0x%x."), version); if (nfc::digitalSelfTestPass()) { puts_P(PSTR("Digital self test by MFRC522 passed.")); } else { puts_P(PSTR("Digital self test by MFRC522 failed.")); } for (;;); }
//__attribute__ ((noreturn)) int main(void) { console_service__init(); pwm__init(); pwm__start(); spi__init(SPI_CLKDIV_16); mcp251x_select__init(); mcp251x__init(); can__init(); can__start(); can_service__init(); can_service__start(); sei(); console_service__run(); }
int can_tx_setup(int baudrate) { spi__init(); 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; }