[prev in list] [next in list] [prev in thread] [next in thread] 

List:       rxtx
Subject:    [Rxtx] SerialPortEvent.DATA_AVAILABLE not listening !!
From:       Raman Agarwal <raman_agarwal82 () yahoo ! com>
Date:       2007-04-01 17:25:23
Message-ID: 506615.93205.qm () web34307 ! mail ! mud ! yahoo ! com
[Download RAW message or body]

[Attachment #2 (multipart/alternative)]


Hi,

I used the following Java code to connect two computers through a PSTN modem. It \
works perfectly fine with Java.comm library but somehow doesnt with RXTXcomm.

My diagnosis indicate that the SerialPortEvent.DATA_AVAILABLE doesnot listen even if \
the remote PC has transferred some data to the listening PC. I have made sure that my \
machine isnt busy in any other task and no new constructors are getting initialized, \
etc. 

Can anyone suggest what is the problem and where do i need to modify the code. 

In my experiment, I executed my java code on a PC and ran Hyperterminal on the other. \
Once the modems got "connected", i typed various strings in the Hyperterminal and \
expected them to appear on the first PC (running the java code). Like mentioned \
before, this works fine with "import java.comm.*" and not with "import gnu.io.*"

JRE = 1.5.0_06
JDK = 1.5
RXTX version = 2.1


Thanks in advance, 
   
  Raman Agarwal

   
  ---------------
  Here is the relevant code snippet :-
   
  ========================================== 
  public void run(){
        
      try{
          
          try{
          portId1 = CommPortIdentifier.getPortIdentifier(ComPort);          
          } catch (Exception e) {              
              TimeStamp = new java.util.Date().toString();
              text.append(TimeStamp + ": ComPort " + portId1 + "\n");
              text.append(TimeStamp + ": msg1 - " + e + "\n");
              text.append("\n+++++++++ Restart Application ++++++++\n\n");            \
  ComError = true;                   
          }
    if (ComError == false)
    {
        try {
            TimeStamp = new java.util.Date().toString();
            serialPort1 = (SerialPort) portId1.open("Modem_Diagnostics", 2000);
            text.append(TimeStamp + ": " + portId1.getName() + " opened for i/o" + \
"\n");  } catch (PortInUseException e) {}
        
        try {
                serialPort1.setSerialPortParams(BaudRate,
                    SerialPort.DATABITS_8,
                    SerialPort.STOPBITS_1,
                    SerialPort.PARITY_NONE);
                  serialPort1.setDTR(true);
                //serialPort1.setRTS(true);
                serialPort1.setFlowControlMode(SerialPort.FLOWCONTROL_RTSCTS_IN & \
SerialPort.FLOWCONTROL_RTSCTS_OUT);                   \
//serialPort1.enableReceiveTimeout(3000);              
            } catch (UnsupportedCommOperationException e) {}  
        
        // initializing the serial port
        try 
        {            
            serialPort1.addEventListener(this);
        } 
        catch (TooManyListenersException e){} 
        serialPort1.notifyOnDataAvailable(true);
        serialPort1.notifyOnCarrierDetect(true);       
        serialPort1.notifyOnBreakInterrupt(true);
        serialPort1.notifyOnCTS(true);
        serialPort1.notifyOnDSR(true);
        serialPort1.notifyOnFramingError(true);
        serialPort1.notifyOnOutputEmpty(true);
        serialPort1.notifyOnOverrunError(true);
        serialPort1.notifyOnParityError(true);
        
        // *************** protocol to initialize modem, starts here... \
**************  char received_data;   
            // send "at"
            writeData('a'); writeData('t'); writeData('\r');
            // wait for 1 sec for the modem to accept this command
            // update the textbox in the meantime
            myThread.sleep(1000); 
            text.append("\nDialing. Please Wait..\n");
            // dial a number
            String Number = "ATDP2569404\r";
            char [] Dial = Number.toCharArray();            
            for(int i=0;i<Dial.length;i++){
                writeData(Dial[i]);
            }
            // wait for a sec for the modem to accept this command
            // update the textbox in the meantime
            myThread.sleep(1000);
            
            // Now, wait for 1 minute for dialing and establishing connection         \
  myThread.sleep(60000);
            if(serialPort1.isCD() == false){
                // disconnect the modem
            text.append("\n\nNo Carrier !!");
            text.append("\nDisconnecting now...\n\n");
            writeData('+'); writeData('+'); writeData('+'); writeData('\r');
            }            
    }
      } 
      catch(Exception e){}
  } // end of run
    
    public void serialEvent(SerialPortEvent event){  
        char receivedData;
 switch(event.getEventType()){
  case SerialPortEvent.OE: text.append("\nOE\n");break;
  case SerialPortEvent.FE: text.append("\nFE\n");break;
  case SerialPortEvent.PE: text.append("\nPE\n");break;
                case SerialPortEvent.OUTPUT_BUFFER_EMPTY: ;break;
  case SerialPortEvent.DSR: text.append("\nData Set Ready\n");break;
  case SerialPortEvent.BI: text.append("\nBreak Interrupt\n"); break;
  case SerialPortEvent.CTS: text.append("\nClear to send\n");  break;
  case SerialPortEvent.CD: 
   if( event.getNewValue() ){
    text.append("\nConnected\n");
                                connected = true;
                                //write whatever you want to 
                                //WriteData();
                        }
   else{
    text.append("\nDisconnected\n");
                                connected = false;
                                // disconnect the modem
                                writeData('+'); writeData('+'); writeData('+'); \
writeData('\r');  }
   break;
  case SerialPortEvent.DATA_AVAILABLE: HandleData(); break; 
 }// end of switch-case
    }// end of serial event function
    
    public void HandleData(){
        char receivedData = ' ';
        if(connected){
            System.out.println("\nHandling data now...\n");
            try{ 
                do{                                                  
                    inputStream = serialPort1.getInputStream();                    
                    text.append(new String().valueOf((char)inputStream.read())); 
            }while(inputStream.available()>0);            
        }catch(Exception e){}
      }               
    }
  ==========================================


      
Project Manager
 Envirotech Instruments Pvt. Ltd.
 Online Division
 A-271 Okhla Phase 1
 New Delhi 110020
 India
 Website: www.envirotechindia.com
 Phone: +91(0)9872469994
  







 
---------------------------------
Don't be flakey. Get Yahoo! Mail for Mobile and 
always stay connected to friends.


[Attachment #5 (text/html)]

<div>Hi,<br><br>I used the following Java code to connect two computers through a \
PSTN modem. It works perfectly fine with Java.comm library but somehow doesnt with \
RXTXcomm.<br><br>My diagnosis indicate that the SerialPortEvent.DATA_AVAILABLE \
doesnot listen even if the remote PC has transferred some data to the listening PC. I \
have made sure that my machine isnt busy in any other task and no new constructors \
are getting initialized, etc. <br><br>Can anyone suggest what is the problem and \
where do i need to modify the code. <br><br>In my experiment, I executed my java code \
on a PC and ran Hyperterminal on the other. Once the modems got "connected", i typed \
various strings in the Hyperterminal and expected them to appear on the first PC \
(running the java code). Like mentioned before, this works fine with "import \
java.comm.*" and not with "import gnu.io.*"<br><br>JRE = 1.5.0_06<br>JDK = \
1.5<br>RXTX version = 2.1<br><br></div><div>Thanks in advance, </div>  \
<div>&nbsp;</div>   <div>Raman Agarwal<br></div>  <div>&nbsp;</div>  \
<div>---------------</div>  <div>Here is the relevant code snippet :-</div>  \
<div>&nbsp;</div>  <div>==========================================&nbsp;</div>  \
<div>public void run(){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
try{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
try{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; portId1 = \
CommPortIdentifier.getPortIdentifier(ComPort);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } catch (Exception e) \
{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
TimeStamp = new java.util.Date().toString();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  text.append(TimeStamp + ": ComPort " + portId1 + \
"\n");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
text.append(TimeStamp + ": msg1 - " + e + \
"\n");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
text.append("\n+++++++++ Restart Application \
++++++++\n\n");&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
ComError = true;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp; if \
(ComError == false)<br>&nbsp;&nbsp;&nbsp; \
{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try \
{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TimeStamp = \
new java.util.Date().toString();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  serialPort1 = (SerialPort) portId1.open("Modem_Diagnostics", \
2000);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
text.append(TimeStamp + ": " + portId1.getName() + " opened for i/o" + \
"\n");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } catch (PortInUseException e) \
{}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try \
{<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
serialPort1.setSerialPortParams(BaudRate,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
SerialPort.DATABITS_8,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
SerialPort.STOPBITS_1,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
SerialPort.PARITY_NONE);</div>   \
<div>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
serialPort1.setDTR(true);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
//serialPort1.setRTS(true);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
serialPort1.setFlowControlMode(SerialPort.FLOWCONTROL_RTSCTS_IN &amp; \
SerialPort.FLOWCONTROL_RTSCTS_OUT);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
//serialPort1.enableReceiveTimeout(3000);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } catch \
(UnsupportedCommOperationException e) {}&nbsp;  \
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // initializing the serial \
port<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try \
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
serialPort1.addEventListener(this);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } \
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; catch (TooManyListenersException e){} \
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
serialPort1.notifyOnDataAvailable(true);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
serialPort1.notifyOnCarrierDetect(true);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
serialPort1.notifyOnBreakInterrupt(true);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
serialPort1.notifyOnCTS(true);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  \
serialPort1.notifyOnDSR(true);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
serialPort1.notifyOnFramingError(true);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
serialPort1.notifyOnOutputEmpty(true);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
serialPort1.notifyOnOverrunError(true);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
serialPort1.notifyOnParityError(true);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // *************** protocol to \
initialize modem, starts here... \
**************<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
char received_data;&nbsp;&nbsp; \
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // send \
"at"<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
writeData('a'); writeData('t'); \
writeData('\r');<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
// wait for 1 sec for the modem to accept this  \
command<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // \
update the textbox in the \
meantime<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
myThread.sleep(1000); \
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
text.append("\nDialing. Please \
Wait..\n");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // \
dial a number<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
String Number = "ATDP2569404\r";<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
char [] Dial = Number.toCharArray();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for(int \
i=0;i&lt;Dial.length;i++){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
writeData(Dial[i]);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // wait for \
a sec for the modem to accept this \
command<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // \
update the textbox in the \
meantime<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
myThread.sleep(1000);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // Now, wait \
for 1 minute for dialing and establishing \
connection&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
myThread.sleep(60000);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
if(serialPort1.isCD() == \
false){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
// disconnect the  modem<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
text.append("\n\nNo Carrier \
!!");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
text.append("\nDisconnecting \
now...\n\n");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
writeData('+'); writeData('+'); writeData('+'); \
writeData('\r');<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
<br>&nbsp;&nbsp;&nbsp; }<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; } \
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; catch(Exception e){}<br>&nbsp; } // end of \
run<br>&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; public void \
serialEvent(SerialPortEvent event){ \
&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; char \
receivedData;<br>&nbsp;switch(event.getEventType()){<br>&nbsp;&nbsp;case \
SerialPortEvent.OE: text.append("\nOE\n");break;<br>&nbsp;&nbsp;case \
SerialPortEvent.FE:  text.append("\nFE\n");break;<br>&nbsp;&nbsp;case \
SerialPortEvent.PE: text.append("\nPE\n");break;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
case SerialPortEvent.OUTPUT_BUFFER_EMPTY: ;break;<br>&nbsp;&nbsp;case \
SerialPortEvent.DSR: text.append("\nData Set Ready\n");break;<br>&nbsp;&nbsp;case \
SerialPortEvent.BI: text.append("\nBreak Interrupt\n"); break;<br>&nbsp;&nbsp;case \
SerialPortEvent.CTS: text.append("\nClear to send\n");&nbsp; \
break;<br>&nbsp;&nbsp;case SerialPortEvent.CD: <br>&nbsp;&nbsp;&nbsp;if( \
event.getNewValue() ){<br>&nbsp;&nbsp;&nbsp;&nbsp;text.append("\nConnected\n");<br>&nb \
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp \
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
connected =  true;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs \
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
//write whatever you want to \
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbs \
p;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
//WriteData();<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
}<br>&nbsp;&nbsp;&nbsp;else{<br>&nbsp;&nbsp;&nbsp;&nbsp;text.append("\nDisconnected\n" \
);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&n \
bsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
connected =  false;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nb \
sp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
// disconnect the modem<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp \
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
writeData('+'); writeData('+'); writeData('+'); \
writeData('\r');<br>&nbsp;&nbsp;&nbsp;}<br>&nbsp;&nbsp;&nbsp;break;<br>&nbsp;&nbsp;case \
SerialPortEvent.DATA_AVAILABLE:&nbsp;HandleData();&nbsp;break; <br>&nbsp;}// end of \
switch-case<br>&nbsp;&nbsp;&nbsp; }// end of serial event \
function<br>&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; public void \
HandleData(){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; char receivedData = ' \
';<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
if(connected){<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;  \
System.out.println("\nHandling data \
now...\n");<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
try{ <br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
do{&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp \
;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;& \
nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
inputStream = serialPort1.getInputStream();&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
text.append(new String().valueOf((char)inputStream.read()));  \
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
}while(inputStream.available()&gt;0);&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }catch(Exception \
e){}<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
}&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; \
<br>&nbsp;&nbsp;&nbsp; }</div>  \
<div>==========================================</div><BR><BR><div> <div> <div> <div> \
<div> <div> <div><strong><span style="text-decoration: \
underline;"><br></span></strong><span style="font-weight: bold;">Project \
Manager</span><br> Envirotech Instruments Pvt. Ltd.<br> Online Division<br> A-271 \
Okhla Phase 1<br> New Delhi 110020<br> India<br> Website: www.envirotechindia.com<br> \
Phone: +91(0)9872469994<br>  </div></div></div></div></div></div></div><p>&#32;

<hr size=1>Don't be flakey. <a \
href="http://us.rd.yahoo.com/evt=43909/*http://mobile.yahoo.com/mail">Get Yahoo! Mail \
for Mobile</a> and <br><a \
href="http://us.rd.yahoo.com/evt=43909/*http://mobile.yahoo.com/mail">always stay \
connected</a> to friends.



_______________________________________________
Rxtx mailing list
Rxtx@qbang.org
http://mailman.qbang.org/mailman/listinfo/rxtx


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic