Archiv der Kategorie: Programme

[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

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

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.

Mikrocontroller Artikelwettbewerb

Hallo Leute

Wie ihr vielleicht schon erfahren habt, hat der Bastelkeller beim Artikelwettbewerb teilgenommen. Mit unserem Artikel über den DMA bei ATxmegas haben wir leider nur einen Platinengutschein gewinnen können, aber uns gleichzeitig für das nächste Mal vorgenommen, ein ganzes Projekt zu beschreiben wie es die hochplatzierten getan haben.
Für interessierte Leser werden wir den Artikel in bearbeiteter und erweiterter Form auch hier online stellen.

Bis bald!

Erste Informationen zum Programmablauf im Quadcopter

Ich habe soeben eine erste Unterseite zum Quadcopter-Projekt angelegt, die euch den Aufbau und Inhalt des bisherigen Quellcodes vom Quadcopter näher bringen soll. Klickt dazu einfach im Menü auf Projekte -> Quadcopter -> Das Programm oder wählt den schnellen Weg über diesen Link.

Falls ihr Fragen oder Kritik dazu habt, nutzt am besten die Kommentarfunktion auf der entsprechenden Seite und nicht die unter diesem Beitrag.

Wie programmiere ich denn nun den XMega unter Linux?

Ich hatte ja schon vor kurzem auf unserer Facebook-Page versprochen einen Artikel darüber zu schreiben wie man einen ATXMega128A1 unter Linux Mint 13 programmieren kann und was dazu benötigt wird.

Also fange ich mal damit an, was ich softwareseitig so alles nutze. Auf meinem Laptop ist ein zur Zeit aktuelles Linux Mint 13 x64 (Maya) installiert mit Mate als Desktop und Compiz als Fenstermanager. Als IDE zur Programmierung für bisher alle von uns genutzten AVRs nutze ich Eclipse CDT mit dem AVR-Plugin. Dazu sind die folgenden Schritte notwendig:

Wie programmiere ich denn nun den XMega unter Linux? weiterlesen

Schaltungssimulation mal kostenlos

Neben Linear Technologys LTspice bietet Analog Devices mit der neuen Version 12 des NI Multisim eine kostenlose Plattform zur Simulation von Schaltungen mit Bauteilen von AD. Es lassen sich auch Schaltungen ohne Mikrochips simulieren, wie man es bereits von LTspice kennt, die Aufmachung von Multisim ist jedoch um ein Stück vielversprechender als beim Simulator von LT. Wir werden es einmal für Euch antesten und dann davon berichten, wünschen schon einmal viel Spaß beim Ausprobieren und Simulieren.