[PB] Wie arbeite ich mit dem Eventsystem in PureBasic?

Dieses mal möchte ich zeigen wie man mit dem Eventsystem von Purebasic korrekt umgeht. Da gibt es die Oldschool-Variante mit WaitWindowEvent() und Konsorten, aber auch die neuen Befehle wie BindEvent() oder BindGadgetEvent() .

Als Beispiele habe ich mir überlegt ein ‚CanvasWindow‘ zu entwickeln, das ein ‚CanvasGadget‘ in einem normalen ‚Window‘ kapselt und beliebig oft instantiiert werden kann. Dabei verwaltet das CanvasWindow alle Events, die im Fenster geschehen, von selbst mittels  BindEvent()  oder  BindGadgetEvent(). Drum herum erstellen wir uns noch ein kleines Hauptfenster, mit dem man neue CanvasWindows erstellen kann und mit dessen Beenden sich auch alle schon offenen Fenster wieder schließen und das Programm ebenfalls beendet wird.

[PB] Wie arbeite ich mit dem Eventsystem in PureBasic? weiterlesen

[PB] Wie schreibe ich eine ConcurrentQueue

Ich habe jetzt mal angefangen kleine Videotutorials zu erstellen, in denen ich in Echtzeit einen kleinen Algorithmus oder bestimmte Programmierprinzipien entwickle und erkläre.

Dieses mal geht es um einen nebenläufige Warteschlage, oder auf Englisch „Concurrent Queue“, die nach dem „First In“-„First Out“-Prinzip arbeitet und mit Threads zurecht kommt.

[PB] Wie schreibe ich eine ConcurrentQueue weiterlesen

Kurzes Update aus dem Keller

Während Nicolas an der USB-Anbindung unseres Messprojektes arbeitet, gedeiht auch der Anschluss des Lasers. Viel Zeit hat dabei die Suche nach den Schaltplänen des Netzteiles gekostet. Aber was lange währt…

Ihr habt jetzt schon eine sehr lange Zeit nichts mehr von uns gehört, aber das nächste Video zeichnet sich an den heutigen Erfolgen schon sehr klar ab!

20131204-211612.jpg

Y-Adapter für den Logikanalysator

For english version please click here.
In diesem Blogbeitrag wollen wir Euch eine ganz einfache, aber sehr effiziente Lösung für das Debuggen von Schaltungen vorstellen. Wie Ihr vielleicht schon wisst, sind wir nun in der Lage die Signale, welche wir vom Mikrocontroller aus senden, auch mit einem Logikanalysator taktgenau zu messen. Nun möchte man manchmal auch die Antwort des angesteuerten Chips messen können, was uns auch zu der hier vorgestellten Lösung gebracht hat.
Wir bauen uns einen DIP-Y-Adapter!

So ist man in der Lage auf Platinen befindliche Steckleisten zu kontaktieren und die Signale auf zwei Geräte, in dem Fall den Logikanalysator und den Zielchip zu verteilen.

Y-Adapter für den Logikanalysator weiterlesen

AVR-Entwicklung in Eclipse und seine Tücken

Vielleicht ist es manchen von euch schon passiert, dass Eclipse in euren Quellcodes Fehler anzeigt, wo der Compiler keine sieht.

Das hat meistens den einfachen Grund, dass der Indexer von Eclipse nicht aktuell ist oder sogar Includes für den falschen AVR indiziert, sodass dann z.B. PORTC rot unterstrichen wird, obwohl euer ATMega16 den ja unterstützt.

Um das Problem zu lösen gibt es drei verschiedene Herangehensweisen vom einfachen MCU-Typ umstellen, über den Index neu zu generieren und die Holzhammermethode, die Eclipse anweist dann wirklich das Include zu verwenden. Dewegen will ich hier mal alle Möglichkeiten aufschlüsseln und zeigen wie man es nicht macht. Der Index wird übrigens erstellt, indem Eclipse alle Include-Pfade und die Includes, die ihr in eurem Code nutzt, durchscannt, damit es weiß welche Symbole, Konstanten, Variablen und Funktionen zur Verfügung stehen.

AVR-Entwicklung in Eclipse und seine Tücken weiterlesen

Wo Trafos geboren werden

Hallo Leute,

