TestLab Version 3.2  

Elektronik-Labor  Projekte  Mikrocontroller  PicoBasic         





Download: Testlab32 und Lazarus-Quelltext: TestLab32IDE.zip

Kürzlich ist ein Programmfehler im Zusammenhang mit der Bildschirmdarstellung der Diagramme/Plotter/Oszillogramme aufgetaucht. Während bei mir alles richtig dargestellt wurde, gab es wohl auf vielen anderen PCs eine falsche Diagrammgröße. Es hat etwas mit der LCL-Skalierung (High-DPI) zu tun. Man kann für den Bildschirm einstellen, ob man alles mit 100% darstellt oder auf z.B. 125% oder 150% vergrößert. Während der Entwicklung hatte ich mit 125% gearbeitet, und da lag der Fehler. Ich selbst konnte ihn erst auf anderen PCs nachvollziehen. Um das Problem zu beseitigen, habe ich nun bei einer Größe von 100% alles überarbeitet und neu kompiliert. Jetzt sollte es auf allen Windows-PCs mit oder ohne Vergrößerung funktionieren.



Ein zweites Problem ist aufgefallen, wenn das Programm ohne die korrekte COM oder ganz ohne einen passenden Controller gestartet wird. Beim Start wird nun sofort angezeigt, ob die in der Ini-Datei gespeicherte Schnittstelle geöffnet werden konnte. Bisher konnte sich das Programm in den TestLab-Funktionen aufhängen, wenn die Schnittstelle geschlossen war. Daten wurden angefordert und kamen nie. Jetzt wurde die Empfangsfunktion so geändert, dass bei geschlossener Schnittstelle Nullen zurückgeliefert werden. Im Plotter oder Oszilloskop sieht man dann eine Nulllinie.



Noch eine dritte Sache wurde verändert. Wenn ein laufendes Programm Print-Daten erzeugt, kann man ins TestLab umschalten und sie plotten. Bei der Rückkehr in den PicoBasic-Editor war aber nicht ohne weiteres zu erkennen, ob das Programm noch läuft. Nun wird aber bei jedem Neustart und bei der Rückkehr ins PicoBasic das Ausgabefenster aktiviert. Man sieht also gleich, ob Daten gesendet werden.

Und die vierte Änderung betrifft den XY-Plotter. Da wurde die Reihenfolge der Daten angepasst. Jetzt beginnen die Daten immer mit dem x-Wert: x y  x y  xy ...


Elektronik-Labor  Projekte  Mikrocontroller  PicoBasic