µGFX
2.9
version 2.9
gos_zephyr.h
Go to the documentation of this file.
1
/*
2
* This file is subject to the terms of the GFX License. If a copy of
3
* the license was not distributed with this file, you can obtain one at:
4
*
5
* http://ugfx.io/license.html
6
*/
7
8
/**
9
* @file src/gos/gos_zephyr.h
10
* @brief GOS - Operating System Support header file for Zephyr RTOS.
11
* Zephyr SDK 0.9.1
12
*/
13
14
#ifndef _GOS_ZEPHYR_H
15
#define _GOS_ZEPHYR_H
16
17
#if GFX_USE_OS_ZEPHYR
18
19
#include <zephyr.h>
20
21
/*===========================================================================*/
22
/* Type definitions */
23
/*===========================================================================*/
24
25
typedef
s32_t gDelay;
26
typedef
u32_t gTicks;
27
typedef
u32_t gSemcount;
28
typedef
void
gThreadreturn;
29
typedef
int
gThreadpriority;
30
31
#define GFX_THREAD_FUNCTION(fnName, param) gThreadreturn fnName(void* param, void* p2, void* p3)
32
33
#define GFX_THREAD_STACK(name, sz) K_THREAD_STACK_DEFINE(name, sz)
34
35
#define gfxThreadReturn(retval) return
36
37
#define gDelayNone K_NO_WAIT
38
#define gDelayForever K_FOREVER
39
#define gSemMaxCount ((gSemcount)(((unsigned long)((gSemcount)(-1))) >> 1))
40
#define gThreadpriorityLow CONFIG_NUM_PREEMPT_PRIORITIES-1
41
#define gThreadpriorityNormal 1
42
#define gThreadpriorityHigh 0
43
44
typedef
struct
k_sem
gSem
;
45
46
typedef
struct
k_mutex
gMutex
;
47
48
typedef
k_tid_t
gThread
;
49
50
/*===========================================================================*/
51
/* Function declarations. */
52
/*===========================================================================*/
53
54
#define gfxHalt(msg) do{}while(0)
55
#define gfxExit() do{}while(0)
56
57
// Don't forget to set CONFIG_HEAP_MEM_POOL_SIZE
58
#define gfxAlloc(sz) k_malloc(sz)
59
#define gfxFree(ptr) k_free(ptr)
60
#define gfxRealloc(ptr, oldsz, newsz) do{}while(0)
61
62
#define gfxYield() k_yield()
63
#define gfxSleepMilliseconds(ms) k_sleep(ms)
64
#define gfxSleepMicroseconds(us) do{}while(0)
65
#define gfxMillisecondsToTicks(ms) CONFIG_SYS_CLOCK_TICKS_PER_SEC*ms/1000
66
gTicks
gfxSystemTicks
();
67
68
#define gfxSystemLock() k_sched_lock()
69
#define gfxSystemUnlock() k_sched_unlock()
70
71
#define gfxMutexInit(pmutex) k_mutex_init(pmutex)
72
#define gfxMutexDestroy(pmutex) do{}while(0)
73
#define gfxMutexEnter(pmutex) k_mutex_lock(pmutex, K_FOREVER)
74
#define gfxMutexExit(pmutex) k_mutex_unlock(pmutex)
75
76
#define gfxSemInit(psem, val, limit) k_sem_init(psem, val, limit)
77
#define gfxSemDestroy(psem) do{}while(0)
78
#define gfxSemWait(psem, ms) (k_sem_take(psem, ms) == 0) ? gTrue : gFalse
79
#define gfxSemWaitI(psem) (k_sem_take(psem, K_NO_WAIT) == 0) ? gTrue : gFalse
80
#define gfxSemSignal(psem) k_sem_give(psem)
81
#define gfxSemSignalI(psem) k_sem_give(psem)
82
#define gfxSemCounter(psem) k_sem_count_get(psem)
83
#define gfxSemCounterI(psem) k_sem_count_get(psem)
84
85
#define gfxThreadCreate(stackarea, stacksz, prio, fn, param)\
86
k_thread_spawn(stackarea, stacksz, fn, param, NULL, NULL, prio, 0, K_NO_WAIT)
87
#define gfxThreadWait(thread) 0
88
#define gfxThreadMe() k_current_get()
89
#define gfxThreadClose(thread) k_thread_abort(thread)
90
91
#endif
/* GFX_USE_OS_ZEPHYR */
92
#endif
/* _GOS_H */
gThread
void * gThread
A thread handle.
Definition:
gos.h:116
gfxSystemTicks
gTicks gfxSystemTicks(void)
Get the current operating system tick time.
gMutex
A mutex.
Definition:
gos.h:110
gSem
A semaphore.
Definition:
gos.h:104
Users
joel
Documents
projects
ugfx
library_v2
src
gos
gos_zephyr.h
Generated on Thu Aug 19 2021 13:46:13 for µGFX by
1.9.1