Spinkit.dll und Python WAR:iowkit.dll und Python?

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

Moderator: Guido Körber

calli
Posts: 37
Joined: Sat Sep 17, 2005 6:35 pm

Spinkit.dll und Python WAR:iowkit.dll und Python?

Post by calli »

Hallo,

hat jemand eine Idee ob es möglich ist die iowkit.dll per Python anzusprechen/zu benutzen?

Gruß,
Carsten

PS: Subject editiert da ich jetzt den Spinkit.dll benutze. Siehe Seite 2.
Last edited by calli on Thu Feb 02, 2006 3:53 pm, edited 2 times in total.
Robert Marquardt
Posts: 543
Joined: Mon Dec 01, 2003 6:09 pm

Post by Robert Marquardt »

Moeglich sollte es sein, da Python bestimmt DLLs ansteuern kann.
Leider verstehe ich nichts von Python.

Gibt es irgendwo ein Beispiel zum Ansteuern von DLLs mit Python? Ich kuemmere mich dann mal drum, allerdings mit geringer Prioritaet.
calli
Posts: 37
Joined: Sat Sep 17, 2005 6:35 pm

Post by calli »

Hallo Robert,

ich bin auch gerade am Googeln aber anscheinend habe ich noch nicht die richtige Suchrichtung gefunden bzw. die richtigen Suchterme.

Damals bei Modula-2 war es super-simpel Libraries einzubinden, hoffe es ist bei Python ähnlich.

Gruß,
Carsten
calli
Posts: 37
Joined: Sat Sep 17, 2005 6:35 pm

Post by calli »

Hier ist was recht ähnliches, dll vom Fishertechnik Interface für Python nutzbar gemacht:

http://www.ulrich-mueller.de/zip/pythonfish30.zip

von:

http://www.ulrich-mueller.de/sprachen.htm

Sieht nicht so kompliziert aus aber Teufel steckt ja oft im Detail ;-)

Carsten
calli
Posts: 37
Joined: Sat Sep 17, 2005 6:35 pm

Post by calli »

Nachtrag:

http://starship.python.net/crew/theller/ctypes/

"ctypes allows to call functions exposed from dlls/shared libraries and has extensive facilities to create, access and manipulate simple and complicated C data types in Python - in other words: wrap libraries in pure Python. It is even possible to implement C callback functions in pure Python."

C.
wayoda
Posts: 362
Joined: Fri Dec 19, 2003 12:00 pm
Location: Wuppertal/Germany

Re: iowkit.dll und Python?

Post by wayoda »

calli wrote:Hallo,
hat jemand eine Idee ob es möglich ist die iowkit.dll per Python anzusprechen/zu benutzen?
Das wirklich Gute an Python ist die vollständige Dokumentation der Sprache. Auf
http://www.python.org/doc/
ist alles was man braucht (außer dem Kaffee als Schmiermittel zum Programmieren).

Das Dokument Python/C Api wäre wohl der Startpunkt.

Eberhard
calli
Posts: 37
Joined: Sat Sep 17, 2005 6:35 pm

Post by calli »

Natürlich habe ich dort erst geschaut, allerdings habe ich das so verstanden das dort beschrieben wird wie man in eine Anwendung/Lib Python einbaut und nicht wie man eine vorhandene DLL in Python benutzt.

Aber wie gesagt, ich bin DAU, kann aber mit Google umgehen und der Ansatz den ich oben gepostet habe scheint zu funktionieren, allerdings ist es erst mal ohne Hardware doof zu testen.

Mal sehen ob ich JoyWarrior als Übungsobjekt nehmen kann... [EDIT] Mist, JW setzt ja eine Ebene höher an....

Gruß,
Carsten
wayoda
Posts: 362
Joined: Fri Dec 19, 2003 12:00 pm
Location: Wuppertal/Germany

Post by wayoda »

Entschuldigung, da hatte ich falsch herum gedacht...

Extending and Embedding the Python Interpreter

ist das richtige Topic.
(Kapitel 4. Building C and C++ Extensions on Windows) z.B.

Eberhard
calli
Posts: 37
Joined: Sat Sep 17, 2005 6:35 pm

Post by calli »

Wahrscheinlich totaler BS aber soweit bin ich jetzt ohne Hardware zum testen:

Code: Select all


# ---------------------------------------------------------------------------------------
#
# SpinWarrior Python Bindings v0.0
#
# ---------------------------------------------------------------------------------------

from ctypes import *

##typedef struct _SPINKIT_DATA
## {
##  SPINKIT_HANDLE Device;
##  int Spins[6];
##  BOOL Buttons[7];
## }
##  SPINKIT_DATA, *PSPINKIT_DATA;
##

class SpinKit(object):
    Handle = -1          # Handle 

    def __init__(self):
        self.Handle = -1
    
# SPINKIT_HANDLE SPINKIT_API SpinKitOpenDevice(void);   
    def SpinKitOpenDevice(self):
        "Open Spinkit Device"
        self.Handle = windll.spinkit.SpinKitOpenDevice()

#void SPINKIT_API SpinKitCloseDevice(SPINKIT_HANDLE devHandle);
    def SpinKitCloseDevice(self):
        "Close Spinkit Device"
        windll.spinkit.SpinKitCloseDevice(self.Handle)

#ULONG SPINKIT_API SpinKitGetNumDevs(void);
    def SpinKitGetNumDevs(self):
        "Get Number of Devices"
        return(windll.spinkit.SpinKitCloseDevice(self.Handle))
"Testprogramm":

Code: Select all

import cmspinkit

sk=cmspinkit.SpinKit()

sk.SpinKitOpenDevice()
print sk.Handle

print sk.SpinKitGetNumDevs()

sk.SpinKitCloseDevice()
print sk.Handle
Carsten
calli
Posts: 37
Joined: Sat Sep 17, 2005 6:35 pm

Post by calli »

wayoda wrote:Entschuldigung, da hatte ich falsch herum gedacht...

Extending and Embedding the Python Interpreter

ist das richtige Topic.
(Kapitel 4. Building C and C++ Extensions on Windows) z.B.

Eberhard
Kein Problem!

Das hatte ich mir auch schon kurz angeschaut, aber ehrlich gesagt nicht verstanden, das ist mir als Praktiker viel zu trocken und ohne IT Background wahrscheinlich nicht zu begreifen.

Da "klaue" ich lieber Code und versuche ihn durch hacken und spielen zu begreifen.

Gruß,
Carsten
Robert Marquardt
Posts: 543
Joined: Mon Dec 01, 2003 6:09 pm

Post by Robert Marquardt »

Gewoehn dich nicht zu sehr an das SpinKit API. Sobald das IowKit 2.0 API fertig ist wird das SpinKit API auch erneuert.
Das SpinKit API ist ja faktisch nur das abgespeckte IowKit 1.4.

Wenn es irgend moeglich ist will ich das dann alte SpinKit API verfallen lassen.
calli
Posts: 37
Joined: Sat Sep 17, 2005 6:35 pm

Post by calli »

Robert Marquardt wrote:Gewoehn dich nicht zu sehr an das SpinKit API. Sobald das IowKit 2.0 API fertig ist wird das SpinKit API auch erneuert.
Das SpinKit API ist ja faktisch nur das abgespeckte IowKit 1.4.

Wenn es irgend moeglich ist will ich das dann alte SpinKit API verfallen lassen.
Hmm, ok, wichtig ist mir im Moment, das ich recht schnell (Termine, Geld, ect.) zu einer funktionierenden Lösung komme. Daher auch Python.

Gruß,
Carsten
calli
Posts: 37
Joined: Sat Sep 17, 2005 6:35 pm

Post by calli »

Hat jemand schon einen SpinWarrior im Einsatz? Oder auf dem Experimentiertisch?

Gruß,
Carsten.
Guido Körber
Site Admin
Posts: 2876
Joined: Tue Nov 25, 2003 10:25 pm
Location: Germany/Berlin
Contact:

Post by Guido Körber »

calli wrote:Hat jemand schon einen SpinWarrior im Einsatz? Oder auf dem Experimentiertisch?
Das sind momentan noch ziemlich wenige und die meisten davon nicht in Europa...
calli
Posts: 37
Joined: Sat Sep 17, 2005 6:35 pm

Post by calli »

Dann wirds ja mal Zeit ;-)

Carsten
Post Reply