Jump to content

Please explain the format of the profile JSON structure


Recommended Posts

  • Aerosoft
vor 14 Stunden , gaab sagte:

I understand the idea and found it very insteresting.

 

Adding the ",bool" solves the issue.

 

Consider also for the next release, better check of the input by the configurator.

 

Cheers - Gérard

 

Hi Gérard,

 

glad you got it solved! Actually, the whole idea of the internal state variables came because of the Bravo and it's FCU with combined functionalities...it is only very short before release when writing the PMDG Translator and the profiles that I thought of actually expanding its use for the reversers. Thats also why there is still some inconsistency like the one you observed, where the "INT" variables always need a unit, or they won't be correctly recognized. In the end it is always about time.

 

But I will actually remove the necessity of having a unit defined for "INT" variables at all in one of the future updates and refine the whole parsing process.

 

Right now, there is still some other work to do as we are still not able to capture every possible scenario regarding interaction with L:Vars.

Link to comment
Share on other sites

36 minutes ago, BenBaron said:

But I will actually remove the necessity of having a unit defined for "INT" variables at all in one of the future updates and refine the whole parsing process.

 

Thanks for the feedback.

Great job - I really appreciate the follow up you are doing on this great piece of hardware and software.

 

Cheers

 

Gérard

Link to comment
Share on other sites

Ok I am either doing something wrong or the software is not capable of this. So if someone can point me in the right direction I would appreciate it. I am trying to confirm how to enter a hex/dec value into the configurator. In order to test how to do it, I pulled a command the Configurator recognizes in this case AP_PANEL_HDG_ON and using FSUIPC I found the decimal version which was 66106. When I put in AP_PANEL_HDG_ON into the configurator the button works as expected. When I use FSUIPC to do the same thing, it works as expected. When I use FSUIPC and input it as a 66106 instead of the name, it works as expected. However when I try to use the 66106 in the configurator nothing happens. I have gone into the json file and tried a number of combinations there as well to see if it just needs to be formatted differently but no joy. I have even tried the hex version which is 0x1023A or x1023A or just 1023A. But nothing happens. So I guess my ultimate question is, is it even possible to enter a control via hex/dec or do we have to have an already specified variable?

I know this seems illogical because I can just use the variable name, but I am using this as a test of a known working command because I am trying to program a command that is not in the drop down list but I can program it via FSUIPC using hex/dec.

Link to comment
Share on other sites

6 minutes ago, moosestaffa83 said:

I know this seems illogical because I can just use the variable name, but I am using this as a test of a known working command because I am trying to program a command that is not in the drop down list but I can program it via FSUIPC using hex/dec.

There was mention earlier of using decimal. Haven't done it myself yet, but will try. Maybe @BenBaron can provide a definite answer? Is it ">K:66106", ">K:#66106", or even just "#66106"?

 

Bert

Link to comment
Share on other sites

  • Aerosoft
vor 3 Stunden , moosestaffa83 sagte:

So I tried ">K:66106"  ">K:#66106"   "#66106"   and  ">#66106"   and no joy.

Hi,

 

I know that using SimConnect you can input those event ids by prefixing with "#". But as we are not making use of SimConnect to set the variables, I cannot tell, if this syntax can possibly also work. Could be something for me to look in later.

Link to comment
Share on other sites

  • Aerosoft

Hi Gérard,

 

just to give you some feedback on your suggestions:

 

On 5.1.2021 at 01:44, gaab sagte:

- confirm that the profile as been updated (and activated).

 

There will be some enhanced confirmatory feedback on user input already in the next version of the ConfigTool. In addition, we are also investigating ways to enhance communication between the ConfigTool and the bridge module, so that the profile is automatically activated in the simulator, when you activate it in the ConfigTool. Might take some time, though as this needs to be multi platform (Win, Mac and Linux).

 

On 6.1.2021 at 15:56, gaab sagte:

 

After several Configuration Profiles built, considering the number of switches (specially on the Bravo), it would be very useful to have a "Configuration" summary :

 

This one we've also put onto our list to implement for the future.

 

Thanks for those suggestions.

Link to comment
Share on other sites

  • 2 weeks later...

 

Hi Ben,

 

On 1/4/2021 at 2:18 PM, BenBaron said:

 

Because there are events like with the FCU HDG, ALT, CRS where we just want to increase/decrease and not only set an absolute value. That's why we are making use of what PMDG provides in their SDK. 

 

Could you give us more information about L:Vars Incr/Decr - I would like to use this kind of facility for some aircraft (not PMDG).

 

Thanks

 

Gérard

Link to comment
Share on other sites

  • Aerosoft
vor 7 Minuten, gaab sagte:

 

Hi Ben,

 

 

Could you give us more information about L:Vars Incr/Decr - I would like to use this kind of facility for some aircraft (not PMDG).

 

Thanks

 

