diff options
Diffstat (limited to 'src/gos/gos_arduino.h')
-rw-r--r-- | src/gos/gos_arduino.h | 64 |
1 files changed, 10 insertions, 54 deletions
diff --git a/src/gos/gos_arduino.h b/src/gos/gos_arduino.h index fc9e7073..6a18aaec 100644 --- a/src/gos/gos_arduino.h +++ b/src/gos/gos_arduino.h @@ -44,70 +44,26 @@ typedef bool bool_t; typedef uint32_t size_t; #endif -typedef uint32_t delaytime_t; -typedef uint32_t systemticks_t; -typedef short semcount_t; -typedef int threadreturn_t; -typedef int threadpriority_t; - -#define DECLARE_THREAD_FUNCTION(fnName, param) threadreturn_t fnName(void *param) -#define DECLARE_THREAD_STACK(name, sz) uint8_t name[sz]; - -#define TIME_IMMEDIATE 0 -#define TIME_INFINITE ((delaytime_t)-1) -#define MAX_SEMAPHORE_COUNT 0x7FFF -#define LOW_PRIORITY 0 -#define NORMAL_PRIORITY 1 -#define HIGH_PRIORITY 2 - -typedef struct { - semcount_t cnt; - semcount_t limit; -} gfxSem; - -typedef uint32_t gfxMutex; -typedef void * gfxThreadHandle; - -#define gfxThreadClose(thread) -#define gfxMutexDestroy(pmutex) -#define gfxSemDestroy(psem) -#define gfxSemCounter(psem) ((psem)->cnt) -#define gfxSemCounterI(psem) ((psem)->cnt) - -#define gfxSystemTicks() millis() -#define gfxMillisecondsToTicks(ms) (ms) - #ifdef __cplusplus extern "C" { #endif void gfxHalt(const char *msg); void gfxExit(void); - void *gfxAlloc(size_t sz); - void *gfxRealloc(void *ptr, size_t oldsz, size_t newsz); - void gfxFree(void *ptr); - void gfxYield(void); - void gfxSleepMilliseconds(delaytime_t ms); - void gfxSleepMicroseconds(delaytime_t ms); - //systemticks_t gfxSystemTicks(void); - //systemticks_t gfxMillisecondsToTicks(delaytime_t ms); - void gfxSystemLock(void); - void gfxSystemUnlock(void); - void gfxMutexInit(gfxMutex *pmutex); - void gfxMutexEnter(gfxMutex *pmutex); - void gfxMutexExit(gfxMutex *pmutex); - void gfxSemInit(gfxSem *psem, semcount_t val, semcount_t limit); - bool_t gfxSemWait(gfxSem *psem, delaytime_t ms); - bool_t gfxSemWaitI(gfxSem *psem); - void gfxSemSignal(gfxSem *psem); - void gfxSemSignalI(gfxSem *psem); - gfxThreadHandle gfxThreadCreate(void *stackarea, size_t stacksz, threadpriority_t prio, DECLARE_THREAD_FUNCTION((*fn),p), void *param); - threadreturn_t gfxThreadWait(gfxThreadHandle thread); - gfxThreadHandle gfxThreadMe(void); #ifdef __cplusplus } #endif +/*===========================================================================*/ +/* Use the generic thread handling and heap handling */ +/*===========================================================================*/ + +#define GOS_NEED_X_THREADS TRUE +#define GOS_NEED_X_HEAP TRUE + +#include "gos_x_threads.h" +#include "gos_x_heap.h" + #endif /* GFX_USE_OS_ARDUINO */ #endif /* _GOS_ARDUINO_H */ |