Last active
November 6, 2018 14:26
-
-
Save Thalhammer/34f9dd5785d1ad05fc5cbf533a41eaab to your computer and use it in GitHub Desktop.
Sample Sleep
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <stdlib.h> | |
#include "qapi/qapi_types.h" | |
#include "qapi/qapi.h" | |
#include "qapi/qapi_status.h" | |
#include "qapi_timer.h" | |
#include "util/debug.h" | |
#include "util/trace.h" | |
#include "tx_api.h" | |
#define TRACE_TAG "main" | |
int i; | |
void timer_test_cb(uint32_t udata) { | |
TRACE("cb %d\r\n", i++); | |
} | |
int dam_app_start(void) | |
{ | |
i=0; | |
if(debug_init() != QAPI_OK) return TX_SUCCESS; | |
qapi_TIMER_handle_t timer_handle; | |
qapi_TIMER_define_attr_t timer_def_attr; | |
timer_def_attr.cb_type = QAPI_TIMER_FUNC1_CB_TYPE; //notification type | |
timer_def_attr.sigs_func_ptr = &timer_test_cb; //callback to call when timer expires | |
timer_def_attr.sigs_mask_data = 0x1; //this data will be returned in the callback | |
timer_def_attr.deferrable = false; //set to true for non-deferrable timer | |
//define the timer. Note: This call allocates memory and hence qapi_Timer_Undef() | |
//should be called whenever the timer usage is done. | |
int res = qapi_Timer_Def( &timer_handle, &timer_def_attr); | |
if(res != 0) { | |
TRACE("failed to def timer: %d\r\n", res); | |
return TX_SUCCESS; | |
} | |
else TRACE("timer defined\r\n"); | |
qapi_TIMER_set_attr_t timer_set_attr; | |
timer_set_attr.reload = 1000; | |
timer_set_attr.time = 1000; | |
timer_set_attr.unit = QAPI_TIMER_UNIT_MSEC; | |
res = qapi_Timer_Set(timer_handle, &timer_set_attr); | |
if(res != 0){ | |
TRACE("failed to set timer: %d\r\n", res); | |
} | |
else TRACE("timer set\r\n"); | |
TRACE("sleep\r\n"); | |
res = qapi_Timer_Sleep(10, QAPI_TIMER_UNIT_SEC, false); | |
TRACE("res=%d\r\n", res); | |
res = qapi_Timer_Stop(timer_handle); | |
if(res != 0) TRACE("failed to stop timer: %d\r\n", res); | |
else TRACE("timer stopped\r\n"); | |
TRACE("sleep\r\n"); | |
res = qapi_Timer_Sleep(10, QAPI_TIMER_UNIT_SEC, false); | |
TRACE("res=%d\r\n", res); | |
TRACE("done\r\n"); | |
return TX_SUCCESS; | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Timestamps added by terminal on pc | |
// Second sleep seems to never return | |
20181106-15:19:09.402427 [main]timer defined | |
20181106-15:19:09.402690 [main]timer set | |
20181106-15:19:09.402741 [main]sleep | |
20181106-15:19:10.399304 [main]cb 0 | |
20181106-15:19:11.399009 [main]cb 1 | |
20181106-15:19:12.399278 [main]cb 2 | |
20181106-15:19:13.399267 [main]cb 3 | |
20181106-15:19:14.399246 [main]cb 4 | |
20181106-15:19:15.399285 [main]cb 5 | |
20181106-15:19:16.399269 [main]cb 6 | |
20181106-15:19:17.399257 [main]cb 7 | |
20181106-15:19:18.399351 [main]cb 8 | |
20181106-15:19:19.399253 [main]cb 9 | |
20181106-15:19:20.399322 [main]cb 10 | |
20181106-15:19:21.399218 [main]cb 11 | |
20181106-15:19:22.399195 [main]cb 12 | |
20181106-15:19:23.399218 [main]cb 13 | |
20181106-15:19:24.399217 [main]cb 14 | |
20181106-15:19:25.399112 [main]cb 15 | |
20181106-15:19:26.399163 [main]cb 16 | |
20181106-15:19:27.399165 [main]cb 17 | |
20181106-15:19:28.399160 [main]cb 18 | |
20181106-15:19:29.400246 [main]cb 19 | |
20181106-15:19:30.400251 [main]cb 20 | |
20181106-15:19:31.400268 [main]cb 21 | |
20181106-15:19:32.400191 [main]cb 22 | |
20181106-15:19:33.400105 [main]cb 23 | |
20181106-15:19:34.400216 [main]cb 24 | |
20181106-15:19:35.400188 [main]cb 25 | |
20181106-15:19:36.400226 [main]cb 26 | |
20181106-15:19:37.399130 [main]cb 27 | |
20181106-15:19:38.399197 [main]cb 28 | |
20181106-15:19:39.399193 [main]cb 29 | |
20181106-15:19:40.400150 [main]cb 30 | |
20181106-15:19:41.400261 [main]cb 31 | |
20181106-15:19:42.400262 [main]cb 32 | |
20181106-15:19:43.399166 [main]cb 33 | |
20181106-15:19:44.399071 [main]cb 34 | |
20181106-15:19:45.399009 [main]cb 35 | |
20181106-15:19:46.400162 [main]cb 36 | |
20181106-15:19:47.400324 [main]cb 37 | |
20181106-15:19:48.400251 [main]cb 38 | |
20181106-15:19:49.400171 [main]cb 39 | |
20181106-15:19:50.400171 [main]cb 40 | |
20181106-15:19:51.400095 [main]cb 41 | |
20181106-15:19:52.400187 [main]cb 42 | |
20181106-15:19:53.400197 [main]cb 43 | |
20181106-15:19:54.400233 [main]cb 44 | |
20181106-15:19:55.400156 [main]cb 45 | |
20181106-15:19:56.400118 [main]cb 46 | |
20181106-15:19:57.400205 [main]cb 47 | |
20181106-15:19:58.400183 [main]cb 48 | |
20181106-15:19:59.400241 [main]cb 49 | |
20181106-15:20:00.400253 [main]cb 50 | |
20181106-15:20:01.400202 [main]cb 51 | |
20181106-15:20:02.400184 [main]cb 52 | |
20181106-15:20:03.400206 [main]cb 53 | |
20181106-15:20:04.400156 [main]cb 54 | |
20181106-15:20:05.400219 [main]cb 55 | |
20181106-15:20:06.400229 [main]cb 56 | |
20181106-15:20:07.400084 [main]cb 57 | |
20181106-15:20:08.400083 [main]cb 58 | |
20181106-15:20:09.400174 [main]cb 59 | |
20181106-15:20:10.400199 [main]cb 60 | |
20181106-15:20:11.400132 [main]cb 61 | |
20181106-15:20:12.400130 [main]cb 62 | |
20181106-15:20:13.400130 [main]cb 63 | |
20181106-15:20:14.400132 [main]cb 64 | |
20181106-15:20:15.399161 [main]cb 65 | |
20181106-15:20:16.399115 [main]cb 66 | |
20181106-15:20:17.399079 [main]cb 67 | |
20181106-15:20:18.400174 [main]cb 68 | |
20181106-15:20:19.400088 [main]cb 69 | |
20181106-15:20:20.400079 [main]cb 70 | |
20181106-15:20:21.400059 [main]cb 71 | |
20181106-15:20:22.400235 [main]cb 72 | |
20181106-15:20:23.400180 [main]cb 73 | |
20181106-15:20:24.400189 [main]cb 74 | |
20181106-15:20:25.400178 [main]cb 75 | |
20181106-15:20:26.400119 [main]cb 76 | |
20181106-15:20:27.400119 [main]cb 77 | |
20181106-15:20:28.400065 [main]cb 78 | |
20181106-15:20:29.400212 [main]cb 79 | |
20181106-15:20:30.400085 [main]cb 80 | |
20181106-15:20:31.400134 [main]cb 81 | |
20181106-15:20:32.400053 [main]cb 82 | |
20181106-15:20:33.400126 [main]cb 83 | |
20181106-15:20:34.400053 [main]cb 84 | |
20181106-15:20:35.400166 [main]cb 85 | |
20181106-15:20:36.400081 [main]cb 86 | |
20181106-15:20:37.400047 [main]cb 87 | |
20181106-15:20:38.400079 [main]cb 88 | |
20181106-15:20:39.400037 [main]cb 89 | |
20181106-15:20:40.400151 [main]cb 90 | |
20181106-15:20:41.400043 [main]cb 91 | |
20181106-15:20:42.400038 [main]cb 92 | |
20181106-15:20:43.400045 [main]cb 93 | |
20181106-15:20:44.400122 [main]cb 94 | |
20181106-15:20:45.400091 [main]cb 95 | |
20181106-15:20:46.400143 [main]cb 96 | |
20181106-15:20:47.400047 [main]cb 97 | |
20181106-15:20:48.399957 [main]cb 98 | |
20181106-15:20:49.400001 [main]cb 99 | |
20181106-15:20:50.400204 [main]cb 100 | |
20181106-15:20:51.400224 [main]cb 101 | |
20181106-15:20:52.404409 [main]cb 102 | |
20181106-15:20:52.404529 [main]res=0 | |
20181106-15:20:52.404572 [main]timer stopped | |
20181106-15:20:52.404597 [main]sleep |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment