La maggior parte delle librerie, in più lingue, interagiscono con il GPIO pin via /sys/class/gpio/export
, /sys/class/gpio/import
, /sys/class/gpio/gpio10/value
, ecc, tuttavia kernel Linux docs chiaramente che è il modo in cui l'eredità di fare le cose.
Qual è il modo non legacy di fare le cose?
Se avessi capito correttamente nello spazio del kernel, avrei usato queste funzioni o driver del kernel standard per le attività GPIO più comuni.
Cosa dovrei usare per lo spazio utente? Esiste un'interfaccia Sysfs per i non legacy?
PS: So che i documenti del kernel affermano che l'interfaccia basata su numeri interi legacy sebbene considerata obsoleta è ancora utilizzabile per motivi di compatibilità. Tuttavia, non mi interessa utilizzare quel codice legacy.
/sys/class/gpio/export
accesso diretto all'hardware, sebbene possano usare i servizi del kernel. Certamente WiringPi e AFAIK pigpiod accedono direttamente ai registri SoC.