• L'Assemblée Générale du Prius Touring Club aura lieu le 7 décembre 2024 du côté de Rennes. Si vous êtes adhérent renseignez-vous ici.

elm327 BT / Android

  • Initiateur de la discussion Initiateur de la discussion priusfan
  • Date de début Date de début
wallace et commit

Ca y est j'ai fait un premier commit brut de fonderie avec encore pas mal de bugs, mais ça marche pas si mal.

J'ai mis un menu log to file (qui ne marche pas toujours du premier coup :-D), qui doit devenir stop logging quand c'est en train de logger (je l'ai désactivé par défaut car je me me sert souvent de l'affichage simple).

Vous pouvez commencer maintenant à faire des modifs et committer, il reste pas mal de taff je pense, mais les premiers 80% sont fait :-D.

Edit: Je confirme qq bugs au niveau du logging, mais je corrigerai ça plus tard...
 
je suis vachement frustré: mon épouse monopolise la p3 demain.

ça dépote un max ton truc guinness :jap: :jap: :jap:voir log attachée
 

Pièces jointes

Faut voir le bon côté des choses, j'aurai peut-être corrigé d'autres bugs d'ici là :-D
Mais bon normalement je reprend une vie normale à partir de demain donc je ne devrais pas trop toucher au code.

Je viens de committer la correction pour le menu de logging.

Merci pour la vitesse, j'ai essayé de me faire plaisir en faisant une archi dédiée à ce système de commande réponse 😎. En profilant un peu je devrai voir si la partie décodage arrive à suivre ou pas, mais c'est moins urgent maintenant.
 
Ce qui fait 4 Hz de taux de rafraichissement pour les principaux pid. A mon avis c'est tout à fait exploitable :bravo:
(Peut-être que de vieux elm usb à 9600b pourront reprendre du service.)

J'ai jeté un coup d'oeil dans la capture.
Après insertion de sauts de lignes on a:
Code:
23:15:06:292 Sent: 21013C49	Received (81ms): 7E8102E610100000000
                                                 7E82112664061580000
                                                 7E8220000A4002B7C2B
                                                 7E823FF6828AA0339AD
                                                 7E8243C1F7F07428049
                                                 7E8250000008000A777
                                                 7E8261D0008510A0000

Donc les réponses contiennent le 7E810 à 7E826.
Est-ce l'elm qui a ajouté cela ou votre prog ?

Vivement vos résultats sur P2 aussi, pour voir les temps de réponse. ;-)
 
@planetaire:
message identique à celui du post 196.
c'est le fait de mettre AT H1 dans l'init de l'elm qui insère correctement le Header de chaque trame.
c'est le fait de mettre AT CA F1 (valeur par défaut) qui permet à l'elm de gérer automatiquement le multitrame.
nota: dans le cas du suivi des pids passifs, il est impératif d'utiliser AT CA F0...

je suis vachement dubitatif à propos du résultat d'un elm à 9600bps....

@guinness: que donne le machin bleu sur le même test ??
 
etat batterie P3

addendum:
pas de p3 aujourd'hui, j'ai donc fouillé dans mes archives et j'ai trouvé ceci:

la tension individuelle des 14 éléments de la batterie HV est dispo sur
7E2 21 81
14 couples d'octets consécutifs
à diviser par 1000 (coef à vérifier) pour obtenir des volts.

voila qui va rassurer guinness :-D
 
comparo

