[BangPypers] Industrial Control Systems in Python

Noufal Ibrahim noufal at nibrahim.net.in
Mon Mar 26 10:00:31 CEST 2012


Vishal <vsapre80 at gmail.com> writes:


[...]

> Noufal, I would like to use a regular x86 processor with Linux
> (stripped down)...  to avoid recompiling Python itself...to avoid one
> more variable in the entire process. What was the processor/OS
> combination you mentioned earlier ?

In my case, it was an ARM processor with a stripped down Linux kernel
running busybox for basic userspace utilities. I cross compiled Python
for ARM, got rid of most of the standard libraries and managed to
squeeze it onto the device.

The python was for a tiny server which listened over USB that acted as a
kind of RPC server on the device. You could write code on your host
machine and a module would translate that into JSON, send it over the
wire to the device where this server would run the code and send back
responses that were interpreted by the host library. We used it to test
the device. You could say things like `device.ioctl(...)` and it would
actually execute the ioctl on the device with the params you sent it. 

> Compiling the Python code to ST means, writing a compiler :))...which
> will be a serious project in itself. and then I will loose all the
> good things that come with Python.

Not necessarily. How complicated is ST? I wrote a simple declarative
config language that Python would compile into once. It was some ast
tricks and I'd seriously consider it as an alternative if the target
language was not too complex. But you're a better judge of the
situation.  It's just something that occurred to me.


-- 
~noufal
http://nibrahim.net.in

Cum tacent, clamant. When they are silent, they shout. -Cicero


More information about the BangPypers mailing list