IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Lazarus Pascal Discussion :

Lazarus et robotique


Sujet :

Lazarus Pascal

  1. #1
    Membre confirmé Avatar de hlmhv
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    212
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 212
    Par défaut Lazarus et robotique
    Bonjour,

    Pascalien de très longue date, cela me fait mal aux dents de devoir passer au C pour programmer un robot (sur base de Lego Mindstorm, faut pas rire ce petit matériel n'est pas mal du tout! ), et j'ai envie de créer un objet en Pascal qui corresponde à un objet défini en C.
    Pour cela je voudrais pouvoir utiliser une bibliothèque écrite pour le C.
    Est-ce possible?

    Merci!

    Ah oui: je programme plus volontiers sous Windows 10, même si j'ai pu installer Lazarus sur Raspberry (si si, c'est possible).

  2. #2
    Expert confirmé
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11 158
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 158
    Par défaut
    Citation Envoyé par hlmhv Voir le message
    Pour cela je voudrais pouvoir utiliser une bibliothèque écrite pour le C.
    Est-ce possible ?
    Surement, oui, mais puisque tu parles de Windows, tu devrais chercher comment dialoguer avec une dll depuis Delphi, tu auras plus de réponses, ensuite il faudra adapter.

  3. #3
    Membre confirmé Avatar de hlmhv
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    212
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 212
    Par défaut
    Citation Envoyé par Jipété Voir le message
    Surement, oui, mais puisque tu parles de Windows, tu devrais chercher comment dialoguer avec une dll depuis Delphi, tu auras plus de réponses, ensuite il faudra adapter.
    Merci pour ta réponse! :-)

  4. #4
    Membre Expert
    Avatar de BeanzMaster
    Homme Profil pro
    Amateur Passionné
    Inscrit en
    Septembre 2015
    Messages
    1 899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Amateur Passionné
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Septembre 2015
    Messages : 1 899
    Billets dans le blog
    2
    Par défaut
    Salut,

    Si tu as les en-têtes "h" de ta librairie en C tu peux les convertir avec l'outil h2pas de Lazarus ; celui-ci se trouve dans un sous-dossier de : C:\lazarus\fpc\3.0.4\bin\ (x86_64-win64, si comme moi tu sous Windows 10 64 bits) . En plus dans Lazarus tu as un assistant à installer via le menu Outils --> Installer/désinstaller des paquets, tu pourras trouver la paquet H2PasWizard. Il ne te restera plus qu'à lancer l'assistant pour générer les en-têtes de ta librairie pour Free Pascal. Tu devras peut-être faire quelques modifications dans le fichier généré.

    A+
    • "L'Homme devrait mettre autant d'ardeur à simplifier sa vie qu'il met à la compliquer" - Henri Bergson
    • "Bien des livres auraient été plus clairs s'ils n'avaient pas voulu être si clairs" - Emmanuel Kant
    • "La simplicité est la sophistication suprême" - Léonard De Vinci
    • "Ce qui est facile à comprendre ou à faire pour toi, ne l'est pas forcément pour l'autre." - Mon pèrei

    Mes projets sur Github - Blog - Site DVP

  5. #5
    Membre confirmé Avatar de hlmhv
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    212
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 212
    Par défaut
    Citation Envoyé par BeanzMaster Voir le message
    Salut,

    Si tu as les en-tête "h" de ta librairie en C tu peux les convertir avec l'outil h2pas de Lazarus, celui-ci se trouve dans un sous dossier de : C:\lazarus\fpc\3.0.4\bin\ (x86_64-win64, si comme moi tu sous windows 10 64 bits) . En plus dans Lazarus tu as un assistant à installer via le menu outils--> Installer/désinstaller des paquet tu pourras trouver la paquet H2PasWizard. Il ne te restera plus qu'a lancer l'assistant pour générer les en-têtes de ta librairie pour free pascal. Tu devras peut-être faire quelques modifications dans le fichier générer.

    A+
    Merci!
    je suis content que tu parles de hepas, car j'ai installé ce paquet mais ne sais trop comment me débrouiller ensuite: lorsque je veux lancer h2pas via h2paswizard, le compilateur me dit 'h2pas: pas d'exécutable associé"..
    Or h2pas étant une unité, elle ne saurait avoir d'exécutable..

  6. #6
    Membre Expert
    Avatar de BeanzMaster
    Homme Profil pro
    Amateur Passionné
    Inscrit en
    Septembre 2015
    Messages
    1 899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Amateur Passionné
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Septembre 2015
    Messages : 1 899
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par hlmhv Voir le message
    Merci!
    je suis content que tu parles de hepas, car j'ai installé ce paquet mais ne sais trop comment me débrouiller ensuite: lorsque je veux lancer h2pas via h2paswizard, le compilateur me dit 'h2pas: pas d'exécutable associé"..
    Or h2pas étant une unité, elle ne saurait avoir d'exécutable..
    Il faut que aller dans les paramètre de H2PasWizard et renseigner le chemin ou se trouve h2pas.exe

    Nom : 2018-05-30_160330.jpg
