Chapter 2. Serial Protocol Description

Table of Contents

Introduction
Data link layer
Serial timing
Framing
Escaping
CRC
Transport layer
Packet level
Message fragment level
Session (message) Layer
Identify camera
Get Power Status
Change Owner Name
Set Date
Get disk(s)
Disk info
List (show directory contents)
Download and Data
Upload file
Switch Camera off
Low Battery warning

Introduction

We have chosen to describe the Canon Serial Protocol as successive layers. I used OSI-like names but the protocol is not really a network protocol.

  • Data link layer:

    Responsible for framing, escaping and checksumming messages

  • Transport (packet) layer:

    Responsible for dividing messages into packets of known length. This layer also handles handshaking, retries, etc.

  • Session (message) layer:

    Last layer, carrying whole messages, such as download requests, image data, and such information. Currently, all these layers are documented, but we still lack information on how to handle protocol retries, and errors in general.