OpenOptimus
Un article de OoKoo.org.
Ce projet à pour but de fournir un driver générique sous linux pour tous les périphériques basés sur la technologie OLED créés par le studio d'Artemy Lebedev.
Pour le moment l'objectif est de supporter l'Optimus Mini Three keyboard.
Le SVN est accessible à l'url : http://ookoo.org/svn/openoptimus/ - La dernière version est la 0.1.0 (révision 52)
Le studio d'Artemy Lebedev à donné son accord pour le développement d'un driver open-source.
Sommaire |
Clavier Optimus Mini Three
Status
Actuellement en phase alpha. Beaucoup de choses manquent, et le pilote n'est pas utilisable en l'état. Merci de revenir aux nouvelles !
Peut afficher des images 96x96 en PNG, et peut également détécter les appuis de touche.
Fonctionnalités actuelles
- Utilise la libusb pour communiquer avec le périphérique (pas besoin de driver kernel spécifique)
- Étant donné que le driver kernel pour pl2303 ne fonctionne pas dans notre cas, nous avons du le reprogrammer avec libusb
- Utilise la libpng pour lire les images PNG, et les afficher
- Détecte quand un bouton est appuyé
- Implémente les opérations OLED_PROTOCOL_SET_IMAGE, OLED_PROTOCOL_POWER_ON, OLED_PROTOCOL_POWER_OFF, OLED_PROTOCOL_SHOW_OLED, OLED_PROTOCOL_GET_IDCODE, OLED_PROTOCOL_SET_IDCODE, OLED_PROTOCOL_SET_BRIGHTNESS.
- Support pour plusieurs périphériques OLED Mini Three connectés au même ordinateur
- Tout le code USB est dans une library statique
TODO
- Optimiser le code USB
- Créer un système fonctionnant en daemon, avec un socket UNIX pour les communications
- Utiliser autoconf/automake (à la place d'un Makefile)
- Meilleure gestion des erreurs
- Détéction des nouveaux périphériques "à chaud" (60% -> fonction optimususb_scan() à été créée)
- Un zouli logo pour le driver linux, par exemple [Li] [Nu] [X] (ou un truc du genre)
- Implémenter un moyen de simuler des appuis de touche sur le clavier (afin de les associer à l'appui d'une des touche du mini three)
- Support des applets WindowMaker
BUGS
- Toujours besoin de trouver comment empêcher le Mini Three de s'éteindre (ce qui surviens automatiquement après quelques secondes). Il nous faut de nouveaux logs avec SnoopyPro, ou une analyse du code C/C# fourni par Art. Lebedev.
Infos Techniques
D'un point de vue matériel, il semble qu'un contrôlleur pl2303 soit présent, étant donné que le vendorid/productid vaut 067b:2303. Cela a été confirmé lors de l'installation sous windows qui a affiché le nom «Prolific2» lors de la découverte du nouveau matériel.
Ce contrôlleur bon marché permet d'interfacer un système RS232 (port série) en USB, ce qui est utilisé pour communiquer avec le clavier OLED Mini Three, grâce à un protocole simple, disponible aurpès du studio d'Artemy Lebedev.
HowTo : tester le driver
Avant tout, récupérer le source du driver en tapant :
svn co http://ookoo.org/svn/openoptimus/ -r52
Ensuite aller dans le répertoire du source :
cd openoptimus/trunk
Compiler :
make
Et lancer :
./oledd
Une image devrais apparaitre sur les 3 écrans OLED de votre clavier Optimus Mini Three. Le fait d'appuyer sur une touche devrais afficher une information sur la console.
