Home Fries Posted July 2, 2013 Posted July 2, 2013 (edited) I'm in the process of making an integrated DCS World profile where you can switch between modules with button presses. This profile incorporates the HOTAS Cougar and both MFDs. Right now, I have been able to assign LED1 on the LMFD to light when the airbrakes are on and turn off when airbrakes are retracted. I also have a basic routine that will deploy/retract gear or flaps depending on tempo. The following code works fine. [color=#1e90ff][b]int[/b][/color] DCS_Global() { Binary_AirbrakeOn = CHAIN[color=#ffffff]([/color]PULSE[color=#ffffff]+[/color]DX27, D[color=#ffffff]([/color][color=#ffffff]500[/color]), EXEC([color=#a52a2a]"Lights_LLED1(1);"[/color])); Binary_AirbrakeOff = CHAIN[color=#ffffff]([/color]PULSE[color=#ffffff]+[/color]DX28, D[color=#ffffff]([/color][color=#ffffff]1500[/color]), EXEC([color=#a52a2a]"Lights_LLED1(0);"[/color])); Gear_Flaps_Up = TEMPO[color=#ffffff]([/color]PULSE[color=#ffffff]+[/color]Flaps_Dn, CHAIN[color=#ffffff]([/color]PULSE[color=#ffffff]+[/color]Landing_Gear_Up, D[color=#ffffff]([/color][color=#ffffff]2000[/color]), EXEC([color=#a52a2a]"Lights_LLED2(0);"[/color])), GearUpTempo); Gear_Flaps_Dn = TEMPO[color=#ffffff]([/color]PULSE[color=#ffffff]+[/color]Flaps_Up, CHAIN[color=#ffffff]([/color]PULSE[color=#ffffff]+[/color]Landing_Gear_Down, D[color=#ffffff]([/color][color=#ffffff]1000[/color]), EXEC([color=#a52a2a]"Lights_LLED2(1);"[/color])), GearDnTempo); } int main() { MapKeyIO(&HCougar, H3U, Gear_Flaps_Dn, CHAIN[color=#ffffff]([/color]DX30[color=#ffffff]+[/color]DX11), [color=#32cd32]// DX set for Radar (E/O for Su-25T)[/color] MapKeyIO(&HCougar, H3D, Gear_Flaps_Up, CHAIN[color=#ffffff]([/color]DX30[color=#ffffff]+[/color]DX13), [color=#32cd32]//DX set for E/O (LLLTV for Su-25)[/color] MapKeyIO(&HCougar, T9, PULSE[color=#ffffff]+[/color]DX27, Binary_AirbrakeOn); [color=#32cd32]//State Toggle Shift+T9. [/color] MapKeyRIO(&HCougar, T9, [color=#ffffff]0[/color], Binary_AirbrakeOff); } Note: Flaps_Up and Flaps_Dn are macros, and Lights_LLED() is a separate function for the LEDs (which works fine). Here's the problem: When I try to get fancy, bad things happen. I want to apply a flaps indicator to LED1, and make the airbrake flash. Then I figured I could make an incremental flap function with an input as the number of flap stages, and have an intelligent LED rather than just up/down toggle. The following code doesn't work, and I can't figure out why. [color=#1e90ff][b]int[/b][/color] Gear_Flaps_Up() { TEMPO[color=#ffffff]([/color]EXEC([color=#a52a2a]"Flaps_Up_Step();"[/color]), CHAIN[color=#ffffff]([/color]PULSE[color=#ffffff]+[/color]Landing_Gear_Up, D[color=#ffffff]([/color][color=#ffffff]20[/color]), EXEC([color=#a52a2a]"Lights_LLED2(0);"[/color])), GearUpTempo); } [color=#1e90ff][b]int[/b][/color] Gear_Flaps_Dn[color=#ffffff]([/color][color=#1e90ff][b]int[/b][/color] steps) { TEMPO[color=#ffffff]([/color]EXEC([color=#a52a2a]"Flaps_Dn_Step(steps);"[/color]), CHAIN[color=#ffffff]([/color]PULSE[color=#ffffff]+[/color]Landing_Gear_Down, D[color=#ffffff]([/color][color=#ffffff]10[/color]), EXEC([color=#a52a2a]"Lights_LLED2(1);"[/color])), GearDnTempo); } [color=#1e90ff][b]int[/b][/color] Flaps_Up_Step() [color=#32cd32]//For multi-stage flaps. If any flap config, LED on. Must have FlapState = 0 at start of applicable module.[/color] { ActKey[color=#ffffff]([/color]KEYON[color=#ffffff]+[/color]PULSE[color=#ffffff]+[/color]Flaps_Up); FlapState[color=#ffffff]=[/color]FlapState[color=#ffffff]-[/color][color=#ffffff]1[/color]; printf([color=#a52a2a]"Flaps_Up_Step"[/color]); [color=#1e90ff][b]if[/b][/color] (FlapState==[color=#ffffff]0[/color]) EXEC([color=#a52a2a]"Lights_LLED1(0);"[/color]); [color=#1e90ff][b]if[/b][/color] (FlapState < [color=#ffffff]0[/color]) EXEC([color=#a52a2a]"Flapstate=0;"[/color]); } [color=#1e90ff][b]int[/b][/color] Flaps_Dn_Step[color=#ffffff]([/color][color=#1e90ff][b]int[/b][/color] steps) [color=#32cd32]//For multi-stage flaps. If any flap config, LED on. Must dictate number of flap increments in function call. Min value 2.[/color] { ActKey[color=#ffffff]([/color]KEYON[color=#ffffff]+[/color]PULSE[color=#ffffff]+[/color]Flaps_Dn); FlapState[color=#ffffff]=[/color]FlapState[color=#ffffff]+[/color][color=#ffffff]1[/color]; printf([color=#a52a2a]"Flaps_Dn_Step"[/color]); [color=#1e90ff][b]if[/b][/color] (FlapState > [color=#ffffff]0[/color]) EXEC([color=#a52a2a]"Lights_LLED1(1);"[/color]); [color=#1e90ff][b]if[/b][/color] (FlapState > steps[color=#ffffff]-[/color][color=#ffffff]1[/color]) EXEC([color=#a52a2a]"Flapstate=steps-1;"[/color]); } [color=#1e90ff][b]int[/b][/color] DCS_Global() { Airbrake_LED_On = REXEC[color=#ffffff]([/color][color=#ffffff]1[/color], [color=#ffffff]500[/color], [color=#a52a2a]"ActKey(KEYON+PULSE+LED(&LMFD, LED_ONOFF, LED_CURRENT^LED1); Defercall(500, &ActKey,KEYON+PULSE+LED(&LMFD, LED_ONOFF, LED_CURRENT^LED1));"[/color], RNOSTOP); Airbrake_LED_Off = EXEC([color=#a52a2a]"StopAutoRepeat(1);"[/color]); [color=#32cd32][color=Black]Binary_AirbrakeOn = CHAIN(PULSE+DX27, D(500), EXEC([/color][color=DarkRed]"Airbrake_LED_On;"[/color][color=Black]));[/color][/color] [color=#32cd32][color=Black]Binary_AirbrakeOff = CHAIN(PULSE+DX28, D(1500), EXEC([/color][color=DarkRed]"Airbrake_LED_Off;"[/color][color=Black]));[/color][/color] } int main() { MapKeyIO(&HCougar, T9, PULSE[color=#ffffff]+[/color]DX27, Binary_AirbrakeOn); [color=#32cd32]//State Toggle Shift+T9. [/color] MapKeyRIO(&HCougar, T9, [color=#ffffff]0[/color], Binary_AirbrakeOff); } When I execute the new code I get the following errors: Compile error in Execute: = expected, in "Airbrake_LED_On;" Compile error in Execute: = expected, in "Airbrake_LED_Off;" Likewise, neither the gear nor flaps work (I don't even get a keystroke), and I can freeze my stick on my DX30 (which is my S3 modifier that is also a DX modifier in DCS) if I hold down H3U/H3D for too long. Any help would be greatly appreciated. Edited July 5, 2013 by Home Fries -Home Fries My DCS Files and Skins My DCS TARGET Profile for Cougar or Warthog and MFDs F-14B LANTIRN Guide
Recommended Posts