From 5cd6410a667bff39318413722fa0853c690013a2 Mon Sep 17 00:00:00 2001 From: Deadlock Date: Fri, 13 Nov 2015 17:22:51 +0000 Subject: [PATCH] =?UTF-8?q?Update=20f=C3=BCr=20die=20Beschreibung=20des=20?= =?UTF-8?q?Ruby-Interfaces?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- V-Plotter.mw | 60 ++++++++++++++++++++++++++++++++++++++-------------- 1 file changed, 44 insertions(+), 16 deletions(-) diff --git a/V-Plotter.mw b/V-Plotter.mw index 8d83d398..67abcc73 100644 --- a/V-Plotter.mw +++ b/V-Plotter.mw @@ -66,48 +66,76 @@ Parameter der Zeichenfläche und des Plotters sind in der main.cpp hard gecodet: === script interface: Klassen Definition (Ruby) === Um besser damit spielen zu können, haben wir eine Ruby-Schnittstelle gebaut ([http://schwarz-chr.de/V-Plotter-Ruby/doc/ RDoc]): -class VPlotter + + +== Beispiel für die Verwendung == + + +# config laden +plotter = VPlotter.new :plotbert + +# in den Zeichenmodus wechseln +plotter.draw do |d| + d.goto 50, 50 # Punkt anfahren + d.penDown # Stift aufsetzen + d.move 100, 0 # Relativbewegung + d.penUp # Stift absetzen + d.home # zurück zum Startpunkt +end + ; Laden der richtigen Konfiguration (config) für unseren Plotter -: VPlotter.selectPlotter("plotbert") +entweder im Konstruktor: +: plotter = VPlotter.new :plotbert +oder auch nachher: +: plotter.use_config :plotbert ; Aufsetzen vom Stift -: VPlotter.penUp() +: plotter.penDown ; Absetzen vom Stift -: VPlotter.penDown() +: plotter.penUp ; Rotieren lassen vom (linken oder rechten) Motor: +Warnung: Die Benutzung dieser Funktionen kann im Moment dazu führen, dass der Plotter seine Kalibrierungsdaten verliert! :: Wert>0 = abrollen ;: Wert<0 = aufrollen -: VPlotter.rotateLeftMotor( int Entfernung in 1/10 mm) -: VPlotter.rotateRightMotor( int Entfernung in 1/10 mm) +: plotter.rotateLeftMotor(int Entfernung in mm) +: plotter.rotateRightMotor(int Entfernung in mm) ; absolute Bewegung vom Koordinatenursprung aus -: VPlotter.goto(x,y) +: plotter.goto x, y ; relative Bewegung von aktueller Position -: VPlotter.move(x,y) +: plotter.move x, y ; Fahren zum Kalibrierungspunkt -: VPlotter.home() +: plotter.home -; Schreiben des Wortes ''Test'' an der aktuellen Position -: VPlotter.test() +; Schreiben des Wortes ''Test'' an der aktuellen Position (noch nicht implementiert) +: plotter.test servo motor position für definierte Stiftposition -: VPlotter.setPen(int 0-100) +: plotter.setPen(int 0-100) ; Neues Kalibieren der Stiftspitze: -:: Fahren zum Kalibrierungspunkt und Ausführen von calibrate() -: VPlotter.calibrate() +:: Fahren zum Kalibrierungspunkt und Ausführen von calibrate +: plotter.calibrate ; unter Angabe der Rahmenparameter ist es auch möglich andere Plotter damit zu steuern -: VPlotter.customConfig(posMotorRight(x,y), posMotorLeft(x,y), calibrationPoint(x,y), height, width) + +plotter.customConfig( + pos_left: [x, y], + pos_right: [x, y], + pos_cali: [x, y], + height: height, + width: width +) + ; Ändern der Geschwindigkeit vom Zeichen: :: default=10 :: langsam=1 -:: Werte über 10 sind möglich aber können zu übersprungenen Steps führen die die Zeichnung zerstören +:: Werte über 10 sind möglich aber können zu übersprungenen Steps führen, die die Zeichnung zerstören : VPlotter.printSpeed(int [1-10-∞]) [[Kategorie:C++]]