Tutorial Arduino programmieren,

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.

Re: Tutorial Arduino programmieren,

Beitragvon Mathias » 21. Nov 2017, 18:35 Re: Tutorial Arduino programmieren,

Ist noch Interesse an dem Tutorial vorhanden, man hört so keine Kritik. :roll:
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4271
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon kupferstecher » 23. Nov 2017, 12:50 Re: Tutorial Arduino programmieren,

Mathias hat geschrieben:man hört so keine Kritik.

Du willst sie, du kriegst sie :D

Du hast bei jedem Artikel die Artikelüberschrift nochmal als innere und oberste Überschrift gemacht, das macht man eigentlich nicht, ist ja doppelte Information. Auch kommt die Kurzeinleitung normalerweise über die Inhaltsangabe. Wenns dir um den deutschen Titel geht, schreibe ihn einfach in die erste Zeile vor die Kurzzusammenfassung. Auch sollte in jedem Artikel eine Rückverlinkung auf die Tutorialhauptseite stehen.

Zum Schieberegisterartikel:
http://wiki.freepascal.org/AVR_Embedded ... beregister

Du hast die Pins über Konstanten abgebildet, das ist gut. Der Port sollte aber auch zentral einstellbar sein, also

Code: Alles auswählen
var
  dataOutPort: Byte absolute PortD; //PortD
const
  dataOutPin = 0; // PD0


und statt WritePortD(dataOutPin, True); dann
Code: Alles auswählen
dataOutPort:= dataOutPort or (1 shl dataOutPin);


Das WritePortD ist für ein Tutorial auch insofern unglücklich, da die Routinen nicht vorhanden sind, auf der Seite IOs wird die Routine auch nur beipielhaft für einen Port vorgestellt.


Zur fehlerhaften Kopfzeile, das scheint am Titel zu liegen, in den Beispielen ist ein "/" drin (I2C/TWI). Da kommt das Wiki dann mit der Sprache durcheinander. Es sollten also keine Schrägstriche im Titel vorkommen außer zur Sprachdefinition (/de).

Grüße
kupferstecher
 
Beiträge: 155
Registriert: 17. Nov 2016, 11:52

Beitragvon Mathias » 23. Nov 2017, 18:42 Re: Tutorial Arduino programmieren,

Zur fehlerhaften Kopfzeile, das scheint am Titel zu liegen, in den Beispielen ist ein "/" drin (I2C/TWI). Da kommt das Wiki dann mit der Sprache durcheinander. Es sollten also keine Schrägstriche im Titel vorkommen außer zur Sprachdefinition (/de).

Ohne / geht. Danke.

Du hast die Pins über Konstanten abgebildet, das ist gut. Der Port sollte aber auch zentral einstellbar sein, also

Dies habe ich erst mal auf meinem PC modifiziert.

Code: Alles auswählen
var
  shiftPort: byte absolute PortA;


und statt WritePortD(dataOutPin, True); dann

Code: Alles auswählen
  procedure shiftOut595(val: byte);
  var
    i: byte;
  begin
    for i := 7 downto 0 do begin
      if (val and (1 shl i)) <> 0 then begin
        shiftPort := shiftPort or (1 shl dataOutPin);
    //      WritePortA(dataOutPin, True);
      end else begin
        shiftPort := shiftPort and not (1 shl dataOutPin);
   //       WritePortA(dataOutPin, False);
      end;
      shiftPort := shiftPort or (1 shl clockPin);
      shiftPort := shiftPort and not (1 shl clockPin);
     //       WritePortA(clockPin, True);
     //       WritePortA(clockPin, False);
    end;
  end;

Das hat zur Folge, das es nur mit {$O-} läuft, aber dies könnte man im Tutorial vermerken.
Im Einsteiger-Tutorial werde ich die auch vermerken, das dies an anderen Orten sicher auch zu Problemen führen kann.

Du hast bei jedem Artikel die Artikelüberschrift nochmal als innere und oberste Überschrift gemacht, das macht man eigentlich nicht, ist ja doppelte Information. Auch kommt die Kurzeinleitung normalerweise über die Inhaltsangabe. Wenns dir um den deutschen Titel geht, schreibe ihn einfach in die erste Zeile vor die Kurzzusammenfassung.
Dies verstehe ich nicht Ganz.

Auch sollte in jedem Artikel eine Rückverlinkung auf die Tutorialhauptseite stehen.

Wie und wo sollte ich das am besten machen ?
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4271
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon AndreasMR » 24. Nov 2017, 20:57 Re: Tutorial Arduino programmieren,

Hallo Mathias,

Mathias hat geschrieben:Ist noch Interesse an dem Tutorial vorhanden, man hört so keine Kritik. :roll:


Klar, großes Interesse sogar! Mache ruhig weiter.

Beste Grüße

Andreas
Ubuntu 14.04 LTS / Raspbian / Windows: Lazarus ab 0.9 bis 3.0
AndreasMR
 
Beiträge: 86
Registriert: 4. Aug 2015, 14:29
OS, Lazarus, FPC: Linux, Raspbian, Windows | 
CPU-Target: 64/32 Bit
Nach oben

Beitragvon kupferstecher » 24. Nov 2017, 21:53 Re: Tutorial Arduino programmieren,

Mathias hat geschrieben:Das hat zur Folge, das es nur mit {$O-} läuft, aber dies könnte man im Tutorial vermerken.
Im Einsteiger-Tutorial werde ich die auch vermerken, das dies an anderen Orten sicher auch zu Problemen führen kann.

Geht denn dann gar nichts? Der Code sollte ja schon stimmen, dann wird es ein Compiler-Bug sein.

Du hast bei jedem Artikel die Artikelüberschrift nochmal als innere und oberste Überschrift gemacht [...]
Dies verstehe ich nicht Ganz.

Zum Beispiel die Gliederung des Artikels Schieberegister:
Code: Alles auswählen
 1 Schieberegister
    1.1 Portzugriffe
    1.2 Port-Konstanten
    1.3 Schieberegister schreiben 74HC595

Das Kapitel "1 Schieberegister" ist sinnlos. Es sollte so sein:
Code: Alles auswählen
 
 1 Portzugriffe
 2 Port-Konstanten
 3 Schieberegister schreiben 74HC595


Auch sollte in jedem Artikel eine Rückverlinkung auf die Tutorialhauptseite stehen.

Wie und wo sollte ich das am besten machen ?

Z.B. wie hier:
http://wiki.freepascal.org/AVR_Embedded ... l_-_SPI/de
Also ganz am Anfang und ganz am Ende. Wobei der Link ganz am Anfang nur im Tutorial sinnvoll ist. Bei normalen Wikiartikeln macht man das nicht.
kupferstecher
 
Beiträge: 155
Registriert: 17. Nov 2016, 11:52

Beitragvon Mathias » 24. Nov 2017, 22:08 Re: Tutorial Arduino programmieren,

Z.B. wie hier:
http://wiki.freepascal.org/AVR_Embedded ... l_-_SPI/de
Also ganz am Anfang und ganz am Ende. Wobei der Link ganz am Anfang nur im Tutorial sinnvoll ist. Bei normalen Wikiartikeln macht man das nicht.

Hast du diese Zeile gemeint :
Code: Alles auswählen
Zur Übersichtseite AVR Embedded Tutorial/de.


Das hat zur Folge, das es nur mit {$O-} läuft, aber dies könnte man im Tutorial vermerken.
Im Einsteiger-Tutorial werde ich die auch vermerken, das dies an anderen Orten sicher auch zu Problemen führen k
ann.

Geht denn dann gar nichts? Der Code sollte ja schon stimmen, dann wird es ein Compiler-Bug sein.

