pol_flg

Outline

Wait for eventflag (polling).

C format

 ER      pol_flg ( ID flgid, FLGPTN waiptn, MODE wfmode, FLGPTN *p_flgptn );


Assembly format

 MOVW    DE, #LOWW(_p_flgptn)
 MOVW    BC, #waiptn
 MOVW    AX, #(flgid | wfmode)
 CALL    !!_pol_flg


Parameter(s)

I/O

Parameter

Description

I

 ID      flgid;
ID number of the eventflag wait for.

I

 FLGPTN  waiptn;
Wait bit pattern (16 bits).

I

 MODE    wfmode;
Wait mode.

TWF_ANDW: AND waiting condition.

TWF_ORW: OR waiting condition.

O

 FLGPTN  *p_flgptn;
Bit pattern causing a task to be released from waiting.



Explanation

This service call checks whether the bit pattern specified by parameter waiptn and the bit pattern that satisfies the required condition specified by parameter wfmode are set to the eventflag specified by parameter flgid.

If the bit pattern that satisfies the required condition has been set to the target eventflag, the bit pattern of the target eventflag is stored in the area specified by parameter p_flgptn.

If the bit pattern of the target eventflag does not satisfy the required condition when this service call is issued, "E_TMOUT" is returned.

The following shows the specification format of required condition wfmode.

- wfmode = TWF_ANDW
Checks whether all of the bits to which 1 is set by parameter waiptn are set as the target eventflag.


- wfmode = TWF_ORW
Checks which bit, among bits to which 1 is set by parameter waiptn, is set as the target eventflag.


Note 1 In the RI78V4, the number of tasks that can be queued to the eventflag wait queue is one. If this service call is issued for the eventflag to which a task is queued, therefore, "E_ILUSE" is returned regardless of whether or not the required condition is immediately satisfied.

Note 2 The RI78V4 performs bit pattern clear processing (0x0 setting) when the required condition of the target eventflag (TA_CLR attribute) is satisfied.

Note 3 In the RI78V4, the number of tasks that can be queued to the eventflag wait queue is one. If this service call is issued for the eventflag to which a task is queued, therefore, "E_ILUSE" is returned regardless of whether or not the required condition is immediately satisfied.

Note 4 The RI78V4 performs bit pattern clear processing (0x0 setting) when the required condition of the target eventflag (TA_CLR attribute) is satisfied.

Return value

Macro

Value

Description

E_OK

0

Normal completion.

E_ILUSE

-28

Illegal service call use (there is already a task waiting for an eventflag with the TA_WSGL attribute).

E_TMOUT

-50

Polling failure.