63 #ifndef NOSCFG_FEATURE_REGISTRY 64 #define NOSCFG_FEATURE_REGISTRY 0 67 #ifndef NOSCFG_FEATURE_USE_STDARG 68 #define NOSCFG_FEATURE_USE_STDARG 0 71 #if POSCFG_TASKSTACKTYPE==0 72 #define NOS_NEEDTASKEXITHOOK 74 #if NOSCFG_FEATURE_REGISTRY!=0 75 #define NOS_NEEDTASKEXITHOOK 79 #ifdef NOS_NEEDTASKEXITHOOK 82 #ifdef POSCFG_TASKEXIT_HOOK 83 #undef POSCFG_TASKEXIT_HOOK 85 #define POSCFG_TASKEXIT_HOOK 1 88 #define NOS_TASKDATA void *nosstkroot; 103 #ifndef NOSCFG_FEATURE_MEMALLOC 104 #error NOSCFG_FEATURE_MEMALLOC not defined 106 #ifndef NOSCFG_FEATURE_CONIN 107 #error NOSCFG_FEATURE_CONIN not defined 109 #ifndef NOSCFG_FEATURE_CONOUT 110 #error NOSCFG_FEATURE_CONOUT not defined 112 #ifndef NOSCFG_CONOUT_HANDSHAKE 113 #error NOSCFG_CONOUT_HANDSHAKE not defined 115 #ifndef NOSCFG_CONOUT_FIFOSIZE 116 #error NOSCFG_CONOUT_FIFOSIZE not defined 118 #ifndef NOSCFG_FEATURE_PRINTF 119 #error NOSCFG_FEATURE_PRINTF not defined 121 #ifndef NOSCFG_FEATURE_SPRINTF 122 #error NOSCFG_FEATURE_SPRINTF not defined 124 #ifndef NOSCFG_FEATURE_TASKCREATE 125 #error NOSCFG_FEATURE_TASKCREATE not defined 127 #ifndef NOSCFG_DEFAULT_STACKSIZE 128 #error NOSCFG_DEFAULT_STACKSIZE not defined in the port configuration file 130 #ifndef NOSCFG_STACK_GROWS_UP 131 #error NOSCFG_STACK_GROWS_UP not defined in the port configuration file 133 #ifndef NOSCFG_MEM_MANAGE_MODE 134 #error NOSCFG_MEM_MANAGE_MODE not defined 136 #ifndef NOSCFG_FEATURE_MEMSET 137 #error NOSCFG_FEATURE_MEMSET not defined 139 #ifndef NOSCFG_FEATURE_MEMCOPY 140 #error NOSCFG_FEATURE_MEMCOPY not defined 142 #ifndef NOSCFG_STKMEM_RESERVE 143 #error NOSCFG_STKMEM_RESERVE not defined 145 #if NOSCFG_MEM_MANAGER_TYPE == 2 146 #ifndef NOSCFG_MEM_USER_MALLOC 147 #error NOSCFG_MEM_USER_MALLOC not defined 149 #ifndef NOSCFG_MEM_USER_REALLOC 150 #error NOSCFG_MEM_USER_REALLOC not defined 152 #ifndef NOSCFG_MEM_USER_FREE 153 #error NOSCFG_MEM_USER_FREE not defined 156 #ifndef NOSCFG_FEATURE_BOTTOMHALF 157 #error NOSCFG_FEATURE_BOTTOMHALF not defined 159 #if NOSCFG_FEATURE_BOTTOMHALF != 0 160 #ifndef NOS_MAX_BOTTOMHALFS 161 #error NOS_MAX_BOTTOMHALFS not defined 163 #if (NOS_MAX_BOTTOMHALFS == 0) || (NOS_MAX_BOTTOMHALFS > MVAR_BITS) 164 #error NOS_MAX_BOTTOMHALFS must be in the range 1 .. MVAR_BITS 167 #ifndef NOSCFG_FEATURE_CPUUSAGE 168 #error NOSCFG_FEATURE_CPUUSAGE not defined 171 #if NOSCFG_FEATURE_REGISTRY 172 #ifndef NOSCFG_FEATURE_REGQUERY 173 #error NOSCFG_FEATURE_REGQUERY 175 #ifndef NOSCFG_FEATURE_USERREG 176 #error NOSCFG_FEATURE_USERREG 178 #ifndef NOS_MAX_REGKEYLEN 179 #error NOS_MAX_REGKEYLEN 181 #if NOS_MAX_REGKEYLEN < 4 182 #error NOS_MAX_REGKEYLEN must be at least 4 184 #ifndef NOS_REGKEY_PREALLOC 185 #error NOS_REGKEY_PREALLOC 188 #ifdef NOSCFG_FEATURE_USERREG 189 #undef NOSCFG_FEATURE_USERREG 191 #define NOSCFG_FEATURE_USERREG 0 192 #ifdef NOSCFG_FEATURE_REGQUERY 193 #undef NOSCFG_FEATURE_REGQUERY 195 #define NOSCFG_FEATURE_REGQUERY 0 198 #ifndef NOSCFG_FEATURE_SEMAPHORES 199 #define NOSCFG_FEATURE_SEMAPHORES 0 202 #if NOSCFG_FEATURE_SEMAPHORES != 0 && POSCFG_FEATURE_SEMAPHORES == 0 203 #error NOSCFG_FEATURE_SEMAPHORES enabled, but pico]OS semaphores disabled 206 #ifndef NOSCFG_FEATURE_MUTEXES 207 #define NOSCFG_FEATURE_MUTEXES 0 209 #if NOSCFG_FEATURE_MUTEXES != 0 && POSCFG_FEATURE_MUTEXES == 0 210 #error NOSCFG_FEATURE_MUTEXES enabled, but pico]OS mutexes disabled 213 #ifndef NOSCFG_FEATURE_MSGBOXES 214 #define NOSCFG_FEATURE_MSGBOXES 0 216 #if NOSCFG_FEATURE_MSGBOXES != 0 && POSCFG_FEATURE_MSGBOXES == 0 217 #error NOSCFG_FEATURE_MSGBOXES enabled, but pico]OS message boxes disabled 220 #ifndef NOSCFG_FEATURE_FLAGS 221 #define NOSCFG_FEATURE_FLAGS 0 223 #if NOSCFG_FEATURE_FLAGS != 0 && POSCFG_FEATURE_FLAGS == 0 224 #error NOSCFG_FEATURE_FLAGS enabled, but pico]OS flag functions disabled 227 #ifndef NOSCFG_FEATURE_TIMER 228 #define NOSCFG_FEATURE_TIMER 0 230 #if NOSCFG_FEATURE_TIMER != 0 && POSCFG_FEATURE_TIMER == 0 231 #error NOSCFG_FEATURE_TIMER enabled, but pico]OS timer functions disabled 234 #ifndef NOSCFG_MEM_OVWR_STANDARD 235 #define NOSCFG_MEM_OVWR_STANDARD 1 237 #ifndef NOSCFG_FEATURE_REALLOC 238 #define NOSCFG_FEATURE_REALLOC 0 247 #if DOX!=0 || NOSCFG_FEATURE_BOTTOMHALF != 0 279 #define NANOEXT extern 282 #if DOX!=0 || NOSCFG_FEATURE_MEMALLOC != 0 310 #if DOX!=0 || NOSCFG_FEATURE_REALLOC != 0 332 #if NOSCFG_MEM_OVWR_STANDARD != 0 342 #define malloc nosMemAlloc 343 #define calloc (not_supported) 344 #define free nosMemFree 348 #if NOSCFG_MEM_MANAGER_TYPE == 0 349 #define NOS_MEM_ALLOC(x) malloc((size_t)(x)) 350 #define NOS_MEM_REALLOC(p,x) realloc(p, (size_t)(x)) 351 #define NOS_MEM_FREE(x) free(x) 352 #elif NOSCFG_MEM_MANAGER_TYPE == 1 353 void* nos_malloc(
UINT_t size);
354 void* nos_realloc(
void* ptr,
UINT_t size);
355 void nos_free(
void *mp);
356 #define NOS_MEM_ALLOC(x) nos_malloc(x) 357 #define NOS_MEM_REALLOC(p,x) nos_realloc(p, x) 358 #define NOS_MEM_FREE(x) nos_free(x) 359 #elif NOSCFG_MEM_MANAGER_TYPE == 2 360 #define NOS_MEM_ALLOC(x) NOSCFG_MEM_USER_MALLOC(x) 361 #define NOS_MEM_REALLOC(p,x) NOSCFG_MEM_USER_REALLOC(p,x) 362 #define NOS_MEM_FREE(x) NOSCFG_MEM_USER_FREE(x) 368 #if DOX!=0 || NOSCFG_FEATURE_MEMSET != 0 383 #if NOSCFG_MEM_OVWR_STANDARD != 0 387 #define memset nosMemSet 392 #if DOX!=0 || NOSCFG_FEATURE_MEMCOPY != 0 407 #if NOSCFG_MEM_OVWR_STANDARD != 0 411 #define memcpy nosMemCopy 447 #define NANOEXT extern 450 #if DOX!=0 || NOSCFG_FEATURE_CONIN != 0 490 #if DOX!=0 || NOSCFG_FEATURE_CONOUT != 0 516 #if DOX!=0 || NOSCFG_CONOUT_HANDSHAKE != 0 542 #if DOX!=0 || NOSCFG_FEATURE_CONOUT != 0 563 NANOEXT
void POSCALL
nosPrint(
const char *s);
567 #if NOSCFG_FEATURE_CONOUT == 0 568 #if NOSCFG_FEATURE_PRINTF != 0 569 #undef NOSCFG_FEATURE_PRINTF 570 #define NOSCFG_FEATURE_PRINTF 0 574 #if (NOSCFG_FEATURE_PRINTF != 0 || NOSCFG_FEATURE_SPRINTF != 0) 575 #if NOSCFG_FEATURE_USE_STDARG == 0 576 typedef void* NOSARG_t;
583 #if DOX!=0 || ((NOSCFG_FEATURE_CONOUT != 0)&&(NOSCFG_FEATURE_PRINTF != 0)) 585 #if NOSCFG_FEATURE_USE_STDARG == 0 586 NANOEXT
void POSCALL n_printFormattedN(
const char *fmt, NOSARG_t args);
588 NANOEXT
void POSCALL n_printFormattedN(
const char *fmt, va_list args);
589 NANOEXT
void POSCALL n_printFormatted(
const char *fmt, ...);
609 NANOEXT
void POSCALL
nosPrintf1(
const char *fmt, arg a1);
612 #if NOSCFG_FEATURE_USE_STDARG == 0 613 #define nosPrintf1(fmt, a1) \ 615 NOSARG_t args[1]; args[0] = (NOSARG_t)(a1); \ 616 n_printFormattedN(fmt, args); \ 619 #define nosPrintf2(fmt, a1, a2) \ 621 NOSARG_t args[2]; args[0] = (NOSARG_t)(a1); \ 622 args[1] = (NOSARG_t)(a2); \ 623 n_printFormattedN(fmt, args); \ 626 #define nosPrintf3(fmt, a1, a2, a3) \ 628 NOSARG_t args[3]; args[0] = (NOSARG_t)(a1); \ 629 args[1] = (NOSARG_t)(a2); args[2] = (NOSARG_t)(a3); \ 630 n_printFormattedN(fmt, args); \ 633 #define nosPrintf4(fmt, a1, a2, a3, a4) \ 636 args[0] = (NOSARG_t)(a1); args[1] = (NOSARG_t)(a2); \ 637 args[2] = (NOSARG_t)(a3); args[3] = (NOSARG_t)(a4); \ 638 n_printFormattedN(fmt, args); \ 641 #define nosPrintf5(fmt, a1, a2, a3, a4, a5) \ 643 NOSARG_t args[5]; args[0] = (NOSARG_t)(a1); \ 644 args[1] = (NOSARG_t)(a2); args[2] = (NOSARG_t)(a3); \ 645 args[3] = (NOSARG_t)(a4); args[4] = (NOSARG_t)(a5); \ 646 n_printFormattedN(fmt, args); \ 649 #define nosPrintf6(fmt, a1, a2, a3, a4, a5, a6) \ 652 args[0] = (NOSARG_t)(a1); args[1] = (NOSARG_t)(a2); \ 653 args[2] = (NOSARG_t)(a3); args[3] = (NOSARG_t)(a4); \ 654 args[4] = (NOSARG_t)(a5); args[5] = (NOSARG_t)(a6); \ 655 n_printFormattedN(fmt, args); \ 659 #define nosPrintf n_printFormatted 660 #define nosPrintf1(fmt, a1) n_printFormatted(fmt, a1) 661 #define nosPrintf2(fmt, a1, a2) n_printFormatted(fmt, a1, a2) 662 #define nosPrintf3(fmt, a1, a2, a3) n_printFormatted(fmt, a1, a2, a3) 663 #define nosPrintf4(fmt, a1, a2, a3, a4) n_printFormatted(fmt, a1, a2, a3, a4) 664 #define nosPrintf5(fmt, a1, a2, a3, a4, a5) n_printFormatted(fmt, a1, a2, a3, a4, a5) 665 #define nosPrintf6(fmt, a1, a2, a3, a4, a5, a6) n_printFormatted(fmt, a1, a2, a3, a4, a5, a6) 672 #if DOX!=0 || NOSCFG_FEATURE_SPRINTF != 0 690 NANOEXT
void POSCALL
nosSPrintf1(
char *buf,
const char *fmt, arg a1);
694 #if NOSCFG_FEATURE_USE_STDARG == 0 695 NANOEXT
void POSCALL n_sprintFormattedN(
char *buf,
const char *fmt,
698 NANOEXT
void POSCALL n_sprintFormattedN(
char *buf,
const char *fmt, va_list args);
699 NANOEXT
void POSCALL n_sprintFormatted(
char *buf,
const char *fmt, ...);
702 #if NOSCFG_FEATURE_USE_STDARG == 0 703 #define nosSPrintf1(buf, fmt, a1) \ 705 NOSARG_t args[1]; args[0] = (NOSARG_t)(a1); \ 706 n_sprintFormattedN(buf, fmt, args); \ 709 #define nosSPrintf2(buf, fmt, a1, a2) \ 711 NOSARG_t args[2]; args[0] = (NOSARG_t)(a1); \ 712 args[1] = (NOSARG_t)(a2); \ 713 n_sprintFormattedN(buf, fmt, args); \ 716 #define nosSPrintf3(buf, fmt, a1, a2, a3) \ 718 NOSARG_t args[3]; args[0] = (NOSARG_t)(a1); \ 719 args[1] = (NOSARG_t)(a2); args[2] = (NOSARG_t)(a3); \ 720 n_sprintFormattedN(buf, fmt, args); \ 723 #define nosSPrintf4(buf, fmt, a1, a2, a3, a4) \ 726 args[0] = (NOSARG_t)(a1); args[1] = (NOSARG_t)(a2); \ 727 args[2] = (NOSARG_t)(a3); args[3] = (NOSARG_t)(a4); \ 728 n_sprintFormattedN(buf, fmt, args); \ 731 #define nosSPrintf5(buf, fmt, a1, a2, a3, a4, a5) \ 733 NOSARG_t args[5]; args[0] = (NOSARG_t)(a1); \ 734 args[1] = (NOSARG_t)(a2); args[2] = (NOSARG_t)(a3); \ 735 args[3] = (NOSARG_t)(a4); args[4] = (NOSARG_t)(a5); \ 736 n_sprintFormattedN(buf, fmt, args); \ 739 #define nosSPrintf6(buf, fmt, a1, a2, a3, a4, a5, a6) \ 742 args[0] = (NOSARG_t)(a1); args[1] = (NOSARG_t)(a2); \ 743 args[2] = (NOSARG_t)(a3); args[3] = (NOSARG_t)(a4); \ 744 args[4] = (NOSARG_t)(a5); args[5] = (NOSARG_t)(a6); \ 745 n_sprintFormattedN(buf, fmt, args); \ 750 #define nosSPrintf n_sprintFormatted 751 #define nosSPrintf1(buf, fmt, a1) n_sprintFormatted(buf, fmt, a1) 752 #define nosSPrintf2(buf, fmt, a1, a2) n_sprintFormatted(buf, fmt, a1, a2) 753 #define nosSPrintf3(buf, fmt, a1, a2, a3) n_sprintFormatted(buf, fmt, a1, a2, a3) 754 #define nosSPrintf4(buf, fmt, a1, a2, a3, a4) n_sprintFormatted(buf, fmt, a1, a2, a3, a4) 755 #define nosSPrintf5(buf, fmt, a1, a2, a3, a4, a5) n_sprintFormatted(buf, fmt, a1, a2, a3, a4, a5) 756 #define nosSPrintf6(buf, fmt, a1, a2, a3, a4, a5, a6) n_sprintFormatted(buf, fmt, a1, a2, a3, a4, a5, a6) 791 #define NANOEXT extern 794 #if DOX!=0 || NOSCFG_FEATURE_BOTTOMHALF != 0 826 #define nosBottomHalfUnregister(number) \ 827 nosBottomHalfRegister(number, NULL, NULL) 876 #define NANOEXT extern 879 #if DOX!=0 || NOSCFG_FEATURE_REGISTRY != 0 898 #if DOX!=0 || NOSCFG_FEATURE_SEMAPHORES != 0 901 #if DOX!=0 || NOSCFG_FEATURE_MUTEXES != 0 904 #if DOX!=0 || NOSCFG_FEATURE_FLAGS != 0 907 #if DOX!=0 || NOSCFG_FEATURE_TIMER != 0 910 #if DOX!=0 || NOSCFG_FEATURE_USERREG != 0 916 #define MIN_REGTYPE REGTYPE_TASK 917 #define MAX_REGTYPE (REGTYPE_SEARCHALL-1) 959 char *buffer,
VAR_t bufsize,
962 #if DOX!=0 || NOSCFG_FEATURE_USERREG != 0 980 NANOEXT
VAR_t POSCALL
nosRegSet(
const char *keyname, KEYVALUE_t keyvalue);
995 NANOEXT
VAR_t POSCALL
nosRegGet(
const char *keyname, KEYVALUE_t *keyvalue);
1008 #if DOX!=0 || NOSCFG_FEATURE_REGQUERY != 0 1052 char* namebuf,
VAR_t bufsize);
1077 #if (DOX!=0) || (NOSCFG_FEATURE_CPUUSAGE != 0) 1105 #define NANOEXT extern 1128 #if (DOX!=0) || (NOSCFG_FEATURE_TASKCREATE != 0) 1159 #if (DOX!=0) || (POSCFG_FEATURE_YIELD != 0) 1173 #define nosTaskYield() posTaskYield() 1177 #if (DOX!=0) || (POSCFG_FEATURE_SLEEP != 0) 1197 #define nosTaskSleep(ticks) posTaskSleep(ticks) 1201 #if (DOX!=0) || (POSCFG_FEATURE_EXIT != 0) 1214 #define nosTaskExit() posTaskExit() 1218 #if (DOX!=0) || (POSCFG_FEATURE_GETTASK != 0) 1232 #define nosTaskGetCurrent() (NOSTASK_t)posTaskGetCurrent() 1236 #if (DOX!=0) || (POSCFG_FEATURE_TASKUNUSED != 0) 1255 #define nosTaskUnused(th) posTaskUnused((POSTASK_t)(th)) 1259 #if (DOX!=0) || (POSCFG_FEATURE_SETPRIORITY != 0) 1279 #define nosTaskSetPriority(th, prio) posTaskSetPriority((POSTASK_t)(th),prio) 1283 #if (DOX!=0) || (POSCFG_FEATURE_GETPRIORITY != 0) 1298 #define nosTaskGetPriority(th) posTaskGetPriority((POSTASK_t)(th)) 1302 #if (DOX!=0) || (POSCFG_FEATURE_INHIBITSCHED != 0) 1319 #define nosTaskSchedLock() posTaskSchedLock() 1336 #define nosTaskSchedUnlock() posTaskSchedUnlock() 1340 #if (DOX!=0) || (POSCFG_TASKCB_USERSPACE > 0) 1354 #define nosTaskGetUserspace() posTaskGetUserspace() 1358 #if (DOX!=0) || (POSCFG_FEATURE_IDLETASKHOOK != 0) 1384 #define nosInstallIdleTaskHook(ifunc) posInstallIdleTaskHook(ifunc) 1397 #if DOX!=0 || NOSCFG_FEATURE_SEMAPHORES != 0 1426 #if DOX!=0 || NOSCFG_FEATURE_REGISTRY != 0 1430 #define nosSemaCreate(i, o, n) (NOSSEMA_t) posSemaCreate(i); 1433 #if DOX!=0 || POSCFG_FEATURE_SEMADESTROY != 0 1446 #if DOX!=0 || NOSCFG_FEATURE_REGISTRY != 0 1449 #define nosSemaDestroy(sema) posSemaDestroy((POSSEMA_t)(sema)) 1469 #define nosSemaSignal(sem) posSemaSignal((POSSEMA_t)(sem)) 1489 #define nosSemaGet(sem) posSemaGet((POSSEMA_t)(sem)) 1517 #if POSCFG_FEATURE_SEMAWAIT 1518 #define nosSemaWait(sem, to) posSemaWait((POSSEMA_t)(sem), to) 1531 #if DOX!=0 || NOSCFG_FEATURE_MUTEXES != 0 1557 #if DOX!=0 || NOSCFG_FEATURE_REGISTRY != 0 1560 #define nosMutexCreate(opt, name) (NOSMUTEX_t) posMutexCreate() 1563 #if DOX!=0 || POSCFG_FEATURE_MUTEXDESTROY != 0 1576 #if DOX!=0 || NOSCFG_FEATURE_REGISTRY != 0 1579 #define nosMutexDestroy(mutex) posMutexDestroy((POSMUTEX_t)(mutex)) 1583 #if DOX!=0 || POSCFG_FEATURE_MUTEXTRYLOCK != 0 1604 #define nosMutexTryLock(mutex) posMutexTryLock((POSMUTEX_t)(mutex)) 1625 #define nosMutexLock(mutex) posMutexLock((POSMUTEX_t)(mutex)) 1643 #define nosMutexUnlock(mutex) posMutexUnlock((POSMUTEX_t)(mutex)) 1657 #if DOX!=0 || NOSCFG_FEATURE_MSGBOXES != 0 1724 #define nosMessageGet() posMessageGet() 1727 #if DOX!=0 || POSCFG_FEATURE_MSGWAIT != 0 1755 #define nosMessageWait(to) posMessageWait(to) 1776 #define nosMessageAvailable() posMessageAvailable() 1789 #if DOX!=0 || NOSCFG_FEATURE_FLAGS != 0 1818 #if DOX!=0 || NOSCFG_FEATURE_REGISTRY != 0 1821 #define nosFlagCreate(name) (NOSFLAG_t) posFlagCreate() 1824 #if DOX!=0 || POSCFG_FEATURE_FLAGDESTROY != 0 1837 #if (DOX!=0) || (NOSCFG_FEATURE_REGISTRY != 0) 1840 #define nosFlagDestroy(flg) posFlagDestroy((POSFLAG_t)(flg)) 1861 #define nosFlagSet(flg, num) posFlagSet((POSFLAG_t)(flg), num) 1883 #define nosFlagGet(flg, mode) posFlagGet((POSFLAG_t)(flg), mode) 1886 #if DOX!=0 || POSCFG_FEATURE_FLAGWAIT != 0 1911 #define nosFlagWait(flg, to) posFlagWait((POSFLAG_t)(flg), to) 1915 #define NOSFLAG_MODE_GETSINGLE POSFLAG_MODE_GETSINGLE 1916 #define NOSFLAG_MODE_GETMASK POSFLAG_MODE_GETMASK 1932 #if DOX!=0 || NOSCFG_FEATURE_TIMER != 0 1959 #if DOX!=0 || NOSCFG_FEATURE_REGISTRY != 0 1962 #define nosTimerCreate(name) (NOSTIMER_t) posTimerCreate() 1988 #define nosTimerSet(t, s, w, p) \ 1989 posTimerSet((POSTIMER_t)(t), (POSSEMA_t)(s), w, p) 2008 #define nosTimerStart(tmr) posTimerStart((POSTIMER_t)(tmr)) 2026 #define nosTimerStop(tmr) posTimerStop((POSTIMER_t)(tmr)) 2029 #if DOX!=0 || POSCFG_FEATURE_TIMERDESTROY != 0 2042 #if DOX!=0 || NOSCFG_FEATURE_REGISTRY != 0 2045 #define nosTimerDestroy(tmr) posTimerDestroy((POSTIMER_t)(tmr)) 2049 #if DOX!=0 || POSCFG_FEATURE_TIMERFIRED != 0 2067 #define nosTimerFired(tmr) posTimerFired((POSTIMER_t)(tmr)) 2091 #define NANOEXT extern 2115 void *funcarg,
VAR_t priority,
2120 #define posInit _Please_use_nosInit_instead_of_posInit_ void(* POSIDLEFUNC_t)(void)
Idle task function pointer.
Definition: picoos.h:849
struct POSTIMER * POSTIMER_t
Handle to a timer object.
Definition: picoos.h:885
NANOEXT NOSFLAG_t POSCALL nosFlagCreate(const char *name)
NANOEXT VAR_t POSCALL nosMutexUnlock(NOSMUTEX_t mutex)
NANOEXT VAR_t POSCALL nosFlagWait(NOSFLAG_t flg, UINT_t timeoutticks)
pico]OS main include file
NANOEXT void POSCALL nosRegQueryEnd(NOSREGQHANDLE_t qh)
POSMUTEX_t NOSMUTEX_t
Definition: pos_nano.h:1534
POSSEMA_t NOSSEMA_t
Definition: pos_nano.h:1400
POSTASK_t NOSTASK_t
Definition: pos_nano.h:1125
NANOEXT void POSCALL nosBottomHalfStart(UVAR_t number)
Definition: pos_nano.h:899
NANOEXT VAR_t POSCALL nosTaskUnused(NOSTASK_t taskhandle)
NANOEXT NOSGENERICHANDLE_t POSCALL nosGetHandleByName(NOSREGTYPE_t objtype, const char *objname)
NANOEXT void *POSCALL nosMessageAlloc(UINT_t msgSize)
NANOEXT void POSCALL nosMemCopy(void *dst, void *src, UINT_t count)
NANOEXT void POSCALL nosPrint(const char *s)
const char * name
Name of this task (ASCII string)
Definition: picoos.h:3157
NANOEXT VAR_t POSCALL nosTimerFired(NOSTIMER_t tmr)
NANOEXT char POSCALL nosKeyGet(void)
NANOEXT NOSTASK_t POSCALL nosTaskCreate(POSTASKFUNC_t funcptr, void *funcarg, VAR_t priority, UINT_t stacksize, const char *name)
POSFLAG_t NOSFLAG_t
Definition: pos_nano.h:1792
Definition: pos_nano.h:905
Definition: pos_nano.h:913
NANOEXT NOSSEMA_t POSCALL nosSemaCreate(INT_t initcount, UVAR_t options, const char *name)
NANOEXT VAR_t POSCALL nosFlagSet(NOSFLAG_t flg, UVAR_t flgnum)
Definition: pos_nano.h:902
NANOEXT void POSCALL nosTaskSleep(UINT_t ticks)
NANOEXT VAR_t POSCALL nosRegDel(const char *keyname)
NANOEXT VAR_t POSCALL nosSemaGet(NOSSEMA_t sema)
pico]OS nano layer configuration file
pico]OS configuration file
NANOEXT void POSCALL c_nos_putcharReady(void)
NANOEXT void POSCALL nosTaskYield(void)
struct POSMUTEX * POSMUTEX_t
Handle to a mutex object.
Definition: picoos.h:875
NANOEXT VAR_t POSCALL nosTimerStop(NOSTIMER_t tmr)
NANOEXT VAR_t POSCALL nosGetNameByHandle(NOSGENERICHANDLE_t handle, char *buffer, VAR_t bufsize, NOSREGTYPE_t what)
Definition: pos_nano.h:911
NANOEXT VAR_t POSCALL nosMessageSend(void *buf, NOSTASK_t taskhandle)
struct POSFLAG * POSFLAG_t
Handle to a flag object.
Definition: picoos.h:880
POSIDLEFUNC_t NOSIDLEFUNC_t
Definition: pos_nano.h:1360
void * NOSREGQHANDLE_t
Definition: pos_nano.h:886
void(* POSTASKFUNC_t)(void *arg)
Generic function pointer.
Definition: picoos.h:837
NANOEXT void *POSCALL nosMemAlloc(UINT_t size)
void * NOSGENERICHANDLE_t
Definition: pos_nano.h:882
NANOEXT VAR_t POSCALL nosMutexLock(NOSMUTEX_t mutex)
NANOEXT UVAR_t POSCALL p_putchar(char c)
NANOEXT VAR_t POSCALL nosFlagGet(NOSFLAG_t flg, UVAR_t mode)
unsigned MINT_t UINT_t
Unsigned integer.
Definition: picoos.h:802
NANOEXT void POSCALL nosMemSet(void *buf, char val, UINT_t count)
UVAR_t POSCALL nosCpuUsage(void)
NANOEXT void POSCALL nosMemFree(void *p)
NANOEXT NOSIDLEFUNC_t POSCALL nosInstallIdleTaskHook(NOSIDLEFUNC_t idlefunc)
NANOEXT void *POSCALL nosMessageWait(UINT_t timeoutticks)
NANOEXT void POSCALL nosSemaDestroy(NOSSEMA_t sema)
NANOEXT void POSCALL nosFlagDestroy(NOSFLAG_t flg)
NANOEXT VAR_t POSCALL nosTimerStart(NOSTIMER_t tmr)
NANOEXT VAR_t POSCALL nosTimerSet(NOSTIMER_t tmr, NOSSEMA_t sema, UINT_t waitticks, UINT_t periodticks)
NANOEXT VAR_t POSCALL nosSemaWait(NOSSEMA_t sema, UINT_t timeoutticks)
NANOEXT void POSCALL nosTaskSchedUnlock(void)
NANOEXT void POSCALL * nosMemRealloc(void *memblock, UINT_t size)
signed MVAR_t VAR_t
Signed machine variable type. This variable type is the fastest for the target architecture.
Definition: picoos.h:770
NANOEXT VAR_t POSCALL nosTaskSetPriority(NOSTASK_t taskhandle, VAR_t priority)
POSTASKFUNC_t func
First function that ran in the task context.
Definition: picoos.h:3155
NANOEXT void *POSCALL nosTaskGetUserspace(void)
unsigned MVAR_t UVAR_t
Unsigned machine variable type. This variable type is the fastest for the target architecture.
Definition: picoos.h:777
POSTIMER_t NOSTIMER_t
Definition: pos_nano.h:1935
NANOEXT VAR_t POSCALL nosSemaSignal(NOSSEMA_t sema)
NANOEXT VAR_t POSCALL nosRegGet(const char *keyname, KEYVALUE_t *keyvalue)
NANOEXT NOSTIMER_t POSCALL nosTimerCreate(const char *name)
signed MINT_t INT_t
Signed integer.
Definition: picoos.h:791
NANOEXT void POSCALL nosSPrintf1(char *buf, const char *fmt, arg a1)
NOSREGTYPE_t
Definition: pos_nano.h:896
Definition: pos_nano.h:908
NANOEXT VAR_t POSCALL nosMutexTryLock(NOSMUTEX_t mutex)
NANOEXT VAR_t POSCALL nosBottomHalfRegister(UVAR_t number, NOSBHFUNC_t func, void *arg)
struct POSTASK * POSTASK_t
Task environment structure.
Definition: picoos.h:942
NANOEXT void POSCALL nosTimerDestroy(NOSTIMER_t tmr)
NANOEXT void POSCALL nosMessageFree(void *buf)
NANOEXT void POSCALL nosMutexDestroy(NOSMUTEX_t mutex)
POSTASK_t handle
Handle value of the pico]OS task.
Definition: picoos.h:3153
struct POSSEMA * POSSEMA_t
Handle to a semaphore object.
Definition: picoos.h:870
NANOEXT void POSCALL nosPrintf1(const char *fmt, arg a1)
NANOEXT void *POSCALL nosMessageGet(void)
NANOEXT void POSCALL nosTaskSchedLock(void)
NANOEXT NOSREGQHANDLE_t POSCALL nosRegQueryBegin(NOSREGTYPE_t type)
NANOEXT void POSCALL nosPrintChar(char c)
NANOEXT VAR_t POSCALL nosMessageAvailable(void)
NANOEXT NOSTASK_t POSCALL nosTaskGetCurrent(void)
NANOEXT VAR_t POSCALL nosTaskGetPriority(NOSTASK_t taskhandle)
NANOEXT VAR_t POSCALL nosRegSet(const char *keyname, KEYVALUE_t keyvalue)
void(* NOSBHFUNC_t)(void *arg, UVAR_t bh)
Definition: pos_nano.h:255
NANOEXT UVAR_t POSCALL nosKeyPressed(void)
NANOEXT VAR_t POSCALL nosRegQueryElem(NOSREGQHANDLE_t qh, NOSGENERICHANDLE_t *genh, char *namebuf, VAR_t bufsize)
NANOEXT NOSMUTEX_t POSCALL nosMutexCreate(UVAR_t options, const char *name)
NANOEXT void POSCALL c_nos_keyinput(UVAR_t key)
Definition: pos_nano.h:897
NANOEXT void POSCALL nosTaskExit(void)
NANOEXT void POSCALL nosInit(POSTASKFUNC_t firstfunc, void *funcarg, VAR_t priority, UINT_t taskStackSize, UINT_t idleStackSize)