Affichages : 302
Taille : 29,4 Ko
    • "L'Homme devrait mettre autant d'ardeur à simplifier sa vie qu'il met à la compliquer" - Henri Bergson
    • "Bien des livres auraient été plus clairs s'ils n'avaient pas voulu être si clairs" - Emmanuel Kant
    • "La simplicité est la sophistication suprême" - Léonard De Vinci
    • "Ce qui est facile à comprendre ou à faire pour toi, ne l'est pas forcément pour l'autre." - Mon pèrei

    Mes projets sur Github - Blog - Site DVP

  7. #7
    Membre confirmé Avatar de hlmhv
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    212
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 212
    Par défaut
    Bon, j'avance, j'avance ! :-)

    Il reste que h2pas n'arrive pas à compiler. Je suppose que le fichier .h doit être associé à des fichiers .c du même nom ? Je rêve en considérant que comme sous Linux le système irait chercher les fichiers dont il a besoin sur le Net.
    Si c'est bien le cas cela va être difficile, mais merci de ton aide !

  8. #8
    Expert confirmé
    Avatar de Jipété
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    11 158
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 11 158
    Par défaut
    Citation Envoyé par hlmhv Voir le message
    Il reste que h2pas n'arrive pas à compiler.
    "n'arrive pas à compiler" n'est pas un message d'erreur valide

    Citation Envoyé par hlmhv Voir le message
    Je rêve en considérant que comme sous Linux le système irait chercher les fichiers dont il a besoin sur le Net..
    Effectivement, tu rêves complètement, là, désolé...

  9. #9
    Membre confirmé Avatar de hlmhv
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    212
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 212
    Par défaut
    Citation Envoyé par Jipété Voir le message
    "n'arrive pas à compiler" n'est pas un message d'erreur valide
    Ben "error 1
    panic: line 12
    panic: line 19
    etc. etc.

    Mais pas de fichier "panic"...

  10. #10
    Membre Expert
    Avatar de BeanzMaster
    Homme Profil pro
    Amateur Passionné
    Inscrit en
    Septembre 2015
    Messages
    1 899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Amateur Passionné
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Septembre 2015
    Messages : 1 899
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par hlmhv Voir le message
    J'avance, j'avane! :-)

    Bon, j'avance, j'avance! :-)

    Il reste que h2pas n'arrive pas à compiler. Je suppose que le fichier .h doit être associé à des fichiers .c du même nom? Je rêve en considérant que comme sous Linux le système irait chercher les fichiers dont il a besoin sur le Net..
    Si c'est bien le cas cela va être difficile, mais merci de ton aide!
    Salut tu es sous Linux ou sous Windows ? je comprend pas pourquoi tu cherches à compiler H2Pas. Il est déja compilé dans le dossier que j'ai cité
    Le fichier source C n'est pas obligatoire. C'est juste les en-tête (le fichier H) dont tu as besoins. Beaucoup de librairie sous forme de DLL sont distribuées et il n'y a pas les fichiers C, mais juste les en-têtes.
    • "L'Homme devrait mettre autant d'ardeur à simplifier sa vie qu'il met à la compliquer" - Henri Bergson
    • "Bien des livres auraient été plus clairs s'ils n'avaient pas voulu être si clairs" - Emmanuel Kant
    • "La simplicité est la sophistication suprême" - Léonard De Vinci
    • "Ce qui est facile à comprendre ou à faire pour toi, ne l'est pas forcément pour l'autre." - Mon pèrei

    Mes projets sur Github - Blog - Site DVP

  11. #11
    Membre confirmé Avatar de hlmhv
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    212
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 212
    Par défaut
    Citation Envoyé par BeanzMaster Voir le message
    Salut tu es sous Linux ou sous Windows ? je comprend pas pourquoi tu cherches à compiler H2Pas. Il est déja compilé dans le dossier que j'ai cité
    Le fichier source C n'est pas obligatoire. C'est juste les en-tête (le fichier H) dont tu as besoins. Beaucoup de librairie sous forme de DLL sont distribuées et il n'y a pas les fichiers C, mais juste les en-têtes.
    Décidément je vais commencer à croire que je m'exprime comme une patate douce..
    Bon, résumons: Je suis sous Windows 10 et cherche à utiliser en Lazarus des routines de robot dont j'ai le fichier H (Mindstorms.h pour être précis).
    Je viens de comprendre (si, si) comment fonctionne h2pasWizard, et quand précisément je lui demande de faire son boulot après sélection du fichier H voulu, il lance FPC lequel me dit klett..
    Evidemment c'est la première fois que je l'utilise ce machin.
    Ceci dit, si je ne dispose que du fichier H, je ne vois pas comment ce h2pas va se débrouiller.. Il lui aussi un dll???

  12. #12
    Expert confirmé
    Avatar de anapurna
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2002
    Messages
    3 492
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2002
    Messages : 3 492
    Par défaut
    salut

    si Mindstorms.h est bien une declaration de DLL il te manqueras effectivement cette DLL pour pouvoir t'interfacer
    sinon ce n'est peut etre qu'une simple unité ... il faut voir la gueule qu'elle a

  13. #13
    Membre confirmé Avatar de hlmhv
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    212
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 212
    Par défaut
    Citation Envoyé par anapurna Voir le message
    salut

    si Mindstorms.h est bien une declaration de DLL il te manqueras effectivement cette DLL pour pouvoir t'interfacer
    sinon ce n'est peut etre qu'une simple unité ... il faut voir la gueule qu'elle a
    De fait je l'ai lue: petit fichier de quelques cas reprenant les en-têtes de fonctions sans plus.
    Le tout est de trouver le dll qui correspond, nom d'une chtoupette!

  14. #14
    Membre Expert
    Avatar de BeanzMaster
    Homme Profil pro
    Amateur Passionné
    Inscrit en
    Septembre 2015
    Messages
    1 899
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Amateur Passionné
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Septembre 2015
    Messages : 1 899
    Billets dans le blog
    2
    Par défaut
    Salut

    J'ai fait quelques petites recherches sur Mindstorms.
    Pour ce que tu souhaites faire (je me trompe peut-être) mais il me semble que ton approche n'est pas la bonne.
    En gros ce que tu souhaites c'est de pouvoir communiquer avec ton robot via le port serie (usb ou bluetooth) et lui envoyer des commandes.
    J'ai trouvé LEGO EV3 - Delphi Interface V 1.0 à télécharger pour Delphi 7 sur torry .
    Pour une utilisation sous Lazarus il faudra recréer le paquet de composants à installer. Ou utiliser directement les unités fournis dans ton application. J'ai regardé vite le code de cette bibliothèque, il n'est pas très compliqué et devrait compiler sans de gros changements dans Lazarus. Pour la gestion des ports et pouvoir envoyer tes commandes NXT le mieux serait d'utiliser le composant TLazSerial de notre ami Jurassik Pork ce composant est disponible et installable directement depuis le net avec "Online Package Manager" si tu l'as installé dans Lazarus (c'est dans la même liste depuis ou tu as installé h2paswizard)

    A+
    • "L'Homme devrait mettre autant d'ardeur à simplifier sa vie qu'il met à la compliquer" - Henri Bergson
    • "Bien des livres auraient été plus clairs s'ils n'avaient pas voulu être si clairs" - Emmanuel Kant
    • "La simplicité est la sophistication suprême" - Léonard De Vinci
    • "Ce qui est facile à comprendre ou à faire pour toi, ne l'est pas forcément pour l'autre." - Mon pèrei

    Mes projets sur Github - Blog - Site DVP

  15. #15
    Membre confirmé Avatar de hlmhv
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    212
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : Belgique

    Informations forums :
    Inscription : Janvier 2004
    Messages : 212
    Par défaut
    Citation Envoyé par BeanzMaster Voir le message
    Salut

    J'ai fait quelques petites recherches sur Mindstorms.
    Pour ce que tu souhaites faire (je me trompe peut-être) mais il me semble que ton approche n'est pas la bonne.
    En gros ce que tu souhaites c'est de pouvoir communiquer avec ton robot via le port serie (usb ou bluetooth) et lui envoyer des commandes.
    J'ai trouvé LEGO EV3 - Delphi Interface V 1.0 à télécharger pour Delphi 7 sur torry .
    Pour une utilisation sous Lazarus il faudra recréer le paquet de composants à installer. Ou utiliser directement les unités fournis dans ton application. J'ai regardé vite le code de cette bibliothèque, il n'est pas très compliqué et devrait compiler sans de gros changements dans Lazarus. Pour la gestion des ports et pouvoir envoyer tes commandes NXT le mieux serait d'utiliser le composant TLazSerial de notre ami Jurassik Pork ce composant est disponible et installable directement depuis le net avec "Online Package Manager" si tu l'as installé dans Lazarus (c'est dans la même liste depuis ou tu as installé h2paswizard)

    A+
    Je vais essayer sans traîner!
    Merci merci: je me voyais déjà obligé de programmer en C++ (Shame on me!)

Discussions similaires

  1. Vos avis sur Lazarus
    Par JoseF dans le forum Lazarus
    Réponses: 18
    Dernier message: 16/10/2007, 16h01
  2. [Lazarus] Pascal et Pocket PC
    Par Bliz-Hard dans le forum Lazarus
    Réponses: 4
    Dernier message: 22/05/2006, 19h49
  3. Réponses: 2
    Dernier message: 02/12/2004, 08h33
  4. Piloter un port USB sous xp [robotique]
    Par blacknight dans le forum C++Builder
    Réponses: 2
    Dernier message: 01/11/2004, 12h15
  5. [Lazarus] Editeur Pascal sous Linux
    Par jlambert dans le forum Lazarus
    Réponses: 3
    Dernier message: 05/02/2004, 12h32

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo