package ufradvanced;

import javax.swing.JOptionPane;
import com.sun.jna.ptr.ShortByReference;

public class frmLinearReadWrite extends javax.swing.JInternalFrame {

     static final int 
         FUNCT_LIGHT_OK     = 4,
         FUNCT_SOUND_OK     = 0,//4 Tripple sound
         FUNCT_LIGHT_ERROR  = 2,
         FUNCT_SOUND_ERROR  = 0,//2 Long sound
         DL_OK              = 0;
    
     static final byte
         MIFARE_AUTHENT1A   = 0x60,  
         MIFARE_AUTHENT1B   = 0x61,
         MAX_BLOCK_BYTES    = 16;
   
    final static String  ANY_DATA           = "You must enter any data !",
                         APPROPRIATE_FORMAT = "You must enter the appropriate format !";

    public frmLinearReadWrite() {
        initComponents();
    }

    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        btnGroup = new javax.swing.ButtonGroup();
        pnlHeader = new javax.swing.JPanel();
        rbAUTH1A = new javax.swing.JRadioButton();
        rbAUTH1B = new javax.swing.JRadioButton();
        lblKeyIndex = new javax.swing.JLabel();
        cboKeyIndex = new javax.swing.JComboBox();
        jLabel1 = new javax.swing.JLabel();
        pgLinearReadWrite = new javax.swing.JTabbedPane();
        lblReadData = new javax.swing.JPanel();
        txtLRLinearAddress = new javax.swing.JTextField();
        txtLRDataLength = new javax.swing.JTextField();
        btnLinearRead = new javax.swing.JButton();
        lblLRReadData = new javax.swing.JLabel();
        jScrollPane1 = new javax.swing.JScrollPane();
        txtLinearRead = new javax.swing.JTextArea();
        lblLRLinearAddress = new javax.swing.JLabel();
        lblLRDataLength = new javax.swing.JLabel();
        lblReadBytes = new javax.swing.JLabel();
        txtReadBytes = new javax.swing.JTextField();
        tabLinearReadAKM12 = new javax.swing.JPanel();
        pgLinearReadAKM12 = new javax.swing.JTabbedPane();
        tabLinearReadAKM1 = new javax.swing.JPanel();
        lblLRReadDataAKM1 = new javax.swing.JLabel();
        jScrollPane2 = new javax.swing.JScrollPane();
        txtLinearReadAKM1 = new javax.swing.JTextArea();
        lblLRLinearAddressAKM1 = new javax.swing.JLabel();
        txtLRLinearAddressAKM1 = new javax.swing.JTextField();
        lblLRDataLengthAKM1 = new javax.swing.JLabel();
        txtLRDataLengthAKM1 = new javax.swing.JTextField();
        lblReadBytesAKM1 = new javax.swing.JLabel();
        txtReadBytesAKM1 = new javax.swing.JTextField();
        btnLinearReadAKM1 = new javax.swing.JButton();
        tabLinearReadAKM2 = new javax.swing.JPanel();
        lblLRReadDataAKM2 = new javax.swing.JLabel();
        jScrollPane3 = new javax.swing.JScrollPane();
        txtLinearReadAKM2 = new javax.swing.JTextArea();
        lblLRLinearAddressAKM2 = new javax.swing.JLabel();
        txtLRLinearAddressAKM2 = new javax.swing.JTextField();
        lblLRDataLengthAKM2 = new javax.swing.JLabel();
        txtLRDataLengthAKM2 = new javax.swing.JTextField();
        lblReadBytesAKM2 = new javax.swing.JLabel();
        txtReadBytesAKM2 = new javax.swing.JTextField();
        btnLinearReadAKM2 = new javax.swing.JButton();
        tabLinearReadPK = new javax.swing.JPanel();
        lblLRReadDataPK = new javax.swing.JLabel();
        lblLRLinearAddressPK = new javax.swing.JLabel();
        txtLRLinearAddressPK = new javax.swing.JTextField();
        lblLRDataLengthPK = new javax.swing.JLabel();
        txtLRDataLengthPK = new javax.swing.JTextField();
        lblReadBytesPK = new javax.swing.JLabel();
        txtReadBytesPK = new javax.swing.JTextField();
        btnLinearReadPK = new javax.swing.JButton();
        jScrollPane4 = new javax.swing.JScrollPane();
        txtLinearReadPK = new javax.swing.JTextArea();
        tabLinearWrite = new javax.swing.JPanel();
        lblWriteData = new javax.swing.JLabel();
        jScrollPane5 = new javax.swing.JScrollPane();
        txtLinearWrite = new javax.swing.JTextArea();
        lblLWLinearAddress = new javax.swing.JLabel();
        txtLWLinearAddress = new javax.swing.JTextField();
        lblLWDataLength = new javax.swing.JLabel();
        txtLWDataLength = new javax.swing.JTextField();
        lblBytesWritten = new javax.swing.JLabel();
        txtBytesWritten = new javax.swing.JTextField();
        btnLinearWrite = new javax.swing.JButton();
        tabLinearWriteAKM12 = new javax.swing.JPanel();
        pgLinearWriteAKM12 = new javax.swing.JTabbedPane();
        tabLinearWriteAKM1 = new javax.swing.JPanel();
        lblWriteDataAKM1 = new javax.swing.JLabel();
        jScrollPane7 = new javax.swing.JScrollPane();
        txtLinearWriteAKM1 = new javax.swing.JTextArea();
        lblLWLinearAddressAKM1 = new javax.swing.JLabel();
        txtLWLinearAddressAKM1 = new javax.swing.JTextField();
        lblLWDataLengthAKM1 = new javax.swing.JLabel();
        txtLWDataLengthAKM1 = new javax.swing.JTextField();
        lblbytesWrittenAKM1 = new javax.swing.JLabel();
        txtBytesWrittenAKM1 = new javax.swing.JTextField();
        btnLinearWriteAKM1 = new javax.swing.JButton();
        tabLinearWriteAKM2 = new javax.swing.JPanel();
        lblWriteDataAKM2 = new javax.swing.JLabel();
        jScrollPane8 = new javax.swing.JScrollPane();
        txtLinearWriteAKM2 = new javax.swing.JTextArea();
        lblLWLinearAddressAKM2 = new javax.swing.JLabel();
        txtLWLinearAddressAKM2 = new javax.swing.JTextField();
        lblLWDataLengthAKM2 = new javax.swing.JLabel();
        txtLWDataLengthAKM2 = new javax.swing.JTextField();
        lblbytesWrittenAKM3 = new javax.swing.JLabel();
        txtBytesWrittenAKM2 = new javax.swing.JTextField();
        btnLinearWriteAKM2 = new javax.swing.JButton();
        tabLinearWritePK = new javax.swing.JPanel();
        lblWriteDataPK = new javax.swing.JLabel();
        jScrollPane6 = new javax.swing.JScrollPane();
        txtLinearWritePK = new javax.swing.JTextArea();
        lblLWLinearAddressPK = new javax.swing.JLabel();
        txtLWLinearAddressPK = new javax.swing.JTextField();
        lblLWDataLengthPK = new javax.swing.JLabel();
        txtLWDataLengthPK = new javax.swing.JTextField();
        lblBytesWrittenPK = new javax.swing.JLabel();
        txtBytesWrittenPK = new javax.swing.JTextField();
        btnLinearWritePK = new javax.swing.JButton();
        jInternalFrame1 = new javax.swing.JInternalFrame();
        stbFunction1 = new javax.swing.JPanel();
        lblFunctionError1 = new javax.swing.JLabel();
        lblFunction_explain1 = new javax.swing.JLabel();
        lblFunction_code1 = new javax.swing.JLabel();
        pnlHeader1 = new javax.swing.JPanel();
        rbAUTH1A1 = new javax.swing.JRadioButton();
        rbAUTH1B1 = new javax.swing.JRadioButton();
        lblKeyIndex1 = new javax.swing.JLabel();
        cboKeyIndex1 = new javax.swing.JComboBox();
        jLabel2 = new javax.swing.JLabel();
        pgLinearReadWrite1 = new javax.swing.JTabbedPane();
        lblReadData1 = new javax.swing.JPanel();
        txtLRLinearAddress1 = new javax.swing.JTextField();
        txtLRDataLength1 = new javax.swing.JTextField();
        btnLinearRead1 = new javax.swing.JButton();
        lblLRReadData1 = new javax.swing.JLabel();
        jScrollPane9 = new javax.swing.JScrollPane();
        txtLinearRead1 = new javax.swing.JTextArea();
        lblLRLinearAddress1 = new javax.swing.JLabel();
        lblLRDataLength1 = new javax.swing.JLabel();
        lblReadBytes1 = new javax.swing.JLabel();
        txtReadBytes1 = new javax.swing.JTextField();
        chkAscii1 = new javax.swing.JCheckBox();
        tabLinearReadAKM13 = new javax.swing.JPanel();
        pgLinearReadAKM13 = new javax.swing.JTabbedPane();
        tabLinearReadAKM3 = new javax.swing.JPanel();
        lblLRReadDataAKM3 = new javax.swing.JLabel();
        chkAsciiAKM3 = new javax.swing.JCheckBox();
        jScrollPane10 = new javax.swing.JScrollPane();
        txtLinearReadAKM3 = new javax.swing.JTextArea();
        lblLRLinearAddressAKM3 = new javax.swing.JLabel();
        txtLRLinearAddressAKM3 = new javax.swing.JTextField();
        lblLRDataLengthAKM3 = new javax.swing.JLabel();
        txtLRDataLengthAKM3 = new javax.swing.JTextField();
        lblReadBytesAKM3 = new javax.swing.JLabel();
        txtReadBytesAKM3 = new javax.swing.JTextField();
        btnLinearReadAKM3 = new javax.swing.JButton();
        tabLinearReadAKM4 = new javax.swing.JPanel();
        lblLRReadDataAKM4 = new javax.swing.JLabel();
        chkAsciiAKM4 = new javax.swing.JCheckBox();
        jScrollPane11 = new javax.swing.JScrollPane();
        txtLinearReadAKM4 = new javax.swing.JTextArea();
        lblLRLinearAddressAKM4 = new javax.swing.JLabel();
        txtLRLinearAddressAKM4 = new javax.swing.JTextField();
        lblLRDataLengthAKM4 = new javax.swing.JLabel();
        txtLRDataLengthAKM4 = new javax.swing.JTextField();
        lblReadBytesAKM4 = new javax.swing.JLabel();
        txtReadBytesAKM4 = new javax.swing.JTextField();
        btnLinearReadAKM4 = new javax.swing.JButton();
        tabLinearReadPK1 = new javax.swing.JPanel();
        lblLRReadDataPK1 = new javax.swing.JLabel();
        jScrollPane12 = new javax.swing.JScrollPane();
        txtLinearReadPK1 = new javax.swing.JTextArea();
        chkAsciiPK1 = new javax.swing.JCheckBox();
        lblLRLinearAddressPK1 = new javax.swing.JLabel();
        txtLRLinearAddressPK1 = new javax.swing.JTextField();
        lblLRDataLengthPK1 = new javax.swing.JLabel();
        txtLRDataLengthPK1 = new javax.swing.JTextField();
        lblReadBytesPK1 = new javax.swing.JLabel();
        txtReadBytesPK1 = new javax.swing.JTextField();
        btnLinearReadPK1 = new javax.swing.JButton();
        tabLinearWrite1 = new javax.swing.JPanel();
        lblWriteData1 = new javax.swing.JLabel();
        jScrollPane13 = new javax.swing.JScrollPane();
        txtLinearWrite1 = new javax.swing.JTextArea();
        lblLWLinearAddress1 = new javax.swing.JLabel();
        txtLWLinearAddress1 = new javax.swing.JTextField();
        lblLWDataLength1 = new javax.swing.JLabel();
        txtLWDataLength1 = new javax.swing.JTextField();
        lblBytesWritten1 = new javax.swing.JLabel();
        txtBytesWritten1 = new javax.swing.JTextField();
        btnLinearWrite1 = new javax.swing.JButton();
        tabLinearWriteAKM13 = new javax.swing.JPanel();
        pgLinearWriteAKM13 = new javax.swing.JTabbedPane();
        tabLinearWriteAKM3 = new javax.swing.JPanel();
        lblWriteDataAKM3 = new javax.swing.JLabel();
        jScrollPane14 = new javax.swing.JScrollPane();
        txtLinearWriteAKM3 = new javax.swing.JTextArea();
        lblLWLinearAddressAKM3 = new javax.swing.JLabel();
        txtLWLinearAddressAKM3 = new javax.swing.JTextField();
        lblLWDataLengthAKM3 = new javax.swing.JLabel();
        txtLWDataLengthAKM3 = new javax.swing.JTextField();
        lblbytesWrittenAKM2 = new javax.swing.JLabel();
        txtBytesWrittenAKM3 = new javax.swing.JTextField();
        btnLinearWriteAKM3 = new javax.swing.JButton();
        tabLinearWriteAKM4 = new javax.swing.JPanel();
        lblWriteDataAKM4 = new javax.swing.JLabel();
        jScrollPane15 = new javax.swing.JScrollPane();
        txtLinearWriteAKM4 = new javax.swing.JTextArea();
        lblLWLinearAddressAKM4 = new javax.swing.JLabel();
        txtLWLinearAddressAKM4 = new javax.swing.JTextField();
        lblLWDataLengthAKM4 = new javax.swing.JLabel();
        txtLWDataLengthAKM4 = new javax.swing.JTextField();
        lbBytesWrittenAKM3 = new javax.swing.JLabel();
        txtBytesWrittenAKM4 = new javax.swing.JTextField();
        btnLinearWriteAKM4 = new javax.swing.JButton();
        tabLinearWritePK1 = new javax.swing.JPanel();
        lblWriteDataPK1 = new javax.swing.JLabel();
        jScrollPane16 = new javax.swing.JScrollPane();
        txtLinearWritePK1 = new javax.swing.JTextArea();
        lblLWLinearAddressPK1 = new javax.swing.JLabel();
        txtLWLinearAddressPK1 = new javax.swing.JTextField();
        lblLWDataLengthPK1 = new javax.swing.JLabel();
        txtLWDataLengthPK1 = new javax.swing.JTextField();
        lblBytesWrittenPK1 = new javax.swing.JLabel();
        txtBytesWrittenPK1 = new javax.swing.JTextField();
        btnLinearWritePK1 = new javax.swing.JButton();
        lblFunction = new javax.swing.JTextField();
        txtFErrorCode = new javax.swing.JTextField();
        txtFErrorExplain = new javax.swing.JTextField();

        setBackground(new java.awt.Color(255, 255, 255));
        setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
        setTitle("LinearRead/Write");
        setAlignmentX(0.0F);
        setAlignmentY(0.0F);
        setMaximumSize(new java.awt.Dimension(524, 327));
        setMinimumSize(new java.awt.Dimension(524, 320));
        setName("frmLinearReadWrite"); // NOI18N
        setPreferredSize(new java.awt.Dimension(555, 385));
        addMouseMotionListener(new java.awt.event.MouseMotionAdapter() {
            public void mouseDragged(java.awt.event.MouseEvent evt) {
                formMouseDragged(evt);
            }
        });
        addInternalFrameListener(new javax.swing.event.InternalFrameListener() {
            public void internalFrameActivated(javax.swing.event.InternalFrameEvent evt) {
            }
            public void internalFrameClosed(javax.swing.event.InternalFrameEvent evt) {
            }
            public void internalFrameClosing(javax.swing.event.InternalFrameEvent evt) {
            }
            public void internalFrameDeactivated(javax.swing.event.InternalFrameEvent evt) {
            }
            public void internalFrameDeiconified(javax.swing.event.InternalFrameEvent evt) {
            }
            public void internalFrameIconified(javax.swing.event.InternalFrameEvent evt) {
            }
            public void internalFrameOpened(javax.swing.event.InternalFrameEvent evt) {
                formInternalFrameOpened(evt);
            }
        });
        getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

