 }
 
 
+

  // 20's -- 2nd puzzle message
  // -0   -- first message from this puzzle
  Serial.println(20);
}

void sendCastleErrorMessage()
{
  Serial.println(21);
}

// TODO(benkraft): change return signature to however you want to represent gears

  if (winning)
  {
    sendCastleSuccessMessage();
  }
}

// Check if we have a connection.  rotation is the amount we have rotated,
// relative to 0 being the start position.  (That is, the position of the
// selector gear.)
boolean haveConnection(int rotation, int gear_types[],
                       int gear_orientations[])
{
  // TODO(benkraft)
  return false;
}

void sendCastleSuccessMessage() 
