Configurare GPIO: Diferență între versiuni

De la YO3ITI
Sari la navigare Sari la căutare
Fără descriere a modificării
 
(Nu s-au afișat 7 versiuni intermediare efectuate de același utilizator)
Linia 1: Linia 1:
Interfața pentru controlul pinilor GPIO bazată pe <code>/sys/class/gpio</code> nu mai este suportată oficial. Se recomandă să se folosească ''character device interface'', mai precis dispozitivele ''gpiochip'' descrise la <code>/dev/gpiochipN</code>. Modificarea este determinată de evoluția kernel-ului Linux și are scopul de a îmbunătăți controlul GPIO. Informațiile din această pagină nu mai sunt de actualitate. Ultimele versiuni de svxlink folosesc GPIOD.
<syntaxhighlight>
<syntaxhighlight>
cd /sys/class/gpio
cd /sys/class/gpio
Linia 24: Linia 27:
sudo chmod 777 /sys/class/gpio/gpio27/value
sudo chmod 777 /sys/class/gpio/gpio27/value
</syntaxhighlight>
</syntaxhighlight>
<syntaxhighlight lang="rsh">
################
#GPIO SCRIPT #
#TO BE INSERTED#
#ON START-UP #
################
# GPIO 17 as PTT to TxLocal
echo 17 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio17/direction
sudo chmod 777 /sys/class/gpio/gpio17/value
# GPIO 27 as Squelch to RxLocal
echo 27 > /sys/class/gpio/export
echo in > /sys/class/gpio/gpio27/direction
sudo chmod 777 /sys/class/gpio/gpio27/value
</syntaxhighlight>
Atenție ! scriptul de mai sus trebuie adăugat '''înainte''' de linia cu <code>exit 0</code> în <code>rc.local</code>. În caz contrar nu este executat.
==Link-uri externe==
* [https://www.kernel.org/doc/Documentation/gpio/sysfs.txt GPIO Sysfs Interface for Userspace]
=ATENȚIE !=
==Noua abordare: ''chardev interface''==
https://sergioprado.blog/new-linux-kernel-gpio-user-space-interface/
$ sudo apt install gpiod
https://lloydrochester.com/post/hardware/libgpiod-intro-rpi/

Versiunea curentă din 23 iunie 2025 21:07

Interfața pentru controlul pinilor GPIO bazată pe /sys/class/gpio nu mai este suportată oficial. Se recomandă să se folosească character device interface, mai precis dispozitivele gpiochip descrise la /dev/gpiochipN. Modificarea este determinată de evoluția kernel-ului Linux și are scopul de a îmbunătăți controlul GPIO. Informațiile din această pagină nu mai sunt de actualitate. Ultimele versiuni de svxlink folosesc GPIOD.


cd /sys/class/gpio
echo 17 > export
echo out > gpio17/direction
cat gpio17/value
0
echo 1 > gpio17/value

Apoi se modifică în /etc/rc.local:

################
#GPIO SCRIPT #
#TO BE INSERTED#
#ON START-UP #
################
# GPIO 17 as PTT to TxLocal
echo 17 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio17/direction
sudo chmod 777 /sys/class/gpio/gpio17/value

# GPIO 27 as Squelch to RxLocal
echo 27 > /sys/class/gpio/export
echo in > /sys/class/gpio/gpio27/direction
sudo chmod 777 /sys/class/gpio/gpio27/value


################
#GPIO SCRIPT #
#TO BE INSERTED#
#ON START-UP #
################
# GPIO 17 as PTT to TxLocal
echo 17 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio17/direction
sudo chmod 777 /sys/class/gpio/gpio17/value

# GPIO 27 as Squelch to RxLocal
echo 27 > /sys/class/gpio/export
echo in > /sys/class/gpio/gpio27/direction
sudo chmod 777 /sys/class/gpio/gpio27/value

Atenție ! scriptul de mai sus trebuie adăugat înainte de linia cu exit 0 în rc.local. În caz contrar nu este executat.

ATENȚIE !

Noua abordare: chardev interface

https://sergioprado.blog/new-linux-kernel-gpio-user-space-interface/

$ sudo apt install gpiod https://lloydrochester.com/post/hardware/libgpiod-intro-rpi/