Schlagwort-Archive: AVR

Der Quadcopter auf github

Es gibt tolle Neuigkeiten bezüglich des Quadcopter-Projekts. Den kompletten Programmcode kann man nun auf github finden. Der Code steht öffentlich zur Verfügung und wird immer weiter entwickelt. Mal kommt was neues dazu, mal werden bestehende Probleme beseitigt, mal werden ganze Klassen wieder umgekrempelt, weil man damit entweder Code sparen kann oder es anschließend einfacher komfortabler wird. Schaut es euch einfach in Ruhe an: Quadcopter auf github. Und wie immer: Bei Fragen, fragt.

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

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.

AVR ISP mkII Kabelupgrade

Heute Nacht habe ich mal wieder eine für mich nützliche Erweiterung gebastelt, indem ich das ISP6-Kabel von unserem AVR ISP mkII Programmer mit einem Stecker erweitert habe, der von der Pinbelegung her exakt auf einen Atmega16 oder Atmega8535 passt. Das war unter anderem gerade deswegen notwendig, weil unsere RGB-LED-Matrix mal wieder umprogrammiert werden musste und unsere anderen Programmer aus dem Billigpreissegment ja einfach nicht mehr funktionieren wollten.

Hier seht ihr die fertige Friemelei:

AVR ISP mkII KabelupgradeAuf der kunstvollen Zeichnung im Hintergrund kann man die Verdrahtung erkennen und daneben ist nochmal die Pinbelegung eines Atmega16 aufgelistet zum Vergleich. Was hier auf den ersten Blick noch etwas verwirrend erscheint ist wohl der 10 kOhm Widerstand auf dem ISP6-Stecker. Dieser verbindet gerade Vcc und Reset, damit der Reset-Pin immer auf logisch 1 steht und unser Programmer nicht wie wild orange zu blinken beginnt. Normalerweise gehört dieser Widerstand direkt auf die Platine, auf der auch der AVR platziert ist, aber in unserem speziellen Fall war dieser Pull-Up dort noch nicht vorhanden und musste kurzerhand dazu gesteckt werden.

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