/** * \brief Read the EUI-64 from the AT24MAC602 EEPROM * \param eui Pointer to an EUI-64 struct to fill out with the EUI-64 read. * \retval 0 Success * \retval -1 Fail */ int at24mac602_read_eui64(eui64_t *eui) { if(at24mac602_arch_read_eui64(eui) == -1) { printf("failed to read EUI-64 from EEPROM\n"); eui->u8[0] = 0; eui->u8[1] = 1; eui->u8[2] = 2; eui->u8[3] = 3; eui->u8[4] = 4; eui->u8[5] = 5; eui->u8[6] = 6; eui->u8[7] = 7; return -1; } reset_i2c(); at24mac602_arch_init(); return 0; }
void some_timerfunc(void *arg) { uint8_t rc; // Initialise everything if not yet successfully initalised if (!pca9685_inited) { rc = init_i2c(); if (rc) { goto EXIT_LABEL; } rc = reset_i2c(); if (rc) { goto EXIT_LABEL; } rc = init_pca9685(PCA9685_ADDR); if (!rc) { pca9685_inited = TRUE; } toggle_pca9685_leds(PCA9685_ADDR, FALSE); goto EXIT_LABEL; } toggle_pca9685_leds(PCA9685_ADDR, pca9685_on ? FALSE : TRUE); EXIT_LABEL: return; }