DigitalSpirit / Blog

Astuce Nokia N900 : Ajouter des raccourcis au menu principal

Il est assez simple d'ajouter des éléments dans le menu principal et notamment des raccourcis vers des applications utiles, pour cela, il suffit d'éditer le fichier xml /etc/systemui/systemui.xml et d'y ajouter quelques lignes.

Par exemple, pour ajouter dans le menu, un raccourci vers htop et deux entrées permettant de rédémarrer la machine, il suffit d'ajouter dans le fichier xml le texte en vert suivant :

 [...]

<menuitem priority="20" name="Reboot">
<return>6</return>
<po>osso-powerup-shutdown</po>
</menuitem>
<menuitem priority="10" name="Soft poweroff">
<return>7</return>
<po>osso-powerup-shutdown</po>
</menuitem>
<menuitem priority="5" name="Htop in XTerm">
<callback service="com.nokia.xterm" path="/com/nokia/xterm" interface="com.nokia.xterm"
method="run_command" bus="session" autostart="true">
<argument type="string">/usr/bin/htop</argument>
</callback>
</menuitem>


</powerkeymenu>

Et voilà le résultat :

Ajouter des item au menu principel
Ouvrir l'article

Astuce Nokia N900 : Enlever les ombres des icones sur le bureau

Il est possible de retirer les ombres des icones du bureau simplement en supprimant les 2 fichiers suivants :

  • /usr/share/themes/NOM_DU_THEME/images/ApplicationShortcutAppletPressed.png
  • /usr/share/themes/NOM_DU_THEME/images/ApplicationShortcutApplet.png

Afin de pouvoir restaurer les ombres, je vous conseille de simplement modifier l'extension de ces fichiers en png.old, c'est assez simple, ouvrez un terminal et saisissez les commandes suivantes :

$ sudo gainroot
$ cd /usr/share/themes/NOM_DU_THEME/images/
$ mv ApplicationShortcutAppletPressed.png ApplicationShortcutAppletPressed.png.old
$ mv ApplicationShortcutApplet.png ApplicationShortcutApplet.png.old

Pour que le changement soit pris en compte, redémarrez la machine.

Voici le résultat, avant, après :

Bon, et pour ceux qui oseraient se demander comment on revient comme avant, on fait l'inverse : on renomme les .png.old en png.

Ouvrir l'article

Tuner son hélico ou comment relier 2 batteries LiPo en parallèle

Le SanHuan Copter 6020-1 MAX-Z aussi nommé le Copter V-MAX Hypersonic est un hélicoptère co-axial ridiculement petit disposant de 2 rotors de 17cm de diamètre stabilisé par balancier.

Hélicoptère SanHuan Copter

Il ne dispose pas de plateau cyclique mais un rotor vertical à l'arrière lui permet d'avancer ou de reculer en le faisant basculer, imitant alors un cyclique longitudinal, bien évidemment, aucun moyen de faire le moindre mouvement cyclique latéral sauf en pivotant de 90° sur l'axe vertical, suis-je clair ? ;) Non ?, pour faire court, pas de déplacements latérals avec cet engin.

Ce modèle réuni maniabilité et stabilité et on se prend réellement au jeu. Sa principale faiblesse est son autonomie de 5 minutes, plutôt limite, d'autant plus que d'origine la batterie ne se change pas facilement...

Nous allons donc modifier cet objet volant afin de le doter d'une autonomie un peu meilleure, pour cela, nous allons procéder en 3 étapes et ce sera l'occasion de faire un peu d'électronique :

  1. Suppression des circuits de protection
  2. Mise en parallèle des éléments
  3. Ajout d'un seul circuit de protection

L'article est consultable sur le wiki à la page Sanhuan Copter Max-Z.

Voici une très courte vidéo de la bête (non, pas le félin...)

Ouvrir l'article

New York en noir et blanc...

Voici une petite série de photos de New York en noir et blanc...ou presque...

La nuit, tous les building sont gris :
La nuit, tous les building sont gris...

