Configurare GPIO: Diferență între versiuni
Sari la navigare
Sari la căutare
Fără descriere a modificării |
|||
| (Nu s-au afișat 5 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 25: | Linia 28: | ||
</syntaxhighlight> | </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 | |||
<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== | ==Link-uri externe== | ||
* [https://www.kernel.org/doc/Documentation/gpio/sysfs.txt GPIO Sysfs Interface for Userspace] | * [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/valueApoi 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/valueAtenție ! scriptul de mai sus trebuie adăugat înainte de linia cu exit 0 în rc.local. În caz contrar nu este executat.
Link-uri externe
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/