-\chapter{Design and Implementation}
+\chapter{Design and Implementation}\label{Design and Implementation}
% BEGIN Sam's section
\end{figure}
-\section{Hardware Interfacing}\label{Hardware}
+\section{Hardware Interfacing}\label{Hardware Interfacing}
Figure \ref{pinout.pdf} shows the pin out diagram of the BeagleBone Black. There are many contradictory pin out diagrams available on the internet; this figure was initially created by the software team after trial and error testing with an oscilloscope to determine the correct location of each pin. Port labels correspond with those marked on the BeagleBone PCB. The choice of pin allocations was made by the electrical team after discussion with software when it became apparent that some pins could not be controlled reliably.
\end{figure}
-\section{Authentication Mechanisms}\label{Authentication}
+\section{Authentication Mechanisms}\label{Authentication Mechanisms}
The \funct{Login_Handler} function (\gitref{server}{login.c}) is called in the main thread when a HTTP request for authentication is received (see Section \ref{Communication}). This function checks the user's credentials and will give them access to the system if they are valid. Whilst we had originally planned to include only a single username and password, changing client requirements forced us to investigate many alternative authentication methods to cope with multiple users.
% END Sam's section
-\section{Server/Client Communication}\label{Communications}
+\section{Server/Client Communication}\label{Server/Client Communication}
% BEGIN Jeremy's section
Whilst AJAX requests are possible with plain JavaScript, the use of the jQuery library (see Section \ref{jQuery}) greatly simplifies the way in which requests can be made and interpreted.
-\section{Alternative Communication Technologies}\label{Alternative Communication}
+\section{Alternative Communication Technologies}\label{Alternative Communication Technologies}
This section attempts to explain the reasoning behind the communication method chosen. This choice was not trivial, as it had to allow for anyone to remotely control the experiment, while imposing as little requirements from the user as possible. These requirements can be summarised by:
\begin{enumerate}
\item Consider using X-Accel-Redirect along with UserCake (Section \ref{Authentication}) to make a finer-grained access control system to information such as the system logs
\end{enumerate}
-\section{BeagleBone Configuration}\label{Configuration}
+\section{BeagleBone Configuration}\label{BeagleBone Configuration}
\subsection{Operating system}
The Beaglebone has been configured to use the Ubuntu operating system. The original operating system was Angstrom, which was unsuitable because it lacked a number of software packages required. Detailed instructions on how to install this operating system exist on the project wiki\cite{mctx3420_wiki}.
-\section{Human Computer Interaction and the Graphical User Interface}
+\section{Human Computer Interaction and the Graphical User Interface}\label{Human Computer Interaction and the Graphical User Interface}
% BEGIN James' section
\subsection{Design Considerations}
% BEGIN Rowan's section
-\section{GUI Design Process}
+\section{GUI Design Process}\label{GUI Design Process}
\subsection{Creation}
\begin{titlepage}
\title{MCTX3420 2013\\Exploding Cans Project\\Software Team Report}
-\author{Justin Kruger, 20767264 \\
- Sam Moore, 20503628 \\
- Jeremy Tan, 20933708 \\
- Callum Schofield, 20947475 \\
- James Rosher, 20939143 \\
- Rowan Heinrich, 20939081 \\ \\ \\
+\author{Justin Kruger, 20767264 (Chapter \ref{Introduction and Approach})\\
+ Sam Moore, 20503628 (Editing/Referencing, Sections \ref{Server Program},\ref{Hardware Interfacing},\ref{Authentication Mechanisms} Chapter \ref{Conclusions and Recommendations}), \\
+ Jeremy Tan, 20933708 (Sections \ref{Server/Client Communication},\ref{Alternative Communication Technologies},\ref{BeagleBone Configuration})\\
+ Callum Schofield, 20947475 (Section \ref{Image Processing})\\
+ James Rosher, 20939143 (Section \ref{Human Computer Interaction and the Graphical User Interface}) \\
+ Rowan Heinrich, 20939081 (Section \ref{GUI Design Process}) \\ \\ \\
\includegraphics{figures/uwa_logo.jpeg}
}
\date{}