Go Down

Topic: [Projet] Un tableau de bord numérisé (Read 24 times) previous topic - next topic

Super_Cinci

En vrac :

PROGMEM : oui pour la place, non pour la rapidité. il faut savoir que mes tableaux sont appelés 9 à 14 fois pour l'affichage d'un seul caractère perso, et une dizaine de fois dans chaque dessin d'aiguille. J'ai peur que leurs lectures en flash ralentisse vraiment mon code. J'optimise au max ma ram, en comptant les gros tableaux à la louche et voir où j'en suis. Comme il n'y a pas d'interruptions (et pas besoin, le code doit juste attendre des données série et les afficher au fur et à mesure), je pense que peut-être un static suffira à la place de volatile? mes tableaux sont déclarés dans les variables globales, donc accessibles à toutes mes fonctions.

Rapidité d'affichage? Dans le setup(), je commence par récupérer la config en EEPROM, puis initialise le LCD, allumer le back-light (PWM hard), et ensuite initialise et dessine l'interface (calcul des positions en fonction du seul point de repère de chaque contrôle, plus facile pour la mise en page), avec toutes les aiguilles à 0 (cercle, lignes, textes graphiques...). Au reset, lorsque ça démarre, au bout d'une seconde, je vois le back-light s'allumer d'un coup, et ça fait comme si mon interface graphique était déjà dessinée, absolument aucun temps mort visible ni scintillement (dois-je en déduire que ça prend moins de 40ms (1/24 sec.)? Le mouvement des aiguilles est super propre, comparé à des programmes que je faisais sous TP7 en 1995...

Pour résumer, il faut que l'affichage réponde tout de suite à l'arrivée d'une nouvelle donnée, le MEGA "maître" enverra des données environ toutes les 200 à 250ms.

Côté 168, bien sûr, je teste mes variables (un if sur un byte ne coûte rien) pour savoir si ça vaut le coup de changer quelque chose (genre si l'aiguille ne doit pas bouger, alors je la laisse tranquille et gagne un peu de temps au passage, pareil si la valeur n'a pas changé, on ne touche à rien). Exemple des aiguilles de 40px : un déplacement de l'aiguille d'un cran représente 4 dans l'octet de valeur, donc il se peut que la valeur numérique affichée bouge, mais pas l'aiguille. Ca prend deux if mais on gagne 6 lignes dessinées sur le LCD.

Il faudra aussi que je prévois ça dans le MEGA : ne pas envoyer une donnée si elle n'a pas changé.

Mais ce n'est pas parce que chaque morceau marche dans son coin que tout marchera une fois dans la boîte...

En tout cas, merci pour vos infos!

Artouste


...Tu t'en rendras certainement compte tout seul mais comme les vacances sont terminées, je suis vénère d'être rentré alors j'ai envie de faire ch... tout le monde pour des trucs totalement puérils  ]:D (comme sur l'autoroute où je roule a 120 sur la voie de gauche quand y'a des grosses BMW derrière moi :smiley-mr-green:)

:smiley-mr-green:
ça c'est de la grosse "enervittude"  8)

barbudor


ça c'est de la grosse "enervittude"  8)

Pourquoi, t'as une grosse BM ?
T'as qu'as avoir une R11-kitté comme Souper Cinque et je te laisse passer  :smiley-yell:
Barbuduino: Arduino sur Breadboard & VinciDuino: Clone Leonardo // WR703: Mini-routeur hacké // LauchPad MSP430 et Stellaris // Panda II Arduino-like .NetMF sous VisualC#
RTFC: Read That F.....g Code / RTFD: Read That F.....g Doc / RTFDS: Read That F.....g DataSheet / RTFS: Read That F.....g Schematic / Wot da ya wanna D.I.Y. today ?

barbudor

Aie

Il faudrait donc pouvoir mettre çà devant le tableau de bord original sans le modifier de manière à pouvoir l'enlever en cas de contrôle.
Y a t'il une loi qui interdit de cacher son tableau de bord ?
Barbuduino: Arduino sur Breadboard & VinciDuino: Clone Leonardo // WR703: Mini-routeur hacké // LauchPad MSP430 et Stellaris // Panda II Arduino-like .NetMF sous VisualC#
RTFC: Read That F.....g Code / RTFD: Read That F.....g Doc / RTFDS: Read That F.....g DataSheet / RTFS: Read That F.....g Schematic / Wot da ya wanna D.I.Y. today ?

CocoVFR

Explicitement, non, mais il est stipuler que le compteur de vitesse et kilométrique sont les deux seul indicateurs obligatoire sur le tableau de bord.
Tu as le droit de tout virer, sauf ces deux truc la.
J'ai pris une prune alors que toute la planche de bord était démonter: la voiture sortait de peinture, et j'avais pas encore remonter une partie du tableau de bord.
Résultat, immobilisation du véhicule: rétention de la carte grise, délivrance d'un certification de circulation provisoire et 48h pour présenter la voiture en état....

Go Up