libRBR v1.2.3
RBR instrument communication API
|
libRBR provides an interface for simplified communication with RBR instruments. The library isolates the user from the low-level details of instrument communication by wrapping each instrument command in a function with fully typed arguments. Familiarity with the instrument command set is still required in order to know which commands to send, but the library handles the intricacies of waking the instrument, response parsing, etc.
For example:
The library also offers basic parsing for EasyParse sample data and events.
The library tries to be platform-agnostic. It targets C99 and should be compilable on any compliant compiler.
If you happen to have stumbled across this file in a source tree somewhere, you might be interested to know that this project is maintained on Bitbucket.
The library is intended to support the following firmware types and versions. The library should have good forwards compatibility as breaking changes between firmware versions are rare and made only when absolutely necessary.
Firmware Type | Generation | Version |
---|---|---|
103 (Logger2, standard) | Early 2015 | v1.440 |
104 (Logger3, standard) | Late 2017 | v1.102 and up |
The standalone dynamic correction library supports:
Firmware Type | Generation | Version |
---|---|---|
104 (Logger3, standard) | Late 2021 | v1.136 and up |
The library can be built with GNU Make. For documentation on Make targets, see the Makefile.
Library compilation requires a C99-compliant C compiler; The library makes a few assumptions about its host platform. For details, see the documentation on porting.
API document compilation requires Doxygen.
Platform-specific instructions and advice are available:
In most cases, the library can be built in a few steps.
First, check out the code with Git:
Assuming cygwin is used, and current path is <PATH>/librbr
. Then use either make tests
or make all
to build the libraries:
continue with commands below if one wants to use the posix example with dynamic correction:
To test posix-parse-file-dynamiccorrection example:
or if one wants to try posix-streaming-dynamiccorrection example, use commands below:
or test with .csv file:
Assuming cygwin is used, and current path is <PATH>/librbr
:
Assuming cywin is used, current path is <PATH>/librbr
. Then commands below shows how to use the library:
Take streaming as example:
See the introduction for an overview of library conventions.
API documentation is built into the docs/
subdirectory. Prebuilt API documentation corresponding to the latest release is available at https://docs.rbr-global.com/librbr/.
For examples, please see the examples/
subdirectory.
You may prefer to integrate the entire library source into your codebase rather than link against the library. In that case, we strongly suggest doing so via a Git submodule where possible to make updating easier.
The library is primarily maintained by RBR and development is directed by our needs and the needs of our OEM customers. However, we're happy to take contributions generally.
This project is licensed under the terms of the Apache License, Version 2.0; see https://www.apache.org/licenses/LICENSE-2.0.