<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="http://www.newlc.com" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
 <title>NewLC - Comunication serial port help - Comments</title>
 <link>http://www.newlc.com/topic-17442</link>
 <description>Comments for &quot;Comunication serial port help&quot;</description>
 <language>en</language>
<item>
 <title>Re: Comunication serial port help</title>
 <link>http://www.newlc.com/topic-17442#comment-37093</link>
 <description>&lt;div class=&quot;smf-content&quot;&gt;I also tried the above code but getting -21 on&lt;br /&gt;err = iCommPort.Open (iCommServer, KPortName1, ECommExclusive); // step 6&lt;br /&gt;&lt;br /&gt;But instead of trying for USB(ECACM), if I am opening port for IR(IrCOMM) and BT(BTCOMM), its working fine.&lt;br /&gt;&lt;br /&gt;Its also giving err == -5 in the case of RS232( ECUART) &lt;img src=&quot;/sites/all/modules/smf_filter/smf_smileys/sad.gif&quot; alt=&quot;Sad&quot; border=&quot;0&quot; /&gt;&lt;/div&gt;</description>
 <pubDate>Mon, 23 Apr 2007 16:23:57 +0200</pubDate>
 <dc:creator>symfi</dc:creator>
 <guid isPermaLink="false">comment 37093 at http://www.newlc.com</guid>
</item>
<item>
 <title>Re: Comunication serial port help</title>
 <link>http://www.newlc.com/topic-17442#comment-37092</link>
 <description>&lt;div class=&quot;smf-content&quot;&gt;When does your program crash ?&lt;br /&gt;&lt;br /&gt;It seems that you start the communication server 2 times ... &lt;br /&gt;&lt;br /&gt;What is the content of the PDD and LDD constants ?&lt;br /&gt;&lt;br /&gt;The commmodule for serial over bluetooth isn&amp;#039;t RFCOMM instead of BTCOMM ?&lt;br /&gt;&lt;br /&gt;And at last you should try to open the port BTCOMM::0 &lt;br /&gt;&lt;br /&gt;regards&lt;/div&gt;</description>
 <pubDate>Tue, 10 Apr 2007 11:40:46 +0200</pubDate>
 <dc:creator>wagonli</dc:creator>
 <guid isPermaLink="false">comment 37092 at http://www.newlc.com</guid>
