
Tutorial Arduino programmieren,
-
- Beiträge: 6910
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Tutorial Arduino programmieren,
Ist noch Interesse an dem Tutorial vorhanden, man hört so keine Kritik. 

Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
- kupferstecher
- Beiträge: 431
- Registriert: Do 17. Nov 2016, 11:52
Re: Tutorial Arduino programmieren,
Du willst sie, du kriegst sieMathias hat geschrieben:man hört so keine Kritik.

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
Code: Alles auswählen
dataOutPort:= dataOutPort or (1 shl dataOutPin);
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
-
- Beiträge: 6910
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Tutorial Arduino programmieren,
Ohne / geht. Danke.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).
Dies habe ich erst mal auf meinem PC modifiziert.Du hast die Pins über Konstanten abgebildet, das ist gut. Der Port sollte aber auch zentral einstellbar sein, also
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;
Im Einsteiger-Tutorial werde ich die auch vermerken, das dies an anderen Orten sicher auch zu Problemen führen kann.
Dies verstehe ich nicht Ganz.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.
Wie und wo sollte ich das am besten machen ?Auch sollte in jedem Artikel eine Rückverlinkung auf die Tutorialhauptseite stehen.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Beiträge: 98
- Registriert: Di 4. Aug 2015, 15:29
- OS, Lazarus, FPC: Linux, Raspbian, Windows
- CPU-Target: 64/32 Bit
Re: Tutorial Arduino programmieren,
Hallo Mathias,
Beste Grüße
Andreas
Klar, großes Interesse sogar! Mache ruhig weiter.Mathias hat geschrieben:Ist noch Interesse an dem Tutorial vorhanden, man hört so keine Kritik.
Beste Grüße
Andreas
Ubuntu 14.04 LTS / Raspbian / Windows: Lazarus ab 0.9 bis 3.0
- kupferstecher
- Beiträge: 431
- Registriert: Do 17. Nov 2016, 11:52
Re: Tutorial Arduino programmieren,
Geht denn dann gar nichts? Der Code sollte ja schon stimmen, dann wird es ein Compiler-Bug sein.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.
Zum Beispiel die Gliederung des Artikels Schieberegister:Dies verstehe ich nicht Ganz.Du hast bei jedem Artikel die Artikelüberschrift nochmal als innere und oberste Überschrift gemacht [...]
Code: Alles auswählen
1 Schieberegister
1.1 Portzugriffe
1.2 Port-Konstanten
1.3 Schieberegister schreiben 74HC595
Code: Alles auswählen
1 Portzugriffe
2 Port-Konstanten
3 Schieberegister schreiben 74HC595
Z.B. wie hier:Wie und wo sollte ich das am besten machen ?Auch sollte in jedem Artikel eine Rückverlinkung auf die Tutorialhauptseite stehen.
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.
-
- Beiträge: 6910
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Tutorial Arduino programmieren,
Hast du diese Zeile gemeint :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.
Code: Alles auswählen
Zur Übersichtseite AVR Embedded Tutorial/de.
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.ann.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
Geht denn dann gar nichts? Der Code sollte ja schon stimmen, dann wird es ein Compiler-Bug sein.
Mal gucken, wie ich das am besten hinkriege, so das der Titel in deutsch bleibt.Zum Beispiel die Gliederung des Artikels Schieberegister:
Irgendwie finde ich den Titel im Inhaltsverzeichnis gar nicht schlecht.

PS: Der Arduino Mega funktioniert jetzt auch unter Lazarus.

Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Beiträge: 6910
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Tutorial Arduino programmieren,
Ich habe gerade einen Bug-Report geschrieben: https://bugs.freepascal.org/view.php?id=32730Mit 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.
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 grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
- kupferstecher
- Beiträge: 431
- Registriert: Do 17. Nov 2016, 11:52
Re: Tutorial Arduino programmieren,
Genau, wobei die Rückverlinkung am Seitenende wichtiger ist.Mathias hat geschrieben:Hast du diese Zeile gemeint
Super~Mathias hat geschrieben:Ich habe gerade einen Bug-Report geschrieben: https://bugs.freepascal.org/view.php?id=32730
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.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.
-
- Beiträge: 6910
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Tutorial Arduino programmieren,
Die Rückverlinkungen habe ich jetzt eingebaut.Genau, wobei die Rückverlinkung am Seitenende wichtiger ist.
Die 3.0.4rc1 hat es mit der Einstellung Trunk gebaut, wieso auch immer ?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.
Oder entsteht demnächst aus der 3.1.1 die finale 3.0.4 ?
Die habe dort auch schon wegen 3.1.1 und 3.0.4rc1 nachgefragt.Ich habe gerade einen Bug-Report geschrieben: https://bugs.freepascal.org/view.php?id=32730
Oder macht etwa fpcupdelux einen Fehler mit den Versionen ?
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Beiträge: 6910
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Tutorial Arduino programmieren,
Jetzt wird mit fpcupdelux wieder die Trunk erzeugt.
Ich denke, das hat daran gelegen, das gerade FPC 3.0.4 erschienen ist.
Code: Alles auswählen
Free Pascal Compiler version 3.1.1-r37633 [2017/11/30] for x86_64
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Beiträge: 6910
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Tutorial Arduino programmieren,
Ich wollte fpcupdelux in wine laufen lassen, da hat er gemotzt, das svn fehlt. Anscheinend ist svn und Windows auch keine Selbstverständlichkeit.Mathias hat geschrieben: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.Nein in Windows hab ich nix spezielles unternommen.
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.
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 So 10. Dez 2017, 18:08, insgesamt 1-mal geändert.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
- af0815
- Lazarusforum e. V.
- Beiträge: 6770
- 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: Tutorial Arduino programmieren,
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.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.
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).
-
- Beiträge: 6910
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Tutorial Arduino programmieren,
doppelpost
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Beiträge: 6910
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Tutorial Arduino programmieren,
Ich habe das Tutorial dementsprechend angepasst.Edit: Siehe fpcupdeluxe\svcclient.pas so ab Zeile 125
Da steht wo der fpcupdeluxe normalerweise den svnclient sucht
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Beiträge: 6910
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
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.
http://wiki.freepascal.org/AVR_Embedded ... ansprechen
Wen jemand noch eine Idee hat, was man im Tutorial noch beschreiben kann, kann sich melden.
Ich denke mal, es gibt kaum eine eleganter Möglichkeit, um die einzelnen Pins anzusprechen.

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 grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot