Orbiter-Forum  

Go Back   Orbiter-Forum > Orbiter Space Flight Simulator > Orbiter Web Forum > Simpit Forum
Register Blogs Orbinauts List Social Groups FAQ Projects Mark Forums Read

Simpit Forum Share & discuss simpit projects for Orbiter here!

Reply
 
Thread Tools
Old 08-13-2017, 02:07 PM   #1
ahunn
Orbinaut
Default Orbiter 2016 a better bet for simpit?

A few years ago I researched an Orbiter simpit but came to the realization that simulating controls with toggle switches and push buttons and some type of keyboard emulator was easy enough, getting the vessel state to drive led's or other indicators was not possible, never mind 120 degree projection external visuals... has anything changed in that regard with the release of Orbiter 2016?
ahunn is offline   Reply With Quote
Old 08-13-2017, 03:05 PM   #2
TCR_500
Biblical Creationist
Default

I'm not sure, but you may need to make a DLL for orbiter which outputs data to a USB device, a driver for a USB device, and a custom USB device to drive the LEDs. I found this thing on a Google search to help you get started.

I believe all the stock vessels are open source. It shouldn't be too hard to modify them to output to your USB device.
TCR_500 is offline   Reply With Quote
Old 08-14-2017, 07:08 AM   #3
ahunn
Orbinaut
Default

Thanks TCR_500, I have a number of hardware options, but I had settled on Arduino, particularly as the Processing language seems doable for a non-programmer like me to build the systems. But unfortunately I do not have any programming experience, so building a custom .DLL is probably a step too far. Maybe that is something I would consider contracting out.
ahunn is offline   Reply With Quote
Old 08-17-2017, 04:58 PM   #4
yagni01
Addon Developer

Default

The Orb::Connect add-on plus add-ons by Kamaz and others made it eminently doable to drive LEDs and inputs from switches. The XR- vessels have an interface that allows for really detailed vessel control. Master/Slave should enable you to drive external views, although I never personally got that far. Mine was looking pretty awesome before I had to take it down. Unfortunately, imageshack broke all the links to my photos.

I know Orbiter-2010 is supported, but don't know about 2016 version.
yagni01 is offline   Reply With Quote
Old 10-22-2017, 02:20 PM   #5
ahunn
Orbinaut
Default Here we go again - OrbConnect

Well here I am again, about once every couple of months I find myself getting excited by an orbiter simpit, so resurrecting this thread...

First off, I can confirm that OrbCOnnect appears to work with Orbiter 2016. I have been able to load and run the XR2 and use both the vanilla web interface and the java client app, both functioned as expected, so thats good news.

I am looking for show-stoppers at the moment before I spend any significant time or effort on figuring out how best to proceed. It looks like OrbConnect is the way to go, but I am concerned that some of the critical ship variables may not be available in OrbConnect, for example hull temperature. I plan to base the sim on the XR series of vehicles, and managing hull temp during launch and re-entry is a requirement, but the OrbConnect user documentation does not reference this variable at all.

I suspect it may be possible to extract the hull temp from things like vessel speed and dynamic pressure, but have no idea where to start.
ahunn is offline   Reply With Quote
Thanked by:
Old 10-24-2017, 03:37 PM   #6
dbeachy1
O-F Administrator
 
dbeachy1's Avatar


Default

Quote:
Originally Posted by ahunn View Post
 I suspect it may be possible to extract the hull temp from things like vessel speed and dynamic pressure, but have no idea where to start.
For XR vessels, take a look at XRVesselCtrlDemo, available on my Web site's download page -- it shows how external code can use the XRVesselCtrl APIs to get and set XR-specific vessel state. For example, from XRVesselCtrl.h:

Code:
struct XRSystemStatusRead : public XRSystemStatusWrite
{
    // The warning states below are not persisted in the scenario file; they are constantly
    // recalculated dynamically.
    XRWarningState HullTemperatureWarning;
    XRWarningState MainFuelWarning;
    XRWarningState RCSFuelWarning;
    XRWarningState APUFuelWarning;
    XRWarningState LOXWarning;
    XRWarningState DynamicPressureWarning;
    XRWarningState CoolantWarning;
    XRWarningState MasterWarning;     // warning active if *any* other warning active
    bool           MWSLightState;     // updated as the MWS light blinks: true = lit, false = not lit

    // Fields added in API version 2.1
    double RCSFuelLevel;        // 0 <= n <= 1.0
    double RCSMaxFuelMass;      // max fuel mass for RCS in kg (includes bay fuel tanks, if any)
    double APUFuelLevel;        // 0 <= n <= 1.0
    double APUMaxFuelMass;      // max fuel mass for APU in kg
    double LOXLevel;            // 0 <= n <= 1.0
    double LOXMaxMass;          // max internal LOX mass in kg (includes bay LOX tanks, if any)
    double BayLOXMass;          // quantity of LOX in kg currently in PAYLOAD BAY TANKS ONLY (may be zero)

    // Fields added in API version 3.0
    bool MWSAlarmState;         // true = MWS alarm active, false = alarm silenced via alarm reset or no warning active
    bool COGAutoMode;           // true = center-of-gravity shift in auto-mode because the Attitude Hold or Descent Hold autopilot is engaged
    bool InternalSystemsFailure;// true = internal systems failed due to coolant overheat
    double CenterOfGravity;     // CoG shift in meters: 0 = centered, < 0 is forward, > 0 is aft
    double CabinO2Level;        // Oxygen fraction in cabin; nominal = .209 (20.9%)
    
    double CoolantTemp;         // in degrees C
    double NoseconeTemp;        // in Kelvin
    double LeftWingTemp;        // in Kelvin
    double RightWingTemp;       // in Kelvin
    double CockpitTemp;         // external cockpit hull temperature in Kelvin
    double TopHullTemp;         // in Kelvin

    double MaxSafeNoseconeTemp; // in Kelvin
    double MaxSafeWingTemp;     // in Kelvin
    double MaxSafeCockpitTemp;  // in Kelvin
    double MaxSafeTopHullTemp;  // in Kelvin
};

<...snip...>

struct XREngineStateRead : public XREngineStateWrite
{
    double     TSFC;            // 0 <= n
    double     FlowRate;        // kg/sec
    double     Thrust;          // kN
    double     FuelLevel;       // 0 <= n <= 1.0
    double     MaxFuelMass;     // max fuel mass for this tank in kg (includes bay fuel tanks, if any)

    // Some or all of these values may not be available for all engines; any unsupported value will be set to -1.
    double DiffuserTemp;        // degrees K
    double BurnerTemp;          // degrees K
    double ExhaustTemp;         // degrees K

    // Field added in API Version 2.1
    double     BayFuelMass;     // quantity of fuel in kg currently in PAYLOAD BAY TANKS ONLY (may be zero)
};
There are also a bunch of other fields in the XRVesselCtrl APIs besides those listed above.
dbeachy1 is offline   Reply With Quote
Reply

  Orbiter-Forum > Orbiter Space Flight Simulator > Orbiter Web Forum > Simpit Forum


Thread Tools

Posting Rules
BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
Forum Jump


All times are GMT. The time now is 03:32 AM.

Quick Links Need Help?


About Us | Rules & Guidelines | TOS Policy | Privacy Policy

Orbiter-Forum is hosted at Orbithangar.com
Powered by vBulletin® Version 3.8.6
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright 2007 - 2017, Orbiter-Forum.com. All rights reserved.