Cnfreadlength, Urccauseid, Remainudppacketlength – Siemens Brodersen MC55 AT User Manual

Page 246: If p

Advertising
background image

MC55_ATC_V04.00

Page 246 of 475

3/17/06

Confidential / Released

-2

Indicates end of data. Data transfer has been finished (all data have been read)

and the service can be closed with

AT^SISC

.

-1

Applies only to HTTP: Querying number of available bytes is not supported by

the HTTP service.

0

Indicates that no further is are available at the moment.

>1

Number of available data bytes. The range is determined by

<reqReadLength>

:

If

<reqReadLength>

was greater than 0, then

<cnfReadLength>

may be

less or equal to the value requested with

<reqReadLength>

.

If

<reqReadLength>

equals 0 (peek operator) the value indicated by

<cnfReadLength>

may be greater than 1500.

Indicates whether or not data is available for reading with

AT^SISR

.

1

Data is available and can be read by sending the

AT^SISR

command. The

URC appears when less data was confirmed (in

<cnfReadLength>

) than

requested (with

<reqReadLength>

) during the last "Read Data" operation

and new data is available.

2

End of data. Data transfer has completed (all data read). The service can be

closed with

AT^SISC

.

Optional third parameter of the

AT^SISR

write command response displayed only if the Socket service uses

UDP.

The reception of each datagram must be completed before the next datagram can be received. This may be a

problem if the buffer of the host application is limited and not designed to handle the maximum packet size of

1500 bytes. To compensate this, the host is advised to request, via

<reqReadLength>

, an amount less or

equal its maxmimum buffer capacity and wait for the resulting

AT^SISR

write command response with param-

eter

<remainUdpPacketLength>

. The benefit of this approach is that the host may properly receive all parts

of a UDP datagram, as after each received data part the number of remaining bytes is synchronized, until read-

ing the datagram is finished.

If the currently read datagram is smaller than the number of bytes requested by the host the

<remainUdpPack-

etLength>

parameter is omitted.

Further write attempts with

AT^SISR

are denied as long as the

<remainUdpPacketLength>

is unequal 0 or

is not omitted. In this case the service returns

"+CME ERROR: operation of service temporary not allowed"

.

0

Indicates that all bytes of the current UDP datagram are read.

1...(max. data size)-1

Indicates that the currently read UDP datagram is not yet complete. The dis-

played value is the remaining number of bytes.

<remainUdpPacketLength>

is unequal 0 until reading all parts of the cur-

rent datagram is finished.

10.7.1

Example: Socket Host Reads Small Amounts of UDP Data Pack-
ets (URC Mode)

This section applies only to the Socket service using the UDP protocol. The example shows how to read UDP

packets if the buffer of the host application can handle only a few bytes. There are two datagrams available for

reading.

Buffer size: 6 bytes

Datagram A = 18 bytes (content "THIS_IS_DATAGRAM_A")

Datagram B = 3 bytes (content "NEW")

<cnfReadLength>

(num)

<urcCauseId>

(num)

<remainUdpPacketLength>

(num)

Advertising