vendredi 13 novembre 2009

Toolchain GNU ARM sous Linux

Voici un lien très utile pour programmer des microcontrôleurs ARM sous Linux :
http://www.precma.it/arm7_gnu_toolchain.htm, quelques détails supplémentaires :
  • Binutils : pas de problème pour compiler la dernière version.
  • GCC : il faut le compiler depuis un autre répertoire, c'est-à-dire : créer un répertoire nommé p.ex objdir dans le répertoire des sources de gcc, et ensuite cd objdir, et ../configure etc.
  • Newlib : voir ici si ça ne compile pas : http://old.nabble.com/Re%3A-libgloss-ARM-compile-error-p25713825.html
  • Insight : n'arrivant pas à compiler la version 6.8-1, j'ai téléchargé la dernière version snapshot, et pas de problème.
  • OpenOCD : ne pas utiliser le svn (obsolète), mais se rendre sur http://developer.berlios.de/projects/openocd pour télécharger la dernière version. Lire le README pour les options de "configure" (suivant l'adaptateur JTAG utilisé)

dimanche 26 juillet 2009

Rotation automatique d'un JPEG en fonction de l'EXIF

Pour orienter automatiquement des photos jpeg contenant l'information de rotation dans l'exif (beaucoup d'appareils photo numériques permettent ceci), voici une commande :

jhead -autorot *.jpg

(source : lglinux)Lien

mercredi 11 mars 2009

Consommation Asus eee 901

J'ai fait quelques mesures de consommation électrique pour l'Asus eee 901. Pour l'instant, j'ai seulement mesuré le courant consommé par l'adaptateur secteur, pas encore celui consommé par le pc directement (ce que fournit le chargeur).
  1. A vide (PC débranché) : 30mA * 230V = 7VA
  2. Batterie en charge (PC déclenché) : 130mA * 230V = 30VA
  3. Batterie en charge (PC enclenché) : 150mA * 230V = 34.5vA
  4. PC enclenché, pas de batterie, écran éteint : 67mA * 230V = 15.4VA
Je donne les valeurs en VA car je n'ai pas mesuré le facteur de puissance..

vendredi 27 février 2009

Souris Logitech MX Revolution

Voici ce que j'ai modifié pour que ma toute nouvelle souris de compète fonctionne comme je le désire avec gentoo, xorg et fvwm..

xorg.conf :
Section "InputDevice"
Identifier "Mx Revolution"
Driver "evdev"
Option "Protocol" "Auto"
Option "Name" "Logitech USB Receiver"
Option "Phys" "usb-*/input0"
EndSection

en n'oubliant pas d'adapter la ligne dans ServerLayout :
InputDevice "Mx Revolution" "CorePointer"

revoco :
Ce programme permet de configuer la souris, je dirais au niveau hardware (changement entre libre et cranté pour la molette par exemple). Disponible ici. J'ai simplement exécuté une fois ./revoco manual=6 en tant que root pour que le bouton de recherche change le mode de la molette.

xmodmap :
J'ai placé cette ligne dans le fichier ~/.Xmodmap :
pointer = 1 2 3 4 5 6 7 12 11 15 13 17 8 14 9 16 10 18 19 20
Ceci permet d'avoir les boutons dans le bon ordre. Au démarrage du gestionnaire de fenêtre, il faut exécuter xmodmap ~/.Xmodmap (en plaçant cette commande dans la liste des actions à effectuer au démarrage par exemple).

imwheel :
Ce programme permet d'assigner une combinaison de touches à un bouton de souris. Par exemple, pour assigner les boutons 8 et 9 à la navigation dans l'historique de firefox.
voici le contenu de mon fichier .imwheelrc :
"Firefox"
None,Thumb2,Alt_L|Left
None,Thumb1,Alt_L|Right

Il va falloir exécuter imwheel (command imwheel) au démarrage du gestionnaire de fenêtre, comme pour xmodmap.

firefox :
Taper about:config dans la barre d'adresse de firefox et modifier l'option mousewheel.horizscroll.withnokey.action a 1 (au lieu de 2). Ceci permet que le scroll horizontal (boutons 6 et 7) fassent défiler la page horizontalement au lieu de se déplacer dans l'historique.

FVWM :
Simplement mettre des bindings sympas, par exemple changer de bureau à l'aide des deux boutons fléchés.

Et voilà !

dimanche 1 février 2009

Pinholes sur Netopia 3347

Le modem-routeur ADSL Netopia 3347, de Bluewin (et je suppose que les autres Netopia également) a une interface web un peu limitée.. Le problème que j'ai rencontré est la redirection d'un port externe sur une machine locale. Il n'est pas possible d'ajouter un service personalisé contenant un port qui est déjà dans un des services préconfigurés, le problème est que le service préconfiguré ouvre une dixaine de ports alors qu'un seul serait nécessaire.

Pour remédier à ce problème, il faut se connecter au routeur par telnet (par exemple : telnet 192.168.1.1). Le nom d'utilisateur et mot de passe sont les mêmes que pour l'interface web. Une fois connecté, la commande help est très utile.. Il faut taper configure puis pinhole puis set, et répondre aux questions. Une fois tous les pinholes définis, taper save. Ensuite, sortir du mode configure avec exit. Redémarrer le routeur avec restart. N'oubliez pas la commande help si vous êtes perdus..

Plein d'autres options sont disponibles, par exemple la mise à jour automatique d'un nom de domaine dyndns, mais attention à ne pas tout casser. ;-)

