both that character and an additional DLE character are sent; conversely, two consecutive DLE characters on input are turned into a single DLE data byte. The packet is framed at the end by the 2-character DLE-ETX trailer. Finally, a 2-character frame check sequence is appended. This frame check is initialized to zero at the beginning, and calculated on just the data bytes and the final ETX character, ignoring the header bytes, any inserted DLE characters, and the DLE character in the trailer.

The frame trailer is sent when an output is done that specifies end of frame. Conversely, on input, when a trailer is detected, the input is terminated with an end of frame indication; if a CRC error is detected,

kSerErr_CRCError

is

returned instead.

Modem Tool

24

The modem communications tool includes built in support of V.42 and V.42bis. The alternate error-correcting protocol in V.42, also known as MNP, is supported (LAPM is not implemented). V.42bis data compression and MNP Class 5 data compression are supported.

The following is an example of how to create an endpoint that uses the built-in modem communications tool:

myModemEP := {_proto:protoBasicEndpoint};myOptions := [

{ label: kCMSModemID, type: 'service, opCode: opSetRequired } ];

results := myModemEP:Instantiate(myModemEP, myOptions);

Table 24-4 summarizes the modem options you can use to configure the modem communications tool. These options are described in detail in "Options for the Modem Tool" (page 21-31) in Newton Programmer's Reference.