Wearing Optimization
Only available for 287-2 bracelet, from Firmware 7.0
Available starting SDK version 2.4.4
The wearing optimization is a process on the bracelet made to adapt our algorithms to the user's skin. The led power will adapt to the user's skin type based on the wearing optimization.
This process last 2 minutes if the patient sit still, but up to 4 minutes if movement is detected. The patient needs to be sitting and still, or lying down and still.
The bracelet readings like Sp02 highly depend on this process. It needs to be performs at leats once (after pairing is a good time to request it)
I suggest to test the implemention by using the sample app. See the UI implemented in WearingOptimization.swift
and the ViewModel implemented in MetricCalibrationViewModel.swift
Start wearing optimization
metricCalibrationViewModel.startSpecialModeCustom(value: 4)
You have to ask the status every 5 seconds to the bracelet (by using a timer, see the demo app) Every 5 seconds, ask the status to the bracelet:
metricCalibrationViewModel.getSpecialModeStatus()
you will receive the response into the following Listener:
Listener
func specialModeStatus(isStarted: Int, isSuccess: Int, motionLevel: Int, progressPercentage: Int, quality: Int) {}
- isStarted: 1 or 0
0 = wearing optimization is not running
1 = wearing optimization is running
- isSuccess: 1 or 0
0 = the process has not calculated a quality yet
1 = the process has calculated a quality
- motionLevel: 1, 2, 3, 4
0, 1 = The motion level is ok and acceptable
2, 3, 4 = The motion level is too high.
- progressPercentage: from 0 to 100
Percentage of the calculation progress
- quality: from 0 to 100
Quality value of the calibration. The calibration is successfull if quality >= 50
The wearing optimization is considered as finished and successful when isSuccess == 1 and quality >= 50 If not, ask the user to retry
Stop wearing optimization
The wearing optinization stops automatically into the bracelet once the process is finished. (timeout 4 minutes) Use this function only to interrupt the process.
metricCalibrationViewModel.stopSpecialModeCustom(value: 4)