IO56KIT und MacOS (Applescript)

Dies ist das deutsche Forum für alle Themen um den IO-Warrior. Beiträge bitte nur in Deutsch.

Moderator: Guido Körber

Post Reply
McMike
Posts: 24
Joined: Fri Feb 02, 2007 3:36 pm

IO56KIT und MacOS (Applescript)

Post by McMike »

Hallihallo,

hab da ein kleines Problemchen. Und zwar hab ich jetzt den IO-Warrior 56 Starterkit und hab damit jetzt ein wenig mit rumgespielt unter MacOS X und Applescript. Bei dem Samples ist da u.a. das Script IOWarriorPinAccessText.scpt. Der Code darin lautet wie folgt:

Code: Select all

tell application "IOWarriorAppleScriptGateway"
	set the value of every pin to 1
	set the value of pin 32 to 1
	set the value of pin 31 to 1
	get the value of every pin
	set the value of pin 30 to 1
	set the value of pin 29 to 1
	get the value of pin 31
end tell
Das Funktioniert auch prima. Mein Problem besteht nun darin, dass z.B. Pin 29 nicht wie in der Anleitung/Datasheet Port 5.2 ist sondern bei mir Port 3.4 was nach Anleitung eigentlich heist, dass es Pin 43 ist. Vielleicht ist bei mir auch nur die Portbezeichnung falsch aufgedruckt: Blick von oben auf die Platine, USB-Anschluss ist oben dann ist die Beschriftung wie folgt: Rechts oben: Port 1, Rechts unten: Port 4, Unten rechts: Port 2, Unten links: Port 0, Links unten: Port 3, Links oben: Port 5.

Ist da vielleicht die Anleitung falsch? Oder hab ich was bzgl. Applescript übersehen?
McMike
Posts: 24
Joined: Fri Feb 02, 2007 3:36 pm

Post by McMike »

Achja, die LED kann ich auch nicht "schalten" wie nach Anleitung über Pin 56 an der sie ja nach Anleitung angeschlossen sein soll.

Hier nochmal ein Bild davon. Die im Applescript angegebenen Pins 29 und 30 sind die im Bild markierten Pins:

Image
Guido Körber
Site Admin
Posts: 2879
Joined: Tue Nov 25, 2003 10:25 pm
Location: Germany/Berlin
Contact:

Post by Guido Körber »

Die logische Pinnummer für die Ports ist nicht identisch mit der physikalischen Pinnummer am Gehäuse. Das wäre auch unlogisch und unmöglich.

Pinnummer = (Port * 8) + Pin+1

Also P3.4:
29 = (3*8)+4+1
McMike
Posts: 24
Joined: Fri Feb 02, 2007 3:36 pm

Post by McMike »

Also so ganz logisch find ich das nicht (im Datasheet ist ja nur Pin Numbers und Pin Names Skizze und damit passte es ja nicht) aber jetzt weis ich ja wie es geht. In der Anleitung hab ich das leider auch nicht gefunden wobei ich jetzt nur das Datasheet gesichtet habe und am IOWarriorLib grad dran bin. Oder ich hab's überlesen.

Danke sehr für die fixe Antwort.
McMike
Posts: 24
Joined: Fri Feb 02, 2007 3:36 pm

Post by McMike »

Jetzt hab ich schon wieder ein Problem.

Ich dachte mir vorhin, ok, nun versuch ich mal ein wenig mit Applescript die LED zu schalten. Nach obiger "Gleichung" muss ich im Script ja als Pinnummer dann die 56 angeben da die LED ja an Port 6.7 hängt. Also, ich das Script geändert wie folgt:

Code: Select all

tell application "IOWarriorAppleScriptGateway"
	set the value of every pin to 0
	set the value of pin 56 to 1
end tell
Dann sagte er mir

"IOWarriorScriptGateway" hat einen Fehler erhalten: NSRecieverEvaluationsScriptError: 4

Schön und gut, so gehts also scheinbar doch nicht. Dann hab ich mir gedacht, versuchs mal mit nem anderen Port, z.B. Port 1.1 (entspricht ja dann pin 10 in AppleScript). Das ging wieder ohne Fehlermeldung...allerdings tut sich beim IO-Warrior gar nix mehr. Auch ein Neustart hat nix gebracht. Schaut fast so aus, dass sich der Warrior aufgehangen hat. Hab auch in RealBasic versucht den Warrior anzusprechen aber bei der Initialisierung bekomm ich -1 was ja einem Fehler entspricht. Auch die Orginalscripte tun nix mehr. Taster S1 hab ich auch schon versucht. Wie bekomme ich ihn nur wieder ans laufen?
Post Reply