Skip to content

Releases: mbientlab/MetaWear-SDK-Android

Code Maintenance

13 Dec 09:25
Compare
Choose a tag to compare

SDK v3.3.0 is primarily code maintenance to better utilize the Bolts Framework for asynchronous tasks and to take advantage of the Java 8 feature support provided by Android Studio 3.0.

This release also includes a few bug fixes and updated feature support for the BMI160 imu.

Changes

  • Properly interpret data from low/high-g detection
    • Old code swapped the bits that report whether low or high-g was detected
  • Fixed identifier generation for step counter data
  • Added support to configure BMI160 filter modes for acc and gyro data
    • This parameter is set via the filter method in their respective ConfigEditor interfaces
  • Added support for 16 byte data with the delay component
  • Internal code refactoring
    • Replaced anonymous functions with lambda expressions
    • Use the Task.delay method for handling timeouts (see SO post)
    • Merge code segmented through callback handling using the high order functions in the Task class

Logging Bug Fixes for v3.2

25 Oct 02:27
Compare
Choose a tag to compare

API v3.2.2 is a small fix for the v3.2 release fixing logging issues.

Fixes

  • Fixed bug where you could not create anonymous routes after deserializing the board state
  • Serialize additional information needed to correctly recalculate timestamps for certain log download corner cases

Cross Device Downloads

24 Oct 18:56
Compare
Choose a tag to compare

SDK v3.2.0 adds support for cross device downloads of logged data. In other words, you can configure the boards to log data on one device, then use another device to retrieve the data. See the documentation for more details .

Changes

  • Added createAnonymousRoutesAsync function, which is used for the aforementioned cross device downloads
  • Added downloadFirmwareAsync to download specific firmware versions
  • Added functions to sync accelerometer, gyro, and sensor fusion configuration
  • Fixed a bug where reading invalid GATT characteristics causes the the underlying BLE code to mishandle disconnects

Firmware v1.3.4 Features

18 Aug 09:47
Compare
Choose a tag to compare

API v3.1.0 adds support for new features in firmware v1.3.4, most notably the new data processors (accounter, packer, and highpass filter). There are also a few bug fixes and general API improvements in this release.

Changes

  • Added suspend function which places magnetometer in low power mode
    • Will only send the command on boards running firmware v1.3.4 and later
    • When suspended, all settings will be reset and the sensor will need to be reconfigured before collecting data
  • Added support for new data processors in the RouteComponent interface
  • Improved logging implementation to handle time rollover
  • Fixed corner case in logging implementation that would think some entries from an 800Hz data sample were duplicates and discard them
  • Fixed regex pattern for matching version strings

More v3 Bug Fixes

28 Jul 20:26
Compare
Choose a tag to compare

This is another maintenance release on the v3.0 branch.

Changes

  • Fix data scaling when using component magnetometer data
    • Was still scaling to micro Telsa whereas the combined XYZ data was scaled to Tesla
  • Check if firmware supports packed magnetometer and gyro data
  • Changed macro implementation to begin programming after the macro id has been received
  • Fixed pattern matching for version string
    • Pattern incorrectly matched on single digit step values

Bug Fixes and Bluetooth LE Refactor

16 May 19:12
Compare
Choose a tag to compare

v3.0.32 fixes a few bugs with the API and refactors the underlying Android BLE usage.

Changes

  • Corrected attribute definition for MMA8452Q acceleration data
    • Fixes using the acceleration data wtih data processing and logging
  • Fixed bug with using data forwarding to create feedback loops in a data processing chain
  • Refactored underlying Bluetooth LE usage to incorporate the Bolts Framework
    • Internal BLE api and implementation extracted as a stand alone class in the BleToolbox project

Null Pointer Fix for Reading RSSI Values

22 Mar 18:44
Compare
Choose a tag to compare

API v3.0.17 fixes a null pointer exception that occurred when periodically calling readRssiAsync.

Serialization Fix and Timestamp Change

15 Mar 18:34
Compare
Choose a tag to compare

API v3.0.11 is another patch on the v3.0 release fixing issue #10 and changes packed mode (acc, gyro, mag) to use the same timestamp for all grouped data.

MetaBoot Connect Fix

09 Mar 01:22
Compare
Choose a tag to compare

The v3.0.7 release addresses a bug with the connectAsync function which resulted in the task always failing when attempting to connect to a board in MetaBoot mode.

Android API v3.0.0 Release

02 Mar 11:21
Compare
Choose a tag to compare

MetaWear Android API v3.0.0 has left the beta stage and is now officially released. The core flow of the API remains the same (i.e. library setup, interacting with modules etc.) and will feel very familiar for developers using API v2. The API as a whole, however, has been redesigned to:

  • Accommodate lambda expressions
  • Improve the DSL for constructing data routes
  • Use the Bolts Framework for managing asynchronous tasks

To get a grasp on how to use API v3.0.0, check out the API documentation, Android tutorials on GitHub, and source code for the sample app.

Breaking Changes

If you are new to using API v3, you can skip this section. Developers who have been using the beta releases should take a look at the changes listed below.

  • Appended Async to functions that return a Task object
  • Renamed a few interfaces
    • RouteElement -> RouteComponent
    • EulerAngle -> EulerAngles
    • ColorDetectorTcs34725 -> ColorTcs34725
  • Changed all data values to be in SI units
    • Gpio abs ref data and battery charge level are now float values in Volts (V)
    • Magnetic field strength represented in units of Tesla (T)
    • Illuminance data is now a float value in lux (lx)
  • Motion data producers retrieved through the motion function rather than one function per motion detection type
  • Created wrapper classes for each motion data type rather than putting them all under CartesianFloat
    • Replaced CartesianFloat with Acceleration, Angular Velocity, Magnetic Field
  • Serialization format changed
    • Developers using serialization will need to reserialize the MetaWearBoard state or remove cached states with the LocalBinder's clearSerializedState method