Monthly Archives: March 2014

MSP430 OLED-Display SSD1306 (128×64)

msp430_ssd1306_actionVor ein paar Monaten habe ich mir ein kleines OLED-Display aus China bestellt, mit einem SSD1306 Controller (Ebay). Die Größe des Displays beträgt 0,96″ und hat eine Auflösung von 128x64px. Das Display ist auf einem fertigen Modul gelötet, man braucht sich also nicht mehr um die restliche Beschaltung von dem Display zu kümmern. Der Display-Controller (SSD1306) bietet verschiedene Schnittstellen (Parallel, SPI, I2C). Leider ist die Schnittstelle bei diesem Modul per 0 ohm SMD-Widerstände auf die parallele Schnittstelle eingestellt. Da ich keine vernünftige Spitze für meinen Lötkolben hatte, und auch keine Motivation um die SMD-Widerstände umzulöten (auf SPI), habe ich das Display also parallel angesteuert. Ich habe hauptsächlich die gleiche Bibliothek benutzt wie beim Nokia-Display (PCD8544), allerdings mit ein paar neuen Funktionen und Verbesserungen. Angesteuert wird das Display wieder per MSP430G2553.

Continue reading

Ubuntu – Thunderbird Fensterposition speichern mit wmctrl

Einige Programme unter Ubuntu speichern die letzte Fensterposition nicht. Dazu gehört z.B. Mozilla Thunderbird. Dieses Verhalten hat mich seit Jahren schon gestört… nach jedem Start/Reboot immer wieder Thunderbird auf den 2. Monitor (an eine bestimmte Stelle) verschieben. Nach ein paar Minuten bin ich auf das Programm “wmctrl” gestoßen. Hiermit ist es möglich geöffnete Fenster über die Konsole (per Befehl) zu verschieben, minimieren, maximieren usw. Also habe ich ein kleines Startscript geschrieben. Das Script startet Thunderbird und verschiebt es direkt an eine bestimmte Stelle.

#!/bin/bash
sleep 5
thunderbird &
while [ $(wmctrl -l|grep 'Thunderbird'|wc -l) -eq 0 ]
do
sleep 1
done
wmctrl -r Thunderbird -e 0,325,308,-1,-1 &

Nach dem Thunderbird gestartet wurde, wird per “wmctrl -l | grep ‘Thunderbird’”  (-l = list) überprüft ob Thunderbird schon gestartet wurde und in der Fensterliste von wmctrl auftaucht. Mit “wc -l” kann z.B. die Zeilenanzahl aus einer Datei ermittelt werden. Wenn also Thunderbird erfolgreich gestartet wurde, wird eine “1” von wc zurückgegeben. Dies wird in der while-Schleife überprüft. Solange Thunderbird noch nicht geöffnet ist, warte eine Sekunde (sleep 1). Danach wird per “wmctrl -r Window” das Fenster an eine bestimmte Position verschoben (“-e <gravity><x><y><width><height>”) Um die Fenstergröße nicht zu verändern, was Thunderbird komischerweise speichert, werden die Argumente <width> und <height> beide auf -1 gesetzt.

Idee für die while-Schleife von http://www.technologische-hilfe.de/antworten/warten-bis-programm-gestartet-ist-und-dann-befehl-ausfuhren-support-239063142.html