samedi 18 octobre 2008

Touches multimédia sous linux

Pour activer les touches multimédia sur mon portable, j'ai premièrement du identifier leur code en lançant xev. Cela m'a donné le code 160 pour la touche mute, 174 pour Vol- et 176 pour Vol+.
Une fois xbindkeys installé, il va falloir créer le fichier ~/.xbindkeysrc :
xbindkeys --defaults > ~/.xbindkeysrc

Ceci permet d'avoir un fichier avec quelques exemples, bien que ça ne soit pas indispensable.

Pour affecter les touches aux commandes il suffit d'éditer le fichier ~/.xbindkeysrc comme ceci :

#------------------
# Toggle mute
"amixer -c 0 sset Master toggle"
c:160

# Vol +
"amixer -c 0 sset Master 1+"
c:176

#Vol-
"amixer -c 0 sset Master 1-"
c:174
#------------------
Cette configuration va permettre d'activer et désactiver le son (toggle), d'augmenter et de diminuer le volume. On peut également imaginer d'attribuer les touches "next" "prev" "play" "stop" à son lecteur de musique.

Pour que ces associations fonctionnent, il faut lancer xbindkeys. On peut par exemple l'ajouter aux applications lancées par le gestionnaire de fenêtre au démarrage.

vendredi 10 octobre 2008

Réalisation de circuits imprimés - Gravure

J'utilise une solution d'acide chlorhydrique et d'eau oxygénée pour graver le cuivre. Ces produits sont un peu plus dangereux que le perchlorure de fer, mais ne tachent pas et sont plus rapides. Il faut effectuer la gravure à l'extérieur car elle produit un fort dégagement gazeux (d'ailleurs, même l'ouverture de la bouteille d'acide chlorhydrique doit se faire à l'extérieur, pour la même raison). Veillez à vous protéger les mains (gants), les yeux (lunettes) et la peau en général.

Ma solution est composée de 20% d'acide chlorhydrique à 32% (10 molaires) et de 20% d'eau oxygénée à 35% (130 volumes). Versez toujours l'acide dans l'eau et pas le contraire.
Il n'est pas nécessaire de faire une grande quantité de solution, par exemple 25ml de HCl, 25ml de H2O2 et 75ml d'eau suffisent (pour autant que la plaque soit complètement immergée). Si la réaction s'arrête et qu'il reste du cuivre à dissoudre, vous pouvez ajouter un peu d'eau oxygénée et ça va repartir. Si certains endroits ne veulent toujours pas se dissoudre, vous pouvez aider à l'aide d'une brosse à dents usagée.

Une fois la gravure terminée, rincez à l'eau. Pour enlever le toner (méthode PNP Blue) ou le photoresist (méthode UV), utilisez de l'acétone. Ensuite, il est bien de protéger le cuivre à l'aide d'une laque, par exemple Kontakt Chemie Lötlack SK10.

Il ne reste plus qu'à percer le circuit (si vous n'utilisez pas que des composants smd). Une mini-fraiseuse montée sur un support (pour en faire une mini perceuse à colonne) convient bien (Dremel,...). Il est préférable d'utiliser des mèches en métal dur, les mèches en HSS s'usant rapidement. Par contre, ces mèches sont très cassantes, il faut être délicat. Vous pouvez en trouver sur eBay à de très bons prix (comparé aux quincailleries suisses).
Des trous de 0.6mm conviennent bien aux petites diodes et résistances, vérifiez la taille nécessaire avant de percer..