fsnd_dtq

ifsnd_dtq

Outline

Forced send to data queue.

C format

 ER      fsnd_dtq ( ID dtqid, VP_INT data );


Assembly format

 MOVW    DE, !LOWW(_data+0x00002)
 MOVW    BC, !LOWW(_data)
 MOV     A,  #dtqid
 CALL    !!_fsnd_dtq
 
 MOVW    DE, !LOWW(_data+0x00002)
 MOVW    BC, !LOWW(_data)
 MOV     A,  #dtqid
 CALL    !!_ifsnd_dtq


Parameter(s)

I/O

Parameter

Description

I

 ID      dtqid;
ID number of the data queue to which the data element is sent.

I

 VP_INT  data;
Data element to be sent to the data queue.



Explanation

These service calls write data specified by parameter data to the data queue area of the data queue specified by parameter dtqid.

If there is no available space for writing data in the data queue area of the target data queue when either of these service calls is issued, the service call overwrites data to the area with the oldest data that was written.

If a task has been queued to the reception wait queue of the target data queue when this service call is issued, this service call does not write data but transfers the data to the task. As a result, the task is unlinked from the reception wait queue and moves from the WAITING state (data reception wait state) to the READY state, or from the WAITING-SUSPENDED state to the SUSPENDED state.

Return value

Macro

Value

Description

E_OK

0

Normal completion.