Bienvenue aux nouveaux arrivants sur FantasPic !

- Pensez à lire les règles durant votre visite, il n'y en a pas beaucoup, mais encore faut-il les respecter .
- N’hésitez pas à faire des remarques et/ou suggestions sur le Forum, dans le but de l'améliorer et de rendre vos prochaines visites plus agréables.
- Vous pouvez regarder votre "panneau de l'utilisateur" afin de configurer vos préférences.
- Un passage par "l'utilisation du forum" est recommandé pour connaître les fonctionnalités du forum.

--- L’équipe FantasPic ---
Idée, bugs, propositions .......
Rubrique "Lazarus" ?
folkeu08
Débutant
Débutant
Messages : 52
Âge : 55
Enregistré en : novembre 2017
Localisation : Ardennes (08)
Contact :

#11 Message par folkeu08 » dim. 5 juil. 2020 10:46

Hello Venon,

Pas besoin d'une grosse artillerie de softs payants.
J'ai presque finis le hard de l'émetteur. Je coince un peu avec le dialogue USB pour réaliser la connexion. L'exemple donné n'est pas clair pour moi. C'est la première fois que j'utilise Lazarus et quand c'est pas visuel, c'est plus difficile.
Ce logiciel correspond à cette réalisation en cours de création : viewtopic.php?f=19&t=795
Depuis mi-janvier, je programme ce soft et j'essaye de faire dialoguer le 18f4550 avec ce soft à partir de ce source pour l'USB en HID : https://github.com/LongDirtyAnimAlf/FPC-USB-HID
Pour ceux qui voudraient s'y essayer pour me débloquer, voici le source de firmware qui fonctionne pour le logiciel ci-dessous se trouve dans la rubrique download de ce livre : https://www.elektor.fr/les-microcontrol ... -debutants
et le source du soft sous delphi7 : https://www.sonelec-musique.com/logicie ... dtest.html (j'ai du remonter une machine virtuelle pour faire tourner delphi7 sous XP)
J'utilise dans un premier temps le firmware de cet exemple pour me connecter à Lazarus.
L'étape suivante, je modifierai mon source des 2 cotés pour envoyer recevoir des datas.
Des travaux d''école pendant les vacances ou un défit Fantaspic :lol: car ce source pourra servir à tous pour faire dialoguer un pic en USB en HID.
Je prépare la conversion du source en Delphi7 vers Lazarus comme cahier de vacances et je viendrai le poster ensuite ici
A+
Folkeu

Rubrique "Lazarus" ?
folkeu08
Débutant
Débutant
Messages : 52
Âge : 55
Enregistré en : novembre 2017
Localisation : Ardennes (08)
Contact :

#12 Message par folkeu08 » sam. 15 août 2020 18:11

Bonjour à tous,
Allez avant la rentrée, un petit devoir pour terminer les vacances.
Je m'y suis déjà penché mes 15 premiers jours de vacances. Je suis pas assez fortiche alors je donne ma langue au chat ou aux chats ...
Tout le dossier est ici : https://www.elektormagazine.fr/labs/usb-hid-test.
A+
François

Rubrique "Lazarus" ?
Temps-x
Avatar de l’utilisateur
Expert
Expert
Messages : 2092
Enregistré en : juillet 2016
Localisation : Terre

#13 Message par Temps-x » dim. 16 août 2020 12:59

Bonjour folkeu08, et tout le forum,

Merci ! pour le partage, c'est super sympa à toi...

Si j'avais eu un peu plus de temps j'aurais pu te montrer quand pouvez le faire en ASM, sans passer par toutes ses librairies qui ne serve cas
brouiller les pistes pour le rendre commercial.

==> A+
:roll: Les requins, c'est comme le langage ASM, c'est le sommet de la chaîne alimentaire. :wink:

Rubrique "Lazarus" ?
pspic
Passioné
Passioné
Messages : 343
Âge : 75
Enregistré en : septembre 2017
Localisation : 68

#14 Message par pspic » dim. 16 août 2020 14:13

