Ist die Programmierung mit Lazarus Free-Pascal zeitgemäß??

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Antworten
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: Ist die Programmierung mit Lazarus Free-Pascal zeitgemäß

Beitrag von pluto »

Timm Thaler hat geschrieben:Ähm sorry, nur weil Dir gerade keine einfallen heisst das nicht, dass es nicht zahlreiche Anwendungen für µC in Echtzeit gibt. Angefangen von stromsparenden Sensoren, Datenloggern bis zu Motorregelung, PWM. => 3D-Drucker, Quadrokopter, CNC-Maschine...

Es mag Anwendungsfälle geben. Für PWM, reicht aber auch ein einfacher AVR.

Timm Thaler hat geschrieben:Jede Woche schlagen im Raspberry-Forum die Leute auf, die sich wundern warum ihre LED-Steuerung mit PWM auf dem Raspi flackert. Tja, ist halt kein Echtzeit-System

Richtig, dass sollte "Ausgelagert" werden...

Timm Thale hat geschrieben:Meine Heizungssteuerung macht Phasenanschnitt- bzw. Schwingungspaketsteuerung für die Heizungs-, Solar-, Kessel-... pumpen, Mischer netzsynchron für 10 Ausgänge mit einem ATtiny. Steuerung über I2C. Die netzsynchrone Ansteuerung überlasse ich nicht dem Hauptcontroller - denn jeden Jitter um ein paar µsec in der Ansteuerung hörst Du in den Pumpen - und schon gar nicht einem Raspberry oder irgendwas super intelligentem, was dann erstmal mit sich selbst beschäftigt ist.

Was nutzt du als Hauptcontroller?

Timm Thale hat geschrieben:Meistens zeigen Aussagen wie "das braucht man nicht, das ist überholt, wozu ein 8-Bitter wenn es 32-Bitter gibt..." nur, dass da jemand nicht über den Tellerrand schauen kann und denkt, seine kleine Entwicklerwelt ist das ganze Universum.

Stimmt, ich schau schon über den Tellerrand, darum befasse ich mich ja auch mit STM32 und Rust auch wenn ich für STM32 noch keine wirklichen Anwendungsfälle habe....
Um eine LED Blinken zu lassen, wäre es etwas übertrieben ein STM32 zu nehmen, aber wenn es um 50 Stück geht, könnte man es schon nehmen.
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: Ist die Programmierung mit Lazarus Free-Pascal zeitgemäß

Beitrag von Timm Thaler »

pluto hat geschrieben:Was nutzt du als Hauptcontroller?


ATmega1284. Erst war ein ATmega32 im DIL-40 drauf, der 1284 ist pinkombatibel. Es lebe der DIL-Sockel.

Eigentlich reicht der ATmega32 auch, aber mit der Zeit kommen dann immer mehr Ideen, was man einbauen könnte, und in Pascal - ursprünglich war die Steuerung in ASM programmiert - ist das so komfortabel, da mal noch ein Menu einzuführen und noch ein paar Werte zu speichern und noch ein paar Funktionen anzubauen, da braucht man halt etwas mehr Flash.

Die Steuerung ist aber auch 10 Jahre alt, heute würde ich das vielleicht mit einem ESP machen. Einfach aus Interesse, nicht weil es nötig wäre. Aber auf keinem Fall mit einem Raspi, wo dann die Bude kalt bleibt wenn die SD-Karte mal wieder aussetzt oder er nach einem Stromausfall nicht wieder hochkommt.

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

Re: Ist die Programmierung mit Lazarus Free-Pascal zeitgemäß

Beitrag von kupferstecher »

mschnell hat geschrieben:
kupferstecher hat geschrieben:DMA ist ja auch nur eine Krücke für fehlende Parallelprozessoren 8)

Natürlich kann ein Parallelprozessor auch einfach Daten transportieren, aber beim Prozessor geht das zwangsweise über den Bus, während ein DMA-Kanal (bei entsprehend Realtime-tauglicher Hardsware) den Zugriff auf einen Peripherie-Baustein machen kann während z.B. der Prozessor gleichzeitig den Bus belegt.

