/*------------------------------------------------------------------------------------*/ static void switch_to_rx(transceiver_type_t t) { switch (t) { #if (defined(MODULE_CC110X) || defined(MODULE_CC110X_LEGACY)) case TRANSCEIVER_CC1100: cc110x_switch_to_rx(); break; #endif #ifdef MODULE_CC2420 case TRANSCEIVER_CC2420: cc2420_switch_to_rx(); break; #endif #ifdef MODULE_NATIVENET case TRANSCEIVER_NATIVE: nativenet_switch_to_rx(); break; #endif #ifdef MODULE_AT86RF231 case TRANSCEIVER_AT86RF231: at86rf231_switch_to_rx(); #endif default: break; } }
void at86rf231_init(int tpid) { transceiver_pid = tpid; at86rf231_gpio_spi_interrupts_init(); at86rf231_reset(); // TODO : Enable addr decode, auto ack, auto crc // and configure security, power, channel, pan radio_pan = 0; radio_pan = 0x00FF & (uint16_t)at86rf231_reg_read(AT86RF231_REG__PAN_ID_0); radio_pan |= (uint16_t)at86rf231_reg_read(AT86RF231_REG__PAN_ID_1) << 8; radio_channel = at86rf231_reg_read(AT86RF231_REG__PHY_CC_CCA) & AT86RF231_PHY_CC_CCA_MASK__CHANNEL; radio_address = 0x00FF & (uint16_t)at86rf231_reg_read(AT86RF231_REG__SHORT_ADDR_0); radio_address |= at86rf231_reg_read(AT86RF231_REG__SHORT_ADDR_1) << 8; radio_address_long = 0x00000000000000FF & (uint64_t)at86rf231_reg_read(AT86RF231_REG__IEEE_ADDR_0); radio_address_long |= ((uint64_t)at86rf231_reg_read(AT86RF231_REG__IEEE_ADDR_1)) << 8; radio_address_long |= ((uint64_t)at86rf231_reg_read(AT86RF231_REG__IEEE_ADDR_1)) << 16; radio_address_long |= ((uint64_t)at86rf231_reg_read(AT86RF231_REG__IEEE_ADDR_1)) << 24; radio_address_long |= ((uint64_t)at86rf231_reg_read(AT86RF231_REG__IEEE_ADDR_1)) << 32; radio_address_long |= ((uint64_t)at86rf231_reg_read(AT86RF231_REG__IEEE_ADDR_1)) << 40; radio_address_long |= ((uint64_t)at86rf231_reg_read(AT86RF231_REG__IEEE_ADDR_1)) << 48; radio_address_long |= ((uint64_t)at86rf231_reg_read(AT86RF231_REG__IEEE_ADDR_1)) << 56; at86rf231_switch_to_rx(); }
void at86rf231_init(int tpid) { transceiver_pid = tpid; at86rf231_gpio_spi_interrupts_init(); at86rf231_reset(); // TODO : Enable addr decode, auto ack, auto crc // and configure security, power, channel, pan at86rf231_switch_to_rx(); }