Browse Source

算法更新

develop
白凤吉 2 months ago
parent
commit
84187ebecc
  1. 1
      app/src/main/AndroidManifest.xml
  2. 1
      app/src/main/java/com/iflytop/profilometer/MainActivity.java
  3. 6
      app/src/main/java/com/iflytop/profilometer/api/ble/BleApi.java
  4. 11
      app/src/main/java/com/iflytop/profilometer/api/measure/MeasureApi.java
  5. 5
      app/src/main/java/com/iflytop/profilometer/core/bluetooth/BlePingManager.java
  6. 4
      app/src/main/java/com/iflytop/profilometer/service/RailProfileDrawerService.java

1
app/src/main/AndroidManifest.xml

@ -26,6 +26,7 @@
<activity
android:name=".MainActivity"
android:hardwareAccelerated="true"
android:screenOrientation="portrait"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

1
app/src/main/java/com/iflytop/profilometer/MainActivity.java

@ -3,6 +3,7 @@ package com.iflytop.profilometer;
import android.Manifest;
import android.annotation.SuppressLint;
import android.content.Intent;
import android.content.pm.ActivityInfo;
import android.content.pm.PackageManager;
import android.net.Uri;
import android.os.Build;

6
app/src/main/java/com/iflytop/profilometer/api/ble/BleApi.java

@ -61,10 +61,10 @@ public class BleApi {
BleWebsocketManager.getInstance().stopWsPush();
BleManager.getInstance().stopScan();//连接后停止扫描
boolean connect = BleManager.getInstance().connectToDeviceSync(mac);
// BlePingManager.getInstance().startPing();
if (connect) {
BleDeviceDriver bleDeviceDriver = SystemService.getInstance().getBleDeviceDriver();
bleDeviceDriver.stopSampling();
BlePingManager.getInstance().startPing();
return Result.success();
} else {
throw new RuntimeException();
@ -72,7 +72,7 @@ public class BleApi {
} catch (Exception e) {
BleWebsocketManager.getInstance().startWsPush();//链接失败后继续扫描并推送
BleManager.getInstance().startScan();
// BlePingManager.getInstance().stopPing();
BlePingManager.getInstance().stopPing();
Log.e(TAG, "链接蓝牙设备失败", e);
return Result.failed("链接蓝牙设备失败");
}
@ -87,7 +87,7 @@ public class BleApi {
bleDeviceDriver.stopSampling();
BleManager.getInstance().disconnect();
// BlePingManager.getInstance().stopPing();
BlePingManager.getInstance().stopPing();
BleManager.getInstance().startScan();//断开连接后开始扫描
BleWebsocketManager.getInstance().startWsPush();
return Result.success();

11
app/src/main/java/com/iflytop/profilometer/api/measure/MeasureApi.java

@ -8,6 +8,7 @@ import com.iflytop.profilometer.common.utils.ImageTemplateAlignUtil;
import com.iflytop.profilometer.common.utils.ShapeDeviationCalculator2;
import com.iflytop.profilometer.common.utils.UniformShapeSamplerUtil;
import com.iflytop.profilometer.core.bluetooth.BleDeviceDriver;
import com.iflytop.profilometer.core.bluetooth.BlePingManager;
import com.iflytop.profilometer.core.migration.algo.ProfilometerRecorder;
import com.iflytop.profilometer.core.migration.algo.type.DeviceProfile;
import com.iflytop.profilometer.core.migration.algo.type.RailProfileMeasureTaskStatus;
@ -47,6 +48,8 @@ public class MeasureApi {
* 开始测量
*/
public String start() {
try{
BlePingManager.getInstance().stopPing();
RailProfileMeasureTaskState taskState = SystemService.getInstance().getTaskState();
taskState.reset();
taskState.setTaskStatus(RailProfileMeasureTaskStatus.WAITING_FOR_RECORD_THE_1ST_SIDE);
@ -59,6 +62,9 @@ public class MeasureApi {
profilometerRecorder.startRecord(new DeviceProfile(appearance.arm1Length, appearance.arm2Length, appearance.pulleyRadius, appearance.profilometerHight));
bleDeviceDriver.startSampling();
} catch (Exception e) {
BlePingManager.getInstance().startPing();
}
return Result.success();
}
@ -66,12 +72,17 @@ public class MeasureApi {
* 停止测量
*/
public String stop() {
try{
BlePingManager.getInstance().startPing();
RailProfileDrawerService railProfileDrawerService = SystemService.getInstance().getRailProfileDrawerService();
ProfilometerRecorder profilometerRecorder = railProfileDrawerService.getProfilometerRecorder();
profilometerRecorder.stopRecord();
BleDeviceDriver bleDeviceDriver = SystemService.getInstance().getBleDeviceDriver();
bleDeviceDriver.stopSampling();
} catch (Exception e) {
BlePingManager.getInstance().stopPing();
}
return Result.success();
}

5
app/src/main/java/com/iflytop/profilometer/core/bluetooth/BlePingManager.java

@ -42,10 +42,7 @@ public class BlePingManager {
stopPing();
scheduledTask = scheduler.scheduleWithFixedDelay(() -> {
BleDeviceDriver bleDeviceDriver = SystemService.getInstance().getBleDeviceDriver();
TPMIPacket packet = bleDeviceDriver.ping();
if(packet != null){
Log.i("123","123");
}
bleDeviceDriver.ping();
}, 0, 1000, TimeUnit.MILLISECONDS);
}

4
app/src/main/java/com/iflytop/profilometer/service/RailProfileDrawerService.java

@ -1,5 +1,6 @@
package com.iflytop.profilometer.service;
import com.iflytop.profilometer.core.bluetooth.BleDeviceDriver;
import com.iflytop.profilometer.core.migration.algo.ProfilometerPulleyPointPreProcesser;
import com.iflytop.profilometer.core.migration.algo.ProfilometerRecorder;
import com.iflytop.profilometer.core.migration.algo.type.MeasureSide;
@ -175,6 +176,9 @@ public class RailProfileDrawerService implements ProfilometerDrawerListener {
map.put("data", RailProfileMeasureTaskEvent.FINISH_RECORD);
WebSocketManager.send(JSONUtil.toJsonStr(map));
BleDeviceDriver bleDeviceDriver = SystemService.getInstance().getBleDeviceDriver();
bleDeviceDriver.stopSampling();
var report = ProfilometerPulleyPointPreProcesser.processRecord(
profilometerRecorder.getConfig(),
profilometerRecorder.getDeviceProfile(),

Loading…
Cancel
Save