[Newbies] Serial port write freezes the VM

Levente Uzonyi leves at elte.hu
Tue Sep 10 02:45:35 UTC 2013

On Mon, 9 Sep 2013, mactro wrote:

> Hi,
> I'm developing a mod for Scratch that will allow controlling an educational
> robot via Bluetooth. I'm using SerialPort2 class that is included in Scratch
> plugin and allows opening ports by name. Everything works fine BUT, when I
> send commands in a loop, and the connection is lost (i.e. the robot was
> powered off), the VM freezes. I tried forking the port nextPutAll like that:
> timer := Delay forMilliseconds: 1000.
> port := SerialPort2  new.
> port openPortNamed:'COM14' baud:57600.
> process := [port nextPutAll:'test'. Transcript show:'port'.] forkAt: 1.
> [timer wait. Transcript show:'delay'. process terminate.] forkAt: 7.
> but with no result. Is there any way to write to a serial port with timeout?

I can't help you with the SerialPort issue, but the process priorities 1 
and 7 are definitely bad. Since the idle process uses priority 10, your 
processes will never run. Try using something between 11 and 39, or use 
the named priorities:
Processor userBackgroundPriority
Processor systemBackgroundPriority


> mactro
> --
> View this message in context: http://forum.world.st/Serial-port-write-freezes-the-VM-tp4707333.html
> Sent from the Squeak - Beginners mailing list archive at Nabble.com.
> _______________________________________________
> Beginners mailing list
> Beginners at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/mailman/listinfo/beginners

More information about the Beginners mailing list