pascalIO - PWM wird jetzt unterstütz

Antworten
Socke
Lazarusforum e. V.
Beiträge: 3158
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

pascalIO - PWM wird jetzt unterstütz

Beitrag von Socke »

Hallo zusammen,

ich habe in pascalIO gerade eine Klasse zur Nutzung von /sys/class/pwm/ hinzugefügt.

Leider fehlt mir aktuell ein Test-Setup, an dem ich den Code testen kann.

Beispiel:/test/pwm_linux/pwm_linux.lpr

Code: Alles auswählen

program pwm_linux;

uses fppwm;

var
  pwm: TPWMLinux;
begin
  pwm := TPWMLinux.Create(0,0);
  try
    pwm.Period    := 10000;  // 10 kHz total time
    pwm.DutyCycle := 6000;   //  6 kHz active time
    pwm.Enabled   := True;
  finally
    pwm.Destroy;
  end;
end.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

Mathias
Beiträge: 6162
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: pascalIO - PWM wird jetzt unterstütz

Beitrag von Mathias »

Ist dies für den Rasberry ?
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Socke
Lazarusforum e. V.
Beiträge: 3158
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: pascalIO - PWM wird jetzt unterstütz

Beitrag von Socke »

Mathias hat geschrieben:
Sa 23. Mai 2020, 08:45
Ist dies für den Rasberry ?
Wenn der Raspberry Pi einen PWM per SysFS bereitstellt: Ja.
Es funktioniert aber auf allen Linux-Systemen mit PWM.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

Mathias
Beiträge: 6162
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: pascalIO - PWM wird jetzt unterstütz

Beitrag von Mathias »

Es funktioniert aber auf allen Linux-Systemen mit PWM.
Was sind das für Systeme ?
Hast du ein Beispiel ?
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

luzi3009
Beiträge: 1
Registriert: Mo 23. Nov 2020, 19:51

Re: pascalIO - PWM wird jetzt unterstütz

Beitrag von luzi3009 »

Hallo

ich versuche gerade die PWM ans laufen zu bekommen. Leider bekomme ich beim Starten der PWM immer eine Fehlermeldung welche mit der Zeile PWM.Create(0,0); zu tun hat.
Was genau muss ich pwmChip und Chip einsetzten?

Vielen Dank für die Hilfe

Socke
Lazarusforum e. V.
Beiträge: 3158
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: pascalIO - PWM wird jetzt unterstütz

Beitrag von Socke »

Schau bitte im Dateisystem unter /sys/class/pwm/ nach. Dort findest du mehrere Unterverzeichnise pwmchip# (# = eine Ziffer). Die Ziffer des PWM-Chips ist der erst Parameter für TPWMLinux.Create. Jeder PWM-Chip kann mehrere Kanäle haben, diese werden (soweit ich weiß) ab 0 hoch gezählt. Das ist der zweite Parameter.

Wenn du die Verzeichnisse bei dir nicht findest, müssen diese ggf. erst durch ein passendes Kernel-Modul verfügbar gemacht werden. Schreib hierzu bitte mal, welches Board du verwendest.
Alternativ kann es auch einfach an den Dateiberechtigungen liegen. Im Standard darf nur root darauf zugreifen. Um das dauerhaft (über einen Neustart hinaus) zu beinflussen, siehe hier: https://stackoverflow.com/questions/309 ... s-non-root
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

Antworten