Browse Source

Change the prototype for uGFXMain()

remotes/origin_old/release/v2.9
inmarket 6 years ago
parent
commit
3a0e49dabc
  1. 2
      src/gfx.c
  2. 9
      src/gos/gos_freertos.c
  3. 3
      src/gos/gos_options.h

2
src/gfx.c

@ -79,7 +79,7 @@ extern void _gosDeinit(void);
extern void _gtransDeinit(void);
#endif
#if GFX_OS_CALL_UGFXMAIN
extern threadreturn_t uGFXMain(void *param);
extern void uGFXMain(void);
#endif
void gfxInit(void)

9
src/gos/gos_freertos.c

@ -38,14 +38,19 @@ void _gosInit(void)
}
#if !GFX_OS_NO_INIT && GFX_OS_CALL_UGFXMAIN
extern threadreturn_t uGFXMain(void *param);
extern void uGFXMain(void);
static DECLARE_THREAD_FUNCTION(startUGFX_FreeRTOS, p) {
(void) p;
uGFXMain();
}
#endif
void _gosPostInit(void)
{
#if !GFX_OS_NO_INIT && GFX_OS_CALL_UGFXMAIN
if (xTaskGetSchedulerState() == taskSCHEDULER_NOT_STARTED) {
gfxThreadCreate(0, GFX_OS_UGFXMAIN_STACKSIZE, NORMAL_PRIORITY, uGFXMain, 0);
gfxThreadCreate(0, GFX_OS_UGFXMAIN_STACKSIZE, NORMAL_PRIORITY, startUGFX_FreeRTOS, 0);
vTaskStartScheduler();
gfxHalt("Unable to start FreeRTOS scheduler. Out of memory?");
}

3
src/gos/gos_options.h

@ -189,8 +189,7 @@
* operating systems whose main thread never returns after starting the
* scheduler.<br>
* Its prototype is:<br>
* threadreturn_t uGFXMain(void *param);<br>
* @note uGFXMain() will always be called with a NULL paramter.
* void uGFXMain(void);<br>
*/
#ifndef GFX_OS_CALL_UGFXMAIN
#define GFX_OS_CALL_UGFXMAIN FALSE

Loading…
Cancel
Save