⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 registermanager.java

📁 无线通信的主要编程软件,是无线通信工作人员的必备工具,关天相关教程我会在后续传上.
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
/* * Copyright (c) 2003, Vanderbilt University * All rights reserved. * * Permission to use, copy, modify, and distribute this software and its * documentation for any purpose, without fee, and without written agreement is * hereby granted, provided that the above copyright notice, the following * two paragraphs and the author appear in all copies of this software. *  * IN NO EVENT SHALL THE VANDERBILT UNIVERSITY BE LIABLE TO ANY PARTY FOR * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT * OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF THE VANDERBILT * UNIVERSITY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *  * THE VANDERBILT UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES, * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS * ON AN "AS IS" BASIS, AND THE VANDERBILT UNIVERSITY HAS NO OBLIGATION TO * PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS. */package net.tinyos.mcenter;import net.tinyos.packet.PacketListenerIF;/** * * @author  nadand */public class RegisterManager extends /*javax.swing.JInternalFrame*/MessageCenterInternalFrame implements PacketListenerIF{            private final int registerCount = 16;    private byte[] registerSpace;    private int[] registerAddress= {0xd300,0xd310,0xd320,0xd330};    private int moteAddress = 0xffff;    private boolean broadcastEnabled = false;        private byte[] sendPacket;        private java.util.HashSet changes = new java.util.HashSet();        private String[] headTitles;    private javax.swing.JTable generalTable;    private javax.swing.JTable channelATable;    private javax.swing.JTable channelBTable;    private javax.swing.JTable channelCTable;        private RegisterReaderThread sendThread;    private int radioDelay = 500;        private static final int READ_REPLY = 0x10;    private static final int READ_REQ = 0x11;    private static final int WRITE_REQ = 0x12;    private static final int SHOT_DETECTED = 0x13;    private static final int MAX_SEQ = 0x600;        /** Creates new form RegisterManager */    public RegisterManager() {        super("Register Manager");        registerSpace = new byte[registerCount*4];        generateTitle();        initPacket();        initComponents();        generalTable = new javax.swing.JTable(new RegisterTableModel(0));        channelATable = new javax.swing.JTable(new RegisterTableModel(registerCount));        channelBTable = new javax.swing.JTable(new RegisterTableModel(2*registerCount));        channelCTable = new javax.swing.JTable(new RegisterTableModel(3*registerCount));        generalScrollPane.setViewportView(generalTable);        channelAScrollPane.setViewportView(channelATable);        channelBScrollPane.setViewportView(channelBTable);        channelCScrollPane.setViewportView(channelCTable);                SerialConnector.instance().registerPacketListener(this,READ_REPLY);            }        private void generateTitle(){        headTitles = new String[registerCount];        for(int i =0; i < registerCount; i++){            headTitles[i] = "0x"+Integer.toString(i,16).toUpperCase();                    }    }    private void initPacket(){        sendPacket = new byte[SerialConnector.instance().getMsgLength()];        sendPacket[0] = (byte)0xff;     // Destination address low byte        sendPacket[1] = (byte)0xff;     // Destination address high byte        sendPacket[2] = (byte)READ_REQ; // Type = AM_READ_REQ        sendPacket[3] = (byte)0x7d;     // Group ID        sendPacket[4] = (byte)4;        // Length of payload    }        /** This method is called from within the constructor to     * initialize the form.     * WARNING: Do NOT modify this code. The content of this method is     * always regenerated by the Form Editor.     */    private void initComponents() {//GEN-BEGIN:initComponents        java.awt.GridBagConstraints gridBagConstraints;        jPanel1 = new javax.swing.JPanel();        jLabel1 = new javax.swing.JLabel();        generalScrollPane = new javax.swing.JScrollPane();        jLabel2 = new javax.swing.JLabel();        channelAScrollPane = new javax.swing.JScrollPane();        jLabel3 = new javax.swing.JLabel();        channelBScrollPane = new javax.swing.JScrollPane();        jLabel4 = new javax.swing.JLabel();        channelCScrollPane = new javax.swing.JScrollPane();        jPanel2 = new javax.swing.JPanel();        readButton = new javax.swing.JButton();        bcastCheckBox = new javax.swing.JCheckBox();        writeButton = new javax.swing.JButton();        jPanel3 = new javax.swing.JPanel();        moteLabel = new javax.swing.JLabel();        moteTextField = new javax.swing.JTextField();        radioDelayCheckBox = new javax.swing.JCheckBox();        getContentPane().setLayout(new java.awt.GridBagLayout());        jPanel1.setLayout(new java.awt.GridBagLayout());        jLabel1.setText("Genaral Registers");        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;        gridBagConstraints.ipady = 8;        gridBagConstraints.weightx = 1.0;        jPanel1.add(jLabel1, gridBagConstraints);        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;        gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;        gridBagConstraints.weightx = 1.0;        gridBagConstraints.weighty = 1.0;        jPanel1.add(generalScrollPane, gridBagConstraints);        jLabel2.setText("Channel A Registers");        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;        gridBagConstraints.ipady = 8;        gridBagConstraints.weightx = 1.0;        jPanel1.add(jLabel2, gridBagConstraints);        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;        gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;        gridBagConstraints.weightx = 1.0;        gridBagConstraints.weighty = 1.0;        jPanel1.add(channelAScrollPane, gridBagConstraints);        jLabel3.setText("Channel B Registers");        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;        gridBagConstraints.ipady = 8;        gridBagConstraints.weightx = 1.0;        jPanel1.add(jLabel3, gridBagConstraints);        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;        gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;        gridBagConstraints.weightx = 1.0;        gridBagConstraints.weighty = 1.0;        jPanel1.add(channelBScrollPane, gridBagConstraints);        jLabel4.setText("Channel C Registers");        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;        gridBagConstraints.ipady = 8;        jPanel1.add(jLabel4, gridBagConstraints);        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;        gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;        gridBagConstraints.weightx = 1.0;        gridBagConstraints.weighty = 1.0;        jPanel1.add(channelCScrollPane, gridBagConstraints);        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;        gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;        gridBagConstraints.weightx = 1.0;        gridBagConstraints.weighty = 1.0;        getContentPane().add(jPanel1, gridBagConstraints);        jPanel2.setLayout(new java.awt.GridBagLayout());        readButton.setText("Read Registers");        readButton.addActionListener(new java.awt.event.ActionListener() {            public void actionPerformed(java.awt.event.ActionEvent evt) {                readButtonActionPerformed(evt);            }        });        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.weightx = 1.0;        jPanel2.add(readButton, gridBagConstraints);        bcastCheckBox.setText("to All");        bcastCheckBox.addItemListener(new java.awt.event.ItemListener() {            public void itemStateChanged(java.awt.event.ItemEvent evt) {                bcastCheckBoxItemStateChanged(evt);            }        });        jPanel2.add(bcastCheckBox, new java.awt.GridBagConstraints());        writeButton.setText("Write Changes");        writeButton.addActionListener(new java.awt.event.ActionListener() {            public void actionPerformed(java.awt.event.ActionEvent evt) {                writeButtonActionPerformed(evt);            }        });        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.weightx = 1.0;        jPanel2.add(writeButton, gridBagConstraints);        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;        gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;        gridBagConstraints.weighty = 0.2;        getContentPane().add(jPanel2, gridBagConstraints);        jPanel3.setLayout(new java.awt.GridBagLayout());        jPanel3.setBorder(new javax.swing.border.LineBorder(new java.awt.Color(0, 0, 0)));        moteLabel.setHorizontalAlignment(javax.swing.SwingConstants.TRAILING);        moteLabel.setText("Mote ID");        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;        gridBagConstraints.anchor = java.awt.GridBagConstraints.EAST;        gridBagConstraints.weightx = 1.0;        jPanel3.add(moteLabel, gridBagConstraints);        moteTextField.setText("0xFFFF");        moteTextField.setMinimumSize(new java.awt.Dimension(80, 20));        moteTextField.setPreferredSize(new java.awt.Dimension(80, 20));        moteTextField.addActionListener(new java.awt.event.ActionListener() {            public void actionPerformed(java.awt.event.ActionEvent evt) {                moteTextFieldActionPerformed(evt);            }        });        moteTextField.addFocusListener(new java.awt.event.FocusAdapter() {            public void focusLost(java.awt.event.FocusEvent evt) {                moteTextFieldFocusLost(evt);            }        });        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;        jPanel3.add(moteTextField, gridBagConstraints);        radioDelayCheckBox.setSelected(true);        radioDelayCheckBox.setText("Radio delay");        radioDelayCheckBox.addItemListener(new java.awt.event.ItemListener() {            public void itemStateChanged(java.awt.event.ItemEvent evt) {                radioDelayCheckBoxItemStateChanged(evt);            }        });        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.weightx = 3.0;        jPanel3.add(radioDelayCheckBox, gridBagConstraints);        gridBagConstraints = new java.awt.GridBagConstraints();        gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;        gridBagConstraints.weighty = 0.1;        getContentPane().add(jPanel3, gridBagConstraints);        pack();        java.awt.Dimension screenSize = java.awt.Toolkit.getDefaultToolkit().getScreenSize();

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -