Seite 1 von 1

Kleines Problem bei Spannungsanzeige mit amd-65 C-Firmware

Verfasst: 06.04.2008, 15:42
von HomerNo1
Hallo zusammen,

erst mal vielen Dank an amd-65 für die C portierung der Firmware.

Wenn man die Sollspannung genau auf 10.00V einstellt, dann zeigt das Display manchmal 10.000 an, das V verschwindet dann.
Das Problem scheint in der Funktion VoltageToString in dcg-panel.c zu liegen.
Wenn man if(u < 10) in if(u <= 9.999) ändert, ist das Problem verschwunden.

Allerdings hat das nun zur Folge, daß man nicht mehr 9.999V einstellen kann, der Sollwert springt nun von 9.998 auf 10.00 und umgekehrt.
Wenn ich die o.a. Änderung rückgängig mache, kann ich auch wieder 9.999V einstellen.
Den Zusammenhang kann ich nicht nachvollziehen.

Das ganze ist natürlich nicht wirklich ein Problem, war mir halt nur aufgefallen.

Gruß
Homer

Re: Kleines Problem bei Spannungsanzeige mit amd-65 C-Firmwa

Verfasst: 07.04.2008, 19:27
von amd-65
HomerNo1 hat geschrieben:Hallo zusammen,
Wenn man die Sollspannung genau auf 10.00V einstellt, dann zeigt das Display manchmal 10.000 an, das V verschwindet dann.
Das Problem scheint in der Funktion VoltageToString in dcg-panel.c zu liegen.
Wenn man if(u < 10) in if(u <= 9.999) ändert, ist das Problem verschwunden.
Es sieht so aus, daß printf die Zahl entsprechend den vorgegebenen Dezimalstellen rundet. Aus 9.9997 wird bei einem Formatstring von "%.3f" dann 10.000. Man müßte dann die Abfrage von u < 10 in u < 9.9995 ändern. Die letzte Stelle so, wie printf wirklich rundet.

Gruß
amd-65