# Quelle est la meilleure manière d'apprendre à utiliser gEDA?

La première chose à faire est de lire et comprendre l'excellent gschem -> gsch2pcb -> PCB tutoriel de Bill Wilson. Cela devrait vous permettre de débuter.

Allez aussi voir les autres documentations gEDA disponible sur ce site.

Néanmoins, peut être que la meilleure voie pour apprendre la suite gEDA est de le télécharger et de l'essayer vous-même! Si vous consultez le tutoriel de Bill Wilson en essayant la Suite pour vous-même, vous deviendrez un expert en peu de temps!

## À quoi ressemble de le flux de conception de gEDA?

Vous avez ici un schéma de synthèse pour un flux de création de PCB en utilisant la Suite gEDA:

Mis en mots, le flux de conception pour un PCB simple se fait de la manière suivante:

1. Créez vos schémas en utilisant « gschem ».
2. Contrôlez vos schémas avec le vérificateur de DRC. Vous pouvez apprendre à le maîtriser ici.
3. Assigner des références à vos composants en utilisant « grenum » ou « refdes_renum » (ou simplement les attacher depuis « gschem »).
4. Assignez d'autres attributs de composants (tels que des empreintes) en utilisant « gattrib » (ou attachez les simplement manuellement en utilisant « gschem »).
5. Créez un fichier préliminaire de synthèse et faites une netlist en utilisant « gsch2pcb ».
6. Disposez les composants et routez les connexions de votre carte en utilisant « pcb ».
7. Sortez les Gerbers depuis « pcb » en utilisant « File →Print layout » et sélectionnez « Gerber/RS274X » comme type de fichier de sortie.

Si vous faites des changements ou des ajouts à votre schéma ou des attributs, mettez votre fichier PCB comme ceci:

1. Éditez votre schéma et/ou les attributs (« gschem » ou « gattrib »).
2. Contrôlez votre schéma avec le contrôleur de DRC. Vous pouvez apprendre à le maîtriser ici.
3. Annotez directement vos changements en utilisant « gsch2pcb ».
4. Depuis « pcb », mettez à jour vos composants en utilisant « File →Load layout data to paste buffer » puis cliquez sur la zone de dessin pour placer les composants.
5. Depuis « pcb », mettez à jour votre netlist en utilisant « File →Load netlist file ».

Habituellement, les utilisateurs invoquent les outils individuels depuis la ligne de commande. Un gestionnaire de projet (« geda ») existe mais a besoin d'être amélioré.

## Quelles sont les limitations pour les outils gEDA?

La chose la plus importante à garder en mémoire à propos des limitations de gEDA est ceci: GEDA est un projet de logiciel open-source. Il possède quelques limitations mais contrairement à celles des logiciels commerciaux, ses limitations ne sont pas artificielles, arbitraires ou pilotées par le marketing. Ceci étant, gEDA n'est ni un nagware, ni un crippleware, ni un demoware, ni une « version étudiante limitée ». Toutes les limitations des outils gEDA existent car les programmeurs n'ont pas encore implementé ces fonctionnalités particulières. Comme le code est ouvert à tous pour la modification, tout le monde est le bienvenu s'il veut implémenter de nouvelles fonctionnalités ou supprimer des limitations puis de soumettre leurs patches au projet. Si vous êtes un hacker et que vous êtes intéressés pour une contribution au projet gEDA, veuillez considérer effacer une des limitations listée ci-dessous! Vous vous ferez un tas d'amis et gagnerez une notoriété internationale!

- Le support hiérarchique de bus: Le support pour les bus hiérarchiques n'existe pas encore.
- Les attributs de nets et de broches dans gattrib: L'attachement des attributs de routage pour les nets et les broches dans gattrib reste à faire. (Les attributs de net sont utiles pour les schémas à haute vitesse. Par exemple, il est souvent important que toutes les pistes d'un bus aient la même longueur électrique. Malheureusement, il n'est pas certain que PCB supprte actuellement ces attributs de routage.)
- La rétro-annotation depuis PCB vers gschem. Le support pour la permutation de broche et les modifications du fichier de conception de pcb avec les rétro-annotations induites vers gschem reste à faire.
- Le gestionnaire de projet « geda » est obsolète et nécessite une mise à jour.
- Le nombre de couches dans PCB: Actuellement, le nombre de couche de PCB est limité à 8 (ce qui est plus que adéquat pour les projets de petite et moyenne taille). Les développeurs de PCB travaillent sur l'augmentation du nombre de couches vers un nombre indéfini mais ce n'est pas encore fait. Contactez-les directement si vous êtes intéressés par ce projet.

## Quels fichiers de configuration locaux sont utilisés pour un projet?

Une conception typique de PCB nécessite les fichiers de config suivants dans votre répertoire local:

- gafrc: il contient les infos de configuration pour les programmes gEDA/gaf (i.e. gschem, gattrib, gnetlist, etc.). Il doit contenir des pointeurs de votre répertoire de symbole local (si vous en avez).
- attribs: si vous utilisez « gnetlist -g bom2 » pour créer un projet BOM (« Bill Of Material »: liste des éléments) puis vous avez besoin de ce fichier de manière à spéficier quels attributs sont écrits dans la BOM.
- projectrc: lorsque vous faites un pcb, « gsch2pcb projectrc » est une manière pratique de spécifier les chemins aux répertoires locaux d'empreintes, de même que les autres informations de configuration pour « gsch2pcb ». Notez que ce ficheir peut avoir tout nom que vous lui choisissez; j'aime utiliser projectrc comme son nom est suggestif de sa fonction.

Des informations plus détaillées à propos de chaque fichier de configuration est fourni dans la documentation pour chaque élément.

## Quels sont les noms et les emplacements des fichiers RC utilisés avec les applications gEDA/gaf?

Les diverses applications gEDA/gaf (gschem, gattrib, gnetlist, etc.) utilisent un jeu de fichiers RC pour initialiser différentes options configurables dans les outils eux-mêmes. Ces fichiers RC sont lus par chaque application lors de leur démarrage. Philosophiquement, il existe trois endroits où une application gEDA/gaf va chercher des fichiers RC:

- Dans le répertoire d'installation du système: `${prefix}/share/gEDA/`. Cet endroit contient les fichiers RC globaux du système et à tous les utilisateurs. Ces fichiers RC doivent être trouvés et chargés avec succès pour que les applications gEDA fonctionnent correctement. `${prefix}` est initialisé avec le chemin où gEDA/gaf est installé.
- Dans le répertoire utilisateur: `$HOME/.gEDA/`. Cet endroit garde les fichiers RC qui s'appliquent à tous les projets d'utilisateurs. `.gEDA` est un répertoire. Ces fichiers sont optionels. Ne faites pas que placer une copie du system-gschemrc (ou un autre) dans ce répertoire; ceci ne fonctionnera pas correctement. La bonne chose à faire est de dépasser les choses spécifiques que vous voulez changer.
- Dans le répertoire local du projet. Cet endroit contient les fichiers RC qui s'appliquent au projet local (placé dans ce même répertoire). Ces fichiers RC fournissent des dépassements spécifiques, tels que des bibliothèques de composants ou de sources. Ce fichier est aussi optionel. Ne faites pas que placer une copie de system-gschemrc (ou un autre) dans ce répertoire; il ne fonctionnera pas correctement.

Le système de fichier RC a évolué au fil du temps. Originellement, chaque application gEDA/gaf a utilisé ses propres fichiers RC (par exemple, gschem utilise gschemrc, gnetlist utilise gnetlistrc et ainsi de suite). Nénmoins, avec l'augmentation du nombre des applications gEDA/gaf, il est devenu clair que les fichiers RC individuels contenaient un lot d'informations redondantes et que les nouveaux utilisateurs étaient perturbés par les différents fichiers RC. C'est la raison pour laquelle les différents fichiers RC ont été compactés en un seul fichier, appelé « gafrc ». Néanmoins, comme gschem a besoin de tous les types de personalisations spéciaux, nous avons décidé de garder le gschemrc système en plus de tous les fichiers gafrc. Aussi, de manière à préserver une compatibilité arrière, l'ancien fichier RC système est encore maintenu dans le répertoire système. En conséquence, le fichier de configuration RC actuel ressemble à ceci:

- Dans le répertoire d'installation du système:
  - `system-gafrc` – Il contient la plupart des initialisations globales de gaf.
  - `system-gattribrc`
  - `system-gnetlistrc`
  - `system-gschemrc` – Il contient de nombreuses configurations spécifiques à gschem
  - `system-gschlasrc`
  - `system-gsymcheckrc`
- Dans le répertoire `${HOME}` de l'utilisateur:
  - `.gEDA/gafrc`
- Dans le répertoire local du projet:
  - `gafrc` – Il devrait contenir les dépassements locaux, tels que les pointeurs vers les symboles localement définis.

Les définitions de couleurs gschem-darkbg ou gschem-lightbg sont aussi chargées par le system-gschemrc.

Finalement, notez que les applications gEDA/gaf recherchent jusqu'à six fichiers de configuration au démarrage:

1. `system-gafrc`
2. `system-gschemrc` (ou un autre)
3. `${HOME}/.geda/gafrc`
4. `${HOME}/.geda/gschemrc` (ou un autre)
5. `./gafrc`
6. `./gschemrc` (ou un autre)

Si vous obtenez un avertissement comme quoi votre application ne peut pas trouver l'un ou l'autre de ces fichiers, ne vous inquiétez pas. La plupart d'entre eux sont optionels. Les seuls fichiers nécessaires sont les fichiers RC systèmes.

## Qu'en est-il du gestionnaire de projet?

Les composants individuels dans la suite de conception de gEDA ne forment pas un projet de bout en bout. A la place, ils traitent leurs propres fichiers (i.e. « gschem » → .sch, « pcb » → .pcb). Néanmoins, il existe un gestionnaire de projet appelé « geda », que vous pouvez invoquer depuis le ligne de commande. Son but est de vous faciliter la gestion de votre idée comme un tout depuis le concept, en passant par la saisie de schéma, l'attachement d'attributs, le placement, la génération de BOM, ainsi de suite.

Malheureusement, le développement de « geda » n'a pas suivi le reste de gEDA/gaf. En particulier, « geda » n'utilise pas les derniers outils ou méthodes pour réaliser les tâches individuelles. C'est la raison pour laquelle nous recommandons aux utilisateurs d'utiliser les outils individuels (i.e. gschem, gattrib, gnetlist, gsch2pcb, etc) depuis la ligne de commande. C'est pourquoi, si vous êtes un hacker à la recherche d'un petit projet à adopter, améliorer « geda » serait une belle introduction à la Suite gEDA et vous vous feriez un tas d'amis en le faisant!