[PD] [comport] for windows
Winfried Ritsch
ritsch at iem.at
Thu Oct 27 13:28:58 CEST 2005
Hallo,
> Winfried Ritsch wrote:
>
> The OS is Windows 2000, the comport.c was compiled with MS VS6.0 using
> the makefile.
>
for WINDOWS 2000 i had a #ifdef WIN2000 in my code which wasnt in CVS, i just
committed now. This means the FILE_FLAG_OVERLAPPED at open is not used. I
never found out why but then WINDOWS2000 worked,
Else the recommended code for Windows read is using
SetCommMask() and WaitCommEvent() before reading a byte
I put the code commented out in the external, maybejust uncomment and
compile again. This code dindt work for Windows NT so it was commented out,
even i copy and pasted it from seriell example of MS VS6.00 which also didnt
work.
> Two years ago IOhannes sent me a version of the comport external. It
> didn't work on Windows 2000 properly so I tuned it a little bit. I
> tested it, unfortunetaly, with slow traffic and short time period only
> (9600 baud, one or two minutes of communication) and thus, I thought I
> fixed the problem. Now, I use a higher baudrate (57600baud) and streamed
> data, which means, I get appr. 5000 Bps for the serial port and pd
> crashes like this:
>
The complicated thing is that under Settings in Windows you can specify the
baud rate and sometimes it was not possible to overwrite it with the example.
> I create the comport object with the proper baudrate in naked pd on the
> machine receiving the data stream and wait (the data stream from the
> periphery must have been started before). Half an hour later, pd
> increases the CPU load to 50% and becames not responsible...
>
This looks like a blocked read (see above).
> I looked to the CVS repository for a newer version, but it seems to be
> the one I got from IOhannes. Do you have a newer one? If yes - could you
> put your version into CVS or just send me the comport.c file - I'd like
> to diff it against mine to see what I'm doing wrong here.
>
I just updated the CVS now.
mfg winfried
More information about the Pd-list
mailing list