feature:add C++ sample

This commit is contained in:
Livox-SDK
2019-07-31 17:09:41 +08:00
parent e91b6feb13
commit 72233ab118
18 changed files with 4541 additions and 11 deletions
+319
View File
@@ -0,0 +1,319 @@
# -*- coding: utf-8 -*-
#
# Configuration file for the Sphinx documentation builder.
#
# This file does only contain a selection of the most common options. For a
# full list see the documentation:
# http://www.sphinx-doc.org/en/master/config
# -- Path setup --------------------------------------------------------------
# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
#
# import os
# import sys
# sys.path.insert(0, os.path.abspath('.'))
import sys
import importlib
importlib.reload(sys)
# -- Project information -----------------------------------------------------
project = u'Didar'
copyright = u'2018, anson.guo'
author = u'anson.guo'
# The short X.Y version
version = u''
# The full version, including alpha/beta/rc tags
release = u''
# -- General configuration ---------------------------------------------------
# If your documentation needs a minimal Sphinx version, state it here.
#
# needs_sphinx = '1.0'
# Add any Sphinx extension module names here, as strings. They can be
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
# ones.
extensions = [
'sphinx.ext.imgmath',
]
# Add any paths that contain templates here, relative to this directory.
templates_path = ['_templates']
# The suffix(es) of source filenames.
# You can specify multiple suffix as a list of string:
#
# source_suffix = ['.rst', '.md']
source_suffix = '.rst'
# The master toctree document.
master_doc = 'index'
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
#
# This is also used if you do content translation via gettext catalogs.
# Usually you set "language" from the command line for these cases.
language = None
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
# This pattern also affects html_static_path and html_extra_path.
exclude_patterns = []
# The name of the Pygments (syntax highlighting) style to use.
pygments_style = None
# -- Options for HTML output -------------------------------------------------
# The theme to use for HTML and HTML Help pages. See the documentation for
# a list of builtin themes.
#
html_theme = 'default'
# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
# documentation.
#
# html_theme_options = {}
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
# so a file named "default.css" will overwrite the builtin "default.css".
html_static_path = ['_static']
# Custom sidebar templates, must be a dictionary that maps document names
# to template names.
#
# The default sidebars (for documents that don't match any pattern) are
# defined by theme itself. Builtin themes are using these templates by
# default: ``['localtoc.html', 'relations.html', 'sourcelink.html',
# 'searchbox.html']``.
#
# html_sidebars = {}
# -- Options for HTMLHelp output ---------------------------------------------
# Output file base name for HTML help builder.
htmlhelp_basename = 'Didardoc'
# -- Options for manual page output ------------------------------------------
# One entry per manual page. List of tuples
# (source start file, name, description, authors, manual section).
man_pages = [
(master_doc, 'didar', u'Didar Documentation',
[author], 1)
]
# -- Options for Texinfo output ----------------------------------------------
# Grouping the document tree into Texinfo files. List of tuples
# (source start file, target name, title, author,
# dir menu entry, description, category)
texinfo_documents = [
(master_doc, 'Didar', u'Didar Documentation',
author, 'Didar', 'One line description of project.',
'Miscellaneous'),
]
# -- Options for Epub output -------------------------------------------------
# Bibliographic Dublin Core info.
epub_title = project
# The unique identifier of the text. This can be a ISBN number
# or the project homepage.
#
# epub_identifier = ''
# A unique identification for the text.
#
# epub_uid = ''
# A list of files that should not be packed into the epub file.
epub_exclude_files = ['search.html']
# -- Extension configuration -------------------------------------------------
extensions = [ 'sphinx.ext.todo', 'breathe', 'sphinx.ext.autodoc']
breathe_projects = { "didar": "/home/dji/Livox-SDK/didar/doc/xml" }
breathe_default_project = "didar"
# pdf_documents = [
# ('index', u'HanLP Handbook', u'HanLP Handbook', u'hankcs'),
# ]
# -- Options for LaTeX output ---------------------------------------------
latex_documents = [
(master_doc, 'Didar.tex', 'Livox C++ API Reference',
'Livox', 'manual')
]
latex_elements = {
# The paper size ('letterpaper' or 'a4paper').
'papersize': 'a4paper',
'fontpkg': '\\usepackage{times}'
}
# latex_engine = 'pdflatex'
# latex_elements = {
# # The paper size ('letterpaper' or 'a4paper').
# #
# 'papersize': 'a4paper',
# 'releasename':" ",
# # Sonny, Lenny, Glenn, Conny, Rejne, Bjarne and Bjornstrup
# # 'fncychap': '\\usepackage[Lenny]{fncychap}',
# 'fncychap': '\\usepackage{fncychap}',
# 'fontpkg': '\\usepackage{amsmath,amsfonts,amssymb,amsthm}',
# 'figure_align':'htbp',
# # The font size ('10pt', '11pt' or '12pt').
# #
# 'pointsize': '10pt',
# # Additional stuff for the LaTeX preamble.
# #
# 'preamble': r'''
# %%%%%%%%%%%%%%%%%%%% Meher %%%%%%%%%%%%%%%%%%
# %%%add number to subsubsection 2=subsection, 3=subsubsection
# %%% below subsubsection is not good idea.
# \setcounter{secnumdepth}{3}
# %
# %%%% Table of content upto 2=subsection, 3=subsubsection
# \setcounter{tocdepth}{2}
# \usepackage{amsmath,amsfonts,amssymb,amsthm}
# \usepackage{graphicx}
# %%% reduce spaces for Table of contents, figures and tables
# %%% it is used "\addtocontents{toc}{\vskip -1.2cm}" etc. in the document
# \usepackage[notlot,nottoc,notlof]{}
# \usepackage{color}
# \usepackage{transparent}
# \usepackage{eso-pic}
# \usepackage{lipsum}
# \usepackage{footnotebackref} %%link at the footnote to go to the place of footnote in the text
# %% spacing between line
# \usepackage{setspace}
# %%%%\onehalfspacing
# %%%%\doublespacing
# \singlespacing
# %%%%%%%%%%% datetime
# \usepackage{datetime}
# \newdateformat{MonthYearFormat}{%
# \monthname[\THEMONTH], \THEYEAR}
# %% RO, LE will not work for 'oneside' layout.
# %% Change oneside to twoside in document class
# \usepackage{fancyhdr}
# \pagestyle{fancy}
# \fancyhf{}
# %%% Alternating Header for oneside
# \fancyhead[L]{\ifthenelse{\isodd{\value{page}}}{ \small \nouppercase{\leftmark} }{}}
# \fancyhead[R]{\ifthenelse{\isodd{\value{page}}}{}{ \small \nouppercase{\rightmark} }}
# %%% Alternating Header for two side
# %\fancyhead[RO]{\small \nouppercase{\rightmark}}
# %\fancyhead[LE]{\small \nouppercase{\leftmark}}
# %% for oneside: change footer at right side. If you want to use Left and right then use same as header defined above.
# \fancyfoot[R]{\ifthenelse{\isodd{\value{page}}}{{\tiny Meher Krishna Patel} }{\href{http://pythondsp.readthedocs.io/en/latest/pythondsp/toc.html}{\tiny PythonDSP}}}
# %%% Alternating Footer for two side
# %\fancyfoot[RO, RE]{\scriptsize Meher Krishna Patel (mekrip@gmail.com)}
# %%% page number
# \fancyfoot[CO, CE]{\thepage}
# \renewcommand{\headrulewidth}{0.5pt}
# \renewcommand{\footrulewidth}{0.5pt}
# \RequirePackage{tocbibind} %%% comment this to remove page number for following
# \addto\captionsenglish{\renewcommand{\contentsname}{Table of contents}}
# \addto\captionsenglish{\renewcommand{\listfigurename}{List of figures}}
# \addto\captionsenglish{\renewcommand{\listtablename}{List of tables}}
# % \addto\captionsenglish{\renewcommand{\chaptername}{Chapter}}
# %%reduce spacing for itemize
# \usepackage{enumitem}
# \setlist{nosep}
# %%%%%%%%%%% Quote Styles at the top of chapter
# \usepackage{epigraph}
# \setlength{\epigraphwidth}{0.8\columnwidth}
# \newcommand{\chapterquote}[2]{\epigraphhead[60]{\epigraph{\textit{#1}}{\textbf {\textit{--#2}}}}}
# %%%%%%%%%%% Quote for all places except Chapter
# \newcommand{\sectionquote}[2]{{\quote{\textit{``#1''}}{\textbf {\textit{--#2}}}}}
# ''',
# 'maketitle': r'''
# \pagenumbering{Roman} %%% to avoid page 1 conflict with actual page 1
# \begin{titlepage}
# \centering
# \vspace*{40mm} %%% * is used to give space from top
# \textbf{\Huge {Didar sdk document}}
# \vspace{0mm}
# \Large \textbf{{Author}}
# \small Created on : Octorber, 2017
# \vspace*{0mm}
# \small Last updated : \MonthYearFormat\today
# %% \vfill adds at the bottom
# \vfill
# \small \textit{test }{\href{http:\\www.baidu.com}{baidu}}
# \end{titlepage}
# \clearpage
# \pagenumbering{roman}
# \tableofcontents
# \clearpage
# \pagenumbering{arabic}
# ''',
# # Latex figure (float) alignment
# #
# # 'figure_align': 'htbp',
# 'sphinxsetup': \
# 'hmargin={0.7in,0.7in}, vmargin={1in,1in}, \
# verbatimwithframe=true, \
# TitleColor={rgb}{0,0,0}, \
# HeaderFamily=\\rmfamily\\bfseries, \
# InnerLinkColor={rgb}{0,0,1}, \
# OuterLinkColor={rgb}{0,0,1}',
# 'tableofcontents':' ',
# }
+368
View File
@@ -0,0 +1,368 @@
.. Didar documentation master file, created by
sphinx-quickstart on Mon Dec 10 15:38:07 2018.
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
Welcome to the Livox LiDAR SDK API Reference
#############################################
.. toctree::
:maxdepth: 2
:numbered:
:caption: Contents:
Basic Types and Functions
#############################
.. doxygenenum:: DeviceType
:project: didar
.. doxygenenum:: LidarState
:project: didar
.. doxygenenum:: LidarFeature
:project: didar
.. doxygenenum:: ResponseStatus
:project: didar
.. doxygenenum:: DeviceEvent
:project: didar
.. doxygenenum:: TimestampType
:project: didar
.. doxygenstruct:: DeviceInfo
:project: didar
:members:
:undoc-members:
.. doxygenunion:: StatusUnion
:project: didar
.. doxygenfunction:: Init
:project: didar
.. doxygenfunction:: Start
:project: didar
.. doxygenfunction:: Uninit
:project: didar
.. doxygenstruct:: BroadcastDeviceInfo
:project: didar
:members:
:undoc-members:
.. doxygentypedef:: DeviceBroadcastCallback
:project: didar
.. doxygenfunction:: SetBroadcastCallback
:project: didar
.. doxygentypedef:: DeviceStateUpdateCallback
:project: didar
.. doxygenfunction:: SetDeviceStateUpdateCallback
:project: didar
.. doxygenfunction:: AddHubToConnect
:project: didar
.. doxygenfunction:: AddLidarToConnect
:project: didar
.. doxygenfunction:: GetConnectedDevices
:project: didar
General Functions
######################
Query Device Information
==========================
.. doxygenstruct:: DeviceInformationResponse
:project: didar
:members:
:undoc-members:
.. doxygentypedef:: DeviceInformationCallback
:project: didar
.. doxygenfunction:: QueryDeviceInformation
:project: didar
Receive Point Cloud Data
==========================
.. doxygenstruct:: LivoxEthPacket
:project: didar
:members:
:undoc-members:
.. doxygentypedef:: DataCallback
:project: didar
.. doxygenfunction:: SetDataCallback
:project: didar
.. doxygenfunction:: HubGetLidarHandle
:project: didar
Set Coordinate System
============================
.. doxygenfunction:: SetCartesianCoordinate
:project: didar
.. doxygenfunction:: SetSphericalCoordinate
:project: didar
Error Message From Device
=======================================
.. doxygenstruct:: ErrorMessage
:project: didar
:members:
:undoc-members:
.. doxygentypedef:: ErrorMessageCallback
:project: didar
.. doxygenfunction:: SetErrorMessageCallback
:project: didar
Configure Static/Dynamic IP
=======================================
.. doxygenstruct:: SetDeviceIPModeRequest
:project: didar
:members:
:undoc-members:
.. doxygenfunction:: SetStaticDynamicIP
:project: didar
.. doxygenstruct:: GetDeviceIPModeResponse
:project: didar
:members:
:undoc-members:
.. doxygentypedef:: GetDeviceIPInformationCallback
:project: didar
.. doxygenfunction:: GetDeviceIPInformation
:project: didar
Livox Hub Functions
######################
Query Connected LiDAR Unit Information
=======================================
.. doxygenstruct:: ConnectedLidarInfo
:project: didar
:members:
:undoc-members:
.. doxygenstruct:: HubQueryLidarInformationResponse
:project: didar
:members:
:undoc-members:
.. doxygentypedef:: HubQueryLidarInformationCallback
:project: didar
.. doxygenfunction:: HubQueryLidarInformation
:project: didar
Configure Lidars Mode
==========================================
.. doxygenstruct:: HubSetModeResponse
:project: didar
:members:
:undoc-members:
.. doxygentypedef:: HubSetModeCallback
:project: didar
.. doxygenstruct:: HubSetModeRequest
:project: didar
:members:
:undoc-members:
.. doxygenstruct:: LidarModeRequestItem
:project: didar
:members:
:undoc-members:
.. doxygenfunction:: HubSetMode
:project: didar
.. doxygenstruct:: LidarStateItem
:project: didar
:members:
:undoc-members:
.. doxygenstruct:: HubQueryLidarStatusResponse
:project: didar
:members:
:undoc-members:
.. doxygentypedef:: HubQueryLidarStatusCallback
:project: didar
.. doxygenfunction:: HubQueryLidarStatus
:project: didar
Sampling Control
=================
.. doxygentypedef:: CommonCommandCallback
:project: didar
.. doxygenfunction:: HubStartSampling
:project: didar
.. doxygenfunction:: HubStopSampling
:project: didar
Slot Power Control
========================
.. doxygenstruct:: HubControlSlotPowerRequest
:project: didar
:members:
:undoc-members:
.. doxygenfunction:: HubControlSlotPower
:project: didar
Configure Livox Hub Extrinsic Parameters
========================================
.. doxygenstruct:: HubSetExtrinsicParameterResponse
:project: didar
:members:
:undoc-members:
.. doxygentypedef:: HubSetExtrinsicParameterCallback
:project: didar
.. doxygenstruct:: HubSetExtrinsicParameterRequest
:project: didar
:members:
:undoc-members:
.. doxygenstruct:: ExtrinsicParameterRequestItem
:project: didar
:members:
:undoc-members:
.. doxygenfunction:: HubSetExtrinsicParameter
:project: didar
.. doxygenstruct:: HubGetExtrinsicParameterRequest
:project: didar
:members:
:undoc-members:
.. doxygenstruct:: DeviceBroadcastCode
:project: didar
:members:
:undoc-members:
.. doxygenstruct:: HubGetExtrinsicParameterResponse
:project: didar
:members:
:undoc-members:
.. doxygenstruct:: ExtrinsicParameterResponseItem
:project: didar
:members:
:undoc-members:
.. doxygentypedef:: HubGetExtrinsicParameterCallback
:project: didar
.. doxygenfunction:: HubGetExtrinsicParameter
:project: didar
Enable Hub Calculating Extrinsic Parameters
========================================================
.. doxygenfunction:: HubExtrinsicParameterCalculation
:project: didar
Enable or Disable The Rain/Fog Suppression
========================================================
.. doxygenstruct:: RainFogSuppressRequestItem
:project: didar
:members:
:undoc-members:
.. doxygenstruct:: HubRainFogSuppressRequest
:project: didar
:members:
:undoc-members:
.. doxygenstruct:: HubRainFogSuppressResponse
:project: didar
:members:
:undoc-members:
.. doxygentypedef:: HubRainFogSuppressCallback
:project: didar
.. doxygenfunction:: HubRainFogSuppress
:project: didar
LiDAR Functions
#####################
Configure LiDAR Mode
==============================
.. doxygenenum:: LidarMode
:project: didar
.. doxygenfunction:: LidarSetMode
:project: didar
Sample Control
=================
.. doxygenfunction:: LidarStartSampling
:project: didar
.. doxygenfunction:: LidarStopSampling
:project: didar
Configure LiDAR Extrinsic Parameters
====================================
.. doxygenstruct:: LidarSetExtrinsicParameterRequest
:project: didar
:members:
:undoc-members:
.. doxygenfunction:: LidarSetExtrinsicParameter
:project: didar
.. doxygenstruct:: LidarGetExtrinsicParameterResponse
:project: didar
:members:
:undoc-members:
.. doxygentypedef:: LidarGetExtrinsicParameterCallback
:project: didar
.. doxygenfunction:: LidarGetExtrinsicParameter
:project: didar
Enable and Disable the Rain/Fog Suppression
============================================
.. doxygenfunction:: LidarRainFogSuppress
:project: didar