Jump to content
The simFlight Network Forums

CTRL+E+1/2 offset creation (FSX / FSUIPC4)


Recommended Posts

Dear Pete,

I trust you are well. Rather than explain all the ideas I have about how this could be done (from primary research and going through the FSUIPC programmers guide etc), I would like to ask if you see an easier way forward to this dilemma, I really am at my wits end with this, after asking Project Magenta for support, and working with the kind support of Thomas Richter, we made a lot of serious improvements to the situation but it still drags on. So I come to you asking for help. 

---

Problem:

I cannot get the engines to spool up. All I receive is (0-6pc-0 N2), using offsets 0892 and 092A. The start valve light on the EICAS illuminates for 1 second only. 

---

HW/SW:

HW= open cockpits engine starter switches. SW= SIOC 

Sim visuals SW: project magenta EICAS display (although i dont think this could have a bearing on it)

Sim system SW: TSR 737 System.

---

Background:

The starter SW worked well until a Project Magenta CDU update. After the update, the Project Magenta CDU would crash.  I do not want to roll back the update as I will loose all RNAV capability (it was quite a big jump up in capability).  I identified a conflicting SW (TSR EICAS display on another computer). As soon as I stopped using it, the CDU worked fine. Therefore I opted to use the Project Magenta EICAS display instead. However, upon installing it, I am presented with the starters only spooling to 6pc N2. Thomas Richter has kindly helped me but together we couldnt identify the correlation between TSR EICAS (of course its primary focus is display not systems) and the starters not functioning. 

After extensive trialling (3 months with this problem), I have found that the only way to start the engines is by modifying the SIOC script for the starter for GND position to combustion 0894 and 092C respectively. However of course this is not realistic, as the engine jumps from 0 to combustion in just one turn of the switch.

Then I found that if i try to start the engines using the FSX default CTRL+E solution they spool to 25 percent - which is exactly what I want. After 25pc i could then introduce fuel. 

---

Ask: What is the most efficient method to create a situation in which, I turn the Starter from OFF to GND and the engine start to spool using CTRL+E?

I presume the situation would look like this, but would certainly prefer your opinion.

1. turn engine 1 switch

2. sioc sees change in value, and accordingly activates an offset set to whatever CTRL+E+1 is. 

Thank you for any light you maybe able to share. 

Kind Regards

Nick

 

ps. I was thinking, maybe there is a a conflicting offset somewhere, maybe i should run your logger program to see?

 

 

 

Link to comment
Share on other sites

  • John Dowson changed the title to CTRL+E+1/2 offset creation (FSX / FSUIPC4)

I seem to recall that to keep the turbine turning you have to keep writing 1 to offset 0892 (etc). Else it reverts.  But I wouldn't swear to that.

6 hours ago, NicHer said:

Then I found that if i try to start the engines using the FSX default CTRL+E solution they spool to 25 percent - which is exactly what I want. After 25pc i could then introduce fuel. 

You can of course use the 0D70 to send whichever control the CTRL+E sends.  The choice of engine would be the parameter to go with it.

Pete

 

Link to comment
Share on other sites

Thank you for your response. Working from page 20 on your advanced users guide, could you kindly confirm this is correct ascii code for for CTRL+E? I then write the parameter as 1 or 2 depending on the engine to be started as you say.  

P1,3,K69,2 (ctrl plus e) 

So to recap, in my SIOC script, I add fsuipc out offset 0D70, and if the switch is pushed it sends parameter 1 (for engine 1 to this offset). But where do I put the above? 

Thank you 

 

 
 
 
Link to comment
Share on other sites

51 minutes ago, NicHer said:

Thank you for your response. Working from page 20 on your advanced users guide, could you kindly confirm this is correct ascii code for for CTRL+E? I then write the parameter as 1 or 2 depending on the engine to be started as you say.  

P1,3,K69,2 (ctrl plus e)

That is a settings (INI file) line to send Ctrl E on a button push. I thought you needed to work via Offsets?

And why send the Keystroke? All Ctrl+E does in the sim is cause it to look at its key assignments list and fire off a CONTROL!  You need to simply send the correct control with 1 or 2 as its parameter for the Engine. To do that via offsets please look at offset 3110 in the Offsets Status document provided with FSUIPC.

To get the control number to be used you could enable Event Logging in FSUIPC then Press Ctrl+E and see what is logged. Or just look for autostart in the List of Controls document also provided. I think it's called "Engine Auto Start".

Pete

 

 

 

 

