Forum bépo

Forum des utilisateurs du bépo

Vous n'êtes pas identifié(e).

#1 6/2/2018 23:29:21

Manolo
Membres
Inscription : 6/8/2017
Messages : 12

[ErgoDone] Reprogrammer son clavier

Bonjour,

Après avoir pas mal bataillé, je vais vous présenter comment on peut reprogrammer son ErgoDone sous Windows 10 en 64 bits.

Il est à noter que la reconfiguration des touches d'un ErgoDone a aussi été présentée d'une autre manière dans cette discussion
La méthode que je vais vous présenter se compose en plusieurs parties :
- Généralité
- Téléchargements des firmwares (codes sources et plus....)
- Téléchargement et configuration du logiciel de compilation du code (MSYS2)
- Téléchargement de l'outil pour téléverser le firmware dans l'ErgoDone (écrire le fichier *.hex dans l'arduino)
- Réalisation d'un essai basique

  • Généralité

Les explications qui vont suivre proviennent d'une source unique. Je vais juste vous l'expliquer en Français et en détaillé pour vous éviter de bloquer aux mêmes endroits que moi.

  • Téléchargement des firmwares

Page de téléchargement : Lien
Le code source est accessible dans le chapitre "How to Get It" au format *.zip
Lien direct vers l'archive : Lien Il est conseillé de passer par la page de téléchargement pour télécharger la dernière version.
L'archive doit ensuite être désarchivée.
Dans mon cas, je désarchive directement à la racine de C:/ et renomme le dossier "qmk-qmk_firmware-0.5.230-0-g9aaa491" en "qmk-qmk_firmware"
A noter que le code source du clavier se retrouve dans le dossier : "C:\qmk_firmware\keyboards\ergodone". Quand vous verrez la liste de noms de clavier se retrouvant dans le dossier "keyboards", je suis certains que cela va donner des idées à plusieurs personnes.

  • Téléchargement et configuration du logiciel de compilation du code

Page de téléchargement : Lien. Attention ! Ne pas suivre les instructions indiquées sur la page de téléchargement, vous risquez de vous retrouver avec des erreurs!
Lorsque l'installation se termine, ne lancer pas "MSYS2 SYS". Si vous l'avez fait, vous pouvez le fermer. big_smile
Il faut lancer le logiciel nommé "MSYS2 MinGW 64bits". Un terminal s'ouvre.
Lancer l'instruction suivante pour mettre à jour les librairies:

Manolo@DESKTOP-PPSCIDH MINGW64 ~
$ pacman -Syuu

Vous pouvez relancer cette requête pour vous assurer que toutes les librairies sont à jour.

Une fois cette étape terminer, il faut installer les drivers des arduinos et les "toolchain" ARM et/ou AVR. Dans mon cas, j'ai tout installé mais je suis sûr que je n'avais pas besoin de tout... Pour cela, toujours dans MSYS2, on va lancer l'installateur se trouvant dans le firmware précédemment téléchargé et dezippé. Attendez-vous à installer jusqu'à 1,5Go de données! roll

Manolo@DESKTOP-PPSCIDH MINGW64 ~
$ cd /c/qmk_firmware     << =C'est en fonction de où vous avez placé le dossier

Manolo@DESKTOP-PPSCIDH MINGW64 /c/qmk_firmware
$ util/msys2_install.sh

On vous demande ce que vous souhaitez installer :

Installing dependencies needed for the installation (quazip)
:: Il y a 55 membres dans le groupe base-devel:
:: Dépôt msys
   1) asciidoc  2) autoconf  3) autoconf2.13  4) autogen  5) automake-wrapper  6) automake1.10  7) automake1.11  8) automake1.12  9) automake1.13  10) automake1.14  11) automake1.15  12) automake1.6  13) automake1.7  14) automake1.8  15) automake1.9  16) bison
   17) diffstat  18) diffutils  19) dos2unix  20) file  21) flex  22) gawk  23) gdb  24) gettext  25) gettext-devel  26) gperf  27) grep  28) groff  29) help2man  30) intltool  31) lemon  32) libtool  33) libunrar  34) libunrar-devel  35) m4  36) make  37) man-db
   38) pacman  39) pactoys-git  40) patch  41) patchutils  42) perl  43) pkg-config  44) pkgfile  45) quilt  46) rcs  47) scons  48) sed  49) swig  50) texinfo  51) texinfo-tex  52) ttyrec  53) unrar  54) wget  55) xmlto
Entrez une sélection (par défaut, tout est sélectionné):

