Skip to content

Commit

Permalink
Merge pull request #5 from opetany93/master
Browse files Browse the repository at this point in the history
Added compiled files .class to .gitignore files
  • Loading branch information
tainfante authored Nov 12, 2017
2 parents 587e253 + ddd6eab commit ce56500
Show file tree
Hide file tree
Showing 6 changed files with 201 additions and 3 deletions.
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
# Compiled class file
*.class

# Output files
out/

\.idea/misc\.xml

Expand Down

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

3 changes: 2 additions & 1 deletion RealTimeSerialPlotter.iml
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,10 @@
<exclude-output />
<content url="file://$MODULE_DIR$">
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
<sourceFolder url="file://$MODULE_DIR$/Resources" isTestSource="false" />
</content>
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
<orderEntry type="library" name="RXTXcomm" level="project" />
<orderEntry type="library" name="jssc-2.8.0" level="project" />
</component>
</module>
Binary file added Resources/jssc-2.8.0.jar
Binary file not shown.
Binary file modified out/production/RealTimeSerialPlotter/mainwindow/COMPort.class
Binary file not shown.
192 changes: 192 additions & 0 deletions src/mainwindow/COMPort.java
Original file line number Diff line number Diff line change
@@ -1,7 +1,199 @@
package mainwindow;

import javafx.scene.control.Toggle;
import jssc.SerialPort;
import jssc.SerialPortException;
import jssc.SerialPortTimeoutException;

public class COMPort
{
private static volatile COMPort PortINSTANCE;

private SerialPort serialPort;

private int baudRate = 115200;
private int dataBits;
private int stopBits;
private int parityBits;

private boolean stopReading = false;

public int getBaudRate()
{
return baudRate;
}

public static COMPort getInstance()
{
if (null == PortINSTANCE)
{
synchronized (COMPort.class)
{
if (null == PortINSTANCE)
{
PortINSTANCE = new COMPort();
}
}
}
return PortINSTANCE;
}

public void setBaudRate(int baudRate)
{
if( null != serialPort)
{
this.baudRate = baudRate;

updateParams();
}
}

public void setParity(Toggle newValue)
{
if( null != serialPort )
{
this.parityBits = (int) newValue.getUserData();

updateParams();
}
}

public void setNumDataBits(Toggle newValue)
{
if( null != serialPort )
{
this.dataBits = (int)newValue.getUserData();

updateParams();
}
}

public void setNumStopBits(Toggle newValue)
{
if( null != serialPort )
{
this.stopBits = (int) newValue.getUserData();

updateParams();
}
}

public boolean open(String serialPortName, int dataBits, int stopBits, int parityBits)
{
this.dataBits = dataBits;
this.stopBits = stopBits;
this.parityBits = parityBits;

if(null != serialPortName)
{
serialPort = new SerialPort(serialPortName);
try
{
serialPort.setParams(baudRate, dataBits, stopBits, parityBits);
}
catch (SerialPortException e)
{
e.printStackTrace();
}

// create new thread and listen for every byte and after that send him to display on Received Text Area in DataTabController
new Thread(() ->
{
byte[] oneChar;

while(!stopReading)
{
try
{
oneChar = serialPort.readBytes(1, 1);
//dataTabInterface.displayByte(oneChar[0]);
}
catch (SerialPortException | SerialPortTimeoutException e)
{
e.printStackTrace();
}
}
}).start();

try
{
return (serialPort.openPort());
}
catch (Exception e){ return false; }
}

return false;
}

public boolean close()
{
boolean isOpened = false;

if(null != serialPort)
{
try
{
isOpened = serialPort.closePort();
}
catch (SerialPortException e)
{
e.printStackTrace();
}

if (!serialPort.isOpened())
{
stopReading = true;

serialPort = null;
}
}

return isOpened;
}

public void send(byte[] buffer)
{
if(null != serialPort)
{
if ( serialPort.isOpened() )
{
try
{
serialPort.writeBytes(buffer);
}
catch (SerialPortException e)
{
e.printStackTrace();
}
}
}
}

public String getSystemPortName()
{
if ( null != serialPort )
{
return serialPort.isOpened() ? serialPort.getPortName() : "";
}
else
{
return "";
}
}

private boolean updateParams()
{
try
{
serialPort.setParams(baudRate, dataBits, stopBits, parityBits);
}
catch (SerialPortException e)
{
e.printStackTrace();

return false;
}

return true;
}
}

0 comments on commit ce56500

Please sign in to comment.