package com.dev.nrf_lora_tester;
|
|
import javax.swing.JPanel;
|
|
import java.awt.BorderLayout;
|
|
import javax.swing.border.TitledBorder;
|
import javax.swing.JOptionPane;
|
import javax.swing.JTextField;
|
import javax.swing.JButton;
|
import javax.swing.JTextArea;
|
import javax.swing.Timer;
|
|
import com.Com;
|
|
import java.awt.event.ActionListener;
|
import java.awt.event.ActionEvent;
|
|
import javax.swing.JScrollPane;
|
import javax.swing.ScrollPaneConstants;
|
|
import java.awt.Font;
|
import javax.swing.JTabbedPane;
|
import javax.swing.UIManager;
|
import java.awt.Color;
|
|
public class multy_setnum_page extends JPanel {
|
public SPCommLora Comm_LoraTester;
|
/**
|
*
|
*/
|
private static final long serialVersionUID = 1L;
|
private JTextField tf_module_addr_start;
|
private JTextField tf_module_cnt;
|
private Timer mUdpTimer;
|
private JTextField tf_rfch_now;
|
private JTextField tf_rfch_setted;
|
private JTextArea ta_rfch_inf;
|
private JButton btn_start;
|
private JButton btn_stop;
|
|
private int module_addr = 0;
|
private int module_sum = 0;
|
private int module_rfch = 0;
|
private int module_rfch_setted = 0;
|
private int module_cnt = 0;
|
private JScrollPane scrollPane;
|
private JTabbedPane tabbedPane;
|
private JPanel panel_1;
|
private JPanel panel_6;
|
private JPanel panel_7;
|
private JTextField tf_module_numstart_a;
|
private JPanel panel_8;
|
private JTextField tf_module_cnt_a;
|
private JButton btn_start_numset_a;
|
private JButton btn_stop_numset_a;
|
private JPanel panel_9;
|
private JTextField tf_module_rfch_a;
|
|
/**
|
* Create the panel.
|
*/
|
public multy_setnum_page() {
|
setLayout(new BorderLayout(0, 0));
|
|
JPanel panel = new JPanel();
|
add(panel, BorderLayout.NORTH);
|
panel.setLayout(new BorderLayout(0, 0));
|
|
tabbedPane = new JTabbedPane(JTabbedPane.TOP);
|
panel.add(tabbedPane);
|
|
panel_1 = new JPanel();
|
tabbedPane.addTab("\u6279\u91CF\u8BBE\u7F6E\u9891\u6BB5", null, panel_1, null);
|
|
JPanel panel_2 = new JPanel();
|
panel_1.add(panel_2);
|
panel_2.setBorder(new TitledBorder(UIManager.getBorder("TitledBorder.border"), "\u8D77\u59CB\u7F16\u53F7", TitledBorder.LEADING, TitledBorder.TOP, null, new Color(0, 0, 0)));
|
|
tf_module_addr_start = new JTextField();
|
panel_2.add(tf_module_addr_start);
|
tf_module_addr_start.setColumns(10);
|
Com.setTFDocLimit(tf_module_addr_start, 2, "0123456789");
|
|
JPanel panel_4 = new JPanel();
|
panel_1.add(panel_4);
|
panel_4.setBorder(new TitledBorder(null, "\u5F53\u524D\u9891\u6BB5", TitledBorder.LEADING, TitledBorder.TOP, null, null));
|
|
tf_rfch_now = new JTextField();
|
panel_4.add(tf_rfch_now);
|
tf_rfch_now.setColumns(10);
|
Com.setTFDocLimit(tf_rfch_now, 2, "0123456789");
|
|
JPanel panel_5 = new JPanel();
|
panel_1.add(panel_5);
|
panel_5.setBorder(new TitledBorder(null, "\u6240\u9700\u9891\u6BB5", TitledBorder.LEADING, TitledBorder.TOP, null, null));
|
|
tf_rfch_setted = new JTextField();
|
panel_5.add(tf_rfch_setted);
|
tf_rfch_setted.setColumns(10);
|
Com.setTFDocLimit(tf_rfch_setted, 2, "0123456789");
|
|
JPanel panel_3 = new JPanel();
|
panel_1.add(panel_3);
|
panel_3.setBorder(new TitledBorder(null, "\u6A21\u5757\u6570\u91CF", TitledBorder.LEADING, TitledBorder.TOP, null, null));
|
|
tf_module_cnt = new JTextField();
|
panel_3.add(tf_module_cnt);
|
tf_module_cnt.setColumns(10);
|
Com.setTFDocLimit(tf_module_cnt, 2, "0123456789");
|
|
btn_start = new JButton("\u542F\u52A8");
|
panel_1.add(btn_start);
|
|
btn_stop = new JButton("\u505C\u6B62");
|
panel_1.add(btn_stop);
|
btn_stop.addActionListener(new ActionListener() {
|
public void actionPerformed(ActionEvent e) {
|
mUdpTimer.stop();
|
Comm_LoraTester.setModuleCommTimeoutToOrigin();
|
}
|
});
|
btn_start.addActionListener(new ActionListener() {
|
public void actionPerformed(ActionEvent e) {
|
try{
|
module_addr = Integer.parseInt(tf_module_addr_start.getText());
|
module_rfch = Integer.parseInt(tf_rfch_now.getText());
|
module_rfch_setted = Integer.parseInt(tf_rfch_setted.getText());
|
module_sum = Integer.parseInt(tf_module_cnt.getText());
|
} catch (Exception e1) {
|
JOptionPane.showMessageDialog(null, "ÇëÏÈÕýÈ·Ìîд²ÎÊý!");
|
return;
|
}
|
|
if((module_rfch <= 0) || (module_rfch_setted<=0)
|
|| (module_rfch > 16) || (module_rfch_setted > 16)) {
|
JOptionPane.showMessageDialog(null, "Ƶ¶Î±ØÐëÔÚ1-16Ö®¼ä!");
|
return;
|
}
|
|
module_cnt = 0;
|
ta_rfch_inf.setText("");
|
Comm_LoraTester.setModuleCommTimeout(100);
|
mUdpTimer.start();
|
}
|
});
|
|
panel_6 = new JPanel();
|
tabbedPane.addTab("\u6279\u91CF\u5F52\u96F6\u7F16\u53F7", null, panel_6, null);
|
|
panel_7 = new JPanel();
|
panel_7.setBorder(new TitledBorder(null, "\u8D77\u59CB\u7F16\u53F7", TitledBorder.LEADING, TitledBorder.TOP, null, null));
|
panel_6.add(panel_7);
|
|
tf_module_numstart_a = new JTextField();
|
panel_7.add(tf_module_numstart_a);
|
tf_module_numstart_a.setColumns(10);
|
Com.setTFDocLimit(tf_module_numstart_a, 2, "0123456789");
|
|
panel_9 = new JPanel();
|
panel_9.setBorder(new TitledBorder(UIManager.getBorder("TitledBorder.border"), "\u6A21\u5757\u9891\u6BB5", TitledBorder.LEADING, TitledBorder.TOP, null, new Color(0, 0, 0)));
|
panel_6.add(panel_9);
|
|
tf_module_rfch_a = new JTextField();
|
panel_9.add(tf_module_rfch_a);
|
tf_module_rfch_a.setColumns(10);
|
Com.setTFDocLimit(tf_module_rfch_a, 2, "0123456789");
|
|
panel_8 = new JPanel();
|
panel_8.setBorder(new TitledBorder(null, "\u6A21\u5757\u6570\u91CF", TitledBorder.LEADING, TitledBorder.TOP, null, null));
|
panel_6.add(panel_8);
|
|
tf_module_cnt_a = new JTextField();
|
panel_8.add(tf_module_cnt_a);
|
tf_module_cnt_a.setColumns(10);
|
Com.setTFDocLimit(tf_module_cnt_a, 2, "0123456789");
|
|
btn_start_numset_a = new JButton("\u542F\u52A8");
|
btn_start_numset_a.addActionListener(new ActionListener() {
|
public void actionPerformed(ActionEvent e) {
|
try{
|
module_addr = Integer.parseInt(tf_module_numstart_a.getText());
|
module_rfch = Integer.parseInt(tf_module_rfch_a.getText());
|
module_sum = Integer.parseInt(tf_module_cnt_a.getText());
|
} catch (Exception e1) {
|
JOptionPane.showMessageDialog(null, "ÇëÏÈÕýÈ·Ìîд²ÎÊý!");
|
return;
|
}
|
|
module_cnt = 0;
|
ta_rfch_inf.setText("");
|
Comm_LoraTester.setModuleCommTimeout(100);
|
mUdpTimer.start();
|
}
|
});
|
panel_6.add(btn_start_numset_a);
|
|
btn_stop_numset_a = new JButton("\u505C\u6B62");
|
btn_stop_numset_a.addActionListener(new ActionListener() {
|
public void actionPerformed(ActionEvent e) {
|
mUdpTimer.stop();
|
Comm_LoraTester.setModuleCommTimeoutToOrigin();
|
}
|
});
|
panel_6.add(btn_stop_numset_a);
|
|
scrollPane = new JScrollPane();
|
scrollPane.setVerticalScrollBarPolicy(ScrollPaneConstants.VERTICAL_SCROLLBAR_ALWAYS);
|
ta_rfch_inf = new JTextArea();
|
ta_rfch_inf.setFont(new Font("Monospaced", Font.PLAIN, 18));
|
scrollPane.setViewportView(ta_rfch_inf);
|
add(scrollPane, BorderLayout.CENTER);
|
|
/**************************************************************************/
|
mUdpTimer = new Timer(100, new ActionListener() {
|
private int cnt_run = 0;
|
private int cnt_max = 2;
|
@Override
|
public void actionPerformed(ActionEvent arg0) {
|
if(module_cnt > 0) {
|
cnt_max = 10;
|
} else {
|
cnt_max = 2;
|
}
|
|
if(cnt_run++ < cnt_max) {
|
return;
|
} else {
|
cnt_run = 0;
|
}
|
|
int module_index = module_addr+module_cnt;
|
if(module_cnt > 0) {
|
int cmd_type = 0;
|
if(0 == tabbedPane.getSelectedIndex()){
|
cmd_type = SPCommLora.CMD_Set_RFCH;
|
if(cmd_type == Comm_LoraTester.m_SetModuleRFCH[module_index-1]) {
|
ta_rfch_inf.append(" OK!!!!!!! \n");
|
} else {
|
ta_rfch_inf.append(" Error! \n");
|
}
|
} else {
|
cmd_type = SPCommLora.CMD_Set_ID;
|
if(cmd_type == Comm_LoraTester.m_SetModuleRFCH[0]) {
|
ta_rfch_inf.append(" OK!!!!!!! \n");
|
} else {
|
ta_rfch_inf.append(" Error! \n");
|
}
|
}
|
|
|
}
|
|
if((++module_cnt) > module_sum) {
|
mUdpTimer.stop();
|
Comm_LoraTester.setModuleCommTimeoutToOrigin();
|
ta_rfch_inf.append("\nSet Module Task Stop!");
|
return;
|
}
|
|
Comm_LoraTester.setModule_Addr_Count(module_index, module_rfch, 1);
|
if(0 == tabbedPane.getSelectedIndex()){
|
Comm_LoraTester.m_SetModuleRFCH[module_index-1] = 0;
|
Comm_LoraTester.setCommCmd(SPCommLora.CMD_Set_RFCH, (short) (module_rfch_setted-1));
|
ta_rfch_inf.append("Set Module " + module_index + " RFCH To " + module_rfch_setted);
|
} else {
|
Comm_LoraTester.m_SetModuleRFCH[0] = 0;
|
Comm_LoraTester.setCommCmd(SPCommLora.CMD_Set_ID, (short) 0);
|
ta_rfch_inf.append("Set Module " + module_index + " NUM ID To " + 0);
|
}
|
}
|
});
|
/**************************************************************************/
|
|
}
|
|
public void setLoraComm(SPCommLora cp) {
|
Comm_LoraTester = cp;
|
}
|
|
public void setButtonStat(boolean stat) {
|
btn_start.setEnabled(stat);
|
btn_stop.setEnabled(stat);
|
btn_start_numset_a.setEnabled(stat);
|
btn_stop_numset_a.setEnabled(stat);
|
}
|
|
public void updateData() {
|
|
}
|
}
|