Tutorial Arduino programmieren,

Antworten
Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Tutorial Arduino programmieren,

Beitrag von Mathias »

Ich denke, erst mal ist das beste, wen man das Bootloader brennen, den fertigen Tools überlässt. ZB. mit der Arduino-IDE. Bei einem Arduino-Board entfällt dieser Schritt sowieso, ausser es spinnt etwas.

Was mit in erster Linie vor geht, das man mit wenigen Klicks den Programmer und den Com-Port wechseln kann.
Erste Priorität hat erst mal der Atmega328, da dieser auf den meisten Arduinos verbaut ist.
Ich denke, die Pakage wird schon noch ein wenig Arbeit in Anspruch nehmen, bis alles richtig läuft.

Mit ATiny sieht es sowieso ganz anders aus, da dieser ein anderer Cross-Compiler braucht.
Nochmal anders sieht es aus, wen Lazarus irgendwann STM32 oder auch PIC unterstützt. Aber da würde man sowieso eine komplett neue Package machen.

Wen das wichtigste mal läuft, kann man immer noch erweitern.
Timm hat mal geschrieben, das man ein Cross-Compiler mit verschiedenen Unit-Pfaden bauen kann. Sowas könnte man später auch berücksichtigen.

Arduino hat dafür ein "Board.txt"... Das Thema ist recht komplex...

Dies wäre vielleicht auch noch ein fernes Ziel, das man diese Datei einlesen könnte.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Tutorial Arduino programmieren,

Beitrag von Mathias »

Richtig, dass geht mit der Arduino IDE ebenfalls z.b. kann man strg+u drücken, dann wird es kompiliert und hochgeladen oder man drück strg+r dann wird es nur kompiliert. Feine Sache...
Dies geht auch bei Lazarus.
F9 = kompilieren und starten.
Ctrl+F9 = nur kompilieren.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: Tutorial Arduino programmieren,

Beitrag von pluto »

Was mit in erster Linie vor geht, das man mit wenigen Klicks den Programmer und den Com-Port wechseln kann.
Erste Priorität hat erst mal der Atmega328, da dieser auf den meisten Arduinos verbaut ist.
Ich denke, die Pakage wird schon noch ein wenig Arbeit in Anspruch nehmen, bis alles richtig läuft.

Das wäre das Sinnvollste am Anfang.

F9 = kompilieren und starten.
Ctrl+F9 = nur kompilieren.

Ja, ich weiß, nutzte ich auch zwischendurch.
MFG
Michael Springwald

Timm Thaler
Beiträge: 1224
Registriert: So 20. Mär 2016, 22:14
OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded
CPU-Target: Raspberry Pi 3

Re: Tutorial Arduino programmieren,

Beitrag von Timm Thaler »

Mathias hat geschrieben:Timm hat mal geschrieben, das man ein Cross-Compiler mit verschiedenen Unit-Pfaden bauen kann. Sowas könnte man später auch berücksichtigen.


Und das funktioniert super. Ich bin gerade am ATmega8 mit Avr4, ATmega328 mit Avr5 und ATmega 1284 mit Avr51 dran, mit einem Lazarus / FPC und ohne was umzustellen.

Nur das Crosscompiler-Update mit Fpcupdeluxe muss man für jeden Subarch einzeln machen.

pluto
Lazarusforum e. V.
Beiträge: 7178
Registriert: So 19. Nov 2006, 12:06
OS, Lazarus, FPC: Linux Mint 19.3
CPU-Target: AMD
Wohnort: Oldenburg(Oldenburg)

Re: Tutorial Arduino programmieren,

Beitrag von pluto »

Nur das Crosscompiler-Update mit Fpcupdeluxe muss man für jeden Subarch einzeln machen.

Aber ja nur "einmal" jeweils... das nimmt zwar etwas Zeit in Anspruch, ich denke damit kann man leben....
MFG
Michael Springwald

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Tutorial Arduino programmieren,

Beitrag von Mathias »

Momentan stehe ich an 2 Orten an.

1. "Nacher ausführen" finde ich nicht. Dies ist eine der wichtigsten Optionen, weil dort alle avrdude Parameter sind, zB. auch der Com-Port.

2. Bei Project-Optionen, habe die Frames welche schon da sind mehr Priorität als mein neues Frame für AVR-Optionen. Beispiel die "Benutzerdefinierten Einstellungen". Dies könnte ich aber umgehen, wen ich ein extra-Dialog bei irgend einem Menü-Punkt einfüge. So wie das Beispiel mit dem Serial Monitor.

Ich habe mal die neuste Version bei GitHub hochgeladen.
https://github.com/sechshelme/AVR-Lazar ... VR_Package
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Tutorial Arduino programmieren,

Beitrag von Mathias »

Unterdessen bin ich einen grossen Schritt weiter gekommen.

Dank dieser Modifikation der Lazarus-IDE, kann ich jetzt "Datei --> Neu.. --> AVR-Project" eine lauffähige Vorlage für eine AVR-Anwendung erzeugen.
Momentan sind die Parameter für avrdude statisch, der nächste Schritt wird sein, das man Programmer und COM-Port ändern kann.

