[PD] comport code

Mark Newman newman at cs.berkeley.edu
Mon Dec 10 06:27:16 CET 2001


I grabbed Winfried Ritsch's comport object and code from

http://iem.kug.ac.at/ritsch/programmier/pd_externals/

... as I assume you have already done, and I was able to get it to work on
Win2K for reading data, though I had to make one minor adjustment. I changed
the arguments to CreateFile inside the open_serial method so that it uses
non-overlapped (i.e., blocking) reads.

Here's the actual call, with my changes:

  fd = CreateFile( sys_com_port[com_nr],
           rw,
           0,
           0,
           OPEN_EXISTING,
           /* FILE_FLAG_OVERLAPPED */ 0, // changed to non-overlapped --mwn
           0);

... and now it works. I believe this is the correct way to open the port,
since the code is in fact polling (every millisecond, by default) and not in
fact using asynchronous reads. Changing the object to use
overlapped/asynchronous reads would probably be an even better fix, but
that'll have to be for another time.

Unfortunately I can't provide an example patch offhand that uses the fixed
comport since for performance reasons I had to further modify the object to
work with the A/D converter I was talking to--so it's not really the same
object anymore.

I hope this helps.

--mark

> -----Original Message-----
> From: Floppo : [mailto:cityidiot at hotmail.com]
> Sent: Sunday, December 09, 2001 7:58 PM
> To: pd-list at iem.kug.ac.at
> Subject: [PD] comport code
>
>
> hey does anyone have any sample code for using the comport
> extension to read
> serial data coming in?
>
> i'm using a bx-24 to send in adc values off a variable resistor.
>
> thanks for the help,
> paul
>
> _________________________________________________________________
> Get your FREE download of MSN Explorer at http://explorer.msn.com/intl.asp
>
>
>




More information about the Pd-list mailing list