« Back to home

Schäfchen zählen mit Java

Schlafen Schlafen mit Java ist so eine Sache. Die Methode, die einem dazu am häufigsten über den Weg läuft ist: Thread.sleep(long milliseconds) Das funktioniert im Prinzip erstmal recht gut. Man kann Millisekunden angeben, was für meinen Anwendungsfall auch ausreichen würde. Das Problem ist nur, dass Schlafen im einstelligen Millisekunden-Bereich unter Windows (mindestens unter Windows XP) nicht funktioniert. Schläft man dort zyklisch für 5 Millisekunden so kehrt der Aufruf beispielsweise zwei Mal sofort zurück und schläft danach deutlich länger als 5 ms.…

Read more »

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.…

Read more »

Kayak UI mockups

In den letzten Monaten ist bei der Entwicklung von Kayak einiges passiert. So langsam habe ich mich mit den grundlegenden Strukturen der Netbeans-Plattform vertraut gemacht und es geht etwas leichter von der Hand. Das Interface ist, wie ich finde, schon ganz schick und auch im Hintergrund funktioniert schon eine ganze Menge. Einen aktuellen Screenshot gibt es hier: [caption id=“attachment_470” align=“aligncenter” width=“590” caption=“Aktueller Screenshot von Kayak”][/caption] [caption id=“attachment_466” align=“alignright” width=“160” caption=“Log file explorer”][/caption]…

Read more »

Tango Icons für Maven-Projekte

Wer an einem mit Maven gebauten GUI-Programm arbeitet, dem seien hiermit die Tango Icons ans Herz gelegt. Diese sind nicht nur in der Open-Source-Welt weit verbreitet und als Public Domain veröffentlicht, sondern machen es einem Java-Entwickler ziemlich einfach, sie zu integrieren. Hier fand ich den Hinweis, wie das verfügbare Maven-Artefakt in ein bestehendes Projekt eingebunden werden kann. Einfach den folgenden Abschnitt in die Dependencies im pom.xml einfügen: <dependency> <groupId>org.freedesktop.tango</groupId> <artifactId>tango-icon-theme</artifactId> <version>0.…

Read more »

Eclipse RCP vs. Netbeans RCP

[caption id="" align=“alignright” width=“240” caption=“Image by liber via Flickr”][/caption] Im Zuge der Entwicklung von Kayak muss ich mich für ein GUI Framework entscheiden. Relativ schnell war klar, dass möglichst eine RCP-Anwendung entstehen soll, um eine professionelle GUI und eine Plugin-Struktur nutzen zu können. Die beiden großen Rich-Client-Plattformen für Java sind Eclipse RCP und Netbeans RCP, die sich in einigen wichtigen Punkten unterscheiden. Ich möchte hier im Folgenden einen kleinen Vergleich im Bezug auf verschiedene Aspekte anstellen:…

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.…

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 »