static void test_div_u64_by_1000000(void) { for (unsigned i = 0; i < N_U32_VALS; i++) { DEBUG("Dividing %"PRIu32" by 1000000...\n", u32_test_values[i]); TEST_ASSERT_EQUAL_INT( div_u64_by_1000000(u32_test_values[i]), u32_test_values[i]/1000000); } for (unsigned i = 0; i < N_U64_VALS; i++) { DEBUG("Dividing %"PRIu64" by 1000000...\n", u64_test_values[i]); TEST_ASSERT_EQUAL_INT( div_u64_by_1000000(u64_test_values[i]), u64_test_values[i]/1000000U); } }
volatile unsigned int counter; volatile unsigned int compares[CHANNELS]; static volatile int spurious_int; /* * The mips toolchain C library does not implement gettimeofday() * * implement it here using the timer. * */ int gettimeofday(struct timeval *__restrict __p, void *__restrict __tz) { (void)__tz; uint64_t now = counter * US_PER_MS; __p->tv_sec = div_u64_by_1000000(now); __p->tv_usec = now - (__p->tv_sec * US_PER_SEC); return 0; } int timer_init(tim_t dev, unsigned long freq, timer_cb_t cb, void *arg) { assert(dev == 0); (void)dev; (void)freq; /* Cannot adjust Frequency */ timer_isr_ctx.cb = cb; timer_isr_ctx.arg = arg;