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());
|
||||
device1.updateD331Bytes(message.getLen(),message.getPacketNum());
|
||||
device1.updateRx(message.getHeader(),message.getLen(),message.getPacketNum());
|
||||
Gga gga = message.getGga();
|
||||
if(gga != null) {
|
||||
device1.updateSatelitesNum(gga.getSatellitesInUsed());
|
||||
|
||||
@ -36,7 +36,7 @@ public class D341LocationMessageExecutor implements Executor<D341LocationMessage
|
||||
Device device = deviceService.findByDeviceId(message.getId());
|
||||
if(device == null) return null;
|
||||
message.setTenantId(device.getTenantId());
|
||||
device.updateD341Bytes(message.getLen());
|
||||
device.updateRx(message.getHeader(), message.getLen(), 1);
|
||||
Gga gga = message.getGga();
|
||||
if(gga != null) {
|
||||
device.updateSatelitesNum(gga.getSatellitesInUsed());
|
||||
|
||||
@ -34,7 +34,7 @@ public class D342LocationMessageExecutor implements Executor<D342LocationMessage
|
||||
message.setTenantId(device.getTenantId());
|
||||
message.setProjectId(device.getProjectId());
|
||||
message.setFwdId(device.getFwdId());
|
||||
device.updateD342Bytes(message.getLen(),message.getMessageList().size());
|
||||
device.updateRx(message.getHeader(), message.getLen(),message.getMessageList().size());
|
||||
|
||||
ThreadManager.getFixedThreadPool().submit(() -> {
|
||||
gnssCalcService.calc(message);
|
||||
|
||||
@ -39,7 +39,7 @@ public class D3F0SelfCheckMessageExecutor implements Executor<D3F0SelfCheckMessa
|
||||
Device device = deviceService.findByDeviceId(message.getId());
|
||||
if(device == null) return null;
|
||||
message.setTenantId(device.getTenantId());
|
||||
device.clearStat();
|
||||
device.updateRx(message.getHeader(),message.getLen(),1);
|
||||
|
||||
ThreadManager.getFixedThreadPool().submit(() -> {
|
||||
GnssStatus lastGnssStatus = dataPersistService.getDeviceState(message.getId());
|
||||
|
||||
@ -47,6 +47,7 @@ public class D3F2StopIndicationMessageExecutor implements Executor<D3F2StopIndic
|
||||
String deviceId = message.getId();
|
||||
Device device = deviceService.findByDeviceId(deviceId);
|
||||
if(device == null) return null;
|
||||
device.updateRx(message.getHeader(), message.getLen(),1);
|
||||
message.setTenantId(device.getTenantId());
|
||||
GnssTrxMsg gnssTrxMsg = message.getTrxMsg();
|
||||
gnssTrxMsg.setTenantid(device.getTenantId());
|
||||
|
||||
@ -5,7 +5,6 @@ import io.netty.buffer.ByteBuf;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
import java.nio.charset.Charset;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.time.LocalTime;
|
||||
|
||||
@ -32,19 +31,31 @@ public class D3F0SelfCheckMessage extends BaseMessage {
|
||||
statusMsg.setRoll(src.readFloat());
|
||||
statusMsg.setYaw(src.readFloat());
|
||||
// skip shock
|
||||
if(src.readableBytes()>=4) {
|
||||
src.readFloat();
|
||||
statusMsg.setDtustate(src.readUnsignedByte());
|
||||
statusMsg.setRssi(src.readUnsignedByte());
|
||||
statusMsg.setVoltage(src.readUnsignedShort());
|
||||
}
|
||||
// skip version
|
||||
int ver = src.readUnsignedShort();
|
||||
firmwareVersion = ((ver>>8)&0xFF) + "." + ((ver>>4)&0xF) + "." + (ver&0xF);
|
||||
short verType = (short) ((ver >> 12) & 0xF);
|
||||
firmwareVersion = ((ver >> 8) & 0xF) + "." + ((ver >> 4) & 0xF) + "." + (ver & 0xF);
|
||||
if (verType > 0) firmwareVersion = firmwareVersion + " type:" + verType;
|
||||
|
||||
if(src.readableBytes()>=4) {
|
||||
statusMsg.setTemperature((float) (src.readUnsignedShort() / 10));
|
||||
statusMsg.setHumidity((float) (src.readUnsignedShort() / 10));
|
||||
}
|
||||
// imei
|
||||
if(src.readableBytes()>=15){
|
||||
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 java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 基站 & 测站设备
|
||||
*
|
||||
@ -49,20 +51,32 @@ public class Device {
|
||||
Double longitude;
|
||||
Double altitude;
|
||||
|
||||
public void updateD331Bytes(int bytes,int count){
|
||||
LocalDateTime lastRxTime;
|
||||
int lastRxHead = 0;
|
||||
|
||||
public void updateRx(int head, int bytes,int count){
|
||||
lastRxHead = head;
|
||||
lastRxTime = LocalDateTime.now();
|
||||
switch (head){
|
||||
case 0xd3f0:
|
||||
clearStat();
|
||||
break;
|
||||
case 0xd3f2:
|
||||
break;
|
||||
case 0xd331:
|
||||
d3xxCount+=count;
|
||||
d3xxbytes += bytes;
|
||||
}
|
||||
|
||||
public void updateD341Bytes(int bytes){
|
||||
d341Count++;
|
||||
break;
|
||||
case 0xd341:
|
||||
d341Count+=count;
|
||||
d341bytes += bytes;
|
||||
}
|
||||
|
||||
public void updateD342Bytes(int bytes, int d341Num){
|
||||
break;
|
||||
case 0xd342:
|
||||
d342Count ++;
|
||||
d342Bytes += bytes;
|
||||
d341In42Count += d341Num;
|
||||
d341In42Count += count;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
public void updateSatelitesNum(int num){
|
||||
@ -72,7 +86,7 @@ public class Device {
|
||||
}
|
||||
}
|
||||
|
||||
public void clearStat(){
|
||||
void clearStat(){
|
||||
d3xxCount = 0;
|
||||
d3xxbytes = 0;
|
||||
d341Count = 0;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user