Bonjour,
Je lis "Le source de l'exécutable Windows est écrit sous Delphi 7. Delphi 7 n'est plus installable sur les nouvelles versions de Windows à compter de XP."
Il s'agit d'une bonne blague !
J'utilise Delphi7 + composant AntHIDDeviceController pour dialoguer en USB avec un PIC 18F2550 en MikroBasic + descripteur.
Je peux donner plus de détails si intéressé.

Rubrique "Lazarus" ?
folkeu08
Débutant
Débutant
Messages : 52
Âge : 55
Enregistré en : novembre 2017
Localisation : Ardennes (08)
Contact :

#15 Message par folkeu08 » dim. 16 août 2020 20:27

Bonjour les chats, humour!!

Je suis sous Windows 10 en 64 bits. Dès lors que j'ai lancé l'installation de Delphi 7 personnal trouvé chez Developez, j'ai obtenu un message d'information que cette version ne fonctionnerai pas sous ma version actuelle de Windows. C'est l'installateur qui le dit lui-même :!!: Je ne suis pas allé plus loin dans l'installation sous mon W10-64 bits. J'ai monté une machine virtuelle avec un ancien CD de XP.

C'était le premièrement. Secondo, l'auteur a fait appel à des composants payants de chez TMS que j'ai remplacé par des libres sous Lazarus (les switchs à led).

Le petit plus de Lazarus, c'est que je peux emporter Lazarus et mon source partout car j'ai installé et paramètré Lazarus pour l'utiliser à partir de la clé USB. Je peux pas faire cela avec Delphi7 :mur:

Les versions de Windows installées sur les PC sont quand même des versions en 64 bits. Delphi 7 ne permet pas de compiler en 64 bits ce qui ne me convient pas. Lazarus permet de compiler le même source pour Windows 32 et 64 bits, Linux, Mac os, ..... ce qui me convient mieux pour ensuite proposer le soft de gestion de l'émetteur FM et son hard.

Je ne connaissais pas cette version de AntHidDeviceController d'Antarès. Je viens de me lancer à chercher des démo de l'utilisation de ce composants car il est issus de la version JVCL. J'ai trouvé cet exemple que je vais tester dans mon appli :
* https://www.developpez.net/forums/d2073 ... sb-delphi/

J'espère cette fois y arriver. Je vais déjà faire simple en faisant se modifier le texte du label indiquant que la carte électronique est connectée ou non au port USB. Si c'est OK, je verrai pour la réception en l'envoi des datas.

Si tout roule :bravo: , je pourrai poursuivre sur mes derniers jours de vacances l'émetteur FM.

François

Rubrique "Lazarus" ?
folkeu08
Débutant
Débutant
Messages : 52
Âge : 55
Enregistré en : novembre 2017
Localisation : Ardennes (08)
Contact :

#16 Message par folkeu08 » lun. 17 août 2020 00:37

Hello à tous,
:mur: c'est pas bon !
La construction du JVCLHIDController pour Lazarus, je pige pas comment faire pour détecter un hard précis avec un VID = $1234 et PID = $0001.
:oops:
Je coupe mes moteurs pour ce soir car j'y vois plus rien à force :cry:
A+

Rubrique "Lazarus" ?
pspic
Passioné
Passioné
Messages : 343
Âge : 75
Enregistré en : septembre 2017
Localisation : 68

#17 Message par pspic » lun. 17 août 2020 07:49

La construction du JVCLHIDController pour Lazarus, je pige pas comment faire pour détecter un hard précis avec un VID = $1234 et PID = $0001.

Bonjour,
La détection du hard peut se faire par le Product Name, voir exemple de code Delphi:

Code : Tout sélectionner

