PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : IDLE CUT beim Warthog



SnakeEye
11. November 2014, 05:18
Hi Leute

Nach 5 tagen langem rumdoctern hab ich es nun entlich geschaft ein profile mit richtiger IDLE CUT funktion hinzubekommen, aber das ist ja nicht alles :bravo::bravo::bravo:
habs auch hinbekommen das die target soft und bms nur mit einer exe gestartet werden. :D

wer möchte kann gerne mal das ganze austesten und auf seine funktionalität prüfen für verbesserungen bin ich immer offen :8

bei interesse einfach pn an mich.

nach erfolgreichen tests werd ich das ganze dann natürlich staffel intern erst mal veröffentlichen.

hoffe ich konnte damit einigen eine freude machen (mir ja selbst auch :P )

grüsse euer SnakeEye:wooha:

Snake
11. November 2014, 18:22
Hi Snake,

ich verstehe nicht ganz was Du da jetzt genau gemacht hast.

Der Warthog hat doch eine extra Postion mit Sperre für den Idle cut off. (Ich hoffe das Du den meinst) BMS hat eine entsprechende Option, die man nur aktivieren braucht.
Habe selber keinen Warhog. Deshalb komme ich da vielleicht nicht ganz mit.

Kannst Du es mir erklären?

Danke

-Sanke-

SnakeEye
11. November 2014, 21:41
Hi Snake :D

ja das ist richtig, ABER das ging nit so bei mir wie gedacht und erlich gesagt mochte ich es auch nicht so, das prob ist das normal die idle position beim warthog als button belegung ist, soll heisen das wenn du den throttel in idle bringst werden tasten gedrückt. icdle cut off, aber wenn du die maschiene startest must du den idle detent button drücken um das triebwerk hochzufahren. ich hab das ganze nun so gemacht das man keinen idle detent butten mehr brauch da ich die buttons der idle position zur achse geändert hab was das starten des triebwerks erleichtert und die taste wierd frei wür wichtigeres.

hoffe das es gut erklärt ist :D und sry im vorraus für die rechtschreibung :D

leichte legastenicker anzeichen :lol:
gruss Snake

RightStuff
12. November 2014, 19:34
Hi SnakeEye!

Gut erklärt, aber ich hab's trotzdem nicht verstanden.
Poste doch mal Deinen Code für Idle, bzw. C/O.

Hier ist meiner:

// Idle Cutoff Code
MapKey(&Throttle, IDLELON, CHAIN(EXEC("TrimDXAxis(DX_ZROT_AXIS, 90);"), TBLoff));
MapKeyR(&Throttle, IDLELON, CHAIN(EXEC("TrimDXAxis(DX_ZROT_AXIS, SET(0));"), TBLon));
MapKey(&Throttle, IDLERON, EXEC("TrimDXAxis(DX_Z_AXIS, 90);"));
MapKeyR(&Throttle, IDLERON, EXEC("TrimDXAxis(DX_Z_AXIS, SET(0));"));

Nix mehr Knöpfchen drücken, einfach nur noch "schieben". :)

Der Vollständigkeit halber sei angemerkt, dass das nicht auf meinem Mist gewachsen ist, sondern aus irgendeinem anderen Profil "ausgeliehen".

Hannibal
12. November 2014, 22:12
http://www.benchmarksims.org/forum/showthread.php?7372-how-do-you-map-the-idle-detent-to-the-throttle/page4

Letzter Post dieser Seite.

Snake
13. November 2014, 05:05
Da muss man wohl registriert sein um sich deinen link anzuschauen.

Hannibal
13. November 2014, 12:57
Japp. Ich dachte, die meisten hier wären im BMS-Forum angemeldet. Die Frage ist, ob ich einfach so diesen Beitrag kopieren und hier so als Quote posten darf...

Kolbe
13. November 2014, 14:06
Japp. Ich dachte, die meisten hier wären im BMS-Forum angemeldet. Die Frage ist, ob ich einfach so diesen Beitrag kopieren und hier so als Quote posten darf...

Wenn du die Quelle (Link zum Post) und den Autor (Morphine) nennst, ist das kein Problem.

Hannibal
13. November 2014, 14:14
Nun denn...



I think I’ve developed a solution to allow the Warthog (WH) Throttle to use a mostly realistic “virtual’ Idle Cutoff function WITHOUT the use of the Idle Detent (alt-i) keystroke so that the Warthog emulates the throttle moving over the real jet’s Idle Cutoff Detent (with a virtual Idle Cutoff) when you pull it up and on to and push off the WH idle detents. I’ll describe what I did generally and then share the TARGET code.

Using a custom curve in the TARGET Script Editor (not the GUI) I set up a custom axis curve with a 5% deadzone at the bottom. I then use an EXEC command in TARGET to force (actually TRIM) the throttle setting below the 5% level when the throttle is moved onto the WH idle detents which virtually moves the throttle below the Idle Cutoff setting in the sim and shuts down the engines if they are running. When the throttles are moved off the WH idle detents the TRIM value is removed and the throttles move back into the active range (as if you had moved it over the real idle cutoff detent) and the engine will start and run normally. Like the real jet, you cannot shut down the engine unless you move the throttle up and onto the idle detents and thus over the virtual idle cutoff detent.

To make it work in the sim, first make sure the “Idle Cutoff” box is CHECKED in the Falcon BMS Configuration “Settings Hardware” area. This will enable the OFF-Idle throttle position code in BMS and render the ‘Idle Detent’ code non-functional (i.e. alt-i no longer works). With the TARGET script running the code below, enter the sim Setup Controllers page pull the throttle all the way back (but NOT up and on to the idle detents) and RIGHT CLICK on the SET AB button. This will set the idle cutoff point and the Red Line will appear near, but above, the bottom of the indicator. I also use a “virtual detent” for the AB as well so I set the AB detent by left clicking right when the indicators start moving up after the virtual AB detent is passed. You can check if things are working to plan by now moving the throttles up and on to the idle detents and you should see the throttle position indicators move below the Red Line.

The code that needs to be in your TARGET script is below:

The first two settings define the Left and Right Throttle axes and set the custom curve. If you do not want to use the virtual AB detent, just remove the “65,70, 75,70,” text below.

MapAxis(&Throttle, THR_LEFT, DX_ZROT_AXIS);
SetCustomCurve(&Throttle, THR_LEFT, LIST(0,5, 65,70, 75,70, 100,100));//start at 5% & create a deadzone between 65% and 75% for AB

MapAxis(&Throttle, THR_RIGHT, DX_Z_AXIS);
SetCustomCurve(&Throttle, THR_RIGHT, LIST(0,5, 65,70, 75,70, 100,100));//start at 5% & create a deadzone between 65% and 75% for AB

The Idle cutoff is enabled with the following TRIM commands in an EXEC statement:

// Idle Cutoff Code

MapKey (&Throttle, IDLELON,
EXEC("TrimDXAxis(DX_ZROT_AXIS, 90);"
));

MapKeyR (&Throttle, IDLELON,
EXEC("TrimDXAxis(DX_ZROT_AXIS, SET(0));"
));

MapKey (&Throttle, IDLERON,
EXEC("TrimDXAxis(DX_Z_AXIS, 90);"
));

MapKeyR (&Throttle, IDLERON,
EXEC("TrimDXAxis(DX_Z_AXIS, SET(0));"
));

Of course you will need to assign the left and right throttle axes in the sim. All other WH functions should behave just as you have programmed them in the past. A couple of other notes:

1.) You will always need to ‘wake up’ the controller when you start the sim so I would recommend when performing a Ramp Start to first cycle the throttle back and forth once you are in the cockpit before placing it on the idle detents and then beginning your start up procedure. Once the JFS is running and stabilized, moving the WH throttles off the detents will spool the engine and continue startup.

2.) To shut the engine down after a flight, just move the throttles back and up and onto the idle detent and the engine will spool down.

3.) You may also be able to use the SetSCurve command with TARGET to set the 5% deadzone on the bottom but I have not tried that.

If you are using my profile, I will be updating the posted version to include this new functionality in the next couple of days after a little more testing.

I’d appreciate any feedback and testing you guys could do to make sure this works. Thanks.

Hannibal
13. November 2014, 18:11
Hab da gerade mal dran rum gebastelt.

War ne Sch*** idee.

Folgendes: Habe es so weit, dass Throttle-Achse neu konfiguriert ist. Klappt auch soweit alles. JFS, warten bis 25%, dann Throttle über den Idle Detend schieben, Moped fährt hoch.
Throttle zurückschieben, über die Sperre in den Cutoff heben, Moped geht aus. Soweit wunderbar.
Dumm nur: Target generiert, sobald ich das Script starte, ein neues Gerät. Der Warthog Throttle wird nicht mehr erkannt, stattdessen wird ein HID-Konformer Gamecontroller gelistet. Schaue ich auf die Geräte-Reihenfolge, steht nun ganz oben "Thrustmaster Combined", darunter der Stick, dann MFDs und das ICP.
Auch soweit noch gut.
Hierbei sei angemerkt, dass ich im Script angegeben habe, MFDs und Stick auszuschließen. Sonst würde er aus allen 4 Geräten nämlich eines machen.

Mein Problem ist nun allerdings, dass er vom Throttle, also vom "Thrustmaster Combined" oder auch "HID-konformen Gamecontroller" keine DX-Befehle mehr bekommt. Folglich funzt in BMS nun alles normal, außer der Throttle. Wenn ich mal in das UI-Setup gehe und drücke munter Knöpfe, bekomme ich ja immer angezeigt, welche DX-Taste gerade gedrückt wird. Beim Throttle passiert gar nichts.

Wer weiß warum und die man das zum funzen bekommt?
RightStuff vielleicht?

Hab echt kein bock, mir den Throttle mit Target zu programmieren, nur weil ich die Throttle-Achse neu konfiguriert hab.

EDIT: Ach ja, der Schieberegler aufm Throttle funzt übrigens auch nicht. Schade, den hab ich immer als Range-Knob programmiert....


Mein Script-Inhalt sieht übrigens so aus:

include "target.tmh"

//program startup
int main()
{
Configure(&Joystick, MODE_EXCLUDED);
Configure(&LMFD, MODE_EXCLUDED);
Configure(&RMFD, MODE_EXCLUDED);
if(Init(&EventHandle)) return 1; // declare the event handler, return on error

//add initialization code here


MapAxis(&Throttle, THR_LEFT, DX_ZROT_AXIS); SetCustomCurve(&Throttle, THR_LEFT, LIST(0,4, 65,90, 75,90, 100,100));//start at 5% & create a deadzone between 65% and 75% for AB

MapAxis(&Throttle, THR_RIGHT, DX_Z_AXIS); SetCustomCurve(&Throttle, THR_RIGHT, LIST(0,4, 65,90, 75,90, 100,100));//start at 5% & create a deadzone between 65% and 75% for AB


// Idle Cutoff Code
MapKey (&Throttle, IDLELON, EXEC("TrimDXAxis(DX_ZROT_AXIS, 90);"));
MapKeyR (&Throttle, IDLELON, EXEC("TrimDXAxis(DX_ZROT_AXIS, SET(0));"));
MapKey (&Throttle, IDLERON, EXEC("TrimDXAxis(DX_Z_AXIS, 90);"));
MapKeyR (&Throttle, IDLERON, EXEC("TrimDXAxis(DX_Z_AXIS, SET(0));"));

}

//event handler
int EventHandle(int type, alias o, int x)
{
DefaultMapping(&o, x);

//add event handling code here
}

Hannibal
15. November 2014, 00:43
Sochen, nachdem ich gestern resigniert hingeschmissen habe, hab ich mich heute nochmal rund 5-6 Stunden dran gesetzt.

Das alles, um eben diese Idle-Cutoff-Funktion umzusetzen.

Wie oben bereits geschrieben, habe ich dazu den Target Script-Editor verwendet. Ich habe ein Script erstellt, indem nur der Throttle angesprochenn wird. Die MFDs und der Stick wurden ausgeschlossen.
Das Problem war dann, wie oben beschrieben, dass Der Throttle keine DX-Befehle mehr ausgibt.

Ich habe allerdings eine Möglichkeit gefunden, in dem Script die Keys als DX-Befehle zu mappen. Somit hat sich meine DX-Programmierung basierend auf Kolbes Keyfile nicht geändert.

In diesem Fall muss ich wieder einmal danke sagen, denn ohne Kolbes DX-Generator hätte ich mindestens die doppelte Zeit gebraucht, alles zu verstehen und zu verknüpfen.

Eines der Probleme, dass es wieder mal zu entdecken galt, war zum Beispiel, dass Target als DX die Knöpfe 1-32 belegt, während BMS ja bekanntlich 0-31 belegt...

