Fixing yield + yielding correctly to prevent watchdog issues on ESP32-C3.
This commit is contained in:
@ -31,7 +31,7 @@ typedef uintptr_t ucell_t;
|
|||||||
#define DOIMMEDIATE() (*g_sys.current)[-1] |= IMMEDIATE
|
#define DOIMMEDIATE() (*g_sys.current)[-1] |= IMMEDIATE
|
||||||
#define UNSMUDGE() (*g_sys.current)[-1] &= ~SMUDGE
|
#define UNSMUDGE() (*g_sys.current)[-1] &= ~SMUDGE
|
||||||
#define DOES(ip) **g_sys.current = (cell_t) ADDR_DODOES; (*g_sys.current)[1] = (cell_t) ip
|
#define DOES(ip) **g_sys.current = (cell_t) ADDR_DODOES; (*g_sys.current)[1] = (cell_t) ip
|
||||||
#define PARK DUP; *++rp = (cell_t) sp; *++rp = (cell_t) ip
|
#define PARK DUP; *++rp = (cell_t) fp; *++rp = (cell_t) sp; *++rp = (cell_t) ip
|
||||||
|
|
||||||
#ifndef SSMOD_FUNC
|
#ifndef SSMOD_FUNC
|
||||||
# if __SIZEOF_POINTER__ == 8
|
# if __SIZEOF_POINTER__ == 8
|
||||||
|
|||||||
@ -15,7 +15,8 @@
|
|||||||
( Add a yielding task so pause yields )
|
( Add a yielding task so pause yields )
|
||||||
internals definitions
|
internals definitions
|
||||||
transfer{ yield raw-yield }transfer
|
transfer{ yield raw-yield }transfer
|
||||||
' raw-yield 100 100 task yield-task
|
: yield-step raw-yield yield ;
|
||||||
|
' yield-step 100 100 task yield-task
|
||||||
yield-task start-task
|
yield-task start-task
|
||||||
forth definitions
|
forth definitions
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user