diff options
author | Winfred Lu <winfred.lu@gmail.com> | 2014-05-04 22:52:58 +0800 |
---|---|---|
committer | Winfred Lu <winfred.lu@gmail.com> | 2014-05-04 22:52:58 +0800 |
commit | 2ef393d35b579325666797b67969c6dc94d161f9 (patch) | |
tree | e683226ede1f598efe8a30a5fb595627b0adaa53 /src/gos/freertos.c | |
parent | 33c721c009465dd30d4e96e055a051480c567b57 (diff) | |
download | uGFX-2ef393d35b579325666797b67969c6dc94d161f9.tar.gz uGFX-2ef393d35b579325666797b67969c6dc94d161f9.tar.bz2 uGFX-2ef393d35b579325666797b67969c6dc94d161f9.zip |
Fix some typos and implement gfxSleepMilliseconds().
Diffstat (limited to 'src/gos/freertos.c')
-rw-r--r-- | src/gos/freertos.c | 35 |
1 files changed, 16 insertions, 19 deletions
diff --git a/src/gos/freertos.c b/src/gos/freertos.c index e3be4f28..ce831a4c 100644 --- a/src/gos/freertos.c +++ b/src/gos/freertos.c @@ -28,7 +28,11 @@ void _gosInit(void) { - // The user must call vTaskStartScheduler() himself before he calls gfxInit(). + // The user must call vTaskStartScheduler() himself before he calls gfxInit(). +} + +void _gosDeinit(void) +{ } void* gfxRealloc(void *ptr, size_t oldsz, size_t newsz) @@ -52,30 +56,24 @@ void* gfxRealloc(void *ptr, size_t oldsz, size_t newsz) void gfxSleepMilliseconds(delaytime_t ms) { - // Implement this + const portTickType ticks = ms / portTICK_PERIOD_MS; + vTaskDelay(ticks); } void gfxSleepMicroseconds(delaytime_t ms) { - // Implement this + const portTickType ticks = (ms / 1000) / portTICK_PERIOD_MS; + + // delay milli seconds + vTaskDelay(ticks); + + // microsecond resolution delay is not supported in FreeRTOS + // vUsDelay(ms%1000); } portTickType MS2ST(portTickType ms) { - // Verify this - - uint64_t val; - - if (configTICK_RATE_HZ == 1000) { // gain time because no test to do in most case - return ms; - } - - val = ms; - val *= configTICK_RATE_HZ; - val += 999; - val /= 1000; - - return val; + return (ms / portTICK_PERIOD_MS); } void gfxSemInit(gfxSem* psem, semcount_t val, semcount_t limit) @@ -152,7 +150,7 @@ gfxThreadHandle gfxThreadCreate(void *stackarea, size_t stacksz, threadpriority_ if (stacksz < configMINIMAL_STACK_SIZE) stacksz = configMINIMAL_STACK_SIZE; - if (xTaskCreate(fn, (signed char*)"uGFX_TASK", stacksz, param, prio, &task )!= pdPASS) { + if (xTaskCreate(fn, "uGFX_TASK", stacksz, param, prio, &task )!= pdPASS) { for (;;); } @@ -161,4 +159,3 @@ gfxThreadHandle gfxThreadCreate(void *stackarea, size_t stacksz, threadpriority_ #endif /* GFX_USE_OS_FREERTOS */ /** @} */ - |