Gérard

Hi Gérard,

 

in your version it is not possible to assign relative values to an LVar...it is already implemented in our internal version among other things, though. We are just starting to test all the changes and if they are good, you will see this included with the next package update.

Link to comment
Share on other sites

  • 3 weeks later...

Hi Ben,

 

Still asking questions  ;)

 

Is it (or will it be) possible to assign a L:Var value in a PressEvent, instead of a fixed value :

 

     "PressEvent": [
        {
          "Variables": [
            {
              "Variable": "L:ApRudderServoOn",
              "Value": "1",                                               Would like to assign L:MyVar, number
              "VariableIsCustom": true
            }

 

the objective being to have a ApRudderServoOn toggle

 

Thanks

 

Gérard

Link to comment
Share on other sites

  • Aerosoft
On 16.2.2021 at 15:29, gaab sagte:

Hi Ben,

 

Still asking questions  ;)

 

Is it (or will it be) possible to assign a L:Var value in a PressEvent, instead of a fixed value :

 


     "PressEvent": [
        {
          "Variables": [
            {
              "Variable": "L:ApRudderServoOn",
              "Value": "1",                                               Would like to assign L:MyVar, number
              "VariableIsCustom": true
            }

 

the objective being to have a ApRudderServoOn toggle

 

Thanks

 

Gérard

Hi Gérard,

 

currently this is not possible as I have not seen a use case for it. But if there actually is one we will for sure consider adding it. Maybe you can elaborate a little more on what you want to do?

Link to comment
Share on other sites

Thanks Ben,

 

On some "advanced" aircraft the Autopilot is managed by local variable booleans - in order to use the corresponding button on the Bravo, we need to have something like

(L:Switch, bool) ! (>l:Switch, bool)

 

You convinced my to read and reread this thread ;), and I discovered it was possible to use a variable assignement inside conditions , and found a solution which needs to create 2 conditions for the APMaster "toggle"

 

          "Conditions": [
            {
              "Variable": "L:ApMaster",
              "Value": "1",
              "VariableIsCustom": true,
              "Condition": "L:ApMaster, bool",
              "ConditionValue": "0",
              "ConditionIsCustom": true
            },
            {
              "Variable": "L:ApMaster",
              "Value": "0",
              "VariableIsCustom": true,
              "Condition": "L:ApMaster, bool",
              "ConditionValue": "1",
              "ConditionIsCustom": true
            }
		  ]

But I would also like to add the condition "ApMaster" true for the other buttons press  (HDG, NAV, etc....)

So far, I did not found a solution.... any suggestion ?

 

Gérard

Link to comment
Share on other sites

  • Aerosoft

Exactly Gérard,

 

you figured out how to make it work :). In addition, version 2.1 will also allow you to define multiple press- and release events which gives you even more options to make some more advanced logic work. Maybe this will alreay suffice for you to achieve what you need. 

Link to comment
Share on other sites

1 hour ago, BenBaron said:

version 2.1 will also allow you to define multiple press- and release events

Can't wait :)  I was coming to the conclusion that I need multiple press...

 

Thanks

 

Gérard

Link to comment
Share on other sites

  • 1 month later...
  • Aerosoft
On 6.1.2021 at 15:56, gaab sagte:

 

After several Configuration Profiles built, considering the number of switches (specially on the Bravo), it would be very useful to have a "Configuration" summary :

 

An html file, with ONE line per Button (or LED), listing only the variable(s) and assigned value (one extra line only in case of existing Release Event), with the option to list also the unassigned buttons.

 

 


Example :

  Elevator Trim A Up    Press [K:ELEV_TRIM_UP]
  Elevator Trim A Down  Press [K:ELEV_TRIM_DN]
....
  Toggle 3 ON           Press [L:DC_Gen1_sw (1)]
  Toggle 3 OFF          Press [L:DC_Gen1_sw (0)]
.....
  MultVariable ex       Press [K:LANDING_LIGHTS_ON, L:MY_LANDING_SW (1)]
.....
  Press/Release         Press [L:MyLVar (1)]
                        Release [L:MyOtherVar (-1)]

If Option not allocated buttons
  Elevator Trim B Up   
  Elevator Trim B Down 

 

Thanks  :)

 

Gérard

 

Hi guys:

 

just to inform you that some mapping summary function in form of a simple text file showing all mapped buttons will be coming with 2.2 .

Link to comment
Share on other sites

  • Aerosoft

Hi Gérard,

 

as this is not the only addition we want to do for 2.2 and we have just started the implementation process...I am not putting pressure on us by giving an ETA ;).

Link to comment
Share on other sites

  • 2 weeks later...

Nachdem ich diesen Beitrag überflogen habe, verstehe ich langsam weshalb ich mit dem Bravo Throttle Probleme habe.

Aerosoft sollte beim Verkaufen dieser Hardware ganz groß drauf schreiben "Nur geeignet für Programmierer".

Link to comment
Share on other sites

  • 4 weeks later...

Hi Ben,

 

Would be great if in your next version, it was possible to update several variables with the same condition.

 

         "Conditions": [
            {
              "Variables" : [
                { 
                 "Variable": "L:LocVar1",
                 "Value": "1",
                 "VariableIsCustom": true
                 },
                { 
                 "Variable": "L:LocVar2",
                 "Value": "10",
                 "VariableIsCustom": true
                 },
                 .......
                 {
                  "Variable": "L:LocVar_n",
                  "Value": "value_n",
                  "VariableIsCustom": true,
                  }
              ],
              "Condition": "L:CondVar, bool",
              "ConditionValue": "0",
              "ConditionIsCustom": true
            }
	  ]

 

It would greatly simplify a lot of "coding".

 

For the time being, I am not sure of what happens if I write someting like that. When does the update of the variable happens. If it is "immediate", then this type of code will never work.

Multiplying the PressEvent might be a solution, but this become very error prone :(


 

         "Conditions": [
            {
              "Variable": "L:ApOther",
              "Value": "1",
              "VariableIsCustom": true,
              "Condition": "L:ApMaster, bool",
              "ConditionValue": "0",
              "ConditionIsCustom": true
            },
            {
              "Variable": "L:ApMaster",
              "Value": "1",
              "VariableIsCustom": true,
              "Condition": "L:ApMaster, bool",
              "ConditionValue": "0",
              "ConditionIsCustom": true
            },
            {
              "Variable": "L:ApOther",
              "Value": "0",
              "VariableIsCustom": true,
              "Condition": "L:ApMaster, bool",
              "ConditionValue": "1",
              "ConditionIsCustom": true
             },
             {
              "Variable": "L:ApMaster",
              "Value": "1",
              "VariableIsCustom": true,
              "Condition": "L:ApMaster, bool",
              "ConditionValue": "1",
              "ConditionIsCustom": true
            },
            }
          ]

 

May be I am is really asking too much :)

 