Link to comment
Share on other sites

Thank you for your response. 

CONTROL NUMBERS

I have found the following control numbers, could you kindly identify which would be most appropriate? For me, it would be toggle starter 1 and toggle starter 2 , but perhaps you see it differently? I am mindful you talk of using parameter 1 to show the SW what engine we are talking about.

ENGINE AUTO START 66224

JET STARTER 65572

TOGGLE ALL STARTERS 66304

TOGGLE STARTER1 66300

TOGGLE STARTER2 66301

OFFSET 3110

I am mindful of your words "FSUIPC will fire the control when you write to 3110" and "You write the control number there as a 32-bit integer (i.e. length 4 bytes)" found on other threads.

This is the script I am trying to write in SIOC (the whole backbone of this discussion). Green is original, red is what will change according to your suggestion.

//

VAR 2701, LINK FSUIPC_OUT, OFFSET $5610 ($3310), LENGTH 4     // PM ENG START 1 SW // FSUIPC OFFSET

VAR 2702, LINK USB_ANALOGIC, DEVICE 3, INPUT 1, POSL 0, POSC 128, POSR 255      // ENG START 1 INPUT
  {
  IF V2702 > 230     // ENG START 1 GND ROT. . TURN POSITION OF POT
  {
    V2701 = 0   
(66300) // CONTROL NUMBER FOR ENG 1 SPOOL

  }
  }
  

 

VAR 2703, LINK FSUIPC_OUT, OFFSET $5610 ($3310), LENGTH 4     // PM ENG START 2 SW // FSUIPC OFFSET

VAR 2704, LINK USB_ANALOGIC, DEVICE 3, INPUT 2, POSL 0, POSC 128, POSR 255      // ENG START 2 INPUT
  {
  IF V2704 > 230     // ENG START 2 GND ROT . TURN POSITION OF POT
  {
    V2703 = 0   
(66301) // CONTROL NUMBER FOR ENG 2 SPOOL

  }
  }

 

//

Does this make sense? E.g for eng1 spool, move the switch. sioc interprets as a send of control number 66301 to offset 3310.

Am I missing something? 

Thank you 


 

Link to comment
Share on other sites

48 minutes ago, NicHer said:

Thank you for your response. 

CONTROL NUMBERS

I have found the following control numbers, could you kindly identify which would be most appropriate? For me, it would be toggle starter 1 and toggle starter 2 , but perhaps you see it differently? I am mindful you talk of using parameter 1 to show the SW what engine we are talking about.

ENGINE AUTO START 66224

JET STARTER 65572

TOGGLE ALL STARTERS 66304

TOGGLE STARTER1 66300

TOGGLE STARTER2 66301

As I said, I think Ctrl+E equates to Engine Auto Start. But yu can easily check that yourself using FSUIPC logging, as I also stated.

51 minutes ago, NicHer said:

I am mindful of your words "FSUIPC will fire the control when you write to 3110" and "You write the control number there as a 32-bit integer (i.e. length 4 bytes)" found on other threads.

You should refer to the Offsets Status document, as I said. 3110 is 8 bytes, not 4, with the parameter (in your case 1 or 2 for the engine) in the 2nd set of 4 bytes.

It says you should write all 8 bytes together, but you can if you wish write the engine number first to 3114 then the control number to 3110. It is the latter which fires the control.

Pete

 

Link to comment
Share on other sites

Thank you for your quick response.

LOGGING

Yes I explored this option (all IPC read and writes activated). It showed 100s of lines of offsets over 10 seconds. I was unable to narrow down exactly which line showed the starter switch movement. I would be pleased to send this log to you for an experts perusal, but perhaps a more efficient way is to just try it.   

So with your permission, lets assume Engine Auto Start = ctrl+e= 66224

SIOC

"It says you should write all 8 bytes together, but you can if you wish write the engine number first to 3114 then the control number to 3110. It is the latter which fires the control."

I appreciate SIOC is not your SW, but should you be in a position to peruse it and see if to you it makes sense I would greatly appreciate it. In essence, we turn the switch physically, then sioc sends fsuipc on offset 3114 parameter 1 (if we are discussing ENG1) , then on offset 3310 parameter 66224.

// ENG1

VAR 2701, LINK FSUIPC_OUT, OFFSET $3114, LENGTH 4     // FSUIPC OFFSET SETS ENG

VAR 2702, LINK FSUIPC_OUT, OFFSET $3310, LENGTH 4   // FSUIPC OFFSET FIRES OFF CONTROL 

