Variscite sta introducendo il supporto per libgpiod, una nuova modalità consigliata per accedere a GPIO dallo spazio utente. libgpiod, introdotto su Linux 4.8, offre utility per le righe di comando e collegamenti di libreria per C/C++ e Python. Variscite ha aggiunto il supporto libgpiod a tutte le release dei software a partire da Yocto Dunfell, Boot2Qt Dunfell e Debian Bullseye.

In precedenza, la modalità di accesso consigliata per GPIO dallo spazio utente Linux consisteva nell’utilizzo dell’interfaccia sysfs GPIO, che è limitata e richiede librerie di spazio utente personalizzate per linguaggi di programmazione di livello superiore come C, C ++, Python, ecc.

In futuro, l’interfaccia sysfs sarà disattivata. Per ora continuerà ad essere presente, ma non verranno aggiunte nuove funzionalità. Consulta la documentazione kernel per le informazioni più recenti.

Invece, ora è consigliato l’utilizzo di libgpiod.
libgpiod dispone di miglioramenti significativi rispetto all’interfaccia sysfs di GPIO:

  • Le librerie dello spazio utente per C/C++ e Python offrono un’API standardizzata
  • Ogni controller GPIO è registrato come dispositivo a caratteri in /dev, quindi l’allocazione GPIO è legata al processo che lo sta utilizzando.
  • È possibile leggere più pin GPIO contemporaneamente
  • I controller e i pin GPIO possono essere trovati in base al nome
  • Le impostazioni dei pin GPIO possono essere configurate in fase di esecuzione (pull-up, pull-down, ecc.)
  • Monitoraggio degli eventi guidato da interrupt (aumento, discesa, ecc.)

 

DART-MX8M-PLUS System on Module (SoM)

DART-MX8M-PLUS System on Module

 

Per maggiori informazioni sull’utilizzo di libgpiod, consulta la guida di esempio DART-MX8M-PLUS GPIO oppure visita la sezione “come fare” sulla pagina della release SoM e Yocto desiderata all’interno del sito wiki di Variscite.