1、bootloader版本显示
2、记录最后收到数据的类型和时间 3、兼容3.0以前的d3f0格式
This commit is contained in:
parent
6dd98c53d7
commit
cc5a020f5f
@ -56,7 +56,7 @@ public class D331RtcmMessageExecutor implements Executor<D331RtcmMessage, Void>
|
|||||||
}
|
}
|
||||||
|
|
||||||
message.setTenantId(device1.getTenantId());
|
message.setTenantId(device1.getTenantId());
|
||||||
device1.updateD331Bytes(message.getLen(),message.getPacketNum());
|
device1.updateRx(message.getHeader(),message.getLen(),message.getPacketNum());
|
||||||
Gga gga = message.getGga();
|
Gga gga = message.getGga();
|
||||||
if(gga != null) {
|
if(gga != null) {
|
||||||
device1.updateSatelitesNum(gga.getSatellitesInUsed());
|
device1.updateSatelitesNum(gga.getSatellitesInUsed());
|
||||||
|
|||||||
@ -36,7 +36,7 @@ public class D341LocationMessageExecutor implements Executor<D341LocationMessage
|
|||||||
Device device = deviceService.findByDeviceId(message.getId());
|
Device device = deviceService.findByDeviceId(message.getId());
|
||||||
if(device == null) return null;
|
if(device == null) return null;
|
||||||
message.setTenantId(device.getTenantId());
|
message.setTenantId(device.getTenantId());
|
||||||
device.updateD341Bytes(message.getLen());
|
device.updateRx(message.getHeader(), message.getLen(), 1);
|
||||||
Gga gga = message.getGga();
|
Gga gga = message.getGga();
|
||||||
if(gga != null) {
|
if(gga != null) {
|
||||||
device.updateSatelitesNum(gga.getSatellitesInUsed());
|
device.updateSatelitesNum(gga.getSatellitesInUsed());
|
||||||
|
|||||||
@ -34,7 +34,7 @@ public class D342LocationMessageExecutor implements Executor<D342LocationMessage
|
|||||||
message.setTenantId(device.getTenantId());
|
message.setTenantId(device.getTenantId());
|
||||||
message.setProjectId(device.getProjectId());
|
message.setProjectId(device.getProjectId());
|
||||||
message.setFwdId(device.getFwdId());
|
message.setFwdId(device.getFwdId());
|
||||||
device.updateD342Bytes(message.getLen(),message.getMessageList().size());
|
device.updateRx(message.getHeader(), message.getLen(),message.getMessageList().size());
|
||||||
|
|
||||||
ThreadManager.getFixedThreadPool().submit(() -> {
|
ThreadManager.getFixedThreadPool().submit(() -> {
|
||||||
gnssCalcService.calc(message);
|
gnssCalcService.calc(message);
|
||||||
|
|||||||
@ -39,7 +39,7 @@ public class D3F0SelfCheckMessageExecutor implements Executor<D3F0SelfCheckMessa
|
|||||||
Device device = deviceService.findByDeviceId(message.getId());
|
Device device = deviceService.findByDeviceId(message.getId());
|
||||||
if(device == null) return null;
|
if(device == null) return null;
|
||||||
message.setTenantId(device.getTenantId());
|
message.setTenantId(device.getTenantId());
|
||||||
device.clearStat();
|
device.updateRx(message.getHeader(),message.getLen(),1);
|
||||||
|
|
||||||
ThreadManager.getFixedThreadPool().submit(() -> {
|
ThreadManager.getFixedThreadPool().submit(() -> {
|
||||||
GnssStatus lastGnssStatus = dataPersistService.getDeviceState(message.getId());
|
GnssStatus lastGnssStatus = dataPersistService.getDeviceState(message.getId());
|
||||||
|
|||||||
@ -47,6 +47,7 @@ public class D3F2StopIndicationMessageExecutor implements Executor<D3F2StopIndic
|
|||||||
String deviceId = message.getId();
|
String deviceId = message.getId();
|
||||||
Device device = deviceService.findByDeviceId(deviceId);
|
Device device = deviceService.findByDeviceId(deviceId);
|
||||||
if(device == null) return null;
|
if(device == null) return null;
|
||||||
|
device.updateRx(message.getHeader(), message.getLen(),1);
|
||||||
message.setTenantId(device.getTenantId());
|
message.setTenantId(device.getTenantId());
|
||||||
GnssTrxMsg gnssTrxMsg = message.getTrxMsg();
|
GnssTrxMsg gnssTrxMsg = message.getTrxMsg();
|
||||||
gnssTrxMsg.setTenantid(device.getTenantId());
|
gnssTrxMsg.setTenantid(device.getTenantId());
|
||||||
|
|||||||
@ -5,7 +5,6 @@ import io.netty.buffer.ByteBuf;
|
|||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
|
|
||||||
import java.nio.charset.Charset;
|
|
||||||
import java.nio.charset.StandardCharsets;
|
import java.nio.charset.StandardCharsets;
|
||||||
import java.time.LocalTime;
|
import java.time.LocalTime;
|
||||||
|
|
||||||
@ -32,19 +31,31 @@ public class D3F0SelfCheckMessage extends BaseMessage {
|
|||||||
statusMsg.setRoll(src.readFloat());
|
statusMsg.setRoll(src.readFloat());
|
||||||
statusMsg.setYaw(src.readFloat());
|
statusMsg.setYaw(src.readFloat());
|
||||||
// skip shock
|
// skip shock
|
||||||
src.readFloat();
|
if(src.readableBytes()>=4) {
|
||||||
statusMsg.setDtustate(src.readUnsignedByte());
|
src.readFloat();
|
||||||
statusMsg.setRssi(src.readUnsignedByte());
|
statusMsg.setDtustate(src.readUnsignedByte());
|
||||||
statusMsg.setVoltage(src.readUnsignedShort());
|
statusMsg.setRssi(src.readUnsignedByte());
|
||||||
|
statusMsg.setVoltage(src.readUnsignedShort());
|
||||||
|
}
|
||||||
// skip version
|
// skip version
|
||||||
int ver = src.readUnsignedShort();
|
int ver = src.readUnsignedShort();
|
||||||
firmwareVersion = ((ver>>8)&0xFF) + "." + ((ver>>4)&0xF) + "." + (ver&0xF);
|
short verType = (short) ((ver >> 12) & 0xF);
|
||||||
statusMsg.setTemperature((float) (src.readUnsignedShort()/10));
|
firmwareVersion = ((ver >> 8) & 0xF) + "." + ((ver >> 4) & 0xF) + "." + (ver & 0xF);
|
||||||
statusMsg.setHumidity((float) (src.readUnsignedShort()/10));
|
if (verType > 0) firmwareVersion = firmwareVersion + " type:" + verType;
|
||||||
|
|
||||||
|
if(src.readableBytes()>=4) {
|
||||||
|
statusMsg.setTemperature((float) (src.readUnsignedShort() / 10));
|
||||||
|
statusMsg.setHumidity((float) (src.readUnsignedShort() / 10));
|
||||||
|
}
|
||||||
// imei
|
// imei
|
||||||
if(src.readableBytes()>=15){
|
if(src.readableBytes()>=15){
|
||||||
imei = src.readCharSequence(15, StandardCharsets.UTF_8).toString();
|
imei = src.readCharSequence(15, StandardCharsets.UTF_8).toString();
|
||||||
}
|
}
|
||||||
|
if(src.readableBytes()>=2){
|
||||||
|
firmwareVersion = firmwareVersion +
|
||||||
|
" bVer:"+src.readUnsignedByte() +
|
||||||
|
" reboot:"+src.readUnsignedByte();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -2,6 +2,8 @@ package com.imdroid.sideslope.sal;
|
|||||||
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
|
import java.time.LocalDateTime;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 基站 & 测站设备
|
* 基站 & 测站设备
|
||||||
*
|
*
|
||||||
@ -49,20 +51,32 @@ public class Device {
|
|||||||
Double longitude;
|
Double longitude;
|
||||||
Double altitude;
|
Double altitude;
|
||||||
|
|
||||||
public void updateD331Bytes(int bytes,int count){
|
LocalDateTime lastRxTime;
|
||||||
d3xxCount+=count;
|
int lastRxHead = 0;
|
||||||
d3xxbytes += bytes;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void updateD341Bytes(int bytes){
|
public void updateRx(int head, int bytes,int count){
|
||||||
d341Count++;
|
lastRxHead = head;
|
||||||
d341bytes += bytes;
|
lastRxTime = LocalDateTime.now();
|
||||||
}
|
switch (head){
|
||||||
|
case 0xd3f0:
|
||||||
public void updateD342Bytes(int bytes, int d341Num){
|
clearStat();
|
||||||
d342Count ++;
|
break;
|
||||||
d342Bytes += bytes;
|
case 0xd3f2:
|
||||||
d341In42Count += d341Num;
|
break;
|
||||||
|
case 0xd331:
|
||||||
|
d3xxCount+=count;
|
||||||
|
d3xxbytes += bytes;
|
||||||
|
break;
|
||||||
|
case 0xd341:
|
||||||
|
d341Count+=count;
|
||||||
|
d341bytes += bytes;
|
||||||
|
break;
|
||||||
|
case 0xd342:
|
||||||
|
d342Count ++;
|
||||||
|
d342Bytes += bytes;
|
||||||
|
d341In42Count += count;
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void updateSatelitesNum(int num){
|
public void updateSatelitesNum(int num){
|
||||||
@ -72,7 +86,7 @@ public class Device {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void clearStat(){
|
void clearStat(){
|
||||||
d3xxCount = 0;
|
d3xxCount = 0;
|
||||||
d3xxbytes = 0;
|
d3xxbytes = 0;
|
||||||
d341Count = 0;
|
d341Count = 0;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user