[squeak-dev] Problem with SerialPort and Cog

Javier Diaz-Reinoso javier_diaz_r at mac.com
Wed Apr 10 19:52:54 UTC 2013


The problem is with the fork VMMaker.oscog, you need to re-sync SerialPort with the fork VMMaker.

VMMaker-dtl.315 had already the slang methods for the ByName variants, you can copy&paste or directly from Monticello browser replace the methods, then can generate a SerialPort.c with the new functions.

The files platforms/Mac OS/vm/osExports.c and platforms/Cross/plugins/SerialPlugin/SerialPlugin.h need add the new functions, I am attaching this files for your convenience.

Finally link with platforms/unix/plugins/SerialPlugin/sqUnixSerial.c instead of the obsolete platforms/Mac OS/plugins/SerialPlugin/sqMacSerialPort.c.

I tested a VM with this changes and appear to work OK.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: extra.zip
Type: application/zip
Size: 1451 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20130410/224e3181/extra.zip
-------------- next part --------------

On 06/04/2013, at 19:11, Eliot Miranda <eliot.miranda at gmail.com> wrote:

> On Fri, Apr 5, 2013 at 2:37 PM, Javier Diaz-Reinoso
> <javier_diaz_r at mac.com>wrote:
> 
>> On 03/04/2013, at 10:53, Javier Diaz-Reinoso <javier_diaz_r at MAC.COM>
>> wrote:
>> 
>>> After line: p openPort: '/dev/cu.usbmodem1a21'., p in Cog is:
>>>      SerialPort(closed, 115200 baud, 8 bits, 1 stopbits, no parity)
>>> is closed because port is nil, in Squeak 4.2.5beta1U is:
>>>      SerialPort(#'/dev/cu.usbmodem1a21', 115200 baud, 8 bits, 1
>> stopbits, no parity)
>>> port is: '/dev/cu.usbmodem1a21'.
>>> 
>>> I repeated my test with a virgin copy of Squeak4.4-12327 (before I was
>> using 4.1 and 4.3), also with other macbook pro, the same error.
>>> 
>> [cut...]
>> 
>> Well, I download the VM from www.squeakvm.org/svn/squeak/branches/Cog/and find that primitiveSerialPortOpenByName is not defined!.
>> 
>> In /Tools/Squeak/VMCog/platforms/unix/plugins/SerialPlugin/sqUnixSerial.c
>> (included in the CoreVM. xcodeproj) the function serialPortOpenByName is
>> defined, but is not "linked" with primitiveSerialPortOpenByName so the call
>> (in Squeak) of primOpenPortByName: fail.
>> 
> 
> Ah, right.  That's because there is no support on Mac OS or Windows.  So
> wen I tried adding  primitiveSerialPortOpenByName it broke the builds on
> Windows and Mac.  If anyone has support files for those platforms I'll try
> again.
> 
> 
> 
> -- 
> best,
> Eliot
> 



More information about the Squeak-dev mailing list