[Lazarus] Raspberry Pi Debug Digital I/O

Donald Ziesig donald at ziesig.org
Sat Jan 23 02:55:59 CET 2016


Hi All!

This applies to the Raspberry Pi 2 B.

After a bit of cut and try, I got Anthony Walter's version of Lazarus to 
run as root (from the Raspbian menu) so I could debug programs which do 
DigitalRead, DigitalWrite, etc. using h2wiringPi.

Note that this could be dangerous if you are permanently connected to 
the web while using Lazarus, but in my case, the only time that my Pi 
will be connected to the web is when I am getting Lazarus set up (and it 
is not yet running as root).  Thereafter I will be connected directly 
from Pi to Laptop on a private subnet with no router.  Once the app is 
developed the Pi will not be networked at all.

Incidentally, I got the Pi setup so that if it fails DHCP (is not 
connected to a router) it reverts to the private subnet.  If anyone 
wants to do this, let me know and I'll publish the "magic incantations". 
;-) It is much more convenient than editing /etc/network/interfaces 
every time you need to change from accessing the web to a local private 
subnet.

The application itself must run as root to do digital I/O.  If you don't 
want to debug using the IDE, you don't have to make the IDE run as root, 
though, just the app.

Using Anthony's default paths, I created a file in 
/home/<mydir>/Development/FreePascal/lazarus called lazroot.sh  This 
file contains two lines:

xhost +localhost
sudo /home/<mydir>/Development/FreePascal/lazarus/lazarus.sh

Then chmod +x lazroot.sh

I used the Menu > Preferences > Main Menu Editor to change the command 
which starts Lazarus to:

/home/<mydir>/Development/FreePascal/lazarus/lazroot.sh

Obviously <mydir> is the directory where lazarus is located.

At first I tried to change the Menu command to the two lines in the 
lazroot.sh file, but the internals of the menu system did not support 
multi-command arguments.

For some reason, Lazarus re-built itself (as if I were installing 
components) the very first time I ran it as root.  After that it starts 
normally.

Hope this helps someone in return for all the help I have been given here.

Don Ziesig






More information about the Lazarus mailing list