VAR 2703, LINK USB_ANALOGIC, DEVICE 3, INPUT 1, POSL 0, POSC 128, POSR 255 // ENG START 1 INPUT
  {
  IF V2703 > 230     // ENG START 1 GND ROT. TURN POSITION OF POT
  {
    V2701 =
1    // IDENTIFIES ENG 1 

    V2702 = 66224 // FIRES OFF ENG AUTO START

  }
  }

 

// ENG2

VAR 2704, LINK FSUIPC_OUT, OFFSET $3114, LENGTH 4     // FSUIPC OFFSET SETS ENG

VAR 2705, LINK FSUIPC_OUT, OFFSET $3310, LENGTH 4    // FSUIPC OFFSET FIRES OFF CONTROL 

VAR 2706, LINK USB_ANALOGIC, DEVICE 3, INPUT 2, POSL 0, POSC 128, POSR 255 // ENG START 2 INPUT
  {
  IF V2703 > 230     // ENG START 2 GND ROT. TURN POSITION OF POT
  {
    V2701 =
2    // IDENTIFIES ENG 2 

    V2702 = 66224 // FIRES OFF ENG AUTO START

  }
  }

Thank you very much for your input.

Link to comment
Share on other sites

20 minutes ago, NicHer said:

Yes I explored this option (all IPC read and writes activated). It showed 100s of lines of offsets over 10 seconds. I was unable to narrow down exactly which line showed the starter switch movement. I would be pleased to send this log to you for an experts perusal, but perhaps a more efficient way is to just try it. 

I said to enable Event logging, NOT all IPC reads and writes!!!! Please do read more carefully or it will be a waste of effort on my part!

21 minutes ago, NicHer said:

I appreciate SIOC is not your SW, but should you be in a position to peruse it and see if to you it makes sense I would greatly appreciate it. In essence, we turn the switch physically, then sioc sends fsuipc on offset 3114 parameter 1 (if we are discussing ENG1) , then on offset 3310 parameter 66224.

Sorry, I've no idea how SIOC does things. You need to ask SIOC people.

Pete

 

Link to comment
Share on other sites

"I said to enable Event logging, NOT all IPC reads and writes!!!! Please do read more carefully or it will be a waste of effort on my part!"

NH- indeed you did my apologies.

I appreciate you do not work with SIOC. Forgetting SIOC could you confirm this flow is correct?:

 1.turn the switch physically,

2.sw registers this movement and sends fsuipc on offset 3114 parameter 1 (if we are discussing ENG1) ,

3. sw sends fsuipc on offset 3310 parameter 66224.

Does anything look wrong in this approach? 

Thank you for your swift and efficient responses.

Link to comment
Share on other sites

47 minutes ago, NicHer said:

1.turn the switch physically,

2.sw registers this movement and sends fsuipc on offset 3114 parameter 1 (if we are discussing ENG1) ,

3. sw sends fsuipc on offset 3310 parameter 66224.

Does anything look wrong in this approach? 

Yes, That should be okay.

Pete

 

Link to comment
Share on other sites

  • 3 weeks later...

Dear Pete,

I trust you are well.

This saga rolls on, in as much as I cannot get my engines to roll/spool up above 6pc N2, when using the offsets 5610 and 5611 (parameter 0). These are PM offsets.

You kindly suggested: 

"To get the control number to be used you could enable Event Logging in FSUIPC then Press Ctrl+E and see what is logged. Or just look for autostart in the List of Controls document also provided. I think it's called "Engine Auto Start".

1. As suggested I pressed ctrl-e and also manipulated the switch that drives sioc on offset 3114 parameter 1 and offset 3310 parameter 66224 seperately, but I could not identify which offset was being manipulated when I physically turned the engine starter switch and wondered perhaps, if you would kindly cast your expert eye over it? 

2. I noticed the spoiler slat offset repeating, also got me thinking that perhaps a offset was being activated in the background, that is not being manipulated physically and it was causing the inability to spool the engines? I would like to remove the flap slat repeating activation, would you have a suggestion on how to do this? 

3.  I noticed these exceptions in the logs also, perhaps if these are activated, it is stopping the engines rolling? It would be great to understand what these means with regards to the spooling process and if a factor in stopping it spool, kindly advise me how to remove it. 

   235656 Exception 20 "DATA_ERROR", Ref 3079, Index param 1 on write SetData for "GENERAL ENG OIL LEAKED PERCENT:1"
   235656 Exception 20 "DATA_ERROR", Ref 3080, Index param 1 on write SetData for "GENERAL ENG OIL LEAKED PERCENT:2"

 

Thank you for your guidance.

Nick

 

 

FSUIPC4.1.log FSUIPC4.2.log

Link to comment
Share on other sites

7 hours ago, NicHer said:

1. As suggested I pressed ctrl-e and also manipulated the switch that drives sioc on offset 3114 parameter 1 and offset 3310 parameter 66224 seperately, but I could not identify which offset was being manipulated when I physically turned the engine starter switch and wondered perhaps, if you would kindly cast your expert eye over it? 

You weren't supposed to be looking for an offset, but a control event!

Your 4.1 log has no logging options set, so that's a waste of time. But the 4.2 log is full of these controls:

  3542828 *** EVENT: Cntrl= 66068 (0x00010214), Param= 0 (0x00000000) SPOILERS_ARM_SET
  3542828 *** EVENT: Cntrl= 66832 (0x00010510), Param= 0 (0x00000000) FREEZE_LATITUDE_LONGITUE_SET
  3542828 *** EVENT: Cntrl= 66832 (0x00010510), Param= 0 (0x00000000) FREEZE_LATITUDE_LONGITUE_SET

Why is your position frozen and spoilers being armed? What is continually doing it hundreds of times per second? You seem to have some rogue software there! You need to start eliminating things you have running.

At one stage to changed the logging from Events to IPC reads/writes. Why? There's no point!

At no time whilst you had event logging enabled did you use the Ctrl+E  keypress directly, or your assignment.

So there is no useful information here at all, other than you have some very strange things going on -- why freeze the aircraft position? What is doing that?

7 hours ago, NicHer said:

3.  I noticed these exceptions in the logs also, perhaps if these are activated, it is stopping the engines rolling? It would be great to understand what these means with regards to the spooling process and if a factor in stopping it spool, kindly advise me how to remove it. 

   235656 Exception 20 "DATA_ERROR", Ref 3079, Index param 1 on write SetData for "GENERAL ENG OIL LEAKED PERCENT:1"
   235656 Exception 20 "DATA_ERROR", Ref 3080, Index param 1 on write SetData for "GENERAL ENG OIL LEAKED PERCENT:2"

No, nothing to do with engine starting. More likely a result of this much more serious error:

216125 *** G3D bad pointer trapped and crash prevented ***
   

which indicates either a corrupt install of FS, or some bad scenery or aircraft file.

Also this 

[Continuation log requested by user]

indicates that you are, for some reason, pressing the "New Log" button. Please do NOT do that. A continuous log is needed, not bits.

To test things properly I suggest you start with a default aircraft and no other software running.  With default FS settings CTRL+E+1 will generate the Engine Auto Start control with parameter 1. That's all you need to confirm -- the rest is up to whatever software you are using, and if that's not working you need to deal with their support.

Pete

 

Link to comment
Share on other sites

Thank you, I will do as you kindly suggest: 

"To test things properly I suggest you start with a default aircraft and no other software running.  With default FS settings CTRL+E+1 will generate the Engine Auto Start control with parameter 1. That's all you need to confirm -- the rest is up to whatever software you are using, and if that's not working you need to deal with their support."

With regards to the rogue software, I honestly have no idea how or what could be causing those issues. Would you be able to suggest away to remove remove the SPOILERS_ARM_SET,  FREEZE_LATITUDE_LONGITUE_SET action? Is there a blanket stop, in which we can nullify them?

Thank you 

Link to comment
Share on other sites

47 minutes ago, NicHer said:

With regards to the rogue software, I honestly have no idea how or what could be causing those issues. Would you be able to suggest away to remove remove the SPOILERS_ARM_SET,  FREEZE_LATITUDE_LONGITUE_SET action? Is there a blanket stop, in which we can nullify them?

No. FSUIPC is only recording what it sees arrive in FS. You need to start off with no other software running other than FSX with a default aircraft, then gradually add back your add-ons until the problem re-occurs.

However, I think you started this thread off stating the your engine starting only went wrong after a Project Magenta update? So you should really report that to PM as a bug and meanwhile revert to the previous version. I wouldn't be surprised if those spurious controls were emanating from PM anyway.

All I can help you sort out is why your assignment to Engine Auto Start is not working. You've not managed to test that with the logging enabled, so there's been no progress. You could also show me your FSUIPC4.INI file so I can check your assignment there.

Pete

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use. Guidelines Privacy Policy We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.