# gurux.serial.java **Repository Path**: mirrors_gurux/gurux.serial.java ## Basic Information - **Project Name**: gurux.serial.java - **Description**: Gurux Serial port component for Java - **Primary Language**: Unknown - **License**: GPL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-07-17 - **Last Updated**: 2026-01-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README See An [Gurux](http://www.gurux.org/ "Gurux") for an overview. With gurux.serial component you can send data easily syncronously or asyncronously using serial port connection. Join the Gurux Community or follow [@Gurux](https://twitter.com/guruxorg "@Gurux") for project updates. Open Source GXSerial media component, made by Gurux Ltd, is a part of GXMedias set of media components, which programming interfaces help you implement communication by chosen connection type. Our media components also support the following connection types: network. For more info check out [Gurux](http://www.gurux.org/ "Gurux"). With gurux.serial component you can send data easily syncronously or asyncronously. We are updating documentation on Gurux web page. If you have problems you can ask your questions in Gurux [Forum](http://www.gurux.org/forum). You can get source codes from http://www.github.com/gurux or if you use Maven add this to your POM-file: ```java org.gurux gurux.serial ``` Simple example =========================== Before use you must set following settings: * PortName * BaudRate * DataBits * Parity * StopBits It is also good to add listener and start to listen following events. * onError * onReceived * onMediaStateChange * onTrace * onPropertyChanged ```java GXSerial cl = new GXSerial(); cl.setPortName(gurux.serial.GXSerial.getPortNames()[0]); cl.setBaudRate(9600); cl.setDataBits(8); cl.setParity(Parity.ODD); cl.setStopBits(StopBits.ONE); cl.open(); ``` Data is send with send command: ```java cl.Send("Hello World!"); ``` In default mode received data is coming as asynchronously from OnReceived event. Event listener is adding class that you want to use to listen media events and derive class from IGXMediaListener. ```java */ Media listener. */ public class GXSerialListener implements IGXMediaListener { /** Represents the method that will handle the error event of a Gurux component. @param sender The source of the event. @param ex An Exception object that contains the event data. */ @Override void onError(Object sender, RuntimeException ex) { //Show occured error. } /** Media component sends received data through this method. @param sender The source of the event. @param e Event arguments. */ @Override void onReceived(Object sender, ReceiveEventArgs e) { //Handle received asyncronous data here. } /** Media component sends notification, when its state changes. @param sender The source of the event. @param e Event arguments. */ @Override void onMediaStateChange(Object sender, MediaStateEventArgs e) { //Media is open or closed. } /** Called when the Media is sending or receiving data. @param sender @param e @see IGXMedia.Trace Traceseealso> */ @Override void onTrace(Object sender, TraceEventArgs e) { //Send and received data is shown here. } /** Represents the method that will handle the System.ComponentModel.INotifyPropertyChanged.PropertyChanged event raised when a property is changed on a component. @param sender The source of the event. @param sender e A System.ComponentModel.PropertyChangedEventArgs that contains the event data. */ @Override void onPropertyChanged(Object sender, PropertyChangedEventArgs e) { //Example port name is change. } } ``` Listener is registered calling addListener method. ```java cl.addListener(this); ``` Data can be also send as syncronous if needed. ```java synchronized (cl.getSynchronous()) { String reply = ""; ReceiveParameters p = new ReceiveParameters(byte[].class); //End of Packet. p.setEop('\n'); //How long reply is waited. p.setWaitTime(1000); cl.send("Hello World!", null); if (!cl.receive(p)) { throw new RuntimeException("Failed to receive response.."); } } ```