Tutorial Arduino programmieren,
-
- Beiträge: 6194
- 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: 422
- Registriert: Do 17. Nov 2016, 11:52
Re: Tutorial Arduino programmieren,
Mathias hat geschrieben:man hört so keine Kritik.
Du willst sie, du kriegst sie
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
-
- Beiträge: 6194
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
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.
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.
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 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,
Klar, großes Interesse sogar! Mache ruhig weiter.
Beste Grüße
Andreas
Mathias hat geschrieben:Ist noch Interesse an dem Tutorial vorhanden, man hört so keine Kritik.
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
- kupferstecher
- Beiträge: 422
- Registriert: Do 17. Nov 2016, 11:52
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.
Dies verstehe ich nicht Ganz.Du hast bei jedem Artikel die Artikelüberschrift nochmal als innere und oberste Überschrift gemacht [...]
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.
-
- Beiträge: 6194
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
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.
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.
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.
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: 6194
- 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: 422
- Registriert: Do 17. Nov 2016, 11:52
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.
-
- Beiträge: 6194
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
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 grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Beiträge: 6194
- 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
Ich denke, das hat daran gelegen, das gerade FPC 3.0.4 erschienen ist.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Beiträge: 6194
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
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 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: 6209
- 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,
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).
-
- Beiträge: 6194
- 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: 6194
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
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 grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
-
- Beiträge: 6194
- 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