anchor.diff:  
   === Packet Documentation
   
  -When packets layouts are show in this document, we use the full ANT
  -packet to keep things consistent. 
  +Packet layouts in this document will use the full ANT packet to keep
  +things consistent. The packet layout is documented in the
  +protocol/message document, but is also listed here for sake of
  +clarity:
  +
  +* Byte 0x0: Always 0xA4
  +* Byte 0x1: Packet Data Length (up to 0x9)
  +* Byte 0x2: Packet Type
  +* Byte 0x2 + Packet Data Length: 8-bit checksum consisting of XOR'd
  +  bytes of packet. In packet layouts where we have variable bytes, the
  +  checksum is represented as ??.
   
   == What We Don't Know
   
  
positive.code: that looks like:
  
  ------
  A4 09 4E 00 00 00 00 00 00 00 00 00 E3
  ------
  
  === Querying Tracker Information
  
  === Data Dumping
  
  === Device Erasing
  
negative.code: messages and ANT protocol messages to configure the device to the
  right baud rate, channel, etc...
  
  To start setting up the base station, we send a bank of control
  messages. The following is the control messages from the python
  library, with
  
  * Argument 1: bmRequestType
  * Argument 2: bmRequest
  * Argument 3: wValue
  * Argument 4: wIndex
  * Argument 5: data (If a list, send data. If an int, receive data.)
  
  ------
  ctrl_transfer(0x40, 0x00, 0xFFFF, 0x0, [])
  ctrl_transfer(0x40, 0x01, 0x2000, 0x0, [])
  ctrl_transfer(0x40, 0x00, 0x0, 0x0, [])
  ctrl_transfer(0x40, 0x00, 0xFFFF, 0x0, [])
  ctrl_transfer(0x40, 0x01, 0x2000, 0x0, [])
  ctrl_transfer(0x40, 0x01, 0x4A, 0x0, [])
  # Receive 1 byte, should be 0x2
  ctrl_transfer(0xC0, 0xFF, 0x370B, 0x0, 1)
  ctrl_transfer(0x40, 0x03, 0x800, 0x0, [])
  ctrl_transfer(0x40, 0x13, 0x0, 0x0,
                [0x08, 0x00, 0x00, 0x00,
                 0x40, 0x00, 0x00, 0x00,
                 0x00, 0x00, 0x00, 0x00,
                 0x00, 0x00, 0x00, 0x00])
  ctrl_transfer(0x40, 0x12, 0x0C, 0x0, [])
  ------
  
  We then receive a packet of information, usually a reset validation
  packet.
  
  After this, we initialize the base channel (via ANT messages) to:
  
  * Period: 0x1000
  * Frequency: 0x2
  * Transmit Power: 0x3
  * Search Timeout: 0xFF
  * Channel ID - Device Number: 0xFFFF, Device Type ID: 0x01, Trans
    Type: 0x01
  
  This sets up the base to listen for the beacon packet from the tracker
  device.
  
  === Establishing Tracker Communication
  
  Once the base is configured, it starts sending out read requests on
  