# Usage de Gschem

## Comment je déplace un composant?

Ce n’est plus un problème·; déplacer un composant peut être réalisé en utilisant le bouton gauche de la souris – la méthode haituelle des utilisateurs de Windows. pour les vrsions égales ou plus récentes que 20060824, faites cecido this:

1. Sélectionnez le composant en cliquant dessus avec le bouton gauche de la souris. Le composant sera mis en valeur.
2. Tirez le composant (en utilisant le bouton gauche de la souris) pour le placer où vous le voulez.

C’est probablement ce que vous avez l’habitude de faire.

Pour les personnes avec d’anciennes versions de gschem, vous avez ici trois voies pour déplacer facilement les composants avec gschem:

Un:

1. Attrapez le composants avec le bouton de souris du milieu. Le composant suivra le curseur où vous l’emmenez.
2. Pour placer le composant, relachez le bouton du milieu de la souris. Le composant restera où vous l’avez placé.

Deux:

1. Sélectionnez le composant en cliquant dessus avec le bouton gauche de la souris. Le composant sera mis en valeur.
2. Appuyez sur la touche « M » du clavier. Le composant suivra le curseur où vous l’emmenez.
3. Pour placer le composant, cliquez le bouton gauche de la souris. Le composant restera où vous l’avez placé.

Trois:

1. Pour placer le composant, cliquez sur le bouton gauche de souris. Le composant restera là où vous l’avez placé.

## Comment je change la taille du texte sur un symbole?

1. Sélectionnez le symbole.
2. Clic droit → down symbol (ou faites Hierarchy → down symbol). Ceci vous mène à l’éditeur de symbole.
3. Sélectionnez le pinnumber que vous voulez changer.
4. Faites Edit → Edit Text (ou tapez le raccourci clavier « ex »).
5. Changez la taille de police dans la boîte déroulante.
6. Recommencez pour tous les éléments de textes désirés.
7. Fichier → sauvegarde
8. Clic droit → up (ou Hierarchy → Up). Vous êtes maintenant retourné à l’éditeur de schéma.
9. Avez le symbole encore sélectionné, faites Edit → Update component (ou utilisez le raccourci clavier « ep »). Si cela ne fonctionne pas, effacez simplement le symbole et rechargez-le.

Plus généralement, vous pouvez utiliser cette procédure pour éditer n’importe quoi sur un symbole. (Substituez « Edit Text » pour votre édition souhaitée, bien sûr.)

## Comment dévérouiller un composant

Lorsqu’un composant est véroullé, il est insélectionnable en utilisant le bouton milieu de la souris mais il est néanmoins sélectionnable en utilisant une sélection de fenêtre. Pour une sélection de fenêtre sur un composant, cliquez et maintenez avec le bouton gauche de souris et tirez pour créer une région rectangulaire contenant le composant devant être dévérouillé. Exécutez la commande Edit → unLock pour dévérouiller le composant.

## Comment refdes peut-il être automatiquement numéroté lorsque je dessine un schéma?

Éditez le fichier system-gschemrc ou placez ce qui suit dans le fichier gschemrc (soit `~/.gEDA/gschemrc` ou un fichier `gschemrc` dans le répertoire local d’où vous invoquez gschem):

    (load (string-append gedadata "/scheme/auto-uref.scm")) ; load the autonumbering script
    (add-hook! add-component-hook auto-uref)       ; autonumber when adding a component
    (add-hook! copy-component-hook auto-uref)      ; autonumber when copying a component

Veuillez substituer $YOUR_INSTALL_PATH par le chemin d’installation de geda.

## Qu'est-ce qu'un bus et comment l'utiliser?

Un bus est purement décoratif. Le netlister l’ignore. L’attribut netname= ne fonctionne pas pour connecter les points ensemble – c’est ce que gnetlist lit et transforme dans votre netlist. Il n’est pas possible de connecter une ligne discrète ou « accrochée à un bus » car, encore une fois, le bus est plus une entité graphique.

Quelques utilisateurs ont trouvé utile d’organiser leurs réseaux en incorporant un nom de bus dans le nom de net. Par exemple, « net=busA:1 » peut être ajouté à chaque busripper pour aider le tri des nets.

## Que sont les Liaisons de Touches dans gschem?

## Quelles sont les liaisons avec la souris dans gschem?

Par défaut, vous avez:

- Le bouton gauche de souris est utilisé pour prendre et dessiner
- Le bouton milieu de souris est soit pour déplacer un objet (maintenez le bouton milieu sur un objet et déplacez la souris), soit pour copier un objet (la touche ALT maintenue lors d’une pression sur le bouton milieu sur un objet et déplacez la souris).
- Le bouton droit de souris est un menu déroulant.

Vous pouvez changer le bouton milieu en ajoutant ce qui suit à un fichier gschemrc:

    (middle-button "action")   ;default binding, move or copy an object

ou:

    (middle-button "stroke")   ;draw mouse gestures/strokes (must install libstroke to enable

ou:

    (middle-button "repeat")   ;repeat the last command executed

Vous pouvez changer le bouton droit en ajoutant ce qui suit dans un fichier gschemrc:

    (third-button "popup")     ;default binding, show a popup menu

ou:

    (third-button "mousepan")  ;use the mouse to pan around the schematic

Pour plus informations sur ces options, veuillez aller voir le fichier `${install_prefix}/share/gEDA/system-gschemrc`.

# Symboles gschem

## Quel est l'objet de cette polémique entre les symboles lourds et légers?

Cette nomenclature est apparue d’une discussion qui apparaît fréquement sur les listes de diffusion geda-user et geda-dev. Un symbole léger contient peu d’attributs intégrés dans le symbole lui-même. Il nécessite que l’utilisateur attache presque tous les attributs au niveau du schéma (i.e. en utilisant soit gschem, soit gattrib). Un symbole lourd contient plusieurs attributs (tels qu’une empreinte de boîtier, des noms de modèle SPICE, etc.) intégrés dans le fichier symbole lui-même. Un symbole lourd nécessite donc des attachements d’attributs très légers au niveau du schéma – vous n’avez qu’à le placer et c’est fait.

Le débat entre les adversaires des symboles lourds et légers est très détaillé et pointu. En caricaturant, les avocats des symboles lourds croient que cela fournit une meilleure intégration entre gschem et PCB avec l’importance des attrituts de placement (tels que footprint name) déjà créés dans le symbole. Ceci est considéré comme une bonne chose pour les nouveaux utilisateurs (noobs) qui veulent simplement concevoir une simple carte et n’apprécient pas ou n’ont que faire des zillions de variations qu’une simple résistance peut avoir (i.e. empreintes différentes, TCR, précision, composition physique, etc). Les avocats des symboles légers préfère traiter les attributs au niveau du schéma car ils pensent que c’est plus flexible. Ils font rapidement remarquer que une bibliothèque de symboles lourds s’accroîtra rapidement en des milliers de morceaux avec des noms grotesquement longs en tentant de distinguer entre les différentes variations d’un composant. Ils soulignent aussi que l’utilitaire « gattrib » est l’outil préféré pour traiter les attributs au niveau du schéma (i.e. dans le fichier .sch).

GEDA/gaf, configuré par défaut, utilise des symboles légers, bien qu’il puisse être configuré pour utiliser des symboles lourds. Pour plus d’informations, vous pouvez lire ces dicussions sur la liste de diffusion geda-user:

http://archives.seul.org/geda/user/Jun-2005/msg00001.html http://archives.seul.org/geda/dev/Oct-2005/msg00043.html

## J'utilise un symbole extérieur à la bibliothèque. Comment se fait-il qu'il ne soit pas aligné sur la grille?

Les symboles dans la bibliothèque, comme ceux disponibles sur le site web gedasymbols sont fournis par des utilisateurs comme vous. Quelques personnes utilisent des initialisations de grille différentes des autres (i.e. 50mil vs. 100mil). Si vous découvrez un symbole qui semble être hors de la grille, tentez de réduire votre espacement de grille, déplacez le symbole de telle manière qu’il s’adapte à « votre » propre grille, puis revenez à votre grille initiale.

Oui, les docs gEDA suggèrent que vous utilisiez un espacement de grille de 100mil. Mais tout le monde aime faire les choses à sa propre manière et il n’existe pas de diktat pour pour imposer les règles sur les symboles rendus disponibles. Vous devez donc être au courant de cette possibilité.

## Existe-t-il un symbole explicitement « non connecté » que je pourrais/devrais placer dans le schéma pour empêcher gnetlist de penser que j'ai oublié une connexion?

Réponse: misc → nc-left, nc-right, nc-top, nc-bottom.

Attention: occassionnellement, cela peut créer une liaison appelée « no_connect » (ou « NC?? ») qui peut mener à des broches connectées ensembles dans gnetlist – ce que vous _ne souhaitez probablement pas_.

Si vous voulez un symbole graphiquement complet (sans connexions électriques), ajoutez un attribut “graphical=1”. Le netlister ignorera entièrement ces symboles.

## Comment placer un un attribut de symbole invisible dans un schéma?

La plupart des symboles d’un symbole ne sont pas placés sur le schéma à moins qu’ils ne soient visibles. Pour afficher les attributs de symboles invisibles, cherchez les mots clés suivants dans le fichier system-gschemrc:

    (attribute-promotion “enabled”);
    (promote-invisible “disabled”) ; ⇐ This one
    (keep-invisible “enabled”)

Ajoutez à votre fichier gschemrc:

    (promote-invisible “enabled”)

et vous verrez tous les attributs. Le mot « keep-invisible » gardera caché ceux des attributs qui sont cachés dans le fichier symbole.

## Que dois-je faire à propos des broches d'alimentation sur mon symbole: Les rendre visible (explicites) ou invisibles (implicites)?

Dans le passé, les circuits numériques cachaient souvent leurs broches d’alimentation et en utilisant un attribut à l’intérieur du symbole. La pensée moderne est que c’est une mauvaise pratique bien que les guerres de religions font encore occasionnellement rage à propos de ce sujet).

Cela reste marginalement vrai pour les vieux circuits logiques d’avoir toutes des broches d’alimentation et de GND, en 5V TTL, cachées. Si vous n’avez que du +5V sur votre carte, cacher alors les broches d’alimentation +5V peut simplifier quelque peu votre schéma. Néanmoins, peut de concepteur dessinent de tels circuits de nos jours; 5V TTL (et 5V CMOS) sont devenues rapidement des technologies antiques.

Il a toujours été inacceptable de cacher les broches d’alimentation sur les circuits analogiques. D’abord, l’analogique a souvent de multiples connexions d’alimentation (VCC, VEE) qui ont explicitement besoin d’être dessinées. Ensuite, une bonne pratique de conception est de placer des capacités de découplage sur chaquet et toutes les broches d’alimentations. Quelques uns placent aussi une inductance en série avec l’alimentation. Comme ils doivent être insérés dans le schéma, cela est réalisé plus facilement en les attachant explicitement à une broche d’alimentation. C’est la raison pour laquelle on ne dedrait jamais utiliser des broches d’alimentaion cachées pour les symboles analogiques.

Les nouveaux circuits logiques utilisent souvent de multiples alimentations pour différentes sections logiques (OVDD, DVDD, etc). Il est aussi habituel d’avoir plusieurs familles logiques sur une seule carte (5V, 3.3V, etc.). C’est la raison pour laquelle est est mieux de placer et de câbler explicitement les broches d’alimentation sur le symbole. Les broches d’alimentation cachées sont un réservoir de désastre car vous pouvez facilement mal connecter un composant 5V sur un réseau 3.3V, par exemple.

Pour paraphraser Nancy Reagan: Dites simplement «·non·» aux broches d’alimentation.

Ceci étant dit, il peut encore être utile de détacher les broches d’alimentation de la partie fonctionnelle du du symbole. Pour ce faire, définissez un symbole d’alimentation séparé et donnez-lui le même refdes comme une partie fonctionnelle. Lancer gsch2pcb traitera la séparation correctement comme un seul composant. Comme ni gschem, ni gsch2pcb ne savent explicitement que le composant n’est complet qu’avec les deux symboles définis, vous aurez donc à le contrôler vous-même. Avec cette méthode, vous pouvez dessiner toutes les alimentation dans un coin du schéma où elles n’interfèrent pas avec les nets de signaux. Dans plusieurs cas, c’est plus avantageux avec les circuits analogiques.

## Existe-t-il une spécification ou un manuel pour créer les symboles gschem? Où est-il?

Oui. C’est le Guide de Création de Symbole.

# Configuration/personnalisation de gschem

gschem est configurable de plusieurs manières qui peuvent être décrites ici. Jetez un oeil sur «·system-gschemrc·» pour des suggestions sur ce qui peut être fait d’autre.

## Comment changer la taille par défaut d'un texte flottant?

Placez

    (text-size 10)

dans votre gschemrc et replacez «·10·» avec votre taille favorite.

## Comment je peux avoir une couleur fond différente?

