elric Posté(e) le 30 mai 2023 Partager Posté(e) le 30 mai 2023 (modifié) Merci @deadubed, super initiative. Par contre, je ne sais pas comment tu vas t'y prendre , l'idéal serait d'implémenter la roue dans une nouvelle activité (comme l'activité marche , l'activité course et après l'activité roue 😉 ) et non dans un programme séparé. Car si tu fais cela dans un programme séparé, ça voudra dire qu'on ne pourra plus suivre une trace pre enregistrée par exemple. Et plus accès à la cartographie de la garmin pendant tout le temps d'exécution du programme. Car par défaut, une garmin permet déjà de faire tout cela: Ce qui limiterait l'intérêt. A moins que tu ai prévu une autre option. En tout cas, je serai heureux d'être Bêta................................testeur 😉. Nb: j'ai déjà exécuté plusieurs programmes sur ma montre et je n'ai pas l'impression que les programmes sont capable de travailler en tâche de fond sur une garmin. Par contre par l'intermédiaire des cadrans de montres j'ai l'impression qu'il y a d'avantages de possibilités. Modifié le 30 mai 2023 par elric Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
deadubed Posté(e) le 30 mai 2023 Partager Posté(e) le 30 mai 2023 (modifié) A dire vrai je n'ai pas encore la vision exacte de ce qui est possible. Pour ce qui suit, je pars du principe que mes interlocuteurs sur ce sujet ont un minimum de connaissances en génie logiciel. En GRAS les infos principales pour ceux qui parlent surtout le langage naturel. Dans l'idéal je souhaite proposer une librairie ARCHITECTURÉE qui permette au client (ici l'app de la montre) de communiquer avec un ensemble de roues de manière transparente (avec e.g un factory X strategy et probablement des couches d'adapter). En d'autres termes ça reviendrait à proposer une librairie dont le seul objectif est d'encapsuler les communications avec les roues à travers une interface unique et derrière c'est l'app qui gère les données qu'elle envoie/reçoit comme elle l'entend. La délégation ne se fait donc pas sur le fond mais sur la forme. Selon les limitations / contraintes du protocole BLE, il est possible en effet que ce soit faisable ou pas, impliquant peut-être des contournements architecturaux pour e.g assurer que c'est bien l'app qui réifie les instances de communication pour garder le contrôle dessus et éviter les timeout ou échecs de handshake. Modifié le 30 mai 2023 par deadubed 1 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Blkfri Posté(e) le 30 mai 2023 Auteur Partager Posté(e) le 30 mai 2023 Il y a 3 heures, elric a dit : Par contre, je ne sais pas comment tu vas t'y prendre , l'idéal serait d'implémenter la roue dans une nouvelle activité (comme l'activité marche , l'activité course et après l'activité roue 😉 ) et non dans un programme séparé. Car si tu fais cela dans un programme séparé, ça voudra dire qu'on ne pourra plus suivre une trace pre enregistrée par exemple. Et plus accès à la cartographie de la garmin pendant tout le temps d'exécution du programme. C'est précisément ce que j'ai fait (mais pour le moment uniquement pour Begode), je n'ai peut être pas été assez clair dans mon explication 😉. 1 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Blkfri Posté(e) le 30 mai 2023 Auteur Partager Posté(e) le 30 mai 2023 Il y a 3 heures, deadubed a dit : Selon les limitations / contraintes du protocole BLE, il est possible en effet que ce soit faisable ou pas, impliquant peut-être des contournements architecturaux pour e.g assurer que c'est bien l'app qui réifie les instances de communication pour garder le contrôle dessus et éviter les timeout ou échecs de handshake. J'espère juste qu'il n'y a pas de trame de plus de 20 bytes dans les standards de com des différentes roues, parceque Garmin tronque les trames sinon (enfin si le "bug" est toujours d'actualité, cf : https://forums.garmin.com/developer/connect-iq/i/bug-reports/messages-from-btle-gatt-server-truncated-at-20-bytes?CommentId=ea4ee967-7c1f-4cbe-9b53-936f7b883ea5). Dans mon cas ça n'a pas posé problème parce-que Begode utilise (utilisait?) un MTU de 20. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
deadubed Posté(e) le 31 mai 2023 Partager Posté(e) le 31 mai 2023 Il y a 17 heures, Blkfri a dit : J'espère juste qu'il n'y a pas de trame de plus de 20 bytes dans les standards de com des différentes roues, parceque Garmin tronque les trames sinon (enfin si le "bug" est toujours d'actualité, cf : https://forums.garmin.com/developer/connect-iq/i/bug-reports/messages-from-btle-gatt-server-truncated-at-20-bytes?CommentId=ea4ee967-7c1f-4cbe-9b53-936f7b883ea5). Dans mon cas ça n'a pas posé problème parce-que Begode utilise (utilisait?) un MTU de 20. C'est très Meh cette affaire. Si pour toutes les roues les infos de base : voltage, vitesse, temp rentrent dans les 20 premiers octets, alors on s'en contentera. Vaut mieux du minimal fonctionnel que vouloir tout faire mais mal. Pour le reste, à voir le code, sans connaissance préalable du protocole bluetooth. C'est incompréhensible (wheelLog tout autant que le companion garmin d'origine et même que ton app (en parciulier le profile manager 🫣) sans y passer vraiment du temps à tête reposée, et là j'ai pas le temps tout de suite. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Cobalt Posté(e) le 31 mai 2023 Partager Posté(e) le 31 mai 2023 La taille du MTU ne devrait pas être un problème. le MTU est négocié entre les 2 équipements lors de l'établissement de la communication, si Garmin limite son MTU à 20, l'équipement distant enverra plusieurs paquets de 20 octets pour transmettre toutes les données. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Blkfri Posté(e) le 31 mai 2023 Auteur Partager Posté(e) le 31 mai 2023 il y a 47 minutes, Cobalt a dit : La taille du MTU ne devrait pas être un problème. le MTU est négocié entre les 2 équipements lors de l'établissement de la communication, si Garmin limite son MTU à 20, l'équipement distant enverra plusieurs paquets de 20 octets pour transmettre toutes les données. Ce n'est pas tout a fait clair, visiblement il y a quand même un bug qui limite les données reçues aux 20 premiers bytes, c'est à vérifier. J'ai regardé très rapidement et sauf erreur de ma part pour les roues Kingsong ça devrait être OK (a priori pas plus de 20 bytes utilisés), par contre inmotion c'est une autre histoire... Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
deadubed Posté(e) le 31 mai 2023 Partager Posté(e) le 31 mai 2023 il y a une heure, Cobalt a dit : La taille du MTU ne devrait pas être un problème. le MTU est négocié entre les 2 équipements lors de l'établissement de la communication, si Garmin limite son MTU à 20, l'équipement distant enverra plusieurs paquets de 20 octets pour transmettre toutes les données. J'ai pas pensé en effet que lors du handshake initial les 2 parties puissent définir le cadre de communication mais ça ferait sens. Si qqn a un cours / tuto BLE accessible (i.e pas une doc technique ou du raw code commenté. etc) ça pourrait être cool, j'ai rien trouvé d'utilisable immédiatement et lire les cahiers de specs franchement c'est en dernier recours. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Blkfri Posté(e) le 31 mai 2023 Auteur Partager Posté(e) le 31 mai 2023 il y a 30 minutes, deadubed a dit : J'ai pas pensé en effet que lors du handshake initial les 2 parties puissent définir le cadre de communication mais ça ferait sens. Si qqn a un cours / tuto BLE accessible (i.e pas une doc technique ou du raw code commenté. etc) ça pourrait être cool, j'ai rien trouvé d'utilisable immédiatement et lire les cahiers de specs franchement c'est en dernier recours. J'avais trouvé ça quand j'ai commencé à regarder, c'est propre au dev android mais néanmoins ça explique la commincation BLE : https://punchthrough.com/android-ble-guide/ Sinon dans l'API Garmin, aucune trace de méthode pour négocier un MTU... Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
deadubed Posté(e) le 31 mai 2023 Partager Posté(e) le 31 mai 2023 il y a une heure, Blkfri a dit : J'avais trouvé ça quand j'ai commencé à regarder, c'est propre au dev android mais néanmoins ça explique la commincation BLE : https://punchthrough.com/android-ble-guide/ Sinon dans l'API Garmin, aucune trace de méthode pour négocier un MTU... Verbeux/20 mais c'est un bon début merci ! Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Cobalt Posté(e) le 31 mai 2023 Partager Posté(e) le 31 mai 2023 Lien intéressant, mais du coup j'ai noté "If our app performs a write that exceeds the connection’s ATT MTU, the write will fail" il n'est donc pas garanti que l'application puisse transmettre ou recevoir 40 octects par exemple à l'aide de 2 paquets de 20 octets Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Blkfri Posté(e) le 1 juin 2023 Auteur Partager Posté(e) le 1 juin 2023 (modifié) Les tests en extérieur sont plutôt positif j'ai du revoir ma méthode de calcul de vitesse moyenne à partir des données de la roue mais c'est complètement fonctionnel. À voir pour implémenter d'autres valeurs. Je ne suis pas bien sûr des valeurs que je sors pour le "phase current", je ne sais pas si c'est le courant d'une phase du moteur ou la somme des courants des trois phases (ou encore autre chose 🤔). Si quelqu'un peut m'éclairer là dessus je suis preneur Modifié le 1 juin 2023 par Blkfri Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Blkfri Posté(e) le 6 juillet 2023 Auteur Partager Posté(e) le 6 juillet 2023 J'ai fini par faire une release de l'app que j'utilise maintenant quotidiennement, lien et description en première page du sujet 😉 1 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Blkfri Posté(e) le 22 juillet 2023 Auteur Partager Posté(e) le 22 juillet 2023 (modifié) J'ai envie de communiquer un peu sur mon app donc voici donc les nouvelles fraîches ! Vous m'excuserez (enfin c'est vous qui voyez) mais j'ai eu un peu eu la flemme de traduire la version anglaise que j'avais rédigée pour un post sur electric unicycle forum, c'est donc chatgpt qui s'en charge (on frole l'irrespect), d'où le style d'écriture un peu différent J'ai publié une nouvelle mise à jour pour wheelDash, comprenant différentes fonctionnalités de personnalisation et une réorganisation par groupe des paramètres de l'application via Garmin IQ . Si cela pose trop de problèmes je reviendrais à une version non organisée, car Garmin Connect IQ sur le téléphone peut être un peu récalcitrant et lent. Pour être sûr que les paramètres sont correctement configurés et sauvegardés, suivez ces étapes : configurez tout en une seule fois, appuyez sur Enregistrer, fermez complètement l'application (pas seulement la fermer), redémarrez-la et vérifiez si les paramètres sont configurés comme vous le souhaitez. Voici les principales mises à jour : Paramètres de la roue : - Action lorsque le bouton OK est pressé (précédemment implémentée) : Vous pouvez maintenant définir une action pour le bouton OK. Actuellement, les deux options disponibles sont "cycle des modes d'éclairage" ou "aucune". Si vous avez des suggestions pour d'autres actions utiles, n'hésitez pas à les partager. - Ajout d'un facteur de correction de vitesse : Si vous savez que la vitesse indiquée par votre roue est incorrecte ou si vous avez apporté des modifications nécessitant une correction de vitesse, vous pouvez désormais utiliser ce facteur pour corriger la vitesse affichée. Paramètres de l'interface utilisateur de l'application : - Taux de rafraîchissement : Vous pouvez désormais personnaliser la durée en millisecondes entre deux rafraîchissements d'écran. Cela détermine à quelle fréquence les valeurs affichées seront mises à jour. Un taux de rafraîchissement plus lent (valeur plus grande) devrait entraîner une utilisation moindre de la batterie de la montre (confirmation nécessaire). Paramètres des alarmes : - Vous pouvez désormais définir une alarme PWM et/ou une alarme de vitesse en définissant un seuil de déclenchement pour chaque alarme. Mettre le seuil à 0 désactivera l'alarme. Activités : - Ajout de l'enregistrement automatique des activités : L'application commencera désormais automatiquement l'enregistrement d'une activité lorsque la roue est connectée et la sauvegardera à la fermeture de l'application. - Ajout de la sauvegarde automatique des activités : Cette fonctionnalité permet de sauvegarder automatiquement l'activité à la fermeture (non nécessaire si l'enregistrement automatique est activé). Cependant, vous devez toujours démarrer manuellement l'enregistrement de l'activité. - Même avec ces fonctionnalités activées, vous pouvez toujours démarrer/arrêter manuellement l'activité en accédant à la vue d'activité (glissez vers le haut). Informations actuelles sur la balade : - Vous pouvez désormais choisir les statistiques de la balade qui seront affichées dans la partie inférieure de l'écran. Si vous en sélectionnez plusieurs, chaque élément sélectionné sera affiché pendant 2 secondes en boucle. Actuellement, il y a 3 statistiques disponibles : vitesse moyenne en mouvement (lorsque vous vous déplacez à plus de 3 km/h), vitesse maximale et utilisation de la batterie de la montre (en %/heure). N'hésitez pas à suggérer ou demander d'autres statistiques de balade. Maintenant que ça prends forme, je commence à songer à aller vers le support d'autres marques. La trajectoire à laquelle je pense c'est d'aller d'abord vers un support de Leaperkim car c'est le plus proche de Begode d'un point de vue mode de communication, puis Kingsong et peut-être si j'ai le courage Ninebot et Inmotion (ce dernier ça a l'air d'être un peu plus complexe). Le processus sera forcément compliqué car même si j'aimerai posséder une roue de chaque marque ça n'est pas possible et difficilement justifiable pour faire du developpement (et même si j'avais les finances pour je finirai sûrement avec une série de begode 🔥😁). Bref je ferais signe le temps venu mais j'aurais bien besoin de beta-testeurs si il y a des interessés ! Modifié le 22 juillet 2023 par Blkfri 1 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Blkfri Posté(e) le 1 août 2023 Auteur Partager Posté(e) le 1 août 2023 Hello à tous, je continue un peu mon monologue ! Je travaille à étendre la compatibilité de wheelDash, j'ai commencé par écrire du code pour les roues Veteran. Si l'un d'entre vous a une montre Garrmin qui supporte le protocole BLE veut bien jouer les beta testeur je suis preneur ! Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Blkfri Posté(e) le 11 août 2023 Auteur Partager Posté(e) le 11 août 2023 Hello à ceux qui lisent ce topic ! Je suis à la recherche de bêta testeurs possédant des roues Veteran ou Kingsong. Toutes les montres Garmin qui ont la fonctionnalité bluetooth sont à priori compatibles ! Contactez moi en mp ou ici ! Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Marco73 Posté(e) le 11 août 2023 Partager Posté(e) le 11 août 2023 il y a une heure, Blkfri a dit : Hello à ceux qui lisent ce topic ! Je suis à la recherche de bêta testeurs possédant des roues Veteran ou Kingsong. Toutes les montres Garmin qui ont la fonctionnalité bluetooth sont à priori compatibles ! Contactez moi en mp ou ici ! Salut, pour pas que tu restes dans le monologue je possède une Vétéran OG....mais la montre Garmin c'est trop cher, ma Lemfo T me suffit bien, sorry 😉 1 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Blkfri Posté(e) le 11 août 2023 Auteur Partager Posté(e) le 11 août 2023 il y a 25 minutes, Marco73 a dit : Salut, pour pas que tu restes dans le monologue je possède une Vétéran OG....mais la montre Garmin c'est trop cher, ma Lemfo T me suffit bien, sorry 😉 Oui je sais je suis sur un marché de niche 😁. Merci quand même ! Après la Lemfo c'est de l'usage spécifique : c'est sympa pour la roue mais en dehors de ça c'est pas franchement la classe (se balader tous les jours avec une mini tablette au poignet mouaif ...). Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
OliG Posté(e) le 11 août 2023 Partager Posté(e) le 11 août 2023 Hello, j’ai loupé ce magnifique sujet @Blkfri 😁 Je ne pige rien avec vos échanges abscons de dev mais je suis très intéressé par l’initiative. J’ai une EPIX Gen 2 Pro pour le moment (j’ai eu un paquet de Fenix 4,5,6 avant puis l’Epix Gen 2 et j’ai upgradé il y a peu pour l’Epix pro). J’ai une Leaperkim/Vétéran Patton et une Kingsong S22. L’idée de l’app autonome est séduisante, dispo dans connect IQ c’est top pour pas avoir à bricoler directement dans les fichiers de la dernière Garmin à 1000 balles. Que l’app enregistre des activités c’est top également. Le truc qui m’ennuie c’est que ce soit une app et pas une série de « data field » à intégrer dans une app (Vélo par exemple) de Garmin dans laquelle tu as tous tes paramètres d’activité habituels Garmin et surtout le guidage turn-by-turn à partir du tracé gpx de ta rando. A moins que cela soit dispo et que je n’ai pas pigé. Bref à dispo si tu cherches un testeur avec EPIX Pro, S22 et Patton. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
OliG Posté(e) le 11 août 2023 Partager Posté(e) le 11 août 2023 @Blkfri je ne trouvais pas l’app dans Connect IQ. J’ai donc utilisé ton lien et pas d’install possible en effet sur mon modèle. Affaire à suivre dès que tu étends la compatibilité de l’app. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Messages recommandés
Rejoindre la conversation
Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.