Skip to content

Releases: mbientlab/MetaWear-SDK-Cpp

C# Wrapper Fixes

03 Apr 02:07
Compare
Choose a tag to compare

Minor update that addresses several issues with the C# wrapper files. There is no change to any of the C++ files.

Changes

  • Namespace of the Functions class changed to MbientLab.MetaWear
    • Was incorrectly named Mbientlab.MetaWear
  • Parameter type for ad_uuid for mbl_mw_ibeacon_set_uuid changed to byte[]
    • Was incorrectly assigned as a scalar byte
  • Readded GuidToByteArray for the iBeacon functions

Bug Fixes and Improved C# Support

02 Apr 20:25
Compare
Choose a tag to compare

This is a small update to simplify using the library in C# and corrects the function definition of the data processor state signal.

Changes

  • Removed const qualifier from the return type of mbl_mw_dataprocessor_get_state_data_signal
  • Added C# wrapper definitions for the API functions in the shared library
    • As noted in the file's comments, the wrapper file assumes it will be added to your UWP app via the NuGet package
  • Renamed Math class to Maths in the Processor.cs file

Expanded Feature Support for Environment, Detector, CPro, and Firmware v1.1.0

30 Mar 04:40
Compare
Choose a tag to compare

C++ API v0.4.0 adds support for the sensors on the MetaWear CPro, MetaEnvironment, and MetaDetector boards, provides a framework for onboard logging, and expands the settings module to support features added in firmware v1.1.0. This update does introduce minor breaking changes by renaming a few header files and the structs defined in the types.h header file.

Changes

  • Added logging framework
  • Added functions to use the I2C bus
  • Added BMM150 magnetometer support
    • Available on the CPro board
  • Added TCS34725 color detector and TSL2671 proximity support
    • Sensors for the detect boards
  • Added BME280 environment sensor support
    • Sensor for the env board
    • Provides a humidity and barometer sensor
    • Barometer functionality placed in barometer_bosch.h file, which is renamed from barometer_bmi160.h
    • BME280 and BMP280 have nearly identical pressure configuration options except standby times
  • Added BMA255 accelerometer support
    • Placed in accelerometer_bosch.h file, which is renamed from accelerometer_bmi160.h
    • BMA255 and BMI160 accelerometer shares many features
    • Bosch accelerometer for the env and detect boards
  • Added disconnect event and battery state support
    • Requires firmware v1.1.0 or later
  • Pre-pended MblMw to the structs defined in the types.h header file
  • Removed CartesianShort from the types.h header file
  • Fixed bug with setting up GPIO pin change monitoring

Data Processor and More Sensor Support

03 Feb 21:09
Compare
Choose a tag to compare

MetaWear C++ API v0.3.0 adds support for the on board data processor, gpio, and temperature sensor. This update does have breaking changes from v0.2.0 regarding how to setup Bluetooth LE communcations and to initialize the library. Please read the How To guide on the project's wiki for more information on using v0.3.0 of the library.

Changes

  • Expanded support for MetaWear features
    • Can utilize the on board data processor
    • Gpio and temperature sensors supported
    • On board timer functionality supported
  • Refactored how Bluetooth LE communication is handled by the library
    • MblMwConnection struct renamed to MblMwBtleConnection and is now a struct for general purpose Bluetooth LE communication
  • Restructured project layout
    • Header files separated into modules to better categorize their purposes
  • Auto detects available sensors on the connected board
    • Generic functions available for the accelerometer which provide a unified way to access that sensor regardless of the board in use
  • Fixed compile errors reported by clang++ 3.7.0
  • Changed global callback functions to be local to the function that requires them
  • Updated metawearboard.h header file
    • Renamed mbl_mw_create_metawear_board to mbl_mw_metawearboard_create
    • Renamed mbl_mw_free_metawear_board to mbl_mw_metawearboard_free
    • Added mbl_mw_metawearboard_initialize and mbl_mw_metawearboard_tear_down
    • Removed mbl_mw_metawearboard_handle_response
  • Added back some C# wrapper code for the library
    • Only added struct wrappers and enum definitions

Fix for C# Wrappers

16 Oct 09:29
Compare
Choose a tag to compare

Version 0.2.2 fixes a crash when using C#'s DllImport to call into the library. The only working fix required modifiying the C++ library.

C++ API Update

15 Oct 00:06
Compare
Choose a tag to compare

Version 0.2.0 of the MetaWear C++ API overhauls the library from v0.1.0 to simplify the library usage and update the library to somewhat resemble the Android API. There are lots of breaking changes with both the wrapper files and the function signatures.

Changes

  • Created MblMwMetaWearBoard struct, which serves the same purpose as the MetaWearBoard (Android) and MBLMetaWear (iOS) classes
    • Any function that required a byte buffer now requires a pointer to a MblMwMetaWearBoard struct
    • Simplifies sensor configuration as users no longer need to allocate memory for each sensor config
  • Created MblMwConnection structure to represent communication with the Bluetooth
    • All bytes to be written to the MetaWear command characteristic are forwarded to the function pointed to by the
      send_command function pointer
    • All data received from the sensors are fed to the function pointed to by the received_sensor_data function pointer
  • Added mbl_mw_metawearboard_handle_response to process responses from the board
  • sensor.h header renamed to datasignal.h
    • Functions appropriately renamed
  • dataprocessor.h functions removed for now until the library has become more stable
  • C# wrappers removed from the project
    • A separate project will be created to house the C# wrapper
  • Python wrapper files merged into one file: metawear.py

First Release of C++ Library

28 Sep 20:05
Compare
Choose a tag to compare

Version 0.1.0 is the first release of the MetaWear C++ library. The library is still in development so future releases may introduce breaking changes. Currently, the library only implements simple features of the MetaWear platform such as controlling the led and streaming sensor data from the board. It does not yet implement the settings, event, macro, logging, and data processing modules.

Features

  • Constructs the bytes needed to communicate with the MetaWear board
  • Converts responses received from the sensors into meaningful data
  • The dll/so can be explicitly linked with any class that can call C functions from a shared library
  • Provides wrapper classes in C# and Python
    • Ports the enum values to their respective languages
    • C# wrappers put the functions in the appropriate namespace and classes