Skip to content

LORD-MicroStrain/openDAQ

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MicroStrain Wireless Module

The wireless module is currently called wsda_200_device_module and is located here: openDAQ\modules\wsda_200_device_module.

Example projects device_server and function_block_example have been modified to demonstrate the wsda_200_device_module. The renderer in the ref_fb_module has also been modified to accomodate timestamp jitter without drawing gaps in the data. Use of the wsda_200_device_module with out the modified renderer in the ref_fb_module will likely show gaps in the data. These gaps do not represent dropped packets.

A wireless node and a base station are currently required to run the module. The node must be configured and set sampling through SensorConnect. Please reach out to [email protected] or [email protected] for instructions.

Boost install instructions for MSCL (required only for Windows)

JEFF’S NOTE: These instructions are to address an issue that is only present on windows builds. Linux builds work fine. The issue is that MSCL requires an old version of boost. These instructions detail how to install boost for MSCL on a windows machine.

There are two solutions so that manual installation of boost will not be required in the future:

  1. update MSCL so that it uses the current version of boost

  2. figure out how to link to an earlier version of boost in the windows build (as currently occurs on Linux machines)


Setup your LIB_PATH which will contain some MSCL dependencies

Create the directory where you want your libraries. I suggest using C:\libs and will use that for the rest of the instructions

Set the LIB_PATH environment variable to C:\libs I suggest setting this in the system environment variables

Install boost into your LIB_PATH

Create the directory C:\libs\boost

Download the 64 bit and 32 bit installers for boost

Install both of them to C:\libs\boost\boost_1_68_0

Install OpenSSL into your LIB_PATH

Create the directory C:\libs\openssl

Extract the contents of this file into the directory so that the files are directly in the openssl directory. For example, C:\libs\openssl\README.txt should exist, not C:\libs\openssl\openssl-1.1.0f-vs2015\README.txt

Clone the repo: git clone https://github.com/LORD-MicroStrain/openDAQ.git

Then follow the build instructions documented in the openDAQ README

openDAQ
SDK that bridges the gap between data acquisition devices, in an era where incompatibility is the norm


openDAQ is a software development kit that allows for easy integration of data acquisition devices into its ecosystem. It provides a simple generic API that allows users to connect to Data Acquisition (DAQ) devices that are compliant with openDAQ and any of its supported open standards. With the SDK, users can configure properties of devices and read their measurement data. It also contains a framework for developing custom signal processing blocks that process and analyse signal data. In a world where DAQ devices do not readily communicate, openDAQ provides a common language for all to speak while also embracing existing standards such as MQTT and XCP via Ethernet.

Features

  • Simple connection to openDAQ-enabled devices, allowing for property visualisation/configuration and data streaming.
  • Simple integration of existing data acquisition devices into the openDAQ ecosystem.
  • SDK that runs the same code on both the device (server) and application (client).
  • Signal processing framework that allows for implementation of custom data processing blocks that run on any SDK instance (device or application).
  • OPC UA for structure/property transfer, WebSocket streaming for data.
  • API built of C++ pure abstract classes that can be passed across shared library boundaries regardless of compiler and platform used.
  • C++ pointer wrappers that allow for C++ features to be used in conjunction with the openDAQ pure abstract classes.
  • Wrappers for Python and Delphi (C# in development).

Getting started

Documentation

The Doxygen documentation can be built by enabling the OPENDAQ_BUILD_DOCUMENTATION cmake flag. The user guide documentation can be built with Antora by following the guide found in docs/Antora/README.md.

Building openDAQ

Supported compilers and platforms:

OS Platform GCC 7.3.1+ Clang 5+ VC++ (v14.1+)
Windows
(Visual Studio)
x86, x64 /
arm64 ⚠️🛠️ ⚠️🛠️
Windows
(MinGW)
x86, x64 ☑️ ☑️ /
Linux x86, x64
armhfv7, aarch64 ☑️ ☑️
MacOS
(>= 10.15)
x64 ☑️
arm64 ☑️ ☑️
iOS arm64 🛠️ 🛠️
Android aarch64 🛠️ 🛠️
Actively supported (checked with CI)
☑️ Actively supported (no CI)
⚠️ Not actively supported
🛠️ Requires some manual changes or special configuration

Required tools before building

Building on Windows

1. Install all required tools / packages.

See Required tools before building above.

2. Clone openDAQ repo.

git clone [email protected]:openDAQ/openDAQ.git
cd openDAQ

3. Generate CMake project for specific compiler / preset.

In the repository root folder execute the following command to list available presets then select the one that fits you and generate CMake project:

cmake --list-presets=all
cmake --preset "x64/msvc-22/full"

ℹ️ If for any reason there is no preset for your compiler (version) you can list the "CMake generators" and specify one to override the closest preset (e.g. to use Visual Studio 2019):

cmake -G
cmake --preset "x64/msvc-17/full" -G "Visual Studio 16 2019"

4. Build the project

Open and build build/x64/msvc-22/full/openDAQ.sln using Visual Studio (if one msvc preset had been used above).

Or use command line:

# build from repository root
cmake --build build/x64/msvc-22/full
# or move to build directory
cd build/x64/msvc-22/full
cmake --build .

For other compilers than msvc one can add parameter -j 4 to the build command to specify the number of parallel builds (see cmake.org: Build a Project with CMake).

Building on Linux

1. Install all required tools / packages.

For example in Ubuntu

sudo apt-get update
sudo apt-get install -y git build-essential lld cmake ninja-build mono-complete python3

2. Clone openDAQ repo.

git clone [email protected]:openDAQ/openDAQ.git
cd openDAQ

3. Generate CMake project for specific compiler / preset.

In the repository root folder execute the following command to list available presets then select the one that fits you and generate CMake project:

cmake --list-presets=all
cmake --preset "x64/gcc/full/debug"

4. Build the project.

# build from repository root
cmake --build build/x64/gcc/full/debug
# or move to build directory
cd build/x64/gcc/full/debug
cmake --build .

Additional building info

More information about advanced building options can be found in BUILD.md document.

Releases

No releases published

Packages

No packages published

Languages

  • C++ 64.7%
  • C# 15.9%
  • C 9.9%
  • Pascal 5.3%
  • CMake 3.2%
  • Python 0.7%
  • Other 0.3%