Mein Throttle ist nun folgendermaßen programmiert. 0-4%: Idle Cutoff / 4-90 Prozent Buster Setting / 90-100% Nachbrenner.
Standardmäßig geht der Nachbrenner schon bei 75% rein. Aber mal ehrlich, wenn man schon den Nachbrenner rein drück, dann so gut wie immer Vollgas. Also fand ich, 10% Spiel reichen hier. Somit habe ich eine größere Spannweite für den Schub ohne Nachbrenner und kann genauer Geschwindigkeit bei Tanken, Formationsflug, etc. halten.

Auf der Base vom Throttle habe ich noch den Range Knob (Schieberegler als Achse gemappt), JFS, Gear, Parking Brake, Trim Reset, Emergency Jettison, Stores Config Switch, Master Arm, und Laser arm programmiert.
Ein weiteres Rätsel gab mir Target auf, als ich das Script am laufen hatte, erkannte BMS nicht mehr die Achsen des Mouse-Cursors (als Radar-Cursor verwendet) und auch nicht die Achse des Schiebereglers. Im Script muss mal diese Achsen also extra als Achsen mappen, damit man sie in BMS programmieren kann. So ein quatsch.
Ich weiß schon, warum ich bisher auf diesen TARGET-Mist verzichtet hab... In diesem Punkt hat Thrustmaster echt massiv nachholbedarf. Sogar die Saitek-Software ist da brauchbarer...

Für den Fall, dass jemand Interesse an Script und Keyfile hat, möge er sich melden, ich teile gern :-)

Cheers
:hannibal:

SnakeEye
15. November 2014, 22:08
ich war auch die letzten tag fleisig, deshalb auch jetzt erst mein post, sry dafür. ABER ich freue mich euch bekannt zu geben das ich mit meinem script nun fertig bin und es hir auch anbiete. ich hab nun noch eine LED funktion eingefügt u.a idle detent erkennen der basic LEDs, anzeige für park/luftbremse üner LED 1-5, AA/AG modus über LED 1,2 oder 4,5. master aram safe/arm mode über LED 3, Laser On über LED 4. ich werd die tage weiter an dem script arbeiten und noch mehr feathers eibinden, bis dorthin wünch ich euch viel spass.

Wichig ist noch das ihr beim nutzen meines scriptes auch mein bms keyfile nutzen tut da sonnst verschieden probs auftreten können, das ihr natürlich auch zu eren wünchen anpassen könnt.

MFG Snake

http://www.file-upload.net/download-9852025/BMS-4.32-WARTHOG-KEYFILE-by-SnakeEye-V1.2.rar.html (http://www.file-upload.net/download-9852025/BMS-4.32-WARTHOG-KEYFILE-by-SnakeEye-V1.2.rar.html)

bei probs oder fehlern bitte direkt bescheit geben. danke !

SnakeEye
16. November 2014, 10:19
moin ihr tiefflieger :D

hab hir das überarbeitet script da mir doch noch paar sachen auf den kecks gingen :P und nun auch mit Beschreibung für die LED anzeige und neu funktionan dafür.

dann hab ich das keyfile auch non f16 kompatiebel gemacht für die Carriar piloten die den Hook benötigen,
und zu guter schluss hab ich einen fehler gefunden beim steuern des radar curser denn ich behoben habe.

wer das ganze gerne mit script starten würde muss mir nur die pfarde der programme durchgeben damit ich das für euer system anpassen kann ;)

hir noch ein kleines video wie es bei mir ist.


http://youtu.be/V6879I-f_A8
leider hat der screen recorder meine anderen instromente nicht mit aufgezeichnet, find nit raus warum, aber das startet auch noch mit :D iss halt nur im video nicht zu sehn
viel spass damit hoffe auf feedback :fly:
grüsse Snake


http://www.file-upload.net/download-9854511/BMS-4.32-WARTHOG-KEYFILE-by-SnakeEye-V1.4.rar.html <<<<<<< Link wurde Geupdatet
(http://www.file-upload.net/download-9853361/BMS-4.32-WARTHOG-KEYFILE-by-SnakeEye-V1.4.rar.html)

RightStuff
16. November 2014, 16:03
Auf der Base vom Throttle habe ich noch den Range Knob (Schieberegler als Achse gemappt), JFS, Gear, Parking Brake, Trim Reset, Emergency Jettison, Stores Config Switch, Master Arm, und Laser arm programmiert.
Sauber! :daumen:

In der Tat kann man sich im Target ordentlich austoben.


Als Anregung, hier meine Kombination für den EngOper-Switch (links):

Oben: Canopy auf/zu und Status über LED1
Mitte: SeatArm SAFE
Unten: SeatArm ARMED


// LED-Steuerung
int TLED1on = LED(&Throttle, LED_ONOFF, LED_CURRENT+LED1);
int TLED1off = LED(&Throttle, LED_ONOFF, LED_CURRENT-LED1);

// LED1 initial an = Canopy offen (RAMP-Start)
ActKey(PULSE+KEYON+TLED1on);

// ENG OPER LEFT
MapKey(&Throttle, EOLIGN, CHAIN(PULSE+CanopyToggle, SEQ(TLED1off, TLED1on)));
MapKey(&Throttle, EOLNORM, PULSE+EjectSeatSafe);
MapKey(&Throttle, EOLMOTOR, PULSE+EjectSeatArm);

Hier die pers. Keycodes, bzw. DXe einsetzen.

SnakeEye
16. November 2014, 17:47
Sauber! :daumen:

In der Tat kann man sich im Target ordentlich austoben.


Als Anregung, hier meine Kombination für den EngOper-Switch (links):

Oben: Canopy auf/zu und Status über LED1
Mitte: SeatArm SAFE
Unten: SeatArm ARMED


// LED-Steuerung
int TLED1on = LED(&Throttle, LED_ONOFF, LED_CURRENT+LED1);
int TLED1off = LED(&Throttle, LED_ONOFF, LED_CURRENT-LED1);

// LED1 initial an = Canopy offen (RAMP-Start)
ActKey(PULSE+KEYON+TLED1on);

// ENG OPER LEFT
MapKey(&Throttle, EOLIGN, CHAIN(PULSE+CanopyToggle, SEQ(TLED1off, TLED1on)));
MapKey(&Throttle, EOLNORM, PULSE+EjectSeatSafe);
MapKey(&Throttle, EOLMOTOR, PULSE+EjectSeatArm);

Hier die pers. Keycodes, bzw. DXe einsetzen.

:D nice, aber ich glaub ist für die meisten zuviel des guten :P muss man ja auch erst mal durchblick in das ganze.

ich hab mittlerweile auch noch paar LED befehle rein gehtan. hier mal die erklärung für die belegung



1192

Hannibal
17. July 2016, 17:35
Moin auch,

leider muss ich dieses Thema mal wieder aus der Versenkung holen.

Kürzlich habe ich endlich mein Cockpit umziehen lassen. Anschließend alles aufgebaut, angeschlossen, etc. und dann auch gleich mal die 4.33 U1 installiert.
Seitdem stimmt meine Gerätezuordnung nicht mehr.
Das ist ja so weit auch nichts schlimmes - dachte ich!

Die Gerätezuordnung verändert sich ja nunmal auch noch, wenn man dann das Scipt mit dem Target Script-Editor startet.
Auch so weit, nicht schlimm. Die neue Gerätezuordnung raus gefunden, mithilfe von Kolbes Keyfile-Editor die neue Zuordnung hergestellt, File exportiert, fertig.

Dumm nur: Ich hatte ja geschrieben, dass ich die DX-Befehle im Script mappen musste. Da war das auch einfach, da damals mein Thottle als Gerät Nr. 1 geführt wurde.
Nun ist der Thottle allerdings Gerät Nr.5.
Dank diesem Thread hier konnte ich auch wieder nachvollziehen, was ich da damals programmiert hatte.
Also habe ich das Script genommen, und die DX-Tasten dementsprechend hoch gesetzt in den 130er Bereich.
Leider will er jetzt aber das Script nicht mehr starten. Er kann mit diesen hohen DX-Werten offensichtlich nichts anfangen, da das Script, bzw. der Editor, nicht begreift, dass es an einem PC mehrere DX-Geräte geben kann...

Es gäbe eigentlich eine ganz einfache Lösung: Ich verzichte auf den Idle-Cutoff, brauche das Script nicht mehr und alles ist gut.
Aber das wäre ja langweilig...

Hat jemand eine Lösung?
RightStuff vielleicht? Du arbeitest soweit ich weiß ja auch mit dem Idle-Cutoff...

Danke und Gruß
Henning

Kolbe
18. July 2016, 10:38
Moin Henning.
Ich bin gerade auf der Arbeit und kann daher nicht direct nachgucken.
Du hast im Config Ordner eine Devicesorting.txt. Hier kannst du die Reihenfolge der
DX-Devices festlegen. Wie das funktioniert kannst du im Keyfile Manual nachlesen.

Durch das einfach kopieren der entsprechenden WarthoEinträge an die 1. und 2. Position
(= DX-Device 1 und 2) kannst du deine alten Zuweisungen behalten und müsstest dann
dementsprechend an dem Script auch nichts ändern.

Hannibal
18. July 2016, 20:22
Jawollo, sehr geil!
Da fiel mir dann auch gleich nen fetter Fehler auf: Mein Throttle hat interessanterweise 2 Einträge. Einmal für mit aktivem Script, einmal ohne.
Kein Wunder, dass das Programm durcheinander kam.
Nun versuche ich mal in Backups meine alten Settings raus zu suchen, die alten Einstellungen wieder herzustellen und berichte dann!

Hannibal
18. July 2016, 21:13
Alles erledigt, ich bin endlich wieder im Geschäft! :hurra:
Tausend Dank, Kolbe! :hannibal:

Kolbe
18. July 2016, 23:05
Gerne doch ;)

