An assortment of C utilities and hardware abstractions that work on
multiple platforms including x86 PC\'s and microcontrollers. One day
this library could be more generically useful, but currently it is
developed according to the needs of the omnid
robot project.
Use vcstool with one of the
provided repo files (ssh, http) to clone this repository and the
others into a ROS workspace. Then use an isolated build tool like
catkin_tools
or catkin_make_isolated
to compile the workspace.
See Installation for more options and details, including how to install this project without ROS.
find_package(nuhal)
then add nuhal::nuhal
to the
target_link_libraries
nuhal_defaults(type)
Sets a default build type and calls
nuhal_set_default_build_type(type)
Sets the default
build type to type
for single-configuration generatorsnuhal_disable_in_source_builds()
Requires that the
cmake build is in a separate directory from the source
tree (to avoid polluting the source with a bunch of
cmake-generated files)nuhal_no_lang_extensions()
Disables C and C++ language
extensions, forcing strict conformance to the standard.nuhal_install(name ...)
install a target with the given
name. List dependencies after the target name. See
nuhal_all/nuhal.cmake for details and requirements.README.md
. Doxygen documentation is generated with each build
and placed in < build >/doc/index.html
.nuhal_platform
nuhal/nuhal_linux/CMakeLists.txt
as a guide for the
CMakeLists.txt filenuhal/nuhal_tiva/PreLoad.txt
as a guide for setting a default
cross compiler/nuhal/nuhal_all/nuhal-config.cmake.in
to make it aware of
your new library. When a user does a find_package(nuhal)
it is
this file that is called and it is its responsibility to select the
appropriate default nuhal
library based on the platform and
toolchainmake test
nuhal_tiva/test
. Comments
at the start of each file describe the expected test behavior