It toke me some time but I hope it worth it. This release now supports all TuxDroid features, even those which are not implemented yet (Sleep, ping, etc). Apart from that, the API now comes with a new TuxManager, a widgets based graphical application.
Core API
This is mainly a reverse ingeneered version of the very clear Python API reworked to fit Java standards.
- All TuxDroid features (motors, captors, speech, sound, system, etc..) are supported.
- Mostly all useful status are accessible by a getXXX() and by events (classical swing system, on event, multiple listeners). To follow the daemon philosophy, getting a status is giving you the value but also generate associated event to listeners.
- I rewrote the protocol engine that should be fully thread-safe now, even with re-entrance (getting a status that generate an event that is getting the same status

- Lost Connection recognition and automatic reconnection.
- Building process is using Maven. There is now a specific maven repository for all libraries so everything can be build from source very easily (just untar & maven compile)
- JavaDoc is included with sources. It's covering about 80% of core API.
TuxManager
A Swing application that can be seen as the merge of Python Gadget Manager and tuxgi
- Core UI simply contains a Tuxlet selector, a traces output and a status bar for all important states (AC, RF, TTS, Tuxd, etc..)
- All other features are wrapped in a plugin (tuxlets) system.
- Tuxlet framework is included in the API).
Tuxlets
For testing purpose, 3 "tuxlets" (gadgets) are included.
- "Movement Tuxlet" : basically the same as tuxgi first pane.
- "Configuration Tuxlet" : speech test and voice selection, sounds test and management, information pane juste showing all Tux components versions.
- "Insight Tuxlet" : just a joke to demonstrate light sensor.
More tuxlets will come later. I already wrote RSS reader, Clock and Weather. They just need a proper configuration panel
That's it for now. Just to finish a big thank you to Sonny ( http://geekrc1.free.fr ) who kindly accepted to test the beast and found nice bugs
- répondre
sonny , le 4 October, 2007 - 18:18Woah super le screenshot j'ai hâte!
- répondre
Ulhume, le 4 October, 2007 - 19:00Arf ! J'ai intérêt à te soigner, tu va être mon unique utilisateur
- répondre
sonny , le 4 October, 2007 - 19:32Tu dis ça parce que la communauté tuxdroid s'essouffle ou parce que je suis le seul à poster un commentaire lol ?
- répondre
Ulhume, le 4 October, 2007 - 19:35Un peu du 2ième mais surtout la communauté TD n'est gigantesque, tu réduit à ceux qui sont intéressés à programmer le bestiaux, puis à ceux qui s'intéresse à java, reste plus grand monde
- répondre
sonny , le 10 October, 2007 - 09:23Ne me remercie pas, c'est moi qui te remercie
- répondre
Ulhume, le 10 October, 2007 - 10:31Tu me diras si le stockage des sons est plus sur maintenant. J'ai aussi retravaillé la barre de statuts.
- répondre
sonny , le 10 October, 2007 - 10:39Je viens de remarqué un petit bug chez moi, dans l'onglet Settings puis information je n'ai pas les 5 premières versions j'ai juste des 0.0.0.0
- répondre
sonny , le 10 October, 2007 - 10:45Autre bug, tuxmanager viens de planter quand j'ai cliqué sur Store...
- répondre
Ulhume, le 10 October, 2007 - 10:46La nouvelle release ? Tu peux être plus précis sur "planter" ?
Le problème de cette partie c'est que plein de chose rentre en ligne de compte. Pour que cela fonctionne il faut :
- Alsa qui fonctionne
aplay -l
- Alsa qui reconnait correctement le dongle
- un sox qui fonctionne
- le dongle audio qui fonctionne
- les deux démons qui fonctionne
Et pour l'instant, c'est pas encore gagné avant même d'être un problème au niveau de l'API. Par exemple j'ai passé 1/2 heure ce matin à refaire reconnaitre le dongle audio à ALSA qui refusait de jouer du son...
Un bon test reste aussi de vérifier que tu arrives à charger des sons via tuxgi. Pour tester, tu décompresses (unzip) /lib/tuxDroid-0.4.jar et tu cherches les fichier 1.wav 2.wav etc... et tu les injectes avec tuxgi. Si là ça ne marche pas non plus, c'est que le problème ne vient pas de l'API.
Dis moi ce que cela donne.
- répondre
sonny , le 10 October, 2007 - 10:51Je ne pouvais plus rien faire, j'ai attendu 20minutes et ça n'en finissait pas.
(Oui la nouvelle release)
Euh quelque chose d'étrange viens de se produire, après avoir relancer tuxmanager je me suis rendu compte que les sons qui ont été stocker sont des bous de phrase et quand je lis un par un les sons sa donne: hello world, I'm a synthe bidule, tu sait comme la phrase qu'il prononce par défaut dans le tuxgi.
- répondre
Ulhume, le 10 October, 2007 - 10:52J'ai édité mon précédent commentaire, tu as répondu trop vite, tu peux y jeter un oeil et me dire ?
- répondre
sonny , le 10 October, 2007 - 10:56Tout à l'air de fonctionner
- répondre
Ulhume, le 10 October, 2007 - 10:57même avec tuxgi ? Tu as réussi à restocker les sons d'origine ?
- répondre
Ulhume, le 10 October, 2007 - 11:10Pueux tu me mailler les traces en console correspondant au plantage ?
- répondre
sonny , le 10 October, 2007 - 11:13Je viens juste d'y arrivé
- répondre
Ulhume, le 10 October, 2007 - 11:15Avec tuxgi, avec l'API ? T'as changé quoi ? Il me faut des détails sur le crash, sur les conditions que tu as changé pour régler le problème.
- répondre
sonny , le 10 October, 2007 - 11:16J'ai vu que tu n'avais pas mis de description au son numéro 7, je te propose: "tu me fais un poutout!?" écoute
- répondre
sonny , le 10 October, 2007 - 11:17Alors j'ai remis les sons grâces au tuxgi, ton tuxmanager ne plante pas vraiment enfait, quand on clique le store n'en finis pas...
J'ai du recommencer 2 fois le stockage des sons avec le tuxgi, la première fois il me l'ai à juste lu et la deuxième il l'ai à stocké
- répondre
jaguarondi, le 14 October, 2007 - 20:56Pour alsa, tu dois utiliser plughw au lieu de hw, ça insère le plugin 'plug' qui fait le resampling, et qui permet donc de fournir n'importe quel format à alsa et c'est joué sur tux.
Y'a un truc qui manque, c'est dmix (aussi plugin alsa). Ca fait le mixage et permet à plusieurs applications d'accéder à tux en même temps, utile pour envoyer des notifications même si y'a déjà un player audio qui accède à tux. J'ai contacté la mailing list d'alsa et j'ai finalement eu un patch pour dmix. Ils l'intègreront dans la version 1.0.16 mais d'ici là faudra faire sans.
Voilà, sinon faut absolument que j'essaie tes softs, j'y connais rien à java, et presque rien à python non plus d'ailleurs
mais ça a l'air super. Je te tiendrai au courant des évolutions du firmware et daemon. Ici les 2 trucs les plus importants sont la mesure de lumière et on vient d'ajouter celle de batterie. Y'a 2 gadgets qui l'utilisent sur svn, il devrait y avoir un release d'ici une bonne semaine.
- répondre
Ulhume, le 14 October, 2007 - 21:55Bonsoir
Nan, je n'utilises pas plughw, la ligne de commande que j'exécute est strictement la même que celle de la version pythons (-D hw=a,b). En tout cas bonne nouvelle pour dmix, ce serait sympa aussi pour gérer le volume du tux via un kmix.
Héhé, j'ai déjà intégré le statut 0x25 (battery level) et j'attends avec impatience le firmware pour les courbes s'animent
En tout cas merci pour ton retour et pour les pings s'il y a du nouveau !
- répondre
jaguarondi, le 15 October, 2007 - 20:42En fait, l'api python devrait utiliser plughw et pas hw, sauf pour l'enregistrement des sons dans la flash puisque le fichier est déjà au format 8 bits 8kHz donc pas besoin de resampling dans ce cas ci.
Mais de façon générale, quand tu veux utiliser tux et aplay, plughw est très utile.
David
- répondre
Ulhume, le 16 October, 2007 - 08:22Ok, c'est noté. Je ne suis pas un spécialiste Alsa comme tu as pu le noter
Je système semble pas mal j'ai réussi à faire des truc amusant avec mais c'est vraiment l'enfer pour trouver une vraie littérature complète à son sujet. Si tu as des pointeurs d'ailleur...
A noter que ton "truc" du plughw marche très bien avec mplayer
- répondre
jaguarondi, le 16 October, 2007 - 09:51Oui, la doc d'alsa n'est pas mieux que la nôtre
Je crois que plughw est à peu près tout ce que tu as besoin. Y'a moyen d'implémneter un 'volume control' software (http://alsa.opensrc.org/index.php/Softvol) mais c'est à déconseiller car tu ne fais que diminuer la qualité du signal en utilisant moins que 8 bits. Vaut mieux tourner le bouton de volume. Dmix sera utile quand le patch y sera, je ferai peut être un package avec alsa 1.0.15 patché quand il sera sorti. Ah ben tiens, d'ailleurs il est sorti aujourd'hui 
- répondre
Ulhume, le 16 October, 2007 - 09:55Bah, ça va arriver assez vite dans la backports je pense
Poster un nouveau commentaire