Voir les contributions

Cette section vous permet de consulter les contributions (messages, sujets et fichiers joints) d'un utilisateur. Vous ne pourrez voir que les contributions des zones auxquelles vous avez accès.


Messages - Thierry

Pages: 1 ... 37 38 [39] 40 41 ... 45
571
Bibliothèques / Re : Tuto d'utilisation de Git
« le: mars 28, 2016, 11:33:35 am »
Tuto Partie 3 : Au quotidien

Vous disposez maintenant d'un dépôt de vos sources chez un hébergeur de confiance, d'un dépôt local représentant une copie de ce dépôt distant pour travailler confortablement, et d'un accès privilégié à ce dépôt distant grâce à une clé cryptée réputée inviolable (ou très difficilement) !

Vous pouvez maintenant travailler tranquillement dans votre dépôt local, créer, modifier, supprimer des fichiers et des répertoires exactement comme avant, sans vous préoccuper de rien. Mais au bout d'un moment vous allez vouloir sauver vos fichiers dans votre dépôt local, voire envoyer le fruit de votre dur labeur vers votre dépôt distant, pour le sauver, mais aussi peut être pour le partager...
Votre dépôt local n'est pas qu'un simple répertoire, c'est aussi un historique de vos modifications qui est conservé, et auquel vous pouvez revenir à n'importe quel moment... Envoyer vos fichiers vers ce dépôt local correspond donc à l'enregistrement de l'état de ces fichiers et répertoires à l'instant 't', sous un nom bien précis. A tout moment, vous pourrez annuler une modification et revenir à un état antérieur, comparer votre source actuel à ce qu'il a été à une date ou une version précise... Bref, c'est beaucoup plus qu'une simple sauvegarde de vos sources ! Voyons comment procéder.

Lancez Git Extensions et ouvrez votre dépôt. Dans la barre d'icônes en haut, vous en avez une qui attire l'oeil, 'Commiter', suivi d'un nombre.



C'est le nombre de modifications que Git a détecté dans l'ensemble de ce dépôt. Cette recherche est automatique, et concerne absoument tous les fichiers présents dans le répertoire du dépôt, pas seulement les sources. En cliquant sur cette icône, Git extensions ouvre une nouvelle fenêtre qui va vous permettre de mieux comprendre ces modifications.



En haut à gauche, tous les fichiers détectés différents, avec le type de modification comme icône (ajout, suppression, modification...). Si vous sélectionnez un fichier, vous verrez à droite un récapitulatif des modifications apportées, avec sur fond rouge les anciennes lignes, et sur fond vert les nouvelles. Dans le cas d'un ajout ou d'une supression, c'est le contenu du fichier qui est affiché. Avant de passer à la suite, il peut être nécessaire de limiter la recherche de ces modifications sur des fichiers que vous ne pousserez jamais dans le dépôt, comme des résultats de compilation, des fichiers temporaires, ou des fichiers personnels. C'est le rôle d'un petit fichier texte apparu à la racine de votre dépôt et qui s'appelle '.gitignore'. Il recense les fichiers et répertoires que vous n'avez pas envie de voir apparaître ici, dans la liste des fichiers modifiés. Si l'un de ceux que vous voyez est dans ce cas, vous avez deux solutions. Soit éditer manuellement '.gitignore' et y ajouter le nom incriminé (répertoire, nom générique comme *.txt, ou nom précis), soit utiliser la commande du menu contextuel du fichier 'Ajouter le fichier à .gitignore'.
Une fois le ménage fait dans les fichiers modifiés, il faut dire à Git lesquels représentent bien ce qui doit être mis au dépôt. Git dit 'indéxer un fichier'. Désindexer est bien sûr l'opération inverse. Les quatre petites flèches violettes de gauche permet de construire la liste du bas, qui représente ce que vous voulez commiter, c'est à dire envoyer au dépôt. Il n'est pas toujours souhaitable de tout commiter. Par exemple si vous voulez mettre une petite correction à disposition alors que vous avez touché à autre chose...
Une fois le choix fait, vous pouvez commiter, c'est à dire enregistrer ces modifications comme étant l'état de votre dépôt local.
Pour l'instant, vous avez travaillé localement... Si vous êtes sûr de vos modifications, alors vous pouvez peut être les 'pousser', c'est à dire les envoyer -aussi- vers le dépôt distant. En effet, votre dépôt distant ne peux pas prendre des modifications différentes de celles que vous avez commité localement. Sinon il en résulterait un décalage qui ne peux pas fonctionner. Pas contre vous pouvez commiter plusieurs fois localement, avant de tout pousser d'un seul coup chez Framasoft !
Bref, dans cette fenêtre, vous 'commitez', ou vous 'commitez' et 'poussez' en même temps ! Pour que la manip puisse avoir lieu, n'oubliez pas de donner un message de commit, c'est obligatoire. Enfin les autres boutons vous proposent de réinitialiser les fichiers de la liste des indexés pour les ramener dans l'état précédent. Attention, vous perdrez vos modifications !

572
Bibliothèques / Re : Tuto d'utilisation de Git
« le: mars 28, 2016, 10:49:27 am »
Tu n'as pas besoin de faire ça si tu n'as jamais utilisé PuTTY. Si tu l'avais déjà installé, alors il faudrait aller voir dans les registres avec regedit, clé 'HKEY_CURRENT_USER\SOFTWARE\SimonTatham\PuTTY\SshHostKeys' et enlever la valeur framasoft.org si elle est là.
Ce message s'affiche tout le temps depuis qu'ils ont fait la fameuse migration, mais tu n'as pas forcément besoin de faire cette manip !

573
Bibliothèques / Re : Tuto d'utilisation de Git
« le: mars 27, 2016, 11:01:10 am »
Tuto Partie 2 : le clonage

Pour pouvoir travailler à remplir et modifier le contenu du dépôt Git, il va falloir en avoir un exemplaire sur votre machine. Cela s'appelle le clonage. Le principe est de reproduire l'arborescence des fichiers du projet quelque part sur votre machine. Ce nouveau répertoire sera une copie conforme, et Git ira y trouver vos changements à envoyer (commiter) ensuite vers le dépôt distant sur Framagit.

Lancer Git extensions, et utiliser le lien 'Cloner un dépôt' en haut à gauche. Une fenêtre va s'ouvrir pour demander plusieurs choses.



La première est le dépôt à copier : l'adresse se trouve sur la page du projet dans Framagit et commence par git@git.framasoft.org: .
La deuxième est le répertoire devant accueillir le répertoire du projet. Typiquement, dans nos usages, si c'est un projet Arduino, la réponse se termine par 'Mes documents/Arduino'. Si c'est un projet, alors c'est plutôt 'Mes documents/Arduino/Libraries' .
La troisième est le nom du répertoire de votre projet.
La dernière concerne la notion de branches que nous n'aborderons pas tout de suite. Laissons la vide.

Laisser le reste dans l'état, et cliquer sur le bouton 'Cloner'. Si PuTTY est bien lancé et votre clé enregistrée, alors l'arborescence est créée sur votre machine !

574
Bibliothèques / Tuto d'utilisation de Git
« le: mars 26, 2016, 06:27:38 pm »
Tuto Partie 1 : Démarrer sous Windows

Git est un logiciel de gestion de versions, gérant à la fois l'historique de ses fichiers, et l'accès à des utilisateurs dotés de droits : lecture, création, modification, etc... Créé par Linus Torvalds, le créateur de Linux, c'est un produit libre, c'est à dire utilisable et modifiable par tout le monde, en respectant sa licence de distribution, bien sûr.

De nombreux sites proposent d'héberger vos codes source à travers un Git local. Les plus connus sont SourceForge et GitHub, mais il y en a de plus petits comme Gitlab, Gitorious ou Framasoft, fournisseurs de produits libres Français depuis des années. Locoduino a choisi Framasoft et installé ses quartiers de code dans Framagit. Vous pouvez y retrouver tous ses sources ici (https://git.framasoft.org/groups/locoduino.org).

Le site Framagit est organisé autour des utilisateurs, qui peuvent se regrouper sous un même nom, comme Locoduino.org. Chaque utilisateur, ou chaque groupe, dispose d'une liste de projets. Chaque projet est un 'coffre' ou un 'dépot' Git.

La première chose à faire est donc de s'inscrire sur Framagit.

Ensuite, il convient de créer votre premier projet en lui donnant un nom et une visibilité (privé, public...). Ce projet sera le réceptacle de votre travail. Le site propose tout de suite de créer un fichier README.md, faisons le pour disposer juste d'un point de départ... Cliquons sur le lien proposant la création, entrons un peu de texte sur le projet à venir, et sauvons en cliquant sur le bouton 'Commit changes'. Vous noterez que ce bouton refusera de fonctionner si aucun texte de Commit (Commit message) n'est rempli ! C'est le fonctionnement normal de Git qui veut absolument garder une trace de chaque opération effectuée sur le projet.
Voilà, vous avez un dépôt Git avec un peu de contenu !
Pour pouvoir autorisez une machine quelconque à accéder à ce dépôt, il va falloir l'authentifier auprès de Git. Pour cela nous avons besoins d'outils sous Windows.
Malgré mon âge avancé et mon expertise dans ce domaine, je ne suis pas partisan de l'utilisation de la ligne de commande. C'est pourquoi je privilégie toujours lorsque c'est possible l'utilisation d'outils modernes et interactifs.
Depuis le début (récent) de mon utilisation de Git, j'ai installé 'Git Extensions' qui est disponible depuis... SourceForge ! (https://sourceforge.net/projects/gitextensions/). Cet outil graphique d'accès à un dépôt Git permet d'éviter 99% des besoins de la ligne de commande très chères aux Linuxiens.
Outre Git Extensions lui même, l'installeur met en place de petits outils annexes comme PuTTY qui va nous servir à nous faire reconnaître.
Pour que Git authentifie une machine, il nous faut créer une clé SSH et envoyer le partie publique à Framagit, et conserver la partie privée sur notre machine.
Dans Git extensions, utiliser la commande 'Outils/PuTTY/Générer ou importer une clé' .



Suivre les instructions et lorsque la clé est générée, sauver les clés publiques et privées à un endroit sécurisé mais accessible (vous en aurez besoin à chaque connexion à Git...) et dans des fichiers différents. Attention, pour créer la clé privée, vous devrez donner une phrase clé, qui vous sera demandée à chaque connexion. C'est comme un mot de passe, il faut impérativement bien la retenir, y compris les majuscules/minuscules... La vidéo associée à Git extensions dans SourceForge explique bien tout cela, si on comprend l'Anglais supersonique de la narratrice vraisemblablement Indienne.

Laissez PuTTY ouvert, et retournons dans Framagit. Lorsque vous êtes sur le projet, allez dans les settings de votre profil. A gauche vous devez avoir une option 'SSH Keys' avec probablement '0' à côté. Copiez collez le texte de PuTTY de clé publique (le long texte imbuvable de plusieurs lignes, et plus grand que la taille visible, allez jusqu'au bout !) dans le cadre nommé 'Key'. Donnez un nom à votre clé dans 'Title' et cliquez sur Add Key. Voilà, cette clé vous identifiera pour Git.

Du côté Windows, dans Git Extensions, cliquez sur 'Outils/PuTTY/Démarrer l'agent d'authentification'. Cette commande va lancer une petite application qui va se coller dans les icônes de la barre de tâches. Cliquez droit dessus et utilisez 'Add key' qui va vous demander le fichier de clé privée, ainsi que la phrase clé. Une fois tout ça entré, la partie privée de la clé qui vous identifie est disponible a qui la demande. Vous êtes prêts pour la suite !

Je continuerais demain (si tout va bien) pour les manipulations de Git.

575
Présentez vous ! / Re : Bonjour à tous
« le: mars 25, 2016, 10:40:34 am »
Bienvenue parmi nous, et merci pour le commentaire sur UAD !

576
Shields et Modules / Re : Carte Servomoteurs DCC + CAN
« le: mars 17, 2016, 01:33:16 pm »
Moi pareil, j'aurais des choses, y compris parmi les outils proposés plus tôt par Jean-Luc... Mais j'attend que tout ça se décante et que l'on arrive à une liste stable... Au besoin, si je m'y prend trop tard, je commanderai de mon côté.

577
Bibliothèques / Re : suppression
« le: mars 16, 2016, 11:27:23 am »
Je n'ai pas trouvé de mécanisme pour faire cela depuis l'IDE. Le seul moyen que je connaisse est de détruire le répertoire correspondant.

578
Débuter / Re : y a t'il un programmeur dans l'avion?
« le: mars 15, 2016, 11:45:47 pm »
Normalement, installer une bibliothèque est devenu aussi simple que de brancher une Zoé... Il suffit dans l'IDE Arduino de lancer l'option 'Croquis/Inclure une bibliothèque/Ajouter la bibliothèque Zip', et lui donner le Zip téléchargé grâce au lien de Jean-Luc, et c'est fait !

579
Vos projets / Re : Un mini module sonore
« le: mars 14, 2016, 05:37:26 pm »
C'est ce que tu avais proposé dans un article ?

580
Shields et Modules / Re : Carte Servomoteurs DCC + CAN
« le: mars 14, 2016, 09:55:09 am »
Comme dit Denis, proposes ce que tu peux. L'essentiel est qu'une liste existe quelque part avec les références à commander par nous même pour compléter.

581
Présentez vous ! / Re : De la touraine
« le: mars 11, 2016, 09:14:12 pm »
Joli projet, Bienvenue !

583
Shields et Modules / Re : Booster DCC
« le: mars 10, 2016, 05:58:14 pm »
Oui j'avais vu aussi. C'est un collègue Forum de Gregg (qui a fait DCC++ BaseStation) qui a voulu vérifier si l'on pouvait piloter un Booster forte puissance avec et remplacer le petit shield qui est utilisé d'habitude.

584
Le logiciel DCC++ / Re : DCC++ BaseStation
« le: mars 09, 2016, 03:18:31 pm »
Merci Jean-Luc pour, littéralement, cette explication de texte.  :)

Le code est lisible et bien optimisé, c'est boooo.  8)

J'allais ajouter qu'effectivement ce test est lui même à l'intérieur d'une macro plus conséquente !

Une macro doit tenir sur une seule ligne, c'est une contrainte du langage. Mais parfois, et c'est le cas là, elle ne tient pas. Et dans ce cas, le '/' en fin de ligne signifie que la macro n'est pas terminée et qu'elle continue sur la ligne suivante !

Pourquoi faire une aussi grosse macro ?
L'autre solution de codage aurait été de faire une fonction avec les mêmes arguments R et N. Mais au moment de l'exécution la routine d'interruption aurait dû appeler cette fonction, et cela aurait généré un peu de code assembleur pour la mémorisation du pointeur d'exécution, le passage des arguments, la valeur de retour, etc... En procédant par une macro, plus de fonction appelée puisque le code de la macro est directement intégré à sa place dans le source. Le principal inconvénient de cette approche réside dans la taille mémoire programme qui augmenterait significativement à chaque appel de la macro puisque l'ensemble de son code est à nouveau compilé. Mais cela ne se pose pas ici puisque la macro n'est appelée qu'une seule fois selon le type d'Arduino... Donc une solution optimale, tout en conservant l'idée des arguments, et en réduisant l'empreinte mémoire mais aussi et surtout le temps passé dans la routine d'interruption.

Ps : flute, battu par Jean-Luc !

585
Le logiciel DCC++ / Re : DCC++ BaseStation
« le: mars 09, 2016, 09:08:30 am »
Au delà de la bonne utilisation ou non des structures, j'ai moi aussi jeté un oeil sur le code et je dois dire que c'est bien écrit, clair et très documenté. Il y a de très bonnes idées, mais il reste une syntaxe dans DCCpp_Uno.ino que je n'ai pas comprise (ligne 443) :

  if(R.currentReg->activePacket->buf[R.currentBit/8] & R.bitMask[R.currentBit%8]){
    OCR ## N ## A=DCC_ONE_BIT_TOTAL_DURATION_TIMER ## N;
    OCR ## N ## B=DCC_ONE_BIT_PULSE_DURATION_TIMER ## N;
  } else{ /* ELSE it is a ZERO */
    OCR ## N ## A=DCC_ZERO_BIT_TOTAL_DURATION_TIMER ## N;
    OCR ## N ## B=DCC_ZERO_BIT_PULSE_DURATION_TIMER ## N;
} /* END-ELSE */

est-ce que ## est un opérateur ?? J'avoue que je sèche.
A part ça, j'ai commencé à extraire la partie DCC de son code et je vais tenter (à mon rythme, donc pas trop vite...) de le comparer en terme de mémoire consommée à cmrdArduino.
La partie reconnaissance du ACK est aussi très intéressante. Il semble que le LMD18200 ait sa broche 8 qui permette de vérifier la consommation de courant instantanée, comme les broches 1 et 15 du L298N qu'emploie Greg . A creuser.
Pour ce qui est du prix de son montage, il faut voir les contraintes qu'il s'est imposé, c'est à dire aucune soudure, aucun composant autre que l'Arduino et le shield L298N (plutôt coûteux) au dessus... Pour le prix de ce shield, on peut utiliser deux LMD18200 qui rempliront le même rôle !

Pages: 1 ... 37 38 [39] 40 41 ... 45