|
| 1 | +# Changelog |
| 2 | +All future changes are now reflected in the [release](https://github.com/ShimmerEngineering/ShimmerAndroidAPI/releases) |
| 3 | + |
| 4 | +28 February 2020 (3.0.65Beta) |
| 5 | +- Fixed bug with Bluetooth Manager Example & Service Example where upon Bluetooth connection, SD logging devices would not show up as connected |
| 6 | +- Added getNumShimmersConnected to ConnectedShimmersListFragment |
| 7 | + |
| 8 | +9 July 2018 (3.0.64Beta) |
| 9 | +- Addition of FilesListActivity to display list of files for a folder. Files can be selected to be opened in an external application. An example of how to use the FilesListActivity can be found in Efficient Data Arrays Example. |
| 10 | +- Added option to log to CSV file in Logging & ShimmerService |
| 11 | +- Examples updated to demonstrate how to receive and display Shimmer status messages (Toast messages) |
| 12 | +- Minor refactoring & Javadoc comments |
| 13 | + |
| 14 | +13 June 2018 (3.0.61Beta) |
| 15 | +- Added method to get clone device from Device Sensor Config Fragment |
| 16 | +- Added check to Device Config List Adapter so it doesn't crash when an invalid config value is returned |
| 17 | + |
| 18 | +12 March 2018 (3.0.56Beta) |
| 19 | +- Add 9DOF channels to arrays data structure (only added if 3D Orientation is enabled) |
| 20 | +- Bugfix for EMG CH2 disappearing from arrays |
| 21 | + |
| 22 | +22 February 2018 (3.0.51Beta) |
| 23 | +- Updated GSR calibration parameters |
| 24 | +- GSR signal bug fixed |
| 25 | +- Graph Handler in ShimmerService now accessible as a protected variable |
| 26 | + |
| 27 | +14 February 2018 (3.0.47Internal) |
| 28 | +- Bug with GSR signal. Fix in progress... |
| 29 | +- Added alternative Arrays data structure to ObjectCluster, accessible via sensorDataArray data class. |
| 30 | +Enabling this data structure can improve packet reception rate performance significantly, especially on older devices. |
| 31 | +- Added method to get Arrays index for a channel, getIndexForChannelName, in ObjectCluster |
| 32 | +- Updated getFormatClusterValue in ObjectCluster to return Arrays data if Arrays data structure is enabled |
| 33 | +- Refactored Shimmer Basic Example name to Bluetooth Manager Example |
| 34 | +- Added new Shimmer Basic Example, demonstrating connecting and streaming from Shimmer without Bluetooth Manager |
| 35 | +- Added new Efficient Data Array Example, demonstrating the use of the alternative Arrays data structure |
| 36 | +- Cleaned up build.gradle files for all project modules |
| 37 | + |
| 38 | +(Beta) Rev 3.00 |
| 39 | +- Support for Shimmer3 devices using updated IMU sensors |
| 40 | +- Change to Handler MSGs |
| 41 | + |
| 42 | +| Deprecated | Updated | |
| 43 | +| ------------- | ------------- | |
| 44 | +| ~~Shimmer.MESSAGE_STATE_CHANGE~~ | ShimmerBluetooth.MSG_IDENTIFIER_STATE_CHANGE | |
| 45 | +| ~~Shimmer.MESSAGE_READ~~ | ShimmerBluetooth.MSG_IDENTIFIER_DATA_PACKET | |
| 46 | + |
| 47 | +- ~~Shimmer.MSG_STATE_FULLY_INITIALIZED~~, ~~Shimmer.STATE_CONNECTING~~, ~~Shimmer.STATE_NONE~~, ~~Shimmer.STATE_CONNECTED~~, is deprecated the following code is the recommended use for monitoring the states of a Shimmer device |
| 48 | +``` |
| 49 | +case ShimmerBluetooth.MSG_IDENTIFIER_STATE_CHANGE: |
| 50 | + ShimmerBluetooth.BT_STATE state = null; |
| 51 | + String macAddress = ""; |
| 52 | + if (msg.obj instanceof ObjectCluster) { //ONLY APPLICABLE FOR ANDROID |
| 53 | + state = ((ObjectCluster) msg.obj).mState; |
| 54 | + macAddress = ((ObjectCluster) msg.obj).getMacAddress(); |
| 55 | + } else if (msg.obj instanceof CallbackObject) { |
| 56 | + state = ((CallbackObject) msg.obj).mState; |
| 57 | + macAddress = ((CallbackObject) msg.obj).mBluetoothAddress; |
| 58 | + } |
| 59 | +
|
| 60 | + switch (state) { |
| 61 | + case CONNECTED: |
| 62 | + break; |
| 63 | + case CONNECTING: |
| 64 | + break; |
| 65 | + case STREAMING: |
| 66 | + break; |
| 67 | + case STREAMING_AND_SDLOGGING: |
| 68 | + break; |
| 69 | + case SDLOGGING: |
| 70 | + break; |
| 71 | + case DISCONNECTED: |
| 72 | + break; |
| 73 | + } |
| 74 | + break; |
| 75 | +
|
| 76 | +``` |
| 77 | + |
| 78 | + |
| 79 | +Rev 2.11 |
| 80 | +- 3 byte timestamp support |
| 81 | + |
| 82 | +4 June 2015 (Beta 2.10) |
| 83 | + - fixes to MultiShimmerTemaplate and ShimmerGraphandLogService (A0 and A7) |
| 84 | + - update to filter (BSF) --> coefficients[(nTaps/2)] = coefficients[(nTaps/2)] +1; |
| 85 | + |
| 86 | +25 May 2015 (Beta 2.9) |
| 87 | + - fix to shimmersetsamplingrate method |
| 88 | + - clean up to tcpip example (ShimmerTCPExample/ShimmerPCTCPExample/ShimmerTCPReceiver) |
| 89 | + |
| 90 | +20 May 2015 (Beta 2.8) |
| 91 | + - updated filter/ecgtohr/ppgtohr algorithms |
| 92 | + - ecgtohr algorithm examples added to MultiShimmerTemplate (Android) and ShimmerCapture (PC) |
| 93 | + - various bug fixes to ShimmerCapture and ShimmerConnect |
| 94 | + - updates to GSR coefficients |
| 95 | + |
| 96 | +20 October 2014 (Beta 2.7) |
| 97 | +- support for LogAndStream Firmware |
| 98 | +- support for Baud Rate modification |
| 99 | +- support for reading the expansion board |
| 100 | +- minor bugs fixed |
| 101 | +- moved logging and plotting functionality to the Android Instrument Driver. |
| 102 | +- added functionalities for MSS API |
| 103 | +04 July 2014 (Beta 2.6) |
| 104 | +- Support for Shimmer3 bridge amplifier |
| 105 | +- added getExGConfiguration methods |
| 106 | +- New Shimmer initialize. Now: get HW Version -> get FW Version -> Initialization |
| 107 | +- Firmware Version divide into Major Firmware Version and Minor Firmware Version |
| 108 | +- Firmware code added in order to identify the features in the different firmwares |
| 109 | +- Change Firmware Version checks, now is Firmware Code checks |
| 110 | +- Configurable filter, see Filter.java : 1.Low Pass, 2.High Pass, 3.Band Pass, 4.Band Stop. |
| 111 | +- Sensor conflict handling for Shimmer3 |
| 112 | +- Shimmer PPG->HR jar v0.4 |
| 113 | +- Updated 3dorientation to work with wide range accel, defaults to low noise if both are enabled |
| 114 | +- Added DataProcessing interface |
| 115 | +- Moved response timer to ShimmerBluetooth |
| 116 | +- Bug fix to allow continual use of gerdavax library if needed |
| 117 | +- Added support for BlueCove, see ShimmerConnectBCove |
| 118 | + |
| 119 | +23 Jan 2014 (Beta 2.2) |
| 120 | +- Separate the drivers into Shimmer Android Instrument Driver and Shimmer Driver, please read user guide for further details. |
| 121 | + |
| 122 | +15 March 2013 (Beta 0.7) |
| 123 | +- a more accurate GSR calibration method is implemented. the polynomial equation is replaced with a linear one. |
| 124 | +- the state STATE_CONNECTED is now deprecated. users should use MSG_STATE_FULLY_INITIALIZED as a replacement. |
| 125 | +- note that since the Android 4.2 update, Google has changed the Bluetooth Stack. It has been well documented that the reliability of the stack is less than desirable. |
| 126 | +- Battery voltage monitoring is now enabled, see manual guideline for further information. |
| 127 | +- Definition of the properties, formats and units, used, have been updated to be more concise and consistent across the various instrument drivers |
| 128 | +- For further changes please refer to the Shimmer.java file, which can be found as part of the instrument driver |
| 129 | + |
| 130 | +27 September 2012 (Beta 0.6) |
| 131 | +- Additional handler msgs for stop streaming has been added. |
| 132 | +- An optional AndroidBluetoothLibrary has been added. Please see license. The reason for this is because some stock firmware were not providing the full bluetooth stack. If bluetooth problems persist please consider using an aftermarket firmware. |
| 133 | +- The connect method has been modified to accomodate the new library. Examples have been updated as well. |
| 134 | +- Object Cluster now accepts the bluetooth id of the device |
| 135 | +- Stop Streaming Command which was failing to receive an ACK intermittently has been fixed. |
| 136 | +- createInsecureRfcommSocketToServiceRecord can be used for insecure connections (only for the default library). Benefit is that you wont have to key in the pin everytime you connect to a Shimmer device, which is a requirment for some Android devices. |
| 137 | +- the 'Nan' bug has been fixed, this bug occurs when the Shimmer device attempts to use the default calibration parameters |
| 138 | + |
| 139 | +18 July 2012 (Beta 0.5) |
| 140 | +- ShimmerGraph has been updated to deal with the following warning message 'the following handler class should be static or leaks might occur' |
| 141 | + |
| 142 | +18 July 2012 (Beta 0.4) |
| 143 | +- Added com.shimmerresearch.tools which has a Logging class (logs data onto the Android device) |
| 144 | +- Fixed a bug with function retrievecalibrationparametersfrompacket |
| 145 | + |
| 146 | +10 July 2012 (Beta 0.3b) |
| 147 | +- Added locks to ensure commands can only be transmitted after the previous one is finished |
| 148 | +- Updated the command transmission timeout |
| 149 | + |
| 150 | +4 July 2012 (Beta 0.3) |
| 151 | +- Fix a bug with the start streaming command which was failing intermittently |
| 152 | +- Rename ShimmerHandleClass to Shimmer |
| 153 | + |
| 154 | +26 June 2012 (Beta 0.2) |
| 155 | +-Added additional log messages to clearly show the communication transactions between the Shimmer and Android device |
| 156 | +-Added an addtional constructor, which allows the android device to set Shimmer settings as soon as connection is made |
| 157 | +-Manual updated explaining communication transactions and the use of the constructors |
0 commit comments