Releases: mbientlab/MetaWear-SDK-Android
Support for Firmware v1.2.3 Features
Release v2.6.0 adds support for the new features in firmware v1.2.3, deprecates the updateFirmware functions, and updates the API with some additional utility functions and support for a few sensor features. The new API features that require firmware v1.2.3 are:
- Multi-value comparisons
- High frequency acc/gyro/mag streams
- New analog read function
- SPI interface
Changes
- Updated Comparison class to support multi-value comparisons
- Added support for packed accelerometer, gyro, and magnetometer data
- Used to stream data >100Hz
- Cannot use with data processing nor logging
- Added SPI interface
- Added initiateAnalogInRead function
- Added setDelay function to the ColorChannelEditor interface
- Added BMM150 threshold detection
- Added lookupModule function
- It is a variant of the getModule function that does not throw exceptions
- Added [tearDown](https://github.com/mbientlab/Metawear-AndroidAPI/blob/2.6.0/library/src/main/java/com
/mbientlab/metawear/MetaWearBoard.java#L298) function which removes all routes and timers - Added support for the illuminator LED on the color detector
- Added silentExecute variant to the Macro interface
- Deprecated firmware update functions
- Replaced with downloadLatestFirmware which will download the latest firmware release to your mobile device
- Use the Nordic DFU library to update firmware
- Fixed spelling for the setPowerPreset function
- Fixed bug with using the macro to schedule tasks
Bug Fixes for API v2.5.0
Android API v2.5.0 fixes bugs on the v2.5.0 release.
Changes
- Fixed oversampling configuration in the BME280Humidity class
- Fixed bug with using data processors on the BME280 humidity data
- Values passed into a comparator, math, threshold, etc. would be scaled down by 1024
- Fixed bug where macro would not record commands in an ActivityHandler
- Fixed receiver diode configuration in the TSL2671Proximity class
- Added implementation of the configureAxisSampling function in the Bma255Accelerometer class
- Fixed implementation of getModule function for Conductance module
MetaEnvironment and MetaDetect Features
Android API v2.5.0 adds support for the MetaEnvironment and MetaDetect boards, makes some small modifications to the existing interfaces, and fixes a few bugs.
Changes
- Added Bma255Accelerometer, Bme280Humidity, Bme280Barometer, Tcs34725ColorDetector, and Tsl2671Proximity modules
- Modified generic accelerometer functions to return the actual settings used
- Modified I2C.readData variant to pass exceptions back to the caller
- Added updateFirmware variant that reads the firmware contents through an InputStream
- Fixed null pointer exception when unsubscribing from data processor signals
- Fixed bug with generic gyro functions not writing the configuration to the sensor
Support for Magnetometer and Firmware v1.1.1 Features
Android API v2.4.0 adds support for the BMM150 magnetometer, features added in firmware v1.1.1, and fixes a few bugs in the API.
Changes
- Fixed corner cases with configuring data processors
- Fixed bug with undersampling on RG/RPro/C/CPro boards
- Addressed a null pointer exception caused when trying to connect to a board with the BT adapter turned off
- Added BMM150 magnetometer support
- Currently only available on CPro boards
- Added tap and motion detection support on RG/RPro/C/CPro
- Added functionality to read battery life through the Settings module
- Added functionality to check if a firmware update is available for the board currently connected to
Firmware v1.1.0 and BMI160 Accelerometer Support
Android API version 2.3.0 adds support for several features on the BMI160 accelerometer and new features added to MetaWear firmware v1.1.0.
Changes
- BMI160Accelerometer class supports flat detection, step detection, low/high g detection, and low power mode
- Added variant of updateFirmware that accepts a path to a local file stored on the Android device
- Added variants of read functions that perform silent reads
- Silent reads will not send data through the BTLE connection
- Added buffer data processor
- Added support for using the math processor with multichannel data (i.e. accelerometer & gyro)
- Added constant operation in the math processor
- Added support for new Settings features
- Users can modify the connection parameters
- Can program the board to react to a BTLE connection lost event
- Fixed bug with logging data from a single axis (i.e. accelerometer or gyro)
- Fixed bug caused by adding a processor with an existing key
- Fixed bug where single axis data from the MMA8452Q are not appropriately scaled when using them as inputs for data processors
MetaWear Android API v2.2.0 Released
Version 2.2.0 fixes issues with downloading logging data and expands functionality in the Settings, Logging, and Accelerometer modules.
Changes
- Fix concurrency issues when downloading accelerometer data from the logger
- Fix bug with sample processor configuration
- Added functionality in the Settings module to configure the connection parameters
- Feature is only available on firmware after v1.0.4
- Expanded DownloadHandler class to also report entries that do not have a MessageHandler to process them
- Added orientation detection support for RG and RPro boards
- Created orientation enum for the general Accelerometer class that defines a unified orientation amongst the MetaWear R boards
New Features and Bug Fixes for API 2.X
Version 2.1.0 enhances support for the I2C data, addresses some bugs with the macro module and data processors, and adds more features to the data routes, MetaWearBoard class, and debug module.
Changes
- Hooked in I2C data to the data route system
- Data processor support is limited, can only attach the counter data processor to I2C data
- Updated API to work with devices in MetaBoot mode
- Integrated device firmware update with the API (updateFirmware function)
- Requires active internet connection and will always update to the latest available firmware release
- Add timeouts to asynchronous operations
- These are automatically set by the API when created and will result in a TimeoutException if not completed within the allotted time
- Added disconnect function to the Debug module which has the board terminate the connection
- The disconnect function in the MetaWearBoard class has the Android device terminate the connection
- Can be used to send commands to the board then end the connection, ensuring the commands are sent
- Fixed null pointer exception when adding data routes with the macro system
- Improved stability of the macro system when adding data routes
- Addresses cases where the some macro commands were not received by the board
- Fixed null pointer exception that sometimes occurs when unsubscribing from a data process stream
- Sometimes happened when you unsubscribe from a high frequency dp stream e.g. accel @ 100Hz -> rss
- Fixed bug with constructing the configuration for the counter transformer
More bug fixes on the 2.0.0 Release
Version 2.0.18 fixes bugs with the macro, data processor and Bluetooth LE service. Also, the API source code is now packaged in the AAR file, which enables you to quickly attach the source code to the library in Android Studio.
Changes
- Fixed a corner case using the pulse (width), threshold (binary), and delta (binary) processors where in those output modes, the threshold/limit values are not properly converted to firmware compatible values.
- Fixed processors chained to an rss/rms transformer not converting relevant values to firmware compatible values
- Modified macro module implementation to work with code blocks with more than 2 commands
- Added null pointer checks to address crashes caused by streaming processed data at high frequencies (e.g. accel -> rss) and executing macros that add data processors / activity handlers
- Addressed issue with the background future checker task only executing if executeOnBackgroundThread is called rather than automatically being scheduled
Bug Fixes for 2.0.0 Release
Version 2.0.12 fixes more bugs on the 2.0.0 release.
Changes
- Added getName method to retrieve a nice name describing the temperature source
- Added SKIP entry to the Bmp280Barameter.OversamplingMode enum
- Fixed null pointer exception that occurs when configuring the BMP280 barometer without setting all parameters in the Bmp280Barometer.ConfigEditor object
- Fixed bug where using the generic Accelerometer.setAxisSamplingRange function causes the API to misinterpret the received sampling data on the BMI160 accelerometer
- Fixed incorrect package name on the README sample code
Update to 2.0.0
Version 2.0.7 changes some of the underlying API implementation and renames some methods and variables to better reflect their intents.
Changes
- Constructor to the Counter processor modified to set the counter size, not the max limit
- Pulse URI scheme changed to replace the "output" field with "mode"
- Deprecated fromAnalogGpio and fromGpioPinNotify
- Replaced with fromAnalogIn and fromDigitalInChange respectively
- Added toString implementations to CartesianFloat and CartesianShort
- Results in them being changed to abstract classes