• Which the release of FS2020 we see an explosition of activity on the forun and of course we are very happy to see this. But having all questions about FS2020 in one forum becomes a bit messy. So therefore we would like to ask you all to use the following guidelines when posting your questions:

    • Tag FS2020 specific questions with the MSFS2020 tag.
    • Questions about making 3D assets can be posted in the 3D asset design forum. Either post them in the subforum of the modelling tool you use or in the general forum if they are general.
    • Questions about aircraft design can be posted in the Aircraft design forum
    • Questions about airport design can be posted in the FS2020 airport design forum. Once airport development tools have been updated for FS2020 you can post tool speciifc questions in the subforums of those tools as well of course.
    • Questions about terrain design can be posted in the FS2020 terrain design forum.
    • Questions about SimConnect can be posted in the SimConnect forum.

    Any other question that is not specific to an aspect of development or tool can be posted in the General chat forum.

    By following these guidelines we make sure that the forums remain easy to read for everybody and also that the right people can find your post to answer it.

SODE v1.5.3 - SimObjects Duplicating

Rotornut44

Resource contributor
Messages
563
Country
us-florida
@Jeffrey Stähli
Hey Jeffrey,
I'm not sure if you are aware of this or not, but I have ran into a intermittent bug with the latest version of SODE. For some reason, I will randomly get double or triple windsocks. This has only happened a few times though, so it seems to be a rare case. Reviewing the SODE.log, I caught a couple of lines where another windsock was injected, but the old injection wasnt removed. (See lines 155 & 332) This seems to happen right after SODE begins "Refreshing Season/Time Data..."

Wind conditions were very gusty yesterday. (The date this log was saved) I did notice the windsock was switching between medium and high (wind animation levels) quite frequently. Maybe this overloaded SODE causing it to miss removing a windsock model when the conditions were updated? (Even though I find it hard to believe that it could overload so easily.) Just speculation of course..

FGdmc7l.jpg


xbNCgsN.jpg

(Another user's screenshot - Unsure of his exact conditions at the time.)

I have attached the SODE log to this post. (Converted to a txt file to satisfy the uploader) Although I tried for an hour or so this morning, I was unable to replicate the issue seen above.

[EDIT]
I'm going to throw my Windsock's XML snippet in here just in case you wish to review it:
<!-- Windsock -->
<SimObject Name="BI Windsock">
<Placement Lat="29.4420519099325" Lon="-81.4857393752116" Alt="0.0#AGL" Hdg="0.0"/>
<Model SimTitle="Windsock Worn Orange No Wind">
<TargetSim ID="P3Dv2;P3Dv3" SimTitle="Windsock Worn Orange No Wind P3D"/>
<TargetSim ID="P3Dv4" SimTitle="Windsock Worn Orange No Wind P3Dv4"/>
<VariableDrivenRotation Variable="WindDirection" Axis="HEADING" Animated="No"/>
<ConditionalVisibility Variable="WindSpeed" Value="0"/>
</Model>

<Model SimTitle="Windsock Worn Orange Low">
<TargetSim ID="P3Dv2;P3Dv3" SimTitle="Windsock Worn Orange Low P3D"/>
<TargetSim ID="P3Dv4" SimTitle="Windsock Worn Orange Low P3Dv4"/>
<VariableDrivenRotation Variable="WindDirection" Axis="HEADING" Animated="No"/>
<ConditionalVisibility Variable="WindSpeed" Value="1-4"/>
</Model>

<Model SimTitle="Windsock Worn Orange Medium">
<TargetSim ID="P3Dv2;P3Dv3" SimTitle="Windsock Worn Orange Medium P3D"/>
<TargetSim ID="P3Dv4" SimTitle="Windsock Worn Orange Medium P3Dv4"/>
<VariableDrivenRotation Variable="WindDirection" Axis="HEADING" Animated="No"/>
<ConditionalVisibility Variable="WindSpeed" Value="5-14"/>
</Model>

<Model SimTitle="Windsock Worn Orange High">
<TargetSim ID="P3Dv2;P3Dv3" SimTitle="Windsock Worn Orange High P3D"/>
<TargetSim ID="P3Dv4" SimTitle="Windsock Worn Orange High P3Dv4"/>
<VariableDrivenRotation Variable="WindDirection" Axis="HEADING" Animated="No"/>
<ConditionalVisibility Variable="WindSpeed" Value="15-90"/>
</Model>
</SimObject>
[/EDIT]
 

Attachments

  • SODE-log.txt
    45.8 KB · Views: 415
Last edited:
Messages
611
Country
switzerland
Hi Chris,

Thanks for your report.
It could well be that SODE gets overloaded with fast switchings between models.
The mechanism is like this:
  1. SODE gets a notification from SimConnect when e.g. the wind speed variable changes.
  2. SODE will then choose the correct model according to that value and tells SimConnect to load that model.
  3. SODE waits until SimConnect return with a notification about the succesfull injection of that model.
  4. SODE only now knows about the existance of this model and remove it if needed.
You see, SimConnect communication is highly asynchronous. In the time between the variable update and the registration of a loaded model, more variable changes can happen (in gusty wind conditions near the value threshold of two models).
This is also cleary a design limitation of SODE of course and I'll try to find a solution, but I have to reproduce this case first on my computer to be really sure that our suspicion is correct.
 
Top