Updated Docs

This commit is contained in:
William Miceli
2021-02-02 00:51:29 -05:00
parent a9acafed53
commit 8d69e473b5
48 changed files with 541 additions and 189 deletions

View File

@@ -0,0 +1,2 @@
\hypertarget{_design_01_choices_8markdown}{}\doxysection{Hardware/\+Design Choices.\+markdown File Reference}
\label{_design_01_choices_8markdown}\index{Hardware/Design Choices.markdown@{Hardware/Design Choices.markdown}}

View File

@@ -1,16 +1,16 @@
\hypertarget{documentation_guide_autotoc_md18}{}\doxysection{Doxygen}\label{documentation_guide_autotoc_md18}
\hypertarget{documentation_guide_autotoc_md20}{}\doxysection{Doxygen}\label{documentation_guide_autotoc_md20}
The program called \char`\"{}doxygen\char`\"{} (\href{https://github.com/doxygen/doxygen}{\texttt{ Git\+Hub Page}} and \href{https://www.doxygen.nl/}{\texttt{ Website}}) is what we\textquotesingle{}re using to document our project and try to make things a bit simpler/easier not only for us, but also future projects or people looking at what we\textquotesingle{}ve done.
It simply uses a small configuration file at the root of the project {\ttfamily /\+Doxyfile} to store some settings, and the rest is through mainly Markdown files ({\ttfamily .md} or {\ttfamily .markdown}) and source code files.
It is setup (as of writing this) that someone can simply open the {\ttfamily /\+Doxyfile} in the GUI Wizard, click on the \char`\"{}\+Run\char`\"{} tab, then \char`\"{}\+Run doxygen\char`\"{}, and everything will be updated... that\textquotesingle{}s it.\hypertarget{documentation_guide_autotoc_md19}{}\doxysection{Updating Documentation}\label{documentation_guide_autotoc_md19}
You need to have installed the program from either the Git\+Hub page or website, then simply open the {\ttfamily /\+Doxyfile} within the GUI frontend or \char`\"{}\+Wizard\char`\"{}.\hypertarget{documentation_guide_autotoc_md20}{}\doxysection{Important Notes}\label{documentation_guide_autotoc_md20}
It is setup (as of writing this) that someone can simply open the {\ttfamily /\+Doxyfile} in the GUI Wizard, click on the \char`\"{}\+Run\char`\"{} tab, then \char`\"{}\+Run doxygen\char`\"{}, and everything will be updated... that\textquotesingle{}s it.\hypertarget{documentation_guide_autotoc_md21}{}\doxysection{Updating Documentation}\label{documentation_guide_autotoc_md21}
You need to have installed the program from either the Git\+Hub page or website, then simply open the {\ttfamily /\+Doxyfile} within the GUI frontend or \char`\"{}\+Wizard\char`\"{}.\hypertarget{documentation_guide_autotoc_md22}{}\doxysection{Important Notes}\label{documentation_guide_autotoc_md22}
\begin{DoxyItemize}
\item Make sure that the {\ttfamily /\+Doxyfile} stays where it\textquotesingle{}s at! It should be kept at the root directory (just to keep things simple)
\item Make sure you use RELATIVE paths when changing configurations, or else when someone else tries running the {\ttfamily /\+Doxyfile}, they\textquotesingle{}ll have to re-\/do all of them in order for it to start functioning again.
\item {\bfseries{DO NOT}} put any files into the {\ttfamily /\+Documentation} folder manually, as they {\bfseries{WILL BE DELETED}} when doxygen is run.
\end{DoxyItemize}\hypertarget{documentation_guide_autotoc_md21}{}\doxysubsection{For Consistency}\label{documentation_guide_autotoc_md21}
\end{DoxyItemize}\hypertarget{documentation_guide_autotoc_md23}{}\doxysubsection{For Consistency}\label{documentation_guide_autotoc_md23}
\begin{DoxyItemize}
\item Please make sure the internal names (\char`\"{}tags\char`\"{}) of files are using \char`\"{}camel\+Case\char`\"{}

View File

@@ -2,8 +2,8 @@
\begin{DoxyItemize}
\item \mbox{\hyperlink{designChoices}{Design Choices}}
\item \mbox{\hyperlink{deviceSpecifications}{Device Specifications}}
\item \mbox{\hyperlink{layoutPlanning}{Layout Planning}}
\end{DoxyItemize}
\DoxyHorRuler{0}
@@ -20,8 +20,51 @@
\item Avoid running PCB traces underneath or adjacent to the XIN and XOUT pins.
\end{DoxyItemize}
\end{DoxyItemize}
\end{DoxyItemize}\hypertarget{deviceSpecifications}{}\doxysection{Device Specifications}\label{deviceSpecifications}
\hypertarget{device_specifications_autotoc_md2}{}\doxysubsubsection{Microcontroller\+: Texas Instruments MSP430\+F5438\+AIPZR}\label{device_specifications_autotoc_md2}
\end{DoxyItemize}\hypertarget{designChoices}{}\doxysection{Design Choices}\label{designChoices}
\hypertarget{design_choices_autotoc_md2}{}\doxysubsection{JTAG Interface}\label{design_choices_autotoc_md2}
When connecting the MCU to the programmer via the JTAG interface, it is possible for a local power supply connected to the MCU to be used or for power from the debugging/programming adapter to be used. Since having power supplied to the MCU from the debugging/programming adapter can be useful for use outside of the Sunseeker vehicle, we chose to use that.\hypertarget{design_choices_autotoc_md3}{}\doxysubsection{Microcontroller Peripheral Connections}\label{design_choices_autotoc_md3}
Universal Serial Communication Interfaces (USCIs)\+:
\begin{DoxyItemize}
\item A -\/ Supporting up to four total of UART and/or SPI
\begin{DoxyItemize}
\item A0 \mbox{[}SPI\mbox{]}\+:
\begin{DoxyItemize}
\item CANbus Controller 0 (Microchip Technology MCP2515\+T-\/\+I/\+SO)
\item CANbus Controller 1 (Microchip Technology MCP2515\+T-\/\+I/\+SO)
\end{DoxyItemize}
\item A1\+:
\item A2 \mbox{[}UART\mbox{]}\+:
\begin{DoxyItemize}
\item RS-\/232 Transceiver (STMicroelectronics ST232\+CDR)
\end{DoxyItemize}
\item A3 \mbox{[}UART\mbox{]}\+:
\begin{DoxyItemize}
\item USB to UART Bridge (Future Technology Devices International FT230\+XS-\/R)
\end{DoxyItemize}
\end{DoxyItemize}
\item B -\/ Supporting up to four total of I2C and/or SPI
\begin{DoxyItemize}
\item B0 \mbox{[}SPI\mbox{]}\+:
\begin{DoxyItemize}
\item SD Card
\item GPS Receiver (Maxim Integrated \+MAX2771\+ETI+T)
\end{DoxyItemize}
\item B1 \mbox{[}SPI\mbox{]}\+:
\begin{DoxyItemize}
\item Bluetooth/\+Wi-\/\+Fi (Espressif Systems ESP32-\/\+WROVER-\/\+IE (8MB))
\end{DoxyItemize}
\item B2 \mbox{[}I2C\mbox{]}\+:
\begin{DoxyItemize}
\item Inertial Measurement Unit (TDK Inven\+Sense ICM-\/20600)
\item Real-\/\+Time Clock/\+Calendar (Microchip Technology \+MCP7940\+MT-\/\+I/\+SN)
\end{DoxyItemize}
\end{DoxyItemize}
\end{DoxyItemize}
The thinking behind this so far, is to try and balance the load between the modules with SPI protocol being used in more high data-\/rate peripherals and I2C used with lower or less-\/used peripherals. \hypertarget{deviceSpecifications}{}\doxysection{Device Specifications}\label{deviceSpecifications}
\hypertarget{device_specifications_autotoc_md4}{}\doxysubsubsection{Microcontroller\+: Texas Instruments MSP430\+F5438\+AIPZR}\label{device_specifications_autotoc_md4}
\begin{DoxyItemize}
\item 1.\+8 V to 3.\+6 V Supply Voltage
@@ -45,7 +88,7 @@
\item 14 external channels
\end{DoxyItemize}
\end{DoxyItemize}
\end{DoxyItemize}\hypertarget{device_specifications_autotoc_md3}{}\doxysubsubsection{Real-\/\+Time Clock/\+Calendar\+: Microchip Technology \+MCP7940\+MT-\/\+I/\+SN}\label{device_specifications_autotoc_md3}
\end{DoxyItemize}\hypertarget{device_specifications_autotoc_md5}{}\doxysubsubsection{Real-\/\+Time Clock/\+Calendar\+: Microchip Technology \+MCP7940\+MT-\/\+I/\+SN}\label{device_specifications_autotoc_md5}
\begin{DoxyItemize}
\item 1.\+8 V to 5.\+5 V Supply Voltage
@@ -53,28 +96,48 @@
\begin{DoxyItemize}
\item I2C
\begin{DoxyItemize}
\item Slave only
\item Clock rate up to 400 k\+Hz
\end{DoxyItemize}
\end{DoxyItemize}
\end{DoxyItemize}\hypertarget{device_specifications_autotoc_md4}{}\doxysubsubsection{Bluetooth/\+Wi-\/\+Fi\+: Espressif Systems ESP32-\/\+WROVER-\/\+IE (8\+MB)}\label{device_specifications_autotoc_md4}
\end{DoxyItemize}\hypertarget{device_specifications_autotoc_md6}{}\doxysubsubsection{Bluetooth/\+Wi-\/\+Fi\+: Espressif Systems ESP32-\/\+WROVER-\/\+IE (8\+MB)}\label{device_specifications_autotoc_md6}
\begin{DoxyItemize}
\item 3.\+0 V to 3.\+6 V Supply Voltage
\item Notable Peripherals\+:
\begin{DoxyItemize}
\item I2C
\item SPI
\item UART
\item I2C (2)
\begin{DoxyItemize}
\item Master or Slave
\item 100 kbit/s or 400 kbit/s
\item 7-\/bit/10-\/bit addressing mode
\end{DoxyItemize}
\end{DoxyItemize}\hypertarget{device_specifications_autotoc_md5}{}\doxysubsubsection{GPS Receiver\+: Maxim Integrated \+MAX2771\+ETI+T}\label{device_specifications_autotoc_md5}
\item SPI
\begin{DoxyItemize}
\item SPI, HSPI and VSPI
\item Master or Slave
\item 1-\/line full-\/duplex and 1/2/4-\/line half-\/duplex
\item Up to 80 MHz
\item Up to 64-\/byte FIFO
\end{DoxyItemize}
\item UART (3)
\begin{DoxyItemize}
\item Up to 5 Mbps
\end{DoxyItemize}
\end{DoxyItemize}
\end{DoxyItemize}\hypertarget{device_specifications_autotoc_md7}{}\doxysubsubsection{GPS Receiver\+: Maxim Integrated \+MAX2771\+ETI+T}\label{device_specifications_autotoc_md7}
\begin{DoxyItemize}
\item 2.\+7 V to 3.\+3 V Supply Voltage
\item Notable Peripherals\+:
\begin{DoxyItemize}
\item SPI
\begin{DoxyItemize}
\item Slave only
\item Need to calculate frequency
\end{DoxyItemize}
\end{DoxyItemize}\hypertarget{device_specifications_autotoc_md6}{}\doxysubsubsection{CANbus Controller\+: Microchip Technology MCP2515\+T-\/\+I/\+SO}\label{device_specifications_autotoc_md6}
\end{DoxyItemize}
\end{DoxyItemize}\hypertarget{device_specifications_autotoc_md8}{}\doxysubsubsection{CANbus Controller\+: Microchip Technology MCP2515\+T-\/\+I/\+SO}\label{device_specifications_autotoc_md8}
\begin{DoxyItemize}
\item 2.\+7 V to 5.\+5 V Supply Voltage
@@ -82,15 +145,16 @@
\begin{DoxyItemize}
\item SPI
\begin{DoxyItemize}
\item Slave (Assuming only option)
\item 10 MHz
\end{DoxyItemize}
\end{DoxyItemize}
\end{DoxyItemize}\hypertarget{device_specifications_autotoc_md7}{}\doxysubsubsection{CAN Bus Transceiver\+: \+Microchip Technology MCP2542\+FD-\/\+H/\+SN}\label{device_specifications_autotoc_md7}
\end{DoxyItemize}\hypertarget{device_specifications_autotoc_md9}{}\doxysubsubsection{CANbus Transceiver\+: \+Microchip Technology MCP2542\+FD-\/\+H/\+SN}\label{device_specifications_autotoc_md9}
\begin{DoxyItemize}
\item 4.\+5 V to 5.\+5 V Supply Voltage
\item Used directly with CANbus Controller
\end{DoxyItemize}\hypertarget{device_specifications_autotoc_md8}{}\doxysubsubsection{SD Card (\+Generic)}\label{device_specifications_autotoc_md8}
\end{DoxyItemize}\hypertarget{device_specifications_autotoc_md10}{}\doxysubsubsection{SD Card (\+Generic)}\label{device_specifications_autotoc_md10}
\begin{DoxyItemize}
\item 2.\+7 V to 3.\+6 V Supply Voltage
@@ -98,12 +162,20 @@
\begin{DoxyItemize}
\item SPI
\end{DoxyItemize}
\end{DoxyItemize}\hypertarget{device_specifications_autotoc_md9}{}\doxysubsubsection{USB to UART Bridge\+: FTDI \+FT260\+Q-\/T}\label{device_specifications_autotoc_md9}
\end{DoxyItemize}\hypertarget{device_specifications_autotoc_md11}{}\doxysubsubsection{USB to UART Bridge\+: Future Technology Devices International FT230\+XS-\/R}\label{device_specifications_autotoc_md11}
\begin{DoxyItemize}
\item We will use a \char`\"{}\+Bus-\/\+Powered Configuration\char`\"{}, requiring the host device to supply power, that way we don\textquotesingle{}t have to.
\end{DoxyItemize}\hypertarget{device_specifications_autotoc_md10}{}\doxysubsubsection{RS-\/232 Transceiver\+: Texas Instruments GD75232\+PWR}\label{device_specifications_autotoc_md10}
\hypertarget{device_specifications_autotoc_md11}{}\doxysubsubsection{Inertial Measurement Unit\+: TDK Inven\+Sense ICM-\/20600}\label{device_specifications_autotoc_md11}
\item 3 V to 5 V Supply Voltage
\item Notable Peripherals\+:
\begin{DoxyItemize}
\item UART
\end{DoxyItemize}
\end{DoxyItemize}\hypertarget{device_specifications_autotoc_md12}{}\doxysubsubsection{RS-\/232 Transceiver\+: STMicroelectronics ST232\+CDR}\label{device_specifications_autotoc_md12}
\begin{DoxyItemize}
\item 4.\+5 V to 5.\+5 V Supply Voltage
\item Will use UART from the MCU
\end{DoxyItemize}\hypertarget{device_specifications_autotoc_md13}{}\doxysubsubsection{Inertial Measurement Unit\+: TDK Inven\+Sense ICM-\/20600}\label{device_specifications_autotoc_md13}
\begin{DoxyItemize}
\item 1.\+71 V to 3.\+45 V Supply Voltage
@@ -111,12 +183,13 @@
\begin{DoxyItemize}
\item I2C
\begin{DoxyItemize}
\item Slave only
\item 400 k\+Hz
\end{DoxyItemize}
\item SPI
\begin{DoxyItemize}
\item Slave only
\item 10 MHz
\end{DoxyItemize}
\end{DoxyItemize}
\end{DoxyItemize}\hypertarget{layoutPlanning}{}\doxysection{Layout Planning}\label{layoutPlanning}
\hypertarget{layout_planning_autotoc_md12}{}\doxysubsubsection{Microcontroller}\label{layout_planning_autotoc_md12}
\end{DoxyItemize}

View File

@@ -7,11 +7,11 @@
\end{DoxyItemize}
\DoxyHorRuler{0}
\hypertarget{index_autotoc_md14}{}\doxysection{About}\label{index_autotoc_md14}
What this project is about (TODO)\hypertarget{index_autotoc_md15}{}\doxysection{Documentation}\label{index_autotoc_md15}
\hypertarget{index_autotoc_md15}{}\doxysection{About}\label{index_autotoc_md15}
What this project is about (TODO)\hypertarget{index_autotoc_md16}{}\doxysection{Documentation}\label{index_autotoc_md16}
For Documentation, we will use \char`\"{}doxygen\char`\"{} to easily create documentation pages for the project. This will be accessible in a variety of means, but primarily through HTML pages accessible through a browser, covering all aspects of the project.
More information here\+: \mbox{\hyperlink{documentation_guide}{Documentation Guide}}\hypertarget{index_autotoc_md16}{}\doxysubsection{Tips from Dr. Bazuin}\label{index_autotoc_md16}
More information here\+: \mbox{\hyperlink{documentation_guide}{Documentation Guide}}\hypertarget{index_autotoc_md17}{}\doxysubsection{Tips from Dr. Bazuin}\label{index_autotoc_md17}
\begin{DoxyItemize}
\item Make sub-\/circuits/sub-\/designs for schematics to keep things organized and modular/copy-\/able
@@ -28,10 +28,17 @@ More information here\+: \mbox{\hyperlink{documentation_guide}{Documentation Gui
\item Document things as we go
\item Need to make sure we have a BOM
\item Free samples for parts from manufacturers
\end{DoxyItemize}\hypertarget{index_autotoc_md17}{}\doxysubsection{Tips from Dr. Gomez}\label{index_autotoc_md17}
\end{DoxyItemize}\hypertarget{index_autotoc_md18}{}\doxysubsection{Tips from Dr. Gomez}\label{index_autotoc_md18}
\begin{DoxyItemize}
\item Our requirements/specifications should be made to be more measurable
\item Need to design to safety standards, which need to be researched online
\item He said that he is available himself for anything power-\/related to help out with if needed
\item He said that he is available himself for anything power-\/related to help out with if needed
\end{DoxyItemize}\hypertarget{index_autotoc_md19}{}\doxysection{TODO List}\label{index_autotoc_md19}
\begin{DoxyItemize}
\item \mbox{[} \mbox{]} Make battery circuitry for Real-\/\+Time Clock/\+Calendar for when the vehicle is off.
\item \mbox{[} \mbox{]} Ensure the footprint for CANbus Transceiver is present, since it\textquotesingle{}s not available in Altium by default, and the import from Ultra Librarian seemed to only successfully add the schematic and 3D Model, but wasn\textquotesingle{}t sure about footprint.
\item \mbox{[} \mbox{]} The CANbus Controller required a resonator/oscillator and capacitor pair to be picked, but non-\/optimized values were given and so we need to test which resonator/oscillator and capacitor pair works best.
\item \mbox{[} \mbox{]} Need to look through Sunseeker documentation to learn how they have their CANbus setup, ensuring we have our controller and transceiver setup correctly.
\end{DoxyItemize}

View File

@@ -185,19 +185,14 @@
\label{documentation_guide}
\Hypertarget{documentation_guide}
\input{documentation_guide}
\chapter{References}
\label{references}
\Hypertarget{references}
\input{references}
\chapter{File Index}
\input{files}
\chapter{File Documentation}
\input{_9_hardware_8markdown}
\input{_design_01_choices_8markdown}
\input{_device_01_specifications_8markdown}
\input{_layout_01_planning_8markdown}
\input{_documentation_01_guide_8markdown}
\input{_r_e_a_d_m_e_8markdown}
\input{_9_references_8markdown}
\input{_9_software_8markdown}
\input{main_8c}
%--- End generated contents ---