pupitre Graphtec
Graphtec CE6000-60 HP-GL GPL-3.0

Un traceur, sans driver

Le Graphtec CE6000-60 n'est pas une imprimante à pilote propriétaire : c'est un traceur qui lit des commandes texte. Le driver Windows ne fait que traduire des courbes en HP-GL et pousser le résultat sur le port.

un SVG svg2hpgl HP-GL, du texte /dev/usb/lp0 CE6000-60 driver Windows
Mode d'emploi

Ouvrir, placer, régler, envoyer

Une seule application à lancer, trois onglets, et quatre gestes. Le reste du dépôt est ce qu'il a fallu comprendre pour l'écrire — c'est plus bas, et replié.

1

Ouvrir

Un SVG, n'importe lequel. Les avertissements de lecture s'affichent sous le nom.

2

Placer

Origine, rotation, miroirs, échelle — ou « ajuster au média » d'un bouton.

3

Régler

Le carnet d'établi pose tout d'un coup : lame, vitesse, force, passages.

4

Envoyer

Chaque réglage est relu ; si l'un n'a pas été retenu, l'envoi est annulé.

① Dessin — poser le tracé sur le média

Onglet Dessin du pupitre : réglages de média, placement, mosaïque et perforation à gauche, aperçu du tracé à droite
L'aperçu montre le média, la zone utile en pointillé, le tracé et les tuiles numérotées. Molette pour zoomer, glisser pour déplacer, double-clic pour recadrer. En bas, le compte des tracés et l'emprise réelle en millimètres — et un avertissement en rouge si le dessin déborde. La machine n'est pas branchée sur cette capture : d'où le « traceur muet » en haut à droite.

Découper en panneaux

Quand le dessin dépasse la feuille, la mosaïque le coupe en tuiles avec recouvrement, numérotées et raccordées aux croix. Un bouton pose le panneau à la taille du média.

Perforer plutôt que couper

Le mode pointillé alterne coupé et laissé — 8,0 mm coupés, 0,30 mm laissés par défaut — pour un gabarit qui se détache à la main sans tomber tout seul.

② Outil — le carnet d'établi

Onglet Outil : matériau, condition, type de lame avec son icône, vitesse, force, accélération, nuancier et copies matricielles
Choisir un matériau pose d'un coup le type de lame, la vitesse, la force, l'accélération et les passages. En dessous, le nuancier de force — une grille de carrés à lever pour trouver le réglage sur un papier neuf — et les copies matricielles, rangées × colonnes avec leurs écarts.
L'icône d'outil n'est pas décorative

La largeur de la pointe suit le diamètre de la lame, son angle suit celui de la lame. Le type déclaré doit correspondre à l'outil réellement monté : un « Stylo feutre » oublié a arrondi tous les angles d'une découpe.

③ Machine — les huit réglages du menu

Onglet Machine : passe-pas, force et angle d'offset, vitesse de l'outil relevé, priorité, lame initiale, déplacement relevé, tri des chemins
Passe-pas, force et angle d'offset, tri des chemins, vitesse de l'outil relevé, priorité de condition, position de lame initiale, déplacement relevé. Lus à la demande, écrits un par un — et relus derrière.
La règle qui gouverne tout l'envoi

Tout ce qui est écrit dans la machine est relu, et l'envoi est annulé si un réglage n'a pas été retenu. Tracer avec des réglages qu'on croit posés et qui ne le sont pas gâche le média — et on ne s'en aperçoit qu'à la fin.

Sous le capot

Ce qu'il a fallu comprendre

La partie technique, repliée : à dérouler seulement si le sujet intéresse. Deux journées entières se cachent dans les deux premiers panneaux.

La machine écrivait le fichier, à la plume, sur le papier une journée perdue

Avec COMMANDE réglée sur AUTO, le traceur devine le langage d'après ce qu'il reçoit. Quand il ne reconnaît ni HP-GL ni GP-GL, il écrit les octets reçus en toutes lettresU572,2620; tracé au stylo. Puis la ligne court vers la droite et le panneau affiche « hors surface » : une conséquence, pas la cause, et qui envoie chercher du côté des cotes alors que le dessin tenait très bien.

COMMANDE = AUTO U572,2620;IN;SP1;PU0,0; PD1200,0;PD1200,800;PD0,8 00;PD0,0;PU;SP0; → « hors surface » le texte du fichier, à la plume la sortie de feuille est une conséquence, pas la cause COMMANDE = HP-GL le dessin, tracé journal de la machine : W06001 DANGER COMMANDE = AUTO
La machine le disait elle-même, dans son propre journal, depuis le début — lu trois fois sans être compris.
Ce que le README affirmait pendant ce temps

Qu'AUTO allait très bien « puisque la machine reconnaît les deux à la volée ». Une commodité jamais vérifiée, contredite par un avertissement que la machine répétait dans ses logs. La mesure qui a tranché : le même fichier de 163 Ko, envoyé plume levée, ajoute une entrée au journal en AUTO et aucune en HP-GL.

Un seul descripteur, sinon la machine se tait 44 secondes de mutisme

Fermer et rouvrir /dev/usb/lp0 entre deux étapes rend la machine muette, pour des dizaines de secondes. C'est à quoi se réduit toute une journée de chasse aux « pannes intermittentes ».

0 s 15 30 45 60 même descripteur journal, puis OH; répond du premier coup fermé puis rouvert entre les deux muette plus de 44 s le symptôme est identique à une panne de liaison
Chaque programme n'ouvre donc le périphérique qu'une fois et passe son descripteur. Corollaire d'usage : ne pas lancer la lecture d'état juste avant un envoi.

