Documentation  |   Table of Contents   |  < Previous   |  Next >   |  Index

1    Introduction to Serial Communications

Low-Level Communications

Exploring Palm OS®

The Palm OS® serial communications software provides high-performance serial communications capabilities, including byte-level serial I/O, best-effort packet-based I/O with CRC-16, reliable data transport with retries and acknowledgments, connection management, and modem dialing capabilities.

This part helps you understand the different parts of the serial communications system and explains how to use them, discussing these topics:

Serial Communications Overview ^TOP^

Serial communications in Palm OS are provided through the same driver architecture as all other forms of communication. Serial drivers operate as part of the I/O Subsystem.

Serial Communications Components ^TOP^

There are, however, some additional components built on top of this architecture that provide additional services:

  • The Serial Manager API provides a simplified mechanism for performing serial communications, and also provides source code compatibility for applications originally written for previous versions of Palm OS. See "The Serial Manager".
  • The Serial Link Protocol (SLP) provides best-effort packet send and receive capabilities with CRC-16. Packet delivery is left to the higher-level protocols; SLP does not guarantee it. See "The Serial Link Protocol".
  • The Packet Assembly/Disassembly Protocol (PADP) sends and receives buffered data. PADP is an efficient protocol featuring variable-size block transfers with robust error checking and automatic retries. Applications don't need access to this part of the system.
  • The Desktop Link Protocol (DLP) provides remote access to Palm OS data storage and other subsystems.

    DLP facilitates efficient data synchronization between desktop (PC or Macintosh) and Palm OS applications, database backup, installation of code patches, extensions, applications, and other databases, as well as Remote Interapplication Communication (RIAC) and Remote Procedure Calls (RPC).

Byte Ordering ^TOP^

It is important to be aware that the ARM processor uses little-endian byte ordering, where the 68K series of processors used by older Palm OS devices used big-endian byte ordering. This may be an issue when transmitting data using a serial connection, and your application is responsible for coping with byte order differences.