FilterGen  1.0.0
A library to design digital filters in embedded systems.
FilterGen Documentation

This is the mainpage of the API documentation for the FilterGen library. The library provides the functionality to design and use finite and infinite impulse response filters in C and C++. The source code can be found on github and is governed by the MIT license.

Compilation

In order to compile the library you need cmake and a working C-Compiler:

git clone https://github.com/domohuhn/filter.git
cd filter && mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE='Release' -DCMAKE_INSTALL_PREFIX='<somewhere>' ..
make install

The library can be configured with the following options during the CMake call:

CMake option Default value Description
DH_CFILTER_BUILD_CPP_BINDINGS ON If the bindings for c++ should be built.
DH_CFILTER_BUILD_JS_BINDINGS OFF If the bindings for javascript should be built. This includes the C++ Bindings. Requires emscripten.
DH_CFILTER_BUILD_TESTS ON If the tests should be built. Will fetch Catch2.
DH_CFILTER_BUILD_EXAMPLES ON If the examples should be built. Will fetch CXXopts.
DH_CFILTER_COVERAGE OFF If the binary should be instrumented to collect coverage information. (Only active if you compile with gcc)

CMake package

After the library has bee installed, you can use the installed package in CMake:

find_package(FilterGen)
# using the package:
target_link_libraries(some_target_c PRIVATE dh::filter)
target_link_libraries(some_target_cpp PRIVATE dh::filter_cpp)

API Descriptions

For a usage example see either the examples directory in the repository, or check the modules for each supported programming language listed below:

Javascript bindings

The library can be compiled to Webassembly with emscripten and it provides bindings to javascript via the C++-API. In order to create the webassembly target, set the following options during the cmake call:

cmake -DDH_CFILTER_BUILD_TESTS='OFF' \
-DDH_CFILTER_BUILD_EXAMPLES='OFF' \
-DDH_CFILTER_BUILD_JS_BINDINGS='ON' \
<path to source>

You can see the javascript bindings in action on github pages.

Note
This documentation was generated with doxygen and the stylesheets from doxygen awesome.