Skip to content

Commit

Permalink
Merge pull request #166 from spacelab-ufsc/dev
Browse files Browse the repository at this point in the history
Dev: Version 0.4
  • Loading branch information
mgm8 authored Jul 11, 2020
2 parents 47804ce + 1167378 commit 96c199b
Show file tree
Hide file tree
Showing 86 changed files with 9,683 additions and 1,417 deletions.
Binary file modified doc/build/obdh2_doc.pdf
Binary file not shown.
37 changes: 37 additions & 0 deletions doc/chapters/assembly.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
%
% assembly.tex
%
% Copyright (C) 2020 by Universidade Federal de Santa Catarina.
%
% OBDH 2.0 Documentation
%
% This work is licensed under the Creative Commons Attribution-ShareAlike 4.0
% International License. To view a copy of this license,
% visit http://creativecommons.org/licenses/by-sa/4.0/.
%

%
% \brief Assembly instructions chapter.
%
% \author Gabriel Mariano Marcelino <gabriel.mm8@gmail.com>
%
% \institution Universidade Federal de Santa Catarina (UFSC)
%
% \version 0.1.0
%
% \date 12/05/2020
%

\chapter{Board Assembly} \label{ch:assembly}

\section{Development Model}

.

\section{Flight Model}

.

\section{Custom Configuration}

.
203 changes: 198 additions & 5 deletions doc/chapters/firmware.tex
Original file line number Diff line number Diff line change
Expand Up @@ -119,13 +119,129 @@ \subsection{CSP Server}

.

\section{Telemetry}


\subsection{Beacon}

The beacon packet is transmitted at every 1 minute and contains a basic telemetry data of the satellite. The content of this packet can be seen in \autoref{tab:telemetry-beacon}.

\begin{itemize}
\item Period: 60 seconds
\item Band: UHF
\item Condition to operate: Always on
\end{itemize}

\begin{table}[!h]
\centering
\begin{tabular}{llc}
\toprule[1.5pt]
\textbf{Parameter} & \textbf{Content} & \textbf{Length [bytes]} \\
\midrule
Packet ID & 10h & 1 \\
Satellite callsign & ``0PY0EGU'' & 7 \\
$\mu$C temperature & Raw $\mu$C temperature & 2 \\
$\mu$C voltage & Raw $\mu$C voltage & 2 \\
$\mu$C current & Raw $\mu$C current & 2 \\
Last reset cause & Last reset cause ID & 1 \\
System time & System time in ticks & 4 \\
Radio temperature & Raw radio temperature & 4 \\
Last TC RSSI & Raw RSSI value & 2??? \\
Last received TC & Last received TC ID & 1 \\
Battery 1 voltage & Raw battery 1 voltage & 2 \\
Battery 2 voltage & Raw battery 2 voltage & 2 \\
Battery current & Raw battery current & 2 \\
Battery charge & Raw battery charge & 2 \\
... & ... & ... \\
\midrule
Total & - & 34 \\
\bottomrule[1.5pt]
\end{tabular}
\caption{Beacon packet.}
\label{tab:telemetry-beacon}
\end{table}

\subsection{EDC Information}

\begin{table}[!h]
\centering
\begin{tabular}{llc}
\toprule[1.5pt]
\textbf{Parameter} & \textbf{Content} & \textbf{Len. [bytes]} \\
\midrule
Packet ID & 11h & 1 \\
Satellite callsign & ``0PY0EGU'' & 7 \\
\midrule
\multicolumn{3}{c}{\textbf{PTT Decoder}} \\
\midrule
Time tag & PTT signal receiving time & 4 \\
Error code & Error code & 1 \\
Carrier frequency & Carrier frequency & 2 \\
Carrier Abs & Carrier amplitude at ADC interface output & 2 \\
Message length & User message length in bytes & 1 \\
User message & ARGOS-2 PTT-A2 user message & 35 \\
\midrule
\multicolumn{3}{c}{\textbf{HK Info}} \\
\midrule
Current time & Current time since J2000 epoch & 4 \\
Elapsed time & Elapsed time since last reset & 4 \\
Current supply & System current supply in mA & 2 \\
Voltage supply & System voltage supply in mV & 2 \\
Temperature & EDC board temperature & 1 \\
PLL sync bit & RF front end LO... & 1 \\
ADC RMS & RMS level at front-end output & 2 \\
Num of RX PTT & Generated PTT packages since last initialization & 1 \\
Max & & 1 \\
Memory error count & & 1 \\
\midrule
\multicolumn{3}{c}{\textbf{System State}} \\
\midrule
Current time & & 4 \\
PTT available & Number of PTT Package available for reading & 1 \\
PTT is paused & PTT decoder task status & 1 \\
Sampler state & ADC sampler state & 1 \\
\midrule
Total & - & 79 \\
\bottomrule[1.5pt]
\end{tabular}
\caption{EDC information packet.}
\label{tab:telemetry-edc}
\end{table}

