# pierre launay 2007 licence GPL Version3.
Le fichier source aide_script.odt créé avec OpenOffice.org
Vous pouvez utiliser modifier améliorer ce texte et les scripts associés.
Il vous faudra installer le paquet kicadlib 1.2.0 de Salvador Eduardo Tropea que vous trouverez sur FPGA Libre http://fpgalibre.sourceforge.net/eda.html#tp6.
Vous pourrez télécharger les sources ( rechercher « fuentes »)ou pour Debian Etch http://prdownloads.sourceforge.net/fpgalibre/kicadlib_1.2.0-1_i386.deb?download
Placez-vous dans le répertoire où vous avez téléchargé le paquet kicadlib_1.2.0-1_i386.deb
Le paquet pour Debian Etch s'installe facilement avec un
$su (pour passer administrateur de la machine)
entrer votre mot de passe
puis # dpkg -i kicadlib_1.2.0-1_i386.deb
Ce paquet vous permet de gérer vos bibliothèques en ligne de commande.
Pour les français vous trouverez un lisezmoi_kicadlib-1.2.0.txt dans http://per.launay.free.fr/kicad/kicad_cmp_equ/lisezmoi_kicadlib-1.2.0.txt.
Choisissez un répertoire vide de votre choix, j'ai choisi :~/websites
~ correspond à votre répertoire d'utilisateur, faites dans un terminal $ echo $HOME
Faites un lien symbolique avec les fichiers script que vous avez téléchargé depuis http://per.launay.free.fr/kicad/script/
Dans mon cas : $ln -s travail/site/kicad/script ~/websites/script
Dans un terminal placez-vous dans le répertoire choisi en 1) : cd ~/websites
Lancer $ script/bib_kicad_web.sh
Celui-ci vous téléchargera l'ensemble des fichiers de : http://kicadlib.org/ et de http://www.reniemarquet.cjb.net/kicad.htm ainsi que le fichier
http://library.oshec.org/compressed/all.tar.gz
Il vous créera un fichier et un répertoire :
a) un fichier adr_bib.txt qui contiendra pour chaque fichier contenu dans un fichier compressé, l'adresse du fichier compressé, séparé par un point virgule.
Exemple : ANT24.emp;http://kicadlib.org/modules/Frausti_Boschat_PCB.zip.
b) un répertoire kicad_contrib avec 5 répertoires :modules, libs, 3d, image, info.
Modules contiendra l'ensemble des bibliothèques des empreintes
Libs contiendra l'ensemble des bibliothèques des symboles.
3d contiendra l'ensemble des bibliothèques des modules 3d
Vous pourrez regarder ce qui reste dans le répertoire web, le garder ou le supprimer.
Personnellement je le supprime avec la ligne de commande : $ rm -rf web
Vous pouvez aussi déplacer les répertoires image, info et 3d qui ne serviront pas par la suite.
Faites un lien avec les biliothèques de kicad.
Je travaille sous Debian Etch avec la version non officiel de Salvador Eduardo Tropea que vous pouvez télécharger sur http://downloads.sourceforge.net/fpgalibre/kicad_0.0.20070702-1_i386.deb?download
Voici les liens : $ ln -s /usr/share/kicad/library ~/websites/kicad_contrib/kicad_library .
$ ln -s /usr/share/kicad/modules ~/websites/kicad_contrib/kicad_modules.
Adapter les liens en fonction de votre installation de kicad.
Vous pouvez évidemment rajouter d'autres liens si vous avez d'autres bibliothèques.
Lancer $script/kicad_liste_composants_alias.sh kicad_contrib liste_composants.txt
Vous obtiendrez alors 2 fichiers :
a) liste_composants.txt : liste des composants et des alias des bibliothèques.
La liste des symboles est faite avec kicadib -L répertoire qui liste les composants de toutes les bibliothèques du répertoire.
La liste des alias avec kicad_liste_alias.py.
Ce fichier pourra vous servir directement avec voir_composant_kicad.py.
b) kicad_composants.txt qui contient trois champs par ligne :
le nom du composants, sa bibliothèque, l'adresse du fichier compressé qui contient cette bibliothèque.
C'est fini, si vous avez des problèmes n'hésitez pas à me contacter :
per point launay arobase free point fr
Le fichier est très simple
Une petite présentation en html
Un peu de php très simple
L'action ou cible utilisée est cible.php, la méthode est POST et l'argument(valeur) composant
Composant est une entrée de type texte, on valide avec le bouton valider
*------------------------------------------------------------------------*
Une petite présentation en html
Un peu de php
2.1) On crée un tableau avec le fichier kicad_composants.txt
2.2) On recherche dans chaque ligne du tableau, le composant désiré, récupéré avec POST composant
2.3) Si le composant est dans la ligne du tableau
on affiche le nom du composant , sa bibliothèque et l'adresse du fichier compressé contenant cette bibliothèque
Si la bibliothèque n'est pas une bibliothèque du logiciel kicad le nom du composant est liée à son adresse internet (celle du fichier compressé)
*------------------------------------------------------------------------*
Définition des variables utilisées fichiers ou répertoires et des sites web à télécharger
#-------------------------définitions des adresses et fichiers ---------------------------------
temp="web
adr1="-r http://kicadlib.org/"
adr2="-x http://library.oshec.org/compressed/all.tar.gz
adr3="-r http://www.reniemarquet.cjb.net/kicad.htm"
fichier1="adr_bib.txt"
contrib="kicad_contrib"
mod="modules"
lib="libs"
td="3d"
img="image"
info="info"
#----------------------------------------------------------
Créer un répertoire ou seront déposés les fichiers récupérés sur internet, ici le répertoire "web"
Télécharger les pages web avec wget, tout un site wget -r ou un fichier avec le chemin wget -x
Les sites téléchargés sont : kicadlib.org/ ,library.oshec.org/compressed/all.tar.gz, www.reniemarquet.cjb.net/kicad.htm
On vide le fichier adr_bib.txt et on le remplit avec la fonction liste
La fonction liste cherche les fichiers compressés zip ou tar.gz, il utilise zipinfo ou tar -tf
Pour chaque fichier : il fait une ligne contenant le nom du fichier et l'adresse web de son fichier compressé
exemple: ANT24.wings;http://kicadlib.org/modules/Frausti_Boschat_3D.zip
On décompresse tous les fichiers zip ou tar.gz et on supprime les zip et tar.gz
On remplace les espaces par des _ dans les noms de fichiers
On regroupe tous les fichiers à la racine dans le répertoire web
On met tous les noms de fichier en minuscules
On crée les répertoires qui serviront au tri dans un répertoire kicad_contrib
On tri les fichiers suivant l'extension : mod, emp et mdc dans modules, lib, dcm dans libs et wings, wrl dans 3d ...
On affiche "tous vos fichiers importants sont dans "kicad_contrib"
*------------------------------------------------------------------------*
on vérifie que la ligne de commande est valide.
Il faut mettre dans la ligne de commande
$script/kicad_liste_composants_alias.sh kicad_contrib liste_composants.txt
On vide le fichier liste_composants.txt
On fait la liste des bibliothèques : liste_composants.txt avec kicadlib -L répertoire ainsi que la liste des alias avec kicad_liste_alias.py,
Kicadib -L répertoire : liste des composants de toutes les bibliothèques du répertoire.
On recherche la liste des fichiers contenant alias, on applique alors kicad_liste_alias.py.
voir explication du fichier kicad_liste_alias.py
Le fichier obtenu liste_composants.txt pourra vous servir directement avec voir_composant_kicad.py.
On lance automatiquement $script/kicad_composants.py adr_bib.txt liste_composants.txt kicad_composants.txt
voir fichier kicad_composants.py.
*------------------------------------------------------------------------*
La fonction alias dans kicad_liste_composants_alias.sh, recherche avec grep les fichiers qui
contiennent des alias
On applique à ces fichiers la fonction kicad_liste_alias.py
On vérifie que la bibliothèque lib est valide
On fait un entête de fichiers similaire à celui de kicadlib
On lit tout le fichier ligne à ligne
On recherche le début d'un composant avec DEF, on en extrait le nom du composant
On recherche alors ALIAS entre DEF et ENDDEF, gestion des erreurs
On enregistre alors le composant et ces alias
*------------------------------------------------------------------------*
Ce fichier reçoit 3 fichiers, en lecture les fichiers adr_bib.txt liste_composants.txt
en écriture le fichier kicad_composants.txt.
Pour comprendre, il faut regarder ce que fait kicalib -L répertoire
On a le nom d'une bibliothèque sur une ligne
puis les composants sur les lignes suivantes
puis de nouveau une bibliothèque sur une ligne, ainsi de suite
On crée un tableau vide
On lit liste_composants.txt ligne par ligne
La ligne est une ligne de bibliothèque,elle contient ": ("
dans ce cas on extrait le nom de la bibliothèque mis dans mot
4 possibilités :
mot contient kicad : bibliothèque kicad installée avec le logiciel
mot contient perso : bibliothèque personnelle avec lien dans ../lib_perso
mot est dans adr_bib.txt on extrait alors l'adresse de la bibliothèque
sinon l'adresse de la librairie est inconnue.
Si la ligne est un composant (non vide et pas un commentaires)
On crée un sous tableau de 3 éléments : nom composant; nom bibliothèque ; adresse bibliothèque
On ajoute pour chaque composants ce sous tableau dans le tableau des composants
Ceci jusqu'à la fin de liste_composants.txt
On trie par ordre alphabétique l'ensemble des composants.
Par défaut le tri est fait sur le premier élément soit le nom du composant
On enregistre le tableau dans kicad_composants.txt
*------------------------------------------------------------------------*
Ce fichier permet en local de retrouver un composant dans les bibliothèques.
On se sert du fichier liste_composants.txt.
On affiche une fenêtre (gérée par Tkinter) avec deux textes déroulant, l'une pour les composants,
l'autre pour les empreintes.
On peut effacer le texte de l'un ou de l'autre.