Everything

tslp_tsk

Outline
Put task to sleep (with timeout).
C format
 ER      tslp_tsk ( TMO tmout );

Assembly format
 MOVW    BC, #tmout_hi
 MOVW    AX, #tmout_lo
 CALL    !!_tslp_tsk

Parameter(s)
I/O
Parameter
Description
I
 TMO     tmout;
Specified timeout (unit: ticks).
TMO_FEVR: Waiting forever.
TMO_POL: Polling.
Value: Specified timeout.

Explanation
This service call moves an invoking task from the RUNNING state to the WAITING state (sleeping state).
As a result, the invoking task is unlinked from the ready queue and excluded from the RI78V4 scheduling subject.
If a wakeup request has been queued to the target task (the wakeup request counter is not set to 0x0) when this service call is issued, this service call does not move the state but decrements the wakeup request counter (by subtracting 0x1 from the wakeup request counter).
The sleeping state is cancelled in the following cases, and then moved to the READY state.
Sleeping State Cancel Operation
Return Value
A wakeup request was issued as a result of issuing wup_tsk.
E_OK
A wakeup request was issued as a result of issuing iwup_tsk.
E_OK
Forced release from waiting (accept rel_wai while waiting).
E_RLWAI
Forced release from waiting (accept irel_wai while waiting).
E_RLWAI
Polling failure or timeout.
E_TMOUT

Note When TMO_FEVR is specified for wait time tmout, processing equivalent to slp_tsk will be executed.
Return value
Macro
Value
Description
E_OK
0
Normal completion.
E_RLWAI
-49
Forced release from waiting (accept rel_wai/irel_wai while waiting).
E_TMOUT
-50
Polling failure or timeout.