Re: GPIO (CY7C65211)

2024-04-26 Par sujet BERTRAND Joël
didier gaumet a écrit :
> 
> Bonjour,

Bonsoir,

> avertissement: je n'y connais absolument rien et je réponds peut-être au
> moins en partie à côté de la question que tu poses

L'essentiel est de participer ;-)

Plus sérieusement, merci d'apporter un nouvel éclairage sur le sujet.

> de ce que je comprends:
> - la gestion GPIO du noyau linux a changé (/sys/class/gpio* ->

Je n'ai rien dans /dev/gpio ou /sys/class/gpio* qui vienne lorsque je
branche la carte en question.

> /dev/gpio*) et mieux vaut utiliser le nouveau système que l'ancien
> - le paquet Debian gpiod propose des utilitaires de détection, prise
> d'information et interaction GPIO accessibles par un shell Linux. La
> bibliothèque libgpiod semble utile pour l'accès par programme.

Je ne connaissais pas, je vais creuser de ce côté.

> - je crois que le paquet usb-modeswitch permet de faire ce que tu fais
> avec une règle USB

En revanche, le ttyACM0 monte automatiquement. Je vois bien le
périphérique dans lsusb mais je n'arrive même pas à l'ouvrir avec le sdk
de Cypress (et ce n'est pas une question de droit, j'ai aussi essayé en
root).

J'ai écrit un bout de C qui scanne les bus USB. Il détecte bien le
04B4:0002 (et ce n'est pas du bruit de télétransmission, le résultat est
toujours le même, je n'ai pas de problème sur la liaison physique).
...
Indice : 023, id : 6015:0403 inaccessible
Indice : 024, id : 082D:046D inaccessible
Indice : 025, id : 2812:2109 inaccessible
Indice : 026, id : 0002:04B4 0=>0/02 1=>0/0A 2=>5/FF Cypress CY7C65211
détecté
Indice : 027, id : 6001:0403 inaccessible
Indice : 028, id : 0002:1D6B inaccessible
...

et juste plus loin, le CyOpen() me renvoie un coup de pied aux fesses... :-(

Chose surprenante, la classe (à droite des '=>') ne peut être d'après
la doc que 00, 02, 0F, FF. Je ne vois pas ce que vient faire là-dedans
un 0A...

JB




signature.asc
Description: OpenPGP digital signature


Re: GPIO (CY7C65211)

2024-04-26 Par sujet didier gaumet



Bonjour,

avertissement: je n'y connais absolument rien et je réponds peut-être au 
moins en partie à côté de la question que tu poses


de ce que je comprends:
- la gestion GPIO du noyau linux a changé (/sys/class/gpio* -> 
/dev/gpio*) et mieux vaut utiliser le nouveau système que l'ancien
- le paquet Debian gpiod propose des utilitaires de détection, prise 
d'information et interaction GPIO accessibles par un shell Linux. La 
bibliothèque libgpiod semble utile pour l'accès par programme.
- je crois que le paquet usb-modeswitch permet de faire ce que tu fais 
avec une règle USB


Une explication de tout ça qui a l'air assez intéressante (mais j'ai 
survolé en diagonale et j'y connais rien):

https://www.blaess.fr/christophe/2018/10/15/pilotage-de-gpio-avec-lapi-libgpiod-partie-1/
https://www.blaess.fr/christophe/2018/10/22/pilotage-de-gpio-avec-lapi-libgpiod-partie-2/



GPIO (CY7C65211)

2024-04-26 Par sujet BERTRAND Joël
Bonjour à tous,

Je viens de câbler une interface USB vers RS232 + GPIO qui fonctionne
avec un composant CY7C65211.

Celui-ci est reconnu comme un thermomètre par le noyau Linux. J'ai donc
rajouté une règle udev pour corriger cela :

KERNEL=="*", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device",
ACTION=="add", ATTR{idVendor}=="04b4", MODE="666"
KERNEL=="*", SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device",
ACTION=="remove", TAG=="cyusb_dev"

La carte est maintenant vue comme un port série sur ttyACM?. Très bien.
Mais comment accéder aux différents GPIO ? J'aimerais éviter d'utiliser
le SDK du fondeur pour faire des choses aussi simples...

Bien cordialement,

JB



signature.asc
Description: OpenPGP digital signature