LazPackageEmbeddedAVR: Projekt-Dialog für Target AVR

Rund um die LCL und andere Komponenten
Mathias
Beiträge: 6193
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: LazPackageEmbeddedAVR: Projekt-Dialog für Target AVR

Beitrag von Mathias »

Hat schon mal wer meine Pakage angeguckt, mit der kann man zur Laufzeit die AVR-Parameter verändern ?

viewtopic.php?f=9&t=11127&p=105496&hilit=avr+pakage#p105496
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6208
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: LazPackageEmbeddedAVR: Projekt-Dialog für Target AVR

Beitrag von af0815 »

So wie es aussieht, wäre es schön, die Kräfte zu bündeln :-)

Was ist der Unterschied zwischen den Paketen, für mich als Laien ?!
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6208
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: LazPackageEmbeddedAVR: Projekt-Dialog für Target AVR

Beitrag von af0815 »

Ich habe mich entschlossen hier bei meinem Fork https://github.com/afriess/LazPackageEm ... e/wip_andi mal meine Änderungen einfliessen zu lassen.

@kupferstecher

Schau dir mal das an, wenn das in deinen Sinn ist, so bereite ich das für einen Pull-Request vor.

Q: Warum kopierst du das Verzeichnis \fpcsrc\rtl\embedded\avr in das Package ? Nur weil es fpc Versionen ohne Source gibt ?

Weil gerade hier wäre ein Sync mit dem FPC-Verzeichnis sinnvoll für die Wartung.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Benutzeravatar
kupferstecher
Beiträge: 422
Registriert: Do 17. Nov 2016, 11:52

Re: LazPackageEmbeddedAVR: Projekt-Dialog für Target AVR

Beitrag von kupferstecher »

af0815 hat geschrieben:Ich habe mich entschlossen hier bei meinem Fork https://github.com/afriess/LazPackageEm ... e/wip_andi mal meine Änderungen einfliessen zu lassen.

Sehr vorbildlich! Habs mir gerade angeschaut. Die ergänzte Dokumentation übernehme ich auf jeden Fall. Mit dem Laz_Synapse-Package bin ich mir jetzt nicht so sicher. Ich hätte die Installation gerne so einfach wie möglich und die Synaser-Dateien nehmen ja auch kaum Speicherplatz ein. Zu Konflikten darf es natürlich nicht kommen. Es sollte doch funktionieren, die Synaser-Dateien umzubenennen und damit unbeeinflusst von einer parallelen Laz-Synapse-Installation zu sein. (Danke @fliegermichel).
Gibt es dagegen Einwände? Vorteile bei der Lösung über OPM?
Dann würde ich das mal probieren.

af0815 hat geschrieben:Q: Warum kopierst du das Verzeichnis \fpcsrc\rtl\embedded\avr in das Package ? Nur weil es fpc Versionen ohne Source gibt ?

Genau. Und weil ich nicht weiß, wie ich aus dem Package raus an die Sourcen komme (Pfad?). Es soll halt auf Anhieb funktionieren.
Wäre aber auf jeden Fall interessant einen Abgleich zu machen. Die Grundlagen sind ja gelegt, es muss nur die Controllerdatei im Verzeichnis liegen, dann "kennt" der Wizard auch den Controller und erzeugt die Interruptdatei entsprechend. Nur die CPU-Zuordnung (z.B. AVR4) findet sich nicht in der Datei, muss dann im Wizard händisch eingestellt werden für Controller, die nicht in der hinterlegten Liste stehen.
Wie kann man den Sourcen-Pfad in Lazarus abfragen?

Mathias hat geschrieben:Hat schon mal wer meine Pakage angeguckt, mit der kann man zur Laufzeit die AVR-Parameter verändern ?

Hab ich schonmal angeschaut. Und gerade nochmal. Die Parameteränderung ist gut. Bei dir gibt es aber nur Controller mit dem Befehlssatz AVR5?

af0815 hat geschrieben:So wie es aussieht, wäre es schön, die Kräfte zu bündeln :-)

Schon, aber man hat halt eigene Vorstellungen 8)
Die Interruptgeschichte war mir wichtig, weil das immer ein Gesuche ist, man leicht Fehler macht und beim Intterrupt ja letztlich nie weiss warum er nicht funktioniert (Falsche Registereinstellungen, falscher Funktionsname, Interrupt nicht aktiviert...).
Mein Wizard war ja ursprünglich ein Programm und kein Plugin, Mathias' Plugin hat mich dann inspiriert.

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6208
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: LazPackageEmbeddedAVR: Projekt-Dialog für Target AVR

Beitrag von af0815 »

So damit die Sache einfacher wird, habe ich auch ein Repository gemacht :-) Nachdem ich da sowieso was zum lernen habe, mache ich es gleich öffentlich. Siehe https://github.com/afriess/Laz_AVR_Lib

Damit geht das mal 'Out of the Box', sprich das Beispiel Blinker aus Arduino lässt sich mal umsetzen. Dabei habe ich schon mal viel gelernt.

