RishiGupta12 / SerialPundit

Serial port communication in Java - FTDI D2XX, HID API, X/Y modem
GNU Affero General Public License v3.0
125 stars 56 forks source link

If i use scm.writeBytes other threads always freeze #38

Open makarna35 opened 5 years ago

makarna35 commented 5 years ago

If i use scm.writeBytes other threads always freeze

Example:

runProgressBar();
// WriteToPort
            Object[] openPort = openComPort(selectedComPort.getSelectedItem().toString());
            scm = (SerialComManager) openPort[0];
            handle = (long) openPort[1];
            try {
                // Write delayInbytes
                scm.writeBytes(handle, messagesData.getBytes(), speedSlider.getValue());
                //System.out.println("WRITE COMPLATE : ");
                //System.out.println("write : " + scm.writeString(handle, textSpeedSliderStringValue, 0));
                portRepeatingRead();
            } catch (Exception e) {
                e.printStackTrace();
            }

public void runProgressBar() {
    loadingBar.setVisible(true);
    loadingBar.setStringPainted(true);
    threadProgressBar = new Thread(new Runnable() {
        @Override
        public void run() {
            int i = 0; 
            try { 
            while (i <= 100) { 
                // fill the menu bar 
                loadingBar.setValue(i + 10); 

                // delay the thread 
                Thread.sleep(messagePercent1); 
                i += 1; 
            } 
        } 
        catch (Exception e) { 
        } 
        }
    });
    threadProgressBar.start();
}

//-------------------------------------------------------// runProgressBar(); function start before scm. But always freeze. after finished write port loadingBar.setVisible(true); work. why?