Der DMA-Controller muss ja auch auf den Speicher zugreifen können. Entweder blockiert er den Bus, oder hat einen eigenen Zugriffskanal, was ja ein Parallelprozessor auch haben kann.
Sind nicht DMA-Einheiten auch gerne mal eigene Prozessoren?

Nichtsdestotrotz, den Smily hast du hoffentlich nicht übersehen.

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: Ist die Programmierung mit Lazarus Free-Pascal zeitgemäß

Beitrag von pluto »

Timm Thaler hat geschrieben:ATmega1284. Erst war ein ATmega32 im DIL-40 drauf, der 1284 ist pinkombatibel. Es lebe der DIL-Sockel.

Den habe ich mir auch angesehen wie einige andere z.b. den atMega644.
Jetzt habe ich gesehen, der atmega644 kostet im Prinzip genauso viel wie der atMega1284... Jedoch ist der Preis etwas "zu hoch"...
Aber spannend finde ich die schon. Ich meine der "ATmega1284" ist der Größte von AVR im DIP Gehäuse...

Timm Thaler hat geschrieben:Die Steuerung ist aber auch 10 Jahre alt, heute würde ich das vielleicht mit einem ESP machen. Einfach aus Interesse, nicht weil es nötig wäre. Aber auf keinem Fall mit einem Raspi, wo dann die Bude kalt bleibt wenn die SD-Karte mal wieder aussetzt oder er nach einem Stromausfall nicht wieder hochkommt.

Gutes Argument. Ich habe gesehen, wie die SD-Karten einfach abbrechen ohne das man sie je angefasst hätte...

Ich habe jetzt ein Wemos D1 Mini mit einem atTiny84 verbunden.... Weil der Wemos D1 mini einfach zu wenig Pins hat... der AtMega1284 gefällt mir aber...
MFG
Michael Springwald

marcov
Beiträge: 1100
Registriert: Di 5. Aug 2008, 09:37
OS, Lazarus, FPC: Windows ,Linux,FreeBSD,Dos (L trunk FPC trunk)
CPU-Target: 32/64,PPC(+64), ARM
Wohnort: Eindhoven (Niederlande)

Re: Ist die Programmierung mit Lazarus Free-Pascal zeitgemäß

Beitrag von marcov »

kupferstecher hat geschrieben:Der DMA-Controller muss ja auch auf den Speicher zugreifen können. Entweder blockiert er den Bus, oder hat einen eigenen Zugriffskanal, was ja ein Parallelprozessor auch haben kann.


Die älteren dspic33e haben dual ported ram, dh einen eigenen Zugriffskanal. Neueren habe ein Bus, aber auch einen kleinen Cache, also die Konflikts sind relativ selten. (und weil die 100MIPs zijn, ist ein Cycle auch nicht so wichtig, wenn es nicht so oft ist) (*)

Sind nicht DMA-Einheiten auch gerne mal eigene Prozessoren?


In die Jahren 80, ja.

(*) Realtime ist nicht absolut. Es ist auch hart zu prüfen in Praxis. Als Beispiel meine Praxis Ziel für wiederverwendbare Teile sind
(1) kein messbare Verlust wichtige Interrupts/Events. (zb Encoder oder Ethernet receive)
(2) Reaction auf Befehle usw nicht messbar langer 20us.

Praxis Latenz in Projekten ist eher 50-100us, also 20us ist für Sicherheit.

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: Ist die Programmierung mit Lazarus Free-Pascal zeitgemäß

Beitrag von Timm Thaler »

pluto hat geschrieben:Jetzt habe ich gesehen, der atmega644 kostet im Prinzip genauso viel wie der atMega1284... Jedoch ist der Preis etwas "zu hoch"...


Relativ zu was? Ja gut, der 1284 kostet 4-5 Eur, aber ich bau aktuell eine Tomatenbewässerung, mit Solarmodul und Membranpumpe, weil die den passenden Druck und geringen Durchfluss für Perlschläuche bietet:

Pumpe Pollin 20 Eur, 3S LiIon 15 Eur, Solarmodul "eh da" hat mal 15 Eur gekostet glaub ich, Solarlader LT3652 MPP Tracker 5 Eur, Step-Down MAX5033 (find mal einen StepDown, der "hohe" Spannung abkann, also >12V, Unterspannungsabschaltung hat und dann noch niedrigen Iq damit er den Akku nicht leerzieht), nRF24-Modul 3 Eur (aber "echter" nRF24 Chip von Nordic, damit auch Enhanced Shockburst funktioniert bei Farnell nochmal 5 Eur).

Da werkelt dann zwar ein ATmega328 drin, aber da ist es mir doch egal, ob der 1 oder 3 oder 5 Eur kostet.

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: Ist die Programmierung mit Lazarus Free-Pascal zeitgemäß

Beitrag von pluto »

Timm Thaler hat geschrieben:Relativ zu was? Ja gut, der 1284 kostet 4-5 Eur, aber ich bau aktuell eine Tomatenbewässerung, mit Solarmodul und Membranpumpe, weil die den passenden Druck und geringen Durchfluss für Perlschläuche bietet:

Zum Beispiel zu einem STM32 oder einem ESP... Dafür verwendest du ein atMega1284?

Timm Thaler hat geschrieben:Da werkelt dann zwar ein ATmega328 drin, aber da ist es mir doch egal, ob der 1 oder 3 oder 5 Eur kostet.

Bei einem Hardware Projekt stellen sich mir immer einige fragen:
1) Wie viel Leistung brauche ich? läuft das auf ein atTiny? Wenn ja, auf welchen? Brauche ich ein atMega328?
Ich möchte jetzt bei einem Projekt auch nicht übertreiben.

2) Wie steht es um kosten/Leistung Verhältnis?
Es geht ja nicht nur um die verwendete MC, was brauche ich noch an Extra's?

Du hast natürlich recht, relativ gesehen zu den Gesamt Kosten fallen 5€ nicht auf...
Wenn ich bei Ebay und co z.b. sehe das ein Arduino Nano(ein clone) unter 3€ kostet mit Uart und allen drum und dran, bekomme ich das nicht hin zu diesem Preis.
Alleine der atMega328 kostet schon bei reichelt knapp unter 2€(vielleicht sollte man es mit China preisen Vergleichen)...

Auf der anderen Seite: für den atMega1284 gibt es bisher noch keine Fertigen Boards.
MFG
Michael Springwald

Benutzeravatar
six1
Beiträge: 782
Registriert: Do 1. Jul 2010, 19:01

Re: Ist die Programmierung mit Lazarus Free-Pascal zeitgemäß

Beitrag von six1 »

Ich finde, es ist immer eine Sache der Anforderungen an ein Projekt, welche Hardware es sein wird.

Ich hatte mal für Atmel ATMega328 und WIZ5100 (NX Bridge Aruino Style Modul) einen direkten MYSQL Zugriff programmiert.
https://www.mcselec.com/index2.php?opti ... b6be5961be

Wenn nun jemand die Anforderung von Messdatenerfassung und Speicherung in MYSQL DB hat, dann könnte man mit der veröffentlichten Software super schnell mit sehr kleinem Hardwareaufwand zum Ziel kommen.

Denkt man in die Zukunft und überlegt den direkten MYSQL Zugriff irgendwann über SSH zu tunneln, dann ist m.M.n. der uC am Ende und etwas RASPI ähnliches zu bevorzugen.
Es kommt eben immer drauf an :)

Ok, egal... wo waren wir stehen geblieben? "Ist Lazarus noch zeitgemäß?" Ja unbedingt. Ich benutze es ja täglich! Bin ich noch zeitgemäß? Hmmm... :mrgreen:

Würden das eure Kunden bezahlen, wenn ihr denen sagt: Ich muss mich mal kurz in Rust einarbeiten, dauert paar Tage. Ob danach alles läuft, steht noch in den Sternen?

Es wäre für mich persönlich nur ein Argument umzusatteln, wenn es aussieht wie Delphi/Lazarus, agiert wie Delphi/Lazarus und die neue Sprache dabei etwas kann, was Delphi/Lazarus nicht drauf hat.

Warum sollte ich sonst wechseln?
Zuletzt geändert von six1 am Di 4. Jun 2019, 07:24, insgesamt 1-mal geändert.
Gruß, Michael

Benutzeravatar
Niesi
Lazarusforum e. V.
Beiträge: 332
Registriert: So 26. Jun 2016, 19:44
OS, Lazarus, FPC: Linux Mint Cinnamon (Windows wenn notwendig), Lazarus 3.0 FPC 3.3.1

Re: Ist die Programmierung mit Lazarus Free-Pascal zeitgemäß

Beitrag von Niesi »

six1 hat geschrieben:
Ok, egal... wo waren wir stehen geblieben? "Ist Lazarus noch zeitgemäß?" Ja unbedingt. Ich benutze es ja täglich! Bin ich noch zeitgemäß? Hmmm... :mrgreen:



Guter Hinweis - auch nutze es praktisch täglich, und ich denke, das wird sich nicht ändern. Denn: es ist nichts wirklich besseres in Sicht.

Die Diskussion zeigte bisher, dass auch niemand anderes etwas BESSERES kennt - nur ANDERES.
Wissen ist das einzige Gut, das sich vermehrt, wenn es geteilt wird ...

Benutzeravatar
six1
Beiträge: 782
Registriert: Do 1. Jul 2010, 19:01

Re: Ist die Programmierung mit Lazarus Free-Pascal zeitgemäß

Beitrag von six1 »

...wobei ich noch anfügen muss, dass ich nicht darauf aus bin (und niemals war), das Letzte aus einer Sprache herauszuholen und alle Feinheiten zu ergründen.
Dafür reichen meine Kenntnisse einfach nicht aus.
Im übertragenen Sinn könnte ich von mir sagen, dass ich kein Poet bin und die Sprache nur in Mundart verwende, sie mich aber immer dem System verständlich machte.

Hier ist für mich das Ziel der Weg und nicht umgekehrt... Pragmatiker eben :)
Gruß, Michael

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: Ist die Programmierung mit Lazarus Free-Pascal zeitgemäß

Beitrag von mschnell »

pluto hat geschrieben:... sind aber für den Normalen Anwender etwas weit hergeholt, behaupte ich jetzt einfach mal.

Und ich behaupte, dass "Pluto! nicht das Maß dafür ist, was als "normal" zu gelten hat.
-Michael
Zuletzt geändert von mschnell am Di 4. Jun 2019, 10:17, insgesamt 1-mal geändert.

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: Ist die Programmierung mit Lazarus Free-Pascal zeitgemäß

Beitrag von mschnell »

marcov hat geschrieben:Ich denke der kann das schon ja. Aber ist mehr etwas wie PIC32MZ, aber dan mit etwas Motorkontrol.

Den BeagleBone gibt es für ein paar Euro fertig auf Platine. inzwischen in mehreren Ausführungen, beginnend mit "Pocket" für $25 bis zum X15 mit 1.5 GHz Dual Core ARM und vier "PRUS"-Koprozessoren und zwei "C66" DSPs.
Da gebe ich mich doch nicht mit Arduino o..ä. ab...
Wenn Du natürlich ein embedded Device in größerer Stückzahl auflegen willst, ist ein Controller-Chip günstiger, wobei auch hier der "Octavio" Chip, der auf dem Pocket Beagle ist, sehr interessant erscheint.
-Michael
Zuletzt geändert von mschnell am Di 4. Jun 2019, 12:00, insgesamt 5-mal geändert.

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: Ist die Programmierung mit Lazarus Free-Pascal zeitgemäß

Beitrag von pluto »

six1 hat geschrieben:Würden das eure Kunden bezahlen, wenn ihr denen sagt: Ich muss mich mal kurz in Rust einarbeiten, dauert paar Tage. Ob danach alles läuft, steht noch in den Sternen?

Ich denke, wenn man es kann, dann ist das wohl kein Problem, wenn man es nicht kann, würde ich es auch nicht anbieten.

mschnell hat geschrieben:Und ich behaupte dass Pluto nicht das Mass dafür ist was "normal" ist.

Ich beobachte halt, für was in der Makerszene der Arduino und Co eingesetzt werden. Echte Profis(Damit meine ich Leute, die sich deutlich besser auskennen(als ich) und vielleicht eher PIC oder STM32 nehmen würden) würden wohl etwas anders nehmen, klar.
Aber in der Makerszene wird glaube ich nicht so oft über DMA und CO gesprochen und wenn nur in seltenen Fällen.
Kannst ja gerne dich mal im Internet umschauen und ein paar Beispiel Projekt nennen, außer Motor Steuerung/Video und Audio wo DMA verwendet wird.
Ich bin jetzt das erste mal darauf gestoßen in diesen Thread hier und ich suche viel im Internet....

Im Verein hat jemand eine PNP Maschine gebaut bzw. ist noch dabei und er überlegt, ob er ein FPGA einsetzt für die Motor Steuerung oder eben ein Mikrocontroller.
Jemand anders im Verein kennt irgendeine Formel wie man ein Motor steuern kann damit er nicht stottert oder so ähnlich.
Die PNP schon ein paar mehr Motoren... Aber der Haupt Controller ist auch kein AVR sondern ein STM32(irgendwas) zum Steuern wird ein Beaglebone Board eingesetzt.

mschnell hat geschrieben:Den BeagleBone gibt es für ein paar Euro fertig auf Platine. inzwischen in mehreren Ausführungen, beginnend mit "Pocket" für $25.

Was aber oft außer acht gelassen wird: Was brauchst du neben den BegleBone? Ein Netzteil? Eine SD Karte? Ein Gehäuse und soweiter.
Für ein Arduino oder ähnliches ist es deutlich einfacher(je nach dem was du machen möchtest).
MFG
Michael Springwald

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: Ist die Programmierung mit Lazarus Free-Pascal zeitgemäß

Beitrag von mschnell »

Timm Thaler hat geschrieben: irgendwas super intelligentem, was dann erstmal mit sich selbst beschäftigt ist.

Genau das ist das Problem. Deshalb sind ARM-Chips (die für leicht Programmierbarkeit) unter Linux laufen können mit integrierten Coprozessoren (die problemlos für harte Realtime eingesetzt werden können) ideal.

Übrigens: bei einem Multi-Core-Arm kann man durchaus einen der Prozessoren aus dem Linux ausklinken und dezidiert ohne oder mit einem Realtime-Betriebssysten für harte Realtime verwenden. Für ganz harte gibt es in der ARM MMU ein "SMP" Bit, das - wenn nicht gestezt - verhindert dass der Realtime Prozess durch langwierige Cache-Synchronisation mit den SMP Prozessorern behindert wird.

-Michael
Zuletzt geändert von mschnell am Di 4. Jun 2019, 10:33, insgesamt 2-mal geändert.

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: Ist die Programmierung mit Lazarus Free-Pascal zeitgemäß

Beitrag von mschnell »

pluto hat geschrieben:Es mag Anwendungsfälle geben. Für PWM, reicht aber auch ein einfacher AVR.

Stimmt. Aber warum ?
Bei kleinen Stückzahlen macht der Mehrpreis für einen BeagleBone nicht viel aus.
Bei größeren Stückzahlen würde ich eher einen "industriell standardmäßigeren" PIC nehmen.
-Michael

Antworten