« Back to home

Es geht voran...

Nachdem die letzten Prüfungen geschrieben waren hatte ich wieder Zeit, mich Kayak zu widmen. In den letzten Wochen ist dort einiges passiert. Ich konnte aufräumen, das Interface vereinfachen und einige Bugs beheben.

Außerdem hat Kayak dank Sebastian Dittmar ein Icon und einen eigenen Splash-Screen bekommen. Wie mir gerade auffällt noch mit einem kleinen Rechtschreib-“Fehler” ;) aber das macht schonmal ziemlich was her. Ich bin nämlich grafisch komplett untalentiert und musste daher auf externe Hilfe zurückgreifen. Mit Netbeans RCP war das mit drei Klicks eingebunden und funktioniert einwandfrei.

Read more »

SocketCAN Tutorial 1 - Virtuelle Busse

In einem älteren Post hatte ich ja schon eine kurze Einführung in SocketCAN gegeben. Da ich mich in der nächsten Zeit wohl etwas genauer damit beschäftigen werde hier ein kleines Tutorial. Ich fand die ersten Schritte doch etwas holprig und daher hier der Reihe nach:

Das Ganze sollte mit einem aktuellen Linux funktionieren (Ubuntu 10.10 ist perfekt). Zunächst mal müssen wir die Kernel Module laden:

<code>dschanoeh@Krikkit1:~$ modprobe can
dschanoeh@Krikkit1:~$ modprobe can_raw
dschanoeh@Krikkit1:~$ modprobe can_bcm
dschanoeh@Krikkit1:~$ modprobe vcan</code>

Anschließend kann ein neues virtuelles CAN-Device über

Read more »

PF_CAN

[caption id="" align=“alignright” width=“144” caption=“Image via Wikipedia”]Tux, the Linux penguin[/caption]

Der Linux Kernel unterstützt seit Version 2.6.25. Controller Area Network (CAN). Dies ist ein Busstandard, der vor allem in Fahrzeugen aber auch in anderen schwierigen Umgebungen verwendet wird. Er wurde in den 80er Jahren entwickelt und ist bis heute das wesentliche Kommunikationsmedium für Steuergeräte. CAN-Busse zeichnen sich durch eine hohe Störsicherheit und einen geringen Rechenaufwand für die beteiligten Controller aus.

Es gibt eine Vielzahl an proprietären Hard- und Softwarelösungen, mit denen herkömmliche Computer an CAN-Busse angeschlossen werden könnten, die teilweise ein Vermögen kosten. In der Volkswagen Konzernforschung wurde eine Implementierung entwickelt, die auf Linux Sockets aufsetzt und den Namen SocketCAN trägt. Diese macht es sich zu Nutze, dass ein kompletter Netzwerk-Stack bereits im Kernel vorhanden ist und einfach um ein weiteres Protokoll erweitert werden kann. Viele andere Treiber für CAN-Devices stellen eine Art serieller Schnittstelle bereit, über die eine Anwendung dann mit dem Gerät kommunizieren kann.

Read more »