Update für die Beschreibung des Ruby-Interfaces
This commit is contained in:
parent
a169f4a814
commit
5cd6410a66
60
V-Plotter.mw
60
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]):
|
||||
<source lang="ruby">class VPlotter</source>
|
||||
|
||||
|
||||
== Beispiel für die Verwendung ==
|
||||
|
||||
<source lang="ruby">
|
||||
# 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
|
||||
</source>
|
||||
|
||||
; Laden der richtigen Konfiguration (config) für unseren Plotter
|
||||
: <source lang="ruby">VPlotter.selectPlotter("plotbert")</source>
|
||||
entweder im Konstruktor:
|
||||
: <source lang="ruby">plotter = VPlotter.new :plotbert</source>
|
||||
oder auch nachher:
|
||||
: <source lang="ruby">plotter.use_config :plotbert</source>
|
||||
|
||||
; Aufsetzen vom Stift
|
||||
: <source lang="ruby">VPlotter.penUp()</source>
|
||||
: <source lang="ruby">plotter.penDown</source>
|
||||
; Absetzen vom Stift
|
||||
: <source lang="ruby">VPlotter.penDown()</source>
|
||||
: <source lang="ruby">plotter.penUp</source>
|
||||
|
||||
; 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
|
||||
: <source lang="ruby">VPlotter.rotateLeftMotor( int Entfernung in 1/10 mm)</source>
|
||||
: <source lang="ruby">VPlotter.rotateRightMotor( int Entfernung in 1/10 mm)</source>
|
||||
: <source lang="ruby">plotter.rotateLeftMotor(int Entfernung in mm)</source>
|
||||
: <source lang="ruby">plotter.rotateRightMotor(int Entfernung in mm)</source>
|
||||
|
||||
; absolute Bewegung vom Koordinatenursprung aus
|
||||
: <source lang="ruby">VPlotter.goto(x,y)</source>
|
||||
: <source lang="ruby">plotter.goto x, y</source>
|
||||
|
||||
; relative Bewegung von aktueller Position
|
||||
: <source lang="ruby">VPlotter.move(x,y)</source>
|
||||
: <source lang="ruby">plotter.move x, y</source>
|
||||
|
||||
; Fahren zum Kalibrierungspunkt
|
||||
: <source lang="ruby">VPlotter.home()</source>
|
||||
: <source lang="ruby">plotter.home</source>
|
||||
|
||||
; Schreiben des Wortes ''Test'' an der aktuellen Position
|
||||
: <source lang="ruby">VPlotter.test()</source>
|
||||
; Schreiben des Wortes ''Test'' an der aktuellen Position (noch nicht implementiert)
|
||||
: <source lang="ruby">plotter.test</source>
|
||||
|
||||
servo motor position für definierte Stiftposition
|
||||
: <source lang="ruby">VPlotter.setPen(int 0-100)</source>
|
||||
: <source lang="ruby">plotter.setPen(int 0-100)</source>
|
||||
|
||||
; Neues Kalibieren der Stiftspitze:
|
||||
:: Fahren zum Kalibrierungspunkt und Ausführen von <code>calibrate()</code>
|
||||
: <source lang="ruby">VPlotter.calibrate()</source>
|
||||
:: Fahren zum Kalibrierungspunkt und Ausführen von <code>calibrate</code>
|
||||
: <source lang="ruby">plotter.calibrate</source>
|
||||
|
||||
; unter Angabe der Rahmenparameter ist es auch möglich andere Plotter damit zu steuern
|
||||
: <source lang="ruby">VPlotter.customConfig(posMotorRight(x,y), posMotorLeft(x,y), calibrationPoint(x,y), height, width)</source>
|
||||
<source lang="ruby">
|
||||
plotter.customConfig(
|
||||
pos_left: [x, y],
|
||||
pos_right: [x, y],
|
||||
pos_cali: [x, y],
|
||||
height: height,
|
||||
width: width
|
||||
)
|
||||
</source>
|
||||
|
||||
; Ä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
|
||||
: <source lang="ruby">VPlotter.printSpeed(int [1-10-∞])</source>
|
||||
|
||||
[[Kategorie:C++]]
|
||||
|
|
Loading…
Reference in New Issue