\subsection{EDC Samples}

The EDC samples are XX bytes long and are transmitted in Y packets with 219 bytes each

\begin{table}[!h]
\centering
\begin{tabular}{llc}
\toprule[1.5pt]
\textbf{Parameter} & \textbf{Content} & \textbf{Length [bytes]} \\
\midrule
Packet ID & 12h & 1 \\
Satellite callsign & ``0PY0EGU'' & 7 \\
Time tag & Elapsed time since J2000 epoch & 4 \\
Packet counter & ADC sample packet number & 1 \\
I sample[n] & First ADC I-sample & 2 \\
Q sample[n] & First ADC Q-sample & 2 \\
... & ... & ... \\
I sample[n+102] & First ADC I-sample & 2 \\
Q sample[n+102] & First ADC Q-sample & 2 \\
\midrule
Total & - & 219 \\
\bottomrule[1.5pt]
\end{tabular}
\caption{EDC samples packet.}
\label{tab:telemetry-edc-samples}
\end{table}

\section{Telecommands}

\begin{table}[!h]
\centering
\begin{tabular}{lll}
\toprule[1.5pt]
\textit{Name} & \textit{Parameters} & \textit{Access} \\
\textbf{Name} & \textbf{Parameters} & \textbf{Access} \\
\midrule
Enter hibernation & Hibernation period in seconds & Private \\
Leave hibernation & None & Private \\
Expand All @@ -150,11 +266,42 @@ \section{Telecommands}

\subsection{Enter hibernation}

.
\begin{table}[!h]
\centering
\begin{tabular}{lll}
\toprule[1.5pt]
\textbf{Parameter} & \textbf{Content} & \textbf{Length [bytes]} \\
\midrule
Packet ID & 20h & 1 \\
Ground station callsign & Any callsign (ASCII, filled with ``0''s) & 7 \\
Hibernation period & Period in minutes (1 to 65535) & 2 \\
Key & Telecommand key (ASCII) & 10 \\
\midrule
Total & - & 20 \\
\bottomrule[1.5pt]
\end{tabular}
\caption{Enter hibernation telecommand.}
\label{tab:enter-hibernation-tc}
\end{table}

\subsection{Leave hibernation}

.
\begin{table}[!h]
\centering
\begin{tabular}{lll}
\toprule[1.5pt]
\textbf{Parameter} & \textbf{Content} & \textbf{Length [bytes]} \\
\midrule
Packet ID & 21h & 1 \\
Ground station callsign & Any callsign (ASCII, filled with ``0''s) & 7 \\
Key & Telecommand key (ASCII) & 10 \\
\midrule
Total & - & 18 \\
\bottomrule[1.5pt]
\end{tabular}
\caption{Leave hibernation telecommand.}
\label{tab:leave-hibernation-tc}
\end{table}

\subsection{Activate beacon}

Expand Down Expand Up @@ -190,11 +337,57 @@ \subsection{Set system time}

\subsection{Ping}

.
\begin{table}[!h]
\centering
\begin{tabular}{lll}
\toprule[1.5pt]
\textbf{Parameter} & \textbf{Content} & \textbf{Length [bytes]} \\
\midrule
Packet ID & 22h & 1 \\
Ground station callsign & Any callsign (ASCII, filled with ``0''s) & 7 \\
\midrule
Total & - & 8 \\
\bottomrule[1.5pt]
\end{tabular}
\caption{Ping telecommand.}
\label{tab:ping-tc}
\end{table}

\begin{table}[!h]
\centering
\begin{tabular}{lll}
\toprule[1.5pt]
\textbf{Parameter} & \textbf{Content} & \textbf{Length [bytes]} \\
\midrule
Packet ID & 12h & 1 \\
Satellite callsign & ``PY0EGU'' & 7 \\
Destination callsign & Requester callsign (ASCII, filled with ``0''s) & 7 \\
\midrule
Total & - & 15 \\
\bottomrule[1.5pt]
\end{tabular}
\caption{Ping telecommand answer.}
\label{tab:ping-tc-ans}
\end{table}

\subsection{Message broadcast}

.
\begin{table}[!h]
\centering
\begin{tabular}{lll}
\toprule[1.5pt]
\textbf{Parameter} & \textbf{Content} & \textbf{Length [bytes]} \\
\midrule
Packet ID & 23h & 1 \\
Ground station callsign & Any callsign (ASCII, filled with ``0''s) & 7 \\
Message & Message to broadcast (ASCII) & up to \\
\midrule
Total & - & 8 \\
\bottomrule[1.5pt]
\end{tabular}
\caption{Message broadcast telecommand.}
\label{tab:msg-broadcast-tc}
\end{table}

\subsection{Request data}

Expand Down
43 changes: 43 additions & 0 deletions doc/chapters/instructions.tex
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
%
% introduction.tex
%
% Copyright (C) 2020 by Universidade Federal de Santa Catarina.
%
% OBDH 2.0 Documentation
%
% This work is licensed under the Creative Commons Attribution-ShareAlike 4.0
% International License. To view a copy of this license,
% visit http://creativecommons.org/licenses/by-sa/4.0/.
%

%
% \brief Instructions chapter.
%
% \author Gabriel Mariano Marcelino <gabriel.mm8@gmail.com>
%
% \institution Universidade Federal de Santa Catarina (UFSC)
%
% \version 0.1.0
%
% \date 07/05/2020
%

\chapter{Usage Instructions} \label{ch:instructions}

\section{Powering the Board}

.

\section{Log Messages}

\begin{figure}[!ht]
\begin{center}
\includegraphics[width=0.75\textwidth]{figures/putty-output.png}
\caption{Firmware initialization on PuTTy.}
\label{fig:putty-output}
\end{center}
\end{figure}

\section{Daughterboards Installation}

.
Binary file modified doc/figures/block_diagram.pdf
Binary file not shown.
Binary file added doc/figures/putty-output.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 3 additions & 1 deletion doc/main.tex
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
%
% main.tex
%
% Copyright © 2019 by Universidade Federal de Santa Catarina.
% Copyright (C) 2020 by Universidade Federal de Santa Catarina.
%
% OBDH 2.0 Documentation
%
Expand Down Expand Up @@ -69,6 +69,8 @@
\input{chapters/system_overview}
\input{chapters/hardware}
\input{chapters/firmware}
\input{chapters/assembly}
\input{chapters/instructions}
\input{chapters/references}

