From: Steven Woody on
2010/1/16 John Nagle <nagle(a)animats.com>:
> Grant Edwards wrote:
>>
>> On 2010-01-11, Steven Woody <narkewoody(a)gmail.com> wrote:
>>
>>> I am using pyserial.  But I always get the local echo after I
>>> write some characters onto serial port
>>
>> I really doubt you're getting a local echo.  Is the data coming
>> out the serial port?  Do you get the echo if you disconnect the
>> serial cable?
>>
>>> and I find no way to disable this behavior. When I say 'local
>>> echo', I mean the next read operation will get characters that
>>> was just write to the same port.
>>
>> The device to which you're connected is echoing them.  There's
>> also a chance that your rxd line is floating and there's enough
>> crosstalk in the cable to "echo" the data, but I'll bet money
>> it's not being done locally (in the serial driver or port).
>>
>>> I run my program on cygwin (pyserial was also built on the
>>> system from source code) and the serial port i am using is a
>>> USB adapter that simulates a port (COM4 on my XP) because my
>>> laptop don't have a real serial port.  But I checked my COM4
>>> settings, there is no any think like 'local echo'.
>
>    You're using what?  Some version of Python built on Cygwin
> running on a Windows XP system?   What if you just run a stock
> Python built for Windows on Windows XP?  Or run Linux?  That
> half-and-half environment may not work right.  pyserial has
> special cases in it for Windows and Linux, and it's not
> clear what it will do on Cygwin.
>
>    That said, if you're getting echo from output back to input,
> I'd look at the USB to serial device.  I've used devices with
> the Silicon Laboratories CP2102 part, and they work fine.
> ("http://www.aetherltd.com/connectingusb.html")
>
>    Do you have something plugged into the serial port?  If
> so, what?
>
>                                John Nagle
> --
> http://mail.python.org/mailman/listinfo/python-list
>

Now I tried run the same test code using pure Windows python +
pyserial, the result is same.

Actually, the USB device is a optic head, that read data from an
electric energy meter:

PC USB Port -> Optic Head -> Meter

I get the echo even when the meter itself is disconnected, that mean
the echo is not generated by firmware inside the meter. So, if the
echo is also not generated from my PC, that much be from the optic
head itself. Is it possible?

Regards,
woody

--
Life is the only flaw in an otherwise perfect nonexistence
-- Schopenhauer

narke
public key at http://subkeys.pgp.net:11371 (narkewoody(a)gmail.com)
From: Steve Holden on
Steven Woody wrote:
> 2010/1/16 John Nagle <nagle(a)animats.com>:
>> Grant Edwards wrote:
>>> On 2010-01-11, Steven Woody <narkewoody(a)gmail.com> wrote:
>>>
>>>> I am using pyserial. But I always get the local echo after I
>>>> write some characters onto serial port
>>> I really doubt you're getting a local echo. Is the data coming
>>> out the serial port? Do you get the echo if you disconnect the
>>> serial cable?
>>>
>>>> and I find no way to disable this behavior. When I say 'local
>>>> echo', I mean the next read operation will get characters that
>>>> was just write to the same port.
>>> The device to which you're connected is echoing them. There's
>>> also a chance that your rxd line is floating and there's enough
>>> crosstalk in the cable to "echo" the data, but I'll bet money
>>> it's not being done locally (in the serial driver or port).
>>>
>>>> I run my program on cygwin (pyserial was also built on the
>>>> system from source code) and the serial port i am using is a
>>>> USB adapter that simulates a port (COM4 on my XP) because my
>>>> laptop don't have a real serial port. But I checked my COM4
>>>> settings, there is no any think like 'local echo'.
>> You're using what? Some version of Python built on Cygwin
>> running on a Windows XP system? What if you just run a stock
>> Python built for Windows on Windows XP? Or run Linux? That
>> half-and-half environment may not work right. pyserial has
>> special cases in it for Windows and Linux, and it's not
>> clear what it will do on Cygwin.
>>
>> That said, if you're getting echo from output back to input,
>> I'd look at the USB to serial device. I've used devices with
>> the Silicon Laboratories CP2102 part, and they work fine.
>> ("http://www.aetherltd.com/connectingusb.html")
>>
>> Do you have something plugged into the serial port? If
>> so, what?
>>
>> John Nagle
>> --
>> http://mail.python.org/mailman/listinfo/python-list
>>
>
> Now I tried run the same test code using pure Windows python +
> pyserial, the result is same.
>
> Actually, the USB device is a optic head, that read data from an
> electric energy meter:
>
> PC USB Port -> Optic Head -> Meter
>
> I get the echo even when the meter itself is disconnected, that mean
> the echo is not generated by firmware inside the meter. So, if the
> echo is also not generated from my PC, that much be from the optic
> head itself. Is it possible?
>
> Regards,
> woody
>
Of course this echo is good, as it allows you to verify that your
transmission has been received ... somewhere ...

regards
Steve

--
Steve Holden +1 571 484 6266 +1 800 494 3119
PyCon is coming! Atlanta, Feb 2010 http://us.pycon.org/
Holden Web LLC http://www.holdenweb.com/
UPCOMING EVENTS: http://holdenweb.eventbrite.com/