Jochen hat uns heute auf ein krasses Video aufmerksam gemacht. Da könnt ihr mal sehen wie die Mädels in China arbeiten müssen um unsere Transformatoren herzustellen. Da wird Handarbeit zwar groß geschrieben, aber ob sie auch das entsprechende Gehalt bekommen darf man sicherlich bezweifeln.

Wenn ein Aufpreis von 10 Cent pro Stück (22,50 €/h) diese Arbeiter erreichen würde, würde es keinem von uns weh tun und sie hätten bei der Geschwindigkeit sicherlich ein mehr als akzeptables Gehalt.

Interaktive Datenblätter

Wer sich schon einmal mit Datenblättern zu elektronischen Bauteilen beschäftigt hat, dem ist sicherlich aufgefallen, dass oftmals einige Parameter gemessen wurden, welche nicht immer miteinander vergleichbar sind. So ist dann zum Beispiel der eine Transistor mit einer anderen Basisspannung versorgt worden als der des Vergleichstyps. Interessanterweise kam bisher wohl noch niemand auf die Idee, die elektronischen Datenblätter interaktiv zu gestalten. Doch wer davon ausgeht, der irrt.

Toshiba stellt nun eine Datenbank mit einem Onlineinterface bereit, aus dem heraus es möglich ist, Parameter eines Bauteils nach Belieben darzustellen. Somit ist der Anwender in der Lage, eindeutige Vergleiche zwischen den Bauteilen im Hinblick auf seine geplante Anwendung anzustellen. Schaut Euch doch einfach mal den Semiconductor Web Simulator an, in dem dies möglich ist. Zudem bietet dieses Tool ebenso die Möglichkeit, Schaltungen zu simulieren, welche auf Toshiba-Chips basieren. Nach einer kurzen und schmerzlosen Anmeldung steht Euch der Zugang dazu offen.

Unser erstes xMega-Testboard mit USB

Hallo liebe Bastelfreunde,

heute dürfen wir Euch wieder mit einem Update beglücken. Das Layout für das Testboard für den xMega mit USB-Anbindung ist fertig! Darauf kann der Chip im TQFP-Package mit 0.8mm pitch Platz finden, nicht zu verwechseln mit dem TQFN-Package von Atmel und einem pitch von 0.5mm. Die sonstige Beschaltung ist relativ einfach, die Platine bekam zur Spannungsregelung einen LM317 spendiert, vielleicht nicht die beste Wahl, aber ein Festspannungsrregler war gerade nicht zur Hand. Wichtig ist, dass man den Chip mit 3,3V betreibt und nicht mit den ursprünglichen 5V der USB-Schnittstelle. Die Datenleitungen der USB-Schnittstelle können auf 3,3V-TTL kommunizieren, daher stellt diese Art des Betriebs kein Problem dar. Leider ist der LM317 auch kein SMD-Modell, das Problem wird jedoch im nächsten Layout bestimmt besser gelöst werden. Lediglich die Schutzdioden wurden in dem Testboard nicht verbaut, dies sollte aber ebenfalls ein kleineres Problem darstellen.

Das Layout das ihr hier findet ist gespiegelt, um mit dem Tonertransferverfahren oder der Belichtungsmethode auf die Platine gebracht zu werden.

XmegaA3U_sch

 

Gruß

Thomas

 

 

USB-Anbindung zum XMEGA

Wir haben zwei neue xmega von Atmel geordert. Mit dabei ist dort ein Chip mit der Endung „U“, was auf einen nativen USB-Port hinweist. In der nächsten Woche werden wir mal ein Entwicklungsboard auf Basis dieses Mikrocontrollers aufbauen und dann mit der Anbindung dieses Chips an den Computer experimentieren. Weiterhin geplant ist die Kommunikation per Matlab, die später eine relativ einfache und flexible Möglichkeit bietet, Daten zu erfassen und zu verarbeiten.

Bis bald

Neue Kategorie bei den Quellcodes

Soeben habe ich eine neue Unterkategorie bei den Quellcodes eröffnet, in der es um nützliche Skripte für Linux geht. Das erste Skript ist schon da und soll euch helfen alte Kernel-Abbilder automatisch zu finden und zu löschen.

Das Skript findet ihr hier: Älteste Kernels löschen / deinstallieren

Vorschläge für weitere Skripte sind willkommen. Ein paar habe ich aber auch noch hier auf meiner Platte. Allerdings müssen die noch etwas umgeschrieben werden, damit sie auch der Allgemeinheit nützen und nicht nur gerade auf mein System passen.