procedure TF_EnrUsb.HidCtrl1DeviceChange(Sender: TObject);
var
Devtrouve:Boolean;
begin
try
DevTrouve:=false;
while HidCtrl1.CheckOut(Dev) do
  if(Dev.IsPluggedIn=true) then begin
  CurrentDevice := Dev;
   //Adapter le nom du device expl. "CarteUsbPc"
   if Dev.ProductName = 'MesInt' then begin            // Product Name = 'MesInt' crée dans le descripteur
    //Device présent
    DevTrouve:=true;
   end;
 end;
 if DevTrouve = false then begin
  //Device non trouvé
   if MessageDlg('Carte non branchée ou hors tension'+chr(13)+
   'Brancher la carte et choisir OUI'+ Chr(13)+
   'Pour quitter choisir NON',
    mtWarning   , [mbYes, mbNo], 0) = mrYes then begin
    Dev.Free;
    Application.Restore;
    HidCtrl1.DeviceChange;
   end
   else begin
    F_EnrUsb.Close;
   end;
 end;
 except
 Application.MessageBox('Erreur','ATTENTION !',MB_OK);
 end;
end;

Peux tu poster ton code coté PIC, ainsi que coté Lazarus ?

Rubrique "Lazarus" ?
folkeu08
Débutant
Débutant
Messages : 52
Âge : 55
Enregistré en : novembre 2017
Localisation : Ardennes (08)
Contact :

#18 Message par folkeu08 » lun. 17 août 2020 09:39

Hello PSPic,

Cette procédure est déjà écrite dans une unité (usb2) par la personne qui a ré-écris le code de la JVCL (HIDContoler) pour Lazarus, si je comprends bien son code. C'est également dans cette unitée que l'on y déclare le N° de Vendor et de product du board ainsi que le nombre de Byte (64) qui transitent par l'USB.
USBHID_18F4550.rar est le fichier source sous MikroPascal;
electronique_interface_usb_003_18f4550.zip est le compilé extrait de site de Sonelec (Interface USB3). Ce qui correspond exactement a l'appli est ici https://www.sonelec-musique.com/electronique_realisations_interface_usb_002.html
USB HID_Test.rar est mon source Lazarus. La gestion réelle de l'USB se trouve dans le répertoire HID. Je n'ai fait que de dézipper les unités provenant d'ici https://github.com/LongDirtyAnimAlf/FPC-USB-HID (JVCLHIDControleur ré-écris pour Lazarus) et fait le lien des chemins des bibliothèques.
LAZac-news.rar sont des composants tiers à ajouter dans Lazarus. Ce sont des composants visuels concernant des Leds et des Switchs convertis de Delphi vers Lazarus sans aucune modif (un copié-collé a suffit !).
Merci ! par avance.
François
Vous n’avez pas les permissions nécessaires pour voir les fichiers joints à ce message.

Rubrique "Lazarus" ?
pspic
Passioné
Passioné
Messages : 343
Âge : 75
Enregistré en : septembre 2017
Localisation : 68

#19 Message par pspic » lun. 17 août 2020 11:43

Pourquoi ce code est neutralisé ?

Code : Tout sélectionner

procedure TMain_Form.HidCtlDeviceChange(Sender: TObject);
begin
  //if (NewUSB <> nil) and (not NewUSB.Enabled) then
   // NewUSB.IsPluggedIn(NewUSB);
  //if (NewUSB = nil) then
   // NewUSB.CheckOutById(NewUSB, Sonelec_VID, Sonelec_PID);
  //bHIDDevConnected := (MyHidDev <> nil);
  //NewUSB := nil;
  //Hid_Reset(false);
end;

Rubrique "Lazarus" ?
folkeu08
Débutant
Débutant
Messages : 52
Âge : 55
Enregistré en : novembre 2017
Localisation : Ardennes (08)
Contact :

#20 Message par folkeu08 » lun. 17 août 2020 12:03

Parce que les proprietes apres "newusb" ne sont pas reconnues å la compilation.
De plus la procedure ctrldevicechange est deja implementėe dans l'unite usb2.
Ce que je deduis usb2 est une unitėe deportė de la main. Le code usb2 devrai se trouver dans l'unitée de la main. Je pense que je devrai plutót completer dans usb2 pour faire changer la valeur caption du composant detection_label a "connectė"ou "non connecté".
Voili voilou


Retourner vers « Le forum Fantas-PIC »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 3 invités