Éditez le fichier system-gschemrc et au début du fichier, vous trouvezrez des lignes comme:

    ;
    ; Start of color section
    ;
    ; Load up a color scheme has a light (almost white) background
    ; Comment out the first line and comment in the second line for a
    ; dark (black) background.  The dark background is the original look.
    ;
    (load (string-append gedadatarc "/gschem-darkbg")) ; dark background
    ;(load (string-append gedadatarc "/gschem-lightbg")) ; light background

Commentez la ligne `darkbg` (avec un ;) et décommentez la ligne `lightbg`. Cela vous donnera une couleur de fond blanche au lieu de noir. Il ajuste aussi toutes les autres couleurs pour être compatibles avec un fond lumineux.

Si vous voulez plus de contrôle sur les couleurs, veuillez éditer `${prefix}/share/gEDA/gschem-darkbg` ou `${prefix}/share/gEDA/gschem-lightbg` ou créez votre propre fichier et chargez-le dans le fichier `system-gschemrc`.

Un fond noir est préféré par plusieurs utilisateurs.

# Impression/Sortie

## Comment imprimer les schémas depuis le ligne de commande?

Lancez le script `gschem-print.scm` créera le fichier Postscript qui est spécifié par la ligne de commande.

La ligne de commande ci-dessous crée un fichier Postscript depuis le fichier schéma (replacez MY_SCH avec le nom de votre schéma et GEDA_SCHEME_DIR avec le nom de votre répertoire où les fichiers schémas gEDA sont installés):

    gschem -p -oMY_SCH.ps -sGEDA_SCHEME_DIR/gschem-print.scm MY_SCH.sch

Le script BASH ci-dessous, que j’ai nommé `gschem-print`, crée un fichier Postscript pour chaque fichier schéma spécifié sur la ligne de commande et place chaque fichier généré sur l’imprimante par défaut:

    #!/bin/bash

    # gschem options
    # -oPS_FILENAME output to Postscript file PS_FILENAME
    # -sSCRIPT_FILENAME run script SCRIPT_FILENAME
    # -p autoplace windows

    for name in $*
    do
    base=”${name%.*}”
    gschem -p -o$base.ps -sGEDA_SCHEME_DIR/gschem-print.scm $base.sch
    lpr -P$PRINTER $base.ps
    done

## Comment je peux sortie le postscript/PNG en couleurs?

Éditez le fichier `system-gschemrc` ou placez ce qui suit dans un fichier `gschemrc` (soit `~/.gEDA/gschemrc` ou un fichier `gschemrc` dans le répertoire local depuis où vous invoquez gschem):

    (output-color "enabled")      ; for color postscript output
    (image-color "enabled")       ; for color PNG output (enabled by default)

Pour contrôler la couleur de fond du fichier PS, changez la ligne suivante soit avec gschem-darkbg (pour la couleur de fond par défaut en noir) ou gschem-lightbg (pour une couleur de fond alternative):

    (output-color-background 16 "black" "null" "0 0 0" 0 0 0)

Les “0 0 0” sont les composantes RGB (entre 0..1) pour la couleur de fond de la sortie du PS.

Pour contrôler le fond de la sortie PNG, changez la ligne suivante soit en gschem-darkbg (pour la couleur de fond par défaut en noir) ou gschem-lightbg (pour une couleur de fond alternative):

    (background-color 0 "grey94" "null" "1 1 1" 255 255 255)

Les 255 255 255 sont les composantes RGB pour la couleur de fond de l’image PNG.

## Comment je peux avoir une sortie postscript/PNG en noir et blanc?

Pour les sorties PS en noir et blanc, placez ce qui suit dans un fichier gschemrc:

    (output-color "disabled")      ; for monochrome postscript output

Pour les images PNG en noir et blanc, placez ce qui suit dans un fichier gschemrc:

    (image-color "disabled")       ; for monochromoe PNG output

## Comment j'insère des schémas dans mon document LaTex?

1. Sortez le schéma dans un fichier. Cela sera un postscript générique (*.ps).
2. Convertissez le fichier postscript en epsi avec l’outil ps2epsi. C’est un script de la suite ghostscript.
3. Incluez usepackage{graphicx} dans le préambulz de votre document latex. Utilisez la commande includegraphics pour placer votre schéma.

Un exemple simple:

    \documentclass{article}
    \usepackage{graphicx}
    \begin{document}
      \begin{image}
      \includegraphics[width=100mm]{ModulPID.epsi}
      \end{image}
    \end{document}