Alors voilà deux fichiers; l'un avec l'OBDLink, l'autre avec le dongle bleu (pour ce dernier apparemment la commande ATS0 n'a pas été prise en compte car il y a des espaces 😱) (argh j'arrive pas à uploader des fichiers, je mets un extrait ici)
Code:
09:45:51:045 Sent: AT SH 7E0	Received (97ms): OK

09:45:51:193 Sent: 21013C49	Received (131ms): 7E8102E610100000000
7E82111653761360000
7E822000000002B7B2B
7E823FF9852B6B02E76
7E8243C000000008049
7E82500000080000095
7E8260000071D4A0000

09:45:51:272 Sent: AT SH 7E2	Received (72ms): OK

09:45:51:400 Sent: 2161626768748A	Received (114ms): 7EA1026616136363680
7EA2100623635368000
7EA2267800080010068
7EA2380008000007438
7EA2438383880000000
7EA25008A7FFF000000

09:45:51:481 Sent: AT SH 7E0	Received (59ms): OK

09:45:51:626 Sent: 21013C49	Received (123ms): 7E8102E610100000000
7E82111653761360000
7E822000000002B7B2B
7E823FF9852B6B02E76
7E8243C000000008049
7E82500000080000095
7E8260000071D4A0000

09:45:51:689 Sent: AT SH 7E2	Received (54ms): OK

09:45:51:835 Sent: 2161626768748A	Received (142ms): 7EA1026616136363680
7EA2100623535368000
7EA2267800080000068
7EA2380008000007438
7EA2438383880000000
7EA25008A7FFF000000

09:45:51:980 Sent: 210170718798	Received (128ms): 7EA1034610100653734
7EA2165360000000000
7EA222B2952FF983EB6
7EA23772E8A9F703838
7EA2438807139383980
7EA2587406142BA449E
7EA2642DC987FFF58A3
7EA27007D7D7D000000

09:45:52:107 Sent: AT SH 7E0	Received (111ms): OK

09:45:52:275 Sent: 21013C49	Received (156ms): 7E8102E610100000000
7E82111653761360000
7E822000000002B7B2B
7E823FF9852B6B02E76
7E8243C000000008049
7E82500000080000095
7E8260000071D4A0000

09:45:52:318 Sent: AT SH 7E2	Received (36ms): OK

09:45:52:455 Sent: 2161626768748A	Received (112ms): 7EA1026616136363680
7EA2100623535368000
7EA226780007FFE0068
7EA2380008000007438
7EA2438383880000000
7EA25008A7FFF000000

09:45:52:564 Sent: AT SH 7E0	Received (115ms): OK

09:45:52:685 Sent: 21013C49	Received (109ms): 7E8102E610100000000
7E82111653761360000
7E822000000002B7B2B
7E823FF9852B6B02E76
7E8243C000000008049
7E82500000080000095
7E8260000071D4A0000

09:45:52:728 Sent: AT SH 7E2	Received (35ms): OK

09:45:52:896 Sent: 2161626768748A	Received (152ms): 7EA1026616136363680
7EA2100623535368000
7EA2267800080010068
7EA2380008000007438
7EA2438383880000000
7EA25008A7FFF000000

09:45:52:975 Sent: AT SH 7E0	Received (70ms): OK

09:45:53:104 Sent: 21013C49	Received (120ms): 7E8102E610100000000
7E82111653761360000
7E822000000002B7B2B
7E823FF9852B6B02E76
7E8243C000000008049
7E82500000080000095
7E8260000071D4A0000

09:45:53:231 Sent: AT SH 7E2	Received (124ms): OK

09:45:53:343 Sent: 2161626768748A	Received (105ms): 7EA1026616136363680
7EA2100623535368000
7EA2267800080010068
7EA2380008000007438
7EA2438383880000000
7EA25008A7FFF000000
Le 2e:
Code:
10:02:50:384 Sent: AT SH 7E0	Received (76ms): OK

10:02:50:681 Sent: 21013C49	Received (284ms): 7E8 10 2E 61 01 00 00 00 00 
7E8 21 11 65 38 61 36 00 00 
7E8 22 00 00 00 00 2E 80 2B 
7E8 23 FF 98 52 B6 B2 2E 8A 
7E8 24 3C 00 00 00 00 80 49 
7E8 25 00 00 00 80 00 00 00 
7E8 26 00 00 07 1D 0A 00 00 

10:02:50:757 Sent: AT SH 7E2	Received (68ms): OK

10:02:51:029 Sent: 2161626768748A	Received (253ms): 7EA 10 26 61 61 36 36 36 80 
7EA 21 00 62 35 35 35 80 00 
7EA 22 67 80 00 80 00 00 68 
7EA 23 80 00 7F FE 00 74 38 
7EA 24 38 38 38 80 00 00 00 
7EA 25 00 8A 7F FF 00 00 00 

10:02:51:128 Sent: AT SH 7E0	Received (81ms): OK

10:02:51:451 Sent: 21013C49	Received (308ms): 7E8 10 2E 61 01 00 00 00 00 
7E8 21 11 65 38 61 36 00 00 
7E8 22 00 00 00 00 2E 80 2B 
7E8 23 FF 98 52 B6 B2 2E 76 
7E8 24 3C 00 00 00 00 80 49 
7E8 25 00 00 00 80 00 00 00 
7E8 26 00 00 07 1D 0A 00 00 

10:02:51:533 Sent: AT SH 7E2	Received (78ms): OK

10:02:51:787 Sent: 2161626768748A	Received (242ms): 7EA 10 26 61 61 36 36 36 80 
7EA 21 00 62 35 35 35 80 00 
7EA 22 67 80 00 80 00 00 68 
7EA 23 80 00 7F FE 00 74 38 
7EA 24 38 38 38 80 00 00 00 
7EA 25 00 8A 7F FF 00 00 00 

10:02:51:853 Sent: AT SH 7E0	Received (59ms): OK

10:02:52:177 Sent: 21013C49	Received (310ms): 7E8 10 2E 61 01 00 00 00 00 
7E8 21 11 65 38 61 36 00 00 
7E8 22 00 00 00 00 2E 80 2B 
7E8 23 FF 98 52 B6 B2 2E 8A 
7E8 24 3C 00 00 00 00 80 49 
7E8 25 00 00 00 80 00 00 00 
7E8 26 00 00 07 1D 0A 00 00 

10:02:52:255 Sent: AT SH 7E2	Received (72ms): OK

10:02:52:552 Sent: 2161626768748A	Received (282ms): 7EA 10 26 61 61 36 36 36 80 
7EA 21 00 62 35 35 35 80 00 
7EA 22 67 80 00 80 01 00 68 
7EA 23 80 00 7F FE 00 74 38 
7EA 24 38 38 38 80 00 00 00 
7EA 25 00 8A 7F FF 00 00 00 

10:02:52:882 Sent: 210170718798	Received (313ms): 7EA 10 34 61 01 00 65 38 34 
7EA 21 65 36 00 00 00 00 00 
7EA 22 2E 29 52 FF 98 3E B6 
7EA 23 79 2E 8A 9F 70 38 38 
7EA 24 38 80 71 39 38 39 80 
7EA 25 87 40 82 42 BA 44 80 
7EA 26 42 BA 98 7F FF 58 A3 
7EA 27 00 7D 7D 7D 00 00 00 

10:02:52:952 Sent: AT SH 7E0	Received (57ms): OK

10:02:53:234 Sent: 21013C49	Received (273ms): 7E8 10 2E 61 01 00 00 00 00 
7E8 21 11 65 38 61 36 00 00 
7E8 22 00 00 00 00 2E 80 2B 
7E8 23 FF 98 52 B6 B2 2E 76 
7E8 24 3C 00 00 00 00 80 49 
7E8 25 00 00 00 80 00 00 00 
7E8 26 00 00 07 1D 0A 00 00 

10:02:53:322 Sent: AT SH 7E2	Received (82ms): OK

10:02:53:592 Sent: 2161626768748A	Received (254ms): 7EA 10 26 61 61 36 36 36 80 
7EA 21 00 62 35 35 35 80 00 
7EA 22 67 80 00 80 00 00 68 
7EA 23 80 00 80 03 00 74 38 
7EA 24 38 38 38 80 00 00 00 
7EA 25 00 8A 7F FF 00 00 00 

10:02:53:686 Sent: AT SH 7E0	Received (91ms): OK

10:02:54:008 Sent: 21013C49	Received (307ms): 7E8 10 2E 61 01 00 00 00 00 
7E8 21 11 65 38 61 36 00 00 
7E8 22 00 00 00 00 2E 80 2B 
7E8 23 FF 98 52 B6 B2 2E 76 
7E8 24 3C 00 00 00 00 80 49 
7E8 25 00 00 00 80 00 00 00 
7E8 26 00 00 07 1D 0A 00 00 

10:02:54:070 Sent: AT SH 7E2	Received (50ms): OK

10:02:54:330 Sent: 2161626768748A	Received (238ms): 7EA 10 26 61 61 36 36 36 80 
7EA 21 00 62 35 35 35 80 00 
7EA 22 67 80 00 80 01 00 68 
7EA 23 80 00 7F FC 00 74 38 
7EA 24 38 38 38 80 00 00 00 
7EA 25 00 8A 7F FF 00 00 00

Ca serait intéressant de récupérer les 4 classes du package hsdcanmonitor et de modifier CoreEngine (et un peu CanInterface) pour se connecter sur un port série plutôt qu'en bluetooth pour voir ce que donne l'archi multi-thread sur un PC multi-processeurs.

PS: Cool pour la commande de batterie ! Je rajouterai un menu spécifique pour ça (et au passage je corrigerai les autres réglages bip ceinture, marche arrière, etc.)
 
je déduis des observations précédentes que HTC desire HD est beaucoup + rapide que le Nexus...:-D

je ferai le même test sur archos 101 ce soir....
 
Pas très scientifique comme benchmark :grin:, mais si un jour je m'ennuie je ferai des tests (j'ai accès à la plupart des tel android par mon boulot, d'ailleur j'avais un Desire avant le Nexus S et si je ne faisais pas des devs qui utilisent la camera de devant je serais sans doute resté avec le Desire).
 
