\documentclass[10pt,a4paper]{article} % Packages \usepackage{fancyhdr} % For header and footer \usepackage{multicol} % Allows multicols in tables \usepackage{tabularx} % Intelligent column widths \usepackage{tabulary} % Used in header and footer \usepackage{hhline} % Border under tables \usepackage{graphicx} % For images \usepackage{xcolor} % For hex colours %\usepackage[utf8x]{inputenc} % For unicode character support \usepackage[T1]{fontenc} % Without this we get weird character replacements \usepackage{colortbl} % For coloured tables \usepackage{setspace} % For line height \usepackage{lastpage} % Needed for total page number \usepackage{seqsplit} % Splits long words. %\usepackage{opensans} % Can't make this work so far. Shame. Would be lovely. \usepackage[normalem]{ulem} % For underlining links % Most of the following are not required for the majority % of cheat sheets but are needed for some symbol support. \usepackage{amsmath} % Symbols \usepackage{MnSymbol} % Symbols \usepackage{wasysym} % Symbols %\usepackage[english,german,french,spanish,italian]{babel} % Languages % Document Info \author{carter.fendley} \pdfinfo{ /Title (team-1418-s-frc-cheat-sheet.pdf) /Creator (Cheatography) /Author (carter.fendley) /Subject (Team 1418's FRC Cheat Sheet) } % Lengths and widths \addtolength{\textwidth}{6cm} \addtolength{\textheight}{-1cm} \addtolength{\hoffset}{-3cm} \addtolength{\voffset}{-2cm} \setlength{\tabcolsep}{0.2cm} % Space between columns \setlength{\headsep}{-12pt} % Reduce space between header and content \setlength{\headheight}{85pt} % If less, LaTeX automatically increases it \renewcommand{\footrulewidth}{0pt} % Remove footer line \renewcommand{\headrulewidth}{0pt} % Remove header line \renewcommand{\seqinsert}{\ifmmode\allowbreak\else\-\fi} % Hyphens in seqsplit % This two commands together give roughly % the right line height in the tables \renewcommand{\arraystretch}{1.3} \onehalfspacing % Commands \newcommand{\SetRowColor}[1]{\noalign{\gdef\RowColorName{#1}}\rowcolor{\RowColorName}} % Shortcut for row colour \newcommand{\mymulticolumn}[3]{\multicolumn{#1}{>{\columncolor{\RowColorName}}#2}{#3}} % For coloured multi-cols \newcolumntype{x}[1]{>{\raggedright}p{#1}} % New column types for ragged-right paragraph columns \newcommand{\tn}{\tabularnewline} % Required as custom column type in use % Font and Colours \definecolor{HeadBackground}{HTML}{333333} \definecolor{FootBackground}{HTML}{666666} \definecolor{TextColor}{HTML}{333333} \definecolor{DarkBackground}{HTML}{CF1E0A} \definecolor{LightBackground}{HTML}{FCF0EF} \renewcommand{\familydefault}{\sfdefault} \color{TextColor} % Header and Footer \pagestyle{fancy} \fancyhead{} % Set header to blank \fancyfoot{} % Set footer to blank \fancyhead[L]{ \noindent \begin{multicols}{3} \begin{tabulary}{5.8cm}{C} \SetRowColor{DarkBackground} \vspace{-7pt} {\parbox{\dimexpr\textwidth-2\fboxsep\relax}{\noindent \hspace*{-6pt}\includegraphics[width=5.8cm]{/web/www.cheatography.com/public/images/cheatography_logo.pdf}} } \end{tabulary} \columnbreak \begin{tabulary}{11cm}{L} \vspace{-2pt}\large{\bf{\textcolor{DarkBackground}{\textrm{Team 1418's FRC Cheat Sheet}}}} \\ \normalsize{by \textcolor{DarkBackground}{carter.fendley} via \textcolor{DarkBackground}{\uline{cheatography.com/25327/cs/6595/}}} \end{tabulary} \end{multicols}} \fancyfoot[L]{ \footnotesize \noindent \begin{multicols}{3} \begin{tabulary}{5.8cm}{LL} \SetRowColor{FootBackground} \mymulticolumn{2}{p{5.377cm}}{\bf\textcolor{white}{Cheatographer}} \\ \vspace{-2pt}carter.fendley \\ \uline{cheatography.com/carter-fendley} \\ \end{tabulary} \vfill \columnbreak \begin{tabulary}{5.8cm}{L} \SetRowColor{FootBackground} \mymulticolumn{1}{p{5.377cm}}{\bf\textcolor{white}{Cheat Sheet}} \\ \vspace{-2pt}Published 8th January, 2016.\\ Updated 11th May, 2016.\\ Page {\thepage} of \pageref{LastPage}. \end{tabulary} \vfill \columnbreak \begin{tabulary}{5.8cm}{L} \SetRowColor{FootBackground} \mymulticolumn{1}{p{5.377cm}}{\bf\textcolor{white}{Sponsor}} \\ \SetRowColor{white} \vspace{-5pt} %\includegraphics[width=48px,height=48px]{dave.jpeg} Measure your website readability!\\ www.readability-score.com \end{tabulary} \end{multicols}} \begin{document} \raggedright \raggedcolumns % Set font size to small. Switch to any value % from this page to resize cheat sheet text: % www.emerson.emory.edu/services/latex/latex_169.html \footnotesize % Small font. \begin{multicols*}{2} \begin{tabularx}{8.4cm}{x{3.6 cm} x{4.4 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{8.4cm}}{\bf\textcolor{white}{General Reference}} \tn % Row 0 \SetRowColor{LightBackground} RoboRIO Address: & \seqsplit{roborio-1418-frc.local} \tn % Row Count 1 (+ 1) % Row 1 \SetRowColor{white} Default Gateway & 10.14.18.1 \tn % Row Count 2 (+ 1) % Row 2 \SetRowColor{LightBackground} Robot Router SSID: & 1418 \tn % Row Count 3 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{x{2.16 cm} x{5.84 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{8.4cm}}{\bf\textcolor{white}{Documentation}} \tn % Row 0 \SetRowColor{LightBackground} RobotPy Setup: & \{\{link="http://robotpy.readthedocs.org/en/latest/"\}\}robotpy.readthedocs.org\{\{/link\}\} \tn % Row Count 3 (+ 3) % Row 1 \SetRowColor{white} PyFRC / WPILib: & \{\{link="http://pyfrc.readthedocs.org/en/latest/"\}\}pyfrc.readthedocs.org\{\{/link\}\} \tn % Row Count 6 (+ 3) % Row 2 \SetRowColor{LightBackground} PyFRC Extras: & \{\{link="http://robotpy-wpilib-utilities.readthedocs.org/en/latest/"\}\}robotpy-wpilib-utilities.readthedocs.org\{\{/link\}\} \tn % Row Count 11 (+ 5) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Veiwing Network Tables}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{{\bf{Use}} \newline % Row Count 1 (+ 1) Network Tables are used like a print statement for the robot. We are able to view the values being pushed into network tables from out laptops \newline % Row Count 4 (+ 3) {\bf{Pushing Data to Network Tables}} \newline % Row Count 5 (+ 1) Create new table (Usally in robot init) \newline % Row Count 6 (+ 1) `self.sd = \seqsplit{NetworkTable.getTable('SmartDashboard')`} \newline % Row Count 8 (+ 2) Push value (In robot loop) \newline % Row Count 9 (+ 1) \seqsplit{`self.sd.putNumber("Value} name", value))` \newline % Row Count 10 (+ 1) {\bf{Viewing Network Tables}} \newline % Row Count 11 (+ 1) 1) Install robotpy's eclipse plugins \newline % Row Count 12 (+ 1) 2) Connect to the robot's router on your laptop \newline % Row Count 13 (+ 1) 3) Open eclipse and got to `WPILib \textgreater{} Run Outline Viewer` \newline % Row Count 15 (+ 2) 4) Enter a host of: `roborio-1418.local` \newline % Row Count 16 (+ 1) 5) Click Start Client% Row Count 17 (+ 1) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Python}} \tn \SetRowColor{LightBackground} \mymulticolumn{1}{x{8.4cm}}{{\bf{Statements}} \newline if expression: \newline statements \newline elif expression: \newline statements \newline else: \newline statements \newline \newline {\bf{Loops}} \newline while expression: \newline statements \newline \newline for var in collection: \newline statements \newline \newline for i in range(start, end): \newline statements} \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{x{2 cm} x{6 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{8.4cm}}{\bf\textcolor{white}{Git}} \tn % Row 0 \SetRowColor{LightBackground} Pull Changes: & `git pull` \tn % Row Count 2 (+ 2) % Row 1 \SetRowColor{white} Add a File: & `git add \textless{}file name\textgreater{}` \tn % Row Count 4 (+ 2) % Row 2 \SetRowColor{LightBackground} Remove File: & `git rm \textless{}file name\textgreater{}` \tn % Row Count 6 (+ 2) % Row 3 \SetRowColor{white} Move FIle: & `git mv \textless{}file name\textgreater{} \textless{}new file name/path\textgreater{}` \tn % Row Count 8 (+ 2) % Row 4 \SetRowColor{LightBackground} Commit: & `git commit -m "\textless{}insert comment here\textgreater{}"` \tn % Row Count 10 (+ 2) % Row 5 \SetRowColor{white} Push: & `git push \textless{}repo/remote\textgreater{} \textless{}branchname\textgreater{}` \tn % Row Count 12 (+ 2) % Row 6 \SetRowColor{LightBackground} Check Status: & `git status` \tn % Row Count 14 (+ 2) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{x{3.12 cm} x{4.88 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{8.4cm}}{\bf\textcolor{white}{Command Line / Terminal}} \tn % Row 0 \SetRowColor{LightBackground} Change \seqsplit{Folder/Directory:} & `cd \textless{}folder name\textgreater{}` \tn % Row Count 2 (+ 2) % Row 1 \SetRowColor{white} List Files: & `ls` \tn % Row Count 3 (+ 1) % Row 2 \SetRowColor{LightBackground} Delete File: & `rm \textless{}file name\textgreater{}` \tn % Row Count 4 (+ 1) % Row 3 \SetRowColor{white} Move File: & `mv \textless{}file name\textgreater{} \textless{}new file name/path\textgreater{}` \tn % Row Count 6 (+ 2) % Row 4 \SetRowColor{LightBackground} Create Folder: & `mkdir \textless{}folder name\textgreater{}` \tn % Row Count 7 (+ 1) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Python Robot Simulator}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{{\bf{Use}} \newline % Row Count 1 (+ 1) {\bf{BEFORE}} deploying code to the robot or pushing code to git make sure to test your code in the pyfrc simulator. This makes sure that your code will not crash the robot and can also be helpful when developing code at home away from the robot. \newline % Row Count 6 (+ 5) {\bf{Running Simulator}} \newline % Row Count 7 (+ 1) 1) Navigate `2016-robot/robot/` \newline % Row Count 8 (+ 1) 2) Run the simulator with `python3 robot.py sim`% Row Count 9 (+ 1) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{Deploy To Roborio}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{{\bf{Deploying}} \newline % Row Count 1 (+ 1) 1) Change your wifi to the robot's wifi `1418` \newline % Row Count 2 (+ 1) 2) Navigate to the `2016-robot/robot/` directory in terminal. \newline % Row Count 4 (+ 2) 3) Use command `python3 robot.py deploy` to start deploying. \newline % Row Count 6 (+ 2) 4) Use the robot address `roborio-1418.local` when prompted \newline % Row Count 8 (+ 2) {\bf{Tests}} \newline % Row Count 9 (+ 1) If no tests are in the `2016-robot/tests/` directory then your will have to deploy with `-{}-builtin` \newline % Row Count 11 (+ 2) {\bf{Troubleshooting}} \newline % Row Count 12 (+ 1) Update pyfrc: `pip3 install -{}-upgrade -{}-user pyfrc`% Row Count 14 (+ 2) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} % That's all folks \end{multicols*} \end{document}