Huit octets, et pas un de plus

L'endpoint d'envoi fait 8 octets et refuse les données quand la machine sature (EAGAIN en O_NONBLOCK). Écrire sans attendre tronque les gros fichiers en silence. C'est le contrôle de flux du port série sous une autre forme : l'USB ne l'a pas supprimé.

La première réponse est décalée

Les réponses se terminent par \r et s'accumulent. La toute première interrogation après ouverture revient décalée : le code en jette une pour rien, sans quoi trois relevés identiques n'en donnent que sept paramètres sur onze, l'accélération lue à l'index d'un autre.

Quand la feuille est simplement trop étroite

Les capteurs de média sont sur la table : une feuille qui ne les couvre pas n'est jamais détectée. Le levier descend, tout a l'air normal, et la machine réclame indéfiniment. Même symptôme si un galet presseur pince dans le vide plutôt que sur une bande d'entraînement.

Le protocole propriétaire, relevé au flux USB vitesse, force, outil

Vitesse, force, accélération et type d'outil ne passent pas par HP-GL. Ils passent par TC, une commande Graphtec sans documentation publique — relevée en capturant ce que son propre logiciel envoie.

ParamètreCommandePlage
vitesseTC1002,3,<cond>,<cm/s × 10>1 à 640, soit 64 cm/s
forceTC1002,4,<cond>,<n>1 à 38
accélérationTC1002,5,<cond>,<n>1 à 3 seulement
type d'outil + offsetTC1002,2,<cond>,<code>,<offset>offset −5 à +5

Les codes d'outil ont été relevés en parcourant la liste du logiciel Graphtec deux fois de haut en bas — la même suite les deux fois. Une mesure reproduite, pas une déduction sur un seul passage.

OutilCodeOutilCode
CB09U1CB15UB3
CB09U-K6010Autre6
CB15U2Stylo feutre9
TC — la voie sûre s'applique toujours, se relit HP-GL ne touche pas aux conditions vitesse TC1002,3 durable VS — le temps du travail muet si PRIORITE ≠ PROGRAMME force TC1002,4 durable FS — le temps du travail marche même sous MANUEL Les scripts prennent TC par défaut : il se relit (TC2002), et VS dépend d'un réglage de panneau qui, mal placé, le rend muet sans le moindre signe. un réglage qu'on ne peut pas relire n'est pas un réglage posé
TC modifie durablement la condition enregistrée dans la machine, exactement comme le fait le logiciel d'origine — d'où la case « régler la machine à l'envoi », qu'on peut décocher.
Le piège de raisonnement, et le seul instrument qui a tranché

Deux méthodes ont échoué avant : OA; rend la position logique, pas celle du chariot — il ne mesure donc aucun mouvement ; et le contrôle de flux ne mord pas, 15 ko partent en 3,8 s quelle que soit la vitesse. La seule mesure qui a tranché est un chronomètre à la main.

Et surtout : la première version du verdict regardait l'étendue des durées, pas leur ordre. N'importe quel bruit la satisfaisait, et elle a annoncé un résultat faux avec aplomb. Un verdict doit exiger la croissance, et se taire quand les mesures ne sont ni constantes ni croissantes.

La force : le nombre qu'aucun calcul ne donne 1 à 38

La force de coupe se trouve sur une chute du vrai matériau, en montant jusqu'à ce que le film se détache sans entamer le support. Aucun calcul ne donne ce nombre. D'où le nuancier : une grille de carrés à lever, pour trouver le réglage sur un papier neuf.

2 6 10 14 18 22 26 …38 force croissante → le premier carré qui se lève proprement sans entamer le support La valeur retenue dépend du matériau : ce schéma montre l'outil, pas un relevé.
La plage utile va de 1 à 38. Au stylo, la progression ne se voit que jusqu'à une dizaine puis sature — un stylo dépose son encre dès qu'il touche. La force n'est vraiment un réglage continu qu'à la lame, où elle fixe la profondeur de coupe.
Ce qui n'est délibérément pas recalculé

La compensation d'offset de lame. Le firmware s'en charge : on lui envoie la polyligne nominale, il place la lame. La refaire côté PC serait la faire deux fois.

Honnêteté

Ce qui marche, et ce qui reste ouvert

Éprouvé sur du papier

  • Tracé au stylo d'une planche TechDraw
  • Mosaïque sur deux feuilles, raccordées aux croix
  • Découpe au nuancier sur 80 g et 300 g
  • Perforation d'un carré de 60 mm qui se détache à la main
  • Réglage complet de la machine depuis le PC
  • Lecture de sa configuration entière, en clair

Ouvert, et dit plutôt que caché

  • TC2004,1 accepte une écriture — 0 devient 1, relu 1 — sans qu'aucune ligne du vidage en clair ne bouge. Un réglage réel que la machine n'expose nulle part. Sondé deux fois, sans résultat.
  • Une HP-GL ERREUR 1 naît par intermittence d'une salve TC. Sans effet sur le tracé, et évitable.
  • L'ARMS — détection des marques de repérage, print & cut — reste hors de portée : commandes mal documentées hors SDK Graphtec.
Le code est public

Sous GPL-3.0, sur github.com/atelierduverdier/graphtec-ce6000 — y compris les huit sondes de l'enquête, et les trois suites de tests dont une qui vérifie que les deux autres savent échouer.