|
@@ -17,15 +17,18 @@ import org.json.JSONObject;
|
|
|
|
|
|
|
|
|
import java.lang.reflect.InvocationTargetException;
|
|
|
+import java.util.Arrays;
|
|
|
import java.util.Vector;
|
|
|
import java.util.concurrent.ConcurrentLinkedQueue;
|
|
|
|
|
|
import serial.jni.BluConnectionStateListener;
|
|
|
import serial.jni.DataUtils;
|
|
|
import serial.jni.NativeCallBack;
|
|
|
+import vinno.sportinspect.bean.HeartEntity;
|
|
|
+import vinno.sportinspect.bean.TwelveHeartEntity;
|
|
|
import vinno.sportinspect.config.StatusConstant;
|
|
|
import vinno.sportinspect.minterface.OnBleConnectSuccessListener;
|
|
|
-import vinno.sportinspect.utils.LogUtil;
|
|
|
+import vinno.sportinspect.utils.log.LogUtil;
|
|
|
|
|
|
|
|
|
public class HeartByECGWS12 extends BaseDevices{
|
|
@@ -57,6 +60,8 @@ public class HeartByECGWS12 extends BaseDevices{
|
|
|
//2020-05-13 采样转换 1000-->256
|
|
|
private int srcDataIndex = 0;
|
|
|
private int selectDataIndex = 0;
|
|
|
+ final TwelveHeartEntity entity = new TwelveHeartEntity();
|
|
|
+
|
|
|
private EcgPoint []srcDataBuffer = new EcgPoint[srcDataBufferSize];
|
|
|
|
|
|
class nativeMsg extends NativeCallBack {
|
|
@@ -64,6 +69,11 @@ public class HeartByECGWS12 extends BaseDevices{
|
|
|
@Override
|
|
|
public void callHRMsg(short hr) {// 心率
|
|
|
mHandler.obtainMessage(MESSAGE_UPDATE_HR, hr).sendToTarget();
|
|
|
+ entity.HR = hr;
|
|
|
+// LogUtil.d("gxy+" + hr);
|
|
|
+// callBack(StatusConstant.BT_MEASURE_HEART_TWELVE_RESULT, entity);
|
|
|
+ // System.out.println(Arrays.toString(wave));
|
|
|
+// callBack(StatusConstant.BT_MEASURE_HEART_TWELVE_RESULT, Arrays.toString(wave).substring(0, 10));
|
|
|
}
|
|
|
|
|
|
@Override
|
|
@@ -122,7 +132,12 @@ public class HeartByECGWS12 extends BaseDevices{
|
|
|
mEcgQueue.offer(points.get(i).ecg[j]);
|
|
|
}
|
|
|
}
|
|
|
+ entity.POINT = mEcgQueue;
|
|
|
+ if(mEcgQueue.size() %(1250*12) ==0) {
|
|
|
+ callBack(StatusConstant.BT_MEASURE_HEART_TWELVE_RESULT, entity);
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
}
|
|
|
@Override
|
|
|
public void callEcg18WaveDataMsg(short[] wave) {
|
|
@@ -213,14 +228,17 @@ public class HeartByECGWS12 extends BaseDevices{
|
|
|
case MESSAGE_CONNECT_SUCCESS:
|
|
|
// 连接成功
|
|
|
callBack(StatusConstant.BLE_CONNECT_SUCCESS);
|
|
|
+ mEcgQueue = new ConcurrentLinkedQueue<Short>();
|
|
|
break;
|
|
|
case MESSAGE_CONNECT_INTERRUPTED:
|
|
|
// 连接中断
|
|
|
callBack(StatusConstant.BLE_DISCONNECT);
|
|
|
+ mEcgQueue =null;
|
|
|
break;
|
|
|
case MESSAGE_CONNECT_FAILED:
|
|
|
// 连接失败
|
|
|
callBack(StatusConstant.BLE_CONNECT_FAIL);
|
|
|
+ mEcgQueue =null;
|
|
|
break;
|
|
|
case MESSAGE_USB_CONNECT_REMOVE_DEVICE:
|
|
|
// Log.e("BL", "MESSAGE_USB_CONNECT_REMOVE_DEVICE");
|
|
@@ -278,27 +296,44 @@ public class HeartByECGWS12 extends BaseDevices{
|
|
|
@Override
|
|
|
public void OnBluConnectionInterrupted() {
|
|
|
LogUtil.d("vinno==>设备连接中断");
|
|
|
+ mHandler.obtainMessage(MESSAGE_CONNECT_INTERRUPTED,
|
|
|
+ -1, -1).sendToTarget();
|
|
|
}
|
|
|
@Override
|
|
|
public void OnBluConnectSuccess() {
|
|
|
LogUtil.d("vinno==>设备连接成功");
|
|
|
+ mHandler.obtainMessage(MESSAGE_CONNECT_SUCCESS)
|
|
|
+ .sendToTarget();
|
|
|
}
|
|
|
@Override
|
|
|
public void OnBluConnectStart() {
|
|
|
LogUtil.d("vinno==>开始连接BT");
|
|
|
+ mHandler.obtainMessage(MESSAGE_CONNECT_START)
|
|
|
+ .sendToTarget();
|
|
|
}
|
|
|
@Override
|
|
|
public void OnBluConnectFaild() {
|
|
|
LogUtil.d("vinno==>设备连接失败");
|
|
|
+ mHandler.obtainMessage(MESSAGE_CONNECT_FAILED, -1,
|
|
|
+ -1).sendToTarget();
|
|
|
}
|
|
|
});
|
|
|
- /// 开始采集
|
|
|
+
|
|
|
data.gatherStart(new nativeMsg());
|
|
|
|
|
|
+
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
public void parseData(byte[] data) {
|
|
|
|
|
|
}
|
|
|
+ @Override
|
|
|
+ public void disConnectDevice() {
|
|
|
+ /// 结束采集
|
|
|
+ data.gatherEnd();
|
|
|
+ LogUtil.d("结束采集");
|
|
|
+ /// 完全结束时释放采集资源
|
|
|
+ data.gatherRelease();
|
|
|
+ }
|
|
|
}
|