« Back to home

Linux (not on my) Desktop

Ich verkaufe meinen Laptop. Das war mein letzter aktiv genutzter Linux-Computer zu Hause. Mein Desktop-PC wanderte Anfang des Jahres zu meiner Mutter und ich kaufte mir einen iMac. Seitdem lag der Laptop auch eigentlich nur noch im Regal rum. Und das hatte einen guten Grund: Ich habe keine Lust mehr. Für’s Studium verkaufte ich damals mein MacBook und legte mir zum Basteln und Entwickeln PC und Laptop zu. Das war damals eine sehr gute Entscheidung und ich hatte während des Studiums viel Vergnügen damit und habe sicher auch einiges gelernt.…

Read more »

Das SocketCAN-Gateway cangw

Mit dem kürzlich veröffentlichten Linux Kernel 3.2 hat das SocketCAN-Subsystem eine neue Funktionalität erhalten. Über das Tool cangw aus den can-utils ist es möglich, den Kernel anzuweisen, dass er zwischen verschiedenen CAN-Bussen ein Routing von bestimmten Frames durchführen soll. Die Bedienung ist an das bekannte iptables für IP-Pakete angelehnt. Dies hat den Vorteil, dass man einerseits keine Latenzprobleme beim Routen der Frames bekommt, wie es in einem Multiuser-Betriebssystem bei einem Gateway-Programm im User-Space der Fall wäre.…

Read more »

Neuer Fernsehabend-Bespaßungs-Rechner

Letzte Woche starb mein alter Fernsehabend-Bespaßungs-Rechner (Gigabyte MA78GM-S2H und AMD Athlon X2). Er riss sogar noch zwei USB-Sticks mit in den Tod. Ein wenig kündigte sich das Ganze schon vorher an. Ton kam bei meinem Setup über HDMI und da fing er gegen Ende nach einiger Zeit an zu Knistern und Knacken. Man musste die Lautstärke einmal komplett auf Null drehen und dann ging es erst mal wieder. Zum Schluss ging er dann letztendlich zwar noch an, zeigte aber kein Bild mehr an und fuhr nicht hoch.…

Read more »

Reglerentwurf mit Scilab

Ich fand ja Matlab immer irgendwie komisch. Alles was man so an einfacherer Mathematik machen musste konnte mein Taschenrechner auch und dann verteufelt viel Geld für so ein Programm ausgeben? Nein Danke! In der Regelungstechnik gibt es aber doch eine Menge Aufgaben, die man nicht so leicht lösen kann. Unser Dozent machte in der Vorlesung ziemlich schicke Sachen mit Matlab, die mich dann doch aufhorchen ließen. Das kann der Taschenrechner nicht und mit den ganzen freien Mathematik-Umgebungen wie Octave und ähnlichen bin ich auch nie warm geworden.…

Read more »

Bash-Prompt mit Git-Informationen

Die Bash ist die Standard-Shell unter Linux und vielen Unixen. Der Prompt ist jedoch leider meist ein wenig armselig und längst nicht so hilfreich, wie er eigentlich sein könnte. Das habe ich vor ein paar Wochen bei mir mal geändert und bin ziemlich zufrieden damit. Zunächst mal wollte ich ihn hervorheben, damit es leichter ist, Programmausgaben von Befehlseingaben zu unterscheiden. Das hilft besonders wenn man durch eine lange History durchblättern möchte:…

Read more »

Diagramme mit einfachsten Mitteln

Ich habe gerade eine kleine Umfrage durchgeführt und möchte die Ergebnisse jetzt auswerten. Ein PHP-Skript hat im Ordner results die Dateien res, res1, res2… abgelegt, in denen die Ergebnisse gespeichert wurden: /* Variablen holen / $konfiguration = $_POST["konfiguration"]; $path = "results/"; $filename = "res"; / Dateinamen bestimmen / while (file_exists($path.$filename)) { $fnum++; $filename = "res".$fnum; } $fp = fopen($path.$filename, "w") or die("Konnte das Ergebnis nicht speichern!"); fwrite($fp, "konfiguration: "); fwrite($fp, $konfiguration); fwrite($fp, "\n"); / .…

Read more »

SocketCAN Tutorial 2 - PEAK Adapter

Diese Anleitung wurde am 27.02.2012 aktualisiert und bezieht sich nun auf Treiber-Version 7.4 und Ubuntu 11.10. Dieses Tutorial ist eine Fortsetzung des ersten SocketCAN Tutorials, das die Verwendung von virtuellen CAN-Devices beschreibt. In diesem Tutorial soll es jetzt um reale Busse und deren Verwendung mit SocketCAN gehen. Im Speziellen geht es um die PCAN-USB Adapter der Firma PEAK. Kompilieren des PEAK Treibers Die Treiber für die Adapter werden zur Zeit für Linux nur im Sourcecode bereitgestellt.…

Read more »

RAW- und BCM-Sockets

Kayak benötigt für Zugriff auf einen CAN-Bus auf der socketcand-Seite einen CAN-Socket. Das kann entweder ein RAW-Socket oder ein BCM-Socket sein, die sich grundlegend durch ihr Verhalten unterscheiden. RAW-Socket kein Abonnement von IDs keine Komfortfunktionen zum zyklischen Senden von Nachrichten die eintreffenden Frames werden einfach weitergeleitet BCM-Socket ausschließlich Übertragung von IDs, die auch vorher abonniert wurden. Daher ist es bei einem CAN 2.0B mit 2^29 IDs nicht möglich, diese alle in absehbarer Zeit zu abonnieren…

Read more »

Weihnachten! Endlich ein bisschen Zeit...

Nachdem dieses Semester nun endlich zu Ende gegangen ist habe ich in den nächsten Tagen hoffentlich Zeit, mich mit meinem Projekt für die Diplomarbeit zu beschäftigen. Ein Bericht muss noch abgegeben und eine Präsentation gehalten werden aber dann sollte etwas Luft sein. Ich möchte kurz vorstellen, was ich eigentlich gerade entwickle: Das Projekt heißt Kayak und soll ein CAN-Diagnosetool für die Linux SocketCAN-Implementierung werden. Es dient dem Senden und Empfangen von Frames auf einem CAN-Bus und zur grafischen Darstellung und Auswertung selbiger.…

Read more »

Git Repositories mit mehreren Nutzern

Wenn man ein zentrales git Repository verwendet initialisiert man dieses meistens mit $git init –bare Repo.git Das klappt bei einem einzigen User wunderbar und man kann arbeiten wie gewünscht. Wenn es dann mal mehr Nutzer werden sollen muss man zunächst eine Gruppe anlegen (ich nehme ‘git’) und dann die Nutzer der Gruppe hinzufügen: $groupadd git $useradd user2 $usermod -G git -a user2 Dann kann man in sein Repository gehen und die Gruppe der Dateien ändern: $cd Repo.…

Read more »