[fpc-pascal] Access GPIO pins on RPi2 without root?
Mark Morgan Lloyd
markMLl.fpc-pascal at telemetry.co.uk
Wed Oct 7 14:40:10 CEST 2015
Jonas Maebe wrote:
> Bo Berglund wrote on Wed, 07 Oct 2015:
>
>> I think that it really does because there must be some interface
>> between the FPC system and the underlying operating system managing
>> the hardware.
>
> On Linux/Unix, every interface to hardware gets exposed as a file
> (generally under /dev). Sometimes you have libraries that provide a
> higher level interface, but in the end it will always access that file.
> If you need root permissions to perform actions on this file with
> language X, you will also need them with language Y and also if you use
> library Z to access it. The file operations are basic POSIX operations
> (open, read, write, ioctl, close), which are available with an "fp"
> prefix via the baseunix and unix units, and which are the same in C or
> other languages.
>
> If you have a library that you want to use, then you can of course ask
> here whether anyone has translated the headers for it (which will
> probably be in C) to Pascal or so.
I've just been taking a look and I don't immediately see a kernel module
that provides an interface to GPIO via /dev. I think there's things for
I2C etc.
Via
http://wiki.freepascal.org/Lazarus_on_Raspberry_Pi#1._Native_hardware_access
I see mention of /sys/class/gpio etc. although I've not looked to see
what's implemented as standard. Using this interface requires membership
of the gpio group, which in principle answers Bo's question.
--
Mark Morgan Lloyd
markMLl .AT. telemetry.co .DOT. uk
[Opinions above are the author's, not those of his employers or colleagues]
More information about the fpc-pascal
mailing list