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
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. 😃
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! :rolleyes:
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 😛)
- 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é 😃
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 :
- 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! 😃