\documentclass[12pt]{article}
%%% Local Variables: 
%%% mode: latex
%%% TeX-master: t
%%% End: 
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage{url}
\usepackage{listings}
\usepackage{SIunits}
\usepackage[today]{svninfo}
\svnInfo$Id$
\svnKeyword $URL$
\usepackage[layout={footnote}]{fixme}
\usepackage[margin=25mm, a4paper]{geometry}
%\usepackage{fancyhdr}
\setlength{\headheight}{15pt} % to make fancyhdr happy
\usepackage[final]{graphicx}
\graphicspath{{graphics//}{Graphics//}{./graphics//}{./Graphics//}}
\usepackage[final]{hyperref} %% THIS MUST BE LAST PACKAGE

\title{Arduino Synchronizer Instructions\\
\svnInfoRevision
}
\author{Joe Foley $<$foley@ru.is$>$}


\begin{document}
%\pagestyle{fancy}
\maketitle{}
\listoffixmes{}
%\thispagestyle{plain}


\section{Introduction}
These instructions are meant to accompany an Arduino-based synchronizer.  
A synchronizer is a device used for synchronizing a set of video playback devices to play at the same time.  
This implementation uses an Arduino connected to an IR LED to provide the service.  
Changing the timing or player codes for a given synchronizer requires reprogramming it with instructions detailed below.

\section{What is included}
The customer should have been provided with these items:
\begin{description}
\item[Synchronizer Hardware:] consisting of a plastic box with rubber feet, inside which is an Arduino and an IR LED.
\end{description}

\section{How to operate}

\section{How to reconfigure}
You will first need to install the Arduino programming software from \url{http://arduino.cc}.  
At the time of writing, the suggested version is 1.0.4, but this may change.  
If you are on a windows computer, it is very important to pick the right version (32bit vs. 64bit).



\section{Common problems and their solutions}
A very useful procedure to see what the synchronizer is doing:
\begin{enumerate}
\item Unplug the USB cord from the power supply and connect it to your computer.
\item Open the Arduino software and make sure it is connected to that USB port
\item Start the ``Serial Monitor'' and set the baud to 15200
\item You should see some useful information about the version of the software, installation it is configured for, and run time.   Then the display should show you which functions are being called and how much time it is waiting between them.
\end{enumerate}


\subsection*{Not all of the players are resetting at the same time}
\begin{itemize}
\item Is the LED (small hole with a dome in the side) pointed at the front of the player?  If not, do so.  You can tell where the LED is by the label.  It should be near the top of the label in the direction you can read it.
\item Is the box less than 10~\centi\meter{} away?  If so, move it at least 30~\centi\meter{} away from the front.
\item Look at the code.  It is possible that you need more ``previous'' commands with a pause between them.  This sometimes helps.  Alternatively, there are too many.  This requires some testing to figure out which combination is correct.
\end{itemize}
\subsection*{The players are never resetting}
\begin{itemize}
\item Make sure that the power supply is plugged in and the cable is plugged into the box and the power supply.
\item Is the LED (small hole with a dome in the side) pointed at the front of the player?  If not, do so.  You can tell where the LED is by the label.  It should be near the top of the label in the direction you can read it.
\item Is the box less than 10~\centi\meter{} away?  If so, move it at least 30~\centi\meter{} away from the front.
\item If it is still having problems, open the box and make sure that lights on the Arduino light up when it is plugged in.
\item Check the LED is working by viewing it through a camera phone (which are generally sensitive to IR).  
You should occasionally see it blink, especially when resetting it.
\item You might have the wrong player code for the player you are using.  Use the Arduino Serial Monitor at 115200 baud and see what it says.  Make sure that the model matches what you are trying to control.
\item If all else fails, re-upload the code to the Arduino after checking that it is the right version for your player.
\end{itemize}

\subsection*{Occasionally a player gets stuck on pause}
This is usually because the length of the time is set to just a little too long.  
This causes the player to automatically rewind at the same time that it would normally get the ``previous'' command.  
The simplest way to correct this is to reduce the playtime in the code by a few seconds.
\end{document}