OHM TransX 2018.05.06 MMExt2 for Orbiter 2016

Enjo

Mostly harmless
Addon Developer
Tutorial Publisher
Donator
Joined
Nov 25, 2007
Messages
1,665
Reaction score
13
Points
38
Location
Germany
Website
www.enderspace.de
Preferred Pronouns
Can't you smell my T levels?
I need to refresh my memory as well, but I'm in a middle of something completely different. I'll get back to you.
 

Enjo

Mostly harmless
Addon Developer
Tutorial Publisher
Donator
Joined
Nov 25, 2007
Messages
1,665
Reaction score
13
Points
38
Location
Germany
Website
www.enderspace.de
Preferred Pronouns
Can't you smell my T levels?
Then an old one, the infamous "stuck RCS" bug (still Auto-Center related):

I went through your development thread (from this post on), to refresh my memory.

I just had it happen twice in a row, after I switched Auto-Center off.
So the solution is, as blixel said, cut the engines with still some dV left to burn, switch Auto-Center OFF, and finish the burn manually.
This way I made it to my planet.

Hi Ripley,

Could you describe the problem better? Or point me to the precise post where it is described?
 

Enjo

Mostly harmless
Addon Developer
Tutorial Publisher
Donator
Joined
Nov 25, 2007
Messages
1,665
Reaction score
13
Points
38
Location
Germany
Website
www.enderspace.de
Preferred Pronouns
Can't you smell my T levels?
Ah, I get it now.
Unfortunately, as I said before, TransX doesn't meet typical coding standards, and the fact of disabling the Manoeuvre mode isn't passed as an event, but in a some sort of loop and can't be automatically reflected in the View mode. That's why I put the warning there: that you really have to disable the Auto-Center by yourself.

---------- Post added at 11:47 AM ---------- Previous post was at 11:29 AM ----------