Code: Alles auswählen

procedure setup;
begin
  pinMode(ardLED_BUILTIN,ardOUTPUT);
end;
 
begin
  setup;
  while True do
  begin
    digitalWrite(ardLED_BUILTIN,ardHIGH);
    delay(1000);
    digitalWrite(ardLED_BUILTIN,ardLOW);
    delay(1000);
  end;//Main loop
end.
 


kupferstecher hat geschrieben:
af0815 hat geschrieben:Ich habe mich entschlossen hier bei meinem Fork https://github.com/afriess/LazPackageEm ... e/wip_andi mal meine Änderungen einfliessen zu lassen.

Sehr vorbildlich! Habs mir gerade angeschaut. Die ergänzte Dokumentation übernehme ich auf jeden Fall. Mit dem Laz_Synapse-Package bin ich mir jetzt nicht so sicher. Ich hätte die Installation gerne so einfach wie möglich und die Synaser-Dateien nehmen ja auch kaum Speicherplatz ein. Zu Konflikten darf es natürlich nicht kommen. Es sollte doch funktionieren, die Synaser-Dateien umzubenennen und damit unbeeinflusst von einer parallelen Laz-Synapse-Installation zu sein. (Danke @fliegermichel).
Gibt es dagegen Einwände? Vorteile bei der Lösung über OPM?

Wenn du die Pakete übernimmst, dann bist duch auch für das Updaten verantwortlich. OPM ist mittlerweile so einfacht und stabil, das man es nehmen kann. Nur bei ganz alte Installationen von Lazarus fehlt es.

kupferstecher hat geschrieben:
af0815 hat geschrieben:Q: Warum kopierst du das Verzeichnis \fpcsrc\rtl\embedded\avr in das Package ? Nur weil es fpc Versionen ohne Source gibt ?

Genau. Und weil ich nicht weiß, wie ich aus dem Package raus an die Sourcen komme (Pfad?). Es soll halt auf Anhieb funktionieren.
Wäre aber auf jeden Fall interessant einen Abgleich zu machen. Die Grundlagen sind ja gelegt, es muss nur die Controllerdatei im Verzeichnis liegen, dann "kennt" der Wizard auch den Controller und erzeugt die Interruptdatei entsprechend. Nur die CPU-Zuordnung (z.B. AVR4) findet sich nicht in der Datei, muss dann im Wizard händisch eingestellt werden für Controller, die nicht in der hinterlegten Liste stehen.
Wie kann man den Sourcen-Pfad in Lazarus abfragen?

Der Pfad vom FPC ist Lazarus ja bekannt. Die Struktur vom FPC ist auch stabil, damit könnte man arbeiten. Zumindest als Default-Pfad verwenden.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

DL3AD
Beiträge: 478
Registriert: Fr 13. Sep 2013, 12:07
OS, Lazarus, FPC: Debian Bullseye (L 2.2.0)
CPU-Target: 64Bit
Wohnort: Rügen

Re: LazPackageEmbeddedAVR: Projekt-Dialog für Target AVR

Beitrag von DL3AD »

Hallo,
mal eine Frage - ich mache bisher meine AVR Projekte in Bascom / Lunaavr.
Gibt es fur Lazarus für die AVR Programmierung eine art Sprachreferenz ?

Gruß Frank

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6208
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: LazPackageEmbeddedAVR: Projekt-Dialog für Target AVR

Beitrag von af0815 »

Im Hintergrund ist der gnu avr as, wenn du das meinst. Ansonsten geht pascal OHNE real Unterstützug und ohne class. Es ist aber ein laufender Prozess, im fpc ist schon auch angedacht (irgendwann) real zu unterstützen. Aktuell kommt nur ein komischer Internal Error, aber lt. Mantis ist das comming soon :D

Deswegen ist das auch mit der Sprachreferenz so eine Sache.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

DL3AD
Beiträge: 478
Registriert: Fr 13. Sep 2013, 12:07
OS, Lazarus, FPC: Debian Bullseye (L 2.2.0)
CPU-Target: 64Bit
Wohnort: Rügen

Re: LazPackageEmbeddedAVR: Projekt-Dialog für Target AVR

Beitrag von DL3AD »

...was ist mit real und class gemeint ?
Ich meinte Sprachelemente wie z.B. Ports schalten, Timer, Serielle Schnittstelle, I2C ...und steuernde Elemente wie Schleifen if, Case...(die hoffe ich sind wie gehabt in Pascal)

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6208
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: LazPackageEmbeddedAVR: Projekt-Dialog für Target AVR

Beitrag von af0815 »

DL3AD hat geschrieben:...was ist mit real und class gemeint ?
Ich meinte Sprachelemente wie z.B. Ports schalten, Timer, Serielle Schnittstelle, I2C ...und steuernde Elemente wie Schleifen if, Case...(die hoffe ich sind wie gehabt in Pascal)


Hat mit dem Package nichts zu tun -> Weiter in diesem Thread https://www.lazarusforum.de/viewtopic.php?f=18&t=12422
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Antworten