• GPIO (CY7C65211)

    From =?UTF-8?Q?BERTRAND_Jo=c3=abl?=@21:1/5 to All on Fri Apr 26 14:30:02 2024
    This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --1s4dUBoLE3HbwvKzI6cQqQQlpSjV9Q1wE
    Content-Type: text/plain; charset=UTF-8
    Content-Transfer-Encoding: quoted-printable

    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


    --1s4dUBoLE3HbwvKzI6cQqQQlpSjV9Q1wE--

    -----BEGIN PGP SIGNATURE-----

    iHUEABYIAB0WIQQj8MW8iOsC2RXEznnFW/s/mMLXCAUCZiudpwAKCRDFW/s/mMLX CD6mAP4xQW2AhYjAfPfFBpIIbc0l2GNtkg9scHcaV/UQdG8VwAEAkAx7uzmDIaiz VvoVMDuOr0k1zZ9/OYAZ8UjR26l5hwI=
    =om4G
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From =?UTF-8?Q?BERTRAND_Jo=c3=abl?=@21:1/5 to All on Fri Apr 26 21:00:01 2024
    This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --wcSTmIO4k7nZubLl4gIC7kVXhPK5IFemS
    Content-Type: text/plain; charset=UTF-8
    Content-Transfer-Encoding: quoted-printable

    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



    --wcSTmIO4k7nZubLl4gIC7kVXhPK5IFemS--

    -----BEGIN PGP SIGNATURE-----

    iHUEABYIAB0WIQQj8MW8iOsC2RXEznnFW/s/mMLXCAUCZiv4IQAKCRDFW/s/mMLX CFKwAP9pvLQ+IsAUg3xHIaz2WiwiaE/wBL6PBa8+ZhLVoNVELgEAyJpX2IDmmpRI 7uleDfUtlT3mjAmMIdKARd0h+4uazgY=
    =OxOl
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)