★ APPLICATIONS ★ DIVERS ★ C.I.A.O. : Dessin de Circuits imprimés Assisté par Ordinateur pour CPC AMSTRAD 464,664 et 6128|Radio-Plans n°479) ★ |
C.I.A.O (Radio-Plans n°479) | Applications Divers |
Le voici enfin ce logiciel qui vous faisait tant rêver ! Oh bien sûr, il ne cherche pas à rivaliser avec les postes spécialisés mis à la disposition des professionnels, sauf pour le rapport possibilités/prix. Ce n'est déjà pas si mal !Le but recherché n'était pas d'engager une lutte inégale, mais plutôt de voir ce qu'il était possible de faire sur un simple 464 + au moins un drive + une imprimante type Epson et... Radio-Plans ! A vous de juger. Longue introduction ! Il serait peut-être intéressant de rappeler l'historique de l'épopée qui aboutit à ces lignes : Comme beaucoup d'entre vous, l'un des auteurs (Alary) se mit à rêver au fil des nuits de pastillage, à une autre façon de travailler, plus actuelle, et économique (disaient les publicités) puisqu'éliminant les coûteux outils de dessin traditionnels, et réduisant au strict minimum les copies films. Convaincu qu'il fallait vivre avec son temps, il prit son balluchon et « monta à Paris », voir ce que l'on proposait. Tout de suite il fallait disposer d'un (*) — ou compatible —, équipé d'une carte (**), d'un moniteur haute définition (***), d'une table traçante (***), et accessoirement, d'un logiciel approprié. Le rêve s'estompait très nettement ! Enfin, pour ne pas trop passer pour un idiot, il prit son air vivement intéressé, et demanda une démonstration, qu'il se fit une joie de faire planter majestueusement en posant des questions bêtes comme « Et le hors-pas ? », « Et le routage intelligent, il peut faire celà?», etc... Bien entendu, le logiciel ne coûtait qu'environ 15 000 Frs HT ! A ce prix là, il ne fallait pas encore demander d'implanter un SHADOW. C'était devoir constater tristement qu'un amateur qui « passait » quand même pour environ 1 000 Frs par mois en films et matériel de dessin divers, n'avait pas la possibilité de vivre avec son temps, seulement avec son argent. Mais il rencontre monsieur DAVAL (C.R.T. de Lyon), et cet homme passionnant — qui dispose des plus récentes techniques de C.A.O. (fabrication de circuits hybrides, etc..) —, su dire l'essentiel en une phrase : « cherchez plutôt un système souple que le routage intelligent ». En un instant, l'espoir renaissait, et la rage de tiret le maximum d'un petit équipement était née. Le problème était plus complexe que l'euphorie laissait paraître, mais l'envie plus forte encore. Après s'être cassés les dents sur le gros morceau attaqué de front, les auteurs décidèrent de modérer leurs ambitions, et de commencer déjà par implanter une structure souple, mais sans contrainte d'échelle et de respect rigoureux de cotes : naquit SAO. Puis, afin de tester l'interchangeabilité des polices, et la réelle qualité de l'ossature, IAO fût immédiatement mis en œuvre avec succès. Déjà un pastillage tramait... échelle 1. Cette expérience révélait une nécessité : travailler au minimum à l'échelle 2. En effet, la résolution réelle de l'écran (640*200), rendait totalement insatisfaisante une hardcopie éch.l. Il était en effet hors de question de travailler par coordonnées afin de piloter une table traçante en dehors de nos moyens. Seulement, un écran complet représentant sur papier un dessin d'environ 20 cm x 14 cm, il n'était possible d'obtenir que des CIs de 10 cm x 7 cm éch. 1 ! Il fallait donc « sortir de l'écran ». Mais ce n'est pas si simple, car avec 40 K octets et des figures en mémoire, on marche sur des œufs (et on en casse). Face aux contraintes de ce cahier des charges, les auteurs décidèrent de fumer le callumet des concessions : Le chef, parlant en votre nom dit : « D'accord, on sortira artificiellement de l'écran, mais verticalement au moins, une continuité sans limite sera assurée en sortie de l'imprimante, et il faudra aussi permettre un repérage parfait pour tous les raccords écrans, tant latéraux que verticaux, et puis iL faudra encore pouvoir disposer d'un document de contrôle éch. 1 fiable et précis ». Et toc ! Ne parlant qu'assembleur, son éminent interlocuteur (visage de plus en plus pâle) remonta au bord de son Z80 privé, et s'en fut créer ZONARD : le logiciel que vous possédez depuis le mois dernier. Tout allait bien... jusqu'à ce qu'un tirage continu de trois écrans révèle que : si l'imprimante respectait scrupuleusement dans son sens d'écriture le pas de 2.54, la montée de papier, elle, trahissait ! Le choc fut grand... tout ce travail pour rien ? Et cette imprimante que l'on ne peut commander que par n/216° de pouce ! Enfin vint la solution, grâce à une hardcopy spéciale, qui, une fois sur trois, commande une montée de papier de 21/216° de pouce, au lieu des 22 courants. Fatigués mais contents, les auteurs oubliaient les centaines d'heures de travail, et pensaient à ceux qui profiteraient du résultat — car il était convenu que si l'on réussissait, le résultat serait offert aux lecteurs de RADIO-PLANS — Voilà, c'est la fin de cette longue introduction. Elle vous a fait vivre les tenants et aboutissants d'une étude délicate, mais n'est pas aussi innocente qu'elle a pu paraître au premier abord : Il serait en effet impossible de justifier tous les choix qui ont conduit à ce résultat, mais cette introduction devrait livrer aux plus attentifs d'entre-vous, une quantité considérable de clés permettant de baliser le chemin, et autoriser de ce fait une approche « fraîche » des contraintes permettant sûrement d'améliorer encore le système. Comment taper CIAO ? Nous allons tout de suite nous libérer de la procédure à respecter pour constituer les fichiers utiles, puis nous passerons aux possibilités proprement dites (le plus intéressant). Tout d'abord, nous vous conseillons de partir d'une copie de la disquette contenant déjà SAO et IAO. Nous allons en effet commencer par deux modifications qui seront utiles à CIAO. * La première consiste à remplacer les lanceurs, appelés SAO.BAS et IAO.BAS, par un lanceur commun appelé « dise.BAS », et qui chargera au choix SAO, IAO ou CIAO. Pour ce faire, chargez par exemple IAO.BAS, et modifiez les lignes comme indiqué à la figure 1. Quand cela est fait, sauvegardez sous le nom « DISC.BAS », puis effacez les lanceurs SAO.BAS et IAO.BAS. NE FAITES PAS D'ESSAI AVANT LA FIN DE LA DEUXIEME MODIF. * Tapez maintenant le programme de la figure 2 (BIT8-INT. DAT). Sauvegardez-le et faites « run ». S'il n'y a pas d'erreur, une ligne à reprendre par COPY apparaîtra au bout de 2 ou 3 secondes, et effectuera la sauvegarde du fichier binaire sous le nom de « BIT8-INT.SCH », transformant l'ancienne version en « BAK », que vous pouvez désormais effacer. A ce stade, faites RUN « DISC », puis répondez à la demande par S ou I, mais pas C, puisque CIAO n'existe pas encore. Le lanceur commun étant en place et la nouvelle routine 8 bits (dont; l'adresse a été changée et qui est compatible avec tous les modèles de CPC sans avoir à préciser celui qui vous concerne), nous pouvons attaquer tout de suite CIAO proprement dit. Nous débuterons par la routine de hardcopy qui corrige la montée de papier, et qui est donnée à la figure 3. Comme d'habitude faire run, et recopier la phrase de chargement pour sauvegarder le fichier binaire. Maintenant vous pouvez charger par exemple « SCHEMA.SCH », et effectuer les cor-reétions mentionnées à la figure 4. Si vous faites des sauvegardes intermédiaires, appelez les dès la première « CIAO+E2. SCH » Les modifications étant importantes, nous avons préféré vous donner le listing complet, gu'il vous faudra recopier soigneusement. Cependant, et afin de vous faciliter la tâche, nous vous conseillons de procéder ainsi :
Dites-vous bien (si cela peut vous consoler) que de l'idée de départ à la mise au point finale, les auteurs ont bien dû taper au moins cinq fois chacun l'intégralité de tous les programmes!, soit environ 400 Ko... Et vous vous affoleriez pour 18 Ko ? Certaines lignes ont complètement disparu (telles les conditions de MERGE puisqu'on ne les utilise plus dans CIAO), d'autres ont été très légèrement modifiées, mais modifiées quand-même, etc.,. Soyez attentifs et vigilants : les listings de RADIO-PLANS sont les copies exactes des documents originaux ! Supposons le problème résolu, et faisons le tour des possibilités, sans oublier de donner quelques astuces et exemples concrets, notamment en ce qui concerne la programmation des polices. Possibilités Elles sont très nombreuses, comme vous allez le constater. Mais avant tout, disons que le système est destiné à être modifié en fonction de vos propres besoins. Ainsi, si les dessins de SHADOW ne vous intéressent pas, ne vous gênez pas pour les remplacer par d'autres. Une seule contrainte : ne pas dépasser 18 K pour « CIAO + E2.SCH », quand vous faites un catalogue dise. Si par mégarde vous vous aventuriez au-delà, vous risqueriez d'obtenir un Memory Full en demandant une sauvegarede. Si cela vous arrivait, faites « CLEAR » et redemandez la sauvegarde. Elle sera faite, mais il faudra veiller à « dégonfler » vos modifs. Voyons donc de quoi nous disposons, en observant tout d'abord le menu recopié à la figure 5. Il ressemble en plus petit (trois colonnes au lieu de 5), à ceux que vous connaissez déjà. Vous remarquerez tout de suite que les commandes de mêmes noms sur les trois logiciels, sont placées aux mêmes endroits. Exemple ; l'alpha (8), sera toujours appelé par (8) dans SAO, IAO et CIAO. Cette formule est très intéressante pour travailler vite. Notez aussi que les écrans sauvegardés par SAO, IAO et CIAO, comportent tous la même extension « SAO », ce qui autorise des reprises et des mélanges ultra-rapides. Mais certaines polices sont d'un usage légèrement différent, comme nous allons le voir : (2) - Le rectangle. Dans les précédentes versions, on avait le choix entre un périmètre de rectangle en traits continus, ou — avec R —, en pointillés. Ici, si la première option est retenue, en ajoutant R on trace un rectangle plein. Ceci est tellement utile, que souvent les auteurs se laissent aller à tracer leurs traits avec cette option. Bien sûr, c'est avec elle que se feront les plans de masse ! Mais en plus, en faisant R puis DEL, on peut effacer l'intérieur de la zone délimitée et cela devient une gomme très souple. Pour aller se positionner éventuellement au milieu d'une surface éclairée, il fallait un curseur que l'on puisse voir à La fois sur fond noir ou éclairé. Naturellement il eût été possible d'utiliser la mode XOR, mais l'astuce retenue est plus amusante que cela, et plus simple à comprendre : une partie de la croix est dessinée avec la couleur de l'encre, et l'autre avec la couleur de fond... Il y a donc toujours une partie visible dans n'importe quelle circonstance. Nous n'expliquerons pas tout ainsi, car la revue entière n'y suffirait pas ! Notez toutefois que quand R est actif (rectangle plein), le border change de couleur quand vous faites le COPY qui fixe le premier coin. De plus, il n'est plus nécessaire de commencer par le coin en haut à gauche. Les décrochements (3) permettent de décaler la trace de 1.27, en effectuant un « s ». L'option 7 (choix du pas), va permettre de changer le déplacement du curseur : pas libre = travail au pixel près, ou déplacement par saut minimum de 2.54 ou 5.08. Par défaut, le pas est libre. Cette option est la première à introduire la notion de programmation en cours de travail : en la demandant, une fenêtre apparait et pose une question à laquelle il suffit de répondre pour revenir en fonction travail, mais avec les nouvelles exigences. Quelques remarques importantes s'appliquent à toutes les programmations :
De ce fait, il est parfois plus rapide de redemander la même police que celle qui est à l'écran, plutôt que de la déplacer labo-rieiisement (grands modèles). Par exemple, si vous voulez construire une carte mère portant plusieurs connecteurs DIN 41612 et les codes de sorties associés (voir plus loin), vous avez intérêt à procéder par demandes successives de (12), une fois que vous avez obtenu ce que vous désiriez comme motif (par 20). Cet exemple est le plus spectaculaire, car il ne faut que quelques minutes pour implanter et relier une dizaine de slots 64 points. Deux polices suffisent, 12 et 10 : la programmation des liaisons étant fixée à 64 espacées de 1.27, vous cliquerez d'un seul coup les 64 pistes. Voyons maintenant les cas particuliers ; *des traits (6, 16 et 24). Aussi étonnant que cela puisse paraitre, cette police toute simple a fait ramer Alary pendant plusieurs jours. En effet, dès l'instant ou l'on souhaite avoir une largeur de trait dépassant les 2 pixels, il faut considérer le trait comme un rectangle, et des problèmes de raccords se manifestent, ainsi que de pointage. La figure 6 illustre le phénomène. Sur la partie gauche du dessin, on voit le genre de défaut rencontré quand on effectue un changement d'axe (vers le bas quand on a tracé un trait de gauche à droite, et vers la gauche quand le précédent montait) : les origines de pointage restant fixes, les « rectangles » s'articulent autour d'un coin, sans conserver la droite commune classique (égale à la largeur du trait), La solution simple qui a été retenue consiste à utiliser la commande manuelle « R », afin de recaler le trait désobéissant. Cette formule un peu primaire mais efficace, permet aussi de pointer un trait avec le curseur, et de le tracer à droite ou à gauche de celui-ci (ou en haut ou bas). Pour tout vous dire, c'est le système (6) que les auteurs utilisent 100 fois sur 101. Mais nous avons cherché quand-même à automatiser la fonction, et y sommes parvenus partiellement : toutes les conditions de sécurité ne sont pas remplies, et l'espace mémoire baissant à vue d'œil... Toutefois, une police repérée « connexions auto (16) », présente un intérêt certain si vous avez à dessiner les créneaux d'un château fort... Amusez-vous à en comprendre le fonctionnement, en prenant une largeur de trait (24) de 10 ou 12, et en observant bien le déroulement des opérations : vous verrez nettement l'origine se recaler automatiquement afin d'éliminer le défaut. Ne travaillant pas par mémorisation de coordonnées mais par création d'écrans directement recopiables, il est très difficile d'effacer les traits par le mode AUTO, car il faudrait refaire exactement le même trajet que pour le tracé. La police simple (6) est quant à elle très fiable. Il faut noter d'ailleurs que c'est elle qui est appelée automatiquement après la programmation de largeur de traits (24). Encore un petit conseil : évitez tant que faire se peut d'utiliser des largeurs impaires, car la résolution de 640*400 (200) ne respecterait pas la demande pour les traits horizontaux. De même, la valeur mini est de 2 pixels, ce qui ramené à l'échelle 1 donne des traits extrêmement fins. Il n'y a pas de limite supérieure, mais le rectangle plein (2 + R) est beaucoup plus rapide et adapté aux barres larges. * Raccords : Cette fonction très puissante mérite toutefois — pour être pleinement exploitée — de bien comprendre l'utilité des paramètres demandés. Pour se faire vite une idée de son utilité, jetez un coup d'œil sur la moitié inférieure de la figure 8 ; les raccords sont des liaisons destinées à se raccorder à l'équerre, et ce avec ou sans changement de pas. La deuxième « flûte de pan » en partant de la gauche permet par exemple d'arriver au-dessus et par la droite avec des pistes écartées de 1.27, et de repartir en bas à gauche avec un écartement de 5.08. L'exemple est ici de 10 pistes, mais rien ne vous interdit d'en demander 64 ou plus : elles seront toutes tracées d'un seul coup. L'intérêt est évident. Encore faut-il correctement répondre aux 6 questions de la programmation (22).
Il n'est pas facile d'expliquer sans manipulation à l'appui. La figure 8 donne quelques exemples simples, avec — en dessous — les valeurs correspondant aux 6 demandes. CONSEILS UTILES : si vous avez bien suivi, vous devez vous dire que des Liaisons croissantes des deux côtés sont impossibles en une seule passe. C'est vrai, et l'exemple de la petite pyramide vue d'avion a été fait uniquement à l'aide de la petite flûte de pan, et, 8« copy » : comme pour SAO et IAO, ces blocs sont inversables verticalement, horizontalement, et passent en rotation (V.H.R.), ce qui autorise toutes les combinaisons possibles. UNE REGLE D'OR : « pensez à combiner astucieusement origines FLAT et décalées car elles se complètent pour répondre à TOUS les cas de figure ! » * Décalés : sous ce nom, se cachent tous les pastillages en quinconce (connecteurs, transistors, ajustables, etc...). D faut donner le pas ENTRE les pastilles, l'ECART entre les deux axes, le nombre de points (minimum 3, et toujours impair), et enfin le type de pastille souhaité. Celles-ci sont au nombre de 5, comme le montre la figure 8. Libre à vous d'en modifier le look, en changeant les sous-program-mes de pastillage (repérés par les rem's). * Pastillage : l'option 17 vous demande le type de pastille (1 à 5) et l'écart entre deux pastilles (n fois 1.27). ASTUCE : si vous faites ENTER ou « O » à la demande d'écart, vous promènerez une seule pastille. Si vous donnez par exemple 8 (ce qui correspond environ à 10 mm ; résistances..), vous promènerez un couple de pastilles espacées comme demandé. Enfin — et ceci est rare —, vous pouvez demander 8.25, ou 8.33 ou 8.75, etc... Essayez ! C'est le hors-pas. Si vous voulez deux pastilles espacées de 1.3 cm, il vous suffit de faire 13/1.27 = 10.24 et de demander un espacement de 10.24. Simple, non ? A vous de trouver comment nous avons fait pour faire admettre des nombres autres qu'entiers alors qu'un DEFINT a-z est en début de programme. C'est facile, les auteurs n'ayant jamais été premiers en classe... * DIPs : Cette police très utile est facile à programmer : nombre de broches total, puis écart entre les lignes, enfin pastilles larges ou étroites. Pour l'écart, trois possibilités : 0, 1, 2. Avec 0, les pastilles sont en ligne (dbx, connecteurs, etc..) Avec 1, on dispose de l'écart classique (TL071, 74, etc.). Avec 2, c'est la grosse intégration (74154, 8255, etc.). Les pastilles larges sont les plus courantes, les étroites permettent le passage d'une liaison. * DIN 41612 ac : Encore un petit monstre. Six codes de sorties sont intégrés. La figure 8 les donne tous (de 0 à 5). Faites l'essai : demandez 20 (program.41612) et répondez dans l'ordre par 64, 2, 4, emmenez le curseur qui revient au centre, à 0 environ 5 mm à gauche du bord de l'écran, faites COPY deux fois. Patientez jusqu'au retour de la croix, et admirez. Voilà un connecteur disposant de toutes ses sorties réalignées, prêtes à accueillir 64 liaisons d'un coup. Si l'écart entre pastilles est de 5.08, le code de sorties est 0. A vous de les faire avec les traits obliques (grosse largeur) ou les décrochements (3). Idem pour la rotation. * Shadow : Voici l'exemple type de personnalisation. Alary utilisant régulièrement ces pièces, a fixé une police spéciale. La programmation demande le type de bouton (couleur ou œil de chat), puis le type de cellule (F2, F4, F6). Le curseur (et le petit point restant) étant à aligner avec les mises à la terre des canons des SFERNICE, pour obtenir un alignement correct, Cette police est bloquée avec les pastilles n° 4 uniquement. Bon sang, comme le temps passe. Et il y aurait tant à dire encore sur le mode d'emploi ! Il faudra vous résoudre à en découvrir les finesses par vous-même, car il nous reste encore à vous donner un mode d'exploitation pratique, et le cadeau traditionnel des auteurs.. Exploitation Il n'est pas question de figer ici “un unique mode d'exploitation, mais de vous donner les bases de départ qu'Alary utilise tous les jours. Un dessin à l'écran est bien joli, mais qu'en faire ? L'imprimante commandée par la hard-copy intégrée donne un document à l'échelle 2 mais il est probable que vous ne disposez pas d'un banc photo sous la main (c'est notre cas). De plus, nous avons dit qu'il était question de faire des économies de film, et le proto n'est pas encore testé. Voilà comme procéder :
Celles-ci sont immédiatement reportées sux les écrans d'origine. « Quand le document de contrôle semble correct, une impression ECH. 2 est demandée, en triple passe (vous remarquerez dans CIAO, que l'option du nombre de passe est intégrée : 1 par défaut).
Les CIs du compresseur CNGA ALEX AND RA ont suivi ce processus. Une photographie vous montre le document échelle 2, le document de contrôle, le « film » proto (les calques superposés), et le CI gravé prêt à l'emploi. Un gros plan vous donne une idée de la qualité des protos, avec seulement 2 F de photocopie. Quelques données sont toutefois à respecter,: Choisir un calque de faible grammage (60). Ne pas le laisser plusieurs jours avant de l'utiliser comme film : le calque bouge considérablement avec l'humidité de l'air, et les documents doivent coincider parfaitement. Augmenter le temps d'insolation aux UVs (faire un petit morceau d'essai). A titre indicatif, pour 4.30 minutes avec un vrai film, 7.30 avec les deux calques. Il est tout à fait possible de faire du double face avec CIAO. La façon la plus rapide, et la plus fiable, consiste à inverser l'image de l'une des faces (avec plus), et à effacer au fur et à mesure l'ancien tracé (avec 2 +- R), en le remplaçant par le nouveau. Cela peut sembler lourd, mais vous verrez très tôt qu'il n'en est rien. Il était impossible de travailler en trois couleurs sur CPC en mode 2. Dans ce cas, le document de contrôle est à imprimer (pour une face au moins), sur calque. Attention toutefois de bien surveiller la feuille de calque à la sortie de l'imprimante : il faut veiller à ce qu'elle ne galbe pas (par la chaleur de la machine), et ne fasse pas une boucle qui bloquerait la tête. Ayez dans la main un corps de stylo pour éventuellement plaquer la feuille, et surveillez jusqu'à l'éjection de la feuille. Pour réencrer vos rubans d'imprimante, une solution efficace consiste à opérer en cours de fonctionnement, afin de bien répartir l'apport extérieur d'encre. Celle-ci est du genre encre à tampon sans huile (PELIKAN 35A197), dont quelques gouttes sont posées à la pointe d'un DEMAK'UP plié en deux, et posé doucement sur le ruban, à la sortie du bloc de gauche. Il suffit de faire attention à ne pas bloquer la tête (qui se décalerait légèrement, en même temps que l'impression), et pour une vingtaine de francs, vous avez de quoi réencrer au moins une centaine de rubans. Le moment où il ne faut plus insister est facilement visible : le ruban n'est plus plan et il forme une boucle importante au tirage. La trame est fichue, il faut la jeter. La solution consistant à ouvrir le bottier de droite, et à réencrer le disque en feutre est une erreur : c'est le disque qui est écrasé, et au bout de quelques tours, la situation revient à son point de départ. Sauf vous, qui passez une heure à essayer de faire partir l'encre de vos doigts... Et IAO ? Eh oui, ce brave IAO éch.1, que devient-il ? Il suffit de partir du document de contrôle, et de reporter les composants en les ayant placés au préalable sur le dessin du CI. Pour faciliter la tâche de report au ½ écran, il convient d'ajouter à IAO en ligne 60, avant DEFINT a-z ceci ! POKE &A395,(96) : POKE &A3AA, (160) : Ainsi, la « vitesse » des flèches + CTRL est augmentée, de sorte que deux coups à droite placent au ½ écran. A vous de trouver pourquoi il n'est pas possible de le faire d'un seul coup ! La figure 9 est un exemple concret. TTO Le cadeau, le cadeau,... ! Voilà, il s'appelle TTO : Two To One, ou si vous préférez « deux vers un ». Ce logiciel autonome va vous permettre :
Notez dès à présent que les options 4 et 5 font subir de graves outrages à l'alphanumérique, mais qu'elles font d'excellents documents de contrôle pour les CI's. Comme ils ne serviront qu'à celà ! L'option 5, couplée à ZONARD, permet la compilation de deux écrans réduits en un seul, et laisse encore la place à IAO. La figure 10 donne le lanceur basic de TTO. Pas de fioritures, le strict nécessaire suffit ici : c'est un utilitaire. Pour en profiter pleinement, il faudra taper aussi le contenu de la figure 11 : TTO.DAT. Comme d'habitude, après sauvegarde, il sera lancé par « RUN », et si tout est correct, la ligne à reprendre par copy s'affichera pour effectuer le transfert de TTO.BIN. basic de TTO. Pas de fioritures, le strict nécessaire suffit ici : c'est un utilitaire.
|