Die aktuelle Version von der AVR-Package, hier: https://github.com/sechshelme/AVR-Lazar ... VR_Package
Dort ist auch der Patch vorhanden, wen jemand seine Lazarus-IDE modifizieren will. Nicht vergessen vorher ein Backup von Lazarus zu machen. :wink:
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Tutorial Arduino programmieren,

Beitrag von Mathias »

Momentan bei "Datei --> Neu.. --> AVR-Project' wird ein Project erzeugt, welches auf einem Arduino-Nano auf Anhieb läuft.
Man kann auch anwählen, ob eine Assembler-Datei im Klartext erzeugt werden soll.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Tutorial Arduino programmieren,

Beitrag von Mathias »

So nun ist es soweit, man kann über ein "Datei --> Neu.. --> AVR-Project" ein neues AVR-Project erzeugen.
Diese Einstellungen sollten alle funktionieren (Programmer, Com-Port, AVR-Typ, etc.). Serial Monitor ist ohne Funktion.

Über "Project --> AVR-Project" kann man die Parameter verändern.
Nur hat es da leider noch einen Bug in der Lazarus-IDE, welcher in Arbeit ist. Siehe hier: https://bugs.freepascal.org/view.php?id=34283
Man muss kurz "Project --> Projecteinstellungen..." aufrufen und anschliessend "Abbrechen " klicken. dann hat man beim drücken von F9 alle aktuellen Werte.

Die Package, bekommt man hier: https://github.com/sechshelme/AVR-Lazar ... VR_Package
Voraussetzung, ist die neuste Trunk von Lazarus.

Zum ausprobieren, am besten den Ordner mit dem man das AVR-Lazarus gebaut hat sichern.
Anschliessend kann man mit fpcupdeluxe das AVR-Lazarus updaten. Achtung FPC nicht aktualisieren, da fehlerhaft.

Wäre noch interessant, wen es jemand mit Windows probieren könnte, dabei müssen einfach die COM-Pfade angepasst werden.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

sstvmaster
Beiträge: 575
Registriert: Sa 22. Okt 2016, 23:12
OS, Lazarus, FPC: W10, L 2.2.6
CPU-Target: 32+64bit
Wohnort: Dresden

Re: Tutorial Arduino programmieren,

Beitrag von sstvmaster »

Hi, auf meinem Laptop (1366x768) ist das Setupfenster viel zu groß, das nimmt fast 75% der Breite und 95% der Höhe ein. Ausserdem werden die Buttons unten nicht richtig angezeigt, siehe Bild.

Mit COM Ports könntest du das nicht so machen wie hier:
http://forum.lazarus.freepascal.org/ind ... #msg233324

JP es macht? Wäre doch unabhängig von extra libs.
Dateianhänge
avr.JPG
LG Maik

Windows 10,
- Lazarus 2.2.6 (stable) + fpc 3.2.2 (stable)
- Lazarus 2.2.7 (fixes) + fpc 3.3.1 (main/trunk)

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Tutorial Arduino programmieren,

Beitrag von Mathias »

Das bei dir das Fenster so riessig ist. :shock:
Liegt wohl an Win.

Die Comportsermittlung ist das nächste, das ich einbaue, da habe ich schon
Lösungen für win und Linux.

Habe ich es richtig verstanden, bei die läuft es und du kannst einen Arduino programmieren ?
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

sstvmaster
Beiträge: 575
Registriert: Sa 22. Okt 2016, 23:12
OS, Lazarus, FPC: W10, L 2.2.6
CPU-Target: 32+64bit
Wohnort: Dresden

Re: Tutorial Arduino programmieren,

Beitrag von sstvmaster »

Nein ich habe (noch) keinen Arduino. Werde mir demnächst ein Starter KIT holen. Deshalb bin ich auch sehr interessiert an deiner Arbeit.
LG Maik

Windows 10,
- Lazarus 2.2.6 (stable) + fpc 3.2.2 (stable)
- Lazarus 2.2.7 (fixes) + fpc 3.3.1 (main/trunk)

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Tutorial Arduino programmieren,

Beitrag von Mathias »

Mit COM Ports könntest du das nicht so machen wie hier:
http://forum.lazarus.freepascal.org/ind ... #msg233324


Ist nun auch eingebaut.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

sstvmaster
Beiträge: 575
Registriert: Sa 22. Okt 2016, 23:12
OS, Lazarus, FPC: W10, L 2.2.6
CPU-Target: 32+64bit
Wohnort: Dresden

Re: Tutorial Arduino programmieren,

Beitrag von sstvmaster »

Bitte in der avr_project_options_frame.pas noch folgendes nach IDEExternToolIntf, aufnehmen:

Code: Alles auswählen

{$IFDEF Windows}registry,{$ENDIF}


Warum ist das Fenster immer noch so groß, auch bei Auflösung 1680x1050?

LG
Dateianhänge
avr1.jpg
LG Maik

Windows 10,
- Lazarus 2.2.6 (stable) + fpc 3.2.2 (stable)
- Lazarus 2.2.7 (fixes) + fpc 3.3.1 (main/trunk)

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Tutorial Arduino programmieren,

Beitrag von Mathias »

Weil das die nächste Baustelle ist. :wink:

Anscheinend nur unter Windows.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Antworten