1、如果博通基站D341统计为0,则断电重启GNSS模块

This commit is contained in:
weidong 2025-06-25 10:04:43 +08:00
parent 689f6cf360
commit eed05660ab

View File

@ -33,8 +33,8 @@ public class D3F0SelfCheckMessageExecutor implements Executor<D3F0SelfCheckMessa
private final Logger logger = LoggerFactory.getLogger(this.getClass()); private final Logger logger = LoggerFactory.getLogger(this.getClass());
final String F9PInitCmd = "f9"; final String F9PInitCmd = "f9";
final String F9PPowerOff = "25 00"; final String GNSSPowerOff = "25 00";
final String F9PPowerOn = "25 01"; final String GNSSPowerOn = "25 01";
final String F9PColdStartCmd = "b56206040400000002001068"; final String F9PColdStartCmd = "b56206040400000002001068";
final String BTCloseMneaCmd = "424be8e1020a00040000ffff"; final String BTCloseMneaCmd = "424be8e1020a00040000ffff";
final String BTOpenGGACmd = "424b852c0208000400000001"; final String BTOpenGGACmd = "424b852c0208000400000001";
@ -84,6 +84,11 @@ public class D3F0SelfCheckMessageExecutor implements Executor<D3F0SelfCheckMessa
checkAndResetBTGnss(device); checkAndResetBTGnss(device);
} }
} }
else{
if(device.getModel() == GnssDevice.MODEL_G510){
checkAndResetBTBsGnss(device);
}
}
// 通知beidou服务设备上线这里会触发参数同步 // 通知beidou服务设备上线这里会触发参数同步
GnssStatus lastGnssStatus = dataPersistService.getDeviceState(message.getId()); GnssStatus lastGnssStatus = dataPersistService.getDeviceState(message.getId());
try { try {
@ -208,6 +213,12 @@ public class D3F0SelfCheckMessageExecutor implements Executor<D3F0SelfCheckMessa
} }
} }
private void checkAndResetBTBsGnss(Device device){
if(device.getD341Count() < 50){
startBTBsResetTask(device);
}
}
void startF9PColdStartTask(Device device){ void startF9PColdStartTask(Device device){
Timer timer = new Timer(); Timer timer = new Timer();
for(int delay=1; delay<=10; delay++) { for(int delay=1; delay<=10; delay++) {
@ -230,6 +241,22 @@ public class D3F0SelfCheckMessageExecutor implements Executor<D3F0SelfCheckMessa
},1000); },1000);
} }
void startBTBsResetTask(Device device){
Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
sendGnssCommand(device, GNSSPowerOff);
}
},1000);
timer.schedule(new TimerTask() {
@Override
public void run() {
sendGnssCommand(device, GNSSPowerOn);
}
},11000);
}
void startBTResetTask(Device device){ void startBTResetTask(Device device){
Timer timer = new Timer(); Timer timer = new Timer();
timer.schedule(new TimerTask() { timer.schedule(new TimerTask() {
@ -269,4 +296,6 @@ public class D3F0SelfCheckMessageExecutor implements Executor<D3F0SelfCheckMessa
} }
},16000); },16000);
} }
} }