Sambite
23. July 2016, 16:13
Moinsen,

wisst ihr zufällig, was für eine ID die MFDs haben?
in meiner DeviceSorting.txt stehen nur die Warthogeinträge drin...

Danke vorab!

hoover
23. July 2016, 18:09
Das sollte sich über "dxdiag" rausfinden lassen, ich glaube, das hat Kolbe in seinem Key File Generator beschrieben:


1985

Sambite
24. July 2016, 18:10
wo finde ich das denn??
habe zwar in den DOC den Key File Generator gefunden, aber ich habe ja ein Warthog profilwelches auch funktioniert...nur in der Devicesorting.txt fehelen die MFDs?? :denken::aua:

hoover
25. July 2016, 10:04
Hast du mal versucht, die devicesorting.txt wegzumoven und sie von BMS neu anlegen zu lassen?

ich habe für die mfds unter win7 nichtmal Treiber installieren müssen, die liefen out of the box.

Uwe

Kolbe
25. July 2016, 22:45
BMS erkennt alle angeschlossenen Input-Geräte automatisch.
Überprüfe mal, ob Windows die Devices erkennt.
Falls nein, abklemmen, Treiber deinstallieren, Neustart. Wieder anklemmen. Ohne Treiber. Die brauchst du nicht.
Falls ja.
Doof.
Dann muss ich mal gucken, ob man da noch so kurzfristig was machen kann.

Boomer
20. January 2017, 16:33
Erledigt - Fehler gefunden !

hoover
27. January 2018, 14:29
Hallo Jungs, eventuell gibt es doch noch Hoffnung für die Nicht-TARGET-Nutzer unter uns, die den WT als 2 separate DX-only-Devices betreiben. Ich hatte gestern nochmal im BMS-Forum nachgefragt und diese Antworten bekommen (sorry für den paste, Kolbe hat scheinbar seinen Account nicht mehr):

Ich:


Hi folks,

I'm a bit confused about how to enable IDLE DETENT on the WT throttle in DX mode (stick and throttle as two separate devices, no TARGET).

When I check the controller setup screen in BMS, the WT throttle sometimes reports Button 61 and then again button 62 when I lift and move the throttle over the detent, sometimes depending on the direction (forward / backward) of the throttle movement.

I've enabled IDLE DETENT in the bms config hardware section, but no matter what I do and what position the throttle is in during a RAMP, the engine always spins up automatically once JFS2 has brought RPM up to 20%.

I'd be most grateful on ideas and tips on how to change this behaviour (I'd like to set up the throttle in the idle detent position before entering 3d and then have BMS require me lifting it "over the hump" and register that as the IDLE DETENT button in order to spin up the engines beyond 20% RPM).

2nd question: I'm a bit confused when it comes to the paddle switch. Currently it's mapped to "wheel brakes: hold", but I seem to recall that while in the air, the paddle switch can / could be used as "Auto pilot override".

Looking at the key file, I see the SimAPOverride being set to button 259 which sounds like paddle & pinky (pinky is my DX shift button), but the override doesn't seem to work no matter if I shift the paddle or not.

Thanks very much in advance for any ideas & all the best,

Uwe

Antwort von l3crusader:


Morphine experimented with assigning the Idle Detent callback on DX buttons, with no luck.

I'd say the only way is with a TARGET script or code support.

Additional idea : build a small extension of the physical idle detent in the warthog, a bit like the AB detent is made.


EDIT : actually, it looks like it is doable as of now, but with a caveat, let me explain.
The DX button is in a pressed state whenever the Warthog throttle is in OFF.

The callback starts/stops the engine whenever the axis value is below 10%.

BUT : triggering the callback whenever the DX button is pressed does not work. Because then, with the detent in OFF, you start the engine at the first frame, then you shut it down at the second, then you restart it at the third, etc.
What you need is a way to trigger the callback only when the DX button changes values. Fortunately, that is doable with something like this :
Code:
SimSelectMRMOverride 59 -2 -2 0 0x0 0 "Throttle Warthog : DOGFIGHT Switch - MRM Override"
SimDeselectOverride 59 -2 -2 0x42 0x0 0 "TQS: DOGFIGHT Switch - MRM/DF Cancel"
See keyfile manual in your install, Docs folder, for the full information on that (search for 0x42)

If you replace SimSelectMRMOverride and SimDeselectOverride by SimThrottleIdleCutoff, and the DX button by the correct value* you are all set : it will only be called when the DX button changes values, aka when the throttle is passed from OFF to IDLE and from IDLE to OFF.

HOWEVER : when you enter the sim in 3D, the throttle need to be in the correct state.
-> If you start at ramp with the engine off, no problem, but you need to make sure the throttle is in OFF when you start the JFS.
-> If you start in flight, you need to make sure that the throttle is not in OFF. Because if you move the throttle out of OFF, you will actually kill your engine.

That could be solved by dedicated callbacks "SimThrottleIdleDetentBack" and "SimThrottleIdleDetentForward" so as to differentiate between the 2 states... hum.

*(taking into accound the fact that button N in DX is represented as button N-1 in keyfiles)

Daraufhin gabs dann noch eine Antwort:


https://49th.de/cache.php?img=https%3A%2F%2Fwww.bmsforum.org%2Ffor um%2Fimages%2Fmisc%2Fquote_icon.png Originally Posted by Frederf https://49th.de/cache.php?img=https%3A%2F%2Fwww.bmsforum.org%2Ffor um%2Fimages%2Fbuttons%2Fviewpost-right.png (https://www.bmsforum.org/forum/showthread.php?p=459480#post459480)
Just applying the SimIdleDetent to the ILDELON button will only work for turning the engine off because the transit from off-idle and idle-on measures the throttle axis position at the moment of idle button press to determine behavior. The airplane throttle will only transit from off to idle when the axis value is >X% (X ~66%). That obviously won't be the case for the Warthog because the button is released while the axis is still at 0%, too low to instigate the transit. To get the throttle to transit from off to idle you need the button to be released at the same time that the axis is at a high value, a physical impossibility.



Actually no. The condition on the callback is to be below 10% of the axis value.

However, you do need to "wake" the axis to make sure it is registered. At ramp, that means moving the throttle back and forth before putting battery power so as to make sure you can see it move.






Mir ist jetzt allerdings nicht klar, ob man den Schalter über DX für beides (engine an und engine aus) nutzen kann... ich halte euch auf dem Laufenden.

Den Original-Thread findet ihr hier:

https://www.bmsforum.org/forum/showthread.php?32835-enabling-idle-detent-in-DX-mode-split-devices-amp-and-a-question-on-the-paddle-switch


VG Uwe
V

Ghostrider
27. January 2018, 14:45
Ich meine Dunk hätte mal erwähnt das man die "Schalter" Funktion mittels tauschen eines Flags in der Config ändern muss da der Schleter beim vorschiebn auf OFF geht, oder umgekehrt, weiß das auch nicht mehr so genau..........habe das aber auch noch nicht eingebaut um zu verhindern das ich das Triebwerk im Flug kille

hoover
27. January 2018, 15:07
Du weisst aber nicht zufällig, welches Flag das sein könnte? Meint er eventuell den Haken in der BMS config neben Hardware --> Idle Cutoff?

Hannibal
28. January 2018, 11:48
Das Triebwerk im Flug killen ist quasi unmöglich.
Dafür hat man ja die mechanische Sperre im Throttle.

