You are not logged in.

> The forum rules have been updated. Please take a moment to read them.


#1 2010-12-23 13:04:52

martinlbb
Member
From: Lyon
Registered: 2010-04-15
Posts: 57
Website

Tête motorisée Clauss et PapyWizard

Bonjour à tous,

Vous connaissez peut-être les têtes motorisées de la marque Clauss ( http://www.dr-clauss.de/ ). Nous avons utilisées une version modifiée de la tête VR pour la photo de Paris 26 gigapixels.

Cette tête est très pratique car elle supporte simultanément deux appareils photos assez lourd (2X 5D Mark II avec un 400 mm par exemple). Cependant, elle souffre d'un manque de compatibilité logiciel. Le logiciel livré reste assez basique et n'est compatible qu'avec Windows (pas de support Linux, Mac ou Android!).

Mon but est de porter cette tête sur PapyWizard, en décodant le protocole de communication. Après, je pourrai créer un nouveau plugin pour Papywizard, qui permettra de gérer directement la tête.

Pour plus d'info sur le projet, j'ai créé une page sur le Wiki Autopano : http://www.autopano.net/wiki-fr/action/ … que_Clauss.

Si vous possédez une tête Clauss ou que vous êtes intéressés par le projet, n'hésitez pas à me contacter !

Last edited by martinlbb (2010-12-23 13:08:57)


Révéler les beautés cachées ou hors de portée : http://www.martinloyer.fr

Offline

 

#2 2010-12-23 13:45:22

fma38
Moderator
From: Grenoble, France
Registered: 2005-12-07
Posts: 6174
Website

Re: Tête motorisée Clauss et PapyWizard

Cool ! Ça c'est une bonne idée.

Question (pour t'aider à développer le plugin) : lorsque tu envoies une commande de positionnement, la tête répond immédiatement (acquittement) ? Et c'est à toi de demander si elle a finie (polling) ? Ou ne répond-elle qu'une fois le déplacement terminé ?

Dans le permier cas, pas de souci, c'est du classique. Dans le second cas, il faudra utiliser un thread, et simuler la commande de statut. Si tu veux plus d'infos, n'hésites pas.

Par contre, ce qui est bien, c'est que les 2 axes sont indépendants (ce qui laisse penser que c'est la première solution qui s'applique, sinon je ne vois pas comment on pourrait lancer un déplacement dans les 2 directions en même temps).


Frédéric

Canon 20D + 17-40/f4 L USM + 70-200/f4 L USM + 50/f1.4 USM
Merlin/Orion panohead + Papywizard on Nokia N800 and HP TC-1100

Offline

 

#3 2010-12-23 14:07:39

martinlbb
Member
From: Lyon
Registered: 2010-04-15
Posts: 57
Website

Re: Tête motorisée Clauss et PapyWizard

fma38 wrote:

Cool ! Ça c'est une bonne idée.

Merci smile

fma38 wrote:

Question (pour t'aider à développer le plugin) : lorsque tu envoies une commande de positionnement, la tête répond immédiatement (acquittement) ? Et c'est à toi de demander si elle a finie (polling) ? Ou ne répond-elle qu'une fois le déplacement terminé ?

La tête acquitte l'ordre. En revanche, pour savoir si la tête a acquis sa position, il faut la poller.

Effectivement, les deux axes sont indépendants. Et oui, tu peux lancer un déplacement dans les deux directions en parallèle (très sympa à voir en visuel !). Après, tu interroges la tête pour savoir si elle est arrivée à la position demandée.

Donc, certainement un thread pour vérifier en continu le positionnement de la tête.


Révéler les beautés cachées ou hors de portée : http://www.martinloyer.fr

Offline

 

#4 2010-12-23 14:09:20

martinlbb
Member
From: Lyon
Registered: 2010-04-15
Posts: 57
Website

Re: Tête motorisée Clauss et PapyWizard

fma38 wrote:

Dans le second cas, il faudra utiliser un thread, et simuler la commande de statut. Si tu veux plus d'infos, n'hésites pas.

Oui, d'ailleurs, je veux bien plus d'info. Si je ne me trompe pas, c'est toi qui a "joué" avec la tête Merlin et l'a portée sur Papywizard. Beau travail ! smile

En fait, je comptais reprendre le code source de ton plugin...

Last edited by martinlbb (2010-12-23 14:09:54)


Révéler les beautés cachées ou hors de portée : http://www.martinloyer.fr

Offline

 

#5 2010-12-23 14:32:09

fma38
Moderator
From: Grenoble, France
Registered: 2005-12-07
Posts: 6174
Website

Re: Tête motorisée Clauss et PapyWizard

C'est donc impec comme façon de fonctionnement (ça correspond à la Merlin). Donc pas besoin de thread dans le plugin ; c'est déjà fait dans le coeur de Papywizard. Le mieux est sans doute de partir du plugin GigaPanBot, qui est comme la Merlin, sans les problèmes d'asservissement externe (résolus avec dernier firmware), qui nécessitaient un thread.

http://www.papywizard.org/browser/trunk … Plugins.py
http://www.papywizard.org/browser/trunk … ardware.py


Frédéric

Canon 20D + 17-40/f4 L USM + 70-200/f4 L USM + 50/f1.4 USM
Merlin/Orion panohead + Papywizard on Nokia N800 and HP TC-1100

Offline

 

#6 2010-12-23 14:45:35

martinlbb
Member
From: Lyon
Registered: 2010-04-15
Posts: 57
Website

Re: Tête motorisée Clauss et PapyWizard

Nickel !

Je vois cela à mon retour de Noël


Révéler les beautés cachées ou hors de portée : http://www.martinloyer.fr

Offline

 

#7 2010-12-28 12:06:03

martinlbb
Member
From: Lyon
Registered: 2010-04-15
Posts: 57
Website

Re: Tête motorisée Clauss et PapyWizard

Bon, j'ai regardé le code. Ca faisait un bail que j'avais pas fait de Python ! smile

En gros, le plugin assure le 'haut niveau' par rapport à hardware qui s'occupe de l'IO (envoi et réception des commandes).

En revanche, je me pose encore deux questions :

Y'a t'il une gestion de l'Autofocus ? Je n'ai vu que le déclenchement du shutter. Pareil, est-ce que PapyWizard peut gérer le déclenchement différencié de deux appareils photos ?

Quelle est la fréquence du poll de la tête ? (command read par exemple).

Voila smile


Révéler les beautés cachées ou hors de portée : http://www.martinloyer.fr

Offline

 

#8 2010-12-28 12:35:46

fma38
Moderator
From: Grenoble, France
Registered: 2005-12-07
Posts: 6174
Website

Re: Tête motorisée Clauss et PapyWizard

martinlbb wrote:

Bon, j'ai regardé le code. Ca faisait un bail que j'avais pas fait de Python ! smile

Bah, ça revient vite wink

En gros, le plugin assure le 'haut niveau' par rapport à hardware qui s'occupe de l'IO (envoi et réception des commandes).

Oui, c'est ça. L'idée est de pouvoir utiliser les routines bas niveau en dehors de Papywizard. Mais il reste encore pas mal de dépendances lourdes (logger,...).

Y'a t'il une gestion de l'Autofocus ? Je n'ai vu que le déclenchement du shutter. Pareil, est-ce que PapyWizard peut gérer le déclenchement différencié de deux appareils photos ?

Non, pas de gestion de l'AF. C'est possible de l'intégrer au plugin 'shutter'. Mais bon, ça n'a d'intérêt que si tu as un retour d'état, pour éventuellement prendre une décision en cas de souci. Mais je ne sais pas si beaucoup d'appareil donne ce genre d'info...

Pour le déclenchement de 2 appareils, idem, ça pourrait être intégré au plugin 'shutter'. Là, ça me semble plus simple. Par contre, il n'y a bien sûr qu'un seul jeu de paramètres au niveau de Papywizard (focale, temps d'exposition...).

Quelle est la fréquence du poll de la tête ? (command read par exemple).

C'est donné par la constante SPY_REFRESH_DELAY, dans le module config.py. Elle est fixée à 200ms, soient 5 lectures par seconde. Suivant le type de transmission, on pourrait faire plus. Mais avec du RS232 à 9600bauds, c'est déjà pas mal. Sans compter qu'il y a aussi le poll pour détecter la fin d'un positionnement qui peut s'intercaler. Ça fait beaucoup pour les petits µ-contrôleurs de la Merlin !


Frédéric

Canon 20D + 17-40/f4 L USM + 70-200/f4 L USM + 50/f1.4 USM
Merlin/Orion panohead + Papywizard on Nokia N800 and HP TC-1100

Offline

 

#9 2010-12-28 12:41:23

martinlbb
Member
From: Lyon
Registered: 2010-04-15
Posts: 57
Website

Re: Tête motorisée Clauss et PapyWizard

Y'a t'il une gestion de l'Autofocus ? Je n'ai vu que le déclenchement du shutter. Pareil, est-ce que PapyWizard peut gérer le déclenchement différencié de deux appareils photos ?

Non, pas de gestion de l'AF. C'est possible de l'intégrer au plugin 'shutter'. Mais bon, ça n'a d'intérêt que si tu as un retour d'état, pour éventuellement prendre une décision en cas de souci. Mais je ne sais pas si beaucoup d'appareil donne ce genre d'info...

Non, il n'y a pas de retour d'état. C'est juste une commande d'AF, sans garantie de succès.

Pour le déclenchement de 2 appareils, idem, ça pourrait être intégré au plugin 'shutter'. Là, ça me semble plus simple. Par contre, il n'y a bien sûr qu'un seul jeu de paramètres au niveau de Papywizard (focale, temps d'exposition...).

Ca ne me dérange pas. Les deux appareils sont censés avoir les mêmes réglages d'exposition. Donc pas de soucis.


Quelle est la fréquence du poll de la tête ? (command read par exemple).

C'est donné par la constante SPY_REFRESH_DELAY, dans le module config.py. Elle est fixée à 200ms, soient 5 lectures par seconde. Suivant le type de transmission, on pourrait faire plus. Mais avec du RS232 à 9600bauds, c'est déjà pas mal. Sans compter qu'il y a aussi le poll pour détecter la fin d'un positionnement qui peut s'intercaler. Ça fait beaucoup pour les petits µ-contrôleurs de la Merlin !

C'est largement suffisant ! Peut-être même trop rapide pour la Clauss. Je vais écrire le plugin et tester le comportement de la tête.


Révéler les beautés cachées ou hors de portée : http://www.martinloyer.fr

Offline

 

#10 2010-12-29 19:18:45

martinlbb
Member
From: Lyon
Registered: 2010-04-15
Posts: 57
Website

Re: Tête motorisée Clauss et PapyWizard

J'ai ajouté la partie initialisation de la tête. Y'a pas mal de commandes !


Révéler les beautés cachées ou hors de portée : http://www.martinloyer.fr

Offline

 

#11 2010-12-29 20:56:08

fma38
Moderator
From: Grenoble, France
Registered: 2005-12-07
Posts: 6174
Website

Re: Tête motorisée Clauss et PapyWizard

Yep ! J'ai mis une petite note concernant la commande L10...


Frédéric

Canon 20D + 17-40/f4 L USM + 70-200/f4 L USM + 50/f1.4 USM
Merlin/Orion panohead + Papywizard on Nokia N800 and HP TC-1100

Offline

 

#12 2010-12-29 21:51:04

martinlbb
Member
From: Lyon
Registered: 2010-04-15
Posts: 57
Website

Re: Tête motorisée Clauss et PapyWizard

fma38 wrote:

Yep ! J'ai mis une petite note concernant la commande L10...

C'était ma première idée, mais ce n'est pas ca.

Je pensais au début que chaque chiffre était l'état haut du signal correspondant, mais ce n'est pas le cas. L10 ne commute rien sur les deux signaux (testé sur multimètre).
Après, j'ai vu que j'avais des L20, L30, L40 jusqu'à L90, ce qui a validé mon idée.

Last edited by martinlbb (2010-12-29 21:53:33)


Révéler les beautés cachées ou hors de portée : http://www.martinloyer.fr

Offline

 

#13 2010-12-29 23:16:50

fma38
Moderator
From: Grenoble, France
Registered: 2005-12-07
Posts: 6174
Website

Re: Tête motorisée Clauss et PapyWizard

Au temps pour moi. Bizarre, quand même...


Frédéric

Canon 20D + 17-40/f4 L USM + 70-200/f4 L USM + 50/f1.4 USM
Merlin/Orion panohead + Papywizard on Nokia N800 and HP TC-1100

Offline

 

#14 2010-12-30 10:01:17

martinlbb
Member
From: Lyon
Registered: 2010-04-15
Posts: 57
Website

Re: Tête motorisée Clauss et PapyWizard

fma38 wrote:

Au temps pour moi. Bizarre, quand même...

Ah ca ! J'ai pas tout compris de la logique sur ce coup là !

Ah sinon, sais-tu s'il existe déjà un système d'option intégrable dans l'onglet hardware pour gérer la tête ?

Je veux donner à l'utilisateur des infos sur sa tête (modèle, version logiciel, vitesse max moteur, nombre de pas, etc...) et lui permettre de choisir quelques options (anti twist pour le câble, choix d'un ou deux APN, etc...).


Révéler les beautés cachées ou hors de portée : http://www.martinloyer.fr

Offline

 

#15 2010-12-30 10:26:34

fma38
Moderator
From: Grenoble, France
Registered: 2005-12-07
Posts: 6174
Website

Re: Tête motorisée Clauss et PapyWizard

martinlbb wrote:

Ah sinon, sais-tu s'il existe déjà un système d'option intégrable dans l'onglet hardware pour gérer la tête ?

Tu veux dire dans Papywizard ? Non, le menu hardware n'est pas customisable. Par contre, les options au niveau de chaque plugin, oui.

Je veux donner à l'utilisateur des infos sur sa tête (modèle, version logiciel, vitesse max moteur, nombre de pas, etc...) et lui permettre de choisir quelques options (anti twist pour le câble, choix d'un ou deux APN, etc...).

Le problème c'est que les valeurs du hardware ne peuvent être retrouvées qu'une fois connecté. C'est pour ça que c'est un peu merdique à intégrer au niveau général. Ce que je fais, c'est que, lors de la connexion, je logue toutes les infos utiles qu'on peut demander au firmware de la tête. L'utilisateur peut ensuite très facilement les retrouver avec le menu 'Aide -> Voir log', juste après s'être connecté (comme c'est un buffer tournant, ça disparaît vite si on log le niveau debug ou trace).

Pour choisir les options, c'est ce dont je parlais, ça se définit dans les options des plugins. L'interface se décrit juste avec quelques appels de méthodes, dans les classes xxxController, dans la méthode _defineGui(). Les paramètres correspondants doivent être définis dans la classe du plugin, dans la méthode _defineConfig().

Je pars en Alsace jusqu'à la fin de la semaine, mais dès mon retour, je vais écrire un plugin vide, avec plein d'explications en ligne dans le code, histoire que ceux qui veulent développer un plugin aient tout en main. Vous êtes plusieurs, en ce moment, à développer des trucs pour de nouvelles têtes. C'est cool smile


Frédéric

Canon 20D + 17-40/f4 L USM + 70-200/f4 L USM + 50/f1.4 USM
Merlin/Orion panohead + Papywizard on Nokia N800 and HP TC-1100

Offline

 

#16 2010-12-30 11:21:42

martinlbb
Member
From: Lyon
Registered: 2010-04-15
Posts: 57
Website

Re: Tête motorisée Clauss et PapyWizard

Bien compris, pour l'histoire de l'oeuf et la poule. Néanmoins, il est possible de commencer l'init avec des valeurs par défaut, une fois l'équipement connecté, les valeurs sont mises à jours.

Ok pour les options, je vais voir ce que je peux faire.

Bonne idée pour le plugin vide, ca permettra d'avoir une coquille pour développer. Le succès vient smile

Oh, encore un Alsacien ! wink


Révéler les beautés cachées ou hors de portée : http://www.martinloyer.fr

Offline

 

#17 2010-12-30 16:14:51

martinlbb
Member
From: Lyon
Registered: 2010-04-15
Posts: 57
Website

Re: Tête motorisée Clauss et PapyWizard

Protocole décodé à 98% !

Il ne reste que 6 commandes inconnues, mais cela n'a pas d'influence sur le portage de la tête sur PapyWizard.

Néanmoins, si quelqu'un trouve à quoi ces commandes servent, je suis intéressé !


Révéler les beautés cachées ou hors de portée : http://www.martinloyer.fr

Offline

 

#18 2010-12-30 18:25:18

martinlbb
Member
From: Lyon
Registered: 2010-04-15
Posts: 57
Website

Re: Tête motorisée Clauss et PapyWizard

J'ai passé une heure à trouver comment le plugin pouvait être pris en compte lors du lancement de papywizard (hors fichier config de l'user).

J'ai trouvé, faut juste l'ajouter dans script/main.py


Révéler les beautés cachées ou hors de portée : http://www.martinloyer.fr

Offline

 

#19 2010-12-30 22:56:18

martinlbb
Member
From: Lyon
Registered: 2010-04-15
Posts: 57
Website

Re: Tête motorisée Clauss et PapyWizard

Ca avance ! smile

Code:

2010-12-30 22:55:20,996::Main::DEBUG::PluginsConnector.start(): 'yawAxis' establish connection
2010-12-30 22:55:21,017::Main::DEBUG::PluginsConnector.start(): 'yawAxis' init
2010-12-30 22:55:23,045::Main::DEBUG::ClaussHardware.init(): Transceiver reference number=30.500-0100
2010-12-30 22:55:24,058::Main::DEBUG::ClaussHardware.init(): Transceiver brand=CLAUSS
2010-12-30 22:55:25,069::Main::DEBUG::ClaussHardware.init(): Transceiver firmware version=02.00
2010-12-30 22:55:27,261::Main::DEBUG::ClaussHardware.init(): axis=1, motor reference number=30.500-1000
2010-12-30 22:55:28,282::Main::DEBUG::ClaussHardware.init(): axis=1, motor brand=CLAUSS
2010-12-30 22:55:29,301::Main::DEBUG::ClaussHardware.init(): axis=1, motor firmware version=01.05
2010-12-30 22:55:30,321::Main::DEBUG::ClaussHardware.init(): axis=1, motor numbers of steps=24000
2010-12-30 22:55:31,341::Main::DEBUG::ClaussHardware.init(): axis=1, motor max speed=03000
2010-12-30 22:55:31,343::Main::DEBUG::PluginsConnector.start(): 'pitchAxis' establish connection
2010-12-30 22:55:31,343::Main::DEBUG::PluginsConnector.start(): 'pitchAxis' init
2010-12-30 22:55:33,382::Main::DEBUG::ClaussHardware.init(): axis=2, motor reference number=30.500-1000
2010-12-30 22:55:34,405::Main::DEBUG::ClaussHardware.init(): axis=2, motor brand=CLAUSS
2010-12-30 22:55:35,425::Main::DEBUG::ClaussHardware.init(): axis=2, motor firmware version=01.05
2010-12-30 22:55:36,765::Main::DEBUG::ClaussHardware.init(): axis=2, motor numbers of steps=60000
2010-12-30 22:55:37,785::Main::DEBUG::ClaussHardware.init(): axis=2, motor max speed=03000

Révéler les beautés cachées ou hors de portée : http://www.martinloyer.fr

Offline

 

#20 2010-12-31 14:46:17

martinlbb
Member
From: Lyon
Registered: 2010-04-15
Posts: 57
Website

Re: Tête motorisée Clauss et PapyWizard

Alors, quelques retours.

La définition en tant que constante de la vitesse du port série dans config.py me semble inutile. Si une personne jongle entre plusieurs têtes panoramiques, elle doit modifier la vitesse à chaque fois.
Sachant que la vitesse est liée au type de matériel (par exemple : 9600 pour Merlin, 19200 pour Clauss), il serait plus pratique de la définir dans la classe hardware. Ainsi, la vitesse est fixée automatiquement par chaque plugin.

Par ailleurs, le comportement de la tête Clauss est différent des têtes Merlin. La tête Clauss répond à une commande avec plusieurs informations ayant chacune un CR. Ainsi, je peux avoir 1,2 ou 3 CR dans une réponse à une seule commande. J'ai du modifier la fonction read (avec une variable définie par défaut pour ne pas perturber les autres plugins), pour lire jusqu'au timeout sur le port série. Quand le timeout arrive, au lieu de renvoyer une exception, la fonction renvoie -1.


Révéler les beautés cachées ou hors de portée : http://www.martinloyer.fr

Offline

 

#21 2010-12-31 16:47:33

claudevh
Moderator
From: Mont-Saint-André (Belgium)
Registered: 2007-11-25
Posts: 1389
Website

Re: Tête motorisée Clauss et PapyWizard

Martin,

Superbe travail que tu fais là ... enfin quelqu'un qui peut se "tremper" dans Papywizard et Python ...
Je suis certain que cela fait plaisir à Fréderic !


cool Claude cool
Merlin + Papywizard on Windows 7 & Nokia 770 § N810 & Acer (Netbook) + PanoramaApp Androïd + Deltawave PapyMerlin BT + Autopano
Spherical Pano (180 x 360) with Canon 40D + Canon EF-S 10-22mm f/3.5-4.5 Zoom & Pôle Pano with Canon 5D MK2 and shaved Tokina 10-17 3.5-4.5 AF DX Fisheye
Gigapixel photography with Nikon D200 + Sigma 70-200 F 2.8 EX DG APO HSM

Offline

 

#22 2010-12-31 16:51:06

martinlbb
Member
From: Lyon
Registered: 2010-04-15
Posts: 57
Website

Re: Tête motorisée Clauss et PapyWizard

Merci Claude !

Et puis ca me fait plaisir de porter une tête aussi puissante coté hardware sur un logiciel aussi pratique et ouvert que Papywizard smile


Révéler les beautés cachées ou hors de portée : http://www.martinloyer.fr

Offline

 

#23 2010-12-31 19:44:42

martinlbb
Member
From: Lyon
Registered: 2010-04-15
Posts: 57
Website

Re: Tête motorisée Clauss et PapyWizard

Bon, j'avance bien.

J'ai compris que les fonctions stratJog et stop sont liées à un déplacement manuel (appuie sur les flèches).
Et que la fonction drive est liée à un déplacement automatique (suivre un preset par exemple).

En revanche, je comprends rien à l'idée d'offset (variable _offset). C'est quoi donc ?

Bon, bah bonne année ! (les amis arrivent !)


Révéler les beautés cachées ou hors de portée : http://www.martinloyer.fr

Offline

 

#24 2011-01-02 18:01:50

fma38
Moderator
From: Grenoble, France
Registered: 2005-12-07
Posts: 6174
Website

Re: Tête motorisée Clauss et PapyWizard

De retour d'Alsace... (mais je ne suis pas alsacien wink )

Quelle méthode read() as-tu modifée ? Je ne comprend pas ce qui peut perturber les autres plugins si tu changes des choses dans le plugin.

L'offset est utilisé lorsque tu utilises le menu pour modifier la référence (la position où tu lis yaw=0, pitch=0). La Claus peut peut-être être mise à zéro, mais pas la Merlin (ni d'autres têtes). Donc je gère ça au niveau au dessus du plugin.

Au fait, la commande stop() sert aussi à arrêter un positionnement automatique.


Frédéric

Canon 20D + 17-40/f4 L USM + 70-200/f4 L USM + 50/f1.4 USM
Merlin/Orion panohead + Papywizard on Nokia N800 and HP TC-1100

Offline

 

#25 2011-01-02 18:19:47

martinlbb
Member
From: Lyon
Registered: 2010-04-15
Posts: 57
Website

Re: Tête motorisée Clauss et PapyWizard

fma38 wrote:

De retour d'Alsace... (mais je ne suis pas alsacien wink )

Arf ! wink

fma38 wrote:

Quelle méthode read() as-tu modifée ? Je ne comprend pas ce qui peut perturber les autres plugins si tu changes des choses dans le plugin.

Dans le fichier papywizard/driver/serialDriver.py, la méthode read (la dernière en bas du fichier).
Comme je dois lire tout ce qui est écrit sur la ligne série jusqu'au timout, cela me générait des erreurs.
La manière de penser n'est pas la même pour Clauss. Une réponse peut avoir de 1 à 3 CR. Je dois donc tout lire pour ne pas perdre d'arguments.

fma38 wrote:

L'offset est utilisé lorsque tu utilises le menu pour modifier la référence (la position où tu lis yaw=0, pitch=0). La Claus peut peut-être être mise à zéro, mais pas la Merlin (ni d'autres têtes). Donc je gère ça au niveau au dessus du plugin.

OK, dois je le garder ?

fma38 wrote:

Au fait, la commande stop() sert aussi à arrêter un positionnement automatique.

ok smile

Sinon, j'ai quasi tout porté ! La commande manuelle marche, mais j'ai encore quelques erreurs en automatique (drive).

Ah sinon, ce serait bien d'implémenter un état de la batterie, avec affichage sur la barre d'état (batterie ou secteur). Mais est-ce que les autres têtes le gère ?


Révéler les beautés cachées ou hors de portée : http://www.martinloyer.fr

Offline

 

Board footer

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson