Compare commits

..

6 Commits

Author SHA1 Message Date
tkl
bad3426549 add Readme.md 2017-01-30 14:59:31 +00:00
Thomas Klaehn
1d8fd6ec7a reenable foot line 2017-01-10 16:23:11 +01:00
Thomas Klaehn
ab2745c9e5 u-blox logo
u-bloxing
2017-01-06 11:23:42 +01:00
Thomas Klaehn
518ecab91d default source listing
fontsize for default listing changed
2017-01-06 11:23:32 +01:00
Thomas Klaehn
00256c439d u-blox logo 2017-01-05 15:37:24 +01:00
Thomas Klaehn
b9e4cc3aae enable pstricks 2016-12-13 14:23:20 +01:00
8 changed files with 953 additions and 195 deletions

6
Readme.md Normal file
View File

@ -0,0 +1,6 @@
# Tex-framework
...
## Dependencies
* texlive
* texlive-latex-extras

View File

@ -42,6 +42,7 @@ citecolor = black]{hyperref}%
\tableofcontents \tableofcontents
\input{config/headfoot.tex} \input{config/headfoot.tex}
\newpage \newpage
\lstsetdefault
\input{content.tex} \input{content.tex}
\lstsetdefault \lstsetdefault
\end{document} \end{document}

View File

@ -1,7 +1,8 @@
\ihead{\includegraphics[scale=0.30]{config/Laird_Logo_TM_Mark_RGB_200.eps}} \ihead{\includegraphics[scale=0.30]{config/u-blox_logo_46pix.eps}}
%\ihead{\includegraphics[scale=0.30]{config/Laird_Logo_TM_Mark_RGB_200.eps}}
%\ihead{\includegraphics[scale=0.16]{config/novero_logo_web_500px.eps}} %\ihead{\includegraphics[scale=0.16]{config/novero_logo_web_500px.eps}}
\ohead{\today} \ohead{\today}
\setheadsepline{1pt} \setheadsepline{1pt}
%\ofoot{\pagemark} \ofoot{\pagemark}
%\setfootsepline{1pt} \setfootsepline{1pt}

View File

@ -4,10 +4,13 @@
\newcommand{\lstsetdefault} \newcommand{\lstsetdefault}
{\lstset {\lstset
{ {
aboveskip=\baselineskip,
belowskip=\baselineskip,
language=bash, language=bash,
tabsize=4, tabsize=4,
frame=single, frame=single,
basicstyle=\ttfamily\small, %basicstyle=\ttfamily\small,
basicstyle=\ttfamily\scriptsize,
commentstyle=\color{black}, commentstyle=\color{black},
keywordstyle=\color{black} keywordstyle=\color{black}
} }
@ -16,6 +19,8 @@ keywordstyle=\color{black}
\newcommand{\lstsetc} \newcommand{\lstsetc}
{\lstset {\lstset
{ {
aboveskip=\baselineskip,
belowskip=\baselineskip,
language=[ANSI]C, language=[ANSI]C,
numbers=left, numbers=left,
tabsize=4, tabsize=4,
@ -29,6 +34,8 @@ keywordstyle=\color{blue}\textbf
\newcommand{\lstsetmake} \newcommand{\lstsetmake}
{\lstset {\lstset
{ {
aboveskip=\baselineskip,
belowskip=\baselineskip,
language=make, language=make,
numbers=left, numbers=left,
tabsize=4, tabsize=4,
@ -42,6 +49,8 @@ keywordstyle=\color{blue}\textbf
\newcommand{\lstsetbash} \newcommand{\lstsetbash}
{\lstset {\lstset
{ {
aboveskip=\baselineskip,
belowskip=\baselineskip,
language=bash, language=bash,
tabsize=4, tabsize=4,
frame=single, frame=single,

View File

@ -16,6 +16,6 @@ Version: \docversion\\
\begin{flushright} \begin{flushright}
Date: \today\\ Date: \today\\
\hfill Author: \docauthor\\ \hfill Author: \docauthor\\
\hfill Dept: Development, novero dabendorf GmbH% \hfill Dept: Software Host Short Range, u-blox GmbH%
\end{flushright} \end{flushright}

View File

@ -0,0 +1,716 @@
%!PS-Adobe-3.0 EPSF-3.0
%%Creator: (ImageMagick)
%%Title: (/srv/www/vhosts/releases/3/save/queued/a/d/b/adb76f511389daa5ad8ee18193c02514/intermediate1/o_fb7c2a074343e5cf.eps)
%%CreationDate: (2017-01-05T15:32:01+01:00)
%%BoundingBox: -0 -0 122 56
%%HiResBoundingBox: 0 0 122 56
%%DocumentData: Clean7Bit
%%LanguageLevel: 1
%%Pages: 1
%%EndComments
%%BeginDefaults
%%EndDefaults
%%BeginProlog
%
% Display a color image. The image is displayed in color on
% Postscript viewers or printers that support color, otherwise
% it is displayed as grayscale.
%
/DirectClassPacket
{
%
% Get a DirectClass packet.
%
% Parameters:
% red.
% green.
% blue.
% length: number of pixels minus one of this color (optional).
%
currentfile color_packet readhexstring pop pop
compression 0 eq
{
/number_pixels 3 def
}
{
currentfile byte readhexstring pop 0 get
/number_pixels exch 1 add 3 mul def
} ifelse
0 3 number_pixels 1 sub
{
pixels exch color_packet putinterval
} for
pixels 0 number_pixels getinterval
} bind def
/DirectClassImage
{
%
% Display a DirectClass image.
%
systemdict /colorimage known
{
columns rows 8
[
columns 0 0
rows neg 0 rows
]
{ DirectClassPacket } false 3 colorimage
}
{
%
% No colorimage operator; convert to grayscale.
%
columns rows 8
[
columns 0 0
rows neg 0 rows
]
{ GrayDirectClassPacket } image
} ifelse
} bind def
/GrayDirectClassPacket
{
%
% Get a DirectClass packet; convert to grayscale.
%
% Parameters:
% red
% green
% blue
% length: number of pixels minus one of this color (optional).
%
currentfile color_packet readhexstring pop pop
color_packet 0 get 0.299 mul
color_packet 1 get 0.587 mul add
color_packet 2 get 0.114 mul add
cvi
/gray_packet exch def
compression 0 eq
{
/number_pixels 1 def
}
{
currentfile byte readhexstring pop 0 get
/number_pixels exch 1 add def
} ifelse
0 1 number_pixels 1 sub
{
pixels exch gray_packet put
} for
pixels 0 number_pixels getinterval
} bind def
/GrayPseudoClassPacket
{
%
% Get a PseudoClass packet; convert to grayscale.
%
% Parameters:
% index: index into the colormap.
% length: number of pixels minus one of this color (optional).
%
currentfile byte readhexstring pop 0 get
/offset exch 3 mul def
/color_packet colormap offset 3 getinterval def
color_packet 0 get 0.299 mul
color_packet 1 get 0.587 mul add
color_packet 2 get 0.114 mul add
cvi
/gray_packet exch def
compression 0 eq
{
/number_pixels 1 def
}
{
currentfile byte readhexstring pop 0 get
/number_pixels exch 1 add def
} ifelse
0 1 number_pixels 1 sub
{
pixels exch gray_packet put
} for
pixels 0 number_pixels getinterval
} bind def
/PseudoClassPacket
{
%
% Get a PseudoClass packet.
%
% Parameters:
% index: index into the colormap.
% length: number of pixels minus one of this color (optional).
%
currentfile byte readhexstring pop 0 get
/offset exch 3 mul def
/color_packet colormap offset 3 getinterval def
compression 0 eq
{
/number_pixels 3 def
}
{
currentfile byte readhexstring pop 0 get
/number_pixels exch 1 add 3 mul def
} ifelse
0 3 number_pixels 1 sub
{
pixels exch color_packet putinterval
} for
pixels 0 number_pixels getinterval
} bind def
/PseudoClassImage
{
%
% Display a PseudoClass image.
%
% Parameters:
% class: 0-PseudoClass or 1-Grayscale.
%
currentfile buffer readline pop
token pop /class exch def pop
class 0 gt
{
currentfile buffer readline pop
token pop /depth exch def pop
/grays columns 8 add depth sub depth mul 8 idiv string def
columns rows depth
[
columns 0 0
rows neg 0 rows
]
{ currentfile grays readhexstring pop } image
}
{
%
% Parameters:
% colors: number of colors in the colormap.
% colormap: red, green, blue color packets.
%
currentfile buffer readline pop
token pop /colors exch def pop
/colors colors 3 mul def
/colormap colors string def
currentfile colormap readhexstring pop pop
systemdict /colorimage known
{
columns rows 8
[
columns 0 0
rows neg 0 rows
]
{ PseudoClassPacket } false 3 colorimage
}
{
%
% No colorimage operator; convert to grayscale.
%
columns rows 8
[
columns 0 0
rows neg 0 rows
]
{ GrayPseudoClassPacket } image
} ifelse
} ifelse
} bind def
/DisplayImage
{
%
% Display a DirectClass or PseudoClass image.
%
% Parameters:
% x & y translation.
% x & y scale.
% label pointsize.
% image label.
% image columns & rows.
% class: 0-DirectClass or 1-PseudoClass.
% compression: 0-none or 1-RunlengthEncoded.
% hex color packets.
%
gsave
/buffer 512 string def
/byte 1 string def
/color_packet 3 string def
/pixels 768 string def
currentfile buffer readline pop
token pop /x exch def
token pop /y exch def pop
x y translate
currentfile buffer readline pop
token pop /x exch def
token pop /y exch def pop
currentfile buffer readline pop
token pop /pointsize exch def pop
x y scale
currentfile buffer readline pop
token pop /columns exch def
token pop /rows exch def pop
currentfile buffer readline pop
token pop /class exch def pop
currentfile buffer readline pop
token pop /compression exch def pop
class 0 gt { PseudoClassImage } { DirectClassImage } ifelse
grestore
} bind def
%%EndProlog
%%Page: 1 1
%%PageBoundingBox: 0 0 122 56
userdict begin
DisplayImage
0 0
122 56
12
122 56
1
0
0
256
000000
800000
008000
808000
000080
800080
008080
C0C0C0
C0DCC0
A6CAF0
646664
64666C
646A6C
6C6A6C
6C6E6C
6C6E74
6C7274
747274
747674
74767C
7C7A7C
7C7E7C
7C7E84
E4021C
E4061C
E40624
E40E24
E4122C
E4162C
E41634
E41A34
E41E34
EC1E34
E4223C
E4263C
EC223C
EC263C
EC2A3C
EC2A44
EC2E44
EC3244
EC324C
EC364C
EC3A4C
EC3A54
EC3E54
EC4254
EC425C
EC465C
EC4A5C
EC4E64
EC566C
EC5A6C
EC6274
F46674
F4667C
F46A7C
F46E7C
F47284
F47684
F47E8C
848284
848684
84868C
8C8A8C
8C8E8C
8C9294
949294
94969C
949A9C
9C9A9C
9C9E9C
A4A2A4
A4A6AC
ACAAAC
ACAEAC
ACAEB4
ACB2B4
B4B2B4
B4B6B4
B4B6BC
BCBABC
BCBEBC
BCBEC4
BCC2C4
F48A94
F48E9C
F4929C
F496A4
F49AA4
F49AAC
FCA2AC
F4AAB4
F4AEB4
FCA6B4
FCAAB4
FCAEB4
FCB2BC
FCB6BC
FCBAC4
FCBEC4
C4C2C4
C4C6C4
CCCACC
CCCECC
D4D2D4
DCDADC
DCDEDC
FCC2CC
FCC6CC
FCCAD4
FCCED4
FCD2D4
FCD2DC
FCDADC
FCDEE4
E4E2E4
E4E6E4
ECEAEC
ECEEEC
ECF2F4
FCE2E4
FCE6E4
FCE6EC
FCEAEC
FCEEEC
FCEEF4
F4F2F4
F4F6F4
FCF2F4
FCF6F4
FCF6FC
FCFAFC
FCFEFC
FFFFFF
240FBB
000000
AB57D0
240FBB
18F38C
41E9D5
B41C60
18F3E0
F4ECFB
18F398
000157
00018F
00011B
FBBB10
000007
000129
00018A
000518
0001AA
240FBB
000000
AB57D0
18F3CC
426A8E
000007
310AE2
000000
000000
18F3F8
F262FA
0101F8
000157
00018F
18F45C
F32A72
FBBB10
000000
8F0157
000000
407D3C
000000
240FBB
0101F8
18F470
F26D91
F26D51
908880
000007
240FBB
000000
000024
000001
000000
000000
000070
FFFFFF
FFFFFF
F26CE9
F26D91
55E56C
000000
000000
000000
0400E8
18F47C
F2CFEF
FBBB10
000000
000084
000000
8F0157
000001
18F4C4
F2D048
0400E8
000084
000000
F2D05F
908834
000000
000000
407D3C
000000
000001
000003
18F4EC
B76D10
000018
000000
000000
000028
000000
B76B30
B76C31
050923
000054
18F89C
18F7A8
B78644
050923
000054
18F89C
18F8DC
B78650
000000
18F530
A80EF8
18F8DC
B7AD80
000000
000000
FFFBF0
A0A0A4
808080
FF0000
00FF00
FFFF00
0000FF
FF00FF
00FFFF
FFFFFF
8686868686868686868686868686868686868686868686868686868686868686868686868686
8686868686868686868686868686868686868686868686868686868686868686868686868686
8686868686868686868686868686868686868686868686868686868686868686868686868686
8686868686868686868686868686868686868686868686868686868686868686868686868686
8686868686868686868686868686868686868686868686868686868686868686868686868686
8686868686868686868686868686868686868686868686868686868686868686868686868686
8686868686868686868686868686868686868686868686868686868686868686868686868686
8686868686868686868686868686868686868686868686868686868686868686868686868686
8686868686868686868686868686868686868686868686868686868686868686868686868686
8686868686868686868686868686868686868686868686868686868686868686868686868686
8686868686868686868686868686868686868686868686868686868686868686868686868686
8686868686868686868686868686868686868686868686868686868686868686868686868686
8686868686868686868686868686868686868686868686868686868686868686868686868686
8686868686868686868686868686868686868686868686868686868686868686868686868686
8686868686868686868686868686868686868686868686868686868686868686868686868686
8686868686868686868686868686868686868686868686868686868686868686868686868686
8686868686868686868686868686868686868686868686868686868686868686868686868686
8686868686868686868686868686868686868686868686868686868686868686868686868686
8686868686868686868686868686868686868686868686868686868686868686868686868686
8686868686868686868686868686868686868686868686868686868686868686868686868686
8686868686868686868686868686868686868686868686868686868686868686868686868686
8686868686868686868686868686868686868686868686868686868686868686868686868686
8686868686868686868686868686868686868686868686868686868686868686868686868686
8686868686868686868686868686868686868686868686868686868686868686868686868686
8686868686868686868686868686868686868686868686868686868686868686868686868686
8686868686868686868686868686868686868686868686868686868686868686868686868686
8686868686868686868686868686868686868686868686868686868686868686868686868686
8686868686868686868686868686868686868686868686868686868686868686868686868686
8686868686868686868686868686868686868686868686868686868686868686868686868686
8686868686868686868686868686868686868686868686868686868686868686868686868686
8686868686868686868686868686868686868686868686868686868686868686868686868686
8686868686868686868686868686868686868686868686868686868686868686868686868686
8686868686868686868585858585858585858585858585858585858585858585858585858585
8585858585858585858585858585858585858585858585858585858585858585858585858585
8585858585858585858585858585858585858585858585858585858585858585858585858585
8585858585858585858585858686868686858585858585858585858585858585858585858585
8585858585858585858585858585858585858585858585858585858585858585858585858585
8585858585858585858585858585858585858585858585858585858585858585858585858585
8585858585858585858585858585858585858585868686868685858585858585858585858585
8585858585807057352B1F1F1F1F2834556D8085858585858585858585858585858585858585
8585858585858585858585858585858585858585858585858585858585858585858585858585
8585858585858585858585858585858585858585858585858585858586868686868585858585
8585858585858585858585793C251817171717171717171717171F3670808585858585858585
8585858585858585858585858585858585858585858585858585858585858585858585858585
8585858585858585858585858585858585858585858585858585858585858585858585858686
8686868585858585858585858585858585753618171717171717171717171717171717171831
6F85858585858585858585858585858585858585858585858585858585858585858585858585
8585858585858585858585858585858585858585858585858585858585858585858585858585
858585858585868686868685858585858585858585858585571A171717171717171717171717
1717171717171717183980858585858585858585858585858585858585858585858585858585
8585858585858585858585858585858585858585858585858585858585858585858585858585
8585858585858585858585858585868686868685858585858585858585857731171717171717
1717171717171717171717171717171717172870858585858585858585858585858585858585
8585858585858585858585858585858585858585858585858585858585858585858585858585
8585858585858585858585858585858585858585858586868686868585858585858585858572
2517171717171717171717171717171717171717171717171717171C62858585858585858585
8585858585858585858585858585858585858585858585858585858585858585858585858585
8585858585858585858585858585858585858585858585858585858585858686868686858585
8585858585857222171717171717171717171717171717171717171717171717171717171A64
8585858585858585858585858585858585858585858585858585858585858585858585858585
8585858585858585858585858585858585858585858585858585858585858585858585858585
8686868686858585858585858577281717171717171717171717171717171717171717171717
171717171717171A708585858585858585858585858585858585858585858585858585858585
8585858585858585858585858585858585858585858585858585858585858585858585858585
8585858585858585868686868685858585858585853217171717171717171717171717171717
1717171717171717171717171717171722828585858585858585858585858585858585858585
8585858585858585858585858585858585858585858585858585858585858585858585858585
8585858585858585858585858585858586868686868585858585858559181717171717171717
171739717B5F2117171717171717171717171717171717171735858585858585858585768085
8585858585858585858585858585858585758585858585858585858585858585858585858585
85858585858585858585858585858585858585858585858586868686868585858585857A1C17
17171717171717171756858585857B1C1717171717171717171717171717171717186D858585
85858574480B76858585858585858585858585858585856A413D848585858585858585858585
8585858585858585858585858585858585858585858585858585858585858585868686868685
85858585853B171717171717171717171C8285858585853C1717171717171717171717171717
171717172E8485858576490D0A0A7485858585858585858585858585856A430B0A1684858585
8585858585858585858585858585858585858585858585858585858585858585858585858585
8585868686868685858585857718171717171717171717172E8585858585855D171717171717
1717171717171717171717171864858585440A0B0A0B75858585858585858585858585857F12
0A0A0A1684858585858585858585858585858585858585858585858585858585858585858585
85858585858585858585868686868685858585855717171717171717171717171C8585858585
85551717171717171717171717171717171717171734858585440A0A0A0B7485858585858585
8585858585857F110B0A0B158485858585858585858585858585858585858585858585858585
858585858585858585858585858585858585868686868685858585802B171717171717171717
1717175985858585771F171717171717171717171717171717171717171B7C8585430A0B0A0A
758585858585858585858585858578110A0A0A15848585858585858585858585858585858585
85858585858585858585858585858585858585858585858585858686868686858585857A1717
1717171717171717171717183C747D6225171717171717171717171717171717171717171717
618585440A0A0A0B74858585858585858585858585857F110A0B0A1684858585858585858585
8585858585858585858585858585858585858585858585858585858585858585858586868686
86858585855C17171717171717171717171717171718181717171717182D2D2D2E1F17171717
17182B2D2D2D22173B8585430A0B0A0B74764F44444A6A848585858585857F110A0A0A168485
85858585858581674844444968838585858585856A6867676769848585858267676767686B85
858585858686868686858585853C171717171717171717171717171717171717171717171C85
8585855817171717171C818585855B172F8585440A0A0A0A440F0A0A0B0A0B43768585858585
7F110A0B0A158485858585858567130A0A0A0A0B0A13688585858585670D0A0A0A0A51858585
4C0A0A0A0A0B6985858585858686868686858585853317171717171717171717171717171717
1717171717171C858585855717171717171F818585855B171F8585430A0B0A0B0A0A0B0A0A0A
0A0A14788585858578110A0A0A168485858585844C0B0A0B0A0B0A0A0A0A0B50858585858544
0A0B0A0B0F76857A0F0A0A0A0A488585858585858686868686858585852E1717171717171717
17171717171717171717171717171C858585855817171717171C818585855B171B8185440A0A
0A0A0A0B0A0A0B0A0A0B0A46858585857F110B0A0B158485858585650A0A0A0A0A0A0B0A0B0A
0A0B678585858577110A0A0A0A4884440A0B0A0B137F8585858585858686868686858585852B
171717171717171717171717171717171717171717171C858585855717171717171F81858585
5B171A7E85430A0A0B0A0B0A0D0D0A0B0A0A0A0D748585857F110A0A0A15848585857C0F0B0A
0A0A0B0A0A0A0A0A0B0A117E85858585660B0A0B0A0D500B0A0A0A0A69858585858585858686
868686858585852D171717171717171717171717171717171717171717171C85858585581717
1717171C818585855B171A7D85440A0A0A0A11678585670D0A0B0A0A4A8585857F110A0B0A16
848585854C0A0A0A0B0D528380510D0A0A0B0A4E8585858585430A0A0A0B0A0A0B0A0B468585
8585858585858686868686858585852B17171717171717171717171717171717171717171717
1C858585855717171717171F818585855B171B8385430A0B0A0A6A858585854D0A0A0A0A3F85
858578110A0A0A1684858585130A0B0A0A5385858585500B0A0A0A168585858585760F0B0A0A
0A0B0A0A127F8585858585858585868686868685858585341717171717171717171717171717
17171717171717171C858585855817171717171C818585855B171F8585440A0A0A0B74858585
857E0A0B0A0B0D8485857F110A0B0A15848585760A0A0A0A0F8285858585820D0A0B0A0D7685
85858585650A0B0A0A0A0A0B678585858585858585858686868686858585853B171717171717
171717171717171717171717171717171C858585855717171717171F818585855B172F858543
0B0A0B0A7585858585850F0A0A0A0D7785857F110A0A0A168485856A0A0B0A0A428585858585
853F0A0A0A0B6A858585858584400A0A0A0B0A44858585858585858585858686868686858585
8560171717171717171717171717171717171717171717171C858585855817171717171C8285
85855B173A8585440A0A0A0B7485858585853D0A0B0A0B7685857F110B0A0B15848585680A0A
0A0B47858585858585440A0B0A0A69858585858585470B0A0B0A0A4985858585858585858585
86868686868585858579171717171717171717171717171717171717171717171C8585858557
171717171720818585855B17618585430A0A0B0A768585858585160A0A0A0D7685857F110A0A
0A15848585670B0A0B0A46858585858585440A0A0A0A6A8585858585690B0A0A0A0A0A0B6B85
8585858585858585868686868685858585852C17171717171717171717171717171717171717
17171C858585855A17171717171F858585855B1C7C8585440A0A0A0A748585858585130A0B0A
0B7785857F100A0B0A168485856B0A0A0A0A3F858585858585160A0B0A0B6B858585857F140A
0B0A0B0A0B0A1683858585858585858586868686868585858585571717171717171717171717
171717171717171717171C8485858564171717171731858585855B34858585430A0B0A0B7585
8585857F0A0A0A0A0E8485857F110A0A0B158485857F0B0A0B0A0B7785858585750B0A0A0A0E
7F85858585490A0A0A0A0A0A0A0A0A4E8585858585858585868686868685858585857E1A1717
1717171717171717171717171717171717171A728585858126171717175E858585855E638585
85440A0A0A0A5385858584500A0B0A0B3F8585857F110A0A0A16848585853D0A0A0A0B488485
8584440A0A0B0A40858585856A0B0A0B0A0B470B0A0B0A0D6B85858585858585868686868685
85858585853B171717171717171717171717171717171717171717628585858570321E295985
858585857384858585430A0B0A0A0B486974500F0A0A0A0A4F8585857F100A0B0A1584858585
510A0B0A0A0A446767400B0A0A0A0A6585858582160A0A0A0A42823F0A0A0A0B3E8485858585
858586868686868585858585857B1C1717171717171717171717171717171717171717358585
8585858585858585858585858585858585440A0A0A0B0A0A0A0A0A0A0A0B0A0F768585857F11
0B0A0A168485858583150A0A0B0A0A0B0A0A0A0A0B0A3D808585854C0A0B0A0B0D74856A0C0A
0B0A0A5085858585858586868686868585858585858559171717171717171717171717171717
17171717171A73858585858585858585858585858585858585430A0B0A0A0A0B0A0A0B0A0B0A
0A4E858585857F110A0A0A1684858585856A0D0A0A0B0A0A0A0A0B0A0A0F748585856B0C0A0A
0A0A4B858585480A0A0B0A0D7585858585858686868686858585858585858533171717171717
17171717171717171717171717172B77858585858585857E858585858585858585440A0A0A0B
0A0A0A0B0A0A0A0A4484858585857F100A0B0A15848585858585690F0A0A0B0A0B0A0A0A116A
858585843D0B0A0B0A14838585857F110A0A0A0B3F8585858585868686868685858585858585
857C271717171717171717171717171717171717171717256277858585815C2C728185858585
858585450E0F0D0E4D140A0A0A0A114E8485858585857F140E0E0E3F8485858585858575440D
0A0A0A0A0F467685858585510E0E0E0D0F688585858585540E0F0E0D0E658585858586868686
8685858585858585858573241717171717171717171717171717171717171717171F2E322E1F
1717236D85858585858585807E77777884826A5365697F85858585858585857F777E777F8585
858585858585857769535269778585858585857F777E777778858585858585857E7777787C80
8585858586868686868585858585858585858572261717171717171717171717171717171717
1717171717171717171D63858585858585858585858585858585858585858585858585858585
8585858585858585858585858585858585858585858585858585858585858585858585858585
858585858585858585858585868686868685858585858585858585857E311717171717171717
17171717171717171717171717171717276F8585858585858585858585858585858585858585
8585858585858585858585858585858585858585858585858585858585858585858585858585
8585858585858585858585858585858585858585868686868685858585858585858585858585
571B1717171717171717171717171717171717171717193A8185858585858585858585858585
8585858585858585858585858585858585858585858585858585858585858585858585858585
8585858585858585858585858585858585858585858585858585858586868686868585858585
85858585858585858579371A1717171717171717171717171717171718306E85858585858585
8585858585858585858585858585858585858585858585858585858585858585858585858585
8585858585858585858585858585858585858585858585858585858585858585858585858686
86868685858585858585858585858585858585733C2617171717171717171717171720386E85
8585858585858585858585858585858585858585858585858585858585858585858585858585
8585858585858585858585858585858585858585858585858585858585858585858585858585
8585858585858686868686858585858585858585858585858585858585837058352D231F231F
2A34566C81858585858585858585858585858585858585858585858585858585858585858585
8585858585858585858585858585858585858585858585858585858585858585858585858585
8585858585858585858585858585868686868685858585858585858585858585858585858585
8585858585858585858585858585858585858585858585858585858585858585858585858585
8585858585858585858585858585858585858585858585858585858585858585858585858585
8585858585858585858585858585858585858585858586868686868585858585858585858585
8585858585858585858585858585858585858585858585858585858585858585858585858585
8585858585858585858585858585858585858585858585858585858585858585858585858585
858585858585858585858585858585858585858585858585858585858585
end
%%PageTrailer
%%Trailer
%%EOF

View File

@ -1,216 +1,241 @@
\section{Bootloader} \section{Installation}
To build a bootloader for the project \textit{moray white 2} you have to do the \subsection{SD card preparation}
following steps:\\ \subsubsection{Partitions}
\begin{enumerate} Format the SD card with two new partitions:
\item check/edit build job file
\item check/edit configuration file
\item create release tag in gitlab
\end{enumerate}
\subsection{Build job file}
The build job file (\texttt{.gitlab-ci.yml}) could be found in the root
directory of the repository. Here only the build configuration is done. In the
\texttt{variables} Section the variable \texttt{PROJECT} contains the current
build configuration.\\
Possible build configurations:
\captionof{table}{Values for build configutation}
\label{tab:var_build_confs}
\begin{tabular}{l l}
\cellcolor{black}\color{white}build config & \cellcolor{black}\color{white}meaning \\
white2-dbg & use the debug configuration to build the release\\
white2-rel & use the release configuration to build the release\\\\
\end{tabular}
\textbf{Example}
\lstsetbash \lstsetbash
\begin{lstlisting} \begin{lstlisting}
variables: fdisk /dev/mmcblk0
PROJECT: "white2-dbg"
...
\end{lstlisting} \end{lstlisting}
\begin{lstlisting}
variables:
PROJECT: "white2-rel"
...
\end{lstlisting}
\subsection{Configuration file}
The configuration file (\texttt{configuration.xml}) depends on the build
configuration (\texttt{white2-dbg} or \texttt{white2-rel}) and could be found
in following folder (relative to the repositories root folder):\\
\begin{lstlisting}
moray/config/<build_config>/
\end{lstlisting}
Amongst others informations regarding version numbers, deploy file names and
deploy locations are encapsulated in the \texttt{postlink} target.
\captionof{table}{Release relevant attributes in configuration file}
\label{tab:conf_vars}
\begin{tabular}{l l}
\cellcolor{black}\color{white}attributes & \cellcolor{black}\color{white}meaning \\
OUT\_EXECUTABLE\_NAME & file name for the bootloader executable\\
REL\_VERSION & version numbering scheme\\
OUT\_DEPLOY\_PATH & subversion link to deploy the release to\\\\
\end{tabular}
It's usually enough to change \texttt{OUT\_EXECUTABLE\_NAME} and
\texttt{REL\_VERSION} according to the release numbering scheme.\\\\
\textbf{Example}
\begin{lstlisting}
...
<attribute name="OUT_EXECUTABLE_NAME"
value="MO_BL_42_3.0.6_dbg.S19"/>
<attribute name="REL_VERSION"
value="42.3.0.6"/>
<attribute name="OUT_DEPLOY_PATH"
value="http://dabsvn01.internal.novero.com/svn/\
0_31X_P0521_moray_white2/trunk/development/\
software/releases/WTC/"/>
...
\end{lstlisting}
\subsection{Create release tag in gitlab}
To create a release candidate a tag in gitlab has to be created. Of course this
could be done either locally (don't forget to push the tag) or by using the
gitlab ui.
\subsubsection{Release candidate}
To create a release candidate the tag name must match the following regular
expression:
\begin{lstlisting}
^release/white2/MO_BL_42_[0-9]+\.[0-9]+\.[0-9]+_RC[0-9]+
\end{lstlisting}
\textbf{Example}
\begin{lstlisting}
release/white2/MO_BL_42_0.0.0_RC0
release/white2/MO_BL_42_255.255.255_RC255
\end{lstlisting}
\subsubsection{Release}
To create a release the tag name must match the following regular expression:
\begin{lstlisting}
^release/white2/MO_BL_42_[0-9]+\.[0-9]+\.[0-9]+
\end{lstlisting}
\textbf{Example}
\begin{lstlisting}
release/white2/MO_BL_42_0.0.0
release/white2/MO_BL_42_255.255.255
\end{lstlisting}
\textbf{Note:} Any tag which shouldn't trigger a release build must not match
these regular expression rules.
\section{Application}
For application building in the project \textit{moray white 2} the same steps as
for bootloader building are necessary:\\
\begin{enumerate} \begin{enumerate}
\item check/edit build job file \item Type \textbf{o} to erase all former partitions
\item check/edit configuration file \item Type \textbf{p} to list all existing partitions
\item create release tag in gitlab \item Type \textbf{n}, then \textbf{p} to create the boot partition. Press
\textbf{RETURN} to accept the first sector, then \textbf{+100M} for the
last sector
\item Type \textbf{t}, then \textbf{c} to set the partition type to FAT32
\item Type \textbf{n}, then \textbf{p} to create the root partition. Press
\textbf{RETURN} to accept the first sector, then \textbf{RETURN} for the
last sector
\item Type \textbf{w} to write the new partition table
\end{enumerate} \end{enumerate}
\subsection{Build job file} \subsubsection{File systems}
The build job file (\texttt{.gitlab-ci.yml}) could be found in the root Create the file systems for the new partitions:
directory of the repository. Here only the build configuration is done. In the \begin{lstlisting}
\texttt{variables} Section the variable \texttt{PROJECT} contains the current mkfs.vfat /dev/mmcblk0p1
build configuration.\\ mkfs.ext4 /dev/mmcblk0p2
Possible build configurations: \end{lstlisting}
Create mount points and mount the new partitions:
\begin{lstlisting}
mkdir boot
mkdir root
mount /dev/mmcblk0p1 boot
mount /dev/mmcblk0p2 root
\end{lstlisting}
\captionof{table}{Values for build configutation} \subsubsection{Download and extract root file system}
\label{tab:var_build_confs} \begin{lstlisting}
wget http://archlinuxarm.org/os/\
ArchLinuxARM-rpi-2-latest.tar.gz
bsdtar -xpf ArchLinuxARM-rpi-2-latest.tar.gz -C root
sync
mv root/boot/* boot
\end{lstlisting}
Enable ssh root login:
\begin{lstlisting}
vim root/etc/ssh/sshd\_config
\end{lstlisting}
Find \texttt{\#PermitRootLogin yes} and uncommend it
\begin{lstlisting}
PermitRootLogin yes
\end{lstlisting}
Unmount both partitions
\begin{lstlisting}
umount boot root
\end{lstlisting}
\section{Configuration}
\subsection{User management}
\subsubsection{Create new user}
\begin{lstlisting}
useradd -m -g users -G wheel -s /bin/bash tkl
\end{lstlisting}
\begin{tabular}{ l l } \begin{tabular}{ l l }
\cellcolor{black}\color{white}build config & \cellcolor{black}\color{white}meaning \\ \texttt{-m} & create user name home directory\\
white2-dbg & use the debug configuration to build the release\\ \texttt{-g} & initial login group\\
white2-rel & use the release configuration to build the release\\\\ \texttt{-G} & list of supplementary groups - comma separated\\
\end{tabular} \texttt{-s} & path and file name of default login shell\\
\end{tabular}\\
\textbf{Example} Set password for the new user:
\lstsetbash
\begin{lstlisting} \begin{lstlisting}
variables: passwd tkl
PROJECT: "white2-dbg"
...
\end{lstlisting} \end{lstlisting}
Enable wheel group members as sudoers:
\begin{lstlisting} \begin{lstlisting}
variables: EDITOR=vim visudo
PROJECT: "white2-rel" \end{lstlisting}
... Uncomment:
\begin{lstlisting}
%wheel ALL=(ALL) ALL
\end{lstlisting} \end{lstlisting}
\subsection{Configuration file} \subsection{Aliasing}
The configuration file (\texttt{configuration.xml}) depends on the build
configuration (\texttt{white2-dbg} or \texttt{white2-rel}) and could be found
in following folder (relative to the repositories root folder):\\
\begin{lstlisting} \begin{lstlisting}
config/<build_config>/ cd ~
vi .bashrc
\end{lstlisting} \end{lstlisting}
Amongst others informations regarding version numbers, bootloader location, Add:\\
deploy file names and deploy locations are encapsulated in the \texttt{postlink} \texttt{alias vi='vim'}
target.
\captionof{table}{Release relevant attributes in configuration file} \subsection{Customize vim}
\label{tab:conf_vars} Edit \texttt{.vimrc}:
\begin{tabular}{l l}
\cellcolor{black}\color{white}attributes & \cellcolor{black}\color{white}meaning \\
OUT\_EXECUTABLE\_NAME & file name for the bootloader executable\\
REL\_VERSION & version numbering scheme\\
IN\_BOOTLOADER\_URL & path to the bootloader url containing the\\
& regarding bootloader executable\\
OUT\_DEPLOY\_PATH & subversion link to deploy the release to\\\\
\end{tabular}
It's usually enough to change \texttt{OUT\_EXECUTABLE\_NAME} and
\texttt{REL\_VERSION} according to the release numbering scheme. Only in case of
a changed bootloader the \texttt{IN\_BOOTLOADER\_URL} has to be changed.\\\\
\textbf{Example}
\begin{lstlisting} \begin{lstlisting}
... syntax on "Syntax highlightning
<attribute name="OUT_EXECUTABLE_NAME" set number "Line numbering
value="MO_BL_42_3.0.6_dbg.S19"/>
<attribute name="REL_VERSION"
value="42.3.0.6"/>
<attribute name="IN_BOOTLOADER_URL" value="http://\
dabsvn01/svn/0_31X_P0521_moray_white2/trunk/\
development/software/releases/WTC/Bootloader/\
MO_BL_42_3.1.6.S19"/>
<attribute name="OUT_DEPLOY_PATH"
value="http://dabsvn01.internal.novero.com/svn/\
0_31X_P0521_moray_white2/trunk/development/\
software/releases/WTC/"/>
...
\end{lstlisting}
\subsection{Create release tag in gitlab}
To create a release candidate a tag in gitlab has to be created. Of course this
could be done either locally (don't forget to push the tag) or by using the
gitlab ui.
\subsubsection{Release candidate}
To create a release candidate the tag name must match the following regular
expression:
\begin{lstlisting}
^release/white2/MO_WC_42_[0-9]+\.[0-9]+\.[0-9]+_RC[0-9]+
\end{lstlisting} \end{lstlisting}
\textbf{Example} \subsection{Wifi}
Configure wifi network:
\begin{lstlisting} \begin{lstlisting}
release/white2/MO_WC_42_0.0.0_RC0 wifi-menu
release/white2/MO_WC_42_255.255.255_RC255 \end{lstlisting}
Enable wifi network permanent:
\begin{lstlisting}
netctl enable wlan0-<network_name>
\end{lstlisting}
\subsubsection{Deactivate wifi device sleep mode}
\begin{lstlisting}
pacman -S iw
echo ACTION=="add", SUBSYSTEM=="net", KERNEL=="wlan*", \
RUN+="/usr/bin/iw dev \%k set power\_save off\" \
> etc/udev/rules.d/70-wifi-powersave.rules
\end{lstlisting} \end{lstlisting}
\subsubsection{Release} \subsection{Ssh key login}
To create a release the tag name must match the following regular expression: \begin{itemize}
\item Create \texttt{.ssh/} folder in users home directory
\item Copy public key file (i.e. \texttt{id\_rsa.pub}) into \texttt{.ssh}
folder
\item Authorize public key:
\begin{lstlisting} \begin{lstlisting}
^release/white2/MO_WC_42_[0-9]+\.[0-9]+\.[0-9]+ cat id_rsa.pub >> authorized_keys
\end{lstlisting}
\end{itemize}
\subsection{Interfaces}
\subsubsection{I2C}
To enable i2c interface edit \texttt{/boot/config.txt}. \\
Uncomment \texttt{\#device\_tree\_param=i2c\_arm=on}\\
Load i2c modules while boot:
\begin{lstlisting}
/etc/modules-load.d/raspberry.conf
i2c-dev
i2c-bcm2708
\end{lstlisting}
Install package \texttt{i2c-tools}
Test i2c bus after reboot:
\begin{lstlisting}
i2cdetect -y 1
\end{lstlisting}
Set permissions for i2c device access:
\begin{lstlisting}
/etc/udev/rules.d/99-i2c.rules
KERNEL=="i2c-1", MODE="0777"
\end{lstlisting} \end{lstlisting}
\textbf{Example} \subsubsection{SPI}
To enable spi interface edit \texttt{/boot/config.txt}. \\
Uncomment \texttt{\#device\_tree\_param=spi=on}
\subsubsection{GPIO}
Create an udev rule to enable others than root accessing the gpio files:
\begin{lstlisting} \begin{lstlisting}
release/white2/MO_WC_42_0.0.0 /etc/udev/rules.d/98-gpio.rules
release/white2/MO_WC_42_255.255.255
SUBSYSTEM=="gpio*", PROGRAM="/bin/sh -c 'chown -R root:gpio\
/sys/class/gpio; chmod -R 0777 /sys/class/gpio; chown -R \
root:gpio /sys/devices/virtual/gpio; chmod -R 0777 \
/sys/devices/virtual/gpio'"
\end{lstlisting} \end{lstlisting}
\textbf{Note:} Any tag which shouldn't trigger a release build must not match \subsection{tools}
these regular expression rules. \begin{itemize}
\item \texttt{fakeroot}
\item \texttt{gcc}
\item \texttt{git}
\item \texttt{make}
\item \texttt{patch}
\item \texttt{python2, python2-pip}
\item \texttt{wget}
\end{itemize}
\subsection{Hostname}
\begin{lstlisting}
echo "hostname" > /etc/hostname
\end{lstlisting}
\section{Applications}
\subsection{I2C-OLED}
\subsubsection{Oled Test application}
Clone test application:
\begin{lstlisting}
git clone git@dabgit01.internal.novero.com:raspberry/\
oledpi.git
\end{lstlisting}
\subsubsection{Install driver}
Clone oled driver:
\begin{lstlisting}
git clone https://github.com/rm-hull/ssd1306.git
\end{lstlisting}
Install it:
\begin{lstlisting}
python2 setup.py install
\end{lstlisting}
\subsubsection{Dependencies}
\begin{itemize}
\item \texttt{python-smbus/python2-smbus} (AUR)
\item \texttt{i2c-tool-git} (AUR)
\item \texttt{libjpeg-turbo}
\item \texttt{pillow} install using pip \texttt{(pip/pip2 install pillow)}
\end{itemize}
\subsection{Weatherpi}
\subsubsection{Usb weatherstation test application}
Clone test application:
\begin{lstlisting}
git clone git@dabgit01.internal.novero.com:raspberry/\
weatherpi.git
\end{lstlisting}
\subsubsection{Dependencies}
\begin{itemize}
\item \texttt{python2-pyusb} (AUR) (edit \texttt{PKGBUILD} and add
\texttt{'armv7h'} to \texttt{arch})
\item \texttt{libusb-compat}
\end{itemize}
\subsection{MQTT Broker}
Install mosquitto (AUR)\\
Install paho-mqtt client library:\\
\begin{lstlisting}
pip2 install paho-mqtt
\end{lstlisting}
Create config file:
\begin{lstlisting}
cp /etc/mosquitto.conf.example /etc/mosquitto.conf
\end{lstlisting}
Start mosquitto broker service:
\begin{lstlisting}
systemctl enable mosquitto.service
systemctl start mosquitto.service
\end{lstlisting}
\subsubsection{Test}
Subscribe to a topic:
\begin{lstlisting}
mosquitto_sub -t "topic/path"
\end{lstlisting}
Populate a message:
\begin{lstlisting}
mosquitto_pub -t "topic/path" -m "message payload"
\end{lstlisting}

View File

@ -1,4 +1,4 @@
\newcommand{\docname}{Create release} \newcommand{\docname}{HowTo}
\newcommand{\prjname}{moray white2} \newcommand{\prjname}{arch linux on raspberry pi}
\newcommand{\docversion}{0.1} \newcommand{\docversion}{0.1}
\newcommand{\docauthor}{Thomas Klaehn} \newcommand{\docauthor}{Thomas Klaehn}