Der von hoover genannte Haken ist ganz sicher dabei. Denn der aktiviert erst die Funktion. Egal ob Button- oder Achsen-Methode.
Ich weiß aber nicht, ob hier ein zusätzliches Flag gemeint sein könnte.

RightStuff
28. January 2018, 15:26
Das Problem mit dem Idle C/O war (ohne Target), dass der "negative" Weg im C/O-Bereich nicht abgefragt werden kann. Das Flag für die Combo (nativ: ALT-i) um den DX umzudrehen ist ja 0x42. Das manuell entsprechend in der Config bringt aber nix, da - wie gesagt - durch die Wegbegrenzung die ON-Stellung nie erreicht wird und somit auch der OFF nicht gesendet werden kann, um den Trigger für den Detent zu setzen. Wenn's dafür nun eine Sw-Lösung geben sollte: Fein, fein... :)

Hannibal
28. January 2018, 20:29
Wohl wahr. Zu gern würde ich auf das Script verzichten.
Aber da hat BMS ziemlich wenig Einfluss drauf, denke ich.
Das ist wohl ne Treiber-Update-Sache von Thrustmaster

hoover
31. January 2018, 10:03
Lt. l3crusader soll das aber mittlerweile durchaus funktionieren, nur eben bei mir (noch) nicht :D

LG Uwe

Kolbe
31. January 2018, 19:02
Kann sein, dass Alex hier etwas durcheinander würfelt.
In 4.33 ist es so, dass du erst die Achse bewegst und dann Idle Detent drückst.
In 4.34 musst du nur Idel Detent drücken. Die Turbine läuft dann automatisch
hoch. Die Achse muss nicht mehr bewegt werden.

Kann sein, dass er hier versehentlich gespoilert hat :D

Mit den bereits jetzt vorhandenen Mitteln sollte es also auch beim WH keine
Probleme mehr geben. Denke ich zumindest...

hoover
1. February 2018, 13:34
Kann mach sich irgendwo um den 4.34-beta-Test "bewerben"? :D

VG Uwe

Kolbe
1. February 2018, 21:20
Mache irgendetwas Sinnvolles mit Daten oder 3d-Modellen, zeige dich über einen gewissen Zeitraum fleißig und aktiv und es könnte klappen. ;)
Testen alleine bringt nichts, da die Keys staffelweise und nicht an Einzelpersonen vergeben werden (Was ich im Übrigen für völlig falsch halte).

hoover
2. February 2018, 15:09
Ich wäre sehr an einer vernünftigen Linux-Kompatibilität von 4.34 interessiert.... das wird wohl im Moment noch nicht so sehr auf Interesse stoßen.

VG Uwe

hoover
21. February 2018, 12:53
Gute Nachrichten: Mit "Joystick Gremlin" kann man sich scheinbar das ganze Target-Geraffel sparen. Link im BMS-Forum:

https://www.benchmarksims.org/forum/showthread.php?33045-Warthog-Throttle-Idle-Detent-Python-Script-for-Joystick-Gremlin&p=462168#post462168

Text des Postings incl. Python-Script:

As TARGET is quite buggy lately and as there are many high-end peripherals from VKB, VPC, and BRD, Joystick Gremlin is a good alternative because it can program any HOTAS from any brand. I believe more and more people will use Warthog Throttle in combine with other brand stick base. I myself use VKB Gunfighter + MCG Pro with Warthog Throttle. JG is as powerful if not more so than TARGET because it allow custom module via Python script.

I want to share my idle detent Python script that was inspired by how Morphine did it with his TARGET script.

Code:
import gremlin

whthr = gremlin.input_devices.JoystickDecorator(
"Throttle - HOTAS Warthog",
(72287236, 2),
"Default"
)

@whthr.button(29)
def idle_detent_right(event, vjoy):
if event.is_pressed:
vjoy[1].axis(3).value = 1.0
else:
vjoy[1].axis(3).value = 0.9

@whthr.button(30)
def idle_detent_left(event, vjoy):
if event.is_pressed:
vjoy[1].axis(6).value = 1.0
else:
vjoy[1].axis(6).value = 0.9
You have to change 2 in (72287236, 2) to your Warthog Windows ID, and 1 in vjoy[1] to the number of vjoy device that would be mapped to the throttle.

You also have to set the throttle axes to start from lower than 1.0, I use 0.9; and enable Hardware/Idle Cutoff option in BMS configuration. Then set the idle detent level in BMS controller option.