AP Value Variables
-
Firstly, great to finally get my hands on this! Starting to work out some of the differences in flying this compared to others but it's challenging in a good way!
However, for us home cockpit hardware users, some of what's been done in terms of variables is a nightmare. To output the selected altitude needs variables to hide some values where the altitude is 4 figures or less, and to display them requires reading multiple values and stitching them together (e.g. variables AFCAS_HD_Window_1, AFCAS_HD_Window_2 and AFCAS_HD_Window_3 just to display the heading selected!).
Could we please request that the following be combined into singular variables for output to hardware:
- Altitude
- Heading
- IAS/Mach
- Vertical Speed
Additionally, looking in Developer Mode, the ILS CRS value should be getting output in ILS_KNOB_CRS. However, if turning this in the cockpit itself, not via hardware) at a reasonable pace (due to course being nearer South from it's load in value of 000), then the value output in that variable does not match that in the cockpit.
Thanks!
-
Firstly, great to finally get my hands on this! Starting to work out some of the differences in flying this compared to others but it's challenging in a good way!
However, for us home cockpit hardware users, some of what's been done in terms of variables is a nightmare. To output the selected altitude needs variables to hide some values where the altitude is 4 figures or less, and to display them requires reading multiple values and stitching them together (e.g. variables AFCAS_HD_Window_1, AFCAS_HD_Window_2 and AFCAS_HD_Window_3 just to display the heading selected!).
Could we please request that the following be combined into singular variables for output to hardware:
- Altitude
- Heading
- IAS/Mach
- Vertical Speed
Additionally, looking in Developer Mode, the ILS CRS value should be getting output in ILS_KNOB_CRS. However, if turning this in the cockpit itself, not via hardware) at a reasonable pace (due to course being nearer South from it's load in value of 000), then the value output in that variable does not match that in the cockpit.
Thanks!
@ScotchMist If you are using Spad Next, Ive done a snippet (17282) to fix all these issues.
Here are the expressions for each of the windows that will show exactly what you see on the plane. But I agree, we shouldn't need to write this code ourselves to interpret these windows. Sharing it so everyone can enjoy flying the plane with their hardware:
Altitude:
Display Expression-Result Format '000'If( [LVAR:AFCAS_ALT_Window_1] == 254 && [LVAR:AFCAS_ALT_Window_2] == 254 && [LVAR:AFCAS_ALT_Window_3] == 254 && [LVAR:AFCAS_ALT_Window_4] == 254, '', ( If([LVAR:AFCAS_ALT_Window_1] == -16 || [LVAR:AFCAS_ALT_Window_1] == 254, 0, [LVAR:AFCAS_ALT_Window_1]) * 10000 + If([LVAR:AFCAS_ALT_Window_2] == -16 || [LVAR:AFCAS_ALT_Window_2] == 254, 0, [LVAR:AFCAS_ALT_Window_2]) * 1000 + If([LVAR:AFCAS_ALT_Window_3] == -16 || [LVAR:AFCAS_ALT_Window_3] == 254, 0, [LVAR:AFCAS_ALT_Window_3]) * 100 + If( [LVAR:AFCAS_ALT_Window_4] == -16 || [LVAR:AFCAS_ALT_Window_4] == 31 || [LVAR:AFCAS_ALT_Window_4] == 254, 0, [LVAR:AFCAS_ALT_Window_4] ) * 10 ))Heading:
Display Expression-Result Format '000'If( [LVAR:AFCAS_HDG_Window_1] == 254 && [LVAR:AFCAS_HDG_Window_2] == 254 && [LVAR:AFCAS_HDG_Window_3] == 254, '', If( [LVAR:AFCAS_HDG_Window_1] == 255 && [LVAR:AFCAS_HDG_Window_2] == 255 && [LVAR:AFCAS_HDG_Window_3] == 255, '---', If([LVAR:AFCAS_HDG_Window_1] == -16 || [LVAR:AFCAS_HDG_Window_1] == 254, 0, [LVAR:AFCAS_HDG_Window_1]) * 100 + If([LVAR:AFCAS_HDG_Window_2] == -16 || [LVAR:AFCAS_HDG_Window_2] == 254, 0, [LVAR:AFCAS_HDG_Window_2]) * 10 + If([LVAR:AFCAS_HDG_Window_3] == -16 || [LVAR:AFCAS_HDG_Window_3] == 254, 0, [LVAR:AFCAS_HDG_Window_3]) ))Speed:
If( [LVAR:AFCAS_SPD_Window_1] == 254 && [LVAR:AFCAS_SPD_Window_2] == 254 && [LVAR:AFCAS_SPD_Window_3] == 254, '', If( [LVAR:AFCAS_SPD_Window_1] == 255 && [LVAR:AFCAS_SPD_Window_2] == 255 && [LVAR:AFCAS_SPD_Window_3] == 255, '---', ( If([LVAR:AFCAS_SPD_Window_1] == -16, 0, [LVAR:AFCAS_SPD_Window_1]) * 100 + If([LVAR:AFCAS_SPD_Window_2] == -16, 0, [LVAR:AFCAS_SPD_Window_2]) * 10 + If([LVAR:AFCAS_SPD_Window_3] == -16, 0, [LVAR:AFCAS_SPD_Window_3]) )))Vertical speed:
If( [LVAR:AFCAS_VS_Window_1] == 254 && [LVAR:AFCAS_VS_Window_2] == 254 && [LVAR:AFCAS_VS_Window_3] == 254 && [LVAR:AFCAS_VS_Window_4] == 254 && [LVAR:AFCAS_VS_Window_5] == 254, '', If( [LVAR:AFCAS_VS_Window_1] == 255 && [LVAR:AFCAS_VS_Window_2] == 255 && [LVAR:AFCAS_VS_Window_3] == 255 && [LVAR:AFCAS_VS_Window_4] == 255 && [LVAR:AFCAS_VS_Window_5] == 255, '-----', If([LVAR:AFCAS_VS_Window_1] == 253, 1, -1) * ( If([LVAR:AFCAS_VS_Window_2] == -16, 0, [LVAR:AFCAS_VS_Window_2]) * 1000 + [LVAR:AFCAS_VS_Window_3] * 100 ))) -
Thanks @neinnunb - after posting my difficulties in the SPAD.next Discord, managed to get some help there and have it all working well with the WinCtrl 3N PAP.
Thanks for posting it all here too as it may help others in the meantime.
-
@ScotchMist You're welcome.
Last night I updated my snippet in Spad to fix the EFIS mode, turning off the displays if plane isn't powered and brightness logic depending on brightness knob in the plane.