This page contains links to automatically-generated documentation produced using doxygen
. Specifically, any code written in a compiled language like c
should include doxygen
style docstrings
(which are easily produced using tools like GPT-3.5+).
NHP State Server
- This is the main workhorse for running the NHP wrist task.NHP Wrist Renderer
- Compiled c application for rendering the cursor and targets.NHP Task Controller
- Application for controlling the server/task/parameters.NHP Rewarder
- Application for controlling reward delivery.CalibrationUtilities
- A small compiled C library for handling cursor calibration operations.DataStructures
- Compiled c-library with common data structures for the NHP wrist center-out and other tasks.LogUtilities
- Compiled c-library with some useful logging utility functions.MathUtilities
- Compiled c-library for some useful math functions that might be shared across repos.NetworkUtilities
- Compiled c-library for some useful math functions that might be shared across repos.SoundSynth
- Compiled c-library with some compiled applications for synthesizing sinusoidal tones and playback on Windows devices.TaskParameters
- Compiled c-library with basic functions and data structure definitions for handling parameters.TimingUtilities
- Compiled c-library with basic utility functions for timing with higher precision than time.h.If you are contributing code and would like to use Doxygen to help maintain the documentation, then follow these steps:
doxygen
for your operating system/distribution and follow the installation instructions. On Windows, make sure you add the bin
folder (by default: C:/Program Files/doxygen/bin
) to the PATH
environment variable so you can call doxygen
from a terminal.Doxyfile
in the root folder of the repository. If you are creating a new repo, copy an existing repository structure and use its Doxyfile
as a template. You should be able to more-or-less leave the Doxyfile
alone unless you want to make significant changes to the template repo organization; the key thing to make sure you change are the OUTPUT_DIRECTORY
, PROJECT_NAME
and PROJECT_VERSION
variables in the Doxyfile. Your OUTPUT_DIRECTORY
should be OUTPUT_DIRECTORY = "$(NML_DOXY_DOCS_REPOSITORY)/<PROJECT_NAME>"
i.e. OUTPUT_DIRECTORY = "$(NML_DOXY_DOCS_REPOSITORY)/StateServer"
for the StateServer
repository.doxygen
to generate documentation, you need to set the NML_DOXY_DOCS_DIRECTORY
environment variable. To set this variable, you need to have the .github
repository cloned from the Neuro-Mechatronics-Lab Github organization. Wherever that repo lives on your local machine, there is a sub-folder docs
and within that sub-folder there is another sub-folder docs
. Your $NML_DOXY_DOCS_REPOSITORY
will be the full string: <.github folder>/docs/docs
. Note: I have not tested this using ‘' on Windows, please use ‘/’ just to be safe.NML_DOXY_DOCS_DIRECTORY
(i.e. using echo $(NML_DOXY_DOCS_DIRECTORY)
for UNIX-style bash or echo %NML_DOXY_DOCS_DIRECTORY%
for Windows terminal), you should run doxygen
from the repository root for which you wish to generate documentation..github
local repository, edit the index.md
file in ~/.github/docs/docs/index.md
to add the link to the list, following the path structure of other links in the list.