multiscreen: peut-être un début de réponse ici

des graphes: peut-être ici

testé ce matin dernière version, je voulais faire du benchmarking entre archos 101 et htc desire HD , pas pu car logging désactivé.
suggestion: faire apparaitre une icon quand logging activé.

remarques:
je suggère de faire apparaitre des kW plutôt que des Amp, de ne pas faire apparaitre les décimales (ou alors de figer leur nombre).

HTC desire HD parfaitement lisible même en plein soleil.

je vais chercher des compteurs (gauge) tout faits...

addendum: par exemple ici

@suivre
 
dernière version?

La version avec les couleurs que j'ai committée cette nuit?

Je vais afficher les kw plutôt que les Amps pour voir. Pour les chiffres qui se baladent dans tous les sens j'ai un peu de mal avec le design graphique (j'ai déjà dit que c'était pas mon fort), pour formatter les nombres c'est facile en C mais en Java je sais pas.

Je regarderai pour les changements de vue, pour l'instant je n'avais vu que HorizontalScrollView.

Sinon j'ai toujours un problème avec le Exit:
  • Soit je ne mets pas de bouton Exit mais dans ce cas c'est le simple fait de ne plus avoir d'écran affiché qui fermera la socket ce qui est un problème si on reçoit un appel en conduisant (dans l'état actuel il suffit de faire "back" après l'appel); A tester: ne pas fermer la socket et voir si l'elm se met quand même en sommeil au bout de 10 minutes (facile à voir avec l'OBDLink, moins facile pour les autres..)
  • Soit je garde le bouton Exit pour que le user choisisse de forcer la fermeture de socket avec l'ELM, mais pour l'instant ça bug apparemment à cause de l'activity de DeviceDiscovery.

Pour le logging je vais rajouter un ToastMessage quand on l'active/désactive, pour l'icone on verra plus tard...
 
ouioui, la version colorisée.
c'est bien de visualiser les seuils de température...
 
Je travaille sur un truc comme indiqué plus haut type Vintage Thermometer.
Je suis en train de modifier pour adapter à la P2 mais ma femme n'étant pas là, les gamins ne me lâchent pas :mur:
 
Pour les adaptations P2, j'ai peur qu'il faille aussi changer les commandes à envoyer (et pas juste l'interprétation des réponses), du coup il faut vraiment que j'avance sur cette partie de la conf: envoyer une première commande pour déterminer à quel HSD on a affaire, puis en fonction de la réponse, charger le bon fichier de commandes et la bonne classe pour décoder.

PS: J'ai bien un bug sur le menu de log to file :evil:, pas eu le temps de regarder, mais maintenant il y a un msg quand ça commence et quand ça finit, c'est à ça qu'il faut se fier pour l'instant 😳

PPS: J'ai fait le test en faisant back plutôt que Exit, l'OBDLink qui garde la diode verte au début finit bien par passer en mode sommeil (que j'ai configuré en fonction de seuils de voltages).
 
Oui je suis tellement pressé d'essayer pour au moins faire un test, que j'ai commencé à adapter mais je pense que l'on gardera ta version.
Dans ce cas, je continue mes tests d'aiguilles.
 
parametrage pour utilisation truc bleu.
comme le machinbleu ne supprime pas les espaces, il est quand même possible de l'utiliser à condition de modifier la mise en array...
dans le test de diférenciation P2/P3, si le 4ème car est un espace, on en déduit que le dispo ne gère pas AT S0.

je propose une adaptation de ce type:
Code:
[B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]
[LEFT]try[/B][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] {
[/SIZE][SIZE=2][COLOR=#3f7f5f][SIZE=2][COLOR=#3f7f5f]// Reset the buffer:[/LEFT]
[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][LEFT]response.rewind();
[/SIZE][SIZE=2][COLOR=#3f7f5f][SIZE=2][COLOR=#3f7f5f]//......[/LEFT]
[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][LEFT][/SIZE][SIZE=2][COLOR=#3f7f5f][SIZE=2][COLOR=#3f7f5f]// each frame should contain exactly 20 char: 3+ 8*2 + "\n" [/LEFT]
[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][LEFT][/SIZE][SIZE=2][COLOR=#3f7f5f][SIZE=2][COLOR=#3f7f5f]// or 28 in case of [U]machinbleu[/U] 3+ 8*3 + "\n" (to be checked)[/LEFT]
[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][LEFT][/SIZE][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]int[/B][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] framelength=20; [/SIZE][SIZE=2][COLOR=#3f7f5f][SIZE=2][COLOR=#3f7f5f]// or 28 if [U]machinbleu[/LEFT]
[/U][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][LEFT][/SIZE][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]int[/B][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] posfirst = 5 ; [/SIZE][SIZE=2][COLOR=#3f7f5f][SIZE=2][COLOR=#3f7f5f]// or 7 if [U]machinbleu[/LEFT]
[/U][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][LEFT][/SIZE][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]int[/B][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] stepper =2 ; [/SIZE][SIZE=2][COLOR=#3f7f5f][SIZE=2][COLOR=#3f7f5f]// or 3 if [U]machinbleu[/LEFT]
[/U][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][LEFT]
[/SIZE][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]int[/B][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] nf=[/SIZE][SIZE=2][COLOR=#0000c0][SIZE=2][COLOR=#0000c0]_rawStringResponse[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2].length()/ framelength; [/SIZE][SIZE=2][COLOR=#3f7f5f][SIZE=2][COLOR=#3f7f5f]// [U]nf[/U] = number of frames[/LEFT]
[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][LEFT][/SIZE][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]for[/B][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] ([/SIZE][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]int[/B][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] fn=0; fn<nf; fn++) { [/SIZE][SIZE=2][COLOR=#3f7f5f][SIZE=2][COLOR=#3f7f5f]// [U]fn[/U]= frame number[/LEFT]
[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][LEFT][/SIZE][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]int[/B][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] start=fn * framelength + posfirst; [/SIZE][SIZE=2][COLOR=#3f7f5f][SIZE=2][COLOR=#3f7f5f]// start with the 6th or 8th char[/LEFT]
[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][LEFT][/SIZE][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]for[/B][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]([/SIZE][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]int[/B][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] bb=0;bb<7;bb++){ [/SIZE][SIZE=2][COLOR=#3f7f5f][SIZE=2][COLOR=#3f7f5f]// [U]bb[/U] [U]est[/U] [U]le[/U] couple à [U]traiter[/LEFT]
[/U][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][LEFT][/SIZE][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]int[/B][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2] pos = start + bb * stepper; [/SIZE][SIZE=2][COLOR=#3f7f5f][SIZE=2][COLOR=#3f7f5f]// [U]pos[/U] [U]est[/U] [U]la[/U] position [U]dans[/U] [U]la[/U] [U]chaine[/U] [U]du[/U] couple à [U]traiter[/LEFT]
[/U][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2][LEFT]response.put(([/SIZE][B][SIZE=2][COLOR=#7f0055][SIZE=2][COLOR=#7f0055]byte[/B][/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2]) ((Character.[I]digit[/I]([/SIZE][SIZE=2][COLOR=#0000c0][SIZE=2][COLOR=#0000c0]_rawStringResponse[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2].charAt(pos), 16) << 4)
+ Character.[I]digit[/I]([/SIZE][SIZE=2][COLOR=#0000c0][SIZE=2][COLOR=#0000c0]_rawStringResponse[/COLOR][/SIZE][/COLOR][/SIZE][SIZE=2].charAt(pos+1), 16)));
}[/LEFT]
}
[/SIZE]

@guinness: si tu trouves que je fais de l'obfuscation avec mes noms de variables, n'hésite surtout pas à les adapter à ton standard...
 
gauge widget

@parkerbol
j'ai récupéré le source d'une "gauge" trés documenté et l'ai mis ici
 
Ok je bosse dessus. C'est un peu l'équivalent de "thermometer", ce qui me fera gagner du temps puisque je joue avec depuis quelques jours.
Je vais voir si comme Less l'indiquait en page 4, on peut en mettre tant que ça sur le même graphique.
Personnellement, je n'aime pas ce que propose Torque mais bon si ça vous convient, c'est pas vraiment un soucis !

ps : le senseur du web m'interdit googlecode en https désormais ! de mal en pis ici ... d'ici peu, ce sera les webmails et ce site, sans parler des blogs de développeurs sur android, java ou .net ! Ridicule :sad:
 
Perso je ne suis pas non plus un fan des widgets qu'on déplace dans Torque car on ne peut pas mettre assez d'info à mon goût.

Sinon j'ai pas eu le temps de toucher au code dernièrement, par contre j'ai du faire pas mal de voiture pour le boulot et j'ai pu tester l'appli en conditions réelles.

Premier bilan batterie: avec torque, je consommais 40% de la batterie pour torque (+ 40% pour l'affichage - probablement pendant torque aussi).
Avec BT HSD Monitor, je descends en dessous de 15% de la batterie et toujours 40% d'affichage (pourtant avec des trajets plus longs = 3h de voiture par jour): Les économies sur le Garbage Collector portent donc leur fruit.

Le seul changement que j'ai eu le temps de faire hier soir tard est de renommer le HsdGraphicActivity en HsdLiveMonitoringActivity et d'en faire l'activity au démarrage (j'ai encore un ou deux bugs non bloquant à ce propos mais je vais regarder ça ce soir puis je commiterai).
J'ai pas encore avancé sur les autres points qu'on a évoqués.
 
présentation graphique.

je partage vos avis; je préfère également une présentation à la lesspo ou pcmxxx.

il n'empêche que la gestion de chaque aiguille ou indicateur passe par un "mécanisme" de base qu'il est nécessaire de maitriser.

perso, je trouve que l'exemple où l'on voit 2 compteurs et 2 boutons est une bonne base de départ d'un point de vue technique.
(les conseilleurs ne sont pas les payeurs) :grin:
 
Et que pensez vous pour faire plus simple, du texte, avec des couleurs liées à des seuils, et éventuellement des sons au passage de ces seuils.
Mais vous faites comme voulez.
 
un retour aux origines en quelque sorte...
1470b2e87ea919.png


dans le genre, il y a eu beaucoup mieux au niveau intégration, cf le canview de Norman (circa 2005) qui marche toujours parfaitement dans la watture de pontvert
101e2a1fb7a2c96f7fbe34f13e5c7ef2.jpg


je vous suggère d'aller en pèlerinage dans ma banque d'image sur ce forum, vous en verrez de toutes les couleurs à ce sujet.

amha, la visualisation de chiffres + ou - coloré n'est pas parlante et demande trop de concentration, ou alors on en reste au scangauge (pas de bol, il ne sait pas traiter le multiframe :grin:)
 
tiens donc

Et que pensez vous pour faire plus simple, du texte, avec des couleurs liées à des seuils, et éventuellement des sons au passage de ces seuils.
Mais vous faites comme voulez.

Ah ben le texte et les couleurs ça je sais faire 😎 et c'est correct à l'usage (enfin depuis qq jours, faut voir à la longue), mais c'est vrai que remplacer une ou deux valeurs texte par des aiguilles permettrait sans doute un coup d'oeil plus rapide.
Avec tout ça je ne regrette pas de m'être embêté pour acheter le modèle avec ACC/PCS :grin:

PS: J'ai committé mes dernières modifs dont je parle au post précédent.

PPS: J'ai pas encore regardé l'exemple de code graphique, il me reste d'autres chats à fouetter en priorité...
 
Voici mon petit avis après quelques milliers (dizaines de milliers) de km d'utilisation d'un pc sur le tdb de ma Prius.

Un des défauts de priuscanmonitor de base était que tout était affiché selon la même symbolique graphique: une barre horizontale.
De plus essayez de trouver rapidement la réponse sur la 4ème barre en partant du haut sans vous tromper et prendre la 5ème.
Par contre sur la première facile.

Je pense qu'il faut séparer les infos dans des secteurs différents de l'écran et ne pas les déplacer, à la rigueur on peut les mettre où on veut et ensuite ça ne change plus.
On n'a pas besoin ainsi de chercher où se trouve l'info dont on a besoin.

Il y a au moins deux groupes d'infos: celles utiles pour gérer l'accélérateur (et le frein) que l'on consulte souvent et celles informatives "par simple curiosité".

J'utilise les chiffres quand la précision est nécessaire. Exemple vitesse, position de l'accélérateur et ampères (ou watts c'est pareil).
A l'inverse les tr/mn ne sont pas du tout précis.
Donc au moins deux types de besoins.

Ce qui est très "parlant" est une zone qui clignote. J'ai fait l'essai pour les températures. Mais une zone, pas un panneau publicitaire.

Le reste c'est pour avoir un truc joli sous les yeux, et c'est pas négligeable.

Je me demande si un arc d'anneau ne serait pas une meilleure représentation que la traditionnelle aiguille. La surface de cette zone doit être bien perçue.

Pour info dans Pcm plusieurs affichages sont "logarithmiques" c'est à dire que l'échelle est zoomée pour les petites valeurs puis compressée pour celles élevées. Egalement plusieurs nombres sont affichés avec décimales aux petites valeurs puis plus aux fortes.

A+ ;-)
 
+1.
D'accord pour l'arc de cercle qui se rempli. Par exemple pour les tours minute du ICE (c'est ce qui est utilisé en F1 depuis belle lurette, purement informatif, c'est l'allumage des diodes jaunes et rouges qui véhicule l'information importante sur l'approche de la zone de changement de rapport - qui ne nous concerne pas ici). Trop d'aiguilles fini par devenir peu lisible aussi.
 
Pages vues depuis le 20 Oct 2005: 316,286,001
Retour
Haut Bas