| 30 | } |
| 31 | |
| 32 | void print_timer_state(struct TimerState* timers) { |
| 33 | int i; |
| 34 | struct Timer *cursor; |
| 35 | printf("=== Timer State Dump ===\nglobal_ticker: %ld | cur_interval: %ld | cur_countdown: %ld | elapsed: %ld\n", timers->global_ticker, timers->cur_interval, timers->cur_countdown, timers->cur_interval-timers->cur_countdown); |
| 36 | for(i = 0, cursor=timers->active_head; cursor; ++i, cursor=cursor->next) { |
| 37 | if(i) { |
| 38 | printf("-> "); |
| 39 | } |
| 40 | printf("timer [%d]. ticker_val: %ld, reload_val: %ld\n", get_timer_id(timers, cursor), cursor->ticker_val, cursor->reload_val); |
| 41 | } |
| 42 | puts("========================\n"); |
| 43 | fflush(stdout); |
| 44 | } |
| 45 | |
| 46 | uint32_t add_timer(struct TimerState* timers, int64_t reload_val, timer_cb trigger_callback, void *trigger_cb_user_data, uint32_t isr_num) { |
| 47 | if(timers->num_inuse == MAX_TIMERS) { |
no test coverage detected