\end{document}
2 changes: 1 addition & 1 deletion firmware/.cproject
Original file line number Diff line number Diff line change
Expand Up @@ -97,7 +97,7 @@
</toolChain>
</folderInfo>
<sourceEntries>
<entry excluding="app/libs/ff14/documents|app/libs/ngham/unused|app/libs/ngham/fec-3.0.1/sumsq_sse2_assist.s|app/libs/ngham/fec-3.0.1/sumsq_mmx_assist.s|app/libs/ngham/fec-3.0.1/ssebfly29.s|app/libs/ngham/fec-3.0.1/ssebfly27.s|app/libs/ngham/fec-3.0.1/sse2bfly29.s|app/libs/ngham/fec-3.0.1/sse2bfly27.s|app/libs/ngham/fec-3.0.1/peakval_sse_assist.s|app/libs/ngham/fec-3.0.1/peakval_mmx_assist.s|app/libs/ngham/fec-3.0.1/peak_sse2_assist.s|app/libs/ngham/fec-3.0.1/peak_sse_assist.s|app/libs/ngham/fec-3.0.1/peak_mmx_assist.s|app/libs/ngham/fec-3.0.1/mmxbfly29.s|app/libs/ngham/fec-3.0.1/mmxbfly27.s|app/libs/ngham/fec-3.0.1/cpu_features.s|app/libs/ngham/fec-3.0.1/vtest615.c|app/libs/ngham/fec-3.0.1/vtest39.c|app/libs/ngham/fec-3.0.1/vtest29.c|app/libs/ngham/fec-3.0.1/vtest27.c|app/libs/ngham/fec-3.0.1/viterbi615.c|app/libs/ngham/fec-3.0.1/viterbi615_sse2.c|app/libs/ngham/fec-3.0.1/viterbi615_sse.c|app/libs/ngham/fec-3.0.1/viterbi615_port.c|app/libs/ngham/fec-3.0.1/viterbi615_mmx.c|app/libs/ngham/fec-3.0.1/viterbi615_av.c|app/libs/ngham/fec-3.0.1/viterbi39.c|app/libs/ngham/fec-3.0.1/viterbi39_sse2.c|app/libs/ngham/fec-3.0.1/viterbi39_sse.c|app/libs/ngham/fec-3.0.1/viterbi39_port.c|app/libs/ngham/fec-3.0.1/viterbi39_mmx.c|app/libs/ngham/fec-3.0.1/viterbi39_av.c|app/libs/ngham/fec-3.0.1/viterbi29.c|app/libs/ngham/fec-3.0.1/viterbi29_sse2.c|app/libs/ngham/fec-3.0.1/viterbi29_sse.c|app/libs/ngham/fec-3.0.1/viterbi29_port.c|app/libs/ngham/fec-3.0.1/viterbi29_mmx.c|app/libs/ngham/fec-3.0.1/viterbi29_av.c|app/libs/ngham/fec-3.0.1/viterbi27.c|app/libs/ngham/fec-3.0.1/viterbi27_sse2.c|app/libs/ngham/fec-3.0.1/viterbi27_sse.c|app/libs/ngham/fec-3.0.1/viterbi27_port.c|app/libs/ngham/fec-3.0.1/viterbi27_mmx.c|app/libs/ngham/fec-3.0.1/viterbi27_av.c|app/libs/ngham/fec-3.0.1/sumsq.c|app/libs/ngham/fec-3.0.1/sumsq_test.c|app/libs/ngham/fec-3.0.1/sumsq_sse2.c|app/libs/ngham/fec-3.0.1/sumsq_port.c|app/libs/ngham/fec-3.0.1/sumsq_mmx.c|app/libs/ngham/fec-3.0.1/sumsq_av.c|app/libs/ngham/fec-3.0.1/sqtest.c|app/libs/ngham/fec-3.0.1/sim.c|app/libs/ngham/fec-3.0.1/rstest.c|app/libs/ngham/fec-3.0.1/rs_speedtest.c|app/libs/ngham/fec-3.0.1/peakval.c|app/libs/ngham/fec-3.0.1/peakval_sse2.c|app/libs/ngham/fec-3.0.1/peakval_sse2_assist.s|app/libs/ngham/fec-3.0.1/peakval_sse.c|app/libs/ngham/fec-3.0.1/peakval_port.c|app/libs/ngham/fec-3.0.1/peakval_mmx.c|app/libs/ngham/fec-3.0.1/peakval_av.c|app/libs/ngham/fec-3.0.1/peaktest.c|app/libs/ngham/fec-3.0.1/init_rs.c|app/libs/ngham/fec-3.0.1/init_rs_int.c|app/libs/ngham/fec-3.0.1/gen_ccsds.c|app/libs/ngham/fec-3.0.1/gen_ccsds_tal.c|app/libs/ngham/fec-3.0.1/fec.c|app/libs/ngham/fec-3.0.1/exercise.c|app/libs/ngham/fec-3.0.1/encode_rs.c|app/libs/ngham/fec-3.0.1/encode_rs_int.c|app/libs/ngham/fec-3.0.1/encode_rs_ccsds.c|app/libs/ngham/fec-3.0.1/encode_rs_av.c|app/libs/ngham/fec-3.0.1/encode_rs_8.c|app/libs/ngham/fec-3.0.1/dtest.c|app/libs/ngham/fec-3.0.1/dotprod.c|app/libs/ngham/fec-3.0.1/dotprod_sse2.c|app/libs/ngham/fec-3.0.1/dotprod_sse2_assist.s|app/libs/ngham/fec-3.0.1/dotprod_port.c|app/libs/ngham/fec-3.0.1/dotprod_mmx.c|app/libs/ngham/fec-3.0.1/dotprod_mmx_assist.s|app/libs/ngham/fec-3.0.1/dotprod_av.c|app/libs/ngham/fec-3.0.1/decode_rs.c|app/libs/ngham/fec-3.0.1/decode_rs_int.c|app/libs/ngham/fec-3.0.1/decode_rs_ccsds.c|app/libs/ngham/fec-3.0.1/decode_rs_8.c|app/libs/ngham/fec-3.0.1/cpu_mode_x86.c|app/libs/ngham/fec-3.0.1/cpu_mode_ppc.c|app/libs/ngham/ngham_spp.c|drivers/isis_antenna" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
<entry excluding="app/libs/reliance-edge-2.4|app/libs/freemodbus-v1.6|app/libs/ff14/documents|app/libs/ngham/unused|app/libs/ngham/fec-3.0.1/sumsq_sse2_assist.s|app/libs/ngham/fec-3.0.1/sumsq_mmx_assist.s|app/libs/ngham/fec-3.0.1/ssebfly29.s|app/libs/ngham/fec-3.0.1/ssebfly27.s|app/libs/ngham/fec-3.0.1/sse2bfly29.s|app/libs/ngham/fec-3.0.1/sse2bfly27.s|app/libs/ngham/fec-3.0.1/peakval_sse_assist.s|app/libs/ngham/fec-3.0.1/peakval_mmx_assist.s|app/libs/ngham/fec-3.0.1/peak_sse2_assist.s|app/libs/ngham/fec-3.0.1/peak_sse_assist.s|app/libs/ngham/fec-3.0.1/peak_mmx_assist.s|app/libs/ngham/fec-3.0.1/mmxbfly29.s|app/libs/ngham/fec-3.0.1/mmxbfly27.s|app/libs/ngham/fec-3.0.1/cpu_features.s|app/libs/ngham/fec-3.0.1/vtest615.c|app/libs/ngham/fec-3.0.1/vtest39.c|app/libs/ngham/fec-3.0.1/vtest29.c|app/libs/ngham/fec-3.0.1/vtest27.c|app/libs/ngham/fec-3.0.1/viterbi615.c|app/libs/ngham/fec-3.0.1/viterbi615_sse2.c|app/libs/ngham/fec-3.0.1/viterbi615_sse.c|app/libs/ngham/fec-3.0.1/viterbi615_port.c|app/libs/ngham/fec-3.0.1/viterbi615_mmx.c|app/libs/ngham/fec-3.0.1/viterbi615_av.c|app/libs/ngham/fec-3.0.1/viterbi39.c|app/libs/ngham/fec-3.0.1/viterbi39_sse2.c|app/libs/ngham/fec-3.0.1/viterbi39_sse.c|app/libs/ngham/fec-3.0.1/viterbi39_port.c|app/libs/ngham/fec-3.0.1/viterbi39_mmx.c|app/libs/ngham/fec-3.0.1/viterbi39_av.c|app/libs/ngham/fec-3.0.1/viterbi29.c|app/libs/ngham/fec-3.0.1/viterbi29_sse2.c|app/libs/ngham/fec-3.0.1/viterbi29_sse.c|app/libs/ngham/fec-3.0.1/viterbi29_port.c|app/libs/ngham/fec-3.0.1/viterbi29_mmx.c|app/libs/ngham/fec-3.0.1/viterbi29_av.c|app/libs/ngham/fec-3.0.1/viterbi27.c|app/libs/ngham/fec-3.0.1/viterbi27_sse2.c|app/libs/ngham/fec-3.0.1/viterbi27_sse.c|app/libs/ngham/fec-3.0.1/viterbi27_port.c|app/libs/ngham/fec-3.0.1/viterbi27_mmx.c|app/libs/ngham/fec-3.0.1/viterbi27_av.c|app/libs/ngham/fec-3.0.1/sumsq.c|app/libs/ngham/fec-3.0.1/sumsq_test.c|app/libs/ngham/fec-3.0.1/sumsq_sse2.c|app/libs/ngham/fec-3.0.1/sumsq_port.c|app/libs/ngham/fec-3.0.1/sumsq_mmx.c|app/libs/ngham/fec-3.0.1/sumsq_av.c|app/libs/ngham/fec-3.0.1/sqtest.c|app/libs/ngham/fec-3.0.1/sim.c|app/libs/ngham/fec-3.0.1/rstest.c|app/libs/ngham/fec-3.0.1/rs_speedtest.c|app/libs/ngham/fec-3.0.1/peakval.c|app/libs/ngham/fec-3.0.1/peakval_sse2.c|app/libs/ngham/fec-3.0.1/peakval_sse2_assist.s|app/libs/ngham/fec-3.0.1/peakval_sse.c|app/libs/ngham/fec-3.0.1/peakval_port.c|app/libs/ngham/fec-3.0.1/peakval_mmx.c|app/libs/ngham/fec-3.0.1/peakval_av.c|app/libs/ngham/fec-3.0.1/peaktest.c|app/libs/ngham/fec-3.0.1/init_rs.c|app/libs/ngham/fec-3.0.1/init_rs_int.c|app/libs/ngham/fec-3.0.1/gen_ccsds.c|app/libs/ngham/fec-3.0.1/gen_ccsds_tal.c|app/libs/ngham/fec-3.0.1/fec.c|app/libs/ngham/fec-3.0.1/exercise.c|app/libs/ngham/fec-3.0.1/encode_rs.c|app/libs/ngham/fec-3.0.1/encode_rs_int.c|app/libs/ngham/fec-3.0.1/encode_rs_ccsds.c|app/libs/ngham/fec-3.0.1/encode_rs_av.c|app/libs/ngham/fec-3.0.1/encode_rs_8.c|app/libs/ngham/fec-3.0.1/dtest.c|app/libs/ngham/fec-3.0.1/dotprod.c|app/libs/ngham/fec-3.0.1/dotprod_sse2.c|app/libs/ngham/fec-3.0.1/dotprod_sse2_assist.s|app/libs/ngham/fec-3.0.1/dotprod_port.c|app/libs/ngham/fec-3.0.1/dotprod_mmx.c|app/libs/ngham/fec-3.0.1/dotprod_mmx_assist.s|app/libs/ngham/fec-3.0.1/dotprod_av.c|app/libs/ngham/fec-3.0.1/decode_rs.c|app/libs/ngham/fec-3.0.1/decode_rs_int.c|app/libs/ngham/fec-3.0.1/decode_rs_ccsds.c|app/libs/ngham/fec-3.0.1/decode_rs_8.c|app/libs/ngham/fec-3.0.1/cpu_mode_x86.c|app/libs/ngham/fec-3.0.1/cpu_mode_ppc.c|app/libs/ngham/ngham_spp.c|drivers/isis_antenna" flags="VALUE_WORKSPACE_PATH|RESOLVED" kind="sourcePath" name=""/>
</sourceEntries>
</configuration>
</storageModule>
Expand Down
3 changes: 3 additions & 0 deletions firmware/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,6 @@ Debug/

# Vi/Vim files
*.swp

# ctags files
tags
9 changes: 6 additions & 3 deletions firmware/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,11 @@

## Dependencies

* MSP430 DriverLib 2.91.11.01
* FreeRTOS 10.2.1
* MSP430 DriverLib v2.91.11.01
* FreeRTOS v10.2.1
* NGHam protocol
* libcsp 1.5.16
* libcsp v1.5.16
* FatFS R0.14
* Reliance Edge v2.4
* FreeMODBUS v1.6
* JSMN v1.1.0
Loading

0 comments on commit 96c199b

Please sign in to comment.