</item>
<item>
 <title>Re: Comunication serial port help</title>
 <link>http://www.newlc.com/topic-17442#comment-37091</link>
 <description>&lt;div class=&quot;smf-content&quot;&gt;Hi, I don&amp;#039;t speak very&amp;nbsp; well english and I&amp;#039;m sorry for this.&lt;br /&gt; I have a problem with bluetooth serial comunication.&lt;br /&gt;I want read nmea string from virtual serial port bluetooth and, for this reason, I have tried the code below but give me an error (-1=KErrNotFound).&lt;br /&gt;Help me!&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;_LIT(KMessage0,&amp;quot;Select S for RS232 Serial or R for InfraRed port : &amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;_LIT(KMessage1,&amp;quot;Select 0 for no handshaking, 1 for CTS/RTS and 2 for XON/XOFF :&amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;_LIT(KMessage4,&amp;quot;Loading device drivers\n&amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;_LIT(KMessage5,&amp;quot;Starting comms server\n&amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;_LIT(KMessage6,&amp;quot;Connecting to comms server\n&amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;_LIT(KMessage7,&amp;quot;Loading %S.CSY module\n&amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;_LIT(KMessage8,&amp;quot;%S has %S available as %S::%u to %S::%u\n&amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;_LIT(KMessage9,&amp;quot;Opened %S\n&amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;_LIT(KMessage10,&amp;quot;Configuring Serial port for 115200 bps 8 bits no parity 1 stop\n&amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;_LIT(KMessage11,&amp;quot;Powering up port\n&amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;_LIT(KMessage12,&amp;quot;\nDisconnecting\n&amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;_LIT(KMessage13,&amp;quot;\nWrite Failed %d\n&amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;_LIT(KMessage16,&amp;quot;\nRead failed %d\n&amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;_LIT(KMessage17,&amp;quot;Closed %S\n&amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;_LIT(KMessage18,&amp;quot;Closing server connection\n&amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;_LIT(KMessage19,&amp;quot;Comms server reports we have %u comms modules loaded\n&amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;_LIT(KMessage20,&amp;quot;Using the lowest %S out of %S::%u to %S::%u\n&amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;_LIT(KPanic,&amp;quot;StraySignal&amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;_LIT(RS232,&amp;quot;ECUART&amp;quot;);//&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;_LIT(IRCOMM,&amp;quot;IRCOMM&amp;quot;);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;TBuf16 &amp;lt; 6 &amp;gt; csyName;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;RComm commPort;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;TUint8 csyMode;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;const TUint8 mask=0xdf; // this mask 0xdf turns lower to upper case&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;TInt r;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;csyName.Copy(RS232);&lt;br /&gt;&lt;br /&gt;TInt ret =StartC32 (); &lt;br /&gt;if ( ret != KErrNone &amp;amp;&amp;amp; ret != KErrAlreadyExists )&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; User::Leave ( ret );&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&amp;nbsp; &amp;nbsp; &lt;br /&gt;&lt;br /&gt;TInt result;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp;// Load the physical device driver&lt;br /&gt;&amp;nbsp; &amp;nbsp;result = User::LoadPhysicalDevice(PDD_NAME);&lt;br /&gt;&amp;nbsp; &amp;nbsp;if (result != KErrNone &amp;amp;&amp;amp; result != KErrAlreadyExists) User::Leave(result);&lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;// Similarly for the Logical device driver&lt;br /&gt;&amp;nbsp; &amp;nbsp;result = User::LoadLogicalDevice(LDD_NAME);&lt;br /&gt;&amp;nbsp; &amp;nbsp;if (result != KErrNone &amp;amp;&amp;amp; result != KErrAlreadyExists) User::Leave(result);&lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;// Start comm server if necessary&lt;br /&gt;&amp;nbsp; &amp;nbsp;result = StartC32();&lt;br /&gt;&amp;nbsp; &amp;nbsp;if (result != KErrNone &amp;amp;&amp;amp; result != KErrAlreadyExists) User::Leave(result);&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;console-&amp;gt;Printf (KMessage6);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;RCommServ server;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;User::LeaveIfError (server.Connect ());&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Load the CSY module&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Symbian OS will automatically search \System\Libs&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;// on all drives starting from C:&lt;br /&gt;// Load the comm module&lt;br /&gt;&amp;nbsp; &amp;nbsp;result = server.LoadCommModule(_L(&amp;quot;BTCOMM&amp;quot;));&lt;br /&gt;&amp;nbsp; &amp;nbsp;if(result==-1)&lt;br /&gt;&amp;nbsp; &amp;nbsp;{&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;console-&amp;gt;Printf(_L(&amp;quot;result=%d&amp;quot;),result);&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;User::LeaveIfError(result);&lt;br /&gt;&amp;nbsp; &amp;nbsp;}&amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp;//---------------------------------------------------------------&lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;result = commPort.Open(server,_L(&amp;quot;BTCOMM::1&amp;quot;),ECommExclusive);&lt;br /&gt;&amp;nbsp; &amp;nbsp;if(result==-1)&lt;br /&gt;&amp;nbsp; &amp;nbsp;{&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;console-&amp;gt;Printf(_L(&amp;quot;result Open=%d&amp;quot;),result);&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;User::LeaveIfError(result);&lt;br /&gt;&amp;nbsp; &amp;nbsp;}&amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp;TCommConfig cBuf;&lt;br /&gt;&amp;nbsp; &amp;nbsp;TCommConfigV01 &amp;amp;c=cBuf();&lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; // Get the current configuration&lt;br /&gt;&amp;nbsp; &amp;nbsp;commPort.Config(cBuf);&lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; // Set new settings&lt;br /&gt;&amp;nbsp; &amp;nbsp;c.iFifo = EFifoEnable;&lt;br /&gt;&amp;nbsp; &amp;nbsp;c.iRate = EBps19200;&lt;br /&gt;&amp;nbsp; &amp;nbsp;c.iHandshake = KConfigObeyCTS;&lt;br /&gt;&amp;nbsp; &amp;nbsp;c.iTerminatorCount = 0;&lt;br /&gt;&amp;nbsp; &amp;nbsp;c.iDataBits = EData8;&lt;br /&gt;&amp;nbsp; &amp;nbsp;c.iParity = EParityNone;&lt;br /&gt;&amp;nbsp; &amp;nbsp;c.iStopBits = EStop1;&lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; // Write the settings out&lt;br /&gt;&amp;nbsp; &amp;nbsp;commPort.SetConfig(cBuf);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&lt;/div&gt;</description>
 <pubDate>Fri, 23 Mar 2007 11:15:15 +0100</pubDate>
 <dc:creator>nadia82</dc:creator>
 <guid isPermaLink="false">comment 37091 at http://www.newlc.com</guid>
</item>
<item>
 <title>Re: Comunication serial port help</title>
 <link>http://www.newlc.com/topic-17442#comment-37090</link>
 <description>&lt;div class=&quot;smf-content&quot;&gt;Ok I finally managed to make it work but there are still some strange behaviours ... I made it work on a Nokia N70 connected with the DKU-2 cable on the USB port of my computer.&lt;br /&gt;&lt;br /&gt;Here is the config. of the port :&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;codeheader&quot;&gt;Code:&lt;/div&gt;&lt;div class=&quot;code&quot;&gt;#if defined (__WINS__)&lt;br /&gt;_LIT (KPddName, &amp;quot;ECDRV&amp;quot;);&amp;nbsp; &amp;nbsp;//&amp;quot;ECDRV&amp;quot;&lt;br /&gt;#else&lt;br /&gt;_LIT (KPddName, &amp;quot;EUART1&amp;quot;);&lt;br /&gt;#endif&lt;br /&gt;&lt;br /&gt;// Logical device driver names&lt;br /&gt;_LIT (KLddName, &amp;quot;EUSBC&amp;quot;); &lt;br /&gt;&lt;br /&gt;// Comm Port Name&lt;br /&gt;_LIT (KPortName, &amp;quot;ACM::0&amp;quot;); //IRCOMM&lt;br /&gt;&lt;br /&gt;// Comms modules&lt;br /&gt;_LIT (KSerComm, &amp;quot;ECUART&amp;quot;);//SERIALCOMM&lt;br /&gt;&lt;br /&gt;//&lt;br /&gt;// the init function :&lt;br /&gt;//&lt;br /&gt;&lt;br /&gt;void CSimKeyAppUi::InitCableLink(){&lt;br /&gt;&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;TInt err;&lt;br /&gt;&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;&lt;br /&gt;#if defined (__WINS__)&lt;br /&gt;&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;RFs fileServer;&lt;br /&gt;&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;User::LeaveIfError (fileServer.Connect ());&lt;br /&gt;&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;fileServer.Close ();&lt;br /&gt;#endif&lt;br /&gt;&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;err = User::LoadPhysicalDevice (KPddName); // step 1 &lt;br /&gt;&amp;nbsp; &amp;nbsp; if (err != KErrNone &amp;amp;&amp;amp; err != KErrAlreadyExists)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; User::Leave(err);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;err = User::LoadLogicalDevice (KLddName); // step 2 &lt;br /&gt;&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;if (err != KErrNone &amp;amp;&amp;amp; err != KErrAlreadyExists)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; User::Leave(err);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;#if !defined (__WINS__)&lt;br /&gt;&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;&amp;nbsp; &amp;nbsp; err = StartC32 (); // step 3&lt;br /&gt;&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;&amp;nbsp; &amp;nbsp; if (err != KErrNone &amp;amp;&amp;amp; err != KErrAlreadyExists){&lt;br /&gt;&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; User::Leave(err);&lt;br /&gt;&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;&amp;nbsp; &amp;nbsp; }&lt;br /&gt;#endif &lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;br /&gt;&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;User::LeaveIfError(UsbServ.Connect());&lt;br /&gt;&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;UsbServ.LoadCommModule (KSerComm); &lt;br /&gt;&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;UsbClient.Open (UsbServ, KPortName, ECommExclusive); // step 6&lt;br /&gt;&lt;br /&gt;#if !defined (__WINS__)&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;TCommConfig portSettings;&lt;br /&gt;&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;UsbClient.Config(portSettings); // Get current configuration&lt;br /&gt;&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;portSettings().iRate = EBps460800;&lt;br /&gt;&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;portSettings().iParity = EParityNone;&lt;br /&gt;&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;portSettings().iDataBits = EData8;&lt;br /&gt;&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;portSettings().iStopBits = EStop1;&lt;br /&gt;&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;portSettings().iHandshake =(KConfigFreeCTS | KConfigFreeRTS);&lt;br /&gt;&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;portSettings().iTerminator[0] = 10;&lt;br /&gt;&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;portSettings().iTerminatorCount = 1;&lt;br /&gt;&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;User::LeaveIfError(UsbClient.SetConfig(portSettings));&lt;br /&gt;&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;UsbClient.SetSignals (KSignalDTR, 0);&lt;br /&gt;&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;UsbClient.SetSignals (KSignalRTS, 0);&lt;br /&gt;&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;// Set buffer size&lt;br /&gt;&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;const TInt KBufferLength = 1024;&lt;br /&gt;&lt;span style=&quot;white-space: pre;&quot;&gt;	&lt;/span&gt;UsbClient.SetReceiveBufferLength(KBufferLength);&lt;br /&gt;#endif&lt;br /&gt;}&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;The Port Reading code :&lt;br /&gt;&lt;br /&gt;&lt;div class=&quot;codeheader&quot;&gt;Code:&lt;/div&gt;&lt;div class=&quot;code&quot;&gt;TRequestStatus ReqInfo;&lt;br /&gt;//Code for the UI message&lt;br /&gt;iEikonEnv-&amp;gt;InfoMsg(_L(&amp;quot;Open&amp;quot;));&lt;br /&gt;CAknInformationNote* note = new (ELeave) CAknInformationNote;&lt;br /&gt;&lt;br /&gt;TBuf8&amp;lt;200&amp;gt; SerBuf;&lt;br /&gt;TBuf&amp;lt;200&amp;gt; WriteBuf;&lt;br /&gt;&lt;br /&gt;//Wait for an input of any length, return immediatly if there are unread stuff on the input port&lt;br /&gt;UsbClient.ReadOneOrMore(ReqInfo,SerBuf);&lt;br /&gt;User::WaitForRequest(ReqInfo);&lt;br /&gt;User::LeaveIfError(ReqInfo.Int());&lt;br /&gt;WriteBuf.Copy(SerBuf);&lt;br /&gt;note-&amp;gt;ExecuteLD(WriteBuf);&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;The strange thing is that I am unable to read the port with the Read() function (it doesn&amp;#039;t read anything) and the QueryReceiveBuffer() function return alwawys 0 (even if there is some stuff on the port that ReadOneOrMore() can find)&lt;br /&gt;&lt;br /&gt;Someone has an idea about this strange behaviour ?&lt;/div&gt;</description>
 <pubDate>Fri, 02 Mar 2007 10:24:32 +0100</pubDate>
 <dc:creator>wagonli</dc:creator>
 <guid isPermaLink="false">comment 37090 at http://www.newlc.com</guid>
</item>
<item>
 <title>Re: Comunication serial port help</title>
 <link>http://www.newlc.com/topic-17442#comment-37089</link>
 <description>&lt;div class=&quot;smf-content&quot;&gt;I have the same problem, I keep in touch if I find something !&lt;br /&gt;But I wonder why the User::WaitForRequest() return immediately with nothing in the read buffer ...&lt;/div&gt;</description>
 <pubDate>Thu, 01 Mar 2007 09:55:51 +0100</pubDate>
 <dc:creator>wagonli</dc:creator>
 <guid isPermaLink="false">comment 37089 at http://www.newlc.com</guid>
</item>
<item>
 <title>Re: Comunication serial port help</title>
 <link>http://www.newlc.com/topic-17442#comment-37088</link>
 <description>&lt;div class=&quot;smf-content&quot;&gt;I think you miss something in SetConfig. Try don&amp;#039;t do this at all.&lt;/div&gt;</description>
 <pubDate>Thu, 01 Feb 2007 12:22:31 +0100</pubDate>
 <dc:creator>william_j-forum</dc:creator>
 <guid isPermaLink="false">comment 37088 at http://www.newlc.com</guid>
</item>
<item>
 <title>Re: Comunication serial port help</title>
 <link>http://www.newlc.com/topic-17442#comment-37087</link>
 <description>&lt;div class=&quot;smf-content&quot;&gt;Any idea??&lt;br /&gt;I use Hyperterminal to send string to phone, is rigth?&lt;br /&gt;there is other method?&lt;br /&gt;Help me please &lt;img src=&quot;/sites/all/modules/smf_filter/smf_smileys/sad.gif&quot; alt=&quot;Sad&quot; border=&quot;0&quot; /&gt;&lt;br /&gt;Best regard&lt;br /&gt;Silvia &lt;/div&gt;</description>
 <pubDate>Wed, 31 Jan 2007 12:47:16 +0100</pubDate>
 <dc:creator>silviuccia</dc:creator>
 <guid isPermaLink="false">comment 37087 at http://www.newlc.com</guid>
