metawear
Version:
Official JavaScript SDK for MetaWear
104 lines (74 loc) • 4.16 kB
Markdown
# MetaWear SDK for C++ by MBIENTLAB
[](https://github.com/mbientlab/MetaWear-SDK-Cpp)
[](https://github.com/mbientlab/MetaWear-SDK-Cpp/blob/master/LICENSE.md)

This project is a C++ implementation of the MetaWear protocol. If compiled as a shared library, it can be used with any language that supports calling C functions from a shared library, such as Node and Python.
The library only constructs the bytes for communicating with the MetaWear platform, it **does not** contain any Bluetooth LE code. Users will need to fill in the appropriate Bluetooth LE functions for their target platform.
> ADDITIONAL NOTES
This library is platform agnostic and does not contain any Bluetooth code. You are responsible for adding in this functionality.
### Overview
[MetaWear](https://mbientlab.com) is a complete development and production platform for wearable and connected device applications.
MetaWear features a number of sensors and peripherals all easily controllable over Bluetooth 4.0/5.0 Low Energy using this SDK, no firmware or hardware experience needed!
The MetaWear hardware comes pre-loaded with a wirelessly upgradeable firmware, so it keeps getting more powerful over time.
### Requirements
- [MetaWear board](https://mbientlab.com/store/)
- A linux/mac/windows machine with Bluetooth 4.0 or Bluetooth 5.0
### Notes
- Our tutorials will mostly reflect usage on ios and linux (see our SDKs)
- Can work on macOS/iOS/OSX/tvOS (you may need to do some additional dev yourself - not documented/supported by Mbient)
- Can work on Windows (you will need to do some additional dev yourself - not documented/supported by Mbient)
### License
See the [License](https://github.com/mbientlab/MetaWear-SDK-Cpp/blob/master/LICENSE.md).
### Support
Reach out to the [community](https://mbientlab.com/community/) if you encounter any problems, or just want to chat :)
## Getting Started
### Installation
Building the project has been tested on Unix systems with Clang 4.
### Usage
```sh
> clang++ --version
clang version 4.0.1 (tags/RELEASE_401/final 305264)
Target: x86_64-unknown-linux-gnu
```
```bat
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community>cl.exe
Microsoft (R) C/C++ Optimizing Compiler Version 19.10.25019 for x64
Copyright (C) Microsoft Corporation. All rights reserved.
usage: cl [ option... ] filename... [ /link linkoption... ]
```
### GCC and Clang
Linux users can build the project by invoking GNU make; the default action is to build the shared library for your current platform. You can also change the C++ compiler by overriding the CXX make variable.
```sh
> make
# build using g++ as the compiler
> make CXX=g++
```
Upon a successful compile, the library will be placed in the newly created "dist" directory.
```sh
> tree dist
dist/
└── release
└── lib
└── x64
├── libmetawear.so -> libmetawear.so.0
├── libmetawear.so.0 -> libmetawear.so.0.20.9
└── libmetawear.so.0.20.9
```
## Testing
Unit tests for the library are written in Python (min v3.4.1) and can be invoked by calling the test target.
### GNU Make
```sh
> make test
python3 -m unittest discover -s test
.................................................................................
.................................................................................
.................................................................................
.................................................................................
..............................s..................................................
........................................................
----------------------------------------------------------------------
Ran 461 tests in 33.249s
OK (skipped=1)
```
### Tutorials
Tutorials can be found [here](https://mbientlab.com/tutorials/).