© 2000 Ubicom, Inc. All rights reserved.
- 19 -
www.ubicom.com
SX IrDA Virtual Peripheral Implementation
AN16
No indication is given when a frame has been sent. The
lmp2appTxValid or lmp2appTxError handlers will
not be called until the remote station responds with an
acknowledge. This poses a problem in that data can be
received before the transmitted data has been acknowl-
edged and so transmitted data may need to be resent
after more data has been received. Normally if the trans-
mitted data is not-acknowledged then the reply will be a
S frame thus no data would have been sent, however it is
still possible to receive data followed by a transmit not-
acknowledge if a frame is lost.
For solid bi-directional data flow the events will occur in
the following order:
lmp2app
Tx CommStart
lmp2app
Tx CommData * n (up to 62)
lmp2app
Rx CommData * n (up to 62)
lmp2app
Tx CommValid/Error
lmp2app
Rx CommValid/Error
lmp2app
Tx CommStart
etc.
If the connection is terminated or times-out while there is
unconfirmed data then the appropriate error message will
be passed.
3.5.2 Discovery
The XID discovery process can be initiated by the appli-
cation layer by calling DiscoveryRequest.The applica-
tion should call the lap layer in the following way:
...
page
app2lapDiscoveryRequest
;Set page bits for call
call
app2lapDiscoveryRequest
;call lap layer
bank
ApplicationBank
;change to correct local bank
...
The request will be accepted if there is no connection
and there has been no IR detected in the past 500ms.
Acceptance will be indicated by z being returned false
and refusal by z being returned true. The XID Information
field will not be passed to the application layer but will be
displayed out the debug port if the ShowXIDInfo debug
has been enabled.