## Comment je scinde un fichier postscript en plusieurs pages?

gschem ne fournit pas cette fonctionnalité en interne; il existe néanmoins un programme appelé «·poster·» qui le réalise exactement. Il peut être téléchargé depuis soit ici (GNU), soit ici (KDE Print).

# Problèmes d'installation/d'exécution de gschem

## gschem segfaults lorsque j'efface des composants sur FC5 (et sur d'autres distributions Linux)! Existe-t-il une amélioration?

Ce bogue semble être apparu pour les utilisateurs de la Fedora Core 5 (et d’autres distributions linux qui utilisent glib 2.10.x). Le bogue a été réglé par les développeurs et il apparaîtra dans la prochaine version de gEDA/gaf.

A moyen terme, vous pouvez contourner ce bogue en plaçant la variable d’environnement G_SLICE à «·always-malloc·». Spécifiquement, avant de lancer gschem, faites ceci:

bash:

    export G_SLICE=always-malloc

csh:

    setenv G_SLICE always-malloc

## Après l'installation, gschem ne fonctionne pas!? Que ce qui a pu aller mal?

Si vous lancez gschem et que vous avez une fenêtre sans barre de menu, sans couleurs et le programme s’arrête lorsque vous appuyez sur une touche avec le message suivant:

    ERROR: Unbound variable: current-keymap

Ou vous avez une erreur tel que ceci:

    Gtk-CRITICAL : file gtkpixmap.c: line 97 (gtk_pixmap_new): assertion `val != NULL’ failed.
    Gtk-CRITICAL : file gtkpixmap.c: line 97 (gtk_pixmap_new): assertion `val != NULL’ failed.
    Tried to get an invalid color: 0
    Tried to get an invalid color: 7
    Tried to get an invalid color: 0
    Tried to get an invalid color: 7

alors gschem ne trouve pas de fichier rc. Il y a deux ficheirs rc nécessaires. Le premier est `system-gschemrc` et le second `system-commonrc`.

- Le fichier rc system-gschemrc doit être installé lorsque vous installez gschem et réside typiquement dans `${prefix}/share/gEDA/system-gschemrc`. `${prefix}` est l’endroit où vous avez installé gschem (habituellement `/usr` ou `/usr/local` ou `$HOME/geda`). Ce fichier peut aussi être installé dans /etc/gEDA (c’est le cas des paquets .debs).
- Le fichier rc system-commonrc devrait être installé lorsque vous installez la bibliothèque de symboles pour gEDA/gaf. Il réside dans `${prefix}/share/gEDA/system-commonrc`. Ce fichier peut aussi être installé dans `/etc/gEDA` (c’est le cas des paquets .debs). Ce fichier n’est pas chargé directement par gschem. Il est chargé par un “(load …)” dans le ficheir rc system-gschemrc.

Assurez-vous que ces fichiers soient installés. Le fichier gschem.log (qui est créé à chaque fois que vous lancez gschem) contient des informations de déboguage intéressantes qui doivent aider dans la recherche de ce qui ne va pas. Contrôlez ce fichier pour voir où gschem cherche les fichiers rc.

Aussi, quelques anciennes versions de gEDA/gaf ont quelques bogues lorsque les fichiers rc files sont installés dans d’autres endroits (autres que `${prefix}/share/gEDA`), veuillez donc le mettre à jour vers une version plus récente.

## "Ajouter des Composants" ne proposent aucun symboles! Que puis-je y faire?

Assurez-vous qu’au moins un de vos fichiers de config contient un chemin valide vers une bibliothèque de symbole. Au démarrage, gschem contrôle les fichiers de de config suivants (sur un système Debian):

1. fichier gafrc système: `/etc/gEDA/system-gafrc`
2. fichier gafrc utilisateur: `~/.gEDA/gafrc`
3. fichier gafrc local: `$PWD/gafrc`
4. fichier gschemrc système: `/etc/gEDA/system-gschemrc`
5. fichier gschemrc utilisateur: `~/.gEDA/gschemrc`
6. fichier gschemrc local: `$PWD/gschemrc]`

Tous ces fichies de config peuvent ou non ajouter des chemins à la liste de recherche des bibliothèques. Si un fichier de config contient la commande

    (reset-component-library)

Le chemin de recherche des bibliothèques sera vidé. L’ordre est évidemment important, comme cette commande effacera tout chemin précédemment ajoûté.