Version at least Android 7.0
lepu-blepro-0.0.1.aar : add PC-60FW, PC-102, PC-80B, AP-10/AP-20
lepu-blepro-0.0.2.aar : add POD-1W
lepu-blepro-0.0.3.aar : add PC-68B, PC-303, PulsebitEX, CheckmeLE
lepu-blepro-0.0.4.aar : add Checkme Pod, POD-2W, AOJ-20A
lepu-blepro-0.0.5.aar : add SP-20, Vetcorder, BPM, Bioland-BGM, PoctorM3102, LPM311, LEM
lepu-blepro-0.0.8.aar : add ER1, ER2, DuoEK, VBeat, O2, BP2, BP2W, LP-BP2W
lepu-blepro-0.0.10.aar : add Ventilator
lepu-blepro-1.0.1.aar : add AD5, FHR, VCOIMN
lepu-blepro-1.0.5.aar : add ER3, Lepod
lepu-blepro-1.0.6.aar : add AirBP
lepu-blepro-1.0.7.aar : add PF-10AW-1, O2Ring S
Add the dependencies for the artifacts you need in the build.gradle
file for your app or module :
implementation 'no.nordicsemi.android:ble:2.2.4'
implementation(name: 'lepu-blepro-x.x.x', ext: 'aar')
Add the permissions in the AndroidManifest.xml
file :
Used to monitor BluetoothDevice connect status
onBleStateChanged(model, state)
:
model
: One device type corresponds to one model, such as PC-60FW is Bluetooth.MODEL_PC60FW
state
: com.lepu.blepro.constants.Ble.State
Init BleService in application onCreate()
, PS:Only need to initService once during app operation
SDK will send this event after BleService init finish :
LiveEventBus.get<Boolean>(EventMsgConst.Ble.EventServiceConnectedAndInterfaceInit).post(true)
SDK will send this event when found BluetoothDevice :
LiveEventBus.get<Bluetooth>(EventMsgConst.Discovery.EventDeviceFound).post(bluetooth)
Stop scan before connect BluetoothDevice
Set interface before connect BluetoothDevice
Disconnect all BluetoothDevice
autoReconnect : Whether auto connect BluetoothDevice after disconnect
Disconnect model BluetoothDevice
Service UUID : 14839AC4-7D7E-415C-9A42-167340CF2339
Write UUID : 8B00ACE7-EB0B-49B0-BBE9-9AEE0A26E1A3
Notify UUID : 0734594A-A8E7-4B1A-A6B1-CD5243059A57
SDK will send this event when BluetoothDevice connected :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.AirBP.EventAirBpSetTime).post(InterfaceEvent(model, true))
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.AirBP.EventAirBpGetInfo).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.airbp.DeviceInfo
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.AirBP.EventAirBpGetBattery).post(InterfaceEvent(model, data))
data
: ArrayList<Record>
, com.lepu.blepro.ext.airbp.Battery
state : 0 (no charge), 1 (charging), 2 (charging complete), 3 (low battery)
percent : 1-100
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.AirBP.EventAirBpSetConfig).post(InterfaceEvent(model, data))
data
: boolean (true : set config success, false : set config failed)
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.AirBP.EventAirBpGetConfig).post(InterfaceEvent(model, data))
data
: boolean (true : beep switch on, false : beep switch off)
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.AirBP.EventAirBpRtData).post(InterfaceEvent(model, data))
data
: Int
ps : unit (mmHg)
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.AirBP.EventAirBpRtState).post(InterfaceEvent(model, data))
data
: Int
state : 0-17 0 : inflating
1 : notice: stop pumping
2 : measuring
3 : measure result
4 : pump again
5 : measure failed, noise
6 : measure failed, weak signal
7 : measure failed, air is leaking
8 : measure failed, air is blocked
9 : system error
10 : no enough pumping
11 : over range
12 : pressure over 300 mmHg, stop pumping
13 : pump timeout
14 : measure result, irregular heart beat detected
15 : measure result, disturb detected
16 : measure finished, user deflate
17 : measure finished, over pumped
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.AirBP.EventAirBpRtResult).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.airbp.RtResult
stateCode : refer to 6.Real-time state
Service UUID : 0000FFE0-0000-1000-8000-00805F9B34FB
Write UUID : 0000FFE2-0000-1000-8000-00805F9B34FB
Notify UUID : 0000FFE1-0000-1000-8000-00805F9B34FB
SDK will send this event when BluetoothDevice connected :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.AOJ20a.EventAOJ20aSetTime).post(InterfaceEvent(model, true))
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.AOJ20a.EventAOJ20aDeviceData).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.aoj20a.DeviceInfo
battery : 1-10 (10=100%)
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.AOJ20a.EventAOJ20aTempList).post(InterfaceEvent(model, data))
data
: ArrayList<Record>
, com.lepu.blepro.ext.aoj20a.Record
temp : unit (℃)
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.AOJ20a.EventAOJ20aDeleteData).post(InterfaceEvent(model, true))
Error result :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.AOJ20a.EventAOJ20aTempErrorMsg).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.aoj20a.ErrorResult
Normal result :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.AOJ20a.EventAOJ20aTempRtData).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.aoj20a.TempResult
temp : unit (℃)
Service UUID : 0000FFB0-0000-1000-8000-00805F9B34FB
Write UUID : 0000FFB2-0000-1000-8000-00805F9B34FB
Notify UUID : 0000FFB2-0000-1000-8000-00805F9B34FB
SDK will send this event when BluetoothDevice connected :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.AP20.EventAp20SetTime).post(InterfaceEvent(model, true))
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.AP20.EventAp20DeviceInfo).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.ap20.DeviceInfo
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.AP20.EventAp20SetConfigResult).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.ap20.SetConfigResult
type : Constant.Ap20ConfigType
success : true(set config success), false(set config failed)
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.AP20.EventAp20GetConfigResult).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.ap20.GetConfigResult
type : Constant.Ap20ConfigType
data : value range
Constant.Ap20ConfigType.BACK_LIGHT (0-5)
Constant.Ap20ConfigType.ALARM_SWITCH (0 : off, 1 : on)
PS : The alarm function is off / on, mainly including low blood oxygen alarm, high or low pulse rate alarm
Constant.Ap20ConfigType.LOW_OXY_THRESHOLD (85-99)
Constant.Ap20ConfigType.LOW_HR_THRESHOLD (30-99)
Constant.Ap20ConfigType.HIGH_HR_THRESHOLD (100-250)
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.AP20.EventAp20BatLevel).post(InterfaceEvent(model, data))
data
: int (0-3, 0=0-25%, 1=25-50%, 2=50-75%, 3=75-100%)
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.AP20.EventAp20RtOxyParam).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.ap20.RtOxyParam
spo2 : 0%-100% (0 invalid)
pr : 0-511bpm (0 invalid)
pi : 0%-25.5% (0 invalid)
isProbeOff
isPulseSearching
battery : 0-3 (0=0-25%, 1=25-50%, 2=50-75%, 3=75-100%)
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.AP20.EventAp20RtOxyWave).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.ap20.RtOxyWave
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.AP20.EventAp20RtBreathParam).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.ap20.RtBreathParam
rr : respiratory rate (6-60bpm, 0 invalid)
sign : 0(normal breathing), 1(no breathing)
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.AP20.EventAp20RtBreathWave).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.ap20.RtBreathWave
flowInt : 0-4095
snoreInt : 0-4095
Service UUID : 00001000-0000-1000-8000-00805F9B34FB
Write UUID : 00001003-0000-1000-8000-00805F9B34FB
Notify UUID : 00001002-0000-1000-8000-00805F9B34FB
SDK will send this event when BluetoothDevice connected :
LiveEventBus.get<Int>(EventMsgConst.Ble.EventBleDeviceReady).post(model)
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.BiolandBgm.EventBiolandBgmDeviceInfo).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.bioland.DeviceInfo
customerType : 0(APPLE), 1(AIAOLE), 2(HAIER), 3(NULL), 4(XIAOMI), 5(CHANNEL), 6(KANWEI)
battery : 0-100
deviceType : 1(Sphygmomanometer), 2(Blood glucose meter)
Get the latest data :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.BiolandBgm.EventBiolandBgmGluData).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.bioland.GluData
resultMg : unit mg/dL (18-Lo, 707-Hi)
resultMmol : unit mmol/L (1.0-Lo, 39.3-Hi)
If the device has no data :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.BiolandBgm.EventBiolandBgmNoGluData).post(InterfaceEvent(model, data))
If the method biolandBgmGetInfo or biolandBgmGetGluData is called after the device is connected, the measurement data will be automatically sent.
(1) Countdown :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.BiolandBgm.EventBiolandBgmCountDown).post(InterfaceEvent(model, data))
(2) Measurement result :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.BiolandBgm.EventBiolandBgmGluData).post(InterfaceEvent(model, data))
Service UUID : 14839AC4-7D7E-415C-9A42-167340CF2339
Write UUID : 8B00ACE7-EB0B-49B0-BBE9-9AEE0A26E1A3
Notify UUID : 0734594A-A8E7-4B1A-A6B1-CD5243059A57
SDK will send this event when BluetoothDevice connected :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.BP2.EventBp2SyncTime).post(InterfaceEvent(model, true))
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.BP2.EventBp2Info).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.bp2.DeviceInfo
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.BP2.EventBp2FileList).post(InterfaceEvent(model, data))
data
: ArrayList<String>
Read file progress :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.BP2.EventBp2ReadingFileProgress).post(InterfaceEvent(model, data))
data
: int (0-100)
Read file error :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.BP2.EventBp2ReadFileError).post(InterfaceEvent(model, filename))
data
: String
Read file complete :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.BP2.EventBp2ReadFileComplete).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.bp2.Bp2File
type: 1 (BpFile), 2 (EcgFile)
BpFile :
measureTime : unit (s)
EcgFile :
sampling rate : 125HZ
mV = waveShortData * 0.003098
measureTime : unit (s)
recordingTime : unit (s)
connectCable : Whether the cable is connected
diagnosis : EcgDiagnosis
- isRegular : Whether Regular ECG Rhythm
- isPoorSignal : Whether Unable to analyze
- isLeadOff : Whether Always lead off
- isFastHr : Whether Fast Heart Rate
- isSlowHr : Whether Slow Heart Rate
- isIrregular : Whether Irregular ECG Rhythm
- isPvcs : Whether Possible ventricular premature beats
- isHeartPause : Whether Possible heart pause
- isFibrillation : Whether Possible Atrial fibrillation
- isWideQrs : Whether Wide QRS duration
- isProlongedQtc : Whether QTc is prolonged
- isShortQtc : Whether QTc is short
LiveEventBus.get<Int>(EventMsgConst.RealTime.EventRealTimeStart).post(model)
LiveEventBus.get<Int>(EventMsgConst.RealTime.EventRealTimeStop).post(model)
sampling rate : 250HZ
mV = n * 0.003098
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.BP2.EventBp2RtData).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.bp2.RtData
status : RtStatus
- deviceStatus : 0 (STATUS_SLEEP), 1 (STATUS_MEMERY), 2 (STATUS_CHARGE), 3 (STATUS_READY), 4 (STATUS_BP_MEASURING), 5 (STATUS_BP_MEASURE_END), 6 (STATUS_ECG_MEASURING), 7 (STATUS_ECG_MEASURE_END), 20 (STATUS_VEN)
- batteryStatus : 0 (no charge), 1 (charging), 2 (charging complete), 3 (low battery)
- percent : 0-100
param : RtParam
- paramDataType : 0 (paramData : RtBpIng), 1 (paramData : RtBpResult), 2 (paramData : RtEcgIng), 3 (paramData : RtEcgResult)
- ecgFloats = ecgShorts * 0.003098
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.BP2.EventBp2GetConfig).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.bp2.Bp2Config
soundOn : Heartbeat sound switch
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.BP2.EventBp2SetConfig).post(InterfaceEvent(model, data))
data
: boolean (true : set config success, false : set config failed)
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.BP2.EventBp2FactoryReset).post(InterfaceEvent(model, data))
data
: boolean (true : factory reset success, false : factory reset failed)
Service UUID : 14839AC4-7D7E-415C-9A42-167340CF2339
Write UUID : 8B00ACE7-EB0B-49B0-BBE9-9AEE0A26E1A3
Notify UUID : 0734594A-A8E7-4B1A-A6B1-CD5243059A57
SDK will send this event when BluetoothDevice connected :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.BP2W.EventBp2wSyncTime).post(InterfaceEvent(model, true))
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.BP2W.EventBp2wInfo).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.bp2w.DeviceInfo
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.BP2W.EventBp2wFileList).post(InterfaceEvent(model, data))
data
: ArrayList<String>
Read file progress :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.BP2W.EventBp2wReadingFileProgress).post(InterfaceEvent(model, data))
data
: int (0-100)
Read file error :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.BP2W.EventBp2wReadFileError).post(InterfaceEvent(model, filename))
data
: String
Read file complete :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.BP2W.EventBp2wReadFileComplete).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.bp2w.Bp2wFile
type: 1 (BpFile), 2 (EcgFile)
BpFile :
measureTime : unit (s)
measureMode : 0 (x1), 1(x3)
EcgFile :
sampling rate : 125HZ
mV = waveShortData * 0.003098
measureTime : unit (s)
recordingTime : unit (s)
connectCable : Whether the cable is connected
diagnosis : EcgDiagnosis
- isRegular : Whether Regular ECG Rhythm
- isPoorSignal : Whether Unable to analyze
- isLeadOff : Whether Always lead off
- isFastHr : Whether Fast Heart Rate
- isSlowHr : Whether Slow Heart Rate
- isIrregular : Whether Irregular ECG Rhythm
- isPvcs : Whether Possible ventricular premature beats
- isHeartPause : Whether Possible heart pause
- isFibrillation : Whether Possible Atrial fibrillation
- isWideQrs : Whether Wide QRS duration
- isProlongedQtc : Whether QTc is prolonged
- isShortQtc : Whether QTc is short
LiveEventBus.get<Int>(EventMsgConst.RealTime.EventRealTimeStart).post(model)
LiveEventBus.get<Int>(EventMsgConst.RealTime.EventRealTimeStop).post(model)
sampling rate : 250HZ
mV = n * 0.003098
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.BP2W.EventBp2wRtData).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.bp2w.RtData
status : RtStatus
- deviceStatus : 0 (STATUS_SLEEP), 1 (STATUS_MEMERY), 2 (STATUS_CHARGE), 3 (STATUS_READY), 4 (STATUS_BP_MEASURING), 5 (STATUS_BP_MEASURE_END), 6 (STATUS_ECG_MEASURING), 7 (STATUS_ECG_MEASURE_END), 15 (STATUS_BP_AVG_MEASURE), 16 (STATUS_BP_AVG_MEASURE_WAIT), 17 (STATUS_BP_AVG_MEASURE_END), 20 (STATUS_VEN)
- batteryStatus : 0 (no charge), 1 (charging), 2 (charging complete), 3 (low battery)
- percent : 0-100
- avgCnt : Valid in bp avg measure x3, measure number index(0, 1, 2)
- avgWaitTick : Valid in bp avg measure x3, measure interval wait tick
param : RtParam
- paramDataType : 0 (paramData : RtBpIng), 1 (paramData : RtBpResult), 2 (paramData : RtEcgIng), 3 (paramData : RtEcgResult)
- ecgFloats = ecgShorts * 0.003098
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.BP2W.EventBp2wGetConfig).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.bp2w.Bp2wConfig
soundOn : Heartbeat sound switch
avgMeasureMode : 0 (bp measure x3 off), 1 (bp measure x3 on, interval 30s), 2 (bp measure x3 on, interval 60s), 3 (bp measure x3 on, interval 90s), 4 (bp measure x3 on, interval 120s)
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.BP2W.EventBp2wSetConfig).post(InterfaceEvent(model, data))
data
: boolean (true : set config success, false : set config failed)
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.BP2W.EventBp2wFactoryReset).post(InterfaceEvent(model, data))
data
: boolean (true : factory reset success, false : factory reset failed)
Service UUID : 000018F0-0000-1000-8000-00805F9B34FB
Write UUID : 00002AF1-0000-1000-8000-00805F9B34FB
Notify UUID : 00002AF0-0000-1000-8000-00805F9B34FB
SDK will send this event when BluetoothDevice connected :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.BPM.EventBpmSyncTime).post(InterfaceEvent(model, true))
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.BPM.EventBpmInfo).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.bpm.DeviceInfo
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.BPM.EventBpmState).post(InterfaceEvent(model, data))
data
: int
0 : Time setting state
1 : Historical interface status
2 : Measurement status
3 : Measuring the pressurized state
4 : The flickering indication of the heart rate in deflating mode
5 : Measurement end state
6 : Standby interface/time interface
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.BPM.EventBpmRecordData).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.bpm.RecordData
irregularHrFlag : Whether the heart rate is irregular
storeId : Record number
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.BPM.EventBpmRecordEnd).post(InterfaceEvent(model, true))
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.BPM.EventBpmRtData).post(InterfaceEvent(model, data))
data
: int
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.BPM.EventBpmMeasureResult).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.bpm.RecordData
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.BPM.EventBpmMeasureErrorResult).post(InterfaceEvent(model, data))
data
: int
1 : Sensor vibration anomaly
2 : Not enough heart rate to be detected or blood pressure value to be calculated
3 : Measurement results are abnormal
4 : Cuff is too loose or air leakage(Pressure value less than 30mmHg in 10 seconds)
5 : The tube is blocked
6 : Large pressure fluctuations during measurement
7 : Pressure exceeds upper limit
8 : Calibration data is abnormal or uncalibrated
Service UUID : 14839AC4-7D7E-415C-9A42-167340CF2339
Write UUID : 8B00ACE7-EB0B-49B0-BBE9-9AEE0A26E1A3
Notify UUID : 0734594A-A8E7-4B1A-A6B1-CD5243059A57
SDK will send this event when BluetoothDevice connected :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.CheckmeLE.EventCheckmeLeSetTime).post(InterfaceEvent(model, true))
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.CheckmeLE.EventCheckmeLeDeviceInfo).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.checkmele.DeviceInfo
type : Constant.CheckmeLeListType
Get filelist progress :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.CheckmeLE.EventCheckmeLeGetFileListProgress).post(InterfaceEvent(model, data))
data
: int (0-100)
Get filelist error :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.CheckmeLE.EventCheckmeLeGetFileListError).post(InterfaceEvent(model, true))
Get filelist complete :
(1) Oximeter List :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.CheckmeLE.EventCheckmeLeOxyList).post(InterfaceEvent(model, data))
data
: ArrayList<OxyRecord>
, com.lepu.blepro.ext.checkmele.OxyRecord
timestamp : unit (s)
spo2 : 0%-100% (0 invalid)
pr : 0-255 (0 invalid)
pi : 0%-25.5% (0 invalid)
normal : true (smile face),false (sad face)
(2) ECG Recorder List :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.CheckmeLE.EventCheckmeLeEcgList).post(InterfaceEvent(model, data))
data
: ArrayList<EcgRecord>
, com.lepu.blepro.ext.checkmele.EcgRecord
(3) Daily Check List :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.CheckmeLE.EventCheckmeLeDlcList).post(InterfaceEvent(model, data))
data
: ArrayList<DlcRecord>
, com.lepu.blepro.ext.checkmele.DlcRecord
sampling rate : 500HZ
mV = n * 0.0012820952991323
Read file progress :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.CheckmeLE.EventCheckmeLeReadingFileProgress).post(InterfaceEvent(model, data))
data
: int (0-100)
Read file error :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.CheckmeLE.EventCheckmeLeReadFileError).post(InterfaceEvent(model, true))
Read file complete :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.CheckmeLE.EventCheckmeLeReadFileComplete).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.checkmele.EcgFile
wFs = waveShortData * 0.0012820952991323
recordingTime : unit (s)
hr : 0 is invalid value
result : LeEcgDiagnosis
- isRegular : Whether Regular ECG Rhythm
- isPoorSignal : Whether Unable to analyze
- isHighHr : Whether High Heart Rate
- isLowHr : Whether Low Heart Rate
- isIrregular : Whether Irregular ECG Rhythm
- isHighQrs : Whether High QRS Value
- isHighSt : Whether High ST Value
- isLowSt : Whether Low ST Value
- isPrematureBeat : Whether Suspected Premature Beat
Service UUID : 14839AC4-7D7E-415C-9A42-167340CF2339
Write UUID : 8B00ACE7-EB0B-49B0-BBE9-9AEE0A26E1A3
Notify UUID : 0734594A-A8E7-4B1A-A6B1-CD5243059A57
SDK will send this event when BluetoothDevice connected :
LiveEventBus.get<Int>(EventMsgConst.Ble.EventBleDeviceReady).post(model)
sampling rate : 25HZ
mV = n * 0.0097683451362458
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.CheckmeMonitor.EventCheckmeMonitorRtData).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.checkmemonitor.RtData
ecgFloatData = ecgShortData * 0.0097683451362458
battery : 0-100
Service UUID : 14839AC4-7D7E-415C-9A42-167340CF2339
Write UUID : 8B00ACE7-EB0B-49B0-BBE9-9AEE0A26E1A3
Notify UUID : 0734594A-A8E7-4B1A-A6B1-CD5243059A57
SDK will send this event when BluetoothDevice connected :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.CheckmePod.EventCheckmePodSetTime).post(InterfaceEvent(model, true))
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.CheckmePod.EventCheckmePodDeviceInfo).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.checkmepod.DeviceInfo
Get filelist progress :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.CheckmePod.EventCheckmePodGetFileListProgress).post(InterfaceEvent(model, data))
data
: int (0-100)
Get filelist error :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.CheckmePod.EventCheckmePodGetFileListError).post(InterfaceEvent(model, true))
Get filelist complete :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.CheckmePod.EventCheckmePodFileList).post(InterfaceEvent(model, data))
data
: ArrayList<Record>
, com.lepu.blepro.ext.checkmepod.Record
timestamp : unit (s)
spo2 : 0-255 (0 invalid value)
pr : 0-255 (0 invalid value)
pi : 0%-25.5% (0 invalid value)
temp : unit (℃)
LiveEventBus.get<Int>(EventMsgConst.RealTime.EventRealTimeStart).post(model)
LiveEventBus.get<Int>(EventMsgConst.RealTime.EventRealTimeStop).post(model)
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.CheckmePod.EventCheckmePodRtData).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.checkmepod.RtData
param : RtParam
- pr : 0-255 (0 invalid value)
- spo2 : 0-255 (0 invalid value)
- pi : 0%-25.5% (0 invalid value)
- temp : unit (℃)
- oxyState : 0 (blood oxygen cable is not inserted), 1 (insert the blood oxygen cable but not the finger), 2 (finger inserted)
- tempState : 0 (temperature cable is not inserted), 1 (temperature cable is inserted)
- batteryState : 0 (no charge), 1 (charging), 2 (charging complete), 3 (low battery)
- battery : 0-100
- runStatus : 0 (idle), 1 (prepare), 2 (measuring)
Service UUID : 14839AC4-7D7E-415C-9A42-167340CF2339
Write UUID : 8B00ACE7-EB0B-49B0-BBE9-9AEE0A26E1A3
Notify UUID : 0734594A-A8E7-4B1A-A6B1-CD5243059A57
SDK will send this event when BluetoothDevice connected :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.ER1.EventEr1SetTime).post(InterfaceEvent(model, true))
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.ER1.EventEr1Info).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.er1.DeviceInfo
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.ER1.EventEr1FileList).post(InterfaceEvent(model, data))
data
: ArrayList<String>
Read file progress :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.ER1.EventEr1ReadingFileProgress).post(InterfaceEvent(model, data))
data
: int (0-100)
Read file error :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.ER1.EventEr1ReadFileError).post(InterfaceEvent(model, true))
Read file complete :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.ER1.EventEr1ReadFileComplete).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.er1.Er1File
LiveEventBus.get<Int>(EventMsgConst.RealTime.EventRealTimeStart).post(model)
LiveEventBus.get<Int>(EventMsgConst.RealTime.EventRealTimeStop).post(model)
sampling rate : 125HZ
mV = n * 0.002467
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.ER1.EventEr1RtData).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.er1.RtData
param : RtParam
- batteryState : 0 (no charge), 1 (charging), 2 (charging complete), 3 (low battery)
- battery : 0-100
- recordTime : unit (s)
- curStatus:0 (idle), 1 (preparing), 2 (measuring), 3 (saving file), 4 (saving succeed), 5 (less than 30s, file not saved), 6 (6 retests), 7 (lead off)
wave : RtWave
- ecgFloats = ecgShorts * 0.002467
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.ER1.EventEr1GetConfig).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.er1.Er1Config
vibration : vibration warning switch, true (on), false (off)
threshold1 : vibrate every ten seconds above the threshold
threshold2 : vibrate every two seconds above the threshold
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.ER1.EventEr1SetConfig).post(InterfaceEvent(model, data))
data
: boolean (true : set config success, false : set config failed)
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.ER1.EventEr1ResetFactory).post(InterfaceEvent(model, data))
data
: boolean (true : factory reset success, false : factory reset failed)
Service UUID : 14839AC4-7D7E-415C-9A42-167340CF2339
Write UUID : 8B00ACE7-EB0B-49B0-BBE9-9AEE0A26E1A3
Notify UUID : 0734594A-A8E7-4B1A-A6B1-CD5243059A57
SDK will send this event when BluetoothDevice connected :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.ER2.EventEr2SetTime).post(InterfaceEvent(model, true))
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.ER2.EventEr2Info).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.er2.DeviceInfo
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.ER2.EventEr2FileList).post(InterfaceEvent(model, data))
data
: ArrayList<String>
Read file progress :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.ER2.EventEr2ReadingFileProgress).post(InterfaceEvent(model, data))
data
: int (0-100)
Read file error :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.ER2.EventEr2ReadFileError).post(InterfaceEvent(model, true))
Read file complete :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.ER2.EventEr2ReadFileComplete).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.er2.Er2File
LiveEventBus.get<Int>(EventMsgConst.RealTime.EventRealTimeStart).post(model)
LiveEventBus.get<Int>(EventMsgConst.RealTime.EventRealTimeStop).post(model)
sampling rate : 125HZ
mV = n * 0.002467
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.ER2.EventEr2RtData).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.er2.RtData
param : RtParam
- batteryState : 0 (no charge), 1 (charging), 2 (charging complete), 3 (low battery)
- battery : 0-100
- recordTime : unit (s)
- curStatus:0 (idle), 1 (preparing), 2 (measuring), 3 (saving file), 4 (saving succeed), 5 (less than 30s, file not saved), 6 (6 retests), 7 (lead off)
wave : RtWave
- ecgFloats = ecgShorts * 0.002467
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.ER2.EventEr2GetConfig).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.er2.Er2Config
soundOn : sound reminder switch, true (on), false (off)
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.ER2.EventEr2SetConfig).post(InterfaceEvent(model, data))
data
: boolean (true : set config success, false : set config failed)
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.ER2.EventEr2FactoryReset).post(InterfaceEvent(model, data))
data
: boolean (true : factory reset success, false : factory reset failed)
Service UUID : 14839AC4-7D7E-415C-9A42-167340CF2339
Write UUID : 8B00ACE7-EB0B-49B0-BBE9-9AEE0A26E1A3
Notify UUID : 0734594A-A8E7-4B1A-A6B1-CD5243059A57
SDK will send this event when BluetoothDevice connected :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.ER3.EventEr3SetTime).post(InterfaceEvent(model, true))
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.ER3.EventEr3Info).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.er3.DeviceInfo
LiveEventBus.get<Int>(EventMsgConst.RealTime.EventRealTimeStart).post(model)
LiveEventBus.get<Int>(EventMsgConst.RealTime.EventRealTimeStop).post(model)
sampling rate : 250HZ
mV = n * 0.00244
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.ER3.EventEr3RtData).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.er3.RtData
param : RtParam
- batteryState : 0 (no charge), 1 (charging), 2 (charging complete), 3 (low battery)
- battery : 0-100
- recordTime : unit (s)
wave : RtWave
- For specific usage, please refer to Er3Activity file
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.ER3.EventEr3GetConfig).post(InterfaceEvent(model, data))
data
: int(0:Monitoring mode 0.5-40, 1:Surgical mode 1-20, 2:ST mode 0.05-40)
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.ER3.EventEr3GetConfigError).post(InterfaceEvent(model, data))
data
: boolean (true : get config error)
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.ER3.EventEr3SetConfig).post(InterfaceEvent(model, data))
data
: boolean (true : set config success, false : set config failed)
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.ER3.EventEr3FactoryReset).post(InterfaceEvent(model, data))
data
: boolean (true : factory reset success, false : factory reset failed)
Service UUID : 0000AE30-0000-1000-8000-00805F9B34FB
Write UUID : 0000AE01-0000-1000-8000-00805F9B34FB
Notify UUID : 0000AE02-0000-1000-8000-00805F9B34FB
SDK will send this event when BluetoothDevice connected :
LiveEventBus.get<Int>(EventMsgConst.Ble.EventBleDeviceReady).post(model)
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.FHR.EventFhrDeviceInfo).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.FhrInfo
hr:60-240
volume:0-6
strength:0-2
battery:0-6
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.FHR.EventFhrAudioData).post(InterfaceEvent(model, data))
data
: byte[]
Service UUID : 0000FFB0-0000-1000-8000-00805F9B34FB
Write UUID : 0000FFB1-0000-1000-8000-00805F9B34FB
Notify UUID : 0000FFB2-0000-1000-8000-00805F9B34FB
SDK will send this event when BluetoothDevice connected :
LiveEventBus.get<Int>(EventMsgConst.Ble.EventBleDeviceReady).post(model)
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.LEM.EventLemDeviceInfo).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.LemData
battery : 1-100
heatMode : true(Heating mode on), false(Heating mode off)
massageMode : 0-4
- 0 : Vitality mode(Constant.LemMassageMode.VITALITY)
- 1 : Dynamic mode(Constant.LemMassageMode.DYNAMIC)
- 2 : Thump mode(Constant.LemMassageMode.HAMMERING)
- 3 : Soothing mode(Constant.LemMassageMode.SOOTHING)
- 4 : Automatic mode(Constant.LemMassageMode.AUTOMATIC)
massageLevel : 0-15
massageTime : 0-2- 0 : 15 min(Constant.LemMassageTime.MIN_15)
- 1 : 10min(Constant.LemMassageTime.MIN_10)
- 2 : 5min(Constant.LemMassageTime.MIN_5)
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.LEM.EventLemBattery).post(InterfaceEvent(model, data))
data
: int (1-100)
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.LEM.EventLemSetHeatMode).post(InterfaceEvent(model, data))
data
: boolean (true:Heating mode on, false:Heating mode off)
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.LEM.EventLemSetMassageTime).post(InterfaceEvent(model, data))
data
: int (0-2)
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.LEM.EventLemSetMassageMode).post(InterfaceEvent(model, data))
data
: int (0-4)
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.LEM.EventLemSetMassageLevel).post(InterfaceEvent(model, data))
data
: int (0-15)
Service UUID : 14839AC4-7D7E-415C-9A42-167340CF2339
Write UUID : 8B00ACE7-EB0B-49B0-BBE9-9AEE0A26E1A3
Notify UUID : 0734594A-A8E7-4B1A-A6B1-CD5243059A57
SDK will send this event when BluetoothDevice connected :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.LpBp2w.EventLpBp2wSyncUtcTime).post(InterfaceEvent(model, true))
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.LpBp2w.EventLpBp2wInfo).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.lpbp2w.DeviceInfo
filetype : Constant.LpBp2wListType.USER_TYPE
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.LpBp2w.EventLpBp2wUserFileList).post(InterfaceEvent(model, data))
data
: ArrayList<UserInfo>
, com.lepu.blepro.ext.lpbp2w.UserInfo
aid : account id
uid : user id
birthday : "year-month-day"
gender : 0 (boy), 1 (girl)
filetype : Constant.LpBp2wListType.BP_TYPE
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.LpBp2w.EventLpBp2wBpFileList).post(InterfaceEvent(model, data))
data
: ArrayList<BpRecord>
, com.lepu.blepro.ext.lpbp2w.BpRecord
startTime : unit (s)
measureMode : 0 (x1), 1 (x3)
filetype : Constant.LpBp2wListType.ECG_TYPE
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.LpBp2w.EventLpBp2wEcgFileList).post(InterfaceEvent(model, data))
data
: ArrayList<EcgRecord>
, com.lepu.blepro.ext.lpbp2w.EcgRecord
startIime : unit (s)
recordingTime : unit (s)
diagnosis : EcgDiagnosis
- isRegular : Whether Regular ECG Rhythm
- isPoorSignal : Whether Unable to analyze
- isLeadOff : Whether Always lead off
- isFastHr : Whether Fast Heart Rate
- isSlowHr : Whether Slow Heart Rate
- isIrregular : Whether Irregular ECG Rhythm
- isPvcs : Whether Possible ventricular premature beats
- isHeartPause : Whether Possible heart pause
- isFibrillation : Whether Possible Atrial fibrillation
- isWideQrs : Whether Wide QRS duration
- isProlongedQtc : Whether QTc is prolonged
- isShortQtc : Whether QTc is short
Read file progress :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.LpBp2w.EventLpBp2wReadingFileProgress).post(InterfaceEvent(model, data))
data
: int (0-100)
Read file error :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.LpBp2w.EventLpBp2wReadFileError).post(InterfaceEvent(model, filename))
data
: String
Read file complete :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.LpBp2w.EventLpBp2wReadFileComplete).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.lpbp2w.EcgFile
sampling rate : 125HZ
mV = waveShortData * 0.003098
startTime : unit (s)
duration : unit (s)
LiveEventBus.get<Int>(EventMsgConst.RealTime.EventRealTimeStart).post(model)
LiveEventBus.get<Int>(EventMsgConst.RealTime.EventRealTimeStop).post(model)
sampling rate : 250HZ
mV = n * 0.003098
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.LpBp2w.EventLpBp2wRtData).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.lpbp2w.RtData
status : RtStatus
- deviceStatus : 0 (STATUS_SLEEP), 1 (STATUS_MEMERY), 2 (STATUS_CHARGE), 3 (STATUS_READY), 4 (STATUS_BP_MEASURING), 5 (STATUS_BP_MEASURE_END), 6 (STATUS_ECG_MEASURING), 7 (STATUS_ECG_MEASURE_END), 15 (STATUS_BP_AVG_MEASURE), 16 (STATUS_BP_AVG_MEASURE_WAIT), 17 (STATUS_BP_AVG_MEASURE_END), 20 (STATUS_VEN)
- batteryStatus : 0 (no charge), 1 (charging), 2 (charging complete), 3 (low battery)
- percent : 0-100
- avgCnt : Valid in bp avg measure x3, measure number index(0, 1, 2)
- avgWaitTick : Valid in bp avg measure x3, measure interval wait tick
param : RtParam
- paramDataType : 0 (paramData : RtBpIng), 1 (paramData : RtBpResult), 2 (paramData : RtEcgIng), 3 (paramData : RtEcgResult)
- ecgFloats = ecgShorts * 0.003098
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.LpBp2w.EventLpBp2wGetConfig).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.lpbp2w.LpBp2wConfig
soundOn : Heartbeat sound switch
avgMeasureMode : 0 (bp measure x3 off), 1 (bp measure x3 on, interval 30s), 2 (bp measure x3 on, interval 60s), 3 (bp measure x3 on, interval 90s), 4 (bp measure x3 on, interval 120s)
volume : Voice announcement volume, 0(off), 1, 2, 3
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.LpBp2w.EventLpBp2wSetConfig).post(InterfaceEvent(model, data))
data
: boolean (true : set config success, false : set config failed)
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.LpBp2w.EventLpBp2wFactoryReset).post(InterfaceEvent(model, data))
data
: boolean (true : factory reset success, false : factory reset failed)
UserInfo.Icon = BitmapConvertor(context).createIcon("username")
Write file progress :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.LpBp2w.EventLpBp2WritingFileProgress).post(InterfaceEvent(model, data))
data
: int (0-100)
Write file error :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.LpBp2w.EventLpBp2WriteFileError).post(InterfaceEvent(model, filename))
data
: String
Write file complete :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.LpBp2w.EventLpBp2WriteFileComplete).post(InterfaceEvent(model, true))
Service UUID : 0000FFE0-0000-1000-8000-00805F9B34FB
Write UUID : 0000FFE1-0000-1000-8000-00805F9B34FB
Notify UUID : 0000FFE1-0000-1000-8000-00805F9B34FB
SDK will send this event when BluetoothDevice connected :
LiveEventBus.get<Int>(EventMsgConst.Ble.EventBleDeviceReady).post(model)
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.LPM311.EventLpm311Data).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.Lpm311Data
unit : 0(mmol/L), 1(mg/dL)
Service UUID : 14839AC4-7D7E-415C-9A42-167340CF2339
Write UUID : 8B00ACE7-EB0B-49B0-BBE9-9AEE0A26E1A3
Notify UUID : 0734594A-A8E7-4B1A-A6B1-CD5243059A57
SDK will send this event when BluetoothDevice connected :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.Oxy.EventOxySyncDeviceInfo).post(InterfaceEvent(model, data))
data
: Array<String>
("SetTIME")
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.Oxy.EventOxyInfo).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.oxy.DeviceInfo
batteryState : 0 (no charge), 1 (charging), 2 (charging complete)
batteryValue : 0-100
oxiThr : 80-95
motor : KidsO2、Oxylink(0-5:MIN,5-10:LOW,10-17:MID,17-22:HIGH,22-35:MAX), O2Ring(0-20:MIN,20-40:LOW,40-60:MID,60-80:HIGH,80-100:MAX)
workMode : 0 (Sleep Mode), 1 (Minitor Mode)
oxiSwitch :
0 (off), 1 (on)-----just sound or vibration
0 (sound off, vibration off), 1 (sound off, vibration on), 2 (sound on, vibration off), 3 (sound on, vibration on)-----sound and vibration
hrSwitch :
0 (off), 1 (on)-----just sound or vibration
0 (sound off, vibration off), 1 (sound off, vibration on), 2 (sound on, vibration off), 3 (sound on, vibration on)-----sound and vibration
hrLowThr : 30-250
hrHighThr : 30-250
curState : 0 (preparing), 1 (is ready), 2 (measuring)
lightingMode : 0-2 (0 : Standard Mode, 1 : Always Off Mode, 2 : Always On Mode)
lightStr : light level, 0-2
buzzer : checkO2Plus (0-20 : MIN, 20-40 : LOW, 40-60 : MID, 60-80 : HIGH, 80-100 : MAX)
Read file progress :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.Oxy.EventOxyReadingFileProgress).post(InterfaceEvent(model, data))
data
: int (0-100)
Read file error :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.Oxy.EventOxyReadFileError).post(InterfaceEvent(model, true))
Read file complete :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.Oxy.EventOxyReadFileComplete).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.oxy.OxyFile
operationMode : 0 (Sleep Mode), 1 (Minitor Mode)
size : Total bytes of this data file package
asleepTime : Reserved for total asleep time future
avgSpo2 : Average blood oxygen saturation
minSpo2 : Minimum blood oxygen saturation
dropsTimes3Percent : drops below baseline - 3
dropsTimes4Percent : drops below baseline - 4 asleepTimePercent : T90 = (<90% duration time) / (total recording time) *100%
durationTime90Percent : Duration time when SpO2 lower than 90%
dropsTimes90Percent : Reserved for drop times when SpO2 lower than 90%
o2Score : Range: 0-100(For range 0-10, should be (O2 Score) / 10)
stepCounter : Total steps
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.Oxy.EventOxyRtParamData).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.oxy.RtParam
battery : 0-100
batteryState : 0 (no charge), 1 (charging), 2(charging complete)
state : 0 (lead off), 1 (lead on), other (error)
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.Oxy.EventOxyPpgData).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.oxy.RtPpg
sampling rate 150HZ
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.Oxy.EventOxySyncDeviceInfo).post(InterfaceEvent(model, data))
data
: Array<String>
("SetMotor", "SetBuzzer")
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.Oxy.EventOxyFactoryReset).post(InterfaceEvent(model, data))
data
: boolean (true : factory reset success, false : factory reset failed)
Service UUID : E8FB0001-A14B-98F9-831B-4E2941D01248
Write UUID : E8FB0002-A14B-98F9-831B-4E2941D01248
Notify UUID : E8FB0003-A14B-98F9-831B-4E2941D01248
SDK will send this event when BluetoothDevice connected :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.OxyII.EventOxyIISetTime).post(InterfaceEvent(model, true))
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.OxyII.EventOxyIIGetInfo).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.oxy2.DeviceInfo
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.OxyII.EventOxyIIGetBattery).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.oxy2.Battery
state:0(no charge),1(charging),2(charging complete), 3:Low battery 10%
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.OxyII.EventOxyIIGetInfo).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.oxy2.FileList
type : Constant.OxyIIFileType.PPG, Constant.OxyIIFileType.OXY
Read file progress :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.OxyII.EventOxyIIReadingFileProgress).post(InterfaceEvent(model, data))
data
: int (0-100)
Read file error :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.OxyII.EventOxyIIReadFileError).post(InterfaceEvent(model, true))
Read file complete :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.OxyII.EventOxyIIReadFileComplete).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.oxy2.FileContent
name : file name
type : Constant.OxyIIFileType.OXY (OxyFile(content)), Constant.OxyIIFileType.PPG (PpgFile(content))
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.OxyII.EventOxyIIGetConfig).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.oxy2.Config
spo2Low.low : 80-95%, step 1%, default 88%
hrLow.low : 30-70, step 5, default 50
hrHi.hi : 70-200, step 5, default 120
motor.motor : 20/40/60/80/100
buzzer.buzzer : 20/40/60/80/100
displayMode.mode : 0:Standard, 2:Always On
brightnessMode.mode : 0:low, 1:mid, 2:high
storageInterval.interval : data storage interval, unit:s
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.OxyII.EventOxyIISetConfig).post(InterfaceEvent(model, data))
data
: boolean
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.OxyII.EventOxyIISetConfig).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.oxy2.RtData
wave : sampling rate 125HZ
param : sampling rate 1HZ
param.batteryPercent:0-100
param.batteryState:0(no charge),1(charging),2(charging complete), 3:Low battery 10%
param.runStatus:1(measurement preparation stage, 2 min),2(measuring),3(measurement completed)
param.sensorState:0(lead off),1(lead on),2:SENSOR_STA_PROBE_OUT 3: Sensor or probe malfunction
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.OxyII.EventOxyIIRtPpg).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.oxy2.RtPpg
sampling rate 200HZ
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.OxyII.EventOxyIIFactoryReset).post(InterfaceEvent(model, data))
data
: boolean
Service UUID : E8FB0001-A14B-98F9-831B-4E2941D01248
Write UUID : E8FB0002-A14B-98F9-831B-4E2941D01248
Notify UUID : E8FB0003-A14B-98F9-831B-4E2941D01248
SDK will send this event when BluetoothDevice connected :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.Pf10Aw1.EventPf10Aw1SetTime).post(InterfaceEvent(model, true))
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.PC60Fw.EventPC60FwDeviceInfo).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.pf10aw1.DeviceInfo
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.Pf10Aw1.EventPf10Aw1GetFileList).post(InterfaceEvent(model, data))
data
: ArrayList<String>
Read file progress :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.Pf10Aw1.EventPf10Aw1ReadingFileProgress).post(InterfaceEvent(model, data))
data
: int (0-100)
Read file error :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.Pf10Aw1.EventPf10Aw1ReadFileError).post(InterfaceEvent(model, true))
Read file complete :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.Pf10Aw1.EventPf10Aw1ReadFileComplete).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.pf10aw1.OxyFile
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.Pf10Aw1.EventPf10Aw1GetConfig).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.pf10aw1.Config
spo2Low : 85%-99%, 1%
prHi : 100bpm-240bpm, 5bpm
prLow : 30bpm-60bpm, 5bpm
esMode : 0:keep screen on,1:1 min screen off,2:3 min screen off,3:5 min screen off
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.Pf10Aw1.EventPf10Aw1SetConfig).post(InterfaceEvent(model, data))
data
: boolean
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.Pf10Aw1.EventPf10Aw1WorkingStatus).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.pf10aw1.WorkingStatus
data.mode : 1(Spot mode, Not currently supported)
data.mode : 2(Continuous mode), data.mode : 3(menu)
data.step : 0(prepare) 1(measuring) 2(completed, saved) 3(less than 2 min, not save)
data.para1 : duration(unit s)
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.Pf10Aw1.EventPf10Aw1RtWave).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.pf10aw1.RtWave
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.Pf10Aw1.EventPf10Aw1RtWave).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.pf10aw1.RtParam
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.Pf10Aw1.EventPf10Aw1FactoryReset).post(InterfaceEvent(model, data))
data
: boolean
Service UUID : 6E400001-B5A3-F393-E0A9-E50E24DCCA9E
Write UUID : 6E400002-B5A3-F393-E0A9-E50E24DCCA9E
Notify UUID : 6E400003-B5A3-F393-E0A9-E50E24DCCA9E
Service UUID : 0000FFF0-0000-1000-8000-00805F9B34FB
Write UUID : 0000FFF2-0000-1000-8000-00805F9B34FB
Notify UUID : 0000FFF1-0000-1000-8000-00805F9B34FB
SDK will send this event when BluetoothDevice connected :
LiveEventBus.get<Int>(EventMsgConst.Ble.EventBleDeviceReady).post(model)
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.PC60Fw.EventPC60FwDeviceInfo).post(InterfaceEvent(model, data))
data
:com.lepu.blepro.ext.pc60fw.DeviceInfo
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.PC60Fw.EventPC60FwRtParam).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.pc60fw.RtParam
spo2 : 0%-100% (0 invalid)
pr : 0-511bpm (0 invalid)
pi : 0%-25.5% (0 invalid)
isProbeOff
isPulseSearching
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.PC60Fw.EventPC60FwRtWave).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.pc60fw.RtWave
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.PC60Fw.EventPC60FwBatLevel).post(InterfaceEvent(model, data))
data
: int (0-3, 0=0-25%, 1=25-50%, 2=50-75%, 3=75-100%)
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.PC60Fw.EventPC60FwWorkingStatus).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.pc60fw.WorkingStatus
Mode | Step | Para1 | Para2 |
---|---|---|---|
0x01 Spot Check | 0x00 idle | -- | -- |
0x01 Preparing | -- | -- | |
0x02 Measuring | 30s~0s | -- | |
0x03 Result | Spo2 | Pr | |
0x04 Analysis Result | Result Code | -- | |
0x05 Finish | -- | -- | |
0x02 Continuous | -- | -- | -- |
0x03 Menu | -- | -- | -- |
Result Code | Result |
---|---|
0x00 | No irregularity found |
0x01 | Suspected a little fast pulse |
0x02 | Suspected fast pulse |
0x03 | Suspected short run of fast pulse |
0x04 | Suspected a little slow pulse |
0x05 | Suspected slow pulse |
0x06 | Suspected occasional short pulse interval |
0x07 | Suspected irregular pulse interval |
0x08 | Suspected fast pulse with short pulse interval |
0x09 | Suspected slow pulse with short pulse interval |
0x0A | Suspected slow pulse with irregular pulse interval |
0xFF | Poor signal. Measure again |
Service UUID : 0000FFB0-0000-1000-8000-00805F9B34FB
Write UUID : 0000FFB2-0000-1000-8000-00805F9B34FB
Notify UUID : 0000FFB2-0000-1000-8000-00805F9B34FB
SDK will send this event when BluetoothDevice connected :
LiveEventBus.get<Int>(EventMsgConst.Ble.EventBleDeviceReady).post(model)
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.PC68B.EventPc68bDeviceInfo).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.pc68b.DeviceInfo
if you can not receive real-time data, use this method to enable.
type : Constant.Pc68bEnableType
enable : true(receive real-time data), false(do not receive real-time data)
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.PC68B.EventPc68bRtParam).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.pc68b.RtParam
spo2 : 0%-100% (0 invalid)
pr : 0-511bpm (0 invalid)
pi : 0%-25.5% (0 invalid)
isProbeOff
isPulseSearching
isCheckProbe
vol : 0-3.2V
batLevel : 0-3 (0=0-25%, 1=25-50%, 2=50-75%, 3=75-100%)
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.PC68B.EventPc68bRtWave).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.pc68b.RtWave
Service UUID : 0000FFF0-0000-1000-8000-00805F9B34FB
Write UUID : 0000FFF2-0000-1000-8000-00805F9B34FB
Notify UUID : 0000FFF1-0000-1000-8000-00805F9B34FB
SDK will send this event when BluetoothDevice connected :
LiveEventBus.get<Int>(EventMsgConst.Ble.EventBleDeviceReady).post(model)
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.PC80B.EventPc80bDeviceInfo).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.pc80b.DeviceInfo
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.PC80B.EventPc80bBatLevel).post(InterfaceEvent(model, data))
data
: int (0-3, 0=0-25%, 1=25-50%, 2=50-75%, 3=75-100%)
sampling rate:150HZ
mV = (n - 2048) * (1 / 330))
Fast mode (30 s) :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.PC80B.EventPc80bFastData).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.pc80b.RtFastData
seqNo
gain : device waveform amplitude coefficient
channel : 0(detecting channel), 1(internal channel) 2(external channel)
measureMode : 0(detecting mode), 1(Fast mode, 30s), 2(Continuous mode)
measureStage : 0(detecting stage), 1(preparing), 2(measuring), 3(analyzing), 4(result), 5(stop)
leadOff
dataType : 1(ECG data), 2(ECG result)
ecgData : ECG data
- ecgFloats = (ecgInts - 2048) * (1 / 330)
ecgResult : ECG result
Continuous mode :
(1) In the preparation stage, you will receive EventPc80bFastData event :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.PC80B.EventPc80bFastData).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.pc80b.RtFastData
measureStage : 1(preparing), 5(stop, sdk stop sending EventPc80bFastData event, then start to send EventPc80bContinuousData event)
(2) In the formal measurement stage, you will receive EventPc80bContinuousData event :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.PC80B.EventPc80bContinuousData).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.pc80b.RtContinuousData
seqNo
hr : 0-255 (0 invalid)
gain : device waveform amplitude coefficient
leadOff
vol : unit (V)
ecgData : ECG data
- ecgFloats = (ecgInts - 2048) * (1 / 330)
(3) Exit continuous measurement :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.PC80B.EventPc80bContinuousDataEnd).post(InterfaceEvent(model, true))
read file progress :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.PC80B.EventPc80bReadingFileProgress).post(InterfaceEvent(model, data))
data
: int(0-100)
read file error :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.PC80B.EventPc80bReadFileError).post(InterfaceEvent(model, true))
read file complete :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.PC80B.EventPc80bReadFileComplete).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.pc80b.EcgFile
ecgFloats = (ecgInts - 2048) * (1 / 330)
Service UUID : 0000FFF0-0000-1000-8000-00805F9B34FB
Write UUID : 0000FFF2-0000-1000-8000-00805F9B34FB
Notify UUID : 0000FFF1-0000-1000-8000-00805F9B34FB
SDK will send this event when BluetoothDevice connected :
LiveEventBus.get<Int>(EventMsgConst.Ble.EventBleDeviceReady).post(model)
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.PC100.EventPc100DeviceInfo).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.pc102.DeviceInfo
batLevel : 0-3 (0=0-25%, 1=25-50%, 2=50-75%, 3=75-100%)
batStatus : 0 (No charge), 1 (Charging), 2 (Charging complete)
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.PC100.EventPc100BpStart).post(InterfaceEvent(model, true))
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.PC100.EventPc100BpStop).post(InterfaceEvent(model, true))
Normal result :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.PC100.EventPc100BpResult).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.pc102.BpResult
sys : systolic pressure
pr : pulse rate
dia : diastolic pressure
map : average pressure
result : 0(hr normal), 1(hr irregular)
resultMess : result description
Error result :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.PC100.EventPc100BpErrorResult).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.pc102.BpResultError
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.PC100.EventPc100RtBpData).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.pc102.RtBpData
sign : heart rate signal (0:no hr, 1:has hr)
ps : current pressure
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.PC100.EventPc100RtOxyParam).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.pc102.RtOxyParam
spo2 : 0%-100% (0 invalid)
pr : 0-511bpm (0 invalid)
pi : 0%-25.5% (0 invalid)
isDetecting
isScanning
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.PC100.EventPc100RtOxyWave).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.pc102.RtOxyWave
Service UUID : 0000FFF0-0000-1000-8000-00805F9B34FB
Write UUID : 0000FFF2-0000-1000-8000-00805F9B34FB
Notify UUID : 0000FFF1-0000-1000-8000-00805F9B34FB
SDK will send this event when BluetoothDevice connected :
LiveEventBus.get<Int>(EventMsgConst.Ble.EventBleDeviceReady).post(model)
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.PC300.EventPc300DeviceInfo).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.pc303.DeviceInfo
batLevel : 0-3 (0=0-25%, 1=25-50%, 2=50-75%, 3=75-100%)
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.PC300.EventPc300RtEcgWave).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.pc303.RtEcgWave
seqNo : 0-255 (0 is preparing, about 10 s, then 1,2,3... is measuring)
digit : 0, mV = n (1 / 28.5) (ecgFloats = ecgInts (1 / 28.5))
digit : 1, mV = n (1 / 394) (ecgFloats = ecgInts (1 / 394))
You can receive ecg result after about 30s of measurement :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.PC300.EventPc300EcgResult).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.pc303.EcgResult
hr : 0-255
result : 0-15, 255 is poor signal
resultMess : result description
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.PC300.EventPc300RtBpData).post(InterfaceEvent(model, data))
data
: int
Normal result :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.PC300.EventPc300BpResult).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.pc303.BpResult
sys : systolic pressure
pr : pulse rate
dia : diastolic pressure
map : average pressure
result : 0 (hr normal), 1 (hr irregular)
resultMess : result description
Error result :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.PC300.EventPc300BpErrorResult).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.pc303.BpResultError
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.PC300.EventPc300RtOxyParam).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.pc303.RtOxyParam
spo2 : 0%-100% (0 invalid)
pr : 0-511bpm (0 invalid)
pi : 0%-25.5% (0 invalid)
isProbeOff
isPulseSearching
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.PC300.EventPc300RtOxyWave).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.pc303.RtOxyWave
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.PC300.EventPc300GluResult).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.pc303.GluResult
unit : 0 (mmol/L), 1 (mg/dL)
data : blood glucose value
result : 0 (normal), 1 (low), 2 (high)
resultMess : result description
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.PC300.EventPc300TempResult).post(InterfaceEvent(model, data))
data
: 30.00-43.00 ℃, normal range is 32.00-43.00 ℃
Service UUID : 00010203-0405-0607-0809-0A0B0C0D1910
Write UUID : 00010203-0405-0607-0809-0A0B0C0D2B11
Notify UUID : 00010203-0405-0607-0809-0A0B0C0D2B10
SDK will send this event when BluetoothDevice connected :
LiveEventBus.get<Int>(EventMsgConst.Ble.EventBleDeviceReady).post(model)
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.PoctorM3102.EventPoctorM3102Data).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.PoctorM3102Data
type : 0(Glucose), 1(Uric Acid), 3(Ketone)
result : normal=true, Glucose and Ketone(result/10, unit:mmol/L), Uric Acid(unit:umol/L)
result : normal=false, 0(Lo), 1(Hi)
Service UUID : 14839AC4-7D7E-415C-9A42-167340CF2339
Write UUID : 8B00ACE7-EB0B-49B0-BBE9-9AEE0A26E1A3
Notify UUID : 0734594A-A8E7-4B1A-A6B1-CD5243059A57
SDK will send this event when BluetoothDevice connected :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.Pulsebit.EventPulsebitSetTime).post(InterfaceEvent(model, true))
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.Pulsebit.EventPulsebitDeviceInfo).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.pulsebit.DeviceInfo
Get filelist progress :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.Pulsebit.EventPulsebitGetFileListProgress).post(InterfaceEvent(model, data))
data
: int (0-100)
Get filelist error :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.Pulsebit.EventPulsebitGetFileListError).post(InterfaceEvent(model, true))
Get filelist complete :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.Pulsebit.EventPulsebitGetFileList).post(InterfaceEvent(model, data))
data
: ArrayList<String>
(fileNames)
sampling rate : 500HZ
mV = n * 0.0012820952991323
Read file progress :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.Pulsebit.EventPulsebitReadingFileProgress).post(InterfaceEvent(model, data))
data
: int (0-100)
Read file error :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.Pulsebit.EventPulsebitReadFileError).post(InterfaceEvent(model, true))
Read file complete :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.Pulsebit.EventPulsebitReadFileComplete).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.pulsebit.EcgFile
wFs = waveShortData * 0.0012820952991323
user : 0-2 (0:single mode user, 1:dual mode userA, 2:dual mode userB)
recordingTime : unit (s)
hr : 0 is invalid value
result : ExEcgDiagnosis
- isRegular : Whether Regular ECG Rhythm
- isPoorSignal : Whether Unable to analyze
- isFastHr : Whether Fast Heart Rate
- isSlowHr : Whether Slow Heart Rate
- isIrregular : Whether Irregular ECG Rhythm
- isPvcs : Whether Possible ventricular premature beats
- isHeartPause : Whether Possible heart pause
- isFibrillation : Whether Possible Atrial fibrillation
- isWideQrs : Whether Wide QRS duration
- isProlongedQtc : Whether QTc is prolonged
- isShortQtc : Whether QTc is short
- isStElevation : Whether ST segment elevation
- isStDepression : Whether ST segment depression
Service UUID : 0000FFF0-0000-1000-8000-00805F9B34FB
Write UUID : 0000FFF2-0000-1000-8000-00805F9B34FB
Notify UUID : 0000FFF1-0000-1000-8000-00805F9B34FB
SDK will send this event when BluetoothDevice connected :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.SP20.EventSp20SetTime).post(InterfaceEvent(model, true))
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.SP20.EventSp20DeviceInfo).post(InterfaceEvent(model, true))
data
: com.lepu.blepro.ext.sp20.DeviceInfo
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.SP20.EventSp20Battery).post(InterfaceEvent(model, true))
data
: int (0=0-25%, 1=25-50%, 2=50-75%, 3=75-100%)
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.SP20.EventSp20SetConfig).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.sp20.SetConfigResult
type : Constant.Sp20ConfigType
success : true(set config success), false(set config failed)
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.SP20.EventSp20GetConfig).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.sp20.GetConfigResult
type : Constant.Sp20ConfigType
data : value range
Constant.Sp20ConfigType.LOW_OXY_THRESHOLD (85-99)
Constant.Sp20ConfigType.LOW_HR_THRESHOLD (30-99)
Constant.Sp20ConfigType.HIGH_HR_THRESHOLD (100-250)
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.SP20.EventSp20RtParam).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.sp20.RtParam
spo2 : 0%-100% (0 invalid)
pr : 0-511bpm (0 invalid)
pi : 0%-25.5% (0 invalid)
battery : 0-3 (0=0-25%, 1=25-50%, 2=50-75%, 3=75-100%)
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.SP20.EventSp20RtWave).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.sp20.RtWave
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.SP20.EventSp20TempData).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.sp20.TempResult
result : 0(normal), 1(low), 2(high)
unit : 0(℃), 1(℉)
Service UUID : 14839AC4-7D7E-415C-9A42-167340CF2339
Write UUID : 8B00ACE7-EB0B-49B0-BBE9-9AEE0A26E1A3
Notify UUID : 0734594A-A8E7-4B1A-A6B1-CD5243059A57
SDK will send this event when BluetoothDevice connected :
LiveEventBus.get<Int>(EventMsgConst.Ble.EventBleDeviceReady).post(model)
exchange key :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.Ventilator.EventVentilatorEncrypt).post(InterfaceEvent(model, data))
data
: int (Constant.VentilatorResponseType)
TYPE_NORMAL_ERROR : 255, exchange key failed
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.Ventilator.EventVentilatorSetUtcTime).post(InterfaceEvent(model, data))
data
: int (Constant.VentilatorResponseType)
get info error :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.Ventilator.EventVentilatorGetInfoError).post(InterfaceEvent(model, data))
data
: int (Constant.VentilatorResponseType)
get info success :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.Ventilator.EventVentilatorGetInfo).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.ventilator.DeviceInfo
branchCode : used to query whether support the CPAP, APAP, S, S/T, T mode, VentilatorModel(branchCode)
get version info error :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.Ventilator.EventVentilatorGetVersionInfoError).post(InterfaceEvent(model, data))
data
: int (Constant.VentilatorResponseType)
get version info success :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.Ventilator.EventVentilatorGetVersionInfo).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.ventilator.VersionInfo
get file list error :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.Ventilator.EventVentilatorGetFileListError).post(InterfaceEvent(model, data))
data
: int (Constant.VentilatorResponseType)
get file list success :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.Ventilator.EventVentilatorGetFileList).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.ventilator.RecordList
startTime : timestamp, unit second
type : 1(Daily statistics, file name is yyyyMMdd_day.stat), 2(Single statistics, file name is yyyyMMdd_HHmmss.stat, not used temporarily)
read file error :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.Ventilator.EventVentilatorReadFileError).post(InterfaceEvent(model, data))
data
: int (Constant.VentilatorResponseType)
read file progress :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.Ventilator.EventVentilatorReadingFileProgress).post(InterfaceEvent(model, data))
data
: int (0-100)
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.Ventilator.EventVentilatorReadFileComplete).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.ventilator.StatisticsFile
duration : unit second
usageDays : one day
spont : proportion of spontaneous respiration, 0-100%
(x_count * 3600) / recording_time = x_index / hour, (x_index in 0-200)
ahiCount : number of apnea hypopnea episodes
aiCount : number of apnea episodes
hiCount : hypoventilation frequency
oaiCount : number of respiratory pauses due to airway obstruction
caiCount : number of central apnea episodes
rearCount : number of awakenings related to respiratory effort
sniCount : snoring frequency
pbCount : periodic breathing frequency
takeOffCount : number of times removed
llTime : time for large air leakage
float pressure[] : 0.0-40.0cmH2O/hPa, device reports use pressure[4]
float ipap[] : inspiratory pressure, 0.0-40.0cmH2O/hPa, device reports use ipap[4]
float epap[] : expiratory pressure, 0.0-40.0cmH2O/hPa, device reports use epap[4]
int vt[] : tidal volume, 0-3000mL, device reports use vt[3]
float mv[] : minute Volume, 0.0-60.0L/min, device reports use mv[3]
float leak[] : air leakage rate, 0.0-120.0L/min, device reports use leak[4]
int rr[] : respiratory rate, 0-60bpm, device reports use rr[3]
float ti[] : inspiratory time, 0.1-4.0s, device reports use ti[3]
float ie[] : 1:50-3:1, 0.02-3.0, device reports use ie[3]
int spo2[] : 70-100%, device reports use spo2[0]
int pr[] : 30-250bpm, device reports use pr[2]
int hr[] : 30-250bpm, device reports use hr[2]
get wifi list error :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.Ventilator.EventVentilatorGetWifiListError).post(InterfaceEvent(model, data))
data
: int (Constant.VentilatorResponseType)
TYPE_NORMAL_ERROR : 255, wifi scanning
get wifi success :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.Ventilator.EventVentilatorGetWifiList).post(InterfaceEvent(model, data))
data
: ArrayList<Wifi>
(com.lepu.blepro.ext.ventilator.Wifi)
get wifi config error :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.Ventilator.EventVentilatorGetWifiConfigError).post(InterfaceEvent(model, data))
data
: int (Constant.VentilatorResponseType)
TYPE_NORMAL_ERROR : 255, no wifi config
get wifi config success :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.Ventilator.EventVentilatorGetWifiConfig).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.ventilator.WifiConfig
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.Ventilator.EventVentilatorSetWifiConfig).post(InterfaceEvent(model, data))
data
: int (Constant.VentilatorResponseType)
bound device error :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.Ventilator.EventVentilatorDeviceBoundError).post(InterfaceEvent(model, data))
data
: int (Constant.VentilatorResponseType)
bound device success :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.Ventilator.EventVentilatorDeviceBound).post(InterfaceEvent(model, data))
data
: int (0:success, 1:failed, 2:timeout)
unbound device :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.Ventilator.EventVentilatorDeviceUnBound).post(InterfaceEvent(model, data))
data
: int (Constant.VentilatorResponseType)
doctor mode error :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.Ventilator.EventVentilatorDoctorModeError).post(InterfaceEvent(model, data))
data
: int (Constant.VentilatorResponseType)
doctor mode success :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.Ventilator.EventVentilatorDoctorMode).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.ventilator.DoctorModeResult
errCode : 1(device doctor mode), 2(ble doctor mode), 3(socket doctor mode), 4(password error), 5(normal mode)
get real time state error :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.Ventilator.EventVentilatorRtStateError).post(InterfaceEvent(model, data))
data
: int (Constant.VentilatorResponseType)
get real time state success :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.Ventilator.EventVentilatorRtState).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.ventilator.RtState
ventilationMode : 0(CPAP), 1(APAP), 2(S), 3(S/T), 4(T)
deviceMode : 0(normal mode), 1(device doctor mode), 2(ble doctor mode), 3(socket doctor mode) standard : 1(CFDA), 2(CE), 3(FDA)
get real time param error :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.Ventilator.EventVentilatorRtParamError).post(InterfaceEvent(model, data))
data
: int (Constant.VentilatorResponseType)
get real time param success :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.Ventilator.EventVentilatorRtParam).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.ventilator.RtParam
pressure : 0-40cmH2O/hPa
ipap : 0-40cmH2O/hPa
epap : 0-40cmH2O/hPa
vt : 0-3000mL
mv : 0-60L/min
leak : 0-120L/min
rr : 0-60bpm
ti : 0.1-4s
ie : 1:50.0-3.0:1
spo2 : 70-100%
pr : 30-250bpm
hr : 30-250bpm
mask test error :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.Ventilator.EventVentilatorMaskTestError).post(InterfaceEvent(model, data))
data
: int (Constant.VentilatorResponseType)
mask test success :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.Ventilator.EventVentilatorMaskTest).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.ventilator.MaskTestResult
status : 0(not in testing state), 1(under testing), 2(end of testing)
leak : 0-120L/min
result : 0(test not completed), 1(not suitable), 2(suitable)
event reporting error :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.Ventilator.EventVentilatorEventError).post(InterfaceEvent(model, data))
data
: int (Constant.VentilatorResponseType)
event reporting success :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.Ventilator.EventVentilatorEvent).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.ventilator.Event
timestamp : event time, unit second
alarmLevel : Constant.VentilatorAlarmLevel
eventId : Constant.VentilatorEventId
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.Ventilator.EventVentilatorVentilationSwitch).post(InterfaceEvent(model, data))
data
: int (Constant.VentilatorResponseType)
get system setting error :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.Ventilator.EventVentilatorGetSystemSettingError).post(InterfaceEvent(model, data))
data
: int (Constant.VentilatorResponseType)
get system setting success :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.Ventilator.EventVentilatorGetSystemSetting).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.ventilator.SystemSetting
unitSetting : UnitSetting
- pressureUnit : 0(cmH2O), 1(hPa)
languageSetting : LanguageSetting
- language : 0(English), 1(Chinese)
screenSetting : ScreenSetting
- brightness : 5-100%, step by 1%
- autoOff : 0(always screen on), 30s, 60s, 90s, 120s
replacements : Replacements
- filter : 0(off), 1-12
- mask : 0(off), 1-12
- tube : 0(off), 1-12
- tank : 0(off), 1-12
volumeSetting : VolumeSetting
- volume : 0-100%, step by 5%
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.Ventilator.EventVentilatorSetSystemSetting).post(InterfaceEvent(model, data))
data
: int (Constant.VentilatorResponseType)
get measure setting error :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.Ventilator.EventVentilatorGetMeasureSettingError).post(InterfaceEvent(model, data))
data
: int (Constant.VentilatorResponseType)
get measure setting success :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.Ventilator.EventVentilatorGetMeasureSetting).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.ventilator.MeasureSetting
humidification : Humidification
- humidification : 0(off), 1-5, 0xff(auto)
pressureReduce : PressureReduce
- epr : expiratory pressure release, 0(off), 1-3
autoSwitch : AutoSwitch
preHeat : PreHeat
ramp : Ramp
- pressure : buffering pressure, 3-cpapPressure(CPAP), 3-apapPressureMin(APAP), 3-epapPressure(S,S/T,T), step by 0.5cmH2O/hPa
- time : buffering time, 0xff(auto), 0-60min, step by 5min
tubeType : TubeType
- type : 0(15mm), 1(19mm)
mask : Mask
- type : 0(full face), 1(nasal), 2(pillow)
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.Ventilator.EventVentilatorSetMeasureSetting).post(InterfaceEvent(model, data))
data
: int (Constant.VentilatorResponseType)
get ventilation setting error :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.Ventilator.EventVentilatorGetVentilationSettingError).post(InterfaceEvent(model, data))
data
: int (Constant.VentilatorResponseType)
get ventilation setting success :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.Ventilator.EventVentilatorGetVentilationSetting).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.ventilator.VentilationSetting
ventilationMode : VentilationMode
- mode : 0(CPAP), 1(APAP), 2(S), 3(S/T), 4(T)
cpapPressure : CpapPressure
- pressure : 4-20, step by 0.5cmH2O/hPa
apapPressureMax : ApapPressureMax
- max : apapPressureMin-20, step by 0.5cmH2O/hPa
apapPressureMin : ApapPressureMin
- min : 4-apapPressureMax, step by 0.5cmH2O/hPa
pressureExhale : PressureExhale
- exhale : 4-25(CE), 6-25(CFDA), step by 0.5cmH2O/hPa
- inhale >= exhale+2(CFDA), inhale >= exhale(CE)
pressureInhale : PressureInhale
- inhale : 4-25(CE), 4-23(CFDA), step by 0.5cmH2O/hPa
- inhale >= exhale+2(CFDA), inhale >= exhale(CE)
inhaleDuration : InhaleDuration
- duration : 0.3-4, step by 0.1s
- Max(0.3, pressureRaiseDuration) <= duration <= Min((60/respiratoryRate) * 2 / 3, 4)
respiratoryRate : RespiratoryRate
- rate : 5-30, step by 1bpm/min
- 5 <= rate <= Min(60/(inhaleDuration / 2 * 3))
pressureRaiseDuration : PressureRaiseDuration
- duration : 100-900ms, step by 50ms
- Max(100ms, minT) <= duration <= Min(900ms, LimT)
exhaleSensitive : ExhaleSensitive
- sentive : 0(auto), 1-5
inhaleSensitive : InhaleSensitive
- sentive : 0(auto), 1-5
Number Inhale Duration(s) Pressure Raise Duration LimT(ms) 1 0.3 200 2 0.4 250 3 0.5 300 4 0.6 400 5 0.7 450 6 0.8 500 7 0.9 600 8 1.0 650 9 1.1 700 10 1.2 800 11 1.3 850 12 >=1.4 900
Number Pressure Inhale-Pressure Exhale(sub) Pressure Raise Duration minT(ms) 1 2~5 100 2 5.5~10 200 3 10.5~15 300 4 15.5~20 400 5 20.5~21 450
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.Ventilator.EventVentilatorSetVentilationSetting).post(InterfaceEvent(model, data))
data
: int (Constant.VentilatorResponseType)
get warning setting error :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.Ventilator.EventVentilatorGetWarningSettingError).post(InterfaceEvent(model, data))
data
: int (Constant.VentilatorResponseType)
get warning setting success :
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.Ventilator.EventVentilatorGetWarningSetting).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.ventilator.WarningSetting
warningApnea : WarningApnea
- apnea : 0(off), 10s, 20s, 30s
warningLeak : WarningLeak
- high : 0(off), 15s, 30s, 45s, 60s
warningVt : WarningVt
- low : 0(off), 200-2000ml, step by 10ml
warningVentilation : WarningVentilation
- low : 0(off), 1-25L/min, step by 1L/min
warningRrHigh : WarningRrHigh
- high : 0(off), 1-60bpm, step by 1bpm
- warningRrLow+2~60 (if low != 0 and warningRrHigh != 0)
warningRrLow : WarningRrLow
- low : 0(off), 1-60bpm, step by 1bpm
- 1~warningRrHigh-2 (if low != 0 and warningRrHigh != 0)
warningSpo2Low : WarningSpo2Low
- low : 0(off), 80-95%, step by 1%
warningHrHigh : WarningHrHigh
- high : 0(off), 100-240bpm, step by 10bpm
warningHrLow : WarningHrLow
- low : 0(off), 30-70bpm, step by 5bpm
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.Ventilator.EventVentilatorSetWarningSetting).post(InterfaceEvent(model, data))
data
: int (Constant.VentilatorResponseType)
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.Ventilator.EventVentilatorFactoryReset).post(InterfaceEvent(model, data))
data
: int (Constant.VentilatorResponseType)
Service UUID : 0000FFE0-0000-1000-8000-00805F9B34FB
Write UUID : 0000FFF2-0000-1000-8000-00805F9B34FB
Notify UUID : 0000FFE4-0000-1000-8000-00805F9B34FB
SDK will send this event when BluetoothDevice connected :
LiveEventBus.get<Int>(EventMsgConst.Ble.EventBleDeviceReady).post(model)
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.VTM20f.EventVTM20fRtParam).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.vtm20f.RtParam
spo2 : 0%-100% (0 invalid)
pr : 0-511bpm (0 invalid)
pi : 0%-25.5% (0 invalid)
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.VTM20f.EventVTM20fRtWave).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.vtm20f.RtWave
Service UUID : 0000FFE0-0000-1000-8000-00805F9B34FB
Write UUID : 0000FFF2-0000-1000-8000-00805F9B34FB
Notify UUID : 0000FFE4-0000-1000-8000-00805F9B34FB
Service UUID : 00005500-D102-11E1-9B23-00025B00A5A5
Write UUID : 00005501-D102-11E1-9B23-00025B00A5A5
Notify UUID : 00005501-D102-11E1-9B23-00025B00A5A5
SDK will send this event when BluetoothDevice connected :
LiveEventBus.get<Int>(EventMsgConst.Ble.EventBleDeviceReady).post(model)
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.AD5.EventAd5RtHr).post(InterfaceEvent(model, data))
data
: com.lepu.blepro.ext.Ad5Data
Service UUID : 0000FFF0-0000-1000-8000-00805F9B34FB
Write UUID : 0000FFF2-0000-1000-8000-00805F9B34FB
Notify UUID : 0000FFF1-0000-1000-8000-00805F9B34FB
SDK will send this event when BluetoothDevice connected :
LiveEventBus.get<Int>(EventMsgConst.Ble.EventBleDeviceReady).post(model)
LiveEventBus.get<InterfaceEvent>(InterfaceEvent.VCOMIN.EventVcominRtHr).post(InterfaceEvent(model, data))
data
: Int, HR