</item>
<item>
 <title>Re: Comunication serial port help</title>
 <link>http://www.newlc.com/topic-17442#comment-37086</link>
 <description>&lt;div class=&quot;smf-content&quot;&gt;Hi,&lt;br /&gt;I resolve problem tu sent data from phone to pc, but How to sent data from pc to phone?&lt;br /&gt;I use this code but don&amp;#039;t work fine, connection is rigth but not read:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;// Class include&lt;br /&gt;#include &amp;quot;IrSerialEngine.h&amp;quot;&lt;br /&gt;&lt;br /&gt;// System includes&lt;br /&gt;#include &amp;lt;e32def.h&amp;gt;&lt;br /&gt;#include &amp;lt;e32std.h&amp;gt;&lt;br /&gt;#include &amp;lt;aknnotewrappers.h&amp;gt;&lt;br /&gt;&lt;br /&gt;// Physical device driver names&lt;br /&gt;//#if defined (__WINS__)&lt;br /&gt;//_LIT (KPddName, &amp;quot;ECDRV&amp;quot;);&amp;nbsp;&amp;nbsp;&amp;nbsp;//&amp;quot;ECDRV&amp;quot;&lt;br /&gt;//#else&lt;br /&gt;_LIT (KPddName, &amp;quot;EUART1&amp;quot;);&lt;br /&gt;//#endif&lt;br /&gt;&lt;br /&gt;// Logical device driver names&lt;br /&gt;_LIT (KLddName, &amp;quot;EUSBC&amp;quot;); //ECOMM&lt;br /&gt;&lt;br /&gt;// Comm Port Name&lt;br /&gt;_LIT (KPortName, &amp;quot;ACM::0&amp;quot;); //IRCOMM&lt;br /&gt;&lt;br /&gt;// Comms modules&lt;br /&gt;_LIT (KIrComm, &amp;quot;ECACM&amp;quot;);//IRCOMM&lt;br /&gt;CIrSerialEngine* CIrSerialEngine::NewL(TInt aPriority, CIrSerialAppUi* aAppUi)&lt;br /&gt;&amp;nbsp; &amp;nbsp; {&lt;br /&gt;&amp;nbsp; &amp;nbsp; CIrSerialEngine* self = new (ELeave) CIrSerialEngine(aPriority, aAppUi);&lt;br /&gt;&amp;nbsp; &amp;nbsp; CleanupStack::PushL(self);&lt;br /&gt;&amp;nbsp; &amp;nbsp; self-&amp;gt;ConstructL();&lt;br /&gt;&amp;nbsp; &amp;nbsp; CleanupStack::Pop(); // self&lt;br /&gt;&amp;nbsp; &amp;nbsp; return self;&lt;br /&gt;&amp;nbsp; &amp;nbsp; }&lt;br /&gt;&lt;br /&gt;CIrSerialEngine::~CIrSerialEngine()&lt;br /&gt;&amp;nbsp; &amp;nbsp; {&lt;br /&gt;&amp;nbsp; &amp;nbsp; Close();&lt;br /&gt;&amp;nbsp; &amp;nbsp; }&lt;br /&gt;&lt;br /&gt;CIrSerialEngine::CIrSerialEngine(TInt aPriority, CIrSerialAppUi* aAppUi)&lt;br /&gt;: CActive(aPriority), iAppUi(aAppUi)&lt;br /&gt;&amp;nbsp; &amp;nbsp; {&lt;br /&gt;&amp;nbsp; &amp;nbsp; }&lt;br /&gt;&lt;br /&gt;void CIrSerialEngine::ConstructL()&lt;br /&gt;&amp;nbsp; &amp;nbsp; {&lt;br /&gt;&amp;nbsp; &amp;nbsp; CActiveScheduler::Add(this);&lt;br /&gt;&amp;nbsp; &amp;nbsp; }&lt;br /&gt;&lt;br /&gt;void CIrSerialEngine::InitialiseL()&lt;br /&gt;&amp;nbsp; &amp;nbsp; {&lt;br /&gt;&amp;nbsp; &amp;nbsp; TInt err;&lt;br /&gt;&lt;br /&gt;#if defined (__WINS__) // File Server required in WINS to enable loading of device drivers&lt;br /&gt;&amp;nbsp; &amp;nbsp; RFs fileServer;&lt;br /&gt;&amp;nbsp; &amp;nbsp; User::LeaveIfError(fileServer.Connect());&lt;br /&gt;&amp;nbsp; &amp;nbsp; fileServer.Close();&lt;br /&gt;#endif&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; // Load the physical device driver.&lt;br /&gt;&amp;nbsp; &amp;nbsp; err = User::LoadPhysicalDevice(KPddName);&lt;br /&gt;&amp;nbsp; &amp;nbsp; if (err != KErrNone &amp;amp;&amp;amp; err != KErrAlreadyExists)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; User::Leave(err);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; // Load the logical device driver.&lt;br /&gt;&amp;nbsp; &amp;nbsp; err = User::LoadLogicalDevice(KLddName);&lt;br /&gt;&amp;nbsp; &amp;nbsp; if (err != KErrNone &amp;amp;&amp;amp; err != KErrAlreadyExists)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; User::Leave(err);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; // Start the comms server process&lt;br /&gt;&amp;nbsp; &amp;nbsp; err = StartC32();&lt;br /&gt;&amp;nbsp; &amp;nbsp; if (err != KErrNone &amp;amp;&amp;amp; err != KErrAlreadyExists)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; User::Leave(err);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; // Connect to the Serial comms server.&lt;br /&gt;&amp;nbsp; &amp;nbsp; User::LeaveIfError(iCommServer.Connect());&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; // Load the CSY module.&lt;br /&gt;&amp;nbsp; &amp;nbsp; User::LeaveIfError(iCommServer.LoadCommModule(KIrComm));&lt;br /&gt;&amp;nbsp; &amp;nbsp; }&lt;br /&gt;&lt;br /&gt;void CIrSerialEngine::OpenL()&lt;br /&gt;&amp;nbsp; &amp;nbsp; {&lt;br /&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; TBuf8&amp;lt;50&amp;gt; buf;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;TFullName repName;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;_LIT8(KFAXMODEM,&amp;nbsp; &amp;quot;FaxModem&amp;quot; );&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;TFindProcess process;&lt;br /&gt;&amp;nbsp; &amp;nbsp;for(TInt i = 0; i &amp;lt; 1000; i++)&lt;br /&gt;&amp;nbsp; &amp;nbsp;{&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; while(process.Next(repName) != KErrNotFound)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;buf.Copy(repName);&lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if ( (buf.Find(KFAXMODEM) != KErrNotFound) )&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;RProcess aProcess;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;aProcess.Open(process);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;aProcess.Kill(0);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;aProcess.Close();&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;br /&gt;&amp;nbsp; &amp;nbsp;}&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; User::LeaveIfError(iCommPort.Open(iCommServer, KPortName, ECommShared)); //ECommExclusive&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; // Configure port&lt;br /&gt;&amp;nbsp; &amp;nbsp; TCommConfig portSettings;&lt;br /&gt;&amp;nbsp; &amp;nbsp; iCommPort.Config(portSettings); // Get current configuration&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; portSettings().iRate = EBps460800;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;portSettings().iParity = EParityNone;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;portSettings().iDataBits = EData8;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;portSettings().iStopBits = EStop1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;portSettings().iFifo = EFifoEnable;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;portSettings().iHandshake =(KConfigObeyCTS | KConfigFreeRTS);&lt;br /&gt;&amp;nbsp; &amp;nbsp;&lt;br /&gt;&amp;nbsp; &amp;nbsp; User::LeaveIfError(iCommPort.SetConfig(portSettings));&lt;br /&gt;&amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; // Set buffer size&lt;br /&gt;&amp;nbsp; &amp;nbsp; const TInt KBufferLength = 4096;&lt;br /&gt;&amp;nbsp; &amp;nbsp; iCommPort.SetReceiveBufferLength(KBufferLength);&lt;br /&gt;&amp;nbsp; &amp;nbsp; &lt;br /&gt;&amp;nbsp; &amp;nbsp; }&lt;br /&gt;&lt;br /&gt;void CIrSerialEngine::Transmit(const TDesC&amp;amp; aTxData)&lt;br /&gt;&amp;nbsp; &amp;nbsp; {&lt;br /&gt;&amp;nbsp; &amp;nbsp; // Timeout Value&lt;br /&gt;&amp;nbsp; &amp;nbsp; const TTimeIntervalMicroSeconds32 KTimeOut(4000000);&lt;br /&gt;&amp;nbsp; &amp;nbsp; Cancel();&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; iDataBuf.Copy(aTxData);&lt;br /&gt;&amp;nbsp; &amp;nbsp; iCommPort.Write(iStatus, KTimeOut, iDataBuf);&lt;br /&gt;&amp;nbsp; &amp;nbsp; SetActive();&lt;br /&gt;&amp;nbsp; &amp;nbsp; }&lt;br /&gt;&lt;br /&gt;void CIrSerialEngine::Close()&lt;br /&gt;&amp;nbsp; &amp;nbsp; {&lt;br /&gt;&amp;nbsp; &amp;nbsp; iCommPort.Close();&lt;br /&gt;&amp;nbsp; &amp;nbsp; iCommServer.Close();&lt;br /&gt;&amp;nbsp; &amp;nbsp; }&lt;br /&gt;&lt;br /&gt;void CIrSerialEngine::RunL()&lt;br /&gt;&amp;nbsp; &amp;nbsp; {&lt;br /&gt;&amp;nbsp; &amp;nbsp; Close();&lt;br /&gt;&amp;nbsp; &amp;nbsp; TInt err = iStatus.Int();&lt;br /&gt;&amp;nbsp; &amp;nbsp; iAppUi-&amp;gt;PrintResultDialogL(err);&lt;br /&gt;&amp;nbsp; &amp;nbsp; }&lt;br /&gt;&lt;br /&gt;void CIrSerialEngine::DoCancel()&lt;br /&gt;&amp;nbsp; &amp;nbsp; {&lt;br /&gt;&amp;nbsp; &amp;nbsp; iCommPort.WriteCancel();&lt;br /&gt;&amp;nbsp; &amp;nbsp; }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void CIrSerialEngine::Read(TInt aLength)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;const TTimeIntervalMicroSeconds32 KTenthSecond(4000000);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;TBuf8 &amp;lt;200&amp;gt; iReadBuffer;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;iCommPort.Read(iStatus,KTenthSecond,iReadBuffer,aLength);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;TBuf &amp;lt;220&amp;gt; cc;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;cc.Copy(iReadBuffer);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;CEikonEnv::Static()-&amp;gt;AlertWin(_L(&amp;quot;letto&amp;quot;), cc);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;User::WaitForRequest(iStatus);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;TInt r = iStatus.Int ();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;User::LeaveIfError (r);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;TInt CIrSerialEngine::ReadBlock()&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;TBuf8 &amp;lt;200&amp;gt; localInputBuffer;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;TBuf8 &amp;lt;1&amp;gt; iReadBuffer1;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;iCommPort.ReadOneOrMore(iStatus,localInputBuffer);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;User::WaitForRequest(iStatus);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (iReadBuffer1.Length())&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return iReadBuffer1[0];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;return -1;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;When i tel this in my apui I write:&lt;br /&gt;&amp;nbsp;iInfraredEngine-&amp;gt;InitialiseL();&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; iInfraredEngine-&amp;gt;OpenL();&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; iInfraredEngine-&amp;gt;Read(200);&lt;br /&gt;&lt;br /&gt;Where is the problem??&lt;br /&gt;thanks&lt;br /&gt;Silvia&lt;/div&gt;</description>
 <pubDate>Tue, 30 Jan 2007 17:21:08 +0100</pubDate>
 <dc:creator>silviuccia</dc:creator>
 <guid isPermaLink="false">comment 37086 at http://www.newlc.com</guid>
</item>
<item>
 <title>Comunication serial port help</title>
 <link>http://www.newlc.com/topic-17442</link>
 <description>&lt;div class=&quot;smf-content&quot;&gt;&lt;/div&gt;&lt;p&gt;&lt;a href=&quot;http://www.newlc.com/topic-17442&quot;&gt;read more&lt;/a&gt;&lt;/p&gt;</description>
 <comments>http://www.newlc.com/topic-17442#comments</comments>
 <category domain="http://www.newlc.com/forums/local-communications">Local Communications</category>
 <pubDate>Fri, 26 Jan 2007 11:47:08 +0100</pubDate>
 <dc:creator>silviuccia</dc:creator>
 <guid isPermaLink="false">16974 at http://www.newlc.com</guid>
</item>
</channel>
</rss>
