/**
 * \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;
}