Example #1
0
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;
}
Example #2
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 (;;);
}
Example #3
0
//__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();
}
Example #4
0
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;
}