Ripley said:
I have a minor bug to report in your latest TransX (even though it could've been there in ages): if you are in "glass cockpit" mode and in Target View, whenever you switch to normal 2D cockpit, the View in the MFD doesn't get correctly resized.
Fixed it. Anything else before I release it?
 

johan

Donator
Donator
Joined
Jun 30, 2010
Messages
112
Reaction score
0
Points
16
stopped working...

Hi there,

I used TransX2 for a bit, it works great!

Unfortunately I had some boot sector difficulties and had to re-install my Windows 10.

Now I'm getting this in orbiter.log: Error loading module Modules\Plugin\TransX2.dll (code 126)

Here's the full log. Help?

PS: Yesterday this seemed to work fine with the XR2. This morning I tried with the XR5 - first it complained some about "nuking pens", and didn't let me set up an eject plan. Then when I tried again over lunchtime just now, the module seems to refuse to load. Is my Orbiter installation rotting away slowly...??

Code:
**** Orbiter.log
Build Aug 30 2010 [v.100830]
Timer precision: 3.79257e-007 sec
Found 1 joystick(s)
Devices enumerated: 6
Devices accepted: 5
==> RGB Emulation
==> Direct3D HAL
==> Direct3D T&L HAL
==> Direct3D HAL (NVIDIA GeForce GTX 650)
==> Direct3D T&L HAL (NVIDIA GeForce GTX 650)
Module AtlantisConfig.dll .... [Build 100830, API 100830]
Module AtmConfig.dll ......... [Build 100830, API 100830]
Module DGConfigurator.dll .... [Build 100830, API 100830]
Module OrbiterSound.dll ...... [Build ******, API 060425]
---------------------------------------------------------------
>>> WARNING: Obsolete API function used: oapiRegisterMFDMode
At least one active module is accessing an obsolete interface function.
Addons which rely on obsolete functions may not be compatible with
future versions of Orbiter.
---------------------------------------------------------------
Module AeroBrakeMFD.dll ...... [Build ******, API 100830]
Module ScnEditor.dll ......... [Build 100830, API 100830]
Error loading module Modules\Plugin\TransX2.dll (code 126)

**** Creating simulation session
DirectDraw interface OK
Direct3D interface OK
Graphics: Viewport: Window 1914 x 1051 x 32
Graphics: Hardware T&L capability: Yes
Graphics: Z-buffer depth: 32 bit
Graphics: Active lights supported: 8
Loading 15382 records from star database
Joystick throttle: SLIDER 0
Joystick throttle control detected
Module Sun.dll ............... [Build 100830, API 100830]
VSOP87(E) Sun: Precision 1e-006, Terms 554/6634
Module Mercury.dll ........... [Build 100830, API 100830]
VSOP87(B) Mercury: Precision 1e-005, Terms 167/7123
Module Venus.dll ............. [Build 100830, API 100830]
Module VenusAtm2006.dll ...... [Build 100830, API 100830]
VSOP87(B) Venus: Precision 1e-005, Terms 79/1710
Module Earth.dll ............. [Build 100830, API 100830]
Module EarthAtmJ71G.dll ...... [Build 100830, API 100830]
VSOP87(B) Earth: Precision 1e-008, Terms 2564/2564
Module Moon.dll .............. [Build 100830, API 100830]
ELP82: Precision 1e-005, Terms 116/829
Module Mars.dll .............. [Build 100830, API 100830]
Module MarsAtm2006.dll ....... [Build 100830, API 100830]
VSOP87(B) Mars: Precision 1e-005, Terms 405/6400
Module Phobos.dll ............ [Build ******, API 060425]
Module Deimos.dll ............ [Build ******, API 060425]
Module Galsat.dll ............ [Build 100217, API 100215]
Module Jupiter.dll ........... [Build 100830, API 100830]
VSOP87(B) Jupiter: Precision 1e-006, Terms 1624/3625
Module Io.dll ................ [Build 100217, API 100215]
Module Europa.dll ............ [Build 100217, API 100215]
Module Ganymede.dll .......... [Build 100217, API 100215]
Module Callisto.dll .......... [Build 100217, API 100215]
Module Satsat.dll ............ [Build 100215, API 100212]
Module Saturn.dll ............ [Build 100830, API 100830]
VSOP87(B) Saturn: Precision 1e-006, Terms 2904/6365
Module Mimas.dll ............. [Build 100215, API 100212]
SATSAT Mimas: Terms 113
Module Enceladus.dll ......... [Build 100215, API 100212]
SATSAT Enceladus: Terms 33
Module Tethys.dll ............ [Build 100215, API 100212]
SATSAT Tethys: Terms 101
Module Dione.dll ............. [Build 100215, API 100212]
SATSAT Dione: Terms 59
Module Rhea.dll .............. [Build 100215, API 100212]
SATSAT Rhea: Terms 68
Module Titan.dll ............. [Build 100215, API 100212]
SATSAT Titan: Terms 100
Module Iapetus.dll ........... [Build 100215, API 100212]
SATSAT Iapetus: Terms 605
Module Uranus.dll ............ [Build 100830, API 100830]
VSOP87(B) Uranus: Precision 1e-006, Terms 1827/5269
Module Miranda.dll ........... [Build ******, API 060425]
Module Ariel.dll ............. [Build ******, API 060425]
Module Umbriel.dll ........... [Build ******, API 060425]
Module Titania.dll ........... [Build ******, API 060425]
Module Oberon.dll ............ [Build ******, API 060425]
Module Neptune.dll ........... [Build 100830, API 100830]
VSOP87(B) Neptune: Precision 1e-006, Terms 391/2024
Finished initialising world
Module XR2Ravenstar.dll ...... [Build 110306, API 100830]
Module ShuttleA.dll .......... [Build 100830, API 100830]
Module ShuttlePB.dll ......... [Build 100830, API 100830]
Module DeltaGlider.dll ....... [Build 100830, API 100830]
Module LuaInline.dll ......... [Build 100830, API 100830]
Module XR5Vanguard.dll ....... [Build 110306, API 100830]
Finished initialising status
Finished initialising camera
Finished initialising panels
Finished setting up render state
---------------------------------------------------------------
>>> WARNING: Obsolete API function used: oapiGetStationCount
At least one active module is accessing an obsolete interface function.
Addons which rely on obsolete functions may not be compatible with
future versions of Orbiter.
---------------------------------------------------------------
ERROR: DDraw object is still referenced: 1040
---------------------------------------------------------------
>>> ERROR: Destroy framework objects failed
>>> [OrbiterGraphics::Exit3DEnvironment | .\OGraphics.cpp | 1034]
---------------------------------------------------------------
**** Closing simulation session
 
Last edited:

Enjo

Mostly harmless
Addon Developer
Tutorial Publisher
Donator
Joined
Nov 25, 2007
Messages
1,665
Reaction score
13
Points
38
Location
Germany
Website
www.enderspace.de
Preferred Pronouns
Can't you smell my T levels?
Just try to re-download and reinstall the MFD. If the problem disappears, you know it disappeared just until your hard drive fails again...
 

johan

Donator
Donator
Joined
Jun 30, 2010
Messages
112
Reaction score
0
Points
16
Why TransX2? Isn't the first (transx.dll) enough?
Or do you mean you are using both DLLs shipped with the MFD?

I have had transx for a while, and recently saw the update (i.e. the one with auto-min and auto-center). I downloaded and installed that, now I have TransX and TransX2 in my modules screen.

I just assumed that TransX2 is the one I need... Maybe that's a bogus assumption?

---------- Post added at 15:28 ---------- Previous post was at 15:26 ----------

Just try to re-download and reinstall the MFD. If the problem disappears, you know it disappeared just until your hard drive fails again...

I tried that already, no luck...
 

Ripley

Tutorial translator
Donator
Joined
Sep 12, 2010
Messages
3,133
Reaction score
407
Points
123
Location
Rome
Website
www.tuttovola.org
...Maybe that's a bogus assumption?...
Yes, it is. They're both new and updated.

TransX2 is just another "free" TransX we get in the package (apart from the reddish color scheme, it's an exact copy of its brother) that can turn useful in some super-advanced setups, where only :hmm: one TransX is not enough.

:cheers:
 

johan

Donator
Donator
Joined
Jun 30, 2010
Messages
112
Reaction score
0
Points
16

I've never deliberately done anything with ModuleMessagingExt. But... I have been deliberately messing around with my Windows installation, so quite possibly I undid ModuleMessagingExt...

Thanks! I'll go grab it and try again.

---------- Post added at 21:01 ---------- Previous post was at 20:42 ----------

Yes, it is. They're both new and updated.

TransX2 is just another "free" TransX we get in the package (apart from the reddish color scheme, it's an exact copy of its brother) that can turn useful in some super-advanced setups, where only :hmm: one TransX is not enough.

:cheers:

Thanks for the update! :cheers:

I'm still stuck getting it to work the way I expect it to, but at least now the module loads :)

I'll start a new thread for that if I can't solve it.
 

downloaderfan

Member
Joined
Jan 12, 2013
Messages
104
Reaction score
0
Points
16
Hello Enjo, thank you for your hard work & the time you put into updating such a flexible & one of the most important orbiter addons.

I have a feature request - Please consider adding support for deep space maneuvers, if possible, in your free time in a future update over the course of the next few years, by adding a maneuver mode along with the sling direct view stage, where we can enable maneuver mode, TransX shows us where we are in our orbit and then we can add Prograde/Plane change/Outward & perform the deep space maneuver. That would make TransX the ultimate trajectory planning package in orbiter.
 

Enjo

Mostly harmless
Addon Developer
Tutorial Publisher
Donator
Joined
Nov 25, 2007
Messages
1,665
Reaction score
13
Points
38
Location
Germany
Website
www.enderspace.de
Preferred Pronouns
Can't you smell my T levels?
Hi, please give me a scenario with a setup plan for a start, and exact, expected TransX behavior. I'm not TransX expert (anymore). I just program it.
 

downloaderfan

Member
Joined
Jan 12, 2013
Messages
104
Reaction score
0
Points
16
Ok, so to demonstrate what I would expect from a transX that supports deep space manoeuvres(DSM), I've come up with a simple Earth - Venus - Earth sling scenario.

Code:
BEGIN_DESC

END_DESC

BEGIN_ENVIRONMENT
  System Sol
  Date MJD 51981.6440262641
END_ENVIRONMENT

BEGIN_FOCUS
  Ship GL-01
END_FOCUS

BEGIN_CAMERA
  TARGET GL-01
  MODE Cockpit
  FOV 60.00
END_CAMERA

BEGIN_HUD
  TYPE Surface
END_HUD

BEGIN_MFD Left
  TYPE User
  MODE TransX
  Ship  GL-01
  FNumber 4
  Int 1
  Orbit True
  Vector  -6181552.6882 -2312628.92594 -428125.160126
  Vector  -1562.7336384 5193.97069794 -5562.24935739
  Double  3.98600439969e+014
  Double  51981.6440246
  Handle Earth
  Handle NULL
  Handle NULL
Select Target
 0 Escape
Autoplan
0 0
Plan type
0 0
Plan
0 1
Plan
0 0
Plan
0 0
Select Minor
 0 None
Manoeuvre mode
0 0
Auto-Center™
0 0
Base Orbit
0 0
Prograde vel.
 1  0
Man. date
 1  51981.6440243
Outward vel.
 1  0
Ch. plane vel.
 1  0
Intercept with
0 0
Orbits to Icept
0 0
Graph projection
0 0
Scale to view
0 0
Advanced
0 0
Pe Distance
 1  6577819.54864
Ej Orientation
 1  0.520108117094
Equatorial view
0 0
Finvars
  Finish BaseFunction
  Int 2
  Orbit False
  Handle Sun
  Handle Earth
  Handle Venus
Select Target
 0 Venus
Autoplan
0 0
Plan type
0 2
Plan
0 0
Plan
0 0
Plan
0 1
Select Minor
 0 None
Manoeuvre mode
0 0
Auto-Center™
0 0
Base Orbit
0 1
Prograde vel.
 1  0
Man. date
 1  51981.6438786
Outward vel.
 1  0
Ch. plane vel.
 1  0
Intercept with
0 0
Orbits to Icept
0 0
Graph projection
0 0
Scale to view
0 0
Advanced
0 0
Prograde vel.
 1  -4064.22738622
Eject date
 1  51981.6014162
Outward vel.
 1  0
Ch. plane vel.
 1  0
Finvars
  Finish BaseFunction
  Int 4
  Orbit True
  Vector  -840421171.862 1353764235.44 -5916842353.1
  Vector  1297.75776923 -2081.68265354 8622.14444691
  Double  3.2485863e+014
  Double  52145.741176
  Handle Venus
  Handle NULL
  Handle NULL
Select Target
 0 Escape
Autoplan
0 0
Plan type
0 1
Plan
0 0
Plan
0 1
Plan
0 0
Select Minor
 0 None
Manoeuvre mode
0 0
Auto-Center™
0 0
Base Orbit
0 0
Prograde vel.
 1  0
Man. date
 1  51981.6438728
Outward vel.
 1  0
Ch. plane vel.
 1  0
Intercept with
0 0
Orbits to Icept
0 0
Graph projection
0 0
Scale to view
0 0
Advanced
0 0
View Orbit
0 0
Finvars
  Finish BaseFunction
  Int 3
  Orbit True
  Vector  23912265865 -170892517.741 105086439570
  Vector  -33435.5373775 676.315021139 16353.3732053
  Double  1.32712764814e+020
  Double  52153.6365112
  Handle Sun
  Handle Venus
  Handle Earth
Select Target
 0 Earth
Autoplan
0 0
Plan type
0 2
Plan
0 0
Plan
0 0
Plan
0 2
Select Minor
 0 None
Manoeuvre mode
0 0
Auto-Center™
0 0
Base Orbit
0 0
Prograde vel.
 1  0
Man. date
 1  51981.6438091
Outward vel.
 1  0
Ch. plane vel.
 1  0
Intercept with
0 0
Orbits to Icept
0 0
Graph projection
0 0
Scale to view
0 0
Advanced
0 0
Velocity.
 1  0
Outward angle
 1  1.01532818812
Inc. angle
 1  0.269548649678
Inherit Vel.
0 0
Eject date
 1  52153.6365112
Finvars
  Finish BaseFunction
END_MFD

BEGIN_MFD Right
  TYPE User
  MODE TransX
END_MFD

BEGIN_SHIPS
GL-01:DeltaGlider
  STATUS Orbiting Earth
  RPOS -6181782.20 -2311865.76 -428942.40
  RVEL -1561.482 5194.440 -5562.162
  AROT 29.44 52.32 166.37
  VROT -0.11 -0.05 0.09
  AFCMODE 7
  PRPLEVEL 0:1.000000 1:1.000000
  NAVFREQ 402 94 0 0
  XPDR 0
  GEAR 1 1.0000
  AAP 0:0 0:0 0:0
END
END_SHIPS

BEGIN_ExtMFD
END

The first stage would be the same as any normal eject burn to another planet. Select Target Planets/Moons --> Escape --> FWD (Forward)

Then at Stage 2, . Select Target Planets/Moons --> Venus, then I've set the Prograde vel. value to -4.064k to encounter venus. FWD to move to the next stage.

At stage 3, Target Planets/Moons --> Escape then FWD to move to the next stage.

Now at stage 4, Target Planets/Moons --> Earth, then I press VW to enter Sling Direct mode. It is this view where we should be able to set up the DSM. There are already 5 options in this view i.e. 'Inherit Vel.', 'Inc. angle', 'Outward angle', 'Velocity.', 'Eject date'. Now we add another option in this view, which would be 'Manoeuvre mode', the same 'Manoeuvre mode' which we use for mid course corrections when we are coasting through space and in this scenario, the 'Manoeuvre mode' can be found in stage 1.

nl96c4.png


So now in Stage 4 in sling direct view, we find 'Manoeuvre mode' along with the 5 other options. It is set to 'Off' by default, similar to how 'Inherit Vel.' is set to Yes by default. When we set the 'Manoeuvre mode' to On, we find the same options which we see during mid course corrections namely 'Ch. plane vel.', 'Outward vel.', Man. date', 'Prograde vel.', 'Base orbit ++ Updates'. No Auto-Center option in this case because this is a later stage, not our current stage. Now, we have 2 dates in that view, which are 'Eject date.' & our added 'Man. date'. The 'Eject date.' in transX already can't be changed from that stage, we leave it that way. But the 'Man. date' is the one which would indicate the date of our DSM.

16ad5pe.png


Now, in the image above, you can see that my encounter at venus occurs at 52153 & my encounter at earth occurs at 52473. Which means, between those 2 dates, I'm just coasting through space. Now let's say I input a date, 'Man date' 52313 in TransX. During that date, the ship would be somewhere near the apoapsis of it's orbit.

29macfr.png


Now, as I adjust the 'Man date', TransX should show me exactly where I would be in my orbit at that date, using a point as an indicator as shown in the image above. Once that's set, I should be able to add 'Ch. plane vel.', 'Outward vel.', 'Prograde vel.' & see it's effects, just like any normal 'Manoeuvre mode' & this will enable me to perform the DSM. (Of course, this would also mean a Target view in Stage 4 when we press VW, but that should activate only after we have entered that stage i.e. We have left venus & our original stage 4 has become our stage 1. Now we can also have the Auto Center option at this point).

Once 'Manoeuvre mode' is turned On, we should be able to change the values of not only 'Ch. plane vel.', 'Outward vel.', 'Prograde vel.' & 'Man date' but also the usual 'Inherit Vel.', 'Inc. angle', 'Outward angle', 'Velocity.' that already come with the sling direct view.

One other thing to note is that the 'Man date' can have a minimum value equal to the 'Eject date' which would be 52153 in this case which is a constant in that stage & maximum value would be the date of encounter, which would be 52473 in this case, however, as this encounter date changes depending on the values of 'Ch. plane vel.', 'Outward vel.', 'Prograde vel.', 'Inc. angle', 'Outward angle', this upper limit of 'Man date' wouldn't be a fixed one, it should change as the user changes the other 5 parameters & should always be equal to the encounter date, meaning the user shouldn't be able to set the Man date beyond the target encounter date.

This is how I think DSM should be incorporated in transX. If anyone else has a better idea or something to add to this, please feel free to post in this thread. Thank you for your interest in implementing this feature, enjo.
 
Last edited:

Enjo

Mostly harmless
Addon Developer
Tutorial Publisher
Donator
Joined
Nov 25, 2007
Messages
1,665
Reaction score
13
Points
38
Location
Germany
Website
www.enderspace.de
Preferred Pronouns
Can't you smell my T levels?
Thanks. With such a detailed explanation, I will be able to do it, but I'm not giving any start/end dates. I first have to "clean up my house" so to speak.
 

downloaderfan

Member
Joined
Jan 12, 2013
Messages
104
Reaction score
0
Points
16
Thanks. With such a detailed explanation, I will be able to do it, but I'm not giving any start/end dates. I first have to "clean up my house" so to speak.

Knowing that you will be able to do it & will eventually do it at some point in the future is good enough for me. Thanks a lot. :thumbup: :tiphat:
 

Enjo

Mostly harmless
Addon Developer
Tutorial Publisher
Donator
Joined
Nov 25, 2007
Messages
1,665
Reaction score
13
Points
38
Location
Germany
Website
www.enderspace.de
Preferred Pronouns
Can't you smell my T levels?
I've just had a look and because of how TransX operates on the data, it won't be possible to code DSM in the way you described it: TransX assumes a single instantaneous burn per stage, treating the planned orbit from the previous stage as a base orbit (the green one). Therefore how I'd see it, is adding a new type of stage after the Sling Direct stage, called DSM, which would operate on the Sling Direct's choices (base orbit), and allow to set the velocities as usual.
Does this still make sense to you?

---------- Post added at 01:47 PM ---------- Previous post was at 12:36 PM ----------

I also have an another idea: I could add a new variable for each stage: "Use DSM", which when set, would create the next stage as DSM, even after an another DSM stage, giving a possibility to have many (optional) DSMs.
 

downloaderfan

Member
Joined
Jan 12, 2013
Messages
104
Reaction score
0
Points
16
I also have an another idea: I could add a new variable for each stage: "Use DSM", which when set, would create the next stage as DSM, even after an another DSM stage, giving a possibility to have many (optional) DSMs.

Yeah, this implementation of DSM should also work, having separate stages for each DSM with a variable to turn it On in every stage. Lets say once the DSM variable is turned On in the sling direct stage, the encounter date, velocity values to reach the target planet in the sling direct stage must disappear & now only be visible in the DSM stage. However, we can have the Sling direct stage in 1 MFD & the DSM stage on the other so as to be able to control 'Outward angle' & 'Inclination angle' from the sling direct view & see it's effects in the DSM stage. One additional parameter you'll also have to consider now is when the stage must switch from the sling direct stage to the DSM stage when we are executing our planned trajectory in orbiter. Something like 1000s before the DSM burn seems like a good number.
 
Last edited:

Ripley

Tutorial translator
Donator
Joined
Sep 12, 2010
Messages
3,133
Reaction score
407
Points
123
Location
Rome
Website
www.tuttovola.org
Hi Enjo.

If there are not special reasons to keep it, could a future update disable the possibility of moving the "Man. date" parameter "in the past", that is, before actual MJD?

:cheers:

---------- Post added at 15:03 ---------- Previous post was at 14:57 ----------

...And while fiddling with it, I've just realized that if you click on ENT and manually input "x" to reset Man. Date, it is set to MJD 0.0000.

Shouldn't it be reset to NOW instead?
 
Top