Skip to main content

Android SDK Change Log

All notable changes to this project will be documented in this file.

[1.1.28] - 2026-03-16

DFU SDK

Changed

  • New FW 7.97
    • Battery charging states improvements.
    • Wearing detection improvements specially for FP6.
    • A minor improvement on Respiration rate: Added a procedure to improve the quality of estimations based on the amplitude of the PPG pulses.
    • A minor improvement on NIBP: Reset all buffers for multiple patients onboarding
    • Battery alerts: remove code 114

[1.1.27] - 2026-02-25

Data SDK

Fixed

  • NIBP measurement listener doesn't return the right measurement after 1 set of measurements (reported by Anthony)

Added

  • Added configuration for NIBP summary DataSDK Config changed, added: nibpSlotsIntervalSecs. Must be minimum 30 minutes: 30 60 60 class Config( val logger: SdkLogger? = null, val dataScheduler: Scheduler? = null, val callbackScheduler: Scheduler? = null, val slotsIntervalSecs: Int = MIN_SLOT_INTERVAL_SECS, val ppg2ThresholdFileSize: Int = 500 * 1024, val bioZThresholdFileSize: Int = 30 * 1024, val accThresholdFileSize: Int = 30 * 1024, val automaticReconnectIfNeededIntervalMinutes: Int = 15, // 15 minutes minimum val licenceKey: String? = null, val nibpSlotsIntervalSecs: Int = MIN_NIBP_SLOT_INTERVAL_SECS ) : SdkConfig

[1.1.26] - 2026-02-03

Data SDK

Updated

  • NIBP External Cuff Measurement

Modified support for NIBP cuff measurements using external (non-Corsano) cuffs This feature will exclusively be available for Prolaio after execution of special agreement with Corsano Improved database recording behavior for external cuff measurements

Sample app

Updated

  • Unpair improvement on swipe in the Recent Devices list

[1.1.25] - 2025-12-09

  • Library upgrade to support 16 kB page sizes
    • Gradle 8.6.1 -> 8.8.0
    • Realm 10.15.1 -> 10.19.0
    • Philips sleep library PhilipsVSOLib_vFXC_1.4.2.35-2f46796-hotfix_Release
    • com.android.tools:r8:8.6.17 -> 8.13.17

[1.1.24] - 2025-11-21

Data SDK

Added

  • Battery error detection in MetricActivity data. When dectected, the battery value will be replaced by one of the error codes, listed here

Fixed

  • Sleep monitoring crash if corrupted data has been accumulated

Updated

  • Log size increase for monitoring plan 11 with 5min sample rate

DFU SDK

Changed

  • FW 7.65 Sp02 improvements:
    • Sp02 improvements: improving plan 5min with dynamic sporadic monitoring of vitals
    • Battery: minor improvements on battery level monitoring
    • Improved filtering of vital signs values based on the activity level

[1.1.23] - 2025-10-09

Data SDK

Added
  • Support for NIBP cuff measurement with an external cuff (non-Corsano)
  • In NibpCalibrationManager added functions:
  • startMeasurementWithExternalCuff
  • sendMeasurementFromExternalCuff
  • shouldDoAnotherMeasurement
Removed
  • Obsolete fields MetricActivity: nibpSystolicLongTerm, nibpDiastolicLongTerm, nibpSystolicCombine, nibpDiastolicCombine

Sample app

Added
  • Support for NIBP cuff measurement with an external cuff (non-Corsano) UI
  • Main Fragment: MainDataNibpExternalCalibrationFragment
  • Secondary Fragments:
    • NibpExternalPage1Fragment
    • NibpExternalPage2Fragment
    • NibpExternalPage3Fragment
    • NibpExternalPage4Fragment
    • NibpExternalPage5Fragment
    • NibpExternalPage6Fragment
    • NibpExternalPage7Fragment
    • NibpExternalPageDoneFragment

[1.1.22] - 2025-09-29

DFU SDK

Changed

  • FW 7.48 Sp02 improvements: use of 2 channels for Sp02 calculation

[1.1.21] - 2025-09-08

Data SDK

Fixed

  • In some situations the data download is stuck (Doccla report), only restarts after killing the app
    • Bugfix - data stream doesn't report callback while disconnection from stream timeout

[1.1.20] - 2025-08-13

Data SDK

Added

  • Sp02 spot measurement
    • Manager: SpotMeasurementManager
    • Repository: SpotMeasurementRepository

Deprecated

  • Log export CorsanoSdk.getLogs(context, docFile) replace with DataSdk.getInstance().getManager().getLogs(context, docFile)

DFU SDK

Changed

  • FW 7.34 Sp02 improvements with 1/5min sample rate

[1.1.19] - 2025-06-27

DFU SDK

Changed

  • FW 7.23 wearing detection improved

[1.1.17] - 2025-06-20

Data SDK

Fixed

  • Bugfix PPG parsing for 19 bits PPG

[1.1.15] - 2025-06-06

Data SDK

Fixed

  • Bugfix crash during automatic sync (reported by Prolaio / Kartik)
    • Fixed java.lang.RuntimeException: Watch disconnected
    • Fixed java.lang.IllegalStateException: Unhandled write completion

[1.1.14] - 2025-06-06

Data SDK

Fixed

  • CSV Export error duplicate entry
  • Emography delete error has no property timestamp

DFU SDK

Changed

  • FW 7.20 wearing detection duration improved

[1.1.12] - 2025-05-28

Data SDK

Added

  • BleCommandFactory.awaitCommandV2
    • Bugfix crash when a command is sent but the device disconnects right after it (reported by Prolaio / Kartik)
      • Fixed java.lang.RuntimeException: Watch disconnected
      • Fixed java.lang.IllegalStateException: Unhandled write completion
    • Return status:
      • Result.success()
      • Result.failure(t: Throwable) if one of those 2 errors occurs

[1.1.11] - 2025-05-23

Data SDK

Changed

  • Bugfix EmoGraphy is not syncing

[1.1.10] - 2025-05-16

DFU SDK

Changed

  • FW 7.14 (official version) with wearing detection

[1.1.8] - 2025-05-07 Beta version for Doccla

Data SDK

Added

Wearing optimization:

Description here

  • Start DataSdk.getInstance().getManager()?.getWearingOptimizationManager()?.start(bleDevice)
  • Stop DataSdk.getInstance().getManager()?.getWearingOptimizationManager()?.stop(bleDevice).
  • Listener WearingOptimizationListener

DFU SDK

Changed

  • FW 7.10 (beta version) with wearing detection

[1.1.7] - 2025-04-28

  • Improved SDK logging: added more detailed logs and increased log retention to 5 days.

Data SDK

Added

  • Temperature Raw (extended temperature data):
    • Synchronized and saved in the database via MetricTemperatureRaw and MetricTemperatureRawRepository.
    • Exportable to CSV using the exportData( function with ExportType.TEMPERATURE_RAW.

BLE SDK

Added

  • Temperature Raw (extended temperature data):
    • Enabled or disabled on the bracelet via SET commands (SetTemperatureRawPlan).
    • Status retrieval supported via GET command (GetTemperatureRawPlan).

DFU SDK

Changed

  • Updated startDfu function:
    • Added support for firmware version 6.87 when specifying versions (fun startDfu(address: String, hardwareId: Int, specificVersion: FirmwareVersion)).

Sample App

Fixed

  • Fixed crash on disconnection:
    • java.lang.RuntimeException: Watch disconnected
    • java.lang.RuntimeException: BLE write failed
    • Issue resolved in DeviceImpl.kt.

[1.1.5] - 2025-03-04

Data SDK

  • Added function for summary DB suspend fun getByTimestampRange(startTimestamp: Long, endTimestamp: Long): Result<List<T>?>

BLE SDK

Added

  • LED test on/off new version LedTestWatchRequestV2(val ledNumber: Int, val blinking: Boolean, val durationSecs: Int)

DFU SDK

Changed

  • FW 287-2B: 6.87

[1.1.4] - 2025-03-05 CORRUPTED VERSION, no not use

Data SDK

  • Added fields in MetricActivity : var nibpSystolic: Int? = null, var nibpDiastolic: Int? = null, var nibpSystolicLongTerm: Int? = null, var nibpDiastolicLongTerm: Int? = null, var nibpSystolicCombine: Int? = null, var nibpDiastolicCombine: Int? = null, var cardiacArrest: Int? = null, var activityCount: Int? = null, var isCharging: Boolean? = null

Added NIBP feature

  • Added fields in MetricActivity : var nibpSystolic: Int? = null, var nibpDiastolic: Int? = null, var nibpSystolicLongTerm: Int? = null, var nibpDiastolicLongTerm: Int? = null, var nibpSystolicCombine: Int? = null, var nibpDiastolicCombine: Int? = null, var cardiacArrest: Int? = null, var activityCount: Int? = null, var isCharging: Boolean? = null

  • Added Sample Rate 1/30 min enum class SampleRate(val rateSecs: Int, val friendlyName: String) { THIRTY_SECS(30, "1/30 secs"), ONE_MIN(60, "1/minute"), FIVE_MIN(5 * 60, "1/5 minutes"), THIRTY_MIN(30 * 60, "1/30 minutes") }

  • Added Sample Rate type NIBP: VitalParameterWithSamplingRateType.NIBP

  • Database - Added Blood Pressure summary with 2h slots: MetricBloodPressureSummary

  • Blood pressure summary: BloodPressureSummaryRepository

DFU SDK

Changed

  • FW 287-2B: 6.76

[1.1.2] - 2025-02-09

Data SDK

  • Device info shared with Corsano during sync (Serial number, last sync date)

[1.0.0] - 2025-02-09

  • Corrupted version, deployment error

[0.9.25] - 2025-02-08

Data SDK

  • Export improvements

[0.9.24] - 2025-02-08

Data SDK

  • Added export function fun exportData( fileTypes: List<ExportType>, context: Context, documentFile: DocumentFile, from: Long, to: Long, onDone: () -> Unit, onError: (Throwable) -> Unit )

[0.9.23] - 2025-02-07

Data SDK

  • Added licence key to SDK initialisation DataSdk.Config( slotsIntervalSecs = 10 * 60, ppg2ThresholdFileSize = 500 * 1024, bioZThresholdFileSize = 30 * 1024, accThresholdFileSize = 30 * 1024, licenceKey = "my_key" // update your licence key here, if you need a key, please contact mbortot@corsano.com ) More info: https://developer.corsano.com/android/intro/getting_started/#licence-key

DFU SDK

Changed

  • FW 287-2B: 6.65
  • Add more FW version to the DFU with specific version (5.39, 5.54, 5.72, 5.82): corsanoDfu.startDfu(args.address, args.hardwareId, FirmwareVersion(5,39)

[0.9.21] - 2025-01-21

Data SDK

Added

  • Sleep method to clear all dataSdkManager?.sleepProcessUpdater?.resetAll(bleDevice.address) will clear all files stored waiting for sleep processing

Changed

  • Sleep process improvements to handle big amount of data (Kartik's feedback), avoid crash on data overload
  • Sample rate - apply common config and only propose 1/min 1/30secs 1/5min
    • SetVitalParameterSamplingRateRequest(ACTIVITY, 60) changed to SetVitalParameterSamplingRateRequest(ACTIVITY, SampleRate.ONE_MIN)

DFU SDK

Changed

  • FW 287-2B: 6.45

[0.9.20] - 2024-10-18

Data SDK

Added

  • PPG2 parser with Red and Infra Red PPG
  • Sample App CSV generation after parsing PPG2 createPpg2Csv(

Changed

  • Structure Ppg2WiffSlotModel with the metricType for the PPG color
  • ParseListener

[0.9.18] - 2024-10-04

Data SDK

Fixed

  • ECG parsing produce same timestamps for each chunks of ECG

Added

  • Timer to display running ECG, and automatic stop after 50 seconds

DFU SDK

Changed

  • FW 287-2B: 5.82

[0.9.17] - 2024-10-02

Data SDK

Fixed

  • Methods don't run callback when there are no result: MetricTemperatureRepository and MetricActivityRepository methods getLast getByTimestampRange getAll

[0.9.13] - 2024-09-09

BLE SDK

Added

  • Custom sampling rate setting for Activity, Pulse Rate, Respiration Rate, SpO2, Temperature. Requests: SetVitalParameterSamplingRateRequest and GetVitalParameterSamplingRateRequest

DFU SDK

Changed

  • FW 287-2B: 5.72

[0.9.12] - 2024-08-29

Data SDK

Changed

  • ACC parser fix timestamp issue reported by Kartik

[0.9.11] - 2024-08-26

Data SDK

Changed

  • ACC parser fix chunks with a sample of 31 instead of 32 reported by Kartik

[0.9.10] - 2024-08-08

DFU SDK

Added

  • Start DFU to a specific FW version (only available for 5.39 at the moment): corsanoDfu.startDfu(args.address, args.hardwareId, FirmwareVersion(5,39)
  • New FW 5.54

[0.9.9] - 2024-05-01

Data SDK

Added

  • Battery notification, comes when the bracelet is put on or taken off the charger Notification.ChargingEventPing. To subscribe: BleSdk.getInstance().getDevice(address).observeNotifications {

[0.9.8] - 2024-04-23

Data SDK

Changed

  • Unpair improvements, remove link to download worker stopAll added parameter Deprecated: abstract fun stopAll(address: String, onSuccess: (() -> Unit)?, onError: ((Throwable) -> Unit)?) Use: abstract fun stopAll(context: Context, address: String, onSuccess: (() -> Unit)?, onError: ((Throwable) -> Unit)?)

DFU SDK

  • FW 5.39 B2: temperature and Sp02 improvements

[0.9.7] - 2024-04-11

Data SDK

Fixed

  • Bugfix crash (reported by Kartik) when call getBraceletCapacity and the bracelet disconnected during the process Uncaught exception in thread main java.lang.RuntimeException: Watch disconnected
    The function getBraceletCapacity will return an error and no crash will occur.

Changed

  • Added parameter onError function getBraceletCapacity
    fun getBraceletCapacity( bleDevice: BleDevice, hardwareId: HardwareId, onDone: (Double) -> Unit, onError: (Throwable) -> Unit )

Added

  • suspend fun getBraceletCapacitySuspend( bleDevice: BleDevice, hardwareId: HardwareId ): Result<Double>

[0.9.6-SNAPSHOT] - 2024-04-05

  • FW 5.37
  • Improved logs to investigate crash with empty watch ble address
  • Improved logs to investigate ACC gap

[0.9.5] - 2024-03-19

BLE SDK

  • Bugfix sync process stops when disconnection in some cases. Add timeout and reconnect after Timeout Exception

[0.9.4] - 2024-03-11

BLE SDK

  • Bugfix Timeout Exception on stream timeout stops the sync process. Device will be disconnected.

[0.9.3] - 2024-03-08

DFU SDK

  • FW 5.35 B2: bugfix Ping coming too regularly, sync happening too much

[0.9.2] - 2024-03-05

BLE SDK

  • Bugfix Timeout Exception during sync - forbid command request during stream, commands will be executed when the BLE stack is free

Data SDK

  • Sleep - fix status STARTED is sent prematurely

DFU SDK

  • FW 5.34 for Nima only, test to investigate the Ping issue (every 18 seconds sometimes)

[0.9.1] - 2024-03-01

Data SDK

  • Sync notification: silence sound
  • Configuration rename automaticDownloadIntervalMinutes to automaticReconnectIfNeededIntervalMinutes

DFU SDK

  • B2 new FW: 5.32 extensive logging for Ping debugging

[0.9.0] - 2024-02-23

Data SDK

  • Bugfix crash OutOfMemory when downloaded a large amount of PPG1 on B1 bracelets
  • Bugfix sync stops in the morning when sleep processes
  • Bugfix syncing is stuck and does not restart Coroutine Cancel exception
  • Bugfix bracelet was unpairs but SDK tries to reconnect anyway

DFU SDK

  • B2 new FW: 5.28

Sample App

  • Add data clean up function example dataCleanUp()
  • WatchFragment: improvements in handling connection state from the bracelet. Handle BLE on/off, and change in bracelet connection

[0.8.22] - 2024-02-12

  • Bugfix crash for Android OS <= 12 java.lang.IllegalStateException: Not implemented at androidx.work.CoroutineWorker.getForegroundInfo$suspendImpl(CoroutineWorker.kt:100)

[0.8.21] - 2024-02-02

  • Gradle upgrade 8.2.2 / Kotlin 1.9.22

Data SDK

  • Sync improvements
  • Configuration automaticDownloadIntervalMinutes minimum of 15 minutes, restriction by Android Worker of min interval of 15 minutes

DFU SDK

  • FW 5.23 for B2 -> Bugfix RealTimePing coming with data when bracelet not worn

[0.8.19] - 2024-01-18

Data SDK

  • Memory protection: read and write to the DB chunk by chunk to limit memory load when a full bracelet syncs
  • Memory protection: Summary generation, force minimum of slotIntervalSecs = 60 seconds. Avoid mass generation of slots when < 60 seconds
  • ACC parsing improvement: fix gap issue
  • Move com.corsano.sdk.ble.parser. -> com.corsano.sdk.data.download.parsing.

[0.8.17] - 2024-01-02

Data SDK

  • RR-interval: filter broken values coming from the Firmware

[0.8.16] - 2023-12-22

BLE SDK

  • Add Log transfer from the bracelet to understand disconnection issue.
  • Transfer of the Log file from the bracelet to a .txt file. Save of 2 days of data maximum
  • User profile: add Skin Type

Data SDK

  • Add function DataSdk.getInstance().getDownloadManager().stopAll( to stop download subscriptions and automatic processes when unpairing
  • ACC parsing: bugfix 7-8 seconds of gap every 30 minutes
  • Sleep process: fix crash on start of processing

DFU SDK

  • FW 5.18 for B2

[0.8.15] - 2023-11-30

  • Libs upgrade Gradle 8.1.2 -> 8.1.4 and Kotlin 1.9.10 -> 1.9.20

Data SDK

  • FileTransfer - reduce max size of 100kB per file transfer to custom max per file type and Android version (example PPG2 50bB for Android >= 12 but 40kB for Android 10,11 and 30kB for Android 8,9

DFU SDK

  • FW 5.0 for B2

[0.8.14] - 2023-11-14

Data SDK

  • Add logs to investigate sync timeout

[0.8.13] - 2023-11-07

Data SDK

  • Sleep process same for each plan, remove specificities for HOSPITAL_RAW
  • Acc parsing fix listener function onFileFinished(file) not triggered

[0.8.12] - 2023-10-20

Data SDK

  • SDK initialization is set but download happens every 15 minutes

[0.8.11] - 2023-10-20

Data SDK

  • Bugfix trigger download doesn't ignore filtered files

[0.8.10] - 2023-10-17

BLE/DATA/DFU/SAMPLE

  • Android 14 compatibility

[0.8.9] - 2023-10-16

Data SDK

  • Trigger data download with a filter on files downloadManager?.triggerDownload(address, hardwareId, plan = it, listOf(FileOnWatch.PPG2))
  • Bugfix automatic file transfer is not doing anything

BLE SDK ACC parsing

Added

  • ACC parsing:

  • Parser dataSdkManager?.accWiffFileParser?.run(accFiles.toList(), parsingListener)

  • RealTime Notification (B2 only):

  • Enable SetRealTimePingEnableRequest(true)

  • Get GetRealTimeEnabledRequest()

[0.8.8] - 2023-10-03

  • Deployment update

[0.8.7] - 2023-09-28

Sample App.

Added

  • Stress tab for B2 bracelet: display of stress data
  • Add pairing step: user action required before pairing (B1: push pusher button, B2: put bracelet on/off the charger) WatchScanVerifyFragment

Data SDK.

Fixed

  • Bugfix sleep is not processed for plan HOSPITAL_MULTICOLOR
  • Log improvements, add logs

BLE SDK.

Added

  • New function: startScanForPusherEvent(macAddress: String, listener) to detect a bracelet with the proper action before pairing (B1: push pusher button, B2: put bracelet on/off the charger)

Fixed

  • Bugfix Timeout SleepFileTransfer when less than 200 bytes on bracelet

[0.8.6] - 2023-08-21

DATA/BLE/DFU SDK

Changed

  • Dependencies upgrade
  • Compile Android SDK version to 33

[0.8.5] - 2023-08-17

Data SDK.

Fixed

  • Bugfix metric activity listener not triggered
  • Added manager.metricTemperatureUpdated listener on new raw data temperature inserted
  • Capacity calculation improvement

DFU SDK

Changed

  • Update of firmware version for the bracelet
    • V2 to 4.51
    • V1 to 4.20

[0.8.4] - 2023-04-13

Data SDK.

Fixed

  • Bugfix ECG paring returns file not found exception

BLE SDK. New commands

Added

  • New bracelet command: Led1TestWatchRequest turns ON the LED 1 of the bracelet
  • New bracelet command: Led2TestWatchRequest turns ON the LED 2 of the bracelet

[0.8.3] - 2023-03-03

BLE SDK PPG2 and ECG parsing

Added

  • PPG2 parsing:
  • Parser dataSdkManager?.ppg2WiffFileParser?.run(ppg2Files.toList(), parsingListener)
  • Lister ParserListener
  • ECG parsing:

Parser fun parseEcgMeasurement(context: Context, ecg: EcgMeasurementModel, parsingListener: EcgParserListener?)

  • Lister EcgParserListener

[0.8.2] - 2023-02-24

Data SDK ECG refactoring

Added

  • New DB class for ECG measurements: EcgMeasurementModel::class
  • Get Bracelet capacity dataSdkManager?.getBraceletCapacity(bleDevice, hardwareId) {

Updated

  • ECG Manager. Remove device mac address in parameter in:
    • Replace DataSdk.getInstance().getManager().getEcgManager().deleteAllEcg(bleDevice.address, { by DataSdk.getInstance().getManager().getEcgManager().deleteAllEcg {
    • Replace DataSdk.getInstance().getManager().getEcgManager().deleteEcgInRange(bleDevice.address, startTime, endTime, by DataSdk.getInstance().getManager().getEcgManager().deleteEcgInRange(startTime, endTime, {
    • Replace DataSdk.getInstance().getManager().getEcgManager().isEcgRunning(bleDevice.address) { isEcgRunning -> by DataSdk.getInstance().getManager().getEcgManager().isEcgRunning() { isEcgRunning ->
  • ECG export. Move functions to ECG manager
    • Get exportable ECG

      Replace dataSdkManager?.rawFileRepository?.getExportabledWiffFiles(address, RawFileType.ECG, { By DataSdk.getInstance().getManager().getEcgManager().getExportableEcgs {
    • Export wiff files

      Replace dataSdkManager?.wiffFileExporter?.exportWiffFiles(address, RawFileType.ECG,docFile by DataSdk.getInstance().getManager().getEcgManager().exportWiffFiles(docFile
    • Move wiff files to another app directory

      Replace dataSdkManager?.wiffFileExporter?.exportWiffFilesToAppDirectory(address, RawFileType.ECG, directory, by DataSdk.getInstance().getManager().getEcgManager().exportWiffFilesToAppDirectory(context, directory,

[0.8.1] - 2023-02-13

Data SDK.

Added

  • Function to merge the .part.wiff files from PPG2 or ACC or BioZ no matter if the minimum file size for a .wiff has been reached
    • Example: dataSdkManager?.ppg2WiffFileUpdater?.mergeChunkFilesForce(address, { model ->

[0.8.0] - 2023-02-10

Data SDK.

Fixed

  • Bugfix ACC / BioZ .wiff file not generated (.part.will not merged)

Added

  • Add listener for .wiff file generation. Will be trigger when a file is created
    • DataSdk.getInstance()?.wiffFileUpdated?.addListener(fullWiffFileListener)

BLE SDK. New commands

Added

  • New bracelet command: EraseAllRequest deletes all data on the bracelet
  • New bracelet command: ResetWatchRequest bracelet restart
  • New bracelet command: ShutdownWatchRequest bracelet turns off, will be back on once put on the charger
  • New bracelet command: GetBraceletStatusRequest give the wearing, charging status, etc of the bracelet
  • File capacity. Use request GetFileSizeRequest(FileOnWatch.xxxx) and use the function getCapacity(hardwareId)

Changed

  • Firmware version simply format in GetFwVersion

CORE SDK

Add SDK log & export

Added

  • Generate log file with SDK technical logs, valid for 2 days
  • Export of the files to a local folder

DFU SDK. Sleep improvements

Changed

  • Update of firmware version for the bracelet
    • V2 to 4.19

[0.7.10] - 2022-12-09

Data SDK. Sleep improvements

  • Bugfix continuous sleep end of sessions not generated
  • Trigger of the sleep processing more often and more efficiently:
    • Continuous sleep (Plan 5 Hospital) is processed after 250 steps + 2min, or 2 min after a click on the "Process now button"
    • Normal sleep (other plans) is processed when the bracelet returns a status "FINISHED". The " FINISHED" status is triggered when the bracelet detect that the user should be awake.

Changed - Add DevicePlan in parameter of the sync and some file downloads

  • Sync

    DataSdk.getInstance().getDownloadManager().subscribeDeviceForDownload(address: String, hardwareId: HardwareId, plan: DevicePlan

    Automatic sync process, add parameter plan: DevicePlan

    DataSdk.getInstance().getDownloadManager().triggerDownload(address: String, hardwareId: HardwareId, plan: DevicePlan) Sync process, add parameter plan: DevicePlan
  • Sleep

    DataSdk.getInstance().getManager().sleepProcessUpdater.schedule(device: BleDevice, plan: DevicePlan) Sleep process, add parameter plan: DevicePlan
    • DataSdk.getInstance().getManager().sleepProcessUpdater.sendStopSleep(bleDevice: BleDevice) Stop sleep in the SleepProcessUpdater
  • Activity
    • ActivityFileDownloader(manager, address, plan) add parameter plan: DevicePlan

BLE SDK. Sleep improvements

Added

  • New bracelet command: CommandId.APP_CMD_GET_SESSION_STATUS gives the sleep status for normal sleep (not continuous), used in the main sync

Changed

  • Update of firmware version for the bracelet
    • V1 to 4.15
    • V2 to 3.94

[0.7.9] - 2022-09-01

Data SDK. Sleep improvements

  • Bugfix sleep session not identified for complex sleep (from 4am to 2pm for example)
  • Update of the Philips Sleep Library to version 1.4.1.21-2a7dd16.6dbbddf

[0.7.8] - 2022-08-26

Data SDK. ACC XYZ (with FW 3.99)

  • Update of the PPG file, sync compatibility with protocol V3 with ACC XYZ

DFU SDK. New FW versions

Changed

  • Update of firmware version for the bracelet
    • V1 to 3.99
    • V2 to 3.69
  • Pairing without passkey if
    • FW B1 >= 3.98
    • FW B2 >= 3.61

[0.7.7] - 2022-08-22

[0.7.6] - 2022-07-29

Data SDK. Bugfix sleep process on Android 12

Fixed

  • Crash of sleep processing on Android >= 12

Changed

  • Delete of ProcessSleepService replace with dataSdkManager?.sleepProcessUpdater?.schedule(bleDevice.address)

Sample App. Add stop sleep button

Added

  • Stop sleep button, this send the stop sleep to the bracelet (sleep is automatically stopped after 250 steps in the morning, this command is practical when the 250 steps are not done yet)

[0.7.5] - 2022-06-14

DFU SDK. New FW version

Changed

  • Update of firmware version for the bracelet V2 to 3.56

[0.7.4] - 2022-07-06

Data SDK. Respiration rate

Changed

  • Respiration rate always zero

Sample App.

Changed

  • Activity tab, Sp02 summary button added
  • Activity tab, Raw temperature button added
  • Activity tab, added information in the display of the activity / temperature / respiration rate

[0.7.3] - 2022-06-15

Data SDK. ECG

Changed

  • Bugfix methods not externals

[0.7.2] - 2022-06-01

Data SDK. ECG

Added

  • DataSdk.getInstance().getManager().getEcgManager() ECG Manager: start / stop ECG Measurement
  • ECG synchronisation
  • ECG export of .wiff, 1 .wiff per ECG Measurement

BLE SDK.

Added

  • StartEcgMeasurement BLE command
  • StopEcgMeasurement BLE command

DFU SDK. New FW version

Changed

  • Update of firmware version for the bracelet V2 to 3.24

[0.7.1] - 2021-05-16

Data SDK. Sleep process automatically

Added

  • dataSdkManager?.wiffFileExporter?.exportWiffFilesToAppDirectory Export function of the .wiff files (Raw measurements PPG2 / Acc / BioZ) to the external app folder

DFU SDK. New FW version

Changed

  • Update of firmware version for the bracelet V2 to 3.18

[0.7.0] - 2022-04-22

Data SDK. Adding new APIs:

  • range queries for more flexibility
  • new download API.

Added

-MetricRepository.getByTimestampRange() for more flexibility

  • DataDownloadManager – interface that provides new methods for downloading all data
  • DataSdk.getDownloadManager() - method to get instance of DataDownloadManager
  • automaticDownloadIntervalMinutes – an DataSdk.Config parameter that determines how often to pull data from subscribed devices.
  • New dependency org.jetbrains.kotlinx:kotlinx-coroutines-android:1.5.2
  • New dependency androidx.work:work-runtime-ktx:2.7.1
  • New dependency androidx.datastore:datastore-preferences:1.0
  • New dependency androidx.lifecycle:lifecycle-process:2.4.1

Deprecated

  • MetricRepository.getByTimestamp() deprecated in favor of MetricRepository.getByTimestampRange()
  • Manager.registerDeviceForAutomaticFileTransfer() deprecated in favor of DataDownloadManager
  • Manager.unregisterDeviceForAutomaticFileTransfer() deprecated in favor of DataDownloadManager

BLE SDK.

Fixed

  • Fixed issue when automatic reconnect hasn't been triggered in some cases.

[0.6.4.1] - 2021-02-024

BLE SDK. Bedtime / risetime

Added

  • Bracelet V2: Get / Set Accelerometer plan: Continuous / Bedtime-Risetime / Disable
  • Bracelet V2: Get / Set EmoGraphy & Bioz plans: Continuous / Bedtime-Risetime / Disable
  • Bracelet V2: Sync of the Accelerometer file
  • Bracelet V2: Sync of the EmoGraphy file
  • Profile: Gender / wrist / date of birth added (Get Profile and Set Profile)

Changed

  • Bracelet V2: Accelerometer / EmoGraphy / Bioz files synced to .wiff file with a minimum of 20kB
  • Bracelet V2: PPG2 files synced to .wiff file with a minimum of 500kB

Data SDK. Sleep process automatically

Added

  • Export function of the .wiff files locally (Raw measurements PPG2 / Acc / EmoGraphy / BioZ)
  • Exported .wiff files deleted

DFU SDK. New FW version

Changed

  • Update of firmware version for the bracelet V1 to 3.87

[0.6.3] - 2021-02-01

BLE SDK. Bedtime / risetime

Added

  • Get / Set commands for bedtime and risetime

Data SDK. Sleep process automatically

Changed

  • Sleep process triggered in the automatic file transfer after 250 steps
  • Sleep summary with 1 minute slots
  • rename of some variables to match iOS naming

DFU SDK. New FW version

Changed

  • Update of firmware version for the bracelet V2 to 2.23 and V1 to 3.83

[0.6.2] - 2021-01-18

BLE SDK. Bracelet plan update

Changed

  • Bracelet battery too short, change of default plan to avoid battery high consumption

[0.6.1] - 2021-01-14

Data SDK. Fixes Sp02 and respiration rate

Fixed

  • Respiration rate quality always 0
  • Stress summary (SpO2) not generated

Sample App. Scan screen redirects to the DFU screen when a device needs a recovery

[0.6.0] - 2022-01-11

BLE SDK. Added sync of the stress file, SpO2

Added

  • Sync of the Stress file for B2 in the automatic file transfer
  • Parse new data B2: SpO2

Data SDK. Added Stress, and change all summaries to have a 1 minute interval

  • 1 minute interval
  • Steps slots have energy expenditure, speed (m/s) and activity type
  • Add Stress summary, and stress metrics
  • Added SpO2 summary

DFU SDK.

Added

  • FW 2.9 for B2
  • Added method to get the latest firmware version fun getLatestFirmwareVersion(hardwareId: Int): FirmwareVersion
  • Added method to get if a DFU is needed fun needDfu(hardwareId: Int, currentVersion: FirmwareVersion): Boolean

[0.5.1] - 2021-12-14

BLE SDK. Added time commands to the bracelet

Added

  • Added method to set the time on the bracelet bleDevice.enqueueCommand(request = SetTimeRequest(),
  • Added method to get the time on the bracelet bleDevice.enqueueCommand(request = GetTimeRequest(),

Sample App. Scan screen redirects to the DFU screen when a device needs a recovery

Changed

  • Redirection to the DFU screen for device of type record.scanType.needsRecovery
  • Rename of scan data data.pusherPressed to data.advertisementData?.isPusherPressed

[0.5] - 2021-12-01

Data SDK. Added support for Automatic File Transfer based on the ping.

Added

  • Enable automatic file transfer based on the ping. Can be enabled DataSdk.Manager.registerDeviceForAutomaticFileTransfer()
  • Added method to unregister automatic file transfer DataSdk.Manager.unregisterDeviceForAutomaticFileTransfer()

Changed

  • Rename of internal package ble.internal.notificaiton to ble.internal.notification
  • Private methods in Manager are unified and simplified.

[0.4] - 2021-11-29

BLE SDK. Added support for new commands in the latest watch firmware.

Added

  • Commands for controlling workout mode, as well as live notifications that contain current stats.
  • Commands for downloading and erasing PPG2 and ECG files (as binary data).
  • Added support for Android 12 (new Bluetooth permissions).
  • Added support for 287-2B:
    • Starting and stopping ECG, BIOZ and PPG2 measurement.
    • DFU

Changed

  • Updated format of Activity and Workout file according to specs.
  • DFU needs HardwareId to update with the correct firmware.

Deprecated

  • BleSdk.getWatch() and BleSdk.getWatch() deprecated in favor of getDevice() and removeDevice().
  • DataSdk.getSummaryManager() deprecated in favor of getManager().

Fixed

  • Issue where disconnect of one of multiple devices would cause crash due to abnormal cancellation of running commands.

[0.3] - 2021-06-07

Data SDK. Added functionality for the Data SDK to retrieve and process Sleep data.

Added

  • Sample app shows usage of Data SDK and how to retrieve and process sleep.

[0.2] - 2021-05-25

Initial release DATA SDK. Added functionality for the Data SDK to retrieve and process Activity, HRV and PPG data.

Added

  • Sample app shows usage of Data SDK and how to retrieve summaries.

[0.1] - 2021-05-18

Initial release BLE SDK.

Added

  • Sample app shows usage of BLE SDK and how to connect BLE Device.