Mit einem Gemisch mit WritePortA( und shiftPort funktioniert es, aber für die werde ich einen neunen Thread erstellen., da dies nichts mit dem Tutorial zu tun hat.

Zum Beispiel die Gliederung des Artikels Schieberegister:

Mal gucken, wie ich das am besten hinkriege, so das der Titel in deutsch bleibt.
Irgendwie finde ich den Titel im Inhaltsverzeichnis gar nicht schlecht. :wink:


PS: Der Arduino Mega funktioniert jetzt auch unter Lazarus. :wink:
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4271
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon Mathias » 25. Nov 2017, 21:11 Re: Tutorial Arduino programmieren,

Mit einem Gemisch mit WritePortA( und shiftPort funktioniert es, aber für die werde ich einen neunen Thread erstellen., da dies nichts mit dem Tutorial zu tun hat.
Ich habe gerade einen Bug-Report geschrieben: https://bugs.freepascal.org/view.php?id=32730

Dabei habe ich festgestellt, das die aktuelle Trunk von FPC mit 3.0.4rc1 antwortet, anstelle mit 3.1.1 .
Somit könnte die 3.0.4 Final, eine ordentliche AVR-Unterstützung enthalten. Dies wäre für das Einstieger-Tutorial viel einfacher, da es dort keine tägliche Änderungen gibt.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4271
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon kupferstecher » 26. Nov 2017, 11:02 Re: Tutorial Arduino programmieren,

Mathias hat geschrieben:Hast du diese Zeile gemeint

Genau, wobei die Rückverlinkung am Seitenende wichtiger ist.

Mathias hat geschrieben:Ich habe gerade einen Bug-Report geschrieben: https://bugs.freepascal.org/view.php?id=32730

Super~

Mathias hat geschrieben:Somit könnte die 3.0.4 Final, eine ordentliche AVR-Unterstützung enthalten. Dies wäre für das Einstieger-Tutorial viel einfacher, da es dort keine tägliche Änderungen gibt.

Fürs Tutorial wäre es sicher auch hilfreich, eine Version anzugeben, welche auch erfolgreich compiliert. In den Trunk-Versionen schleichen sich ja des öfteren Fehler ein, sodass der Crosscompiler gar nicht erstellt werden kann. Dann ist es gut, eine Version zu kennnen, bei der es funktionieren muss.
kupferstecher
 
Beiträge: 155
Registriert: 17. Nov 2016, 11:52

Beitragvon Mathias » 26. Nov 2017, 20:21 Re: Tutorial Arduino programmieren,

Genau, wobei die Rückverlinkung am Seitenende wichtiger ist.

Die Rückverlinkungen habe ich jetzt eingebaut.

Fürs Tutorial wäre es sicher auch hilfreich, eine Version anzugeben, welche auch erfolgreich compiliert. In den Trunk-Versionen schleichen sich ja des öfteren Fehler ein, sodass der Crosscompiler gar nicht erstellt werden kann. Dann ist es gut, eine Version zu kennnen, bei der es funktionieren muss.

Die 3.0.4rc1 hat es mit der Einstellung Trunk gebaut, wieso auch immer ?
Oder entsteht demnächst aus der 3.1.1 die finale 3.0.4 ?

Ich habe gerade einen Bug-Report geschrieben: https://bugs.freepascal.org/view.php?id=32730

Die habe dort auch schon wegen 3.1.1 und 3.0.4rc1 nachgefragt.

Oder macht etwa fpcupdelux einen Fehler mit den Versionen ?
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4271
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon Mathias » 30. Nov 2017, 18:39 Re: Tutorial Arduino programmieren,

Jetzt wird mit fpcupdelux wieder die Trunk erzeugt.
Code: Alles auswählen
Free Pascal Compiler version 3.1.1-r37633 [2017/11/30] for x86_64

Ich denke, das hat daran gelegen, das gerade FPC 3.0.4 erschienen ist.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4271
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon Mathias » 10. Dez 2017, 17:46 Re: Tutorial Arduino programmieren,

Mathias hat geschrieben:
Nein in Windows hab ich nix spezielles unternommen.

So wie es scheint, braucht es Subversion unter Windows nicht, ich habe fpcupdelux gerade unter Win10 gestartet und da führt er SVN-Kommandos ohne Fehler aus.
Nur schläft das ganze ein, das es in der VB läuft.

Das es bei dir und af0815 ohne läuft, werde ich das Tutorial anpassen.

Ich wollte fpcupdelux in wine laufen lassen, da hat er gemotzt, das svn fehlt. Anscheinend ist svn und Windows auch keine Selbstverständlichkeit.

So nebenbei schon seit längerer Zeit, kann man kein FPC mehr mit fpcupdelux erstellen, egal ob stable oder trunk. Daher wollte ich es mit wine probieren.
Irgendwie habe ich das Gefühl, das es ein Durcheinander mit FPC 3.0.4 und 3.1.1 hat.
Zuletzt geändert von Mathias am 10. Dez 2017, 18:08, insgesamt 1-mal geändert.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4271
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon af0815 » 10. Dez 2017, 17:52 Re: Tutorial Arduino programmieren,

Mathias hat geschrieben:Ich wollte fpcupdelux in wine laufen lassen, da hat er gemotzt, das svn fehlt. Anscheinend ist svn und Windows auch keine Selbstverständlichkeit.

Die Frage ist, was er für ein System erkannt hat. Bei Windows lädt fpcupdeluxe von sich aus ein minimales svn (oder auch git) System automatisch herunter. Bei Linux meines Wissens nicht. Vielleicht hat in Wine fpcupdelux Probleme zu erkennen für welches System er arbeiten muss.

Andreas

Edit: Siehe fpcupdeluxe\svcclient.pas so ab Zeile 125
Da steht wo der fpcupdeluxe normalerweise den svnclient sucht
Zitat:
Code: Alles auswählen
    {$IFDEF MSWINDOWS}
    // Some popular locations for SlikSVN, Subversion, and TortoiseSVN:
    // Covers both 32 bit and 64 bit Windows.
    if not FileExists(FRepoExecutable)
       then FRepoExecutable := GetEnvironmentVariable('ProgramFiles\Subversion\bin' + RepoExecutableName + '.exe')
       else break;
    if not FileExists(FRepoExecutable)
       then FRepoExecutable := GetEnvironmentVariable('
ProgramFiles(x86)\Subversion\bin\' + RepoExecutableName + '.exe')
       else break;
    if not FileExists(FRepoExecutable)
       then FRepoExecutable := GetEnvironmentVariable('
ProgramFiles\SlikSvn\bin\' + RepoExecutableName + '.exe')
       else break;
    if not FileExists(FRepoExecutable)
       then FRepoExecutable := GetEnvironmentVariable('
ProgramFiles(x86)\SlikSvn\bin\' + RepoExecutableName + '.exe')
       else break;
    if not FileExists(FRepoExecutable)
       then FRepoExecutable := GetEnvironmentVariable('
ProgramFiles\TorToiseSVN\bin\' + RepoExecutableName + '.exe')
       else break;
    if not FileExists(FRepoExecutable)
       then FRepoExecutable := GetEnvironmentVariable('
ProgramFiles(x86)\TorToiseSVN\bin\' + RepoExecutableName + '.exe')
       else break;
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
af0815
 
Beiträge: 3472
Registriert: 7. Jan 2007, 10:20
Wohnort: Niederösterreich
OS, Lazarus, FPC: FPC 3.2 Lazarus 2.0 per fpcupdeluxe | 
CPU-Target: 32Bit (64Bit)
Nach oben

Beitragvon Mathias » 10. Dez 2017, 18:07 Re: Tutorial Arduino programmieren,

doppelpost
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4271
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon Mathias » 10. Dez 2017, 18:12 Re: Tutorial Arduino programmieren,

Edit: Siehe fpcupdeluxe\svcclient.pas so ab Zeile 125
Da steht wo der fpcupdeluxe normalerweise den svnclient sucht

Ich habe das Tutorial dementsprechend angepasst.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4271
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

Beitragvon Mathias » 13. Dez 2017, 18:08 Re: Tutorial Arduino programmieren,

Ich habe noch das Tutorial GPIO angepasst, das es unter FPC die Wörter bitpacked und absolute verwendet.
Ich denke mal, es gibt kaum eine eleganter Möglichkeit, um die einzelnen Pins anzusprechen. :wink:

http://wiki.freepascal.org/AVR_Embedded ... ansprechen

Wen jemand noch eine Idee hat, was man im Tutorial noch beschreiben kann, kann sich melden.
Mit Lazarus sehe ich gün
Mit Java und C/C++ sehe ich rot
Mathias
 
Beiträge: 4271
Registriert: 2. Jan 2014, 17:21
Wohnort: Schweiz
OS, Lazarus, FPC: Linux (die neusten Trunc) | 
CPU-Target: 64Bit
Nach oben

» Weitere Beiträge siehe nächste Seite »
VorherigeNächste

Zurück zu Sonstiges



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste

porpoises-institution
accuracy-worried