在device对象里增加calcVer字段,对于国产算法,根据GGA统计固定解浮点解的个数

This commit is contained in:
weidong 2024-09-28 09:53:42 +08:00
parent 1788d7cf2f
commit 676190fc0a
3 changed files with 10 additions and 3 deletions

View File

@ -77,6 +77,7 @@ public class SingleLineGNSSCalcService implements GNSSDataCalcService {
if(device == null) return; if(device == null) return;
GnssGroupCalc groupCalc = getGroupCalc(device.getCalcGroupId()); GnssGroupCalc groupCalc = getGroupCalc(device.getCalcGroupId());
if(groupCalc==null) return; if(groupCalc==null) return;
device.setCalcVer(groupCalc.getVer());
if(completeWhenIdle) resultOutputTimer(device, groupCalc, message.getCreateTime()); if(completeWhenIdle) resultOutputTimer(device, groupCalc, message.getCreateTime());
@ -269,7 +270,7 @@ public class SingleLineGNSSCalcService implements GNSSDataCalcService {
else focusCalculator.setReferPoint(b562Result); else focusCalculator.setReferPoint(b562Result);
} }
} }
else if(focusCalculator.getVer()==1 || focusCalculator.getVer()==3 || focusCalculator.getVer()==5 || focusCalculator.isShocked()) { else if(focusCalculator.getVer()==1 || focusCalculator.getVer()==3 || focusCalculator.getVer()==5) {
focusCalculator.setReferPoint(b562Result); focusCalculator.setReferPoint(b562Result);
} }
else { else {

View File

@ -74,8 +74,10 @@ public class D341LocationMessageExecutor implements Executor<D341LocationMessage
// update trx // update trx
device.updateRx(message.getHeader(), message.getLen(), 1); device.updateRx(message.getHeader(), message.getLen(), 1);
if(device.getCalcVer()!=3) {
double[] pos = message.getB562_loc(); double[] pos = message.getB562_loc();
device.updateB562Quality((int) pos[3]); device.updateB562Quality((int) pos[3]);
}
Gga gga = message.getGga(); Gga gga = message.getGga();
if(gga != null) { if(gga != null) {
@ -85,6 +87,9 @@ public class D341LocationMessageExecutor implements Executor<D341LocationMessage
device.setLongitude(gga.getLongitude()); device.setLongitude(gga.getLongitude());
device.setAltitude(gga.getAltitude()); device.setAltitude(gga.getAltitude());
} }
if(device.getCalcVer()==3){
device.updateB562Quality(gga.getQuality());
}
} }
ThreadManager.getFixedThreadPool().submit(() -> { ThreadManager.getFixedThreadPool().submit(() -> {

View File

@ -37,6 +37,7 @@ public class Device {
private Integer calcGroupId; private Integer calcGroupId;
private Short opMode; private Short opMode;
private Short calcVer;//算法版本
int d3xxCount = 0; int d3xxCount = 0;
int d3xxbytes = 0; int d3xxbytes = 0;