void chb_reset() { CHB_RST_DISABLE(); CHB_SLPTR_DISABLE(); // wait a bit while transceiver wakes up chb_delay_us(TIME_P_ON_TO_CLKM_AVAIL); // reset the device CHB_RST_ENABLE(); chb_delay_us(TIME_RST_PULSE_WIDTH); CHB_RST_DISABLE(); // check that we have the part number that we're expecting while (1) { // if you're stuck in this loop, that means that you're not reading // the version and part number register correctly. possible that version number // changes. if so, update version num in header file if ((chb_reg_read(VERSION_NUM) == CHB_AT86RF212_VER_NUM) && (chb_reg_read(PART_NUM) == CHB_AT86RF212_PART_NUM)) { break; } } }
error_t chb_reset() { CHB_RST_DISABLE(); CHB_SLPTR_DISABLE(); // wait a bit while transceiver wakes up chb_delay_us(TIME_P_ON_TO_CLKM_AVAIL); // reset the device CHB_RST_ENABLE(); chb_delay_us(TIME_RST_PULSE_WIDTH); CHB_RST_DISABLE(); // check that we have the part number that we're expecting // if you're stuck here, that means that you're not reading // the version and part number register correctly. possible that version number // changes. if so, update version num in header file if ((chb_reg_read(VERSION_NUM) == CHB_AT86RF212_VER_NUM) && (chb_reg_read(PART_NUM) == CHB_AT86RF212_PART_NUM)) { return ERROR_NONE; } else { return ERROR_DEVICENOTINITIALISED; } }