Commit 51e068f4eae0d9a09e8308069f34d4a7d00fa25a
1 parent
73c151e9
- Added Sphinx documentation.
Showing
7 changed files
with
153 additions
and
6 deletions
.gitignore
| 1 | build/ | 1 | build/ |
| 2 | cmake-build-debug/ | 2 | cmake-build-debug/ |
| 3 | .idea/workspace.xml | 3 | .idea/workspace.xml |
| 4 | -.vscode/c_cpp_properties.json | ||
| 5 | \ No newline at end of file | 4 | \ No newline at end of file |
| 5 | +.vscode/ | ||
| 6 | + | ||
| 7 | +# Sphinx build dir | ||
| 8 | +docs/_build/ | ||
| 6 | \ No newline at end of file | 9 | \ No newline at end of file |
CHANGELOG.md
| 1 | # Changelog | 1 | # Changelog |
| 2 | + | ||
| 2 | All notable changes to this project will be documented in this file. | 3 | All notable changes to this project will be documented in this file. |
| 3 | 4 | ||
| 4 | The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) | 5 | The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/) |
| @@ -6,6 +7,9 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. | @@ -6,6 +7,9 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. | ||
| 6 | 7 | ||
| 7 | ## [Unreleased] | 8 | ## [Unreleased] |
| 8 | 9 | ||
| 10 | +### Added | ||
| 11 | +- Sphinx documentation. | ||
| 12 | + | ||
| 9 | ## [v2.0.1] - 2017-11-27 | 13 | ## [v2.0.1] - 2017-11-27 |
| 10 | 14 | ||
| 11 | ### Fixed | 15 | ### Fixed |
docs/Makefile
0 โ 100644
| 1 | +# Minimal makefile for Sphinx documentation | ||
| 2 | +# | ||
| 3 | + | ||
| 4 | +# You can set these variables from the command line. | ||
| 5 | +SPHINXOPTS = | ||
| 6 | +SPHINXBUILD = sphinx-build | ||
| 7 | +SOURCEDIR = . | ||
| 8 | +BUILDDIR = _build | ||
| 9 | + | ||
| 10 | +# Put it first so that "make" without argument is like "make help". | ||
| 11 | +help: | ||
| 12 | + @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) | ||
| 13 | + | ||
| 14 | +.PHONY: help Makefile | ||
| 15 | + | ||
| 16 | +# Catch-all target: route all unknown targets to Sphinx using the new | ||
| 17 | +# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). | ||
| 18 | +%: Makefile | ||
| 19 | + @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) | ||
| 0 | \ No newline at end of file | 20 | \ No newline at end of file |
docs/conf.py
0 โ 100644
| 1 | +# Configuration file for the Sphinx documentation builder. | ||
| 2 | +# | ||
| 3 | +# This file only contains a selection of the most common options. For a full | ||
| 4 | +# list see the documentation: | ||
| 5 | +# http://www.sphinx-doc.org/en/master/config | ||
| 6 | + | ||
| 7 | +# -- Path setup -------------------------------------------------------------- | ||
| 8 | + | ||
| 9 | +# If extensions (or modules to document with autodoc) are in another directory, | ||
| 10 | +# add these directories to sys.path here. If the directory is relative to the | ||
| 11 | +# documentation root, use os.path.abspath to make it absolute, like shown here. | ||
| 12 | +# | ||
| 13 | +# import os | ||
| 14 | +# import sys | ||
| 15 | +# sys.path.insert(0, os.path.abspath('.')) | ||
| 16 | + | ||
| 17 | + | ||
| 18 | +# -- Project information ----------------------------------------------------- | ||
| 19 | + | ||
| 20 | +project = 'CppLinuxSerial' | ||
| 21 | +copyright = '2019, Geoffrey Hunter' | ||
| 22 | +author = 'Geoffrey Hunter' | ||
| 23 | + | ||
| 24 | +# The full version, including alpha/beta/rc tags | ||
| 25 | +release = 'v1.0.0' | ||
| 26 | + | ||
| 27 | + | ||
| 28 | +# -- General configuration --------------------------------------------------- | ||
| 29 | + | ||
| 30 | +# Add any Sphinx extension module names here, as strings. They can be | ||
| 31 | +# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom | ||
| 32 | +# ones. | ||
| 33 | +extensions = [ | ||
| 34 | +] | ||
| 35 | + | ||
| 36 | +# Add any paths that contain templates here, relative to this directory. | ||
| 37 | +templates_path = ['_templates'] | ||
| 38 | + | ||
| 39 | +# List of patterns, relative to source directory, that match files and | ||
| 40 | +# directories to ignore when looking for source files. | ||
| 41 | +# This pattern also affects html_static_path and html_extra_path. | ||
| 42 | +exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store'] | ||
| 43 | + | ||
| 44 | + | ||
| 45 | +# -- Options for HTML output ------------------------------------------------- | ||
| 46 | + | ||
| 47 | +# The theme to use for HTML and HTML Help pages. See the documentation for | ||
| 48 | +# a list of builtin themes. | ||
| 49 | +# | ||
| 50 | +html_theme = 'alabaster' | ||
| 51 | + | ||
| 52 | +# Add any paths that contain custom static files (such as style sheets) here, | ||
| 53 | +# relative to this directory. They are copied after the builtin static files, | ||
| 54 | +# so a file named "default.css" will overwrite the builtin "default.css". | ||
| 55 | +html_static_path = ['_static'] |
docs/index.rst
0 โ 100644
| 1 | +.. CppLinuxSerial documentation master file, created by | ||
| 2 | + sphinx-quickstart on Wed May 29 22:11:17 2019. | ||
| 3 | + You can adapt this file completely to your liking, but it should at least | ||
| 4 | + contain the root `toctree` directive. | ||
| 5 | + | ||
| 6 | +Welcome to CppLinuxSerial's documentation! | ||
| 7 | +========================================== | ||
| 8 | + | ||
| 9 | +.. toctree:: | ||
| 10 | + :maxdepth: 2 | ||
| 11 | + :caption: Contents: | ||
| 12 | + | ||
| 13 | +Building | ||
| 14 | +======== | ||
| 15 | + | ||
| 16 | +``` | ||
| 17 | +mkdir build | ||
| 18 | +cd build/ | ||
| 19 | +cmake .. | ||
| 20 | +make | ||
| 21 | +``` | ||
| 22 | + | ||
| 23 | + | ||
| 24 | +Indices and tables | ||
| 25 | +================== | ||
| 26 | + | ||
| 27 | +* :ref:`genindex` | ||
| 28 | +* :ref:`modindex` | ||
| 29 | +* :ref:`search` |
docs/make.bat
0 โ 100644
| 1 | +@ECHO OFF | ||
| 2 | + | ||
| 3 | +pushd %~dp0 | ||
| 4 | + | ||
| 5 | +REM Command file for Sphinx documentation | ||
| 6 | + | ||
| 7 | +if "%SPHINXBUILD%" == "" ( | ||
| 8 | + set SPHINXBUILD=sphinx-build | ||
| 9 | +) | ||
| 10 | +set SOURCEDIR=. | ||
| 11 | +set BUILDDIR=_build | ||
| 12 | + | ||
| 13 | +if "%1" == "" goto help | ||
| 14 | + | ||
| 15 | +%SPHINXBUILD% >NUL 2>NUL | ||
| 16 | +if errorlevel 9009 ( | ||
| 17 | + echo. | ||
| 18 | + echo.The 'sphinx-build' command was not found. Make sure you have Sphinx | ||
| 19 | + echo.installed, then set the SPHINXBUILD environment variable to point | ||
| 20 | + echo.to the full path of the 'sphinx-build' executable. Alternatively you | ||
| 21 | + echo.may add the Sphinx directory to PATH. | ||
| 22 | + echo. | ||
| 23 | + echo.If you don't have Sphinx installed, grab it from | ||
| 24 | + echo.http://sphinx-doc.org/ | ||
| 25 | + exit /b 1 | ||
| 26 | +) | ||
| 27 | + | ||
| 28 | +%SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% | ||
| 29 | +goto end | ||
| 30 | + | ||
| 31 | +:help | ||
| 32 | +%SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% | ||
| 33 | + | ||
| 34 | +:end | ||
| 35 | +popd |
test/unit/TestUtil.hpp
| @@ -55,13 +55,15 @@ namespace mn { | @@ -55,13 +55,15 @@ namespace mn { | ||
| 55 | 55 | ||
| 56 | void CreateVirtualSerialPortPair() { | 56 | void CreateVirtualSerialPortPair() { |
| 57 | std::cout << "Creating virtual serial port pair..." << std::endl; | 57 | std::cout << "Creating virtual serial port pair..." << std::endl; |
| 58 | - std::system("nohup sudo socat -d -d pty,raw,echo=0,link=/dev/ttyS10 pty,raw,echo=0,link=/dev/ttyS11 &"); | 58 | + std::system((std::string("nohup sudo socat -d -d pty,raw,echo=0,link=") |
| 59 | + + device0Name_ + " pty,raw,echo=0,link=" | ||
| 60 | + + device1Name_ + " &").c_str()); | ||
| 59 | 61 | ||
| 60 | // Hacky! Since socat is detached, we have no idea at what point it has created | 62 | // Hacky! Since socat is detached, we have no idea at what point it has created |
| 61 | // ttyS10 and ttyS11. Assume 1 second is long enough... | 63 | // ttyS10 and ttyS11. Assume 1 second is long enough... |
| 62 | std::this_thread::sleep_for(1s); | 64 | std::this_thread::sleep_for(1s); |
| 63 | - std::system("sudo chmod a+rw /dev/ttyS10"); | ||
| 64 | - std::system("sudo chmod a+rw /dev/ttyS11"); | 65 | + std::system((std::string("sudo chmod a+rw ") + GetDevice0Name()).c_str()); |
| 66 | + std::system((std::string("sudo chmod a+rw ") + GetDevice1Name()).c_str()); | ||
| 65 | } | 67 | } |
| 66 | 68 | ||
| 67 | void CloseSerialPorts() { | 69 | void CloseSerialPorts() { |
| @@ -78,8 +80,8 @@ namespace mn { | @@ -78,8 +80,8 @@ namespace mn { | ||
| 78 | return device1Name_; | 80 | return device1Name_; |
| 79 | } | 81 | } |
| 80 | 82 | ||
| 81 | - std::string device0Name_ = "/dev/ttyS10"; | ||
| 82 | - std::string device1Name_ = "/dev/ttyS11"; | 83 | + std::string device0Name_ = "/dev/ttyS31"; |
| 84 | + std::string device1Name_ = "/dev/ttyS32"; | ||
| 83 | 85 | ||
| 84 | protected: | 86 | protected: |
| 85 | 87 |