Central Park sous la neige...
Central Park sous la neige

À l'intérieur de l'église Saint-Patrick :
Bougies

Une fontaine, la nuit :

Ouvrir l'article

Un exemple d'utilisation de la bibliothèque Oled4d pour Arduino

Voici un exemple très simple expliquant l'utilisation de la bibliothèque libre Oled4D dont j'ai parlé dans un précédent billet.

Ce programme va afficher l'image ci-dessous :

Oled 4D démo pour Arduino

Le code source commenté est affiché en seconde partie de ce billet.

Plus d'informations :

Voici les étapes à suivre pour tester cette bibliothèque :

  1. Décompresser l'archive dans le dossier libraries
  2. Ouvrez l'environnement de développement Arduino
  3. Dans le menu Fichier > Exemples, il doit y avoir un menu Oled4D > Example > Demo, cliquez dessus pour l'ouvrir
  4. Compilez et chargez la cible

Voici une partie du code source (la déclaration de data_image à été tronquée volontairement), l'exemple va afficher un écran bleu, affiche un cercle jaune, 1 tux, réalise 4 copier / coller de l'image du tux, affiche du texte « Hello world ! » puis créé un polygone.

/*  Oled4d
    Programme d'exemple pour interface Arduino / Écran Oled de 4DSystems
 */
 
#define RED     RGB(255, 0, 0)
#define GREEN   RGB(0, 255, 0)
#define BLUE    RGB(0, 0, 255)
#define YELLOW  RGB(255, 255, 0)
#define WHITE   RGB(255, 255, 255)
#define BLACK   RGB(0, 0, 0)
 
#define SMALL   FONT_5X7
#define MEDIUM  FONT_8X8
#define BIG     FONT_8X12
 
#include <NewSoftSerial.h>
#include <HardwareSerial.h>
extern HardwareSerial Serial;
#include <Oled4d.h>
 
NewSoftSerial serial(2, 3);
 
// count : 1152
#define  DATA_IMG_WIDTH   24
#define  DATA_IMG_HEIGHT  24
char data_image[] = {
    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
    0xc6, 0xc6, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbe, 0xbe, 
    [...]
    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 
};
 
void setup()
{  
    Serial.begin(9600);
 
    // Mode série
    pinMode(2, INPUT);
    pinMode(3, OUTPUT);
 
    // Configuration de l'interface série logicielle
    serial.begin(9600);
}
 
void loop()                     
{
    // Créer l'objet en interface série logiciel
    Oled4dSoft oled = Oled4dSoft(serial, 8);
 
    // Pour utiliser l'uart « hardware », procéder ainsi :
    //Oled4dHard oled = Oled4dHard(Serial, OLED_RESET_PIN);
 
    // Initialise l'écran
    oled.init();
 
    // Efface l'écran
    oled.clear();
 
    // Fond d'écran bleu
    oled.setBG(RGB(0, 0, 128));
 
    // Dessine un cercle
    oled.drawCircle(64, 64, 20, RGB(255, 255, 0));
 
    // Affiche l'image
    oled.displayImage(0, 0, DATA_IMG_WIDTH, DATA_IMG_HEIGHT, COLORMODE_65K, data_image);
 
    // Copier / coller de l'image 5 fois
    for (int i = 1; i < 5; i++) {
        oled.screenCopyPaste(0, 0, i * DATA_IMG_WIDTH, 0, DATA_IMG_WIDTH, DATA_IMG_HEIGHT);
    }
 
    // Affiche du texte
    oled.drawText(1, 3, SMALL, GREEN, "Hello world !");
 
    // Dessine un polygone
    char array[] = { 10, 32, 20, 64, 76, 120, 127, 64 };
    oled.drawPolygon(sizeof(array) / 2, array, RGB(255, 128, 0));
 
    while (1);
}

Voilà, je pense que le code est assez explicite, en cas de souci, n'oubliez pas le forum d'aide.

Ouvrir l'article

« Page 11 / 32 »