        pnlHeader.setBackground(new java.awt.Color(255, 255, 255));
        pnlHeader.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));

        rbAUTH1A.setBackground(new java.awt.Color(255, 255, 255));
        btnGroup.add(rbAUTH1A);
        rbAUTH1A.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        rbAUTH1A.setSelected(true);
        rbAUTH1A.setText("AUTH 1A");
        rbAUTH1A.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));

        rbAUTH1B.setBackground(new java.awt.Color(255, 255, 255));
        btnGroup.add(rbAUTH1B);
        rbAUTH1B.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        rbAUTH1B.setText("AUTH 1B");
        rbAUTH1B.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));

        lblKeyIndex.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        lblKeyIndex.setText("Key Index");

        cboKeyIndex.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31" }));
        cboKeyIndex.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));

        jLabel1.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        jLabel1.setText("PK");

        javax.swing.GroupLayout pnlHeaderLayout = new javax.swing.GroupLayout(pnlHeader);
        pnlHeader.setLayout(pnlHeaderLayout);
        pnlHeaderLayout.setHorizontalGroup(
            pnlHeaderLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(pnlHeaderLayout.createSequentialGroup()
                .addGap(4, 4, 4)
                .addComponent(rbAUTH1A)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(rbAUTH1B)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(lblKeyIndex)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(cboKeyIndex, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jLabel1)
                .addContainerGap(279, Short.MAX_VALUE))
        );
        pnlHeaderLayout.setVerticalGroup(
            pnlHeaderLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(pnlHeaderLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                .addComponent(rbAUTH1A)
                .addComponent(rbAUTH1B)
                .addComponent(lblKeyIndex)
                .addComponent(cboKeyIndex, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addComponent(jLabel1))
        );

        getContentPane().add(pnlHeader, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 0, 560, -1));

        pgLinearReadWrite.setTabLayoutPolicy(javax.swing.JTabbedPane.SCROLL_TAB_LAYOUT);
        pgLinearReadWrite.setFont(new java.awt.Font("Verdana", 1, 11)); // NOI18N

        lblReadData.setBorder(javax.swing.BorderFactory.createEtchedBorder());

        txtLRLinearAddress.setFont(new java.awt.Font("Verdana", 1, 12)); // NOI18N
        txtLRLinearAddress.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        txtLRLinearAddress.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
        txtLRLinearAddress.setNextFocusableComponent(lblLRDataLength);

        txtLRDataLength.setFont(new java.awt.Font("Verdana", 1, 12)); // NOI18N
        txtLRDataLength.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        txtLRDataLength.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));

        btnLinearRead.setFont(new java.awt.Font("Verdana", 1, 12)); // NOI18N
        btnLinearRead.setText("READ");
        btnLinearRead.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
        btnLinearRead.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnLinearReadActionPerformed(evt);
            }
        });

        lblLRReadData.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        lblLRReadData.setText("Read Data");

        txtLinearRead.setEditable(false);
        txtLinearRead.setColumns(20);
        txtLinearRead.setFont(new java.awt.Font("Dialog", 1, 11)); // NOI18N
        txtLinearRead.setLineWrap(true);
        txtLinearRead.setRows(10);
        txtLinearRead.setWrapStyleWord(true);
        txtLinearRead.setAutoscrolls(false);
        jScrollPane1.setViewportView(txtLinearRead);

        lblLRLinearAddress.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        lblLRLinearAddress.setText("Linear Address");

        lblLRDataLength.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        lblLRDataLength.setText("Data Length");

        lblReadBytes.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        lblReadBytes.setText("Read Bytes");

        txtReadBytes.setEditable(false);
        txtReadBytes.setFont(new java.awt.Font("Verdana", 1, 12)); // NOI18N
        txtReadBytes.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        txtReadBytes.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));

        javax.swing.GroupLayout lblReadDataLayout = new javax.swing.GroupLayout(lblReadData);
        lblReadData.setLayout(lblReadDataLayout);
        lblReadDataLayout.setHorizontalGroup(
            lblReadDataLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(lblReadDataLayout.createSequentialGroup()
                .addContainerGap()
                .addGroup(lblReadDataLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, lblReadDataLayout.createSequentialGroup()
                        .addComponent(lblLRReadData)
                        .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, lblReadDataLayout.createSequentialGroup()
                        .addGroup(lblReadDataLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 493, Short.MAX_VALUE)
                            .addGroup(lblReadDataLayout.createSequentialGroup()
                                .addGroup(lblReadDataLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(lblLRLinearAddress)
                                    .addComponent(lblLRDataLength))
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addGroup(lblReadDataLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                                    .addComponent(txtLRDataLength)
                                    .addComponent(txtLRLinearAddress, javax.swing.GroupLayout.DEFAULT_SIZE, 45, Short.MAX_VALUE))
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 62, Short.MAX_VALUE)
                                .addComponent(lblReadBytes)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                .addComponent(txtReadBytes, javax.swing.GroupLayout.PREFERRED_SIZE, 47, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(26, 26, 26)
                                .addComponent(btnLinearRead, javax.swing.GroupLayout.PREFERRED_SIZE, 149, javax.swing.GroupLayout.PREFERRED_SIZE)))
                        .addGap(18, 18, 18))))
        );
        lblReadDataLayout.setVerticalGroup(
            lblReadDataLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(lblReadDataLayout.createSequentialGroup()
                .addComponent(lblLRReadData)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 144, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addGroup(lblReadDataLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(lblReadDataLayout.createSequentialGroup()
                        .addGroup(lblReadDataLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(txtLRLinearAddress, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(lblLRLinearAddress))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(lblReadDataLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(txtLRDataLength, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(lblLRDataLength)))
                    .addGroup(lblReadDataLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(btnLinearRead, javax.swing.GroupLayout.PREFERRED_SIZE, 52, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(lblReadBytes)
                        .addComponent(txtReadBytes, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addGap(38, 38, 38))
        );

        pgLinearReadWrite.addTab("Linear Read", lblReadData);

        pgLinearReadAKM12.setFont(new java.awt.Font("Verdana", 1, 11)); // NOI18N

        lblLRReadDataAKM1.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        lblLRReadDataAKM1.setText("Read Data");

        txtLinearReadAKM1.setEditable(false);
        txtLinearReadAKM1.setColumns(20);
        txtLinearReadAKM1.setFont(new java.awt.Font("Dialog", 1, 11)); // NOI18N
        txtLinearReadAKM1.setLineWrap(true);
        txtLinearReadAKM1.setRows(10);
        txtLinearReadAKM1.setAutoscrolls(false);
        jScrollPane2.setViewportView(txtLinearReadAKM1);

        lblLRLinearAddressAKM1.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        lblLRLinearAddressAKM1.setText("Linear Address");

        txtLRLinearAddressAKM1.setFont(new java.awt.Font("Verdana", 1, 12)); // NOI18N
        txtLRLinearAddressAKM1.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        txtLRLinearAddressAKM1.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));

        lblLRDataLengthAKM1.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        lblLRDataLengthAKM1.setText("Data Length");

        txtLRDataLengthAKM1.setFont(new java.awt.Font("Verdana", 1, 12)); // NOI18N
        txtLRDataLengthAKM1.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        txtLRDataLengthAKM1.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));

        lblReadBytesAKM1.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        lblReadBytesAKM1.setText("Read Bytes");

        txtReadBytesAKM1.setEditable(false);
        txtReadBytesAKM1.setFont(new java.awt.Font("Verdana", 1, 12)); // NOI18N
        txtReadBytesAKM1.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        txtReadBytesAKM1.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));

        btnLinearReadAKM1.setFont(new java.awt.Font("Verdana", 1, 12)); // NOI18N
        btnLinearReadAKM1.setText("READ");
        btnLinearReadAKM1.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
        btnLinearReadAKM1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnLinearReadAKM1ActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout tabLinearReadAKM1Layout = new javax.swing.GroupLayout(tabLinearReadAKM1);
        tabLinearReadAKM1.setLayout(tabLinearReadAKM1Layout);
        tabLinearReadAKM1Layout.setHorizontalGroup(
            tabLinearReadAKM1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, tabLinearReadAKM1Layout.createSequentialGroup()
                .addContainerGap(23, Short.MAX_VALUE)
                .addGroup(tabLinearReadAKM1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(lblLRReadDataAKM1)
                    .addGroup(tabLinearReadAKM1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, tabLinearReadAKM1Layout.createSequentialGroup()
                            .addGroup(tabLinearReadAKM1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addComponent(lblLRLinearAddressAKM1)
                                .addComponent(lblLRDataLengthAKM1))
                            .addGap(18, 18, 18)
                            .addGroup(tabLinearReadAKM1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                                .addComponent(txtLRDataLengthAKM1)
                                .addComponent(txtLRLinearAddressAKM1, javax.swing.GroupLayout.DEFAULT_SIZE, 43, Short.MAX_VALUE))
                            .addGap(30, 30, 30)
                            .addComponent(lblReadBytesAKM1)
                            .addGap(18, 18, 18)
                            .addComponent(txtReadBytesAKM1, javax.swing.GroupLayout.PREFERRED_SIZE, 47, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGap(30, 30, 30)
                            .addComponent(btnLinearReadAKM1, javax.swing.GroupLayout.PREFERRED_SIZE, 151, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addComponent(jScrollPane2, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 487, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addContainerGap())
        );
        tabLinearReadAKM1Layout.setVerticalGroup(
            tabLinearReadAKM1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(tabLinearReadAKM1Layout.createSequentialGroup()
                .addComponent(lblLRReadDataAKM1)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jScrollPane2, javax.swing.GroupLayout.DEFAULT_SIZE, 133, Short.MAX_VALUE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(tabLinearReadAKM1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addGroup(tabLinearReadAKM1Layout.createSequentialGroup()
                        .addGroup(tabLinearReadAKM1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(lblLRLinearAddressAKM1)
                            .addComponent(txtLRLinearAddressAKM1, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGap(11, 11, 11)
                        .addGroup(tabLinearReadAKM1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(lblLRDataLengthAKM1)
                            .addComponent(txtLRDataLengthAKM1, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addGroup(tabLinearReadAKM1Layout.createSequentialGroup()
                        .addGroup(tabLinearReadAKM1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(lblReadBytesAKM1)
                            .addComponent(txtReadBytesAKM1, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(btnLinearReadAKM1, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGap(8, 8, 8)))
                .addGap(3, 3, 3))
        );

        pgLinearReadAKM12.addTab("LinearRead AKM1", tabLinearReadAKM1);

        lblLRReadDataAKM2.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        lblLRReadDataAKM2.setText("Read Data");

        txtLinearReadAKM2.setEditable(false);
        txtLinearReadAKM2.setColumns(20);
        txtLinearReadAKM2.setFont(new java.awt.Font("Dialog", 1, 11)); // NOI18N
        txtLinearReadAKM2.setLineWrap(true);
        txtLinearReadAKM2.setRows(10);
        txtLinearReadAKM2.setAutoscrolls(false);
        jScrollPane3.setViewportView(txtLinearReadAKM2);

        lblLRLinearAddressAKM2.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        lblLRLinearAddressAKM2.setText("Linear Address");

        txtLRLinearAddressAKM2.setFont(new java.awt.Font("Verdana", 1, 12)); // NOI18N
        txtLRLinearAddressAKM2.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        txtLRLinearAddressAKM2.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));

        lblLRDataLengthAKM2.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        lblLRDataLengthAKM2.setText("Data Length");

        txtLRDataLengthAKM2.setFont(new java.awt.Font("Verdana", 1, 12)); // NOI18N
        txtLRDataLengthAKM2.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        txtLRDataLengthAKM2.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));

        lblReadBytesAKM2.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        lblReadBytesAKM2.setText("Read Bytes");

        txtReadBytesAKM2.setEditable(false);
        txtReadBytesAKM2.setFont(new java.awt.Font("Verdana", 1, 12)); // NOI18N
        txtReadBytesAKM2.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        txtReadBytesAKM2.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));

        btnLinearReadAKM2.setFont(new java.awt.Font("Verdana", 1, 12)); // NOI18N
        btnLinearReadAKM2.setText("READ");
        btnLinearReadAKM2.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
        btnLinearReadAKM2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnLinearReadAKM2ActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout tabLinearReadAKM2Layout = new javax.swing.GroupLayout(tabLinearReadAKM2);
        tabLinearReadAKM2.setLayout(tabLinearReadAKM2Layout);
        tabLinearReadAKM2Layout.setHorizontalGroup(
            tabLinearReadAKM2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, tabLinearReadAKM2Layout.createSequentialGroup()
                .addContainerGap(23, Short.MAX_VALUE)
                .addGroup(tabLinearReadAKM2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(lblLRReadDataAKM2)
                    .addGroup(tabLinearReadAKM2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, tabLinearReadAKM2Layout.createSequentialGroup()
                            .addGroup(tabLinearReadAKM2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                .addComponent(lblLRLinearAddressAKM2)
                                .addComponent(lblLRDataLengthAKM2))
                            .addGap(18, 18, 18)
                            .addGroup(tabLinearReadAKM2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                                .addComponent(txtLRDataLengthAKM2)
                                .addComponent(txtLRLinearAddressAKM2, javax.swing.GroupLayout.DEFAULT_SIZE, 43, Short.MAX_VALUE))
                            .addGap(29, 29, 29)
                            .addComponent(lblReadBytesAKM2)
                            .addGap(18, 18, 18)
                            .addComponent(txtReadBytesAKM2, javax.swing.GroupLayout.PREFERRED_SIZE, 47, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addGap(31, 31, 31)
                            .addComponent(btnLinearReadAKM2, javax.swing.GroupLayout.PREFERRED_SIZE, 151, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addComponent(jScrollPane3, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.PREFERRED_SIZE, 487, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addContainerGap())
        );
        tabLinearReadAKM2Layout.setVerticalGroup(
            tabLinearReadAKM2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(tabLinearReadAKM2Layout.createSequentialGroup()
                .addComponent(lblLRReadDataAKM2)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jScrollPane3, javax.swing.GroupLayout.DEFAULT_SIZE, 133, Short.MAX_VALUE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(tabLinearReadAKM2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addGroup(tabLinearReadAKM2Layout.createSequentialGroup()
                        .addGroup(tabLinearReadAKM2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(lblLRLinearAddressAKM2)
                            .addComponent(txtLRLinearAddressAKM2, javax.swing.GroupLayout.PREFERRED_SIZE, 25, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGap(11, 11, 11)
                        .addGroup(tabLinearReadAKM2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(lblLRDataLengthAKM2)
                            .addComponent(txtLRDataLengthAKM2, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addGroup(tabLinearReadAKM2Layout.createSequentialGroup()
                        .addGroup(tabLinearReadAKM2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(lblReadBytesAKM2)
                            .addComponent(txtReadBytesAKM2, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(btnLinearReadAKM2, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGap(8, 8, 8)))
                .addGap(3, 3, 3))
        );

        pgLinearReadAKM12.addTab("LinearRead AKM2", tabLinearReadAKM2);

        javax.swing.GroupLayout tabLinearReadAKM12Layout = new javax.swing.GroupLayout(tabLinearReadAKM12);
        tabLinearReadAKM12.setLayout(tabLinearReadAKM12Layout);
        tabLinearReadAKM12Layout.setHorizontalGroup(
            tabLinearReadAKM12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(pgLinearReadAKM12)
        );
        tabLinearReadAKM12Layout.setVerticalGroup(
            tabLinearReadAKM12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(pgLinearReadAKM12)
        );

        pgLinearReadWrite.addTab("LinearRead AKM1/AKM2", tabLinearReadAKM12);

        lblLRReadDataPK.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        lblLRReadDataPK.setText("Read Data");

        lblLRLinearAddressPK.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        lblLRLinearAddressPK.setText("Linear Address");

        txtLRLinearAddressPK.setFont(new java.awt.Font("Verdana", 1, 12)); // NOI18N
        txtLRLinearAddressPK.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        txtLRLinearAddressPK.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));

        lblLRDataLengthPK.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        lblLRDataLengthPK.setText("Data Length");

        txtLRDataLengthPK.setFont(new java.awt.Font("Verdana", 1, 12)); // NOI18N
        txtLRDataLengthPK.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        txtLRDataLengthPK.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));

        lblReadBytesPK.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        lblReadBytesPK.setText("Read Bytes");

        txtReadBytesPK.setEditable(false);
        txtReadBytesPK.setFont(new java.awt.Font("Verdana", 1, 12)); // NOI18N
        txtReadBytesPK.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        txtReadBytesPK.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));

        btnLinearReadPK.setFont(new java.awt.Font("Verdana", 1, 12)); // NOI18N
        btnLinearReadPK.setText("READ");
        btnLinearReadPK.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
        btnLinearReadPK.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnLinearReadPKActionPerformed(evt);
            }
        });

        txtLinearReadPK.setEditable(false);
        txtLinearReadPK.setColumns(20);
        txtLinearReadPK.setFont(new java.awt.Font("Dialog", 1, 11)); // NOI18N
        txtLinearReadPK.setLineWrap(true);
        txtLinearReadPK.setRows(10);
        txtLinearReadPK.setAutoscrolls(false);
        jScrollPane4.setViewportView(txtLinearReadPK);

        javax.swing.GroupLayout tabLinearReadPKLayout = new javax.swing.GroupLayout(tabLinearReadPK);
        tabLinearReadPK.setLayout(tabLinearReadPKLayout);
        tabLinearReadPKLayout.setHorizontalGroup(
            tabLinearReadPKLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(tabLinearReadPKLayout.createSequentialGroup()
                .addGroup(tabLinearReadPKLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(tabLinearReadPKLayout.createSequentialGroup()
                        .addGap(190, 190, 190)
                        .addComponent(lblReadBytesPK)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(txtReadBytesPK, javax.swing.GroupLayout.PREFERRED_SIZE, 47, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 52, Short.MAX_VALUE)
                        .addComponent(btnLinearReadPK, javax.swing.GroupLayout.PREFERRED_SIZE, 151, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(tabLinearReadPKLayout.createSequentialGroup()
                        .addContainerGap()
                        .addComponent(jScrollPane4)))
                .addContainerGap())
            .addGroup(tabLinearReadPKLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(lblLRReadDataPK)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
            .addGroup(tabLinearReadPKLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(tabLinearReadPKLayout.createSequentialGroup()
                    .addGap(12, 12, 12)
                    .addGroup(tabLinearReadPKLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addComponent(lblLRLinearAddressPK)
                        .addComponent(lblLRDataLengthPK))
                    .addGap(19, 19, 19)
                    .addGroup(tabLinearReadPKLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                        .addComponent(txtLRLinearAddressPK, javax.swing.GroupLayout.DEFAULT_SIZE, 52, Short.MAX_VALUE)
                        .addComponent(txtLRDataLengthPK))
                    .addContainerGap(357, Short.MAX_VALUE)))
        );
        tabLinearReadPKLayout.setVerticalGroup(
            tabLinearReadPKLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(tabLinearReadPKLayout.createSequentialGroup()
                .addGap(4, 4, 4)
                .addComponent(lblLRReadDataPK)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jScrollPane4, javax.swing.GroupLayout.PREFERRED_SIZE, 141, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 20, Short.MAX_VALUE)
                .addGroup(tabLinearReadPKLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(lblReadBytesPK)
                    .addComponent(txtReadBytesPK, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(btnLinearReadPK, javax.swing.GroupLayout.PREFERRED_SIZE, 52, javax.swing.GroupLayout.PREFERRED_SIZE))
                .addGap(18, 18, 18))
            .addGroup(tabLinearReadPKLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(tabLinearReadPKLayout.createSequentialGroup()
                    .addGap(186, 186, 186)
                    .addGroup(tabLinearReadPKLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(txtLRLinearAddressPK, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(lblLRLinearAddressPK))
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                    .addGroup(tabLinearReadPKLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(txtLRDataLengthPK, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addComponent(lblLRDataLengthPK))
                    .addContainerGap(13, Short.MAX_VALUE)))
        );

        pgLinearReadWrite.addTab("LinearRead PK", tabLinearReadPK);

        tabLinearWrite.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

        lblWriteData.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        lblWriteData.setText("Write Data");
        tabLinearWrite.add(lblWriteData, new org.netbeans.lib.awtextra.AbsoluteConstraints(12, 9, -1, -1));

        txtLinearWrite.setColumns(20);
        txtLinearWrite.setFont(new java.awt.Font("Verdana", 1, 11)); // NOI18N
        txtLinearWrite.setLineWrap(true);
        txtLinearWrite.setRows(10);
        txtLinearWrite.setAutoscrolls(false);
        txtLinearWrite.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyTyped(java.awt.event.KeyEvent evt) {
                txtLinearWriteKeyTyped(evt);
            }
        });
        jScrollPane5.setViewportView(txtLinearWrite);

        tabLinearWrite.add(jScrollPane5, new org.netbeans.lib.awtextra.AbsoluteConstraints(12, 30, 500, 133));

        lblLWLinearAddress.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        lblLWLinearAddress.setText("Linear Address");
        tabLinearWrite.add(lblLWLinearAddress, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 184, -1, -1));

        txtLWLinearAddress.setFont(new java.awt.Font("Verdana", 1, 12)); // NOI18N
        txtLWLinearAddress.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        txtLWLinearAddress.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
        tabLinearWrite.add(txtLWLinearAddress, new org.netbeans.lib.awtextra.AbsoluteConstraints(129, 180, 50, 23));

        lblLWDataLength.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        lblLWDataLength.setText("Data Length");
        tabLinearWrite.add(lblLWDataLength, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 210, 108, -1));

        txtLWDataLength.setFont(new java.awt.Font("Verdana", 1, 12)); // NOI18N
        txtLWDataLength.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        txtLWDataLength.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
        tabLinearWrite.add(txtLWDataLength, new org.netbeans.lib.awtextra.AbsoluteConstraints(130, 210, 50, 23));

        lblBytesWritten.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        lblBytesWritten.setText("Bytes Written");
        tabLinearWrite.add(lblBytesWritten, new org.netbeans.lib.awtextra.AbsoluteConstraints(190, 200, -1, -1));

        txtBytesWritten.setEditable(false);
        txtBytesWritten.setFont(new java.awt.Font("Verdana", 1, 12)); // NOI18N
        txtBytesWritten.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        txtBytesWritten.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
        tabLinearWrite.add(txtBytesWritten, new org.netbeans.lib.awtextra.AbsoluteConstraints(280, 190, 47, 30));

        btnLinearWrite.setFont(new java.awt.Font("Verdana", 1, 12)); // NOI18N
        btnLinearWrite.setText("WRITE");
        btnLinearWrite.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
        btnLinearWrite.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnLinearWriteActionPerformed(evt);
            }
        });
        tabLinearWrite.add(btnLinearWrite, new org.netbeans.lib.awtextra.AbsoluteConstraints(350, 180, 160, 50));

        pgLinearReadWrite.addTab("Linear Write", tabLinearWrite);

        pgLinearWriteAKM12.setFont(new java.awt.Font("Verdana", 1, 11)); // NOI18N

        tabLinearWriteAKM1.setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout());

        lblWriteDataAKM1.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        lblWriteDataAKM1.setText("Write Data");
        tabLinearWriteAKM1.add(lblWriteDataAKM1, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 0, -1, -1));

        txtLinearWriteAKM1.setColumns(20);
        txtLinearWriteAKM1.setFont(new java.awt.Font("Verdana", 1, 11)); // NOI18N
        txtLinearWriteAKM1.setLineWrap(true);
        txtLinearWriteAKM1.setRows(10);
        txtLinearWriteAKM1.setAutoscrolls(false);
        txtLinearWriteAKM1.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyTyped(java.awt.event.KeyEvent evt) {
                txtLinearWriteAKM1KeyTyped(evt);
            }
        });
        jScrollPane7.setViewportView(txtLinearWriteAKM1);

        tabLinearWriteAKM1.add(jScrollPane7, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 21, 500, 119));

        lblLWLinearAddressAKM1.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        lblLWLinearAddressAKM1.setText("Linear Address");
        tabLinearWriteAKM1.add(lblLWLinearAddressAKM1, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 168, -1, -1));

        txtLWLinearAddressAKM1.setFont(new java.awt.Font("Verdana", 1, 12)); // NOI18N
        txtLWLinearAddressAKM1.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        txtLWLinearAddressAKM1.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
        tabLinearWriteAKM1.add(txtLWLinearAddressAKM1, new org.netbeans.lib.awtextra.AbsoluteConstraints(113, 164, 53, 23));

        lblLWDataLengthAKM1.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        lblLWDataLengthAKM1.setText("Data Length");
        tabLinearWriteAKM1.add(lblLWDataLengthAKM1, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 193, -1, -1));

        txtLWDataLengthAKM1.setFont(new java.awt.Font("Verdana", 1, 12)); // NOI18N
        txtLWDataLengthAKM1.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        txtLWDataLengthAKM1.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
        tabLinearWriteAKM1.add(txtLWDataLengthAKM1, new org.netbeans.lib.awtextra.AbsoluteConstraints(113, 193, 53, 23));

        lblbytesWrittenAKM1.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        lblbytesWrittenAKM1.setText("Bytes Written");
        tabLinearWriteAKM1.add(lblbytesWrittenAKM1, new org.netbeans.lib.awtextra.AbsoluteConstraints(184, 180, -1, -1));

        txtBytesWrittenAKM1.setEditable(false);
        txtBytesWrittenAKM1.setFont(new java.awt.Font("Verdana", 1, 12)); // NOI18N
        txtBytesWrittenAKM1.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        txtBytesWrittenAKM1.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));
        tabLinearWriteAKM1.add(txtBytesWrittenAKM1, new org.netbeans.lib.awtextra.AbsoluteConstraints(271, 173, 47, 29));

        btnLinearWriteAKM1.setFont(new java.awt.Font("Verdana", 1, 12)); // NOI18N
        btnLinearWriteAKM1.setText("WRITE");
        btnLinearWriteAKM1.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
        btnLinearWriteAKM1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnLinearWriteAKM1ActionPerformed(evt);
            }
        });
        tabLinearWriteAKM1.add(btnLinearWriteAKM1, new org.netbeans.lib.awtextra.AbsoluteConstraints(342, 158, 170, 50));

        pgLinearWriteAKM12.addTab("LinearWrite AKM1", tabLinearWriteAKM1);

        lblWriteDataAKM2.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        lblWriteDataAKM2.setText("Write Data");

        txtLinearWriteAKM2.setColumns(20);
        txtLinearWriteAKM2.setFont(new java.awt.Font("Verdana", 1, 11)); // NOI18N
        txtLinearWriteAKM2.setLineWrap(true);
        txtLinearWriteAKM2.setRows(10);
        txtLinearWriteAKM2.setAutoscrolls(false);
        txtLinearWriteAKM2.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyTyped(java.awt.event.KeyEvent evt) {
                txtLinearWriteAKM2KeyTyped(evt);
            }
        });
        jScrollPane8.setViewportView(txtLinearWriteAKM2);

        lblLWLinearAddressAKM2.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        lblLWLinearAddressAKM2.setText("Linear Address");

        txtLWLinearAddressAKM2.setFont(new java.awt.Font("Verdana", 1, 12)); // NOI18N
        txtLWLinearAddressAKM2.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        txtLWLinearAddressAKM2.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));

        lblLWDataLengthAKM2.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        lblLWDataLengthAKM2.setText("Data Length");

        txtLWDataLengthAKM2.setFont(new java.awt.Font("Verdana", 1, 12)); // NOI18N
        txtLWDataLengthAKM2.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        txtLWDataLengthAKM2.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));

        lblbytesWrittenAKM3.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        lblbytesWrittenAKM3.setText("Bytes Written");

        txtBytesWrittenAKM2.setEditable(false);
        txtBytesWrittenAKM2.setFont(new java.awt.Font("Verdana", 1, 12)); // NOI18N
        txtBytesWrittenAKM2.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        txtBytesWrittenAKM2.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));

        btnLinearWriteAKM2.setFont(new java.awt.Font("Verdana", 1, 12)); // NOI18N
        btnLinearWriteAKM2.setText("WRITE");
        btnLinearWriteAKM2.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
        btnLinearWriteAKM2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnLinearWriteAKM2ActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout tabLinearWriteAKM2Layout = new javax.swing.GroupLayout(tabLinearWriteAKM2);
        tabLinearWriteAKM2.setLayout(tabLinearWriteAKM2Layout);
        tabLinearWriteAKM2Layout.setHorizontalGroup(
            tabLinearWriteAKM2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(tabLinearWriteAKM2Layout.createSequentialGroup()
                .addGap(10, 10, 10)
                .addGroup(tabLinearWriteAKM2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(tabLinearWriteAKM2Layout.createSequentialGroup()
                        .addGroup(tabLinearWriteAKM2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(lblLWLinearAddressAKM2)
                            .addComponent(lblLWDataLengthAKM2))
                        .addGap(18, 18, 18)
                        .addGroup(tabLinearWriteAKM2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(txtLWLinearAddressAKM2, javax.swing.GroupLayout.PREFERRED_SIZE, 53, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(txtLWDataLengthAKM2, javax.swing.GroupLayout.PREFERRED_SIZE, 53, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGap(18, 18, 18)
                        .addComponent(lblbytesWrittenAKM3)
                        .addGap(10, 10, 10)
                        .addComponent(txtBytesWrittenAKM2, javax.swing.GroupLayout.PREFERRED_SIZE, 47, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(24, 24, 24)
                        .addComponent(btnLinearWriteAKM2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                    .addGroup(tabLinearWriteAKM2Layout.createSequentialGroup()
                        .addGroup(tabLinearWriteAKM2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(lblWriteDataAKM2)
                            .addComponent(jScrollPane8, javax.swing.GroupLayout.PREFERRED_SIZE, 500, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGap(0, 0, Short.MAX_VALUE)))
                .addContainerGap())
        );
        tabLinearWriteAKM2Layout.setVerticalGroup(
            tabLinearWriteAKM2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(tabLinearWriteAKM2Layout.createSequentialGroup()
                .addComponent(lblWriteDataAKM2)
                .addGap(6, 6, 6)
                .addComponent(jScrollPane8, javax.swing.GroupLayout.PREFERRED_SIZE, 113, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addGroup(tabLinearWriteAKM2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                    .addGroup(tabLinearWriteAKM2Layout.createSequentialGroup()
                        .addGap(4, 4, 4)
                        .addComponent(lblLWLinearAddressAKM2)
                        .addGap(14, 14, 14)
                        .addComponent(lblLWDataLengthAKM2))
                    .addGroup(tabLinearWriteAKM2Layout.createSequentialGroup()
                        .addComponent(txtLWLinearAddressAKM2, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(txtLWDataLengthAKM2, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE))
                    .addGroup(tabLinearWriteAKM2Layout.createSequentialGroup()
                        .addGap(14, 14, 14)
                        .addGroup(tabLinearWriteAKM2Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(txtBytesWrittenAKM2, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(lblbytesWrittenAKM3)))
                    .addComponent(btnLinearWriteAKM2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                .addGap(23, 23, 23))
        );

        pgLinearWriteAKM12.addTab("LinearWrite AKM2", tabLinearWriteAKM2);

        javax.swing.GroupLayout tabLinearWriteAKM12Layout = new javax.swing.GroupLayout(tabLinearWriteAKM12);
        tabLinearWriteAKM12.setLayout(tabLinearWriteAKM12Layout);
        tabLinearWriteAKM12Layout.setHorizontalGroup(
            tabLinearWriteAKM12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(pgLinearWriteAKM12)
        );
        tabLinearWriteAKM12Layout.setVerticalGroup(
            tabLinearWriteAKM12Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(pgLinearWriteAKM12)
        );

        pgLinearReadWrite.addTab("LinearWrite AKM1/AKM2", tabLinearWriteAKM12);

        lblWriteDataPK.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        lblWriteDataPK.setText("Write Data");

        txtLinearWritePK.setColumns(20);
        txtLinearWritePK.setFont(new java.awt.Font("Verdana", 1, 11)); // NOI18N
        txtLinearWritePK.setLineWrap(true);
        txtLinearWritePK.setRows(10);
        txtLinearWritePK.setAutoscrolls(false);
        txtLinearWritePK.addKeyListener(new java.awt.event.KeyAdapter() {
            public void keyTyped(java.awt.event.KeyEvent evt) {
                txtLinearWritePKKeyTyped(evt);
            }
        });
        jScrollPane6.setViewportView(txtLinearWritePK);

        lblLWLinearAddressPK.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        lblLWLinearAddressPK.setText("Linear Address");

        txtLWLinearAddressPK.setFont(new java.awt.Font("Verdana", 1, 12)); // NOI18N
        txtLWLinearAddressPK.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        txtLWLinearAddressPK.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));

        lblLWDataLengthPK.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        lblLWDataLengthPK.setText("Data Length");

        txtLWDataLengthPK.setFont(new java.awt.Font("Verdana", 1, 12)); // NOI18N
        txtLWDataLengthPK.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        txtLWDataLengthPK.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));

        lblBytesWrittenPK.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        lblBytesWrittenPK.setText("Bytes Written");

        txtBytesWrittenPK.setEditable(false);
        txtBytesWrittenPK.setFont(new java.awt.Font("Verdana", 1, 12)); // NOI18N
        txtBytesWrittenPK.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        txtBytesWrittenPK.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));

        btnLinearWritePK.setFont(new java.awt.Font("Verdana", 1, 12)); // NOI18N
        btnLinearWritePK.setText("WRITE");
        btnLinearWritePK.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnLinearWritePKActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout tabLinearWritePKLayout = new javax.swing.GroupLayout(tabLinearWritePK);
        tabLinearWritePK.setLayout(tabLinearWritePKLayout);
        tabLinearWritePKLayout.setHorizontalGroup(
            tabLinearWritePKLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(tabLinearWritePKLayout.createSequentialGroup()
                .addGroup(tabLinearWritePKLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jScrollPane6, javax.swing.GroupLayout.Alignment.TRAILING)
                    .addGroup(tabLinearWritePKLayout.createSequentialGroup()
                        .addGroup(tabLinearWritePKLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(tabLinearWritePKLayout.createSequentialGroup()
                                .addContainerGap()
                                .addComponent(lblWriteDataPK))
                            .addGroup(tabLinearWritePKLayout.createSequentialGroup()
                                .addGap(18, 18, 18)
                                .addGroup(tabLinearWritePKLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                                    .addComponent(lblLWDataLengthPK, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                    .addComponent(lblLWLinearAddressPK, javax.swing.GroupLayout.Alignment.TRAILING))
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addGroup(tabLinearWritePKLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                    .addComponent(txtLWLinearAddressPK, javax.swing.GroupLayout.PREFERRED_SIZE, 43, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(txtLWDataLengthPK, javax.swing.GroupLayout.PREFERRED_SIZE, 43, javax.swing.GroupLayout.PREFERRED_SIZE))
                                .addGap(18, 18, 18)
                                .addComponent(lblBytesWrittenPK)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(txtBytesWrittenPK, javax.swing.GroupLayout.PREFERRED_SIZE, 47, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(40, 40, 40)
                                .addComponent(btnLinearWritePK, javax.swing.GroupLayout.PREFERRED_SIZE, 171, javax.swing.GroupLayout.PREFERRED_SIZE)))
                        .addGap(0, 0, Short.MAX_VALUE)))
                .addContainerGap())
        );
        tabLinearWritePKLayout.setVerticalGroup(
            tabLinearWritePKLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(tabLinearWritePKLayout.createSequentialGroup()
                .addContainerGap()
                .addComponent(lblWriteDataPK)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jScrollPane6, javax.swing.GroupLayout.PREFERRED_SIZE, 142, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(tabLinearWritePKLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(tabLinearWritePKLayout.createSequentialGroup()
                        .addGroup(tabLinearWritePKLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(lblLWLinearAddressPK)
                            .addComponent(txtLWLinearAddressPK, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addGroup(tabLinearWritePKLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(lblLWDataLengthPK)
                            .addComponent(txtLWDataLengthPK, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addGroup(tabLinearWritePKLayout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                        .addComponent(btnLinearWritePK, javax.swing.GroupLayout.DEFAULT_SIZE, 60, Short.MAX_VALUE)
                        .addComponent(lblBytesWrittenPK)
                        .addComponent(txtBytesWrittenPK, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addGap(11, 11, 11))
        );

        pgLinearReadWrite.addTab("LinearWrite_PK", tabLinearWritePK);

        getContentPane().add(pgLinearReadWrite, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 31, 530, 285));

        jInternalFrame1.setBackground(new java.awt.Color(255, 255, 255));
        jInternalFrame1.setBorder(javax.swing.BorderFactory.createEmptyBorder(1, 1, 1, 1));
        jInternalFrame1.setTitle("LinearRead/Write");
        jInternalFrame1.setAlignmentX(0.0F);
        jInternalFrame1.setAlignmentY(0.0F);
        jInternalFrame1.setMaximumSize(new java.awt.Dimension(524, 327));
        jInternalFrame1.setMinimumSize(new java.awt.Dimension(524, 320));
        jInternalFrame1.setName("frmLinearReadWrite"); // NOI18N
        jInternalFrame1.setPreferredSize(new java.awt.Dimension(524, 327));
        jInternalFrame1.addInternalFrameListener(new javax.swing.event.InternalFrameListener() {
            public void internalFrameActivated(javax.swing.event.InternalFrameEvent evt) {
            }
            public void internalFrameClosed(javax.swing.event.InternalFrameEvent evt) {
            }
            public void internalFrameClosing(javax.swing.event.InternalFrameEvent evt) {
            }
            public void internalFrameDeactivated(javax.swing.event.InternalFrameEvent evt) {
            }
            public void internalFrameDeiconified(javax.swing.event.InternalFrameEvent evt) {
            }
            public void internalFrameIconified(javax.swing.event.InternalFrameEvent evt) {
            }
            public void internalFrameOpened(javax.swing.event.InternalFrameEvent evt) {
                jInternalFrame1formInternalFrameOpened(evt);
            }
        });

        stbFunction1.setBackground(new java.awt.Color(187, 185, 185));
        stbFunction1.setBorder(javax.swing.BorderFactory.createEtchedBorder());

        lblFunctionError1.setBackground(new java.awt.Color(153, 153, 153));
        lblFunctionError1.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        lblFunctionError1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        lblFunctionError1.setText("Function Error:");
        lblFunctionError1.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));

        lblFunction_explain1.setBackground(new java.awt.Color(153, 153, 153));
        lblFunction_explain1.setFont(new java.awt.Font("Verdana", 1, 11)); // NOI18N
        lblFunction_explain1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        lblFunction_explain1.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));

        lblFunction_code1.setBackground(new java.awt.Color(153, 153, 153));
        lblFunction_code1.setFont(new java.awt.Font("Verdana", 1, 11)); // NOI18N
        lblFunction_code1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        lblFunction_code1.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));

        javax.swing.GroupLayout stbFunction1Layout = new javax.swing.GroupLayout(stbFunction1);
        stbFunction1.setLayout(stbFunction1Layout);
        stbFunction1Layout.setHorizontalGroup(
            stbFunction1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(stbFunction1Layout.createSequentialGroup()
                .addComponent(lblFunctionError1, javax.swing.GroupLayout.PREFERRED_SIZE, 94, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(lblFunction_code1, javax.swing.GroupLayout.PREFERRED_SIZE, 50, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(lblFunction_explain1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        stbFunction1Layout.setVerticalGroup(
            stbFunction1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(lblFunctionError1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
            .addComponent(lblFunction_explain1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
            .addComponent(lblFunction_code1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
        );

        pnlHeader1.setBackground(new java.awt.Color(255, 255, 255));
        pnlHeader1.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));

        rbAUTH1A1.setBackground(new java.awt.Color(255, 255, 255));
        btnGroup.add(rbAUTH1A1);
        rbAUTH1A1.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        rbAUTH1A1.setText("AUTH 1A");
        rbAUTH1A1.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));

        rbAUTH1B1.setBackground(new java.awt.Color(255, 255, 255));
        btnGroup.add(rbAUTH1B1);
        rbAUTH1B1.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        rbAUTH1B1.setText("AUTH 1B");
        rbAUTH1B1.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));

        lblKeyIndex1.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        lblKeyIndex1.setText("Key Index");

        cboKeyIndex1.setModel(new javax.swing.DefaultComboBoxModel(new String[] { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31" }));
        cboKeyIndex1.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));

        jLabel2.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        jLabel2.setText("PK");

        javax.swing.GroupLayout pnlHeader1Layout = new javax.swing.GroupLayout(pnlHeader1);
        pnlHeader1.setLayout(pnlHeader1Layout);
        pnlHeader1Layout.setHorizontalGroup(
            pnlHeader1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(pnlHeader1Layout.createSequentialGroup()
                .addGap(4, 4, 4)
                .addComponent(rbAUTH1A1)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(rbAUTH1B1)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(lblKeyIndex1)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(cboKeyIndex1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jLabel2)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        pnlHeader1Layout.setVerticalGroup(
            pnlHeader1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, pnlHeader1Layout.createSequentialGroup()
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addGroup(pnlHeader1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(rbAUTH1A1)
                    .addComponent(rbAUTH1B1)
                    .addComponent(lblKeyIndex1)
                    .addComponent(cboKeyIndex1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel2)))
        );

        pgLinearReadWrite1.setTabLayoutPolicy(javax.swing.JTabbedPane.SCROLL_TAB_LAYOUT);
        pgLinearReadWrite1.setFont(new java.awt.Font("Verdana", 1, 11)); // NOI18N

        lblReadData1.setBorder(javax.swing.BorderFactory.createEtchedBorder());

        txtLRLinearAddress1.setFont(new java.awt.Font("Verdana", 1, 12)); // NOI18N
        txtLRLinearAddress1.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        txtLRLinearAddress1.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));

        txtLRDataLength1.setFont(new java.awt.Font("Verdana", 1, 12)); // NOI18N
        txtLRDataLength1.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        txtLRDataLength1.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));

        btnLinearRead1.setFont(new java.awt.Font("Verdana", 1, 12)); // NOI18N
        btnLinearRead1.setText("READ");
        btnLinearRead1.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
        btnLinearRead1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnLinearRead1ActionPerformed(evt);
            }
        });

        lblLRReadData1.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        lblLRReadData1.setText("Read Data");

        txtLinearRead1.setColumns(20);
        txtLinearRead1.setEditable(false);
        txtLinearRead1.setFont(new java.awt.Font("Verdana", 1, 11)); // NOI18N
        txtLinearRead1.setLineWrap(true);
        txtLinearRead1.setRows(10);
        txtLinearRead1.setAutoscrolls(false);
        jScrollPane9.setViewportView(txtLinearRead1);

        lblLRLinearAddress1.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        lblLRLinearAddress1.setText("Linear Address");

        lblLRDataLength1.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        lblLRDataLength1.setText("Data Length");

        lblReadBytes1.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        lblReadBytes1.setText("Read Bytes");

        txtReadBytes1.setEditable(false);
        txtReadBytes1.setFont(new java.awt.Font("Verdana", 1, 12)); // NOI18N
        txtReadBytes1.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        txtReadBytes1.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));

        chkAscii1.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        chkAscii1.setText("Ascii");
        chkAscii1.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));

        javax.swing.GroupLayout lblReadData1Layout = new javax.swing.GroupLayout(lblReadData1);
        lblReadData1.setLayout(lblReadData1Layout);
        lblReadData1Layout.setHorizontalGroup(
            lblReadData1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, lblReadData1Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(lblReadData1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(jScrollPane9, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 472, Short.MAX_VALUE)
                    .addGroup(javax.swing.GroupLayout.Alignment.LEADING, lblReadData1Layout.createSequentialGroup()
                        .addComponent(lblLRReadData1)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 361, Short.MAX_VALUE)
                        .addComponent(chkAscii1))
                    .addGroup(javax.swing.GroupLayout.Alignment.LEADING, lblReadData1Layout.createSequentialGroup()
                        .addGroup(lblReadData1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(lblReadData1Layout.createSequentialGroup()
                                .addComponent(lblLRLinearAddress1)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                            .addGroup(lblReadData1Layout.createSequentialGroup()
                                .addComponent(lblLRDataLength1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addGap(3, 3, 3)))
                        .addGroup(lblReadData1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                            .addComponent(txtLRDataLength1)
                            .addComponent(txtLRLinearAddress1, javax.swing.GroupLayout.DEFAULT_SIZE, 47, Short.MAX_VALUE))
                        .addGroup(lblReadData1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(lblReadData1Layout.createSequentialGroup()
                                .addGap(18, 18, 18)
                                .addComponent(lblReadBytes1)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                .addComponent(txtReadBytes1, javax.swing.GroupLayout.PREFERRED_SIZE, 47, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addGap(192, 192, 192))
                            .addGroup(lblReadData1Layout.createSequentialGroup()
                                .addGap(169, 169, 169)
                                .addComponent(btnLinearRead1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)))))
                .addContainerGap())
        );
        lblReadData1Layout.setVerticalGroup(
            lblReadData1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(lblReadData1Layout.createSequentialGroup()
                .addGroup(lblReadData1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(lblLRReadData1)
                    .addComponent(chkAscii1))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jScrollPane9, javax.swing.GroupLayout.PREFERRED_SIZE, 131, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGroup(lblReadData1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(lblReadData1Layout.createSequentialGroup()
                        .addGap(3, 3, 3)
                        .addGroup(lblReadData1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(txtLRLinearAddress1, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(lblLRLinearAddress1))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 30, Short.MAX_VALUE)
                        .addGroup(lblReadData1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(txtLRDataLength1, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(lblLRDataLength1))
                        .addContainerGap())
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, lblReadData1Layout.createSequentialGroup()
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 36, Short.MAX_VALUE)
                        .addGroup(lblReadData1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, lblReadData1Layout.createSequentialGroup()
                                .addGroup(lblReadData1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                    .addComponent(lblReadBytes1)
                                    .addComponent(txtReadBytes1, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE))
                                .addGap(21, 21, 21))
                            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, lblReadData1Layout.createSequentialGroup()
                                .addComponent(btnLinearRead1, javax.swing.GroupLayout.PREFERRED_SIZE, 52, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addContainerGap())))))
        );

        pgLinearReadWrite1.addTab("Linear Read", lblReadData1);

        pgLinearReadAKM13.setFont(new java.awt.Font("Verdana", 1, 11)); // NOI18N

        lblLRReadDataAKM3.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        lblLRReadDataAKM3.setText("Read Data");

        chkAsciiAKM3.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        chkAsciiAKM3.setText("Ascii");
        chkAsciiAKM3.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));

        txtLinearReadAKM3.setColumns(20);
        txtLinearReadAKM3.setEditable(false);
        txtLinearReadAKM3.setFont(new java.awt.Font("Verdana", 1, 11)); // NOI18N
        txtLinearReadAKM3.setLineWrap(true);
        txtLinearReadAKM3.setRows(10);
        txtLinearReadAKM3.setAutoscrolls(false);
        jScrollPane10.setViewportView(txtLinearReadAKM3);

        lblLRLinearAddressAKM3.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        lblLRLinearAddressAKM3.setText("Linear Address");

        txtLRLinearAddressAKM3.setFont(new java.awt.Font("Verdana", 1, 12)); // NOI18N
        txtLRLinearAddressAKM3.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        txtLRLinearAddressAKM3.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));

        lblLRDataLengthAKM3.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        lblLRDataLengthAKM3.setText("Data Length");

        txtLRDataLengthAKM3.setFont(new java.awt.Font("Verdana", 1, 12)); // NOI18N
        txtLRDataLengthAKM3.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        txtLRDataLengthAKM3.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));

        lblReadBytesAKM3.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        lblReadBytesAKM3.setText("Read Bytes");

        txtReadBytesAKM3.setEditable(false);
        txtReadBytesAKM3.setFont(new java.awt.Font("Verdana", 1, 12)); // NOI18N
        txtReadBytesAKM3.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        txtReadBytesAKM3.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));

        btnLinearReadAKM3.setFont(new java.awt.Font("Verdana", 1, 12)); // NOI18N
        btnLinearReadAKM3.setText("READ");
        btnLinearReadAKM3.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
        btnLinearReadAKM3.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnLinearReadAKM3ActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout tabLinearReadAKM3Layout = new javax.swing.GroupLayout(tabLinearReadAKM3);
        tabLinearReadAKM3.setLayout(tabLinearReadAKM3Layout);
        tabLinearReadAKM3Layout.setHorizontalGroup(
            tabLinearReadAKM3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(tabLinearReadAKM3Layout.createSequentialGroup()
                .addGap(10, 10, 10)
                .addGroup(tabLinearReadAKM3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(tabLinearReadAKM3Layout.createSequentialGroup()
                        .addComponent(lblLRReadDataAKM3)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 359, Short.MAX_VALUE)
                        .addComponent(chkAsciiAKM3))
                    .addComponent(jScrollPane10, javax.swing.GroupLayout.DEFAULT_SIZE, 470, Short.MAX_VALUE)
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, tabLinearReadAKM3Layout.createSequentialGroup()
                        .addGroup(tabLinearReadAKM3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(tabLinearReadAKM3Layout.createSequentialGroup()
                                .addComponent(lblLRLinearAddressAKM3)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                            .addGroup(tabLinearReadAKM3Layout.createSequentialGroup()
                                .addComponent(lblLRDataLengthAKM3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addGap(3, 3, 3)))
                        .addGroup(tabLinearReadAKM3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                            .addComponent(txtLRDataLengthAKM3)
                            .addComponent(txtLRLinearAddressAKM3, javax.swing.GroupLayout.DEFAULT_SIZE, 47, Short.MAX_VALUE))
                        .addGap(18, 18, 18)
                        .addComponent(lblReadBytesAKM3)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(txtReadBytesAKM3, javax.swing.GroupLayout.PREFERRED_SIZE, 47, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(35, 35, 35)
                        .addComponent(btnLinearReadAKM3, javax.swing.GroupLayout.PREFERRED_SIZE, 159, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addGap(106, 106, 106))
        );
        tabLinearReadAKM3Layout.setVerticalGroup(
            tabLinearReadAKM3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(tabLinearReadAKM3Layout.createSequentialGroup()
                .addGroup(tabLinearReadAKM3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(lblLRReadDataAKM3)
                    .addComponent(chkAsciiAKM3))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jScrollPane10, javax.swing.GroupLayout.PREFERRED_SIZE, 77, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(tabLinearReadAKM3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(btnLinearReadAKM3, javax.swing.GroupLayout.DEFAULT_SIZE, 111, Short.MAX_VALUE)
                    .addGroup(tabLinearReadAKM3Layout.createSequentialGroup()
                        .addGap(12, 12, 12)
                        .addGroup(tabLinearReadAKM3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(lblReadBytesAKM3)
                            .addComponent(txtReadBytesAKM3, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGap(16, 16, 16))
                    .addGroup(tabLinearReadAKM3Layout.createSequentialGroup()
                        .addGroup(tabLinearReadAKM3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(txtLRLinearAddressAKM3, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(lblLRLinearAddressAKM3))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 49, Short.MAX_VALUE)
                        .addGroup(tabLinearReadAKM3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(txtLRDataLengthAKM3, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(lblLRDataLengthAKM3))))
                .addContainerGap())
        );

        pgLinearReadAKM13.addTab("LinearRead AKM1", tabLinearReadAKM3);

        lblLRReadDataAKM4.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        lblLRReadDataAKM4.setText("Read Data");

        chkAsciiAKM4.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        chkAsciiAKM4.setText("Ascii");
        chkAsciiAKM4.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));

        txtLinearReadAKM4.setColumns(20);
        txtLinearReadAKM4.setEditable(false);
        txtLinearReadAKM4.setFont(new java.awt.Font("Verdana", 1, 11)); // NOI18N
        txtLinearReadAKM4.setLineWrap(true);
        txtLinearReadAKM4.setRows(10);
        txtLinearReadAKM4.setAutoscrolls(false);
        jScrollPane11.setViewportView(txtLinearReadAKM4);

        lblLRLinearAddressAKM4.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        lblLRLinearAddressAKM4.setText("Linear Address");

        txtLRLinearAddressAKM4.setFont(new java.awt.Font("Verdana", 1, 12)); // NOI18N
        txtLRLinearAddressAKM4.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        txtLRLinearAddressAKM4.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));

        lblLRDataLengthAKM4.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        lblLRDataLengthAKM4.setText("Data Length");

        txtLRDataLengthAKM4.setFont(new java.awt.Font("Verdana", 1, 12)); // NOI18N
        txtLRDataLengthAKM4.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        txtLRDataLengthAKM4.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));

        lblReadBytesAKM4.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        lblReadBytesAKM4.setText("Read Bytes");

        txtReadBytesAKM4.setEditable(false);
        txtReadBytesAKM4.setFont(new java.awt.Font("Verdana", 1, 12)); // NOI18N
        txtReadBytesAKM4.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        txtReadBytesAKM4.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));

        btnLinearReadAKM4.setFont(new java.awt.Font("Verdana", 1, 12)); // NOI18N
        btnLinearReadAKM4.setText("READ");
        btnLinearReadAKM4.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
        btnLinearReadAKM4.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnLinearReadAKM4ActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout tabLinearReadAKM4Layout = new javax.swing.GroupLayout(tabLinearReadAKM4);
        tabLinearReadAKM4.setLayout(tabLinearReadAKM4Layout);
        tabLinearReadAKM4Layout.setHorizontalGroup(
            tabLinearReadAKM4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(tabLinearReadAKM4Layout.createSequentialGroup()
                .addGap(10, 10, 10)
                .addGroup(tabLinearReadAKM4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(tabLinearReadAKM4Layout.createSequentialGroup()
                        .addComponent(lblLRReadDataAKM4)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 366, Short.MAX_VALUE)
                        .addComponent(chkAsciiAKM4))
                    .addComponent(jScrollPane11, javax.swing.GroupLayout.DEFAULT_SIZE, 477, Short.MAX_VALUE)
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, tabLinearReadAKM4Layout.createSequentialGroup()
                        .addGroup(tabLinearReadAKM4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(tabLinearReadAKM4Layout.createSequentialGroup()
                                .addComponent(lblLRLinearAddressAKM4)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                            .addGroup(tabLinearReadAKM4Layout.createSequentialGroup()
                                .addComponent(lblLRDataLengthAKM4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addGap(3, 3, 3)))
                        .addGroup(tabLinearReadAKM4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                            .addComponent(txtLRDataLengthAKM4)
                            .addComponent(txtLRLinearAddressAKM4, javax.swing.GroupLayout.DEFAULT_SIZE, 47, Short.MAX_VALUE))
                        .addGap(18, 18, 18)
                        .addComponent(lblReadBytesAKM4)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(txtReadBytesAKM4, javax.swing.GroupLayout.PREFERRED_SIZE, 47, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(35, 35, 35)
                        .addComponent(btnLinearReadAKM4, javax.swing.GroupLayout.PREFERRED_SIZE, 166, javax.swing.GroupLayout.PREFERRED_SIZE)))
                .addGap(99, 99, 99))
        );
        tabLinearReadAKM4Layout.setVerticalGroup(
            tabLinearReadAKM4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(tabLinearReadAKM4Layout.createSequentialGroup()
                .addGroup(tabLinearReadAKM4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(lblLRReadDataAKM4)
                    .addComponent(chkAsciiAKM4))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jScrollPane11, javax.swing.GroupLayout.PREFERRED_SIZE, 77, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(tabLinearReadAKM4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(btnLinearReadAKM4, javax.swing.GroupLayout.DEFAULT_SIZE, 111, Short.MAX_VALUE)
                    .addGroup(tabLinearReadAKM4Layout.createSequentialGroup()
                        .addGap(12, 12, 12)
                        .addGroup(tabLinearReadAKM4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(lblReadBytesAKM4)
                            .addComponent(txtReadBytesAKM4, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGap(16, 16, 16))
                    .addGroup(tabLinearReadAKM4Layout.createSequentialGroup()
                        .addGroup(tabLinearReadAKM4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(txtLRLinearAddressAKM4, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(lblLRLinearAddressAKM4))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 49, Short.MAX_VALUE)
                        .addGroup(tabLinearReadAKM4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(txtLRDataLengthAKM4, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(lblLRDataLengthAKM4))))
                .addContainerGap())
        );

        pgLinearReadAKM13.addTab("LinearRead AKM2", tabLinearReadAKM4);

        javax.swing.GroupLayout tabLinearReadAKM13Layout = new javax.swing.GroupLayout(tabLinearReadAKM13);
        tabLinearReadAKM13.setLayout(tabLinearReadAKM13Layout);
        tabLinearReadAKM13Layout.setHorizontalGroup(
            tabLinearReadAKM13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(pgLinearReadAKM13, javax.swing.GroupLayout.DEFAULT_SIZE, 502, Short.MAX_VALUE)
        );
        tabLinearReadAKM13Layout.setVerticalGroup(
            tabLinearReadAKM13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(pgLinearReadAKM13)
        );

        pgLinearReadWrite1.addTab("LinearRead AKM1/AKM2", tabLinearReadAKM13);

        lblLRReadDataPK1.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        lblLRReadDataPK1.setText("Read Data");

        txtLinearReadPK1.setColumns(20);
        txtLinearReadPK1.setEditable(false);
        txtLinearReadPK1.setFont(new java.awt.Font("Verdana", 1, 11)); // NOI18N
        txtLinearReadPK1.setLineWrap(true);
        txtLinearReadPK1.setRows(10);
        txtLinearReadPK1.setAutoscrolls(false);
        jScrollPane12.setViewportView(txtLinearReadPK1);

        chkAsciiPK1.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        chkAsciiPK1.setText("Ascii");
        chkAsciiPK1.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));

        lblLRLinearAddressPK1.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        lblLRLinearAddressPK1.setText("Linear Address");

        txtLRLinearAddressPK1.setFont(new java.awt.Font("Verdana", 1, 12)); // NOI18N
        txtLRLinearAddressPK1.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        txtLRLinearAddressPK1.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));

        lblLRDataLengthPK1.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        lblLRDataLengthPK1.setText("Data Length");

        txtLRDataLengthPK1.setFont(new java.awt.Font("Verdana", 1, 12)); // NOI18N
        txtLRDataLengthPK1.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        txtLRDataLengthPK1.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));

        lblReadBytesPK1.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        lblReadBytesPK1.setText("Read Bytes");

        txtReadBytesPK1.setEditable(false);
        txtReadBytesPK1.setFont(new java.awt.Font("Verdana", 1, 12)); // NOI18N
        txtReadBytesPK1.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        txtReadBytesPK1.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));

        btnLinearReadPK1.setFont(new java.awt.Font("Verdana", 1, 12)); // NOI18N
        btnLinearReadPK1.setText("READ");
        btnLinearReadPK1.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
        btnLinearReadPK1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnLinearReadPK1ActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout tabLinearReadPK1Layout = new javax.swing.GroupLayout(tabLinearReadPK1);
        tabLinearReadPK1.setLayout(tabLinearReadPK1Layout);
        tabLinearReadPK1Layout.setHorizontalGroup(
            tabLinearReadPK1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, tabLinearReadPK1Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(tabLinearReadPK1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addComponent(jScrollPane12, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 476, Short.MAX_VALUE)
                    .addGroup(javax.swing.GroupLayout.Alignment.LEADING, tabLinearReadPK1Layout.createSequentialGroup()
                        .addComponent(lblLRReadDataPK1)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 365, Short.MAX_VALUE)
                        .addComponent(chkAsciiPK1))
                    .addGroup(javax.swing.GroupLayout.Alignment.LEADING, tabLinearReadPK1Layout.createSequentialGroup()
                        .addGroup(tabLinearReadPK1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(tabLinearReadPK1Layout.createSequentialGroup()
                                .addComponent(lblLRLinearAddressPK1)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 31, Short.MAX_VALUE))
                            .addGroup(tabLinearReadPK1Layout.createSequentialGroup()
                                .addComponent(lblLRDataLengthPK1, javax.swing.GroupLayout.DEFAULT_SIZE, 114, Short.MAX_VALUE)
                                .addGap(3, 3, 3)))
                        .addGroup(tabLinearReadPK1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                            .addComponent(txtLRDataLengthPK1)
                            .addComponent(txtLRLinearAddressPK1, javax.swing.GroupLayout.DEFAULT_SIZE, 47, Short.MAX_VALUE))
                        .addGap(18, 18, 18)
                        .addComponent(lblReadBytesPK1)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(txtReadBytesPK1, javax.swing.GroupLayout.PREFERRED_SIZE, 47, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(29, 29, 29)
                        .addComponent(btnLinearReadPK1, javax.swing.GroupLayout.DEFAULT_SIZE, 135, Short.MAX_VALUE)))
                .addContainerGap())
        );
        tabLinearReadPK1Layout.setVerticalGroup(
            tabLinearReadPK1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(tabLinearReadPK1Layout.createSequentialGroup()
                .addGroup(tabLinearReadPK1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(lblLRReadDataPK1)
                    .addComponent(chkAsciiPK1))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jScrollPane12, javax.swing.GroupLayout.PREFERRED_SIZE, 89, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGroup(tabLinearReadPK1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(tabLinearReadPK1Layout.createSequentialGroup()
                        .addGap(30, 30, 30)
                        .addGroup(tabLinearReadPK1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(lblReadBytesPK1)
                            .addComponent(txtReadBytesPK1, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGap(21, 21, 21))
                    .addGroup(tabLinearReadPK1Layout.createSequentialGroup()
                        .addGap(18, 18, 18)
                        .addGroup(tabLinearReadPK1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(btnLinearReadPK1, javax.swing.GroupLayout.DEFAULT_SIZE, 128, Short.MAX_VALUE)
                            .addGroup(tabLinearReadPK1Layout.createSequentialGroup()
                                .addGroup(tabLinearReadPK1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                    .addComponent(txtLRLinearAddressPK1, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(lblLRLinearAddressPK1))
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 70, Short.MAX_VALUE)
                                .addGroup(tabLinearReadPK1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                    .addComponent(txtLRDataLengthPK1, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(lblLRDataLengthPK1))))
                        .addContainerGap())))
        );

        pgLinearReadWrite1.addTab("LinearRead PK", tabLinearReadPK1);

        lblWriteData1.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        lblWriteData1.setText("Write Data");

        txtLinearWrite1.setColumns(20);
        txtLinearWrite1.setFont(new java.awt.Font("Verdana", 1, 11)); // NOI18N
        txtLinearWrite1.setLineWrap(true);
        txtLinearWrite1.setRows(10);
        txtLinearWrite1.setAutoscrolls(false);
        jScrollPane13.setViewportView(txtLinearWrite1);

        lblLWLinearAddress1.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        lblLWLinearAddress1.setText("Linear Address");

        txtLWLinearAddress1.setFont(new java.awt.Font("Verdana", 1, 12)); // NOI18N
        txtLWLinearAddress1.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        txtLWLinearAddress1.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));

        lblLWDataLength1.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        lblLWDataLength1.setText("Data Length");

        txtLWDataLength1.setFont(new java.awt.Font("Verdana", 1, 12)); // NOI18N
        txtLWDataLength1.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        txtLWDataLength1.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));

        lblBytesWritten1.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        lblBytesWritten1.setText("Bytes Written");

        txtBytesWritten1.setEditable(false);
        txtBytesWritten1.setFont(new java.awt.Font("Verdana", 1, 12)); // NOI18N
        txtBytesWritten1.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        txtBytesWritten1.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));

        btnLinearWrite1.setFont(new java.awt.Font("Verdana", 1, 12)); // NOI18N
        btnLinearWrite1.setText("WRITE");
        btnLinearWrite1.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
        btnLinearWrite1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnLinearWrite1ActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout tabLinearWrite1Layout = new javax.swing.GroupLayout(tabLinearWrite1);
        tabLinearWrite1.setLayout(tabLinearWrite1Layout);
        tabLinearWrite1Layout.setHorizontalGroup(
            tabLinearWrite1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, tabLinearWrite1Layout.createSequentialGroup()
                .addContainerGap(280, Short.MAX_VALUE)
                .addComponent(txtBytesWritten1, javax.swing.GroupLayout.PREFERRED_SIZE, 47, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(18, 18, 18)
                .addComponent(btnLinearWrite1, javax.swing.GroupLayout.PREFERRED_SIZE, 130, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGap(27, 27, 27))
            .addGroup(tabLinearWrite1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(tabLinearWrite1Layout.createSequentialGroup()
                    .addGap(12, 12, 12)
                    .addGroup(tabLinearWrite1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addGroup(tabLinearWrite1Layout.createSequentialGroup()
                            .addComponent(jScrollPane13, javax.swing.GroupLayout.PREFERRED_SIZE, 470, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addContainerGap())
                        .addGroup(tabLinearWrite1Layout.createSequentialGroup()
                            .addGroup(tabLinearWrite1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                                .addGroup(javax.swing.GroupLayout.Alignment.LEADING, tabLinearWrite1Layout.createSequentialGroup()
                                    .addComponent(lblWriteData1)
                                    .addGap(417, 417, 417))
                                .addGroup(javax.swing.GroupLayout.Alignment.LEADING, tabLinearWrite1Layout.createSequentialGroup()
                                    .addGroup(tabLinearWrite1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                                        .addGroup(tabLinearWrite1Layout.createSequentialGroup()
                                            .addComponent(lblLWLinearAddress1)
                                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                                        .addGroup(tabLinearWrite1Layout.createSequentialGroup()
                                            .addComponent(lblLWDataLength1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                            .addGap(3, 3, 3)))
                                    .addGroup(tabLinearWrite1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                                        .addComponent(txtLWDataLength1)
                                        .addComponent(txtLWLinearAddress1, javax.swing.GroupLayout.DEFAULT_SIZE, 47, Short.MAX_VALUE))
                                    .addGap(18, 18, 18)
                                    .addComponent(lblBytesWritten1)
                                    .addGap(224, 224, 224)))
                            .addGap(12, 12, 12)))))
        );
        tabLinearWrite1Layout.setVerticalGroup(
            tabLinearWrite1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(tabLinearWrite1Layout.createSequentialGroup()
                .addContainerGap(183, Short.MAX_VALUE)
                .addGroup(tabLinearWrite1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, tabLinearWrite1Layout.createSequentialGroup()
                        .addComponent(txtBytesWritten1, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(26, 26, 26))
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, tabLinearWrite1Layout.createSequentialGroup()
                        .addComponent(btnLinearWrite1, javax.swing.GroupLayout.PREFERRED_SIZE, 65, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addContainerGap())))
            .addGroup(tabLinearWrite1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(tabLinearWrite1Layout.createSequentialGroup()
                    .addGap(9, 9, 9)
                    .addComponent(lblWriteData1)
                    .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                    .addComponent(jScrollPane13, javax.swing.GroupLayout.PREFERRED_SIZE, 89, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGroup(tabLinearWrite1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                        .addGroup(tabLinearWrite1Layout.createSequentialGroup()
                            .addGap(30, 30, 30)
                            .addComponent(lblBytesWritten1)
                            .addGap(13, 13, 13))
                        .addGroup(tabLinearWrite1Layout.createSequentialGroup()
                            .addGroup(tabLinearWrite1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                .addComponent(txtLWLinearAddress1, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(lblLWLinearAddress1))
                            .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 83, Short.MAX_VALUE)
                            .addGroup(tabLinearWrite1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                .addComponent(txtLWDataLength1, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addComponent(lblLWDataLength1))))
                    .addContainerGap()))
        );

        pgLinearReadWrite1.addTab("Linear Write", tabLinearWrite1);

        pgLinearWriteAKM13.setFont(new java.awt.Font("Verdana", 1, 11)); // NOI18N

        lblWriteDataAKM3.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        lblWriteDataAKM3.setText("Write Data");

        txtLinearWriteAKM3.setColumns(20);
        txtLinearWriteAKM3.setEditable(false);
        txtLinearWriteAKM3.setFont(new java.awt.Font("Verdana", 1, 11)); // NOI18N
        txtLinearWriteAKM3.setLineWrap(true);
        txtLinearWriteAKM3.setRows(10);
        txtLinearWriteAKM3.setAutoscrolls(false);
        jScrollPane14.setViewportView(txtLinearWriteAKM3);

        lblLWLinearAddressAKM3.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        lblLWLinearAddressAKM3.setText("Linear Address");

        txtLWLinearAddressAKM3.setFont(new java.awt.Font("Verdana", 1, 12)); // NOI18N
        txtLWLinearAddressAKM3.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        txtLWLinearAddressAKM3.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));

        lblLWDataLengthAKM3.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        lblLWDataLengthAKM3.setText("Data Length");

        txtLWDataLengthAKM3.setFont(new java.awt.Font("Verdana", 1, 12)); // NOI18N
        txtLWDataLengthAKM3.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        txtLWDataLengthAKM3.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));

        lblbytesWrittenAKM2.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        lblbytesWrittenAKM2.setText("Bytes Written");

        txtBytesWrittenAKM3.setEditable(false);
        txtBytesWrittenAKM3.setFont(new java.awt.Font("Verdana", 1, 12)); // NOI18N
        txtBytesWrittenAKM3.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        txtBytesWrittenAKM3.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));

        btnLinearWriteAKM3.setFont(new java.awt.Font("Verdana", 1, 12)); // NOI18N
        btnLinearWriteAKM3.setText("WRITE");
        btnLinearWriteAKM3.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
        btnLinearWriteAKM3.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnLinearWriteAKM3ActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout tabLinearWriteAKM3Layout = new javax.swing.GroupLayout(tabLinearWriteAKM3);
        tabLinearWriteAKM3.setLayout(tabLinearWriteAKM3Layout);
        tabLinearWriteAKM3Layout.setHorizontalGroup(
            tabLinearWriteAKM3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(tabLinearWriteAKM3Layout.createSequentialGroup()
                .addGap(10, 10, 10)
                .addGroup(tabLinearWriteAKM3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(lblWriteDataAKM3)
                    .addComponent(jScrollPane14, javax.swing.GroupLayout.DEFAULT_SIZE, 482, Short.MAX_VALUE)
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, tabLinearWriteAKM3Layout.createSequentialGroup()
                        .addGroup(tabLinearWriteAKM3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(tabLinearWriteAKM3Layout.createSequentialGroup()
                                .addComponent(lblLWLinearAddressAKM3)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                            .addGroup(tabLinearWriteAKM3Layout.createSequentialGroup()
                                .addComponent(lblLWDataLengthAKM3, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addGap(3, 3, 3)))
                        .addGroup(tabLinearWriteAKM3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                            .addComponent(txtLWDataLengthAKM3)
                            .addComponent(txtLWLinearAddressAKM3, javax.swing.GroupLayout.DEFAULT_SIZE, 47, Short.MAX_VALUE))
                        .addGap(26, 26, 26)
                        .addComponent(lblbytesWrittenAKM2)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(txtBytesWrittenAKM3, javax.swing.GroupLayout.PREFERRED_SIZE, 47, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(btnLinearWriteAKM3, javax.swing.GroupLayout.PREFERRED_SIZE, 162, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(14, 14, 14)))
                .addGap(94, 94, 94))
        );
        tabLinearWriteAKM3Layout.setVerticalGroup(
            tabLinearWriteAKM3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(tabLinearWriteAKM3Layout.createSequentialGroup()
                .addComponent(lblWriteDataAKM3)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jScrollPane14, javax.swing.GroupLayout.PREFERRED_SIZE, 77, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(tabLinearWriteAKM3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(btnLinearWriteAKM3, javax.swing.GroupLayout.DEFAULT_SIZE, 115, Short.MAX_VALUE)
                    .addGroup(tabLinearWriteAKM3Layout.createSequentialGroup()
                        .addGap(12, 12, 12)
                        .addGroup(tabLinearWriteAKM3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(txtBytesWrittenAKM3, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(lblbytesWrittenAKM2))
                        .addGap(16, 16, 16))
                    .addGroup(tabLinearWriteAKM3Layout.createSequentialGroup()
                        .addGroup(tabLinearWriteAKM3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(txtLWLinearAddressAKM3, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(lblLWLinearAddressAKM3))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 56, Short.MAX_VALUE)
                        .addGroup(tabLinearWriteAKM3Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(txtLWDataLengthAKM3, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(lblLWDataLengthAKM3))))
                .addContainerGap())
        );

        pgLinearWriteAKM13.addTab("LinearWrite AKM1", tabLinearWriteAKM3);

        lblWriteDataAKM4.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        lblWriteDataAKM4.setText("Write Data");

        txtLinearWriteAKM4.setColumns(20);
        txtLinearWriteAKM4.setEditable(false);
        txtLinearWriteAKM4.setFont(new java.awt.Font("Verdana", 1, 11)); // NOI18N
        txtLinearWriteAKM4.setLineWrap(true);
        txtLinearWriteAKM4.setRows(10);
        txtLinearWriteAKM4.setAutoscrolls(false);
        jScrollPane15.setViewportView(txtLinearWriteAKM4);

        lblLWLinearAddressAKM4.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        lblLWLinearAddressAKM4.setText("Linear Address");

        txtLWLinearAddressAKM4.setFont(new java.awt.Font("Verdana", 1, 12)); // NOI18N
        txtLWLinearAddressAKM4.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        txtLWLinearAddressAKM4.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));

        lblLWDataLengthAKM4.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        lblLWDataLengthAKM4.setText("Data Length");

        txtLWDataLengthAKM4.setFont(new java.awt.Font("Verdana", 1, 12)); // NOI18N
        txtLWDataLengthAKM4.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        txtLWDataLengthAKM4.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));

        lbBytesWrittenAKM3.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        lbBytesWrittenAKM3.setText("Bytes Written");

        txtBytesWrittenAKM4.setEditable(false);
        txtBytesWrittenAKM4.setFont(new java.awt.Font("Verdana", 1, 12)); // NOI18N
        txtBytesWrittenAKM4.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        txtBytesWrittenAKM4.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));

        btnLinearWriteAKM4.setFont(new java.awt.Font("Verdana", 1, 12)); // NOI18N
        btnLinearWriteAKM4.setText("WRITE");
        btnLinearWriteAKM4.setCursor(new java.awt.Cursor(java.awt.Cursor.HAND_CURSOR));
        btnLinearWriteAKM4.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnLinearWriteAKM4ActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout tabLinearWriteAKM4Layout = new javax.swing.GroupLayout(tabLinearWriteAKM4);
        tabLinearWriteAKM4.setLayout(tabLinearWriteAKM4Layout);
        tabLinearWriteAKM4Layout.setHorizontalGroup(
            tabLinearWriteAKM4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(tabLinearWriteAKM4Layout.createSequentialGroup()
                .addGap(10, 10, 10)
                .addGroup(tabLinearWriteAKM4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(lblWriteDataAKM4)
                    .addComponent(jScrollPane15, javax.swing.GroupLayout.DEFAULT_SIZE, 482, Short.MAX_VALUE)
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, tabLinearWriteAKM4Layout.createSequentialGroup()
                        .addGroup(tabLinearWriteAKM4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addGroup(tabLinearWriteAKM4Layout.createSequentialGroup()
                                .addComponent(lblLWLinearAddressAKM4)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
                            .addGroup(tabLinearWriteAKM4Layout.createSequentialGroup()
                                .addComponent(lblLWDataLengthAKM4, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                                .addGap(3, 3, 3)))
                        .addGroup(tabLinearWriteAKM4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING, false)
                            .addComponent(txtLWDataLengthAKM4)
                            .addComponent(txtLWLinearAddressAKM4, javax.swing.GroupLayout.DEFAULT_SIZE, 47, Short.MAX_VALUE))
                        .addGap(26, 26, 26)
                        .addComponent(lbBytesWrittenAKM3)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(txtBytesWrittenAKM4, javax.swing.GroupLayout.PREFERRED_SIZE, 47, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(btnLinearWriteAKM4, javax.swing.GroupLayout.PREFERRED_SIZE, 162, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(14, 14, 14)))
                .addGap(94, 94, 94))
        );
        tabLinearWriteAKM4Layout.setVerticalGroup(
            tabLinearWriteAKM4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(tabLinearWriteAKM4Layout.createSequentialGroup()
                .addComponent(lblWriteDataAKM4)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jScrollPane15, javax.swing.GroupLayout.PREFERRED_SIZE, 77, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(tabLinearWriteAKM4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(btnLinearWriteAKM4, javax.swing.GroupLayout.DEFAULT_SIZE, 115, Short.MAX_VALUE)
                    .addGroup(tabLinearWriteAKM4Layout.createSequentialGroup()
                        .addGap(12, 12, 12)
                        .addGroup(tabLinearWriteAKM4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(txtBytesWrittenAKM4, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(lbBytesWrittenAKM3))
                        .addGap(16, 16, 16))
                    .addGroup(tabLinearWriteAKM4Layout.createSequentialGroup()
                        .addGroup(tabLinearWriteAKM4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(txtLWLinearAddressAKM4, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(lblLWLinearAddressAKM4))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 56, Short.MAX_VALUE)
                        .addGroup(tabLinearWriteAKM4Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(txtLWDataLengthAKM4, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(lblLWDataLengthAKM4))))
                .addContainerGap())
        );

        pgLinearWriteAKM13.addTab("LinearWrite AKM2", tabLinearWriteAKM4);

        javax.swing.GroupLayout tabLinearWriteAKM13Layout = new javax.swing.GroupLayout(tabLinearWriteAKM13);
        tabLinearWriteAKM13.setLayout(tabLinearWriteAKM13Layout);
        tabLinearWriteAKM13Layout.setHorizontalGroup(
            tabLinearWriteAKM13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(pgLinearWriteAKM13, javax.swing.GroupLayout.DEFAULT_SIZE, 507, Short.MAX_VALUE)
        );
        tabLinearWriteAKM13Layout.setVerticalGroup(
            tabLinearWriteAKM13Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(pgLinearWriteAKM13)
        );

        pgLinearReadWrite1.addTab("LinearWrite AKM1/AKM2", tabLinearWriteAKM13);

        lblWriteDataPK1.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        lblWriteDataPK1.setText("Write Data");

        txtLinearWritePK1.setColumns(20);
        txtLinearWritePK1.setEditable(false);
        txtLinearWritePK1.setFont(new java.awt.Font("Verdana", 1, 11)); // NOI18N
        txtLinearWritePK1.setLineWrap(true);
        txtLinearWritePK1.setRows(10);
        txtLinearWritePK1.setAutoscrolls(false);
        jScrollPane16.setViewportView(txtLinearWritePK1);

        lblLWLinearAddressPK1.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        lblLWLinearAddressPK1.setText("Linear Address");

        txtLWLinearAddressPK1.setFont(new java.awt.Font("Verdana", 1, 12)); // NOI18N
        txtLWLinearAddressPK1.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        txtLWLinearAddressPK1.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));

        lblLWDataLengthPK1.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        lblLWDataLengthPK1.setText("Data Length");

        txtLWDataLengthPK1.setFont(new java.awt.Font("Verdana", 1, 12)); // NOI18N
        txtLWDataLengthPK1.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        txtLWDataLengthPK1.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));

        lblBytesWrittenPK1.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        lblBytesWrittenPK1.setText("Bytes Written");

        txtBytesWrittenPK1.setEditable(false);
        txtBytesWrittenPK1.setFont(new java.awt.Font("Verdana", 1, 12)); // NOI18N
        txtBytesWrittenPK1.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        txtBytesWrittenPK1.setBorder(javax.swing.BorderFactory.createLineBorder(new java.awt.Color(0, 0, 0)));

        btnLinearWritePK1.setFont(new java.awt.Font("Verdana", 1, 11)); // NOI18N
        btnLinearWritePK1.setText("WRITE");
        btnLinearWritePK1.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                btnLinearWritePK1ActionPerformed(evt);
            }
        });

        javax.swing.GroupLayout tabLinearWritePK1Layout = new javax.swing.GroupLayout(tabLinearWritePK1);
        tabLinearWritePK1.setLayout(tabLinearWritePK1Layout);
        tabLinearWritePK1Layout.setHorizontalGroup(
            tabLinearWritePK1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(tabLinearWritePK1Layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(tabLinearWritePK1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addGroup(tabLinearWritePK1Layout.createSequentialGroup()
                        .addComponent(jScrollPane16, javax.swing.GroupLayout.DEFAULT_SIZE, 476, Short.MAX_VALUE)
                        .addContainerGap())
                    .addGroup(tabLinearWritePK1Layout.createSequentialGroup()
                        .addComponent(lblWriteDataPK1)
                        .addContainerGap(425, Short.MAX_VALUE))
                    .addGroup(tabLinearWritePK1Layout.createSequentialGroup()
                        .addGroup(tabLinearWritePK1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(lblLWDataLengthPK1, javax.swing.GroupLayout.DEFAULT_SIZE, 124, Short.MAX_VALUE)
                            .addComponent(lblLWLinearAddressPK1))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(tabLinearWritePK1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(txtLWLinearAddressPK1, javax.swing.GroupLayout.PREFERRED_SIZE, 43, javax.swing.GroupLayout.PREFERRED_SIZE)
                            .addComponent(txtLWDataLengthPK1, javax.swing.GroupLayout.PREFERRED_SIZE, 43, javax.swing.GroupLayout.PREFERRED_SIZE))
                        .addGap(18, 18, 18)
                        .addComponent(lblBytesWrittenPK1)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addComponent(txtBytesWrittenPK1, javax.swing.GroupLayout.PREFERRED_SIZE, 47, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                        .addComponent(btnLinearWritePK1, javax.swing.GroupLayout.PREFERRED_SIZE, 128, javax.swing.GroupLayout.PREFERRED_SIZE)
                        .addGap(8, 8, 8))))
        );
        tabLinearWritePK1Layout.setVerticalGroup(
            tabLinearWritePK1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(tabLinearWritePK1Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(lblWriteDataPK1)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(jScrollPane16, javax.swing.GroupLayout.PREFERRED_SIZE, 83, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addGroup(tabLinearWritePK1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                    .addGroup(javax.swing.GroupLayout.Alignment.LEADING, tabLinearWritePK1Layout.createSequentialGroup()
                        .addGap(21, 21, 21)
                        .addGroup(tabLinearWritePK1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                            .addComponent(lblBytesWrittenPK1)
                            .addComponent(txtBytesWrittenPK1, javax.swing.GroupLayout.PREFERRED_SIZE, 29, javax.swing.GroupLayout.PREFERRED_SIZE)))
                    .addGroup(tabLinearWritePK1Layout.createSequentialGroup()
                        .addGap(6, 6, 6)
                        .addGroup(tabLinearWritePK1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(btnLinearWritePK1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, tabLinearWritePK1Layout.createSequentialGroup()
                                .addGroup(tabLinearWritePK1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                    .addComponent(txtLWLinearAddressPK1, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(lblLWLinearAddressPK1))
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                                .addGroup(tabLinearWritePK1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                                    .addComponent(txtLWDataLengthPK1, javax.swing.GroupLayout.PREFERRED_SIZE, 23, javax.swing.GroupLayout.PREFERRED_SIZE)
                                    .addComponent(lblLWDataLengthPK1))))))
                .addGap(169, 169, 169))
        );

        pgLinearReadWrite1.addTab("LinearWrite_PK", tabLinearWritePK1);

        javax.swing.GroupLayout jInternalFrame1Layout = new javax.swing.GroupLayout(jInternalFrame1.getContentPane());
        jInternalFrame1.getContentPane().setLayout(jInternalFrame1Layout);
        jInternalFrame1Layout.setHorizontalGroup(
            jInternalFrame1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(pnlHeader1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
            .addComponent(stbFunction1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
            .addGroup(jInternalFrame1Layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(pgLinearReadWrite1, javax.swing.GroupLayout.PREFERRED_SIZE, 501, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))
        );
        jInternalFrame1Layout.setVerticalGroup(
            jInternalFrame1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(jInternalFrame1Layout.createSequentialGroup()
                .addComponent(pnlHeader1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                .addComponent(pgLinearReadWrite1, javax.swing.GroupLayout.PREFERRED_SIZE, 288, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(stbFunction1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE))
        );

        getContentPane().add(jInternalFrame1, new org.netbeans.lib.awtextra.AbsoluteConstraints(280, 179, 0, 0));

        lblFunction.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        lblFunction.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        lblFunction.setText("Function Error");
        getContentPane().add(lblFunction, new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 338, 140, 20));

        txtFErrorCode.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        txtFErrorCode.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        txtFErrorCode.setText(" ");
        getContentPane().add(txtFErrorCode, new org.netbeans.lib.awtextra.AbsoluteConstraints(140, 338, 80, 20));

        txtFErrorExplain.setFont(new java.awt.Font("Verdana", 0, 11)); // NOI18N
        txtFErrorExplain.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        txtFErrorExplain.setText(" ");
        getContentPane().add(txtFErrorExplain, new org.netbeans.lib.awtextra.AbsoluteConstraints(220, 338, 340, 20));

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void formInternalFrameOpened(javax.swing.event.InternalFrameEvent evt) {//GEN-FIRST:event_formInternalFrameOpened
        new Global().CreateKey(312, 5, 31, 29, "txtPKKey", pnlHeader);
    }//GEN-LAST:event_formInternalFrameOpened

    private void btnLinearReadActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnLinearReadActionPerformed
        frmMain M = new frmMain();
        if (M.GetFunct() || M.GetLoop()) {
            return;
        }
        try
        {
          M.SetFunct(true);
          int iFResult               = 0;
          byte auth_mode             = (rbAUTH1A.isSelected() ? MIFARE_AUTHENT1A : MIFARE_AUTHENT1B);                                                  
          byte key_index             = (byte) cboKeyIndex.getSelectedIndex() ;
          short linear_address       = 0;
          short data_length          = 0;
        
          ShortByReference bytes_ret = new ShortByReference();
        
            if (txtLRLinearAddress.getText().trim().isEmpty()) {
                JOptionPane.showMessageDialog(rootPane, "You must enter the  LINEAR ADDRESS !", "Warning", JOptionPane.WARNING_MESSAGE);
                txtLRLinearAddress.requestFocus();
                return;
            }
            if (txtLRDataLength.getText().trim().isEmpty()) {
                JOptionPane.showMessageDialog(rootPane, "You must enter the  DATA LENGTH!", "Warning", JOptionPane.WARNING_MESSAGE);
                txtLRDataLength.requestFocus();
                return;
            }
            
            linear_address = Short.parseShort(txtLRLinearAddress.getText());
            data_length    = Short.parseShort(txtLRDataLength.getText());
            byte[] read_data = new byte[data_length];
            txtReadBytes.setText("");
            
            iFResult = Declarations.UFrDeclarations.UFRInstance.LinearRead(read_data, linear_address, data_length, bytes_ret, auth_mode, key_index);
            if (iFResult == DL_OK) {                
                txtLinearRead.setText(new String(read_data, 0, data_length));
                txtReadBytes.setText(Short.toString(bytes_ret.getValue()));
                Declarations.UFrDeclarations.UFRInstance.ReaderUISignal(FUNCT_LIGHT_OK, FUNCT_SOUND_OK);
                M.SetStatusBar(txtFErrorCode,txtFErrorExplain,iFResult);                
            } else {
                txtLinearRead.setText(new String(read_data, 0, data_length));
                txtReadBytes.setText(Short.toString(bytes_ret.getValue()));
                Declarations.UFrDeclarations.UFRInstance.ReaderUISignal(FUNCT_LIGHT_ERROR,FUNCT_SOUND_ERROR);
                M.SetStatusBar(txtFErrorCode,txtFErrorExplain,iFResult);                
            }
        } catch (NumberFormatException e) {
            JOptionPane.showMessageDialog(rootPane, APPROPRIATE_FORMAT, "Error !", JOptionPane.ERROR_MESSAGE);
        } finally {
            M.SetFunct(false);            
        }

    }//GEN-LAST:event_btnLinearReadActionPerformed

    private void btnLinearReadAKM1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnLinearReadAKM1ActionPerformed
        frmMain M = new frmMain();
        if (M.GetFunct() || M.GetLoop()) {
            return;
        }
        try
        {
          M.SetFunct(true);
          int iFResult               = 0;
          byte auth_mode             = (rbAUTH1A.isSelected() ? MIFARE_AUTHENT1A : MIFARE_AUTHENT1B);        
          short linear_address       = 0;
          short data_length          = 0;        
          ShortByReference bytes_ret = new ShortByReference();
        
            if (txtLRLinearAddressAKM1.getText().trim().isEmpty()) {
                JOptionPane.showMessageDialog(rootPane, "You must enter the  LINEAR ADDRESS !", "Warning", JOptionPane.WARNING_MESSAGE);
                txtLRLinearAddressAKM1.requestFocus();
                return;
            }
            if (txtLRDataLengthAKM1.getText().trim().isEmpty()) {
                JOptionPane.showMessageDialog(rootPane, "You must enter the  DATA LENGTH !", "Warning", JOptionPane.WARNING_MESSAGE);
                txtLRDataLengthAKM1.requestFocus();
                return;
            }
           
            linear_address = Short.parseShort(txtLRLinearAddressAKM1.getText());
            data_length = Short.parseShort(txtLRDataLengthAKM1.getText());
            byte[] read_data = new byte[data_length];
            txtReadBytesAKM1.setText("");
            
            iFResult = Declarations.UFrDeclarations.UFRInstance.LinearRead_AKM1(read_data, linear_address, data_length, bytes_ret, auth_mode);
            if (iFResult == DL_OK) {                
                txtLinearReadAKM1.setText(new String(read_data, 0, data_length));
                txtReadBytesAKM1.setText(Short.toString(bytes_ret.getValue()));
                Declarations.UFrDeclarations.UFRInstance.ReaderUISignal(FUNCT_LIGHT_OK, FUNCT_SOUND_OK);
                M.SetStatusBar(txtFErrorCode,txtFErrorExplain,iFResult);                
            } else {
                txtLinearReadAKM1.setText(new String(read_data, 0, data_length));
                txtReadBytesAKM1.setText(Short.toString(bytes_ret.getValue()));
                Declarations.UFrDeclarations.UFRInstance.ReaderUISignal(FUNCT_LIGHT_ERROR,FUNCT_SOUND_ERROR);
                M.SetStatusBar(txtFErrorCode,txtFErrorExplain,iFResult);                
            }
        } catch (NumberFormatException e) {
            JOptionPane.showMessageDialog(rootPane, APPROPRIATE_FORMAT, "Error !", JOptionPane.ERROR_MESSAGE);
        } finally {
            M.SetFunct(false);            
        }
    }//GEN-LAST:event_btnLinearReadAKM1ActionPerformed

    private void btnLinearWriteActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnLinearWriteActionPerformed
        frmMain M = new frmMain();
        if (M.GetFunct() || M.GetLoop()) {
            return;
        }
        try
        {
          M.SetFunct(true);
          int iFResult                   = 0;
          byte auth_mode                 = (rbAUTH1A.isSelected() ? MIFARE_AUTHENT1A : MIFARE_AUTHENT1B);        
          short linear_address           = 0;
          short data_length              = 0;
          byte key_index                 = (byte) cboKeyIndex.getSelectedIndex() ;
          ShortByReference bytes_written = new ShortByReference();
        
            if (txtLinearWrite.getText().trim().isEmpty()) {
                JOptionPane.showMessageDialog(rootPane, ANY_DATA, "Warning !", JOptionPane.WARNING_MESSAGE);
                txtLinearWrite.requestFocus();
                return;
            }
            if (txtLWLinearAddress.getText().trim().isEmpty()) {
                JOptionPane.showMessageDialog(rootPane, "You must enter the  LINEAR ADDRESS !", "Warning !", JOptionPane.WARNING_MESSAGE);
                txtLWLinearAddress.requestFocus();
                return;
            }
            if (txtLWDataLength.getText().trim().isEmpty()) {
                JOptionPane.showMessageDialog(rootPane, "You must enter the  DATA LENGTH !", "Warning !", JOptionPane.WARNING_MESSAGE);
                txtLWDataLength.requestFocus();
                return;
            }
                        
            linear_address = Short.parseShort(txtLWLinearAddress.getText());
            data_length    = Short.parseShort(txtLWDataLength.getText());
            byte[] write_data = new byte[data_length];
            txtBytesWritten.setText("");
            
            write_data = txtLinearWrite.getText().getBytes();
            iFResult = Declarations.UFrDeclarations.UFRInstance.LinearWrite(write_data, linear_address, data_length, bytes_written, auth_mode, key_index);
            if (iFResult == DL_OK) {
                txtBytesWritten.setText(Short.toString(bytes_written.getValue()));
                Declarations.UFrDeclarations.UFRInstance.ReaderUISignal(FUNCT_LIGHT_OK, FUNCT_SOUND_OK);
                M.SetStatusBar(txtFErrorCode,txtFErrorExplain,iFResult);                
            } else {
                txtBytesWritten.setText(Short.toString(bytes_written.getValue()));
                Declarations.UFrDeclarations.UFRInstance.ReaderUISignal(FUNCT_LIGHT_ERROR,FUNCT_SOUND_ERROR);
                M.SetStatusBar(txtFErrorCode,txtFErrorExplain,iFResult);                
            }
        } catch (NumberFormatException nfe) {
            JOptionPane.showMessageDialog(rootPane, APPROPRIATE_FORMAT, "Error !", JOptionPane.ERROR_MESSAGE);
        } finally {
            M.SetFunct(false);              
        }

    }//GEN-LAST:event_btnLinearWriteActionPerformed

    private void btnLinearWriteAKM1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnLinearWriteAKM1ActionPerformed
        frmMain M = new frmMain();
        if (M.GetFunct() || M.GetLoop()) {
            return;
        }
        try
        {
          M.SetFunct(true);
          int iFResult                   = 0;
          byte auth_mode                 = (rbAUTH1A.isSelected() ? MIFARE_AUTHENT1A : MIFARE_AUTHENT1B);        
          short linear_address           = 0;
          short data_length              = 0;
          ShortByReference bytes_written = new ShortByReference();
          
            if (txtLinearWriteAKM1.getText().trim().isEmpty()) {
                JOptionPane.showMessageDialog(rootPane, ANY_DATA, "Warning !", JOptionPane.WARNING_MESSAGE);
                txtLinearWriteAKM1.requestFocus();
                return;
            }
            if (txtLWLinearAddressAKM1.getText().trim().isEmpty()) {
                JOptionPane.showMessageDialog(rootPane, "You must enter the  LINEAR ADDRESS !", "Warning !", JOptionPane.WARNING_MESSAGE);
                txtLWLinearAddressAKM1.requestFocus();
                return;
            }
            if (txtLWDataLengthAKM1.getText().trim().isEmpty()) {
                JOptionPane.showMessageDialog(rootPane, "You must enter the  DATA LENGTH !", "Warning !", JOptionPane.WARNING_MESSAGE);
                txtLWDataLengthAKM1.requestFocus();
                return;
            }
            
            linear_address = Short.parseShort(txtLWLinearAddressAKM1.getText());
            data_length = Short.parseShort(txtLWDataLengthAKM1.getText());
            byte[] write_data = new byte[data_length];
            
            txtBytesWrittenAKM1.setText("");
            write_data = txtLinearWriteAKM1.getText().getBytes();
            iFResult = Declarations.UFrDeclarations.UFRInstance.LinearWrite_AKM1(write_data, linear_address, data_length, bytes_written, auth_mode);
            if (iFResult == DL_OK) {
                txtBytesWrittenAKM1.setText(Short.toString(bytes_written.getValue()));
                Declarations.UFrDeclarations.UFRInstance.ReaderUISignal(FUNCT_LIGHT_OK, FUNCT_SOUND_OK);
                M.SetStatusBar(txtFErrorCode,txtFErrorExplain,iFResult);                
            } else {
                txtBytesWrittenAKM1.setText(Short.toString(bytes_written.getValue()));
                Declarations.UFrDeclarations.UFRInstance.ReaderUISignal(FUNCT_LIGHT_ERROR,FUNCT_SOUND_ERROR);
                M.SetStatusBar(txtFErrorCode,txtFErrorExplain,iFResult);                
            }
        } catch (NumberFormatException nfe) {
            JOptionPane.showMessageDialog(rootPane, APPROPRIATE_FORMAT, "Error !", JOptionPane.ERROR_MESSAGE);
        } finally {
            M.SetFunct(false);              
        }
    }//GEN-LAST:event_btnLinearWriteAKM1ActionPerformed

    private void btnLinearRead1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnLinearRead1ActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_btnLinearRead1ActionPerformed

    private void btnLinearReadAKM3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnLinearReadAKM3ActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_btnLinearReadAKM3ActionPerformed

    private void btnLinearReadAKM4ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnLinearReadAKM4ActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_btnLinearReadAKM4ActionPerformed

    private void btnLinearReadPK1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnLinearReadPK1ActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_btnLinearReadPK1ActionPerformed

    private void btnLinearWrite1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnLinearWrite1ActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_btnLinearWrite1ActionPerformed

    private void btnLinearWriteAKM3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnLinearWriteAKM3ActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_btnLinearWriteAKM3ActionPerformed

    private void btnLinearWriteAKM4ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnLinearWriteAKM4ActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_btnLinearWriteAKM4ActionPerformed

    private void btnLinearWritePK1ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnLinearWritePK1ActionPerformed
        // TODO add your handling code here:
    }//GEN-LAST:event_btnLinearWritePK1ActionPerformed

    private void jInternalFrame1formInternalFrameOpened(javax.swing.event.InternalFrameEvent evt) {//GEN-FIRST:event_jInternalFrame1formInternalFrameOpened
        // TODO add your handling code here:
    }//GEN-LAST:event_jInternalFrame1formInternalFrameOpened

    private void btnLinearReadAKM2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnLinearReadAKM2ActionPerformed
        frmMain M = new frmMain();
        if (M.GetFunct() || M.GetLoop()) {
            return;
        }
        try
        {
          M.SetFunct(true);
          int iFResult                   = 0;
          byte auth_mode                 = (rbAUTH1A.isSelected() ? MIFARE_AUTHENT1A : MIFARE_AUTHENT1B);        
          short linear_address           = 0;
          short data_length              = 0;
          ShortByReference bytes_ret     = new ShortByReference();        
          
            if (txtLRLinearAddressAKM2.getText().trim().isEmpty()) {
                JOptionPane.showMessageDialog(rootPane, "You must enter the  LINEAR ADDRESS !", "Warning", JOptionPane.WARNING_MESSAGE);
                txtLRLinearAddressAKM2.requestFocus();
                return;
            }
            if (txtLRDataLengthAKM2.getText().trim().isEmpty()) {
                JOptionPane.showMessageDialog(rootPane, "You must enter the  DATA LENGTH !", "Warning", JOptionPane.WARNING_MESSAGE);
                txtLRDataLengthAKM1.requestFocus();
                return;
            }

            linear_address = Short.parseShort(txtLRLinearAddressAKM2.getText());
            data_length = Short.parseShort(txtLRDataLengthAKM2.getText());
            byte[] read_data = new byte[data_length];
            
            txtReadBytesAKM2.setText("");
            iFResult = Declarations.UFrDeclarations.UFRInstance.LinearRead_AKM2(read_data, linear_address, data_length, bytes_ret, auth_mode);
            if (iFResult == DL_OK) {
                
                txtLinearReadAKM2.setText(new String(read_data, 0, data_length));
                txtReadBytesAKM2.setText(Short.toString(bytes_ret.getValue()));
                Declarations.UFrDeclarations.UFRInstance.ReaderUISignal(FUNCT_LIGHT_OK, FUNCT_SOUND_OK);
                M.SetStatusBar(txtFErrorCode,txtFErrorExplain,iFResult);                
            } else {

                txtLinearReadAKM2.setText(new String(read_data, 0, data_length));
                txtReadBytesAKM2.setText(Integer.toString(bytes_ret.getValue()));
                Declarations.UFrDeclarations.UFRInstance.ReaderUISignal(FUNCT_LIGHT_ERROR,FUNCT_SOUND_ERROR);
                M.SetStatusBar(txtFErrorCode,txtFErrorExplain,iFResult);                
            }
        } catch (NumberFormatException e) {
            JOptionPane.showMessageDialog(rootPane, APPROPRIATE_FORMAT, "Error !", JOptionPane.ERROR_MESSAGE);
        } finally {
            M.SetFunct(false);
        }
    }//GEN-LAST:event_btnLinearReadAKM2ActionPerformed

    private void btnLinearReadPKActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnLinearReadPKActionPerformed
        frmMain M = new frmMain();
        if (M.GetFunct() || M.GetLoop()) {
            return;
        }
        try
        {
          M.SetFunct(true);
          int iFResult                   = 0;
          byte auth_mode                 = (rbAUTH1A.isSelected() ? MIFARE_AUTHENT1A : MIFARE_AUTHENT1B);        
          short linear_address           = 0;
          short data_length              = 0;
          ShortByReference bytes_ret     = new ShortByReference();
        
            if (txtLRLinearAddressPK.getText().trim().isEmpty()) {
                JOptionPane.showMessageDialog(rootPane, "You must enter the  LINEAR ADDRESS !", "Warning", JOptionPane.WARNING_MESSAGE);
                txtLRLinearAddressPK.requestFocus();
                return;
            }
            if (txtLRDataLengthPK.getText().trim().isEmpty()) {
                JOptionPane.showMessageDialog(rootPane, "You must enter the  DATA LENGTH !", "Warning", JOptionPane.WARNING_MESSAGE);
                txtLRDataLengthPK.requestFocus();
                return;
            }

            linear_address = Short.parseShort(txtLRLinearAddressPK.getText());
            data_length = Short.parseShort(txtLRDataLengthPK.getText());
            byte[] read_data = new byte[data_length];
            txtReadBytesPK.setText("");
            iFResult = Declarations.UFrDeclarations.UFRInstance.LinearRead_PK(read_data, linear_address, data_length, bytes_ret, auth_mode, new Global().PK_KEY(pnlHeader));
            if (iFResult == DL_OK) {                
                txtLinearReadPK.setText(new String(read_data, 0, data_length));
                txtReadBytesPK.setText(Short.toString(bytes_ret.getValue()));
                Declarations.UFrDeclarations.UFRInstance.ReaderUISignal(FUNCT_LIGHT_OK, FUNCT_SOUND_OK);
                M.SetStatusBar(txtFErrorCode,txtFErrorExplain,iFResult);                
            } else {
                txtLinearReadPK.setText(new String(read_data, 0, data_length));
                txtReadBytesPK.setText(Integer.toString(bytes_ret.getValue()));
                Declarations.UFrDeclarations.UFRInstance.ReaderUISignal(FUNCT_LIGHT_ERROR,FUNCT_SOUND_ERROR);
                M.SetStatusBar(txtFErrorCode,txtFErrorExplain,iFResult);                
            }
        } catch (NumberFormatException e) {
            JOptionPane.showMessageDialog(rootPane, APPROPRIATE_FORMAT, "Error !", JOptionPane.ERROR_MESSAGE);
        } finally {
            M.SetFunct(false);
        }
    }//GEN-LAST:event_btnLinearReadPKActionPerformed

    private void btnLinearWriteAKM2ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnLinearWriteAKM2ActionPerformed
        frmMain M = new frmMain();
        if (M.GetFunct() || M.GetLoop()) {
            return;
        }
        try
        {
          M.SetFunct(true);
          int iFResult                   = 0;
          byte auth_mode                 = (rbAUTH1A.isSelected() ? MIFARE_AUTHENT1A : MIFARE_AUTHENT1B);        
          short linear_address           = 0;
          short data_length              = 0;
          ShortByReference bytes_written = new ShortByReference();
          
            if (txtLinearWriteAKM2.getText().trim().isEmpty()) {
                JOptionPane.showMessageDialog(rootPane, ANY_DATA, "Warning !", JOptionPane.WARNING_MESSAGE);
                txtLinearWriteAKM2.requestFocus();
                return;
            }
            if (txtLWLinearAddressAKM2.getText().trim().isEmpty()) {
                JOptionPane.showMessageDialog(rootPane, "You must enter the  LINEAR ADDRESS !", "Warning !", JOptionPane.WARNING_MESSAGE);
                txtLWLinearAddressAKM2.requestFocus();
                return;
            }
            if (txtLWDataLengthAKM2.getText().trim().isEmpty()) {
                JOptionPane.showMessageDialog(rootPane, "You must enter the  DATA LENGTH !", "Warning !", JOptionPane.WARNING_MESSAGE);
                txtLWDataLengthAKM2.requestFocus();
                return;
            }

            linear_address = Short.parseShort(txtLWLinearAddressAKM2.getText());
            data_length = Short.parseShort(txtLWDataLengthAKM2.getText());
            byte[] write_data = new byte[data_length];
            txtBytesWrittenAKM2.setText("");
            write_data = txtLinearWriteAKM2.getText().getBytes();
            iFResult = Declarations.UFrDeclarations.UFRInstance.LinearWrite_AKM2(write_data, linear_address, data_length, bytes_written, auth_mode);
            if (iFResult == DL_OK) {
                txtBytesWrittenAKM2.setText(Short.toString(bytes_written.getValue()));
                Declarations.UFrDeclarations.UFRInstance.ReaderUISignal(FUNCT_LIGHT_OK, FUNCT_SOUND_OK);
                M.SetStatusBar(txtFErrorCode,txtFErrorExplain,iFResult);
                

            } else {
                txtBytesWrittenAKM2.setText(Short.toString(bytes_written.getValue()));
                Declarations.UFrDeclarations.UFRInstance.ReaderUISignal(FUNCT_LIGHT_ERROR,FUNCT_SOUND_ERROR);
                M.SetStatusBar(txtFErrorCode,txtFErrorExplain,iFResult);                
            }
        } catch (NumberFormatException nfe) {
            JOptionPane.showMessageDialog(rootPane, APPROPRIATE_FORMAT, "Error !", JOptionPane.ERROR_MESSAGE);
        } finally {
            M.SetFunct(false);            
        }
    }//GEN-LAST:event_btnLinearWriteAKM2ActionPerformed

    private void btnLinearWritePKActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_btnLinearWritePKActionPerformed
       frmMain M = new frmMain();
        if (M.GetFunct() || M.GetLoop()) {
            return;
        }
        try
        {
          M.SetFunct(true);
          int iFResult                   = 0;
          byte auth_mode                 = (rbAUTH1A.isSelected() ? MIFARE_AUTHENT1A : MIFARE_AUTHENT1B);        
          short linear_address           = 0;
          short data_length              = 0;
          ShortByReference bytes_written = new ShortByReference();
          
            if (txtLinearWritePK.getText().trim().isEmpty()) {
                JOptionPane.showMessageDialog(rootPane, ANY_DATA, "Warning !", JOptionPane.WARNING_MESSAGE);
                txtLinearWritePK.requestFocus();
                return;
            }
            if (txtLWLinearAddressPK.getText().trim().isEmpty()) {
                JOptionPane.showMessageDialog(rootPane, "You must enter the  LINEAR ADDRESS !", "Warning !", JOptionPane.WARNING_MESSAGE);
                txtLWLinearAddressPK.requestFocus();
                return;
            }
            if (txtLWDataLengthPK.getText().trim().isEmpty()) {
                JOptionPane.showMessageDialog(rootPane, "You must enter the  DATA LENGTH !", "Warning !", JOptionPane.WARNING_MESSAGE);
                txtLWDataLengthPK.requestFocus();
                return;
            }

            linear_address = Short.parseShort(txtLWLinearAddressPK.getText());
            data_length = Short.parseShort(txtLWDataLengthPK.getText());
            byte[] write_data = new byte[data_length];
            
            txtBytesWrittenPK.setText("");
            write_data = txtLinearWritePK.getText().getBytes();
            iFResult = Declarations.UFrDeclarations.UFRInstance.LinearWrite_PK(write_data, linear_address, data_length, bytes_written, auth_mode, new Global().PK_KEY(pnlHeader));
            if (iFResult == DL_OK) {
                txtBytesWrittenPK.setText(Short.toString(bytes_written.getValue()));
                Declarations.UFrDeclarations.UFRInstance.ReaderUISignal(FUNCT_LIGHT_OK, FUNCT_SOUND_OK);
                M.SetStatusBar(txtFErrorCode,txtFErrorExplain,iFResult);
                

            } else {
                txtBytesWrittenPK.setText(Short.toString(bytes_written.getValue()));
                Declarations.UFrDeclarations.UFRInstance.ReaderUISignal(FUNCT_LIGHT_ERROR,FUNCT_SOUND_ERROR);
                M.SetStatusBar(txtFErrorCode,txtFErrorExplain,iFResult);                
            }
        } catch (NumberFormatException nfe) {
            JOptionPane.showMessageDialog(rootPane, APPROPRIATE_FORMAT, "Error !", JOptionPane.ERROR_MESSAGE);
        } finally {
            M.SetFunct(false);            
        }
}//GEN-LAST:event_btnLinearWritePKActionPerformed

    private void txtLinearWriteAKM1KeyTyped(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txtLinearWriteAKM1KeyTyped
        txtLWDataLengthAKM1.setText(Integer.toString(txtLinearWriteAKM1.getText().length()+1));
    }//GEN-LAST:event_txtLinearWriteAKM1KeyTyped

    private void txtLinearWriteAKM2KeyTyped(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txtLinearWriteAKM2KeyTyped
       txtLWDataLengthAKM2.setText(Integer.toString(txtLinearWriteAKM2.getText().length()+1));
    }//GEN-LAST:event_txtLinearWriteAKM2KeyTyped

    private void txtLinearWriteKeyTyped(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txtLinearWriteKeyTyped
        txtLWDataLength.setText(Integer.toString(txtLinearWrite.getText().length()+1));
    }//GEN-LAST:event_txtLinearWriteKeyTyped

    private void txtLinearWritePKKeyTyped(java.awt.event.KeyEvent evt) {//GEN-FIRST:event_txtLinearWritePKKeyTyped
        txtLWDataLengthPK.setText(Integer.toString(txtLinearWritePK.getText().length()+1));
    }//GEN-LAST:event_txtLinearWritePKKeyTyped

    private void formMouseDragged(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_formMouseDragged
        // TODO add your handling code here:
        System.exit(0);
    }//GEN-LAST:event_formMouseDragged

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.ButtonGroup btnGroup;
    private javax.swing.JButton btnLinearRead;
    private javax.swing.JButton btnLinearRead1;
    private javax.swing.JButton btnLinearReadAKM1;
    private javax.swing.JButton btnLinearReadAKM2;
    private javax.swing.JButton btnLinearReadAKM3;
    private javax.swing.JButton btnLinearReadAKM4;
    private javax.swing.JButton btnLinearReadPK;
    private javax.swing.JButton btnLinearReadPK1;
    private javax.swing.JButton btnLinearWrite;
    private javax.swing.JButton btnLinearWrite1;
    private javax.swing.JButton btnLinearWriteAKM1;
    private javax.swing.JButton btnLinearWriteAKM2;
    private javax.swing.JButton btnLinearWriteAKM3;
    private javax.swing.JButton btnLinearWriteAKM4;
    private javax.swing.JButton btnLinearWritePK;
    private javax.swing.JButton btnLinearWritePK1;
    private javax.swing.JComboBox cboKeyIndex;
    private javax.swing.JComboBox cboKeyIndex1;
    private javax.swing.JCheckBox chkAscii1;
    private javax.swing.JCheckBox chkAsciiAKM3;
    private javax.swing.JCheckBox chkAsciiAKM4;
    private javax.swing.JCheckBox chkAsciiPK1;
    private javax.swing.JInternalFrame jInternalFrame1;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JScrollPane jScrollPane10;
    private javax.swing.JScrollPane jScrollPane11;
    private javax.swing.JScrollPane jScrollPane12;
    private javax.swing.JScrollPane jScrollPane13;
    private javax.swing.JScrollPane jScrollPane14;
    private javax.swing.JScrollPane jScrollPane15;
    private javax.swing.JScrollPane jScrollPane16;
    private javax.swing.JScrollPane jScrollPane2;
    private javax.swing.JScrollPane jScrollPane3;
    private javax.swing.JScrollPane jScrollPane4;
    private javax.swing.JScrollPane jScrollPane5;
    private javax.swing.JScrollPane jScrollPane6;
    private javax.swing.JScrollPane jScrollPane7;
    private javax.swing.JScrollPane jScrollPane8;
    private javax.swing.JScrollPane jScrollPane9;
    private javax.swing.JLabel lbBytesWrittenAKM3;
    private javax.swing.JLabel lblBytesWritten;
    private javax.swing.JLabel lblBytesWritten1;
    private javax.swing.JLabel lblBytesWrittenPK;
    private javax.swing.JLabel lblBytesWrittenPK1;
    private javax.swing.JTextField lblFunction;
    private javax.swing.JLabel lblFunctionError1;
    private javax.swing.JLabel lblFunction_code1;
    private javax.swing.JLabel lblFunction_explain1;
    private javax.swing.JLabel lblKeyIndex;
    private javax.swing.JLabel lblKeyIndex1;
    private javax.swing.JLabel lblLRDataLength;
    private javax.swing.JLabel lblLRDataLength1;
    private javax.swing.JLabel lblLRDataLengthAKM1;
    private javax.swing.JLabel lblLRDataLengthAKM2;
    private javax.swing.JLabel lblLRDataLengthAKM3;
    private javax.swing.JLabel lblLRDataLengthAKM4;
    private javax.swing.JLabel lblLRDataLengthPK;
    private javax.swing.JLabel lblLRDataLengthPK1;
    private javax.swing.JLabel lblLRLinearAddress;
    private javax.swing.JLabel lblLRLinearAddress1;
    private javax.swing.JLabel lblLRLinearAddressAKM1;
    private javax.swing.JLabel lblLRLinearAddressAKM2;
    private javax.swing.JLabel lblLRLinearAddressAKM3;
    private javax.swing.JLabel lblLRLinearAddressAKM4;
    private javax.swing.JLabel lblLRLinearAddressPK;
    private javax.swing.JLabel lblLRLinearAddressPK1;
    private javax.swing.JLabel lblLRReadData;
    private javax.swing.JLabel lblLRReadData1;
    private javax.swing.JLabel lblLRReadDataAKM1;
    private javax.swing.JLabel lblLRReadDataAKM2;
    private javax.swing.JLabel lblLRReadDataAKM3;
    private javax.swing.JLabel lblLRReadDataAKM4;
    private javax.swing.JLabel lblLRReadDataPK;
    private javax.swing.JLabel lblLRReadDataPK1;
    private javax.swing.JLabel lblLWDataLength;
    private javax.swing.JLabel lblLWDataLength1;
    private javax.swing.JLabel lblLWDataLengthAKM1;
    private javax.swing.JLabel lblLWDataLengthAKM2;
    private javax.swing.JLabel lblLWDataLengthAKM3;
    private javax.swing.JLabel lblLWDataLengthAKM4;
    private javax.swing.JLabel lblLWDataLengthPK;
    private javax.swing.JLabel lblLWDataLengthPK1;
    private javax.swing.JLabel lblLWLinearAddress;
    private javax.swing.JLabel lblLWLinearAddress1;
    private javax.swing.JLabel lblLWLinearAddressAKM1;
    private javax.swing.JLabel lblLWLinearAddressAKM2;
    private javax.swing.JLabel lblLWLinearAddressAKM3;
    private javax.swing.JLabel lblLWLinearAddressAKM4;
    private javax.swing.JLabel lblLWLinearAddressPK;
    private javax.swing.JLabel lblLWLinearAddressPK1;
    private javax.swing.JLabel lblReadBytes;
    private javax.swing.JLabel lblReadBytes1;
    private javax.swing.JLabel lblReadBytesAKM1;
    private javax.swing.JLabel lblReadBytesAKM2;
    private javax.swing.JLabel lblReadBytesAKM3;
    private javax.swing.JLabel lblReadBytesAKM4;
    private javax.swing.JLabel lblReadBytesPK;
    private javax.swing.JLabel lblReadBytesPK1;
    private javax.swing.JPanel lblReadData;
    private javax.swing.JPanel lblReadData1;
    private javax.swing.JLabel lblWriteData;
    private javax.swing.JLabel lblWriteData1;
    private javax.swing.JLabel lblWriteDataAKM1;
    private javax.swing.JLabel lblWriteDataAKM2;
    private javax.swing.JLabel lblWriteDataAKM3;
    private javax.swing.JLabel lblWriteDataAKM4;
    private javax.swing.JLabel lblWriteDataPK;
    private javax.swing.JLabel lblWriteDataPK1;
    private javax.swing.JLabel lblbytesWrittenAKM1;
    private javax.swing.JLabel lblbytesWrittenAKM2;
    private javax.swing.JLabel lblbytesWrittenAKM3;
    private javax.swing.JTabbedPane pgLinearReadAKM12;
    private javax.swing.JTabbedPane pgLinearReadAKM13;
    private javax.swing.JTabbedPane pgLinearReadWrite;
    private javax.swing.JTabbedPane pgLinearReadWrite1;
    private javax.swing.JTabbedPane pgLinearWriteAKM12;
    private javax.swing.JTabbedPane pgLinearWriteAKM13;
    private javax.swing.JPanel pnlHeader;
    private javax.swing.JPanel pnlHeader1;
    private javax.swing.JRadioButton rbAUTH1A;
    private javax.swing.JRadioButton rbAUTH1A1;
    private javax.swing.JRadioButton rbAUTH1B;
    private javax.swing.JRadioButton rbAUTH1B1;
    private javax.swing.JPanel stbFunction1;
    private javax.swing.JPanel tabLinearReadAKM1;
    private javax.swing.JPanel tabLinearReadAKM12;
    private javax.swing.JPanel tabLinearReadAKM13;
    private javax.swing.JPanel tabLinearReadAKM2;
    private javax.swing.JPanel tabLinearReadAKM3;
    private javax.swing.JPanel tabLinearReadAKM4;
    private javax.swing.JPanel tabLinearReadPK;
    private javax.swing.JPanel tabLinearReadPK1;
    private javax.swing.JPanel tabLinearWrite;
    private javax.swing.JPanel tabLinearWrite1;
    private javax.swing.JPanel tabLinearWriteAKM1;
    private javax.swing.JPanel tabLinearWriteAKM12;
    private javax.swing.JPanel tabLinearWriteAKM13;
    private javax.swing.JPanel tabLinearWriteAKM2;
    private javax.swing.JPanel tabLinearWriteAKM3;
    private javax.swing.JPanel tabLinearWriteAKM4;
    private javax.swing.JPanel tabLinearWritePK;
    private javax.swing.JPanel tabLinearWritePK1;
    private javax.swing.JTextField txtBytesWritten;
    private javax.swing.JTextField txtBytesWritten1;
    private javax.swing.JTextField txtBytesWrittenAKM1;
    private javax.swing.JTextField txtBytesWrittenAKM2;
    private javax.swing.JTextField txtBytesWrittenAKM3;
    private javax.swing.JTextField txtBytesWrittenAKM4;
    private javax.swing.JTextField txtBytesWrittenPK;
    private javax.swing.JTextField txtBytesWrittenPK1;
    private javax.swing.JTextField txtFErrorCode;
    private javax.swing.JTextField txtFErrorExplain;
    private javax.swing.JTextField txtLRDataLength;
    private javax.swing.JTextField txtLRDataLength1;
    private javax.swing.JTextField txtLRDataLengthAKM1;
    private javax.swing.JTextField txtLRDataLengthAKM2;
    private javax.swing.JTextField txtLRDataLengthAKM3;
    private javax.swing.JTextField txtLRDataLengthAKM4;
    private javax.swing.JTextField txtLRDataLengthPK;
    private javax.swing.JTextField txtLRDataLengthPK1;
    private javax.swing.JTextField txtLRLinearAddress;
    private javax.swing.JTextField txtLRLinearAddress1;
    private javax.swing.JTextField txtLRLinearAddressAKM1;
    private javax.swing.JTextField txtLRLinearAddressAKM2;
    private javax.swing.JTextField txtLRLinearAddressAKM3;
    private javax.swing.JTextField txtLRLinearAddressAKM4;
    private javax.swing.JTextField txtLRLinearAddressPK;
    private javax.swing.JTextField txtLRLinearAddressPK1;
    private javax.swing.JTextField txtLWDataLength;
    private javax.swing.JTextField txtLWDataLength1;
    private javax.swing.JTextField txtLWDataLengthAKM1;
    private javax.swing.JTextField txtLWDataLengthAKM2;
    private javax.swing.JTextField txtLWDataLengthAKM3;
    private javax.swing.JTextField txtLWDataLengthAKM4;
    private javax.swing.JTextField txtLWDataLengthPK;
    private javax.swing.JTextField txtLWDataLengthPK1;
    private javax.swing.JTextField txtLWLinearAddress;
    private javax.swing.JTextField txtLWLinearAddress1;
    private javax.swing.JTextField txtLWLinearAddressAKM1;
    private javax.swing.JTextField txtLWLinearAddressAKM2;
    private javax.swing.JTextField txtLWLinearAddressAKM3;
    private javax.swing.JTextField txtLWLinearAddressAKM4;
    private javax.swing.JTextField txtLWLinearAddressPK;
    private javax.swing.JTextField txtLWLinearAddressPK1;
    private javax.swing.JTextArea txtLinearRead;
    private javax.swing.JTextArea txtLinearRead1;
    private javax.swing.JTextArea txtLinearReadAKM1;
    private javax.swing.JTextArea txtLinearReadAKM2;
    private javax.swing.JTextArea txtLinearReadAKM3;
    private javax.swing.JTextArea txtLinearReadAKM4;
    private javax.swing.JTextArea txtLinearReadPK;
    private javax.swing.JTextArea txtLinearReadPK1;
    private javax.swing.JTextArea txtLinearWrite;
    private javax.swing.JTextArea txtLinearWrite1;
    private javax.swing.JTextArea txtLinearWriteAKM1;
    private javax.swing.JTextArea txtLinearWriteAKM2;
    private javax.swing.JTextArea txtLinearWriteAKM3;
    private javax.swing.JTextArea txtLinearWriteAKM4;
    private javax.swing.JTextArea txtLinearWritePK;
    private javax.swing.JTextArea txtLinearWritePK1;
    private javax.swing.JTextField txtReadBytes;
    private javax.swing.JTextField txtReadBytes1;
    private javax.swing.JTextField txtReadBytesAKM1;
    private javax.swing.JTextField txtReadBytesAKM2;
    private javax.swing.JTextField txtReadBytesAKM3;
    private javax.swing.JTextField txtReadBytesAKM4;
    private javax.swing.JTextField txtReadBytesPK;
    private javax.swing.JTextField txtReadBytesPK1;
    // End of variables declaration//GEN-END:variables
}
