Board index FlightGear Development Spaceflight

Space Shuttle - Development

Discussion about development and usage of spacecraft

Re: Space Shuttle - Development

Postby Hooray » Sun Jul 12, 2020 8:15 am

You are right, I only responded to what I quoted - the first phrase read "Is there a way to render a font bold ( maybe with font weight ) without editing the font itself ( like a liberation monobold)" - thus, I shared an approach that works around limitations in our Canvas/SVG handling, by going through an alternate path, via librsvg/cairo.

My answer wasn't about any particular font at all.

This alternative obviously cannot work around limitations in the underlying font files, but it can work around issues in svg.nas - OSG/OSGText, and given just how sophisticated the shuttle has become over the years, the day may come where you realize that what I shared here may not be immediately useful to deal with said SSU font specifically, but that it may still be very useful to work around limitations in svg.nas and osgText specifically.

Until then, sorry for the noise :wink:


(On the other hand, didn't someone also mention that a rasterized font could be procedurally made italic (or bold) using a corresponding shader, i.e. without editing the font file ? :lol: )
Please don't send support requests by PM, instead post your questions on the forum so that all users can contribute and benefit
Thanks & all the best,
Hooray
Help write next month's newsletter !
pui2canvas | MapStructure | Canvas Development | Programming resources
Hooray
 
Posts: 12707
Joined: Tue Mar 25, 2008 9:40 am
Pronouns: THOU

Re: Space Shuttle - Development

Postby GinGin » Mon Jul 13, 2020 7:57 pm

Thorsten wrote in Sat Jul 11, 2020 7:03 am:We don't do per GPC fault messages though (which is why GPC faults aren't properly messaged...) - that's really ugly to do because it increases the load of the fault detection routine by a large factor (rather than checking whether a fault occurred, we'd need to check in addition whether a GPC is on, powered, functional. what software it holds,...).



Ah ok I see, it makes sense.
How Heavy would it be ?


We do different fault messages for PASS and BFS though, so the detection routines have three options

a) announce PASS only
b) announce BFS only
c) announce PASS and BFS


Very interesting.
I had another deep look in the cws.nas, and I understand better the logic now.
We can assume that BFS will always be GPC 5 and SM GPC 4 for now.

In OPS 1,6 and 3, Fault detection by the BFS with custom messages
OPS 2, GNC fault by GNC GPC (1) and SM fault by SM GPC (4)

I listed all the fault messages that are worth to implement with currently available failures, that will be a nice addition :)




wlbragg wrote in Sat Jul 11, 2020 6:55 pm:Animated objects (you probably don't care about these names)

If you change the property names/paths make sure you change them in both the switch animations in cockpit-detailed (lines 3724 to 4090) and in the SpaceShuttle-common.xml file lines (649 to 656)



Perfect Wayne, thanks.

For the bold thing, I edited directly the weight in the font software.
GinGin
 
Posts: 1580
Joined: Wed Jul 05, 2017 11:41 am
Location: Paris
Callsign: Gingin

Re: Space Shuttle - Development

Postby Thorsten » Tue Jul 14, 2020 6:45 am

We can assume that BFS will always be GPC 5 and SM GPC 4 for now.


I don't think you need to do that, there ought to be a relatively cheap function call in the GPC management class which returns you the number of the GPC which runs BFS or SM (if there is any).

So to the degree that they run different software, we can do GPC-specific messaging - we just can't distinguish between any two PASS running GPCs inside the set.
Thorsten
 
Posts: 12490
Joined: Mon Nov 02, 2009 9:33 am

Re: Space Shuttle - Development

Postby GinGin » Tue Jul 14, 2020 8:44 am

Thorsten wrote in Tue Jul 14, 2020 6:45 am:
I don't think you need to do that, there ought to be a relatively cheap function call in the GPC management class which returns you the number of the GPC which runs BFS or SM (if there is any).

.


That is even better.
Like that, the fault message will contain the proper GPC that runs SM in OPS 2 or BFS elsewhere.
GinGin
 
Posts: 1580
Joined: Wed Jul 05, 2017 11:41 am
Location: Paris
Callsign: Gingin

Re: Space Shuttle - Development

Postby GinGin » Wed Jul 29, 2020 10:06 am

I started to implement new fault messages.
I discovered failures that are implemented and I wasnt even aware of , what a sim !! :)

First, I just changed the fault message placement and added a " type" argument for the function ( that allows to specify better the fault, I found a whole doc about that, so lets go)

Code: Select all

var create_fault_message = func (sys_string, type, gpc_id, class, sw = "ALL"){

#MET displayed for fault

var time_string = getprop("/fdm/jsbsim/systems/timer/MET-string");
var time_string_minimised = substr(time_string, 4);

var backup_marker = " ";
if (class == 2) {backup_marker = "*";}

var msg_string = sys_string~type~"   "~backup_marker~"  "~gpc_id~"                 "~time_string_minimised;
var msg_string_long = sys_string~type~"   "~backup_marker~"       "~gpc_id~"     "~time_string;



Image

The logic coded by Thorsten is already very accurate ( PASS , BFS or Both)
I just have to adjust some messages, and to add inspection groups ( APU, HYD, THERMAL faults etc)


I started with electrical group, just to confirm the logic there and to go with the elec panel rework


Here the example of a drop in ac voltage

Either we are in OPS 2 and fault is detected by the SM GPC
The type_test will show for an ac low voltage where is located the fault ( AC bus 1, 2 or 3)

Code: Select all

var cws_inspect_fc_electric = func {

var init_phase = getprop("/fdm/jsbsim/systems/electrical/init-electrical-on");
var major_mode = getprop("/fdm/jsbsim/systems/dps/major-mode");

if (init_phase > 0.0) {init_phase = 1.0;} else {init_phase = 0.0;}

var voltage_ac1 = getprop("/fdm/jsbsim/systems/electrical/ac/voltage");
var voltage_ac2 = getprop("/fdm/jsbsim/systems/electrical/ac[1]/voltage");
var voltage_ac3 = getprop("/fdm/jsbsim/systems/electrical/ac[2]/voltage");

#If OPS 2, PASS SM GPC 4

if ((major_mode == 201) or (major_mode == 202))
   {
   if (((voltage_ac1 < 115.0) or (voltage_ac2 < 115.0) or (voltage_ac3 < 115.0))  and (init_phase == 0.0))
      {
         if (cws_msg_hash.acvolt == 0)
         {

         var type_test = "";
         if (voltage_ac1 < 115.0){type_test = "1    ";}
         else if (voltage_ac2 < 115.0){type_test = "2    ";}
         else if (voltage_ac3 < 115.0){type_test = "3    ";}

         
         create_fault_message("S67 AC VOLTS      ", type_test, 4, 2, "PASS");
         cws_msg_hash.acvolt = 1;
         }
      }   
   }

#If not in OPS 2, BFS SM only GPC 5

else
   {
   if (((voltage_ac1 < 115.0) or (voltage_ac2 < 115.0) or (voltage_ac3 < 115.0))  and (init_phase == 0.0))
      {
         if (cws_msg_hash.acvolt == 0)
         {

         var type_test = "";
         if (voltage_ac1 < 115.0){type_test = "1    ";}
         else if (voltage_ac2 < 115.0){type_test = "2    ";}
         else if (voltage_ac3 < 115.0){type_test = "3    ";}

         
         create_fault_message("SM1 AC VOLTS      ", "1    ", 5, 2, "BFS");
         cws_msg_hash.acvolt = 1;
         }
      }
}



Which gives for a failure in Orbit that layout

Image

And in OPS 1,6,3 with BFS doing the SM task:

Image



When fault is cleared, or an input/output performed, the loop can detect a fault in other ac systems
I was thinking of the possibility to have multiple messages in the same time if 2 ac where out at the same time, but that would require 3 hash.ac volt functions.
So it might be too heavy, especially if we do the same logic for several parameters ( Main Bus, FC, APU etc )

Is the Logic above ok ?


Image
GinGin
 
Posts: 1580
Joined: Wed Jul 05, 2017 11:41 am
Location: Paris
Callsign: Gingin

Re: Space Shuttle - Development

Postby Thorsten » Wed Jul 29, 2020 10:40 am

Yes, the logic looks fine to me.
Thorsten
 
Posts: 12490
Joined: Mon Nov 02, 2009 9:33 am

Re: Space Shuttle - Development

Postby wlbragg » Fri Jul 31, 2020 10:03 pm

Was looking at the interior and realized I never updated the light-maps to allow for the addition of the seats. I burned lm-A1-A2-A3.png without issue, but I can't get lm-F12-F34-L1-R1.png to complete a burn and I don't know where or how to get any feedback from Blender as to what the issue might be. If it wasn't for the fact that lm-A1-A2-A3.png burns fine I would think it was I forgot how to do it. But that's not the case as I successfully burn lm-A1-A2-A3.png. Anyone have a clue why burns don't finish in Blender?
Kansas and Ohio/Midwest scenery development.
KEQA, 3AU, KRCP Airport Layout
Intel i7/GeForce RTX 2070/Max-Q
User avatar
wlbragg
 
Posts: 7586
Joined: Sun Aug 26, 2012 12:31 am
Location: Kansas (Tornado Alley), USA
Callsign: WC2020
Version: next
OS: Win10/Linux/RTX 2070

Re: Space Shuttle - Development

Postby GinGin » Mon Aug 03, 2020 10:08 am

I animated the already pre existing RCS jet yellow light in model.xml ( for fail on/off RCS jet conditions)
But I just get a yellowish glow
What should I do ?

Code: Select all
<!-- RCS Jet "CW Yellow Light" -->
    <animation>
      <type>select</type>
      <object-name>cw-light-rcs-jet</object-name>
      <condition>
        <or>
          <equals>
            <property>/fdm/jsbsim/systems/cws/rcs-jet</property>
            <value>1</value>
          </equals>
          <equals>
            <property>/fdm/jsbsim/systems/cws/cw-test</property>
            <value>1</value>
          </equals>
        </or>
      </condition>
    </animation>
    <model>
      <name>proc_light_cw-light-rcs-jet</name>
      <path>Effects/procedural_light_cw-light-rcs-jet.xml</path>
      <offsets>
          <x-m>-12.483</x-m>
          <y-m>  0.106</y-m>
          <z-m> -0.430</z-m>
      </offsets>
      <condition>
          <and>
            <or>
              <equals>
                <property>/fdm/jsbsim/systems/cws/rcs-jet</property>
                <value>1</value>
              </equals>
              <equals>
                <property>/fdm/jsbsim/systems/cws/cw-test</property>
                <value>1</value>
              </equals>
            </or>
            <greater-than>
                <property>/sim/rendering/shaders/model</property>
                <value>1</value>
            </greater-than>
          </and>
      </condition>
    </model>



Image


I think I have not finish to play with all those RCS failures :)
The LEAK one during a RCS burn is really interesting

Image
GinGin
 
Posts: 1580
Joined: Wed Jul 05, 2017 11:41 am
Location: Paris
Callsign: Gingin

Re: Space Shuttle - Development

Postby wlbragg » Mon Aug 03, 2020 2:07 pm

I'll take a look at it later this evening, my guess is only the procedural light for the glow is activated. There should also be a text translate or select or material animation for the text label to actually change color. I don't remember off the top of my head which method we used.
Kansas and Ohio/Midwest scenery development.
KEQA, 3AU, KRCP Airport Layout
Intel i7/GeForce RTX 2070/Max-Q
User avatar
wlbragg
 
Posts: 7586
Joined: Sun Aug 26, 2012 12:31 am
Location: Kansas (Tornado Alley), USA
Callsign: WC2020
Version: next
OS: Win10/Linux/RTX 2070

Re: Space Shuttle - Development

Postby Thorsten » Mon Aug 03, 2020 3:11 pm

Doesn't the test mode light all of them? Aka, shouldn't we have noticed anything odd?
Thorsten
 
Posts: 12490
Joined: Mon Nov 02, 2009 9:33 am

Re: Space Shuttle - Development

Postby GinGin » Mon Aug 03, 2020 4:28 pm

The test mode works well.
I find why I had just the glow.
I had to remove RCS jet light from that list once I "activated" the switch with a correct property


Code: Select all

<!-- CWS  "Lights" -->
    <animation>
        <type>select</type>
        <object-name>cw-light-o2press</object-name>
        <object-name>cw-light-h2press</object-name>
        <object-name>cw-light-o2heater-temp</object-name>
        <object-name>cw-light-ac-overload</object-name>
        <!--<object-name>cw-light-freon-loop</object-name>-->
        <!--<object-name>cw-light-av-bay-cabin-air</object-name>-->
        <object-name>cw-light-imu</object-name>
        <!--<object-name>cw-light-rcs-jet</object-name>-->
        <!--<object-name>cw-light-h2o-loop</object-name>-->
        <object-name>cw-light-rga-accel</object-name>
        <object-name>cw-light-gpc</object-name>
        <!--<object-name>cw-light-oms-kit</object-name>-->
        <object-name>cw-light-payload-caution</object-name>
        <object-name>cw-light-primary-cw</object-name>
        <object-name>cw-light-fcs-channel</object-name>
        <!--<object-name>cw-light-apu-temp</object-name>-->
        <!--<object-name>cw-light-apu-overspeed</object-name>-->
        <!--<object-name>cw-light-apu-underspeed</object-name>-->
        <!--<object-name>cw-light-hyd-press</object-name>-->
        <!--<object-name>cw-light-cabin-atm</object-name>-->
        <!--<object-name>cw-light-air-data</object-name>-->
        <object-name>cw-light-left-rhc</object-name>
        <object-name>cw-light-right-aft-rhc</object-name>
        <object-name>cw-light-payload-warning</object-name>
        <object-name>cw-light-fcs-saturation</object-name>
        <!--<object-name>cw-light-mps</object-name>-->
        <condition>
          <equals>
            <property>/fdm/jsbsim/systems/cws/cw-test</property>
            <value>1</value>
          </equals>
        </condition>
    </animation>

GinGin
 
Posts: 1580
Joined: Wed Jul 05, 2017 11:41 am
Location: Paris
Callsign: Gingin

Re: Space Shuttle - Development

Postby GinGin » Thu Sep 17, 2020 11:38 pm

I started to change some electrical switches that have a spring loaded logic ( FC/Main BUS and MN Bus Tie in the picture below)
If you are interested in that, it is page 2.8-21 in the SCOM.
Quite a few of them in the elec/cryo R2 panel


In red the one done for testing purpose.
In blue, to be done.


Image
GinGin
 
Posts: 1580
Joined: Wed Jul 05, 2017 11:41 am
Location: Paris
Callsign: Gingin

Re: Space Shuttle - Development

Postby eatdirt » Sat Sep 26, 2020 10:12 am

Hi guys,
still reading the SCOM as my bedside book, page 2.6-34, when they do detail the keyboard unit, I think I spotted a minor difference with our Shuttle. The I/O RESET key officially needs EXEC as a terminator, as GPC/CRT and ITEM. I don't think it does in our Shuttle, I've never press EXEC after doing an I/O RESET, and I've just tried today to do so and this triggers an "illegal entry".
Gingin, since you're in the machine these days, could you have a quick check if this is the case and if this is easily fixable?

I've seen all the work on launch trajectories, looks like someone has seriously tuned the thing, MECO while kissing the atmosphere with KEAS at 5, difficult to be more optimal, beautiful :)
eatdirt
 
Posts: 1012
Joined: Wed Aug 15, 2018 3:06 pm

Re: Space Shuttle - Development

Postby GinGin » Mon Sep 28, 2020 11:05 am

I will have a look .
I/O is used mainly in fg for reset able fault like ac fault if The fault is cleared


Thanks for the comment, orbit insertion is really close to real Insertion flown
GinGin
 
Posts: 1580
Joined: Wed Jul 05, 2017 11:41 am
Location: Paris
Callsign: Gingin

Re: Space Shuttle - Development

Postby GinGin » Wed Nov 04, 2020 6:33 pm

wlbragg wrote in Wed Nov 04, 2020 6:14 pm:The switches you have arrows highlighting are not 3-way "spring" switches? Can you give me the panel number and switch name to look at?

I'm referring to a 3 position "spring" switch, Typically ON, OFF and TEST, where TEST is on a spring back to OFF when released.



Yes, they are.
For example, the FC main bus A switch ( R1)
It is spring loaded to the center. On in up position, Off in down position, and back to the center once released.

In the cockpit.xml from dev branch it is line 25915.

I didnt touch the the 3 way switches with the Test However.


The one I touched are: F/Main Bus A B C //// Mn Bus Tie A B C //// Pri Mn B FC 3 and MnC for payload //// Inv pwr and Inv/AC 1 2 3 (R1 power distribution) to finish

On the R1 Cryo: Fuel cell ready Start Stop 1 2 3 //// O2 Manifold, Fuel Cell reac and H2 Manifold to finish
GinGin
 
Posts: 1580
Joined: Wed Jul 05, 2017 11:41 am
Location: Paris
Callsign: Gingin

PreviousNext

Return to Spaceflight

Who is online

Users browsing this forum: No registered users and 4 guests