71 lines
2.5 KiB
TeX
71 lines
2.5 KiB
TeX
%! TEX root = ../thesis.tex
|
|
\chapter{Appendix - Firmware}
|
|
\section{Virtual Memory Mapping}
|
|
THe biggest Change done to the Firmware was the implemetation of a new communication protocoll.
|
|
This protocoll uses the following table as reference
|
|
|
|
\begin{figure}
|
|
\centering
|
|
\input{./tabs/registerbuffer}
|
|
\caption{}%
|
|
\label{registerbuffer}
|
|
\end{figure}
|
|
|
|
\section{How to calibrate a PowerIt Board}
|
|
|
|
The Calibration process is based on the PItSTOP Python scripts\footnote{
|
|
% TODO: insert repo, and link to docs
|
|
\href{https://acereca.ddns.net:11443/acereca/pitstop}{PItSTOP Repo}
|
|
}.
|
|
These are split into \verb|server| and \verb|aggregator|. While the Server is handling the translation between raw I$^2$C data, and the JSON formatted result, the Aggregator takes this JSON and calculates a calibration.
|
|
|
|
Using the script any one of the following Values can be tested and calibrated:
|
|
\begin{itemize}
|
|
\item Input Voltage (\verb|pitstop.Aggregator.test_v_48()|)
|
|
\item Input Current (\verb|pitstop.Aggregator.test_i_48()|)
|
|
\item 9.6V Output Voltage (\verb|pitstop.Aggregator.test_v_10()|)
|
|
\item 1.8V Output Voltage (\verb|pitstop.Aggregator.test_v_18()|)
|
|
\item 1.8V Output Current (\verb|pitstop.Aggregator.test_i_18()|)
|
|
\end{itemize}
|
|
|
|
\subsection{Setting up the Test Environment}
|
|
The simplest way to setup an environment consists of cloning the PItSTOP project on a client:
|
|
\begin{mintylst}{bash}
|
|
|
|
> git clone https://url.to.pitstop
|
|
|
|
\end{mintylst}
|
|
then substituting the \verb|rsync| target:
|
|
\begin{mintylst}[label={makefile}]{makefile}
|
|
all:
|
|
rsync --progress ./*.py /remote.url/
|
|
\end{mintylst}
|
|
|
|
, to be your server (should be a RaspberyyPi connected to the PowerIt)
|
|
|
|
\subsection{Running a Test}
|
|
Runnig the test requires the following commands
|
|
\\
|
|
Serverside:
|
|
\begin{mintylst}{bash}
|
|
> python server.py
|
|
\end{mintylst}
|
|
Clientside:
|
|
\begin{mintylst}{bash}
|
|
> python aggregator.py
|
|
\end{mintylst}
|
|
Now just following the instructions given, the selected test can be run:
|
|
\begin{mintylst}{text}
|
|
Setting up calibration test for {}
|
|
Please be sure to:
|
|
- connect the {} to the RaspberryPi running server.py.
|
|
- connect the PowerIt to the RaspberyPi as described in the documentation
|
|
- and be sure to connect the {} to the {} Terminal.
|
|
|
|
Continue (y/N): y
|
|
|
|
What is the Name given to the connected PowerIt? [Bxx]: B05
|
|
\end{mintylst}
|
|
|
|
The result will consist of two diagrams one without calibration and one with.
|
|
It will also write the newly obtained calibration data into \verb|pitdb.yaml| |