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:
- The Serial Manager is responsible for byte-level serial I/O and control of the RS-232, USB, Bluetooth, and IR signals.
- The Serial Link Protocol provides an efficient mechanism for sending and receiving packets.
- Serial Link Manager is the Palm OS implementation of the serial link protocol.
Serial Communications Overview
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
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
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.