Hi Bert,<div><br></div><div>I split the Arduino and SqueakNxt packages on SqueakSource so that the Etoys code wouldn&#39;t get mixed with the core classes that manage communication with the devices. I also added a few comments and I translated the spanish comments so that you find the code easier to understand.</div>

<div><br></div><div>For Arduino, you will find the following packages:</div><div>* ArduinoCore (<a href="http://www.squeaksource.com/ArduinoCore/">http://www.squeaksource.com/ArduinoCore/</a>)</div><div>* ArduinoEtoys (<a href="http://www.squeaksource.com/ArduinoEtoys/">http://www.squeaksource.com/ArduinoEtoys/</a>)</div>

<div>* ArduinoCompiler (<a href="http://www.squeaksource.com/ArduinoCompiler/">http://www.squeaksource.com/ArduinoCompiler/</a>) - This is the only package that needs FFI, I use it to automatically upload Firmata into the Arduino board. This package is not required but it makes life easier.</div>

<div><br></div><div>For SqueakNxt, you will find the following packages:</div><div>* SqueakNxtCore (<a href="http://www.squeaksource.com/SqueakNxtCore/">http://www.squeaksource.com/SqueakNxtCore/</a>)</div><div>* SqueakNxtEtoys (<a href="http://www.squeaksource.com/SqueakNxtEtoys/">http://www.squeaksource.com/SqueakNxtEtoys/</a>)</div>

<div><br></div><div>I removed all the remaining references to FFI (we used to have a dll to handle the nxt communication but now we only use serial ports) and I&#39;m working on improving the nxt code to fix a few bugs regarding the sensors info.</div>

<div><br></div><div>Anyway, if you look at the code, please send me back what you think. I&#39;m looking forward to learn from your code critics.</div><div><br></div><div>Thanks for the interest!</div><div><br></div><div>

Richo</div><div><br></div><div><br><br><div class="gmail_quote">On Fri, Mar 5, 2010 at 7:38 PM, Bert Freudenberg <span dir="ltr">&lt;<a href="mailto:bert@freudenbergs.de">bert@freudenbergs.de</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<div class="im">On 05.03.2010, at 20:27, Ricardo Moran wrote:<br>
&gt;<br>
&gt; On Thu, Mar 4, 2010 at 9:23 AM, Bert Freudenberg &lt;<a href="mailto:bert@freudenbergs.de">bert@freudenbergs.de</a>&gt; wrote:<br>
&gt;&gt; On 03.03.2010, at 00:42, Ricardo Moran wrote:<br>
&gt;&gt;&gt; I might be missing something obvious here, but why is FFI forbidden in Etoys? Is it a matter of security?<br>
&gt;&gt;<br>
&gt;&gt; Yes. One of the advantages of having a Virtual Machine is that you can be quite sure what the code running in it can and can not do. It has a pretty narrow interface to the &quot;outer system&quot;. By allowing FFI that interface widens to all the libraries on the system, which means all bets are off.<br>


&gt;&gt;<br>
&gt;&gt; Additionally, FFI calls are highly platform-specific, whereas Etoys projects are supposed to work on any platform.<br>
&gt;&gt;<br>
&gt; Yes, those are very good reasons for excluding FFI from Etoys. If we write a plugin to handle the communication with the external libraries we use, would you reconsider including our work in Etoys? (now that I think of it, we will probably have some license issues... I will have to check that).<br>


&gt; Anyway, I think you can include the Arduino and SqueakNxt projects, they don&#39;t use FFI at all, only the SerialPlugin. Would that be ok?<br>
&gt; I must say, I would really love to see our projects included in Etoys!<br>
<br>
</div>I&#39;d love to see more ways to connect Etoys with the real world. We integrated WorldStethoscope support already, and there is Joystick support, the camera works on some machines etc. We have the ScratchPlugin which would allow to connect to the ScratchBoard, and the Etoys code for this is sitting in a ticket already.<br>


<br>
Now I can&#39;t promise to take your code in before having looked at it, and I&#39;m not the only one deciding that, but we&#39;re certainly going to consider it :)<br>
<font color="#888888"><br>
- Bert -<br>
<br>
<br>
</font></blockquote></div><br></div>