-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathuser_guide_fr.html
458 lines (458 loc) · 34.7 KB
/
user_guide_fr.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
<head>
<meta charset="utf-8" />
<meta name="generator" content="pandoc" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
<meta name="author" content="[email protected]" />
<title>Dcs5 Controller</title>
<style type="text/css">
code{white-space: pre-wrap;}
span.smallcaps{font-variant: small-caps;}
span.underline{text-decoration: underline;}
div.column{display: inline-block; vertical-align: top; width: 50%;}
</style>
<style type="text/css">
a.sourceLine { display: inline-block; line-height: 1.25; }
a.sourceLine { pointer-events: none; color: inherit; text-decoration: inherit; }
a.sourceLine:empty { height: 1.2em; }
.sourceCode { overflow: visible; }
code.sourceCode { white-space: pre; position: relative; }
div.sourceCode { margin: 1em 0; }
pre.sourceCode { margin: 0; }
@media screen {
div.sourceCode { overflow: auto; }
}
@media print {
code.sourceCode { white-space: pre-wrap; }
a.sourceLine { text-indent: -1em; padding-left: 1em; }
}
pre.numberSource a.sourceLine
{ position: relative; left: -4em; }
pre.numberSource a.sourceLine::before
{ content: attr(title);
position: relative; left: -1em; text-align: right; vertical-align: baseline;
border: none; pointer-events: all; display: inline-block;
-webkit-touch-callout: none; -webkit-user-select: none;
-khtml-user-select: none; -moz-user-select: none;
-ms-user-select: none; user-select: none;
padding: 0 4px; width: 4em;
color: #aaaaaa;
}
pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa; padding-left: 4px; }
div.sourceCode
{ background-color: #f8f8f8; }
@media screen {
a.sourceLine::before { text-decoration: underline; }
}
code span.al { color: #ef2929; } /* Alert */
code span.an { color: #8f5902; font-weight: bold; font-style: italic; } /* Annotation */
code span.at { color: #c4a000; } /* Attribute */
code span.bn { color: #0000cf; } /* BaseN */
code span.cf { color: #204a87; font-weight: bold; } /* ControlFlow */
code span.ch { color: #4e9a06; } /* Char */
code span.cn { color: #000000; } /* Constant */
code span.co { color: #8f5902; font-style: italic; } /* Comment */
code span.cv { color: #8f5902; font-weight: bold; font-style: italic; } /* CommentVar */
code span.do { color: #8f5902; font-weight: bold; font-style: italic; } /* Documentation */
code span.dt { color: #204a87; } /* DataType */
code span.dv { color: #0000cf; } /* DecVal */
code span.er { color: #a40000; font-weight: bold; } /* Error */
code span.ex { } /* Extension */
code span.fl { color: #0000cf; } /* Float */
code span.fu { color: #000000; } /* Function */
code span.im { } /* Import */
code span.in { color: #8f5902; font-weight: bold; font-style: italic; } /* Information */
code span.kw { color: #204a87; font-weight: bold; } /* Keyword */
code span.op { color: #ce5c00; font-weight: bold; } /* Operator */
code span.ot { color: #8f5902; } /* Other */
code span.pp { color: #8f5902; font-style: italic; } /* Preprocessor */
code span.sc { color: #000000; } /* SpecialChar */
code span.ss { color: #4e9a06; } /* SpecialString */
code span.st { color: #4e9a06; } /* String */
code span.va { color: #000000; } /* Variable */
code span.vs { color: #4e9a06; } /* VerbatimString */
code span.wa { color: #8f5902; font-weight: bold; font-style: italic; } /* Warning */
</style>
</head>
<body>
<header id="title-block-header">
<h1 class="title">Dcs5 Controller</h1>
<p class="author">[email protected]</p>
<p class="date">May 2023</p>
</header>
<nav id="TOC">
<ul>
<li><a href="#application-contrôleur-dcs5">Application contrôleur DCS5</a></li>
<li><a href="#téléchargement-de-lapplication">Téléchargement de l’application</a></li>
<li><a href="#usage">Usage</a><ul>
<li><a href="#planche-de-mesure">Planche de mesure</a></li>
<li><a href="#boîtier-de-contrôle">Boîtier de contrôle</a><ul>
<li><a href="#modèle-xt">Modèle: <code>xt</code></a></li>
<li><a href="#modèle-miro">Modèle: <code>miro</code></a></li>
<li><a href="#affichages-dels">Affichages DELs</a></li>
</ul></li>
<li><a href="#application">Application</a><ul>
<li><a href="#configurations">Configurations</a></li>
<li><a href="#connectez-la-planche-via-bluetooth">Connectez la planche via Bluetooth</a></li>
<li><a href="#étalonnage-1">Étalonnage</a></li>
<li><a href="#informations-supplémentaires.">Informations Supplémentaires.</a></li>
</ul></li>
<li><a href="#fichiers-de-configuration">Fichiers de configuration</a><ul>
<li><a href="#configuration-du-contrôleur">Configuration du contrôleur</a></li>
<li><a href="#spécification-de-la-planche">Spécification de la planche</a></li>
</ul></li>
</ul></li>
</ul>
</nav>
<h1 id="application-contrôleur-dcs5">Application contrôleur DCS5</h1>
<p>Cette application python (python 3.10) fournit une interface graphique (GUI) pour interagir avec une planche de mesure BigFin Dcs5 XT ou MICRO via Bluetooth. L’application transforme les entrées de stylet sur la planche de mesure en saisie de clavier, transformant essentiellement la planche de mesure en un clavier sans fil. Il est également possible de connecter une balance Marel Marine à l’application. Voir le projet <a href="https://github.com/iml-gddaiss/marel_marine_scale_controller">marel_marine_scale_controller</a> pour plus d’informations sur comment configurer et utiliser la balance.</p>
<h1 id="téléchargement-de-lapplication">Téléchargement de l’application</h1>
<p>Télécharger la dernière version de l’application <code>Dcs5 Controller</code> via :</p>
<ol type="1">
<li>Téléchargez la dernière vesion<code>dcs5-windows.zip</code> depuis la dernière version <a href="https://github.com/iml-gddaiss/dcs5/releases">ici</a>.</li>
<li>Décompressez <code>dcs5-windows.zip</code></li>
<li>Lancez <code>dcs5.exe</code></li>
</ol>
<h1 id="usage">Usage</h1>
<h2 id="planche-de-mesure">Planche de mesure</h2>
<h4 id="zone-de-détection-du-stylet">Zone de détection du stylet</h4>
<p>Le stylet doit être placé à plat dans la zone de détection afin de prendre des mesures. Le délai de détection est réglable dans la configuration (Voir la section <a href="#fichiers-de-configuration">Fichiers de configuration</a>).</p>
<p>L’affichage de LED du boîtier de contrôle clignotent lorsqu’une mesure est effectuée.</p>
<figure style="text-align: center;">
<img src='doc/images/planche_zone.png' width='742' alt="Board Detection Zone" style="background-color:gray;"/>
<figcaption>
Zone de détection de la planche
</figcaption>
</figure>
<h4 id="modes-de-saisie">Modes de saisie</h4>
<p>La planche de mesure dispose de 3 modes de saisie différents ; <strong>Length</strong>, <strong>Top</strong> et <strong>Bottom</strong>. Les modes <strong>Top</strong> et <strong>Bottom</strong> sont utilisés pour accéder aux touches du haut et du bas en plaçant le stylet sur les cercles correspondants à l’intérieur de la zone de détection de la planche. Le mode de saisie peut être change de 2 façons ; en associant des commandes à des touches du boîtier de contrôle ou en définissant des régions de balayage sur la planche de mesure.</p>
<p>Des commandes peuvent être associées pour basculer vers un mode de sortie spécifique ou pour parcourir les modes de saisie.</p>
<ul>
<li>Voir la section <a href="#fichiers-de-configuration">Fichiers de configuration</a> pour les commandes de mode de saisie.</li>
</ul>
<p>De plus, l’affichage de LED par défaut du boîtier de contrôle change en fonction des modes de saisie.</p>
<ul>
<li>Voir la section <a href="#affichages-dels">Affichages DELs</a>.</li>
</ul>
<h4 id="balayer-la-région">Balayer la région</h4>
<p>Glissez de la gauche vers la droite dans une zone de balayage changera le mode de saisie. Les régions de balayage sont définies dans les fichiers de configuration. Par exemple, voici les régions de balayage par défaut pour le modèle de boîtier de contrôle <code>xt</code>.</p>
<figure style="text-align: center;">
<img src='doc/images/planche_swipe.png' width='741' alt="Board Swiping Zone"/>
<figcaption>
Zone de balayage par défaut du modèle XT
</figcaption>
</figure>
<p>Les modes de saisie correspondants sont :</p>
<ul>
<li>Gauche (Left), Droite (Right): <strong>Longueur</strong></li>
<li>Bleu (Blue): <strong>Haut</strong></li>
<li>Vert (Green): <strong>Bas</strong></li>
</ul>
<p>La définition des régions de balayage dans le fichier de configuration est :</p>
<div class="sourceCode" id="cb1"><pre class="sourceCode json"><code class="sourceCode json"><a class="sourceLine" id="cb1-1" title="1"> <span class="fu">{</span><span class="dt">"output_modes"</span><span class="fu">:</span> <span class="fu">{</span></a>
<a class="sourceLine" id="cb1-2" title="2"> <span class="dt">"segments_limits"</span><span class="fu">:</span> <span class="ot">[</span><span class="dv">0</span><span class="ot">,</span> <span class="dv">230</span><span class="ot">,</span> <span class="dv">430</span><span class="ot">,</span> <span class="dv">630</span><span class="ot">,</span> <span class="dv">800</span><span class="ot">]</span><span class="fu">,</span></a>
<a class="sourceLine" id="cb1-3" title="3"> <span class="dt">"segments_mode"</span><span class="fu">:</span> <span class="ot">[</span><span class="st">"length"</span><span class="ot">,</span> <span class="st">"top"</span><span class="ot">,</span> <span class="st">"bottom"</span><span class="ot">,</span> <span class="st">"length"</span><span class="ot">]</span></a>
<a class="sourceLine" id="cb1-4" title="4"> <span class="fu">}}</span></a></code></pre></div>
<ul>
<li>Voir section [Spécification de la planchecation-de-lappareil) pour plus d’informations sur la définition des régions de balayage.</li>
</ul>
<h4 id="exemple-de-mesure">Exemple de mesure</h4>
<p>Les mesures sont effectuées en plaçant la tête du stylet à plat dans la zone de détection de la planche. Vous pouvez modifier les paramètres de mesures dans la <a href="#configuration-du-controleur">configuration du contrôleur</a>.</p>
<div style="text-align: center;">
<p><img src='doc/images/measure_example.png' width='740' alt="Example de mesure sur la planche"/></p>
</div>
<h2 id="boîtier-de-contrôle">Boîtier de contrôle</h2>
<p>Les seules différences notables entre les modèles de boîtier de contrôle <code>xt</code> et <code>micro</code> sont le nombre de touches et l’affichage LED et la séquence de clignotement.</p>
<h3 id="modèle-xt">Modèle: <code>xt</code></h3>
<ul>
<li>32 touches</li>
</ul>
<figure style="text-align: center;">
<img src='doc/images/dcs5_xt_control_box_annotated.png' width='350' alt="Xt Control Box"/>
<figcaption>
Boîtier de contrôle XT
</figcaption>
</figure>
<h3 id="modèle-miro">Modèle: <code>miro</code></h3>
<ul>
<li>3 touches</li>
</ul>
<figure style="text-align: center;">
<img src='doc/images/dcs5_micro_control_box_annotated.png' width='350' alt="Micro Control Box"/>
<figcaption>
Boîtier de contrôle MICRO
</figcaption>
</figure>
<h3 id="affichages-dels">Affichages DELs</h3>
<p>Les boîtiers de contrôle utilisent différents affichages de DELs pour donner un retour aux utilisateurs.</p>
<ul>
<li>XT : Barre de DELs <code>FUEL GAUGE / ACTION</code></li>
<li>MICRO : Anneau de DELs</li>
</ul>
<h4 id="mode-de-saisie">Mode de saisie</h4>
<p>L’affichage par défaut indique le mode de saisie.</p>
<figure style="text-align: center;">
<img src='doc/images/dcs5_led_output_mode.png' width='300' alt="Output Mode LED Display" style="background-color:gray;"/>
<figcaption>
Affichage de DELs du mode de saisie
</figcaption>
</figure>
<ul>
<li>T : Haut</li>
<li>L : Longueur</li>
<li>B : Bas</li>
</ul>
<h4 id="détection-du-stylet">Détection du stylet</h4>
<p>L’affichage de DELs lorsque le stylet est détecté.</p>
<figure style="text-align: center;">
<img src='doc/images/dcs5_led_detection.png' width='300' alt="Stylus Detection LED Display" style="background-color:gray;"/>
<figcaption>
Affichage de DELs lors de la détection du stylet
</figcaption>
</figure>
<h4 id="mesures">Mesures</h4>
<p>L’affichage de DELs clignotera rapidement lorsqu’une mesure est effectuée.</p>
<figure style="text-align: center;">
<img src='doc/images/dcs5_led_measurements.png' width='300' alt="Measurement LED Display" style="background-color:gray;"/>
<figcaption>
Affichage de DELs lorsqu’une mesure est effectuée
</figcaption>
</figure>
<h4 id="balayage">Balayage</h4>
<figure style="text-align: center;">
<img src='doc/images/dcs5_led_slide.png' width='300' alt="Swipe LED Display" style="background-color:gray;"/>
<figcaption>
Affichage de DELs lors d’un balayage
</figcaption>
</figure>
<ul>
<li>L : Balayage de droite à gauche</li>
<li>R : Balayage de gauche à droite</li>
</ul>
<h4 id="étalonnage">Étalonnage</h4>
<p><a id="etalonnage-dels"></a></p>
<p>En mode d’étalonnage, l’affichage par défaut devient :</p>
<figure style="text-align: center;">
<img src='doc/images/dcs5_led_calibration_mode.png' width='300' alt="Calibration Mode LED Display" style="background-color:gray;"/>
<figcaption>
Affichage de DELs en mode d’étalonnage
</figcaption>
</figure>
<p>Une fois le stylet déposé, les DELs s’allumeront séquentiellement. Lorsque qu’un point est calibré avec succès, l’ensemble des DELs clignoteront rapidement.</p>
<figure style="text-align: center;">
<img src='doc/images/dcs5_led_calibration.png' width='300' alt="Calibration LED Display" style="background-color:gray;"/>
<figcaption>
Affichage de DELs lors de l’étalonnage
</figcaption>
</figure>
<h2 id="application">Application</h2>
<h3 id="configurations">Configurations</h3>
<p>L’application nécessite une configuration pour fonctionner. Pour charger et modifier les configurations, cliquez sur <strong>Dcs5 > Configuration</strong> dans la barre du haut.</p>
<figure style="text-align: center;">
<img src='doc/images/dcs5_gui_menu.png' width='203' alt="Application Menu Widget"/>
<figcaption>
Barre du haut de l’application
</figcaption>
</figure>
<p>À partir de la fenêtre <em>Configuration</em>, vous pouvez créer (<strong>New</strong>), charger (<strong>Load</strong>), supprimer (<strong>Delete</strong>) et modifier (<strong>Edit</strong>) les configurations.</p>
<figure style="text-align: center;">
<img src='doc/images/dcs5_gui_config_menu.png' width='536' alt="Config Window"/>
<figcaption>
Fenêtre de Configurations
</figcaption>
</figure>
<h4 id="nouvelle-configuration">Nouvelle configuration</h4>
<p>Des configurations par défaut sont fournies pour les modèles <strong>xt</strong> et <strong>micro</strong>. Sélectionnez le modèle de boîtier de contrôle (XT ou MICRO) et saisissez un nom pour la nouvelle configuration.</p>
<figure style="text-align: center;">
<img src='doc/images/dcs5_gui_new_config.png' width='331' alt="New Config Window"/>
<figcaption>
Fenêtre de nouvelles Configurations
</figcaption>
</figure>
<p>L’adresse Bluetooth du contrôleur (adresse MAC) devra être changée une fois qu’une nouvelle configuration est créée. Sélectionnez la configuration et le fichier <code>Controller Configuration</code> puis appuyer sur le bouton <strong>Edit</strong>. Dans le fichier json, modifiez la valeur suivante :</p>
<ul>
<li><code>client -> mac_address</code></li>
</ul>
<p>Voir la section <a href="#fichiers-de-configuration">Fichiers de configuration</a> pour plus d’informations sur les différents paramètres de configuration.</p>
<h3 id="connectez-la-planche-via-bluetooth">Connectez la planche via Bluetooth</h3>
<p>Pour se connecter à la planche de mesure Dcs5, l’adresse Mac (bluetooth) de la planche doit être spécifiée dans la Configuration du contrôleur. Vous pouvez modifier le fichier via le menu de configuration (voir les sections <a href="#configurations">Configurations</a> et <a href="#configuration-du-controleur">Configuration du contrôleur</a>)</p>
<p>Ensuite, vous devez connecter la planche en appuyant sur le bouton <strong>Connect</strong>.</p>
<figure style="text-align: center;">
<img src='doc/images/dcs5_gui_connect.png' width='365' alt="Connect Widget"/>
<figcaption>
Widget Connect
</figcaption>
</figure>
<p>Le cercle rouge à côté du bouton <strong>Connect</strong> se transformera en triangle jaune lorsque l’application tente de se connecter à la planche, puis en un cercle vert lorsqu’elle est connectée. Lors de la connection, l’application se synchronisera avec le boîtier de contrôle de la planche. (Voir la section <a href="#informations-supplementaires">Informations Supplémentaires</a>). L’application et la planche sont synchronisées lorsque l’application reçoit les confirmations que les paramètres internes de la planche (principalement ceux liés à la détection du stylet) sont les mêmes que ceux spécifiés dans la configuration. Si la synchronisation échoue (indiqué par un cercle rouge à côté du bouton <strong>Synchronize</strong>) vous pouvez appuyer sur le bouton <strong>Synchronize</strong> pour réessayer. Si cela ne fonctionne toujours pas, essayez de redémarrer la planche et l’application.</p>
<h3 id="étalonnage-1">Étalonnage</h3>
<p><a id="etalonnage-app"></a></p>
<p>La planche doit être étalonnée à partir de deux points de référence. Bien que l’étalonnage soit linéaire, gardez en tête que le stylet a une épaisseur non uniforme qui compensera, dans une certaine mesure, les valeurs mesurées si l’orientation du stylet diffère lors de la mesure par rapport à l’étalonnage. Nous vous recommandons d’utiliser la plus petite partie du stylet pour effectuer l’étalonnage puis ajouter décalage <code>offset</code> dans la configuration pour chaque stylet.</p>
<ul>
<li>Voir la section <a href="#specification-de-la-planche">Spécification de la planche</a>.</li>
</ul>
<p>Pour étalonner la planche, cliquez sur le bouton <strong>Set Cal. Pts.</strong></p>
<figure style="text-align: center;">
<img src='doc/images/dcs5_gui_calibration_frame.png' width='359' alt="Calibration Widget"/>
<figcaption>
Widget Calibration
</figcaption>
</figure>
<p>Dans la fenêtre des points d’étalonnage, définissez les deux points d’étalonnage en mm.</p>
<figure style="text-align: center;">
<img src='doc/images/dcs5_gui_set_calibration_pts.png' width='239' alt="Calibration Set. Cal. Pts. Window"/>
<figcaption>
Fenêtre de Calibration
</figcaption>
</figure>
<p>Appuyez sur le bouton <strong>Calibrate</strong> pour entrer en mode étalonnage, puis suivez les instructions données par l’application. Notez qu’un balayage de droite à gauche permet de quitter le mode d’étalonnage. Pour chaque point d’étalonnage, la progression de l’étalonnage sera indiquée par <a href="#etalonnage-dels">l’affichage DELs</a> une fois le stylet déposé. Si le stylet est trop levé ou déplacé avant que l’étalonnage ne soit terminé, l’étalonnage du point recommence.</p>
<h3 id="informations-supplémentaires.">Informations Supplémentaires.</h3>
<p><a id="informations-supplementaires"></a></p>
<h4 id="onglet-dcs5">Onglet DCS5</h4>
<figure style="text-align: center;">
<img src='doc/images/dcs5_gui_main_annotated.png' width='700' alt="Application Window"/>
<figcaption>
Onglet Dcs5
</figcaption>
</figure>
<h4 id="onglet-échelle-marel">Onglet Échelle Marel</h4>
<figure style="text-align: center;">
<img src='doc/images/dcs5_gui_marel_annotated.png' width='700' alt="Applicaiton Marel Widget"/>
<figcaption>
Onglet Marel
</figcaption>
</figure>
<h2 id="fichiers-de-configuration">Fichiers de configuration</h2>
<p>Les configurations sont créées et modifiées via l’interface graphique de l’application (voir la section <a href="#configurations">configuration</a>). Une configuration est composée de deux fichiers json qui sont utilisés pour modifier le comportement du contrôleur et de la planche de mesure.</p>
<ul>
<li><a href="#configuration-du-controleur">Configuration du contrôleur</a></li>
<li><a href="#specification-de-la-planche">Spécification de la planche</a></li>
</ul>
<h3 id="configuration-du-contrôleur">Configuration du contrôleur</h3>
<p><a id="configuration-du-controleur"></a></p>
<p>Fichier <code>xt</code> par défaut : <a href="dcs5/default_configs/xt_controller_configuration.json">xt_controller_configuration.json</a></p>
<p>Fichier <code>micro</code> par défaut : <a href="dcs5/default_configs/micro_controller_configuration.json">micro_controller_configuration.json</a></p>
<p>Usage:</p>
<ul>
<li><p>client: (Paramètres de connections)</p>
<div class="sourceCode" id="cb2"><pre class="sourceCode json"><code class="sourceCode json"><a class="sourceLine" id="cb2-1" title="1"> <span class="fu">{</span><span class="dt">"client"</span><span class="fu">:</span> <span class="fu">{</span></a>
<a class="sourceLine" id="cb2-2" title="2"> <span class="dt">"device_name"</span><span class="fu">:</span> <span class="st">"BigFinDCS5-E5FE"</span><span class="fu">,</span></a>
<a class="sourceLine" id="cb2-3" title="3"> <span class="dt">"mac_address"</span><span class="fu">:</span> <span class="st">"00:06:66:89:E5:FE"</span><span class="fu">,</span></a>
<a class="sourceLine" id="cb2-4" title="4"> <span class="dt">"marel_ip_address"</span><span class="fu">:</span> <span class="st">"192.168.0.202"</span></a>
<a class="sourceLine" id="cb2-5" title="5"> <span class="fu">}}</span></a></code></pre></div>
<ul>
<li>device_name : Nom de la planche. (Uniquement utilisé pour afficher dans l’application).</li>
<li>mac_address : Adresse Bluetooth (mac) de la planche de mesure, c’est-à-dire <strong>00:06:66:89:E5:FE</strong>.</li>
<li>marel_ip_address : Adresse IP de la balance Marel (voir <a href="https://github.com/iml-gddaiss/marel_marine_scale_controller">marel_marine_scale_controller</a>).</li>
</ul></li>
<li><p>launch_settings : (Paramètres utilisés au lancement de l’application)</p>
<div class="sourceCode" id="cb3"><pre class="sourceCode json"><code class="sourceCode json"><a class="sourceLine" id="cb3-1" title="1"> <span class="fu">{</span><span class="dt">"launch_settings"</span><span class="fu">:</span> <span class="fu">{</span></a>
<a class="sourceLine" id="cb3-2" title="2"> <span class="dt">"output_mode"</span><span class="fu">:</span> <span class="st">"length"</span><span class="fu">,</span></a>
<a class="sourceLine" id="cb3-3" title="3"> <span class="dt">"reading_profile"</span><span class="fu">:</span> <span class="st">"measure"</span><span class="fu">,</span></a>
<a class="sourceLine" id="cb3-4" title="4"> <span class="dt">"dynamic_stylus_mode"</span><span class="fu">:</span> <span class="kw">true</span><span class="fu">,</span></a>
<a class="sourceLine" id="cb3-5" title="5"> <span class="dt">"backlighting_level"</span><span class="fu">:</span> <span class="dv">95</span><span class="fu">,</span></a>
<a class="sourceLine" id="cb3-6" title="6"> <span class="dt">"length_units"</span><span class="fu">:</span> <span class="st">"mm"</span><span class="fu">,</span></a>
<a class="sourceLine" id="cb3-7" title="7"> <span class="dt">"stylus"</span><span class="fu">:</span> <span class="st">"pen"</span><span class="fu">,</span></a>
<a class="sourceLine" id="cb3-8" title="8"> <span class="dt">"auto_enter"</span><span class="fu">:</span> <span class="kw">true</span></a>
<a class="sourceLine" id="cb3-9" title="9"> <span class="fu">}}</span></a></code></pre></div>
<ul>
<li>output_mode : length(longueur), top(haut) ou bottom(bas).</li>
<li>reading_profile : Nom (clé) du profil. Les profils de lecture sont définis plus bas.</li>
<li>dynamic_stylus_mode : (true/false) Si vrai(true), les profils de lecture changeront pour chaque mode de saisie.</li>
<li>backlight_level : (0-95) Intensité du rétroéclairage</li>
<li>length_units : Unités des valeurs de mesure soit <strong>cm</strong> ou <strong>mm</strong></li>
<li>stylet : Nom du stylet utilisé. Doit être défini dans le fichier de <a href="#specification-de-la-planche">spécification de la planche</a>.</li>
<li>auto_enter : Appuie automatiquement sur la touche <em>enter</em> après avoir imprimé (à la position du curseur) d’une valeur de longueur ou de poids.</li>
</ul></li>
<li><p>reading_profiles :</p>
<div class="sourceCode" id="cb4"><pre class="sourceCode json"><code class="sourceCode json"><a class="sourceLine" id="cb4-1" title="1"> <span class="fu">{</span><span class="dt">"reading_profiles"</span><span class="fu">:</span> <span class="fu">{</span></a>
<a class="sourceLine" id="cb4-2" title="2"> <span class="dt">"measure"</span><span class="fu">:</span> <span class="fu">{</span></a>
<a class="sourceLine" id="cb4-3" title="3"> <span class="dt">"settling_delay"</span><span class="fu">:</span> <span class="dv">9</span><span class="fu">,</span></a>
<a class="sourceLine" id="cb4-4" title="4"> <span class="dt">"number_of_reading"</span><span class="fu">:</span> <span class="dv">50</span><span class="fu">,</span></a>
<a class="sourceLine" id="cb4-5" title="5"> <span class="dt">"max_deviation"</span><span class="fu">:</span> <span class="dv">50</span></a>
<a class="sourceLine" id="cb4-6" title="6"> <span class="fu">}}}</span></a></code></pre></div>
<ul>
<li>settling_delay : (0-20) Délai après la première détection du stylet (pas en secondes).</li>
<li>number_of_reading : Nombre de lectures nécessaires pour une bonne mesure.</li>
<li>max_deviation : (1-100) Écart permis entre chaque lecture. Pour plus d’informations :<a href="doc/Big-Fin-Scientific-Fish-Board-Integration-Guide-V2_0.pdf">Big-Fin-Scientific-Fish-Board-Integration-Guide-V2_0.pdf</a>_</li>
</ul></li>
<li><p>output_modes :</p>
<div class="sourceCode" id="cb5"><pre class="sourceCode json"><code class="sourceCode json"><a class="sourceLine" id="cb5-1" title="1"> <span class="fu">{</span><span class="dt">"output_modes"</span><span class="fu">:</span> <span class="fu">{</span></a>
<a class="sourceLine" id="cb5-2" title="2"> <span class="dt">"swipe_threshold"</span><span class="fu">:</span> <span class="dv">5</span><span class="fu">,</span></a>
<a class="sourceLine" id="cb5-3" title="3"> <span class="dt">"segments_limits"</span><span class="fu">:</span> <span class="ot">[</span><span class="dv">0</span><span class="ot">,</span> <span class="dv">230</span><span class="ot">,</span> <span class="dv">430</span><span class="ot">,</span> <span class="dv">630</span><span class="ot">,</span> <span class="dv">800</span><span class="ot">]</span><span class="fu">,</span></a>
<a class="sourceLine" id="cb5-4" title="4"> <span class="dt">"segments_mode"</span><span class="fu">:</span> <span class="ot">[</span><span class="st">"length"</span><span class="ot">,</span> <span class="st">"top"</span><span class="ot">,</span> <span class="st">"bottom"</span><span class="ot">,</span> <span class="st">"length"</span><span class="ot">]</span><span class="fu">,</span></a>
<a class="sourceLine" id="cb5-5" title="5"> <span class="dt">"mode_reading_profiles"</span><span class="fu">:</span> <span class="fu">{</span></a>
<a class="sourceLine" id="cb5-6" title="6"> <span class="dt">"top"</span><span class="fu">:</span> <span class="st">"key"</span><span class="fu">,</span></a>
<a class="sourceLine" id="cb5-7" title="7"> <span class="dt">"length"</span><span class="fu">:</span> <span class="st">"measure"</span><span class="fu">,</span></a>
<a class="sourceLine" id="cb5-8" title="8"> <span class="dt">"bottom"</span><span class="fu">:</span> <span class="st">"key"</span></a>
<a class="sourceLine" id="cb5-9" title="9"> <span class="fu">}</span></a>
<a class="sourceLine" id="cb5-10" title="10"><span class="fu">}}</span></a></code></pre></div>
<ul>
<li>swipe_threshold : Distance minimale (mm) pour qu’un balayage de stylet soit valide.</li>
<li>segments_limits : Définit les limites (mm) des différents segments de balayage.</li>
<li>segments_mode : Le mode de saisie correspondant à chaque segment de balayage.</li>
<li>mode_reading_profiles : Les profils de lecture correspondants pour chaque mode de saisie.</li>
</ul></li>
<li><p>keys_maps (voir la section <a href="#associations-des-cles">Associations des clés</a>):</p>
<p>Champs: <code>control_box</code>,<code>control_box_mode</code>,<code>board</code>,<code>board_mode</code></p>
<ul>
<li>Une touche peut être associée à des commandes ou à des entrées au clavier.</li>
<li>Une association peut être une liste de commandes ou d’entrées au clavier qui sont exécutées une par une.</li>
<li>Une touche peut avoir deux associations : une par défaut et une alternatif (mode).</li>
</ul></li>
</ul>
<h4 id="associations-des-clés">Associations des clés</h4>
<p><a id="associations-des-cles"></a></p>
<p>Les noms des clés sont définis dans le fichier de <a href="#specification-de-la-planche">spécification de la planche</a>.</p>
<p>Commandes associables :</p>
<ul>
<li><code>"BACKLIGHT_UP", "BACKLIGHT_DOWN"</code>: Augmenter ou diminuer le niveau de rétroéclairage du boîtier de contrôle.</li>
<li><code>"CHANGE_STYLUS"</code>: Parcourir la liste des stylets définis dans le fichier de <a href="#specification-de-la-planche">spécification de la planche</a>.</li>
<li><code>"UNITS_mm", "UNITS_cm"</code>: Modifier les unités de saisie.</li>
<li><code>"MODE_TOP", "MODE_LENGTH", "MODE_BOTTOM"</code>: Passer à un mode de saisie spécifique.</li>
<li><code>"CHANGE_OUTPUT_MODE"</code>: Changer de mode de saisie. Cycle: (TOP, LENGTH, BOTTOM).</li>
<li><code>"MODE"</code>: Accéder aux associations (mode) alternatif (<code>control_box_mode</code>,<code>board_mode</code>).</li>
<li><code>"WEIGHT"</code>: Imprimer le poids mesuré par la balance Marel (si une balance est connectée).</li>
<li><code>"DELETE_LAST</code>: Supprimer la dernière valeur imprimée.</li>
<li><code>"PRINT <string to print>"]</code>: Imprimer la valeur <code><string to print></code>. Exemple: “PRINT Ceci sera imprimé”</li>
</ul>
<p>Autres associations valides (saisie de clavier) (Source : <a href="https://pyautogui.readthedocs.io/en/latest/">PyautoGui</a>): <code>python ['\t', '\n', '\r', ' ', '!', '"', '#', '$', '%', '&', "'", '(', ')', '*', '+', ',', '-', '.', '/', '{', '|', '}', '~', ':', ';', '<', '=', '>', '?', '@', '[', '\\', ']', '^', '_', '`', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z' 'accept', 'add', 'alt', 'altleft', 'altright', 'apps', 'backspace', 'browserback', 'browserfavorites', 'browserforward', 'browserhome', 'browserrefresh', 'browsersearch', 'browserstop', 'capslock', 'clear', 'convert', 'ctrl', 'ctrlleft', 'ctrlright', 'decimal', 'del', 'delete', 'divide', 'down', 'end', 'enter', 'esc', 'escape', 'execute', 'f1', 'f10', 'f11', 'f12', 'f13', 'f14', 'f15', 'f16', 'f17', 'f18', 'f19', 'f2', 'f20', 'f21', 'f22', 'f23', 'f24', 'f3', 'f4', 'f5', 'f6', 'f7', 'f8', 'f9', 'final', 'fn', 'hanguel', 'hangul', 'hanja', 'help', 'home', 'insert', 'junja', 'kana', 'kanji', 'launchapp1', 'launchapp2', 'launchmail', 'launchmediaselect', 'left', 'modechange', 'multiply', 'nexttrack', 'nonconvert', 'num0', 'num1', 'num2', 'num3', 'num4', 'num5', 'num6', 'num7', 'num8', 'num9', 'numlock', 'pagedown', 'pageup', 'pause', 'pgdn', 'pgup', 'playpause', 'prevtrack', 'print', 'printscreen', 'prntscrn', 'prtsc', 'prtscr', 'return', 'right', 'scrolllock', 'select', 'separator', 'shift', 'shiftleft', 'shiftright', 'sleep', 'space', 'stop', 'subtract', 'tab', 'up', 'volumedown', 'volumemute', 'volumeup', 'win', 'winleft', 'winright', 'yen', 'command', 'option', 'optionleft', 'optionright']</code></p>
<h3 id="spécification-de-la-planche">Spécification de la planche</h3>
<p><a id="specification-de-la-planche"></a></p>
<ul>
<li><p>Fichier <code>xt</code> par défaut : <a href="dcs5/default_configs/xt_devices_specification.json">xt_devices_specification.json</a></p></li>
<li><p>Fichier <code>micro</code> par défaut : <a href="dcs5/default_configs/micro_devices_specification.json">micro_devices_specification.json</a>.</p></li>
</ul>
<p>Usage:</p>
<ul>
<li><p>board:</p>
<div class="sourceCode" id="cb6"><pre class="sourceCode json"><code class="sourceCode json"><a class="sourceLine" id="cb6-1" title="1"> <span class="fu">{</span><span class="dt">"board"</span><span class="fu">:</span> <span class="fu">{</span></a>
<a class="sourceLine" id="cb6-2" title="2"> <span class="dt">"number_of_keys"</span><span class="fu">:</span> <span class="dv">49</span><span class="fu">,</span></a>
<a class="sourceLine" id="cb6-3" title="3"> <span class="dt">"key_to_mm_ratio"</span><span class="fu">:</span> <span class="fl">15.385</span><span class="fu">,</span></a>
<a class="sourceLine" id="cb6-4" title="4"> <span class="dt">"zero"</span><span class="fu">:</span> <span class="fl">-3.695</span><span class="fu">,</span></a>
<a class="sourceLine" id="cb6-5" title="5"> <span class="dt">"detection_range"</span><span class="fu">:</span> <span class="dv">2</span><span class="fu">}</span></a>
<a class="sourceLine" id="cb6-6" title="6"><span class="fu">}</span></a></code></pre></div>
<ul>
<li>number_of_keys : Les clés correspondent au cercle gris sur la planche de mesure.</li>
<li>key_to_mm_ratio : La distance en mm entre deux cercles (centre à centre).</li>
<li>zero : Position (en mm) de l’extrémité gauche de la touche #0 étant donné que la première touche de la planche la touche #1.</li>
<li>detection_range : Décalage vers la gauche en mm pour la détection du stylet.</li>
<li>keys_layout : Listes ordonnées pour le nom des touches du haut et pour les touches du bas. Ces noms sont utilisés pour associer les commandes des modes de saisie.
<ul>
<li>top: Haut</li>
<li>bottom: Bas</li>
</ul></li>
</ul>
<em>Remarques : Les deux listes (top et bottom) ne doivent pas contenir de noms identiques.</em></li>
<li>control_box:
<ul>
<li>mode: Modèle du boîtier de contrôle. Soit <strong>xt</strong> ou <strong>micro</strong>.</li>
<li>keys_layout : Mappage de l’identifiant intégré des clés du boîtier de contrôleur vers un nom significatif. Ces noms sont utilisées pour associer les commandes aux touches de la planche dans le fichier de <a href="#configuration-du-controleur">configuration du contrôler</a>.</li>
</ul></li>
<li>stylus_offset : Décalage en mm qui est ajouté à la valeur mesurée par la planche.
<ul>
<li>Remarque : Ces valeurs devraient dépendre de l’étalonnage.</li>
</ul></li>
</ul>
</body>
</html>