Spinkit.dll und Python WAR:iowkit.dll und Python?
Moderator: Guido Körber
Spinkit.dll und Python WAR:iowkit.dll und Python?
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.
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.
-
- Posts: 543
- Joined: Mon Dec 01, 2003 6:09 pm
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
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
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.
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.
Re: iowkit.dll und Python?
Das wirklich Gute an Python ist die vollständige Dokumentation der Sprache. Aufcalli wrote:Hallo,
hat jemand eine Idee ob es möglich ist die iowkit.dll per Python anzusprechen/zu benutzen?
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
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
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
Wahrscheinlich totaler BS aber soweit bin ich jetzt ohne Hardware zum testen:
"Testprogramm":
Carsten
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))
Code: Select all
import cmspinkit
sk=cmspinkit.SpinKit()
sk.SpinKitOpenDevice()
print sk.Handle
print sk.SpinKitGetNumDevs()
sk.SpinKitCloseDevice()
print sk.Handle
Kein Problem!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
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
-
- Posts: 543
- Joined: Mon Dec 01, 2003 6:09 pm
Hmm, ok, wichtig ist mir im Moment, das ich recht schnell (Termine, Geld, ect.) zu einer funktionierenden Lösung komme. Daher auch Python.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.
Gruß,
Carsten
-
- Site Admin
- Posts: 2876
- Joined: Tue Nov 25, 2003 10:25 pm
- Location: Germany/Berlin
- Contact: