Blockslavetransmitterstatus, Blockslavereceiver, Calibre – Calibre UK UCA93 User Manual

Page 15

Advertising
background image

CALIBRE

Issue 1.0

Page 12

01/07/03

3.3.16.

BlockSlaveTransmitterStatus

Function specification

int BlockSlaveTransmitterStatus (void))

Parameters are:

None

Parameters returned

int TransferStatus.
Returns 0 if the transfer has not been completed.
Returns the a status if the transfer is completed (see below).
Bit 0

Set if a write address received

Bit 1

Set if word address 0 received

Bit 2

Set if word address 1 received

Bit 3

Set if restart received

Bit 4

Stop detected

Bit 5

Set if the transfer timeout (Value in Setup function) occurred

Returns 900BH if the transfer time out.

Prerequisites

Adapter must be configured using Setup. The transfer must be started using
the BlockSlaveTransmittter function.

Functional description

Returns the current status of the BlockSlaveTransmittter transfer NOTE this
function will time out the BlockSlaveTransmittter function.
Read two bytes of data from the Adapter using GetBlockData to determine
where the master read from in the block (high byte first), read the next two
bytes to determine how many bytes of data the master read from the slave
(high byte first), read 1 byte to determine the status.

3.3.17.

BlockSlaveReceiver

Function specification

int BlockSlaveReceiver (int NoBytesToReceive, int Timeout)

Parameters are:

int NoBytesToReceive
The number of bytes to expected from the master. NOTE if the protocol
requires the master to transmit one or more word address bytes these MUST
be included in the NoBytesToReceive. The maximum size of this buffer is 2048
exceeding this WILL cause the data to be corrupted.
PLEASE NOTE THIS MUST INCLUDE THE NUMBER OF WORD ADDRESS
BYTES IF THEY ARE TRANSMITTED BY THE MASTER
Int Timeout
If the transfer is not completed within Timeout seconds the
BlockSlaveReceiverStatus will return a Timeout error.

Parameters returned

Returns an unused integer.

Prerequisites

Adapter must be configured using Setup.

Functional description

This function causes the Adapter to respond to I2C master transmission of
data. This function supports transfers where the master sends WordAddress
pointers to data locations within the transfer block.
Should the master exceed the number of bytes expected the Adapter will
honour all transfers for data and the overflow will be reported see
BlockSlaveReceiverStatus.
This function allows the user to emulate simple slave devices e.g. EEPROM
BUT once the master has completed the transfer the Adapter will NOT respond
to any further requests for data until the BlockSlaveReceiver is called again.

Advertising