From b39bd80a7fd5b88dd1d0e8b6540cae9c035a6b73 Mon Sep 17 00:00:00 2001
From: 826220679@qq.com <826220679@qq.com>
Date: 星期六, 22 七月 2023 21:37:16 +0800
Subject: [PATCH] 优化
---
src/baowen/Dell_AACC.java | 30 ++++++++-------
src/frame/Index1.java | 40 +++++++++++++++++++
src/baowen/Udp_Receive.java | 38 +++++++++++--------
3 files changed, 77 insertions(+), 31 deletions(-)
diff --git a/src/baowen/Dell_AACC.java b/src/baowen/Dell_AACC.java
index de59d11..5d34260 100644
--- a/src/baowen/Dell_AACC.java
+++ b/src/baowen/Dell_AACC.java
@@ -56,18 +56,18 @@
private static String hexStr = "0123456789ABCDEF";
public static void dell_AACC(String message,String ip,int port) {
- if(message.startsWith("AACC")) {
- String[] gnggns=message.split("AACC");
- int size=gnggns.length;
- if(size>2) {
- for(int i=0;i<size;i++) {
- if(gnggns[i].length()>5) {
- jiexi_AACC("AACC"+gnggns[i],ip,port);
- }
+ String[] gnggns=message.split("AACC");
+ int size=gnggns.length;
+ if(size>2) {
+ for(int i=0;i<size;i++) {
+ if(gnggns[i].length()>80) {
+ jiexi_AACC("AACC"+gnggns[i],ip,port);
}
- }else {
- jiexi_AACC(message,ip,port);
}
+ }else {
+ if(message.length()>80 && size==2) {
+ jiexi_AACC("AACC"+gnggns[1],ip,port);
+ }
}
}
@@ -82,7 +82,8 @@
String yaw0=hex[79]+hex[78]+hex[77]+hex[76];
String stat0=hex[153]+hex[152];
String age0=hex[157]+hex[156]+hex[155]+hex[154];
- String ns0=hex[161]+hex[160];
+ String ns0=hex[159]+hex[158];
+// String ns20=hex[161]+hex[160];
lenth=decodeHEX(lenth0);
lat=doubelttohex(lat0);
lon=doubelttohex(lon0);
@@ -99,15 +100,16 @@
if(Index1.getXieyi_type().equals("2")) {
mess="经度:"+lat+",纬度:"+lon+",高程:"+alt+",俯仰角:"+pitch
+",横滚角:"+roll+",航向角:"+yaw+",状态:"+stats+",差分龄期:"+age+",卫星颗数:"+ns;
- }else if(Index1.getXieyi_type().equals("1")) {
- mess=infom;
+ Index1.ara_show(mess);
}else if(Index1.getXieyi_type().equals("3")) {
mess="经度:"+lat0+",纬度:"+lon0+",高程:"+alt0+",俯仰角:"+pitch0
+",横滚角:"+roll0+",航向角:"+yaw0+",状态:"+stat0+",差分龄期:"+age0+",卫星颗数:"+ns0;
+ Index1.ara_show(mess);
}else if(Index1.getXieyi_type().equals("5")) {
mess="$GNGGAD,"+lat+","+lon;
+ Index1.ara_show_no_time(mess);
}
- Index1.ara_show(mess);
+
}
}
diff --git a/src/baowen/Udp_Receive.java b/src/baowen/Udp_Receive.java
index 193fbbe..2f684cd 100644
--- a/src/baowen/Udp_Receive.java
+++ b/src/baowen/Udp_Receive.java
@@ -59,27 +59,33 @@
byt=subBytes(packet.getData(),0, lenth);
//获取发送端的IP地址对象
String ip=packet.getAddress().getHostAddress();
- int port=packet.getPort();
- String datas=Tools.Bytes2HexString(byt);
- String upinfo=datas.toUpperCase();
- if(Index1.isShoware() && Index1.getTagid().equals("HEX")) {
- Index1.ara_show(upinfo);
- }
+ int port=packet.getPort();
i=i+1;
Index1.getUdpnum().setText(i+"条");
if(i==100000) {
i=0;
+ }
+
+ if(Index1.getInput_data_type()==2) {
+ String message=new String(packet.getData(), 0, lenth);
+ message=message.replaceAll(" ", "");
+ message=message.replaceAll("\r\n", "");
+ String infor2=message.toUpperCase();
+ Dell_AACC.dell_AACC(infor2, ip, port);
+ Dell_baotou.dell_baotou_start(infor2,ip,port);
+ if(Index1.isShoware() && Index1.getXieyi_type().equals("1")) {
+ Index1.ara_show_no_time(infor2);
+ }
+ }else {
+ String datas=Tools.Bytes2HexString(byt);
+ String upinfo=datas.toUpperCase();
+ Dell_55AA02.dell_55aa02_start(upinfo, ip, port);
+ Dell_AACC.dell_AACC(upinfo, ip, port);
+ if(Index1.isShoware() && Index1.getXieyi_type().equals("1")) {
+ Index1.ara_show_no_time(upinfo);
+ }
}
- String message=new String(packet.getData(), 0, lenth);
- message=message.replaceAll(" ", "");
- message=message.replaceAll("\r\n", "");
- String infor2=message.toUpperCase();
- Dell_baotou.dell_baotou_start(infor2,ip,port);
- Dell_55AA02.dell_55aa02_start(upinfo, ip, port);
- Dell_AACC.dell_AACC(upinfo, ip, port);
- if(Index1.isShoware() && Index1.getTagid().equals("ASCLL")) {
- Index1.ara_show(infor2);
- }
+
byt=null;
} catch (Exception e) {
e.printStackTrace(); // 输出异常信息
diff --git a/src/frame/Index1.java b/src/frame/Index1.java
index 6b2112c..8c4cac0 100644
--- a/src/frame/Index1.java
+++ b/src/frame/Index1.java
@@ -73,6 +73,7 @@
JButtonModel2 jbt_chushi_enhd=null;//初始化偏移量初始值
JButtonModel2 jbt_send=null;//发送设置基准站左边
JButtonModel2 jbt_getbase_jwd=null;//获取基准值经纬度
+ JButtonModel2 jbt_datatype=null;//获取基准值经纬度
JTextField searchFileld=null;//搜索文本框
JTextField send_Fileld=null;//搜索文本框
JlableModel jl_UDP=new JlableModel("UDP监听端口:"+Dell_system.getPort());
@@ -85,6 +86,7 @@
static String tagid="0";
JComboBox<String> box=null;
static String xieyi_type="2";//协议类型选择
+ static int input_data_type=1;
public Index1() {//构造方法
Toolkit toolkit = getToolkit();// 获得窗体工具包
@@ -94,7 +96,7 @@
int w=(int) (screenSize.width* 0.15);
int h=(int) (screenSize.height * 0.15);
this.setBounds(w,h, width, height);//设置窗体尺寸
- this.setTitle("离线记录软件V1.01");
+ this.setTitle("离线记录软件V1.02");
Container rq=getContentPane();//获取容器
rq.setLayout(new BorderLayout());
rq.setBackground(Color.white);
@@ -129,6 +131,7 @@
mb.add(getUdpnum());
mb.add(getBut_shuaxin1());
mb.add(getBox());
+ mb.add(getJbt_datatype());
jl_UDP.setBounds(x+3, y,140,30);
//jl_tcp.setBounds(x+140, y,120,30);
//getTcpnum().setBounds(x+140+120+10, y,100,30);
@@ -157,6 +160,7 @@
getBut_start().setBounds(x, y2+h1+20,100,40);
getBut_clear().setBounds(x+120, y2+h1+20,100,40);
getBox().setBounds(x+240, y2+h1+20,120,40);
+ getJbt_datatype().setBounds(x+380, y2+h1+20,120,40);
@@ -369,6 +373,11 @@
are.append(GetNowTime.sss()+","+message+"\n");
are.setCaretPosition(are.getText().length());
}
+
+ public static void ara_show_no_time(String message) {
+ are.append(message+"\n");
+ are.setCaretPosition(are.getText().length());
+ }
public JButtonModel getBut_start() {
if(but_start==null) {
@@ -571,6 +580,35 @@
return xieyi_type;
}
+ public JButtonModel2 getJbt_datatype() {
+ if(jbt_datatype==null) {
+ jbt_datatype=new JButtonModel2("HEX输入");
+ jbt_datatype.addActionListener(new ActionListener() {
+ public void actionPerformed(ActionEvent e) {
+ if(input_data_type==2) {
+ jbt_datatype.setText("HEX输入");
+ input_data_type=1;
+ }else {
+ jbt_datatype.setText("ASCLL输入");
+ input_data_type=2;
+ }
+
+ }
+ });
+ }
+ return jbt_datatype;
+ }
+
+
+
+ public static int getInput_data_type() {
+ return input_data_type;
+ }
+
+ public static void setInput_data_type(int input_data_type) {
+ Index1.input_data_type = input_data_type;
+ }
+
}
--
Gitblit v1.9.3