package com.dev.nrf_lora_tester;
|
|
import java.awt.BorderLayout;
|
import java.awt.Color;
|
import java.awt.Font;
|
import java.awt.GridLayout;
|
import java.awt.datatransfer.Clipboard;
|
import java.awt.datatransfer.StringSelection;
|
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionListener;
|
import java.awt.event.MouseAdapter;
|
import java.awt.event.MouseEvent;
|
import java.util.Vector;
|
|
import javax.swing.ImageIcon;
|
import javax.swing.JButton;
|
import javax.swing.JMenuItem;
|
import javax.swing.JOptionPane;
|
import javax.swing.JPanel;
|
import javax.swing.JPopupMenu;
|
import javax.swing.JScrollPane;
|
import javax.swing.JTabbedPane;
|
import javax.swing.JTable;
|
import javax.swing.JTextField;
|
import javax.swing.UIManager;
|
import javax.swing.border.TitledBorder;
|
import javax.swing.table.DefaultTableModel;
|
|
import main.page_debug_inf;
|
|
import org.apache.logging.log4j.Logger;
|
|
import sp_comm.CommSerialPort;
|
|
import com.Com;
|
|
import javax.swing.ScrollPaneConstants;
|
|
import java.awt.FlowLayout;
|
|
import javax.swing.event.ChangeListener;
|
import javax.swing.event.ChangeEvent;
|
import javax.swing.BoxLayout;
|
import javax.swing.JCheckBox;
|
|
public class loratester_page_base extends JPanel {
|
public SPCommLora Comm_LoraTester;
|
private Logger m_log = null;
|
private JTable table_zdhj_data;
|
private Vector<String> columnVector;
|
private Vector<Vector<String>> dataRow;
|
/**
|
*
|
*/
|
private static final long serialVersionUID = 1L;
|
private JTabbedPane tabbedPane;
|
private JTextField tf_dev_addr;
|
private JTextField tf_dev_commtime;
|
private JTextField tf_dev_count;
|
private JTextField tf_dev_rfch;
|
|
private page_debug_inf panel_debug;
|
private JTextField tf_set_modid;
|
private JTextField tf_set_modch;
|
private JTextField tf_mod_vol1;
|
private JTextField tf_mod_vol2;
|
private JTextField tf_mod_vol3;
|
private JTextField tf_mod_vol4;
|
private JTextField tf_testmod_slope;
|
private JTextField tf_calmod_offset;
|
private JButton btn_cal_slope;
|
private JButton btn_cal_offset;
|
private JButton btn_set_modch;
|
private JButton btn_set_modid;
|
private JButton btn_caloffset_reset;
|
private JButton btn_calslope_reset;
|
private JPanel panel;
|
private JButton btnNewButton_1;
|
private JButton btnNewButton_2;
|
private JPanel panel_6;
|
private JCheckBox ckb_auto_resetnum;
|
private JButton btn_reset_modulenum;
|
private JPanel panel_11;
|
private JTextField tf_dev_ver;
|
|
private multy_setnum_page m_multy_setnum_page;
|
|
/**
|
* Create the panel.
|
*/
|
public loratester_page_base(Logger log) {
|
m_log = log;
|
setLayout(new BorderLayout(0, 0));
|
|
JPanel panel_57 = new JPanel();
|
add(panel_57, BorderLayout.NORTH);
|
panel_57.setLayout(new BorderLayout(0, 0));
|
|
JPanel panel_38 = new JPanel();
|
panel_57.add(panel_38, BorderLayout.NORTH);
|
panel_38.setLayout(new FlowLayout(FlowLayout.CENTER, 5, 5));
|
|
btn_reset_modulenum = new JButton("\u590D\u539F\u7F16\u53F7\u548C\u9891\u6BB5");
|
btn_reset_modulenum.setIcon(new ImageIcon(loratester_page_base.class.getResource("/png_32x32/Button White Load.png")));
|
btn_reset_modulenum.addActionListener(new ActionListener() {
|
public void actionPerformed(ActionEvent e) {
|
tf_dev_addr.setText("0");
|
tf_dev_rfch.setText("1");
|
tf_dev_count.setText("1");
|
|
if(null == Comm_LoraTester) {
|
return;
|
}
|
Comm_LoraTester.setModule_Addr_Count(Integer.parseInt(tf_dev_addr.getText()),
|
Integer.parseInt(tf_dev_rfch.getText()),
|
Integer.parseInt(tf_dev_count.getText()));
|
}
|
});
|
panel_38.add(btn_reset_modulenum);
|
|
ckb_auto_resetnum = new JCheckBox("\u81EA\u52A8\u590D\u4F4D");
|
panel_38.add(ckb_auto_resetnum);
|
|
JPanel panel_47 = new JPanel();
|
panel_47.setBorder(new TitledBorder(UIManager.getBorder("TitledBorder.border"), "\u6A21\u5757\u8D77\u59CB\u7F16\u53F7(0-79)", TitledBorder.LEADING, TitledBorder.TOP, null, new Color(0, 0, 0)));
|
panel_38.add(panel_47);
|
panel_47.setLayout(new GridLayout(0, 1, 8, 0));
|
|
tf_dev_addr = new JTextField();
|
Com.setTFDocLimit(tf_dev_addr, 3, "0123456789");
|
tf_dev_addr.setText("0");
|
tf_dev_addr.setFont(new Font("ËÎÌå", Font.PLAIN, 24));
|
panel_47.add(tf_dev_addr);
|
tf_dev_addr.setColumns(10);
|
|
JPanel panel_41 = new JPanel();
|
panel_41.setBorder(new TitledBorder(UIManager.getBorder("TitledBorder.border"), "\u65E0\u7EBF\u9891\u6BB5(1-16)", TitledBorder.LEADING, TitledBorder.TOP, null, new Color(0, 0, 0)));
|
panel_38.add(panel_41);
|
panel_41.setLayout(new GridLayout(0, 1, 8, 0));
|
|
tf_dev_rfch = new JTextField();
|
Com.setTFDocLimit(tf_dev_rfch, 3, "0123456789");
|
tf_dev_rfch.setText("1");
|
tf_dev_rfch.setFont(new Font("ËÎÌå", Font.PLAIN, 24));
|
panel_41.add(tf_dev_rfch);
|
tf_dev_rfch.setColumns(10);
|
|
JPanel panel_46 = new JPanel();
|
panel_38.add(panel_46);
|
panel_46.setBorder(new TitledBorder(UIManager.getBorder("TitledBorder.border"), "\u6A21\u5757\u6570\u91CF(1-80)", TitledBorder.LEADING, TitledBorder.TOP, null, new Color(0, 0, 0)));
|
panel_46.setLayout(new BorderLayout(0, 0));
|
|
tf_dev_count = new JTextField();
|
Com.setTFDocLimit(tf_dev_count, 3, "0123456789");
|
tf_dev_count.setText("1");
|
tf_dev_count.setFont(new Font("ËÎÌå", Font.PLAIN, 24));
|
panel_46.add(tf_dev_count);
|
tf_dev_count.setColumns(10);
|
|
JPanel panel_56 = new JPanel();
|
panel_56.setBorder(new TitledBorder(UIManager.getBorder("TitledBorder.border"), "\u901A\u4FE1\u95F4\u9694\u65F6\u95F4(ms)", TitledBorder.LEADING, TitledBorder.TOP, null, new Color(0, 0, 0)));
|
panel_38.add(panel_56);
|
panel_56.setLayout(new BorderLayout(0, 0));
|
|
tf_dev_commtime = new JTextField();
|
Com.setTFDocLimit(tf_dev_commtime, 4, "0123456789");
|
tf_dev_commtime.setText("500");
|
tf_dev_commtime.setFont(new Font("ËÎÌå", Font.PLAIN, 24));
|
panel_56.add(tf_dev_commtime);
|
tf_dev_commtime.setColumns(10);
|
|
tabbedPane = new JTabbedPane(JTabbedPane.RIGHT);
|
tabbedPane.setFont(new Font("ËÎÌå", Font.PLAIN, 20));
|
tabbedPane.addChangeListener(new ChangeListener() {
|
public void stateChanged(ChangeEvent arg0) {
|
if(null == Comm_LoraTester) {
|
return;
|
}
|
/*
|
String str_addr = tf_dev_addr.getText().trim();
|
if(str_addr.length() < 1) {
|
tf_dev_addr.setText("0");
|
}
|
|
String str_rfch = tf_dev_rfch.getText().trim();
|
if(str_rfch.length() < 1) {
|
tf_dev_rfch.setText("1");
|
}
|
|
if(0 == tabbedPane.getSelectedIndex()) {
|
String str_cnt = tf_dev_count.getText().trim();
|
if(str_cnt.length() < 1) {
|
tf_dev_count.setText("1");
|
}
|
} else if(1 == tabbedPane.getSelectedIndex()) {
|
tf_dev_count.setText(String.valueOf(1));
|
}
|
Comm_LoraTester.setModule_Addr_Count(Integer.parseInt(tf_dev_addr.getText()),
|
Integer.parseInt(tf_dev_rfch.getText()),
|
Integer.parseInt(tf_dev_count.getText()));
|
*/
|
}
|
});
|
add(tabbedPane, BorderLayout.CENTER);
|
|
JPanel panel_base = new JPanel();
|
panel_base.setLayout(new BorderLayout(0, 0));
|
tabbedPane.addTab("»ù´¡²âÊÔ", null, panel_base, null);
|
tabbedPane.setIconAt(0, new ImageIcon(loratester_page_base.class.getResource("/png_16x16/application_home.png")));
|
JPanel panel_44 = new JPanel();
|
panel_base.add(panel_44, BorderLayout.CENTER);
|
panel_44.setLayout(new BorderLayout(0, 0));
|
|
JScrollPane scrollPane_2 = new JScrollPane();
|
scrollPane_2.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
|
panel_44.add(scrollPane_2);
|
|
table_zdhj_data = new JTable();
|
columnVector = new Vector<String>();
|
columnVector.add("Ä£¿é±àºÅ");
|
columnVector.add("µçѹ1(V)");
|
columnVector.add("µçѹ2(V)");
|
columnVector.add("µçѹ3(V)");
|
columnVector.add("µçѹ4(V)");
|
columnVector.add("·¢ËͼÆÊý");
|
columnVector.add("½ÓÊÕ¼ÆÊý");
|
columnVector.add("¶ª°üÂÊ");
|
|
dataRow = new Vector<Vector<String>>();
|
table_zdhj_data.setModel(new DefaultTableModel(dataRow, columnVector));
|
MouseAdapter m_a = new MouseAdapter() {
|
public void mouseReleased(MouseEvent e) {
|
if(e.getSource() != table_zdhj_data) {
|
return;
|
}
|
/*
|
int selectColumn = m_JTable.columnAtPoint(e.getPoint());
|
int selectRow = m_JTable.rowAtPoint(e.getPoint());
|
if (selectColumn == mCheckBoxColnumIndex) {
|
boolean value = (boolean) m_JTable.getValueAt(selectRow, selectColumn);
|
m_UI_Monit.m_MonLineChart.getSeries(selectRow+1).setVisible(!value);
|
}
|
*/
|
}
|
public void mousePressed(MouseEvent evt) {
|
if (evt.getButton() == MouseEvent.BUTTON3) {
|
JPopupMenu popupMenu = new JPopupMenu();
|
JMenuItem tableItem_export_data = null;
|
|
tableItem_export_data = new JMenuItem("¸´ÖƵ½¼ôÌù°å");
|
tableItem_export_data.addActionListener(new ActionListener(){
|
@Override
|
public void actionPerformed(ActionEvent arg0) {
|
Clipboard clipboard = getToolkit().getSystemClipboard();
|
String temp = "";
|
for(int c=0; c<columnVector.size(); c++)
|
{
|
temp += columnVector.get(c) + "\t";
|
}
|
temp += "\n";
|
for(int r=0; r<dataRow.size(); r++)
|
{
|
for(int c=0; c<columnVector.size(); c++)
|
{
|
temp += dataRow.get(r).get(c) + "\t";
|
}
|
temp += "\n";
|
}
|
StringSelection text = new StringSelection(temp);
|
clipboard.setContents(text, null);
|
}
|
});
|
popupMenu.add(tableItem_export_data);
|
popupMenu.show(evt.getComponent(), evt.getX(), evt.getY());
|
}
|
}
|
};
|
table_zdhj_data.addMouseListener(m_a);
|
scrollPane_2.setViewportView(table_zdhj_data);
|
|
JPanel panel_set = new JPanel();
|
tabbedPane.addTab("Ä£¿éÉèÖÃ", null, panel_set, null);
|
tabbedPane.setIconAt(1, new ImageIcon(loratester_page_base.class.getResource("/png_16x16/shape_handles.png")));
|
panel_set.setLayout(new BorderLayout(0, 0));
|
|
JPanel panel_7 = new JPanel();
|
panel_set.add(panel_7, BorderLayout.NORTH);
|
panel_7.setLayout(new GridLayout(0, 1, 0, 0));
|
|
JPanel panel_2 = new JPanel();
|
panel_7.add(panel_2);
|
panel_2.setBorder(new TitledBorder(UIManager.getBorder("TitledBorder.border"), "\u6570\u636E", TitledBorder.LEADING, TitledBorder.TOP, null, new Color(0, 0, 0)));
|
panel_2.setLayout(new FlowLayout(FlowLayout.LEFT, 5, 5));
|
|
JPanel panel_10 = new JPanel();
|
panel_10.setBorder(new TitledBorder(UIManager.getBorder("TitledBorder.border"), "\u5B9E\u6D4B\u7535\u538B(V) (#1 #2 #3 #4)", TitledBorder.LEADING, TitledBorder.TOP, null, new Color(0, 0, 0)));
|
panel_2.add(panel_10);
|
|
tf_mod_vol1 = new JTextField();
|
tf_mod_vol1.setFont(new Font("ËÎÌå", Font.PLAIN, 24));
|
panel_10.add(tf_mod_vol1);
|
tf_mod_vol1.setColumns(8);
|
|
tf_mod_vol2 = new JTextField();
|
tf_mod_vol2.setFont(new Font("ËÎÌå", Font.PLAIN, 24));
|
panel_10.add(tf_mod_vol2);
|
tf_mod_vol2.setColumns(8);
|
|
tf_mod_vol3 = new JTextField();
|
tf_mod_vol3.setFont(new Font("ËÎÌå", Font.PLAIN, 24));
|
panel_10.add(tf_mod_vol3);
|
tf_mod_vol3.setColumns(8);
|
|
tf_mod_vol4 = new JTextField();
|
tf_mod_vol4.setFont(new Font("ËÎÌå", Font.PLAIN, 24));
|
panel_10.add(tf_mod_vol4);
|
tf_mod_vol4.setColumns(8);
|
|
panel_11 = new JPanel();
|
panel_11.setBorder(new TitledBorder(UIManager.getBorder("TitledBorder.border"), "\u6A21\u5757\u7248\u672C\u53F7", TitledBorder.LEADING, TitledBorder.TOP, null, new Color(0, 0, 0)));
|
panel_2.add(panel_11);
|
|
tf_dev_ver = new JTextField();
|
tf_dev_ver.setFont(new Font("ËÎÌå", Font.PLAIN, 24));
|
panel_11.add(tf_dev_ver);
|
tf_dev_ver.setColumns(12);
|
|
JPanel panel_4 = new JPanel();
|
panel_7.add(panel_4);
|
panel_4.setBorder(new TitledBorder(UIManager.getBorder("TitledBorder.border"), "\u6821\u51C6", TitledBorder.LEADING, TitledBorder.TOP, null, new Color(0, 0, 0)));
|
panel_4.setLayout(new FlowLayout(FlowLayout.LEFT, 5, 5));
|
|
JPanel panel_5 = new JPanel();
|
panel_5.setBorder(new TitledBorder(UIManager.getBorder("TitledBorder.border"), "\u57FA\u51C6\u504F\u79FB\u7535\u538B(0.12-0.15V)", TitledBorder.LEADING, TitledBorder.TOP, null, new Color(0, 0, 0)));
|
panel_4.add(panel_5);
|
panel_5.setLayout(new GridLayout(0, 3, 0, 0));
|
|
tf_calmod_offset = new JTextField();
|
tf_calmod_offset.setFont(new Font("ËÎÌå", Font.PLAIN, 24));
|
Com.setTFDocLimit(tf_calmod_offset, 6, ".0123456789");
|
panel_5.add(tf_calmod_offset);
|
tf_calmod_offset.setColumns(8);
|
|
btn_cal_offset = new JButton("\u6821\u51C6\u504F\u79FB");
|
btn_cal_offset.addActionListener(new ActionListener() {
|
public void actionPerformed(ActionEvent arg0) {
|
if(null == Comm_LoraTester) {
|
return;
|
}
|
String str = tf_calmod_offset.getText().trim();
|
if(str.length() < 1) {
|
JOptionPane.showMessageDialog(null, "ÇëÊäÈë»ù×¼Æ«ÒÆµçѹ.");
|
return;
|
}
|
double data = Double.parseDouble(str);
|
double vol_src = Double.parseDouble(tf_mod_vol1.getText());
|
if(vol_src > data) {
|
data = vol_src-data;
|
} else {
|
data = 0;
|
}
|
Comm_LoraTester.setCommCmd(SPCommLora.CMD_Cal_VolOffset, (short) (data*1000));
|
}
|
});
|
panel_5.add(btn_cal_offset);
|
|
btn_caloffset_reset = new JButton("\u590D\u4F4D");
|
btn_caloffset_reset.addActionListener(new ActionListener() {
|
public void actionPerformed(ActionEvent arg0) {
|
if(null == Comm_LoraTester) {
|
return;
|
}
|
|
Comm_LoraTester.setCommCmd(SPCommLora.CMD_Cal_VolOffset, (short) 0);
|
}
|
});
|
panel_5.add(btn_caloffset_reset);
|
|
JPanel panel_3 = new JPanel();
|
panel_4.add(panel_3);
|
panel_3.setBorder(new TitledBorder(UIManager.getBorder("TitledBorder.border"), "\u57FA\u51C6\u659C\u7387\u7535\u538B(15.0-16.0V)", TitledBorder.LEADING, TitledBorder.TOP, null, new Color(0, 0, 0)));
|
panel_3.setLayout(new GridLayout(0, 3, 0, 0));
|
|
tf_testmod_slope = new JTextField();
|
tf_testmod_slope.setFont(new Font("ËÎÌå", Font.PLAIN, 24));
|
Com.setTFDocLimit(tf_testmod_slope, 7, ".0123456789");
|
panel_3.add(tf_testmod_slope);
|
tf_testmod_slope.setColumns(8);
|
|
btn_cal_slope = new JButton("\u6821\u51C6\u659C\u7387");
|
btn_cal_slope.addActionListener(new ActionListener() {
|
public void actionPerformed(ActionEvent e) {
|
if(null == Comm_LoraTester) {
|
return;
|
}
|
String str = tf_testmod_slope.getText().trim();
|
if(str.length() < 1) {
|
JOptionPane.showMessageDialog(null, "ÇëÊäÈë»ù׼бÂʵçѹ.");
|
return;
|
}
|
double data = Double.parseDouble(str);
|
double vol_src = Double.parseDouble(tf_mod_vol1.getText());
|
if(vol_src < 1.0) {
|
JOptionPane.showMessageDialog(null, "ʵ²âµçѹ̫С.");
|
return;
|
}
|
data = data/vol_src;
|
Comm_LoraTester.setCommCmd(SPCommLora.CMD_Cal_VolSlope, (short) (data*10000));
|
}
|
});
|
panel_3.add(btn_cal_slope);
|
|
btn_calslope_reset = new JButton("\u590D\u4F4D");
|
btn_calslope_reset.addActionListener(new ActionListener() {
|
public void actionPerformed(ActionEvent e) {
|
if(null == Comm_LoraTester) {
|
return;
|
}
|
|
Comm_LoraTester.setCommCmd(SPCommLora.CMD_Cal_VolSlope, (short) 10000);
|
}
|
});
|
panel_3.add(btn_calslope_reset);
|
|
JPanel panel_1 = new JPanel();
|
panel_7.add(panel_1);
|
FlowLayout flowLayout_1 = (FlowLayout) panel_1.getLayout();
|
flowLayout_1.setAlignment(FlowLayout.LEFT);
|
panel_1.setBorder(new TitledBorder(UIManager.getBorder("TitledBorder.border"), "\u8BBE\u7F6E", TitledBorder.LEADING, TitledBorder.TOP, null, new Color(0, 0, 0)));
|
|
JPanel panel_9 = new JPanel();
|
panel_9.setBorder(new TitledBorder(UIManager.getBorder("TitledBorder.border"), "\u7F16\u53F7\u8BBE\u7F6E(0-99)", TitledBorder.LEADING, TitledBorder.TOP, null, new Color(0, 0, 0)));
|
panel_1.add(panel_9);
|
panel_9.setLayout(new BoxLayout(panel_9, BoxLayout.X_AXIS));
|
|
panel = new JPanel();
|
panel_9.add(panel);
|
panel.setLayout(new GridLayout(0, 1, 0, 0));
|
|
btnNewButton_1 = new JButton("+");
|
btnNewButton_1.addActionListener(new ActionListener() {
|
public void actionPerformed(ActionEvent arg0) {
|
int num = 0;
|
String str = tf_set_modid.getText().trim();
|
if(str.length() > 0) {
|
num = Integer.parseInt(str) + 1;
|
if(num > 99) {
|
num = 99;
|
}
|
}
|
tf_set_modid.setText(String.valueOf(num));
|
}
|
});
|
panel.add(btnNewButton_1);
|
|
btnNewButton_2 = new JButton("-");
|
btnNewButton_2.addActionListener(new ActionListener() {
|
public void actionPerformed(ActionEvent e) {
|
int num = 0;
|
String str = tf_set_modid.getText().trim();
|
if(str.length() > 0) {
|
num = Integer.parseInt(str);
|
if(num > 0) {
|
num -= 1;
|
} else {
|
num = 0;
|
}
|
}
|
tf_set_modid.setText(String.valueOf(num));
|
}
|
});
|
panel.add(btnNewButton_2);
|
|
tf_set_modid = new JTextField();
|
tf_set_modid.setFont(new Font("ËÎÌå", Font.PLAIN, 24));
|
Com.setTFDocLimit(tf_set_modid, 2, "0123456789");
|
tf_set_modid.setText("1");
|
panel_9.add(tf_set_modid);
|
tf_set_modid.setColumns(10);
|
|
panel_6 = new JPanel();
|
panel_9.add(panel_6);
|
panel_6.setLayout(new BorderLayout(0, 0));
|
|
btn_set_modid = new JButton("\u8BBE\u7F6E\u7F16\u53F7");
|
panel_6.add(btn_set_modid);
|
btn_set_modid.addActionListener(new ActionListener() {
|
public void actionPerformed(ActionEvent e) {
|
if(null == Comm_LoraTester) {
|
return;
|
}
|
String str = tf_set_modid.getText().trim();
|
if(str.length() < 1) {
|
JOptionPane.showMessageDialog(null, "Êý¾Ý¸ñʽ´íÎó.");
|
return;
|
}
|
short data = (short) Integer.parseInt(str);
|
Comm_LoraTester.setCommCmd(SPCommLora.CMD_Set_ID, data);
|
try {
|
Thread.sleep(1200);
|
} catch (InterruptedException e1) {
|
// TODO Auto-generated catch block
|
e1.printStackTrace();
|
}
|
tf_dev_addr.setText(str);
|
Comm_LoraTester.setModule_Addr_Count(Integer.parseInt(tf_dev_addr.getText()),
|
Integer.parseInt(tf_dev_rfch.getText()), 1);
|
Comm_LoraTester.setCommErrCnt(0);
|
/*
|
int addr_new = Integer.parseInt(tf_set_modid.getText());
|
addr_new += 1;
|
if(addr_new > 99) {
|
addr_new = 99;
|
}
|
tf_set_modid.setText(String.valueOf(addr_new));
|
*/
|
}
|
});
|
|
JPanel panel_8 = new JPanel();
|
panel_8.setBorder(new TitledBorder(UIManager.getBorder("TitledBorder.border"), "\u9891\u6BB5\u8BBE\u7F6E(1-16)", TitledBorder.LEADING, TitledBorder.TOP, null, new Color(0, 0, 0)));
|
panel_1.add(panel_8);
|
panel_8.setLayout(new GridLayout(0, 3, 0, 0));
|
|
tf_set_modch = new JTextField();
|
tf_set_modch.setFont(new Font("ËÎÌå", Font.PLAIN, 24));
|
Com.setTFDocLimit(tf_set_modch, 3, "0123456789");
|
tf_set_modch.setText("2");
|
panel_8.add(tf_set_modch);
|
tf_set_modch.setColumns(10);
|
|
btn_set_modch = new JButton("\u8BBE\u7F6E\u9891\u6BB5");
|
btn_set_modch.addActionListener(new ActionListener() {
|
public void actionPerformed(ActionEvent arg0) {
|
if(null == Comm_LoraTester) {
|
return;
|
}
|
String str = tf_set_modch.getText().trim();
|
if(str.length() < 1) {
|
JOptionPane.showMessageDialog(null, "Êý¾Ý¸ñʽ´íÎó.");
|
return;
|
}
|
short data = (short) Integer.parseInt(str);
|
if((data < 1) || (data > 16)) {
|
JOptionPane.showMessageDialog(null, "Ƶ¶Î·¶Î§Îª1-16");
|
return;
|
}
|
Comm_LoraTester.setCommCmd(SPCommLora.CMD_Set_RFCH, (short) (data-1));
|
try {
|
Thread.sleep(1200);
|
} catch (InterruptedException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
}
|
tf_dev_rfch.setText(str);
|
Comm_LoraTester.setModule_Addr_Count(Integer.parseInt(tf_dev_addr.getText()),
|
Integer.parseInt(tf_dev_rfch.getText()), 1);
|
Comm_LoraTester.setCommErrCnt(0);
|
}
|
});
|
panel_8.add(btn_set_modch);
|
|
m_multy_setnum_page = new multy_setnum_page();
|
tabbedPane.addTab("ÅúÁ¿±àºÅ", null, m_multy_setnum_page, null);
|
tabbedPane.setIconAt(2, new ImageIcon(loratester_page_base.class.getResource("/png_16x16/application_edit.png")));
|
|
panel_debug = new page_debug_inf();
|
tabbedPane.addTab("µ÷ÊÔÐÅÏ¢", null, panel_debug, null);
|
tabbedPane.setIconAt(3, new ImageIcon(loratester_page_base.class.getResource("/png_16x16/projection_screen_present.png")));
|
|
tabbedPane.setSelectedIndex(1);
|
|
setButttonState(false);
|
}
|
|
public boolean openCommPort(int comm_type, String spname_or_ipaddr, int bitrate_or_ipport, Logger log) {
|
boolean res = false;
|
if(tf_dev_addr.getText().trim().length() < 1) {
|
tf_dev_addr.setText("1");
|
}
|
if(tf_dev_rfch.getText().trim().length() < 1) {
|
tf_dev_rfch.setText("1");
|
}
|
if(tf_dev_count.getText().trim().length() < 1) {
|
tf_dev_count.setText("1");
|
}
|
if(tf_dev_commtime.getText().trim().length() < 1) {
|
tf_dev_commtime.setText("500");
|
}
|
int dev_cnt = Integer.parseInt(tf_dev_count.getText());
|
int dev_addr = Integer.parseInt(tf_dev_addr.getText());
|
int rf_ch = Integer.parseInt(tf_dev_rfch.getText());
|
int comm_time = Integer.parseInt(tf_dev_commtime.getText());
|
Comm_LoraTester = new SPCommLora(dev_addr, dev_cnt, rf_ch, comm_time,
|
bitrate_or_ipport, CommSerialPort.mutycomm_Type_Samd09, panel_debug, log);
|
if(true == Comm_LoraTester.OpenCommPort(comm_type, spname_or_ipaddr, bitrate_or_ipport)) {
|
Thread spcommThread = new Thread(Comm_LoraTester);
|
spcommThread.start();
|
|
m_multy_setnum_page.setLoraComm(Comm_LoraTester);
|
|
setButttonState(true);
|
|
res = true;
|
}
|
|
return res;
|
}
|
|
public void closeCommPort() {
|
if(null != Comm_LoraTester) {
|
Comm_LoraTester.exitCommPortThread();
|
Comm_LoraTester = null;
|
|
setButttonState(false);
|
}
|
}
|
|
public void setComm_LoraTester(SPCommLora spc) {
|
Comm_LoraTester = spc;
|
}
|
|
public void setButttonState(boolean state) {
|
tf_dev_addr.setEditable(!state);
|
tf_dev_rfch.setEditable(!state);
|
tf_dev_count.setEditable(!state);
|
tf_dev_commtime.setEditable(!state);
|
|
int cnt = Integer.parseInt(tf_dev_count.getText().trim());
|
boolean stat_t = state;
|
if(cnt > 1) {
|
stat_t = false;
|
ckb_auto_resetnum.setSelected(false);
|
}
|
btn_reset_modulenum.setEnabled(stat_t);
|
ckb_auto_resetnum.setEnabled(stat_t);
|
btn_cal_slope.setEnabled(stat_t);
|
btn_cal_offset.setEnabled(stat_t);
|
btn_set_modch.setEnabled(stat_t);
|
btn_set_modid.setEnabled(stat_t);
|
btn_caloffset_reset.setEnabled(stat_t);
|
btn_calslope_reset.setEnabled(stat_t);
|
|
m_multy_setnum_page.setButtonStat(stat_t);
|
}
|
|
public void updateData() {
|
try{
|
if(null != Comm_LoraTester) {
|
if(true == ckb_auto_resetnum.isSelected()) {
|
if((Comm_LoraTester.getCommErrCnt()>=3) && (Comm_LoraTester.getCommErrCnt()<10)) {
|
Comm_LoraTester.setCommErrCnt(Comm_LoraTester.getCommErrCnt() + 20);
|
btn_reset_modulenum.doClick();
|
}
|
}
|
|
int mon_cnt = Comm_LoraTester.lora_module_cnt;
|
if(dataRow.size() != mon_cnt) {
|
dataRow.clear();
|
for(int m=0; m<mon_cnt; m++) {
|
Vector<String> row = new Vector<String>();
|
row.addElement(String.format("%03d", m+Comm_LoraTester.lora_start_addr));
|
for(int n1=0; n1<4; n1++) {
|
row.addElement(String.format("%1.3f", Comm_LoraTester.alLoraData.get(m).vol[n1]));
|
}
|
row.addElement(String.format("%d", Comm_LoraTester.alLoraData.get(m).tx_cnt));
|
row.addElement(String.format("%d", Comm_LoraTester.alLoraData.get(m).rx_cnt));
|
double fm = Comm_LoraTester.alLoraData.get(m).tx_cnt;
|
fm = Comm_LoraTester.alLoraData.get(m).rx_cnt / fm;
|
row.addElement(String.format("%1.2f%%", (1-fm)*100));
|
dataRow.add(row);
|
}
|
} else {
|
for(int m=0; m<mon_cnt; m++) {
|
dataRow.get(m).setElementAt(String.format("%d", Comm_LoraTester.lora_start_addr+m), 0);
|
for(int n1=0; n1<4; n1++) {
|
dataRow.get(m).setElementAt(String.format("%1.3f", Comm_LoraTester.alLoraData.get(m).vol[n1]), n1+1);
|
}
|
dataRow.get(m).setElementAt(String.format("%d", Comm_LoraTester.alLoraData.get(m).tx_cnt), 5);
|
dataRow.get(m).setElementAt(String.format("%d", Comm_LoraTester.alLoraData.get(m).rx_cnt), 6);
|
double fm = Comm_LoraTester.alLoraData.get(m).tx_cnt;
|
fm = Comm_LoraTester.alLoraData.get(m).rx_cnt / fm;
|
dataRow.get(m).setElementAt(String.format("%1.2f%%", (1-fm)*100), 7);
|
}
|
}
|
table_zdhj_data.updateUI();
|
|
LoraModuleData lmd = Comm_LoraTester.alLoraData.get(0);
|
tf_mod_vol1.setText(String.format("%1.3f", lmd.vol[0]));
|
tf_mod_vol2.setText(String.format("%1.3f", lmd.vol[1]));
|
tf_mod_vol3.setText(String.format("%1.3f", lmd.vol[2]));
|
tf_mod_vol4.setText(String.format("%1.3f", lmd.vol[3]));
|
|
tf_dev_ver.setText(String.format("%03d.%03d.%03d", Comm_LoraTester.dt_target_ver,
|
Comm_LoraTester.dt_target_ver2,
|
Comm_LoraTester.dt_target_ver3));
|
}
|
} catch (Exception e) {
|
m_log.error(e.getMessage(), e);
|
}
|
}
|
}
|