I am considering writing a gauge which would be "activated" by setting a LocalVar to true and after executing the actions would reset it to false.

 

Thanks for you attention...

 

Gérard

 

Link to comment
Share on other sites

  • Aerosoft

Hi Gérard:

 

actually the bridge module "should" be able to work with that as it is able to store more than one variable per condition already...it is just the ConfigTool that can only take one variable per condition. Have you tried it out with a manually edited profile.json?

Zitieren

 "Conditions": [
            {
              "Variables" : [
                { 
                 "Variable": "L:LocVar1",
                 "Value": "1",
                 "VariableIsCustom": true
                 },
                { 
                 "Variable": "L:LocVar2",
                 "Value": "10",
                 "VariableIsCustom": true
                 },
                 .......
                 {
                  "Variable": "L:LocVar_n",
                  "Value": "value_n",
                  "VariableIsCustom": true,
                  }
              ],
              "Condition": "L:CondVar, bool",
              "ConditionValue": "0",
              "ConditionIsCustom": true
            }
	  ]

 

Apart from that, it sounds like you should also be able to achieve what you want via multiple press-events.

Link to comment
Share on other sites

On 5/31/2021 at 4:02 PM, BenBaron said:

Hi Gérard:

 

actually the bridge module "should" be able to work with that as it is able to store more than one variable per condition already...it is just the ConfigTool that can only take one variable per condition. Have you tried it out with a manually edited profile.json?

 

Apart from that, it sounds like you should also be able to achieve what you want via multiple press-events.

 

In theory, multiple press events should be the answer, but in the reality it is a nightmare to set it up (and very error prone).

Maybe when we have a summary report on what is in the .json it will be easier to manage ;)

 

I will try soon how the Bridge behave with several variables in a condition.... and let you know.

 

Gérard

Link to comment
Share on other sites

On 6/3/2021 at 12:09 AM, gaab said:

I will try soon how the Bridge behave with several variables in a condition.... and let you know.

 

And so far works great (with the help of a json validator) ;)

 

To help have a easier view for editing with a text editor (Notepad++), can I (safely) delete the inherited old structure and keep only the new one with arrays ?

          "Variable": "", "Value": "", "Condition": "", "ConditionValue": "", "ConditionLogic": "", 

 

Thanks

 

Gérard

Link to comment
Share on other sites

  • Aerosoft

Hi Gérard,

 

glad to hear that it is working out as intended so far...even I implemented that behaviour in the backend some time ago, I never got to testing it out myself, so knowing it does indeed work is great :-).

 

You also should be able to safely remove the legacy properties and only keep the arrays to declutter your profile. The next version of the Configurator will actually also do this for any imported profile, thus automatically converting legacy profiles into their new counterparts. 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

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. Privacy Policy & Terms of Use