Appuyer sur entrer pour tout installer, puis :

   1) mingw-w64-x86_64-binutils  2) mingw-w64-x86_64-crt-git  3) mingw-w64-x86_64-gcc  4) mingw-w64-x86_64-gcc-ada  5) mingw-w64-x86_64-gcc-fortran  6) mingw-w64-x86_64-gcc-libgfortran  7) mingw-w64-x86_64-gcc-libs  8) mingw-w64-x86_64-gcc-objc  9) mingw-w64-x86_64-gdb
   10) mingw-w64-x86_64-headers-git  11) mingw-w64-x86_64-libmangle-git  12) mingw-w64-x86_64-libwinpthread-git  13) mingw-w64-x86_64-make  14) mingw-w64-x86_64-pkg-config  15) mingw-w64-x86_64-tools-git  16) mingw-w64-x86_64-winpthreads-git
   17) mingw-w64-x86_64-winstorecompat-git
Entrez une sélection (par défaut, tout est sélectionné):

Appuyer sur entrer pour tout installer.

Which USB drivers do you want to install?
(A)all - All supported drivers will be installed
(C)onnected - Only drivers for connected keyboards (in bootloader/flashing mode)
              will be installed
(F)force - Like all, but will also override existing drivers for connected
           keyboards
(N)one - No drivers will be installed,
         flashing your keyboard will most likely not work
(A/C/F/N)? 

A (pour tout installer tous les drivers) puis entrée.

The AVR toolchain is not installed.
This is needed for building AVR based keboards.
Do you want to install it? (Y/N)

Y pour l'installer

The ARM toolchain is not installed.
This is needed for building ARM based keboards.
Do you want to install it? (Y/N)

Y pour l'installer

Do you want to add 'source ~/qmk_utils/activate_msys2.sh' to the end of your
.bashrc file? Without this make won't find the needed utils, so if you don't
want to do it automatically, then you have to do it manually later.
(Y/N)?

Y pour Oui je le veux.

******************************************************************************
Installation completed!
Please close this Window and restart MSYS2 MinGW
******************************************************************************

Vous pouvez compiler le code du clavier par défaut pour vous faire plaisir même si ça ne devrait vous servir à rien en faisant le code ci-dessous après avoir redémarré le logiciel MSYS2:

Manolo@DESKTOP-PPSCIDH MINGW64 /c/ergodone
$ cd /c/qmk_firmware

Manolo@DESKTOP-PPSCIDH MINGW64 /c/qmk_firmware
$ make ergodone:default

Vous retrouverez le fichiers généré au format *.hex dans le dossier C:\qmk_firmware\.build (mais là j'en dis trop tongue)

  • Téléchargement de l'outil pour téléverser le firmware dans l'ErgoDone (écrire le fichier *.hex dans l'arduino)

Page de téléchargement du TKG Toolkit : Lien
Une fois le fichier zip télécharger, vous pouvez le désarchiver où bon vous semble. Pour des raisons de facilités, je l'ai fait à la racine du disque dur : "C:\tkg-toolkit-master\"
D'après le tutoriel que j'ai récupéré, il y a un problème sous Windows 10 avec un utilitaire depuis le 3 octobre 2017. Il faut donc télécharger une ancienne version qui fonctionne. C'est ce que j'ai fait, je vous avoue que je n'ai pas essayé la "nouvelle version qui en théorie ne fonctionne pas".
Il faut récupérer le fichier hid_bootloader_cli.exe.
Une fois téléchargé, vous pouvez remplacer le fichier en question dans le dossier C:\tkg-toolkit-master\windows\bin\ (vous voyez en fonction de l'emplacement de votre dossier)

  • Réalisation d'un essai basique

Attention ! Dans ce chapitre, vous allez recharger le programme contenu dans l'arduino se trouvant sur la carte PCB de l'ErgoDone. Prenez vos précautions, car cela implique forcément la perte du programme se trouvant dans l'arduino avant un futur chargement.

Petit rappel : Nous avons maintenant :
- 1 dossier contenant le code source de l'ErgoDone : "C:\qmk_firmware\keyboards\ergodone" (l'emplacement est peut-être différent chez vous)
- 1 logiciel capable de compiler ce code source : "MSYS2 MinGW 64bits"
- 1 outil permettant de transférer le fichier *.hex (ou firmware) dans le clavier
- encore un peu de volonté big_smile

Nous allons pour commencer créer une nouvelle disposition que nous allons appeler "test123" (j'ai pas trouvé pire comme nom!)
Copier le dossier "C:\qmk_firmware\keyboards\ergodone\keymaps\default\" puis coller-le et renommer-le pour obtenir "C:\qmk_firmware\keyboards\ergodone\keymaps\test123\"
Vous pouvez vous amuser à modifier le fichier "C:\qmk_firmware\keyboards\ergodone\keymaps\test123\keymap.c". Voir codes pour chaque touche d'un clavier
Une fois terminé, il faut compiler votre nouveau code.

Il faut maintenant lancer le logiciel nommé "MSYS2 MinGW 64bits". Un terminal s'ouvre.

Manolo@DESKTOP-PPSCIDH MINGW64 ~
$ cd /c/qmk_firmware
Manolo@DESKTOP-PPSCIDH MINGW64 /c/qmk_firmware
$ make ergodone:test123

Explication du code ci-dessus :
- cd /c/qmk_firmware => Allez dans le dossier ou vous avez placé votre code source
- make ergodone:test123 => Compilation du code de l'ergodone et de la disposition du clavier se trouvant dans le dossier test123. Vous pouvez ainsi créer autant de claviers que vous souhaitez.

Making ergodone with keymap default

avr-gcc.exe (AVR_8_bit_GNU_Toolchain_3.5.4_1709) 4.9.2
Copyright (C) 2014 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Compiling: keyboards/ergodone/twimaster.c                                                           [OK]
Compiling: keyboards/ergodone/matrix.c                                                              [OK]
Compiling: keyboards/ergodone/expander.c  SYS2 64bits :
….
Creating load file for flashing: .build/ergodone_test123.hex                  [OK]
Copying ergodone_test123.hex to qmk_firmware folder                      [OK]

Et voilà, le firmware est prêt.
Pour transférer le firmware (le fichier *.hex) il faut aller chercher l’outil qui permet d'écrire le *.hex dans l'arduino. C'est outil se lance depuis un terminal Dos. Voici ma méthode (un peu dégueulasse mais qui fonctionne)
- Copier le firmware ou fichier "ergodone_test123.hex" précédemment généré dans le dossier "C:\qmk_firmware\.build\"
- Coller le dans le dossier "C:\tkg-toolkit-master\windows\bin"
- Ouvrir le raccourcis du terminal Dos "run_as_admin" qui tombe à pic!
OUPS ! Avant de démarrer le transfert du programme, il faut redémarrer l'ErgoDone en mode Flash.
Pour cela, débrancher l'alimentation du clavier (prise USB). Rebrancher-le en maintenant les 2 touches ci-dessous enfoncées quelques secondes :
Mode flash
- Revenons donc à notre terminal

C:\WINDOWS\system32>cd C:\tkg-toolkit-master\windows\bin

C:\tkg-toolkit-master\windows\bin>hid_bootloader_cli -mmcu=atmega32u4 ergodone_test123.hex

Si le message "Unable to open device" s'affiche dans votre terminal, cela signifie que le clavier n'est pas en Flash mode!
Si aucun message d'erreur ne s'affiche, c'est que votre clavier est prêt!


N'hésitez pas à me reprendre sur des fautes de frappes, d'orthographe, des abus de langages ou des termes mal utilisés (firmware?)...

Avec ça, j'ai plus d'excuse pour ne pas me mettre tout de suite au bépo! big_smile

Dernière modification par Manolo (7/2/2018 01:39:15)

Hors ligne

#2 7/2/2018 00:06:36

jeff
Membres
Inscription : 18/9/2011
Messages : 136

Re : [ErgoDone] Reprogrammer son clavier

Bonjour

Directement sur le wiki ?

Hors ligne

#3 7/2/2018 09:41:07

Mimoza
Olivaw
Lieu : Terre
Inscription : 19/9/2012
Messages : 906

Re : [ErgoDone] Reprogrammer son clavier

Salut,
Merci pour ce tuto très détaillé ! Comme dit Jeff le mettre sur le wiki éviterait qu'il se perde dans les limbes du forum au bout d'un moment.
Sinon es tu sur qu'il s'agisse d'un arduino ? Ce n'est pas un Teensy comme sur l'Ergodox ? Sur tes photos ça y ressemble fortement.

Hors ligne

#4 7/2/2018 10:30:52

Manolo
Membres
Inscription : 6/8/2017
Messages : 12

Re : [ErgoDone] Reprogrammer son clavier

Je confirme que c'est un arduino ProMicro (microprocesseur ATmega32U4)
mini_170716060205229279.jpg
J'ai piqué la photo à Elivagar tongue

Vous trouverez la documentation officielle de l'arduino en question sur cette page là

Sinon, je ne vois aucun problème à mettre ce tuto sur le wiki. Il faut juste me laisser un peu de temps...

Dernière modification par Manolo (7/2/2018 10:37:38)

Hors ligne

Pied de page des forums