Ma montre Garmin Forerunner 735XT m’a définitivement lâché après à peine 4 ans d’utilisation après des déboires diverses, je l’ai échangée contre une autre Garmin, l’Instinct 2 avec l’option surf en phase avec mes activités nautiques. Comme la 735XT, il est possible de la programmer et elle dispose d’un SDK pour la personnaliser, j’avais fait un post à ce sujet. Contrairement à la 735XT qui est basée sur Eclipse, elle est basée sur Visual Studio Code.
Tous les détails de l’installation sont données en anglais là. Pour résumer on récupérera le SDK à cette adresse. Et on tapera les commandes suivantes pour l’installer et le lancer la première fois.
mkdir connectiq-sdk
unzip connectiq-sdk-manager-linux.zip
cd connectiq-sdk/
cd bin/
./sdkmanager
Il va falloir d’abord se loguer sur son compte Garmin ou le créer à défaut.
Ensuite il y a une fenêtre pour savoir si les mises à jour du SDK doivent être téléchargées automatiquement quand il y a une nouvelle version. Puis vient une fenêtre pour savoir si on effectue également les mises à jour de périphériques automatiquement. A ce moment vous pouvez sélectionner les périphériques concernés, je vous conseille de sélectionner strictement la catégorie de périphérique utile car sinon ça prend de la place inutilement.
Vient ensuite la fenêtre suivante avec un onglet SDK et DEVICES (périphériques), j’ai cliqué sur la dernière version du SDK et seulement les montres (watches and wearables).
Le SDK Connect IQ est basé sur Visual Studio Code qu’on téléchargera ici. On l’installe et on le lance en tapant:
tar tar xvfz code-stable-x64-1731511985.tar.gz
cd VSCode-linux-x64/
bin/code
Il faudra maintenant installer l’extension Monkey C qui inclut un éditeur, un compilateur et un débogueur. Pour cela dans Visual Studio Code, on ira sur View->Extensions et on tapera Monkey C. Puis on clique sur le bouton Install en bleu. Il faudra ensuite relancer Visual Studio Code.
On génère maintenant une clé de développeur qui sera utile pour signer les applications, attention de bien la conserver dans un coin sans quoi, on ne pourra plus éditer les différents projets ! Pour la générer, on tapera la combinaison de touches Ctrl+Shift+P et dans la liste déroulante on choisit Monkey C: Generate a developper key.
Tant qu’à fait avec la même combinaison de touches on téléchargera des exemples de code Monkey C: Open Samples Folder. Ils se sont retrouvés sous .Garmin/ConnectIQ/Sdks/connectiq-sdk-lin-7.3.1-2024-09-23-df7b5816a/samples. J’ai donc fait un lien de ce répertoire vers mon répertoire de travail de Connect IQ.
On peut passer à sa première application Hello Word ! Pour le code, c’est un peu la jungle, il faut naviguer à vue sur la page Connect IQ et pas mal tâtonner, on pourra commencer par la page pour construire sa première application. La page donnant le détail de l’API est un incontournable, pour mon Instinct 2, il y a une page spécifique mais je n’ai pas trouvé de codes spécifiques même dans les exemples téléchargés. Le forum dédié est également une bonne source d’informations et d’aide.
Au final ça m’a pris des heures pour essayer de comprendre comment coder tout ça et aboutir à ce résultat, tout cela à partir du projet originel Hello World. C’est assez galère car il y a globalement assez peu d’exemples commentés.
Une fois que l’application fonctionne sur le simulateur, il faut construire le binaire, on y accède via la combinaison de touches Ctrl+Shift+P et on choisit Monkey C : Build for device. La compilation va générer un fichier .PRG, une fois la montre connectée en USB, on le placera sous GARMIN/APPS. Pour revenir en arrière il suffira de supprimer le dit fichier.
Et voilà ce que ça donne avec la montre en fonctionnement.