:roll:
Qand il bip souvent, comme au démarrage, tu ne peux même pas laisser le doigt dessus.
:roll:
Qand il bip souvent, comme au démarrage, tu ne peux même pas laisser le doigt dessus.
Salut !
J’ai testé la résistance du buzzer et elle est seulement de 7 Ohms ! Donc c’est sur que ça pompe vite du courant. Ca fait quand même 2 Watt quand le volume est au max ! Donc effectivement il faudrait dans tout les cas baisser le volume. C’est en tout cas beaucoup mieux que mettre une résistance qui en plus doit être énorme (Ja vous laisse regarder la tête des résistances 1W :shock: ).
Ya aussi peut-être le fait de faire du Push-Pull. C’est peut-être pas terrible avec les buzzer magnétiques, car il y a bien marqué une borne “+”. Il faudrait que je modifie la bibliothèque toneAC pour vérifier. Mais on va perdre bien sur en volume.
Je viens de regarder d’autres buzzer de cette taille et ils ont tous une résistance supérieure. Bizarre :grat: .
Autrement Jpg63 pourrais-tu me dire comment tu connectes ton diviseur de tension sur l’arduino ? Où as-tu connecté les les pattes de ton schéma ?
Amusez vous bien ! Enfin ça vole !!! :ppte:
Edit : Je viens de terminer les tests du GPS lorsqu’il est posé sur son circuit imprimé et sans rien au dessus. Ca à l’air encore mieux que l’antenne sortie. Donc le contact de l’antenne sur la masse du circuit semble améliorer la réception. J’ai eu à chaque fois le fix en moins de 30 secondes.
Je vais maintenant tester avec le boîtier plastique au dessus. Mais sans l’écran ni le bluetooth pour l’instant.
Le pont diviseur est connecté sur A3 - modifiable par logiciel
la résistance du haut sur RAW
la résistance du bas sur GND
:banane: Oui enfin ca vole ! :banane:
Sur le déco en même temps que la PWC en coeur de savoie, ben je me sens tout petit petit…
Bref, comment vous utilisez les .igc enregistré ?
Moi je les vois bien sur la carte SD, avec une taille, mais sur “propriété” ils font 0 octet. Et j’en fait rien dut tout, avec gpsbabel par ex.
Merci Jpg63 pour les infos !
@GtD73 : Tes fichiers sont-il en “gps001.igc” ou “GPS001.IGC” ?
Si t’es dans le premier cas c’est ma faute :? j’ai oublié qu’en FAT16 les noms courts devaient être écrit en majuscule. Il faut que tu te mettes à jour sur le dernier firmware. Je me suis pas rendu compte du problème parceque sous Linux ça ne change rien mais sous Windows il ne parvient pas à y accéder.
Si tu tiens à cette trace (et que tu n’as pas de linux). Voici comment corriger le problème. Malheureusement j’ai pas plus simple :
Tu télécharges Win32DiskImager :
https://sourceforge.net/projects/win32diskimager/
Avec Win32DiskImager, tu créé l’image de ta carte SD sur ton PC (read).
Tu télécharges un éditeur hexadécimal :
http://frhed.sourceforge.net/en/
Avec l’éditeur tu ouvres l’image de la carte SD et tu “cherches” la chaine de caractère “gps001.igc” (selon le nom de ton fichier). Une fois la chaîne trouvée. Dans la colone de droite tu la remplaces par “GPS001.IGC”. Puis tu enregistres.
Tu lances à nouveau Win32DiskImager et tu réécrit le fichier image sur la carte (write).
Bon vols 
Rho la vache t’es trop fort toi !!
Juste un petit commentaire, moi ma carte fait 4 Go (oui je ne l’ai pas réduite…) et du coup j’ai du utiliser un autre éditeur hexa:
http://www.01net.com/telecharger/windows/Utilitaire/manipulation_de_fichier/fiches/110455.html
Pour visualiser la trace j’ai été là:
http://www.victorb.fr/visuigc.html
Et ca donne ca:
http://www.victorb.fr/visugps/visugps.html?track=http://www.victorb.fr/visuigc/21052017_225246_GPS003_IGC
Et en regardant la trace, je me rends compte que l’enregistrement semble commencer dès que le fix gps est fait. On pourrait pas faire partir du début du vol ?
Je vais faire la maj, au cas ou je me trouve un créneau pour voler demain. :ppte:
Prunkdump a ajouté une option dans la dernière version si je me trompe pas. Tu pourra commencer l’enregistrement seulement si tu dépasse 10km/h
j’ai constaté un petit bug
AXXX GNUVario
HFDTE,N*5
HFPLTPILOTINCHARGE:
Il y a un problème de date dans l’entête IGC
En attendant que je finisse que debbuger la version avec l’affichage du temps (2 bugs que j’ai du mal à identifier :fume: ), voici une version avec l’affichage de la batterie et des satellites.
Avec l’affichage des satellites on voit bien le temps de fixe et surtout que sur mon vario la réception et pas terrible, moins entre 3 et 5 satellites fixés
Salut jpg63 !
J’ai malheureusement compris le bug de la date … :? C’est parceque le GPS ne l’envois pas sur les première trâmes !!! :grat: Du coup je suis enbêté.
-> Soit j’attends la date au démarrage. Mais il semble que parfois elle arrive au bout de 20 secondes !
-> Soit je fait un test permanent dans la boucle principale qui analyse les trâmes RMC tant qu’il n’y a pas la date.
Bon j’ai fait une mauvaise hypothèse.
Pour l’heure de vol ya un truc que je ne t’ai pas dis ! :oops: L’heure de vol est stocké directement comme un entier : “825” pour “8h25”. Donc du coup si “ct” c’est la variable contenant le temps :
-> ct/100 te donnes les heures.
-> ct%100 te donne les minutes.
J’ai fait ça parceque du coup c’est très facile d’avoir les quatres chiffres. Voici un exemple qui affiche les 4 à la suite :
uint16_t ct = nmeaParser.time;
uint16_t exp = 1000;
for( int i=0; i<4; i++) {
Serial.Print( ct/exp, DEC );
ct %= exp;
exp /= 10;
}
Je vais tester de ce pas ton code !
A+
@jpg63 :
Ca y est j’ai testé 
Très joli affichage en tout cas ! Alors avec mon GPS “modifié” j’ai eut directement 2 barres au bout de 30 secondes. Puis 3 barres au bout de 60 secondes. Et je n’ai jamais eu les 4 barres. Mais sur un balcon j’ai une moitié de ciel qui n’est pas visible. Je ne sais pas si c’est beaucoup ou pas 11 satellites… Mais je ne les ai pas eu.
Désolé j’ai toujours pas eu le temps d’intégrer ton travail sur GitHub :oops: Mais ça va venir !
Tu sais te servir de Git ? Sinon il faudrait que tu apprennes. Ca te permettrais de mettre à jour le code sans perdre tes modification à toi. Je fairais un petit tuto à l’occaz.
GtD73
Joli vol ! Tu nous as pas dit ce que tu avait pensé de comportement du vario et de son utilisation ?
Effectivement on peut activer l’enregistrement au début du vol. Mais je n’ai jamais testé cette fonctionnalité. J’espère que j’ai rien oublié. Au pire tu perd une trace… Il faut décommenter (enlever les deux “//”) VARIOMETER_RECORD_WHEN_FLIGHT_START :
/* flight start detection */
#define FLIGHT_START_MIN_TIMESTAMP 15000
#define FLIGHT_START_VARIO_LOW_THRESHOLD (-0.5)
#define FLIGHT_START_VARIO_HIGH_THRESHOLD 0.5
#define FLIGHT_START_MIN_SPEED 10.0
#define VARIOMETER_RECORD_WHEN_FLIGHT_START
Je te joint le firmware.
A+
je comprends mieux, seulement 4 chiffres, j’avais bien vu que tu codais l’heure sur un entier mais je pensais que tu mettais toute la trame (hhmmssmillisec) du coup j’avais des trucs bizarres. Peut tu me confirmer juste hh+mm, car les secondes sont importantes surtout pour changer l’affichage toutes les 10 sec et gérer le temps de vol.
en fait à l’affichage j’ai les secondes et les minutes qui défile en commençant à 0 comme si j’avais le temps depuis le fix du gps
Je ne sais pas utiliser Git mais je vais regarder car ce serait plus pratique.
Non bien sûr j’ai encore dis une connerie :oops:
C’est bien hhmmss. Donc :
ct = nmeaParser.time;
uint8_t heure = ct/10000;
ct %= 10000;
uint8_t minutes = ct/100;
ct %= 100;
uint8_t secondes = ct;
Une version plus jolie :
uint8_t time[3]; //time contiendra : heures, minutes, secondes
uint16_t ct = nmeaParser.time;
uint16_t exp = 10000;
for( int i=0; i<3; i++) {
time[i] = ct/exp;
ct %= exp;
exp /= 100;
}
Voilà !
Je te donnerai quelques tuyaux pour Git.
Bon bin plus grave encore ! J’ai oublié de gérer les microsecondes dans le code :bang:
Du coup ça ne tient pas sur un uint16_t et ça doit afficher n’importe quoi !
Si tu veux faire des essais, tu peux modifier dans la classe NmeaParser la variable “time” en uint32_t. Et obtenir le temps comme cela :
uint8_t time[3]; //time contiendra : heures, minutes, secondes
uint32_t ct = nmeaParser.time;
uint32_t exp = 1000000;
for( int i=0; i<3; i++) {
time[i] = ct/exp;
ct %= exp;
exp /= 100;
}
Mais il va falloir que je trouve une solution. Parceque c’est bête de passer au 32 bits alors que les microsecondes ne sont même pas gérées dans la trâme. Il faut que je l’empêche de lire les valeurs après le ‘.’.
Désolé pour ces erreurs !
aucun soucis, ça me rassure j’ai essayer au moins 2 ou 3 méthodes de conversion :grat: , comme je récupérais des données bizarres.
Je modifie la bibliothèque, j’ajoute aussi un fonction pour avoir le temps en secondes (base 60). la variable “value”, du coup, est aussi trop petites. En seconde on est sur du 32 bits de toutes façons
L’affichage de l’heure fonctionne, quelques petites modifications et je publie le nouveau code
Plus trop de temps pour bidouiller mais c’est pour la bonne cause: je vole !!
Et toujours avec notre vario !
Pour le comportement, moi je suis fan ! Jusqu’à maintenant j’avais xctrack mais le notre est bien mieux.
Le son je l’ai réglé à 3, il est placé sur l’élévateur juste à hauteur des yeux et c’est suffisant.
Au décollage il semble nerveux, comme s’il était trop sensible, mais une fois en vol je dirais qu’il est précis.
Pour comparer avec xctrack sur mon tel, avant mes sensations anticipaient les bip, avec le notre c’est instantané. Il est bien plus réactif.
Niveau autonomie pour le moment je me suis toujours posé avant qu’il meure. Aujourd’hui avec la phase pré-vol c’est quasi 2h après la mise en marche.
D’ailleurs c’est cette mise en marche la moins pratique. Il faudra que je trouve un truc pour rendre le switch + accessible. Soi un petit coup de lime soi un bout de plastique un peu comme jpg63.
Par contre sur la dernière maj les traces sont de nouveau en .txt, mais en majuscules.
Pour mes amis volants, deux options ensemble les ont étonnés: enregistrer la trace en local alors qu’en même temps elle est transmise (ou sera transmise pour moi :lol: ) sur un autre appareil en BT. Après c’est une option que l’on utilise ou pas, je suis bien d’accord.
Moi je le garde. Et c’est bien pour ça que j’ai du mal à découper le capot pour tester un autre emplacement BT.
Par contre je vais me rajouter le pont de résistance pour avoir le bel affichage de jpg63.
Pour le niveau de vol que j’ai, je n’ai pas besoin de plus.
Je suis presque gêné de vous écrire tout ça parce que franchement c’est du super boulot. Encore bravo.
Bin oui le plus important c’est quand même de voler ! :ppte:
Pour ma part je suis très content que le vario soit maintenant vraiment utilisable en vol !!! :jump:
Lorsque j’ai lancé l’idée des kits je cherchais des gens pour tester le vario. Je ne pensais pas trouver des parapentistes qui volent bien comme ça (vu les traces que l’on m’envoi) et aussi des super codeurs
C’est vraiment sympa de voir le projet avancer avec chacun qui apporte sa contribution. C’était l’objectif !
Si en plus on arrive à bosser avec Gargle pour en faire une version CMS. Même si là c’est à la limite de mes compétences.
Autrement. J’ai corrigé le bug de la date et du temps ! Vous pouvez télécharger la dernière version du code à nouveau. N’oubliez pas aussi de lancer le sketch “SetVarioParameters” pour personnaliser vos paramètres.
@jpg63: Tu verras j’ai corrigé le parser comme tu l’as dis. Effectivement t’avais raison ça ne passe pas en 16bits de toute façon… J’avais mal compté :oops: .
@GtD73 : Si tes fichiers sont en “.TXT” c’est que tu n’a pas du bien écrasé avec la nouvelle version du code. Nettois le répertoire “Arduino” et retélécharge depuis le GitHub. Moi les fichiers sont bien en “.IGC”.
Allez plus qu’à intégrer le code de Jpg63 ! Pour ma surprise on attendra un peu …
prunkdump attends un peu pour intégrer mon code, je fini l’affichage de l’heure comme ça tu aura tout.
j’ai modifié la bibliothèque NmeaParser pour gérer la récupération de la date en seconde, je regarde ton code et je modifierais le mien.
Je pense avoir trouvé un bug dans la librairie digit, je fait des tests pour confirmer
et j’ai modifié la bibliothèque varioscreen et variometre.ino pour afficher en alternance l’heure et la durée du vol.
Une question quel est le meilleur endroit pour initialiser le début du vol quelque soit l’option #define VARIOMETER_RECORD_WHEN_FLIGHT_START
uint32_t tmptime = nmeaParser.getTime();
/* if (((initSaveTimeDuration == false) && (tmptime >0)) &&
(variometerState == VARIOMETER_STATE_FLIGHT_STARTED))*/
if ((initSaveTimeDuration == false) && (tmptime >0))
{
saveTimeDuration = tmptime;
initSaveTimeDuration = true;
}
j’ai un peu de mal à trouver le bon endroit et le bon test pour être sur que l’on début le vol et l’enregiostrement
Salut Jpg63 !
C’est normal que tu ais du mal à trouver l’endroit. Je n’avais pas encore implémenté la condition du début de vol sans GPS 
Si tu regardes la dernière version du code. J’ai créé une fonction tout en bas qui lance tout ce qui doit démarrer au début du vol. De coup ça sera plus simple pour toi d’ajouter ton code.
Pour la bibliothèque Digit, elle ne peut pas afficher des nombres qui ne rentrent pas dans un uint32_t sans la virgule. En gros c’est 9 chiffres maximum. C’est le bug que tu avais trouvé ?
A+ Bosse bien 
non c’est un problème sur l’affichage du 10 sur 2 digits c’est retourne la taille à 1 et du coup ça affiche un ‘0’+10 donc 0+un signe bizare
/*****************/
/ analyse digits /
/*****************/
pos = 0;
/* check before dot digits */
exp = 10;
while( exp <= value ) {
exp *= 10;
pos–;
}
le <= au lieu de <