int wiringOliSetup() { initialiseEpoch() ; int result; result = sunxi_gpio_init(); if(result == SETUP_DEVMEM_FAIL) { printf("No access to /dev/mem. Try running as root !"); return SETUP_DEVMEM_FAIL; } else if(result == SETUP_MALLOC_FAIL) { printf("No memory !"); return SETUP_MALLOC_FAIL; } else if(result == SETUP_MMAP_FAIL) { printf("Mmap failed on module import"); return SETUP_MMAP_FAIL; } else { return SETUP_OK; } return SETUP_OK; }
/* * millis: * Return a number of milliseconds as an unsigned int. ********************************************************************************* */ unsigned int millis(void) { if (!millis_used) initialiseEpoch(); struct timeval tv; uint64_t now; gettimeofday(&tv, NULL); now = (uint64_t)tv.tv_sec * (uint64_t)1000 + (uint64_t)(tv.tv_usec / 1000); return (uint32_t)(now - epochMilli); }
void do_setup() { initialiseEpoch(); // initialize time reference for millis() and micros() os.begin(); // OpenSprinkler init os.options_setup(); // Setup options pd.init(); // ProgramData init if (os.start_network()) { // initialize network DEBUG_PRINTLN("network established."); os.status.network_fails = 0; } else { DEBUG_PRINTLN("network failed."); os.status.network_fails = 1; } os.status.req_network = 0; }