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 UNSMUDGE() (*g_sys.current)[-1] &= ~SMUDGE
|
||||
#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
|
||||
# if __SIZEOF_POINTER__ == 8
|
||||
|
||||
@ -15,7 +15,8 @@
|
||||
( Add a yielding task so pause yields )
|
||||
internals definitions
|
||||
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
|
||||
forth definitions
|
||||
|
||||
|
||||
Reference in New Issue
Block a user