Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
CommLan
Anmeldungsdatum: 23.10.2015 Beiträge: 40 Wohnort: hinterm Mond
|
Verfasst am: 08.11.2015, 20:23 Titel: Gameport auslesen |
|
|
Hallo liebes Forum,
heute hab ich wieder ein kleines Problem:
Ich würde gerne wissen, wie ich den Gameport auslese. Dabei möchte ich gerne an alle 4 Achsen herankommen.
Es geht nämlich dabei um ein größeres Projekt, bei dem es wichtig ist, Temparaturen auszulesen. Dadurch, das ich allen Mist da habe, nur keine AD - Wandler, kommt der Gameport mit seinen Achsen gerade recht...  |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 08.11.2015, 20:25 Titel: |
|
|
Wie wäre es mit GetJoystick? _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
CommLan
Anmeldungsdatum: 23.10.2015 Beiträge: 40 Wohnort: hinterm Mond
|
Verfasst am: 08.11.2015, 20:37 Titel: |
|
|
Ja gut, das ist natürlich eine Möglichkeit.
Aber ich hätte es gerne nicht als Werte von -1.0 bis +1.0 sondern direkt den Wert, den der Gameport ausspukt.
Ich würde den gerne ähnlich ansteuern, wie es bei der Parallelen vorgesehen ist. |
|
Nach oben |
|
 |
grindstone
Anmeldungsdatum: 03.10.2010 Beiträge: 1279 Wohnort: Ruhrpott
|
Verfasst am: 09.11.2015, 11:03 Titel: |
|
|
Warum willst du dir das Leben unnötig schwer machen? Die Float - Werte von GetJoystick lassen sich doch mühelos in passende Integer - Werte umrechnen.
Gruß
grindstone _________________ For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen! |
|
Nach oben |
|
 |
CommLan
Anmeldungsdatum: 23.10.2015 Beiträge: 40 Wohnort: hinterm Mond
|
Verfasst am: 11.11.2015, 08:00 Titel: |
|
|
Aber wie soll das mathematisch gesehen funktionieren ?
Jeder Temparatursensor hat einen anderen Wertebereich / Reaktionsspanne, leider gibt es da keine Norm, wie für so vieles andere auch nicht. Für die Umberechung vom Gameport aus hätte ich dann eine Formel. Für +1.0 bis -1.0 nicht.
Und so schwer kann es eigentlich nicht sein... Ich werde dann mal demnächst meinen alten Rechner auspacken, einen Joystick anschließen und gucken, welche Werte der Gameport mir liefert, wenn ich ihn abfrage wie die parallele mit INP oder schreibe (Wenn der Gameport das kann, wo ich fast vermute, das er nicht kann) mit OUT.
Mal gucken, ob ich den Gameport im Eifer des Gefechts gleich abfackel  |
|
Nach oben |
|
 |
grindstone
Anmeldungsdatum: 03.10.2010 Beiträge: 1279 Wohnort: Ruhrpott
|
Verfasst am: 11.11.2015, 14:02 Titel: |
|
|
Ich fürchte, da haben wir jetzt aneinader vorbeigeredet (bzw. -geschrieben ). GetJoystick fragt nur USB - Joysticks ab. Ein Joystick am Gameport (ich habe es gerade ausprobiert) wird nicht erkannt. Du müsstest den Joystick also direkt über seinen I/O - Port ansprechen. (Siehe auch http://www.lowlevel.eu/wiki/Gameport)
Die Sache hat allerdings einen Haken: Bis Windows ME war das problemlos möglich, ab XP verhindert Windows den direkten Zugriff auf die Hardware. Auch INP und OUT von FB funktionieren nicht mehr. Du benötigst dazu einen speziellen Treiber, wie z.B. inpout32.
Gruß
grindstone _________________ For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen! |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 11.11.2015, 14:59 Titel: |
|
|
grindstone hat Folgendes geschrieben: | Ich fürchte, da haben wir jetzt aneinader vorbeigeredet (bzw. -geschrieben ). GetJoystick fragt nur USB - Joysticks ab. |
Äh nein, das wäre Unsinn. Zumindest unter Windows unterscheidet die API nicht, wo du deinen Joystick anschließt. Das gute alte Problem ist vermutlich aber, dass du erst den entsprechenden Joystick-Typ in der Systemsteuerung hinzufügen musst. _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
grindstone
Anmeldungsdatum: 03.10.2010 Beiträge: 1279 Wohnort: Ruhrpott
|
Verfasst am: 11.11.2015, 18:17 Titel: |
|
|
@Jojo:
Du hast wie immer Recht. Ich hatte im Gerätemanager nur nach dem Gameport gesehen, und der war aktiviert. Offensichtlich bin ich ein wenig Plug & Play - verwöhnt...
Nach dem manuellen Eintragen wird der Joystick jetzt erkannt und korrekt abgefragt (Und wenn ich mir die Asugangswerte ansehe, weiß ich auch, warum er bei keinem Spiel richtig funktioniert hat ).
@CommLan:
Ich habe noch einen Thread gefunden, der genau das Thema Sensorabfrage behandelt:
https://forum.qbasic.at/viewtopic.php?p=23774&sid=6c847f2a6807325d249c7710b51b2a22
Und was die Zuordnung Ausgangswert ---> Temperatur betrifft, schlage ich das klassische Einmessverfahren vor: Erzeuge ein paar passende Referenztemperaturen, sieh dir an, welchen Ausgangswerten sie jeweils entsprechen, erstelle daraus eine Tabelle und schreibe ein Programm, das die Zwischenwerte möglichst genau interpoliert. Erfahrungsgemäß dürfte das auf ein passendes Polynom 2. Grades hinauslaufen.
Gruß
grindstone _________________ For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen! |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 11.11.2015, 20:20 Titel: |
|
|
grindstone hat Folgendes geschrieben: | Nach dem manuellen Eintragen wird der Joystick jetzt erkannt und korrekt abgefragt (Und wenn ich mir die Asugangswerte ansehe, weiß ich auch, warum er bei keinem Spiel richtig funktioniert hat ). |
Ist jetzt ein wenig off-topic, aber hast du den Joystick auch richtig kalibriert? Das ist ja das größte Problem an den alten Gameport-Joysticks, die Toleranzen sind da in der Spezifikation sehr groß, weshalb man den Joystick erst mal richtig kalibrieren muss (bei DOS-Spielen meist direkt im Spiel, unter Windows im entsprechenden Dialog in der Systemsteuerung). _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
grindstone
Anmeldungsdatum: 03.10.2010 Beiträge: 1279 Wohnort: Ruhrpott
|
Verfasst am: 11.11.2015, 20:57 Titel: |
|
|
Kalibriert habe ich ihn (so gut es ging), aber das ist ein ganz billiges Teil (20,--DM oder so). Nach links geht der Wert bis -0,5, nach rechts bis 0,2, und die 2. Stelle hinter dem Komma springt schon. Der Joystick an meinem Gamepad ist da wesentlich besser.
Gruß
grindstone _________________ For ein halbes Jahr wuste ich nich mahl wie man Proggramira schreibt. Jetzt bin ich einen! |
|
Nach oben |
|
 |
|