Hi,
das is doch nich so schwer. Du musst einfach für die 4 Geraden jeweils die Gleichung ausrechnen. Die Steigung berechnest du einfach mit PWM_Wert/A.
Zum Beispiel übergibst du der Funktion folgende 4 Werte:
(1) PWM_Wert = 0 -> A = 1000
(2) PWM_Wert = 400 -> A = 800
(3) PWM_Wert = 500 -> A = 500
(4) PWM_Wert = 1000 -> A = 0
Also die werte aus deinem Beispiel.

Die Gerade von Punkt (1) nach (2) berechnet sich also so:
y = m*x+c
wobei m sich ausrechnet in dem du die Differenz von PWM_Wert von (2) und (1) durch die Differenz von A von (1) und (2):

y = ((400-0)/(1000-800))*x+0
-> y = 2*x

Damit hast du die Gleichung für den ersten Abschnitt und kannst alle restlichen Werte berechnen. Für die restlichen Abschnitte genauso die Gleichungen ausrechnen. Abschnitt 2 (von Punkt (2) nach (3)) zum Beispiel:

y = m*x+c
y = ((500-400)/(800-500))*x+400
-> y = 1/3*x+400

x ist A und y ist PWM_Wert.

Hoffe, dass es so stimmt und es dir weiterhilft.

MfG

EDIT: Scheint nicht so ganz zu stimmen, war wohl bissle müde gestern nacht