[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
|