Re: [Flightgear-devel] p51d-jsbsim merge request

2010-12-27 Thread Vivian Meazza
Hal wrote



... snip 

 
 I have the merge request in.
 

Done - seems to fix the problem. That really ugly chap is still there though
:-).

Vivian



--
Learn how Oracle Real Application Clusters (RAC) One Node allows customers
to consolidate database storage, standardize their database environment, and, 
should the need arise, upgrade to a full multi-node Oracle RAC database 
without downtime or disruption
http://p.sf.net/sfu/oracle-sfdevnl
___
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel


Re: [Flightgear-devel] p51d-jsbsim merge request

2010-12-27 Thread Gijs de Rooy

 I took a closer look and it appears that I missed the 
 Aircraft/p51d/Models/induction-air-hotspots.xml file when I was checking in 
 my 
 changes. I have checked this into my fgdata clone and I will be requesting a 
 merge into fgdata to get it into place shortly. Not sure how I missed it.
 
 Hal
 
Ah, much better now. At least the aircraft loads well! Still get quite some 
errors though. 
It ain't nice, but it works ;)
 
  Property /engines/engine[0]/mp-inhg is already defined.
  Property /engines/engine/oil-temperature-degf is already defined.
  Property /controls/fuel/tank-selector is already defined.
  Property /controls/engines/engine/throttle is already defined.
  Property ap/ap_map_hold is already defined.
  Property ap/throttle-cmd-norm is already defined.
FGPropertyManager::GetNode() No node found for ap/map-error
  In condition: ap/map-error LT 0.0. Unknown property ap/map-error referenced.
Creating property.  Check usage.
Failed to tie property ap/throttle-cmd-out to object methods
Failed to tie property ap/cooling-cmd-out to object methods
  Property propulsion/tank/priority is already defined.
  Property propulsion/tank[1]/priority is already defined.
  Property propulsion/tank[2]/priority is already defined.
  Property propulsion/tank[3]/priority is already defined.
  Property propulsion/tank[4]/priority is already defined.
FGPropertyManager::GetNode() No node found for /ai/submodels/submodel[8]/count
  In condition: /ai/submodels/submodel[8]/count == 1. Unknown property 
/ai/submodels/submodel[8]/count referenced.
Creating property.  Check usage.
FGPropertyManager::GetNode() No node found for /ai/submodels/submodel[9]/count
  In condition: /ai/submodels/submodel[9]/count == 1. Unknown property 
/ai/submodels/submodel[9]/count referenced.
Creating property.  Check usage.
FGPropertyManager::GetNode() No node found for /ai/submodels/submodel[10]/count
  In condition: /ai/submodels/submodel[10]/count == 1. Unknown property 
/ai/submodels/submodel[10]/count referenced.
Creating property.  Check usage.
FGPropertyManager::GetNode() No node found for /ai/submodels/submodel[11]/count
  In condition: /ai/submodels/submodel[11]/count  == 1. Unknown property 
/ai/submodels/submodel[11]/count referenced.
Creating property.  Check usage.
FGPropertyManager::GetNode() No node found for /ai/submodels/submodel[12]/count
  In condition: /ai/submodels/submodel[12]/count  == 1. Unknown property 
/ai/submodels/submodel[12]/count referenced.
Creating property.  Check usage.
FGPropertyManager::GetNode() No node found for /ai/submodels/submodel[13]/count
  In condition: /ai/submodels/submodel[13]/count  == 1. Unknown property 
/ai/submodels/submodel[13]/count referenced.
Creating property.  Check usage.
FGPropertyManager::GetNode() No node found for /ai/submodels/submodel[14]/count
  In condition: /ai/submodels/submodel[14]/count  == 1. Unknown property 
/ai/submodels/submodel[14]/count referenced.
Creating property.  Check usage.
FGPropertyManager::GetNode() No node found for /ai/submodels/submodel[15]/count
  In condition: /ai/submodels/submodel[15]/count  == 1. Unknown property 
/ai/submodels/submodel[15]/count referenced.
Creating property.  Check usage.
FGPropertyManager::GetNode() No node found for /ai/submodels/submodel[16]/count
  In condition: /ai/submodels/submodel[16]/count  == 1. Unknown property 
/ai/submodels/submodel[16]/count referenced.
Creating property.  Check usage.
FGPropertyManager::GetNode() No node found for /ai/submodels/submodel[17]/count
  In condition: /ai/submodels/submodel[17]/count  == 1. Unknown property 
/ai/submodels/submodel[17]/count referenced.
Creating property.  Check usage.
Failed to tie property fcs/sine-wave-generator to object methods
  Property /ai/submodels/submodel[1]/count is already defined.
  Property /ai/submodels/submodel[8]/count is already defined.
  Property /ai/submodels/submodel[9]/count is already defined.
  Property /ai/submodels/submodel[10]/count is already defined.
  Property /ai/submodels/submodel[11]/count is already defined.
  Property /ai/submodels/submodel[12]/count is already defined.
  Property /ai/submodels/submodel[13]/count is already defined.
  Property /ai/submodels/submodel[14]/count is already defined.
  Property /ai/submodels/submodel[15]/count is already defined.
  Property /ai/submodels/submodel[16]/count is already defined.
  Property /ai/submodels/submodel[17]/count is already defined.
  Property /controls/gear/brake-left is already defined.
  Property /controls/gear/brake-right is already defined.
  Property /controls/gear/brake-parking is already defined.
Failed to tie property fcs/elevator-control to object methods
  --
Learn how Oracle Real Application Clusters (RAC) One Node allows customers
to consolidate database 

Re: [Flightgear-devel] p51d-jsbsim merge request

2010-12-27 Thread Jon S. Berndt
 From: Hal V. Engel [mailto:hven...@gmail.com]

 snip
 
Property /engines/engine[0]/mp-inhg is already defined.
Property /engines/engine/oil-temperature-degf is already defined.
Property /controls/fuel/tank-selector is already defined.
Property /controls/engines/engine/throttle is already defined.
Property ap/ap_map_hold is already defined.
Property ap/throttle-cmd-norm is already defined.
 
 The above happen when I forward declare these in the JSBSIm xml files
 to avoid messages like the next message.
 
  FGPropertyManager::GetNode() No node found for ap/map-error
In condition: ap/map-error LT 0.0. Unknown property ap/map-error
  referenced. Creating property.  Check usage.
 
  Failed to tie property ap/throttle-cmd-out to object methods
  Failed to tie property ap/cooling-cmd-out to object methods
 
 I don't know why the Failed to tie.. messages are happening.  The two
 above are from two jsbsim autopilots that are part of the engine control
 systems.
 One is for the auto manifold pressure system and the second is for the
 automatic coolant temperature controls. Both systems work in spite of
these
 messages.  I would like to eliminate these messages.  Can someone give
 me a clue what to look for?


Hal,

Some time ago we (I) added some checks to prevent problems with config files
due to spelling errors. Sometimes things can get misspelled and there is no
warning to the user, nor any obvious ill effects. The way that the property
system is supposed to work (to my recollection) is that it should not matter
in which order properties are declared, and when a property is encountered
that has not been referenced before, the property is simply created. This is
both useful and dangerous, as we have seen.

So, what we did to try and prevent problems is to notify the user when a
property is being defined that has already been defined, or when a property
is referenced that has not been created.

Unfortunately, it can be problematic when a property is created on the
FlightGear side, but used in the JSBSim side, if one wants to use the
aircraft model in both FlightGear and in standalone JSBSim - or in another
simulation architecture (which would not have nasal support, FWIW).

The system we have set up for handling presumed property creation problems
probably is not perfect, and it can be excessively wordy. We might find a
way to suppress the messages, but I'd want to take another look at them and
make sure I understand why the messages are being shown. Some of them don't
look harmless.

Jon



--
Learn how Oracle Real Application Clusters (RAC) One Node allows customers
to consolidate database storage, standardize their database environment, and, 
should the need arise, upgrade to a full multi-node Oracle RAC database 
without downtime or disruption
http://p.sf.net/sfu/oracle-sfdevnl
___
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel


Re: [Flightgear-devel] p51d-jsbsim merge request

2010-12-26 Thread Vivian Meazza
Hal wrote
 
 I just created a new merge request for the p51d-jsbsim model.  This is
 merge
 request #66. This merge includes the following changes:
 
 Add the following to the cockpit:
   Manual bomb salvo controls
   SCR-522C radio control unit
   AN/APS-13 control unit and bell unit
   None new placards
   Emergency canopy release lever
   Canopy crank
   Ammeter on main electrical control panel
   Cockpit wall frames
   Ram air and hot air controls
   Gun circuit protector cover
 Fixed *.ac files to make material settings consistent.
 Cleaned up fuel tank selector to reduce number of vertexes/surfaces.
 Added detailed texture to rudder pedals.
 Redid left cockpit console to reduce vertexes and to clean up the shape.
 Fixed numerous lighting animation issues.
 Added integration for new JSBSim cooling hooks. Includes automated coolant
 temperature control and animated cooling doors.
 Hal
 

Done. Looks nice. Apart from the really ugly pilot :-).

Vivian



--
Learn how Oracle Real Application Clusters (RAC) One Node allows customers
to consolidate database storage, standardize their database environment, and, 
should the need arise, upgrade to a full multi-node Oracle RAC database 
without downtime or disruption
http://p.sf.net/sfu/oracle-sfdevnl
___
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel


Re: [Flightgear-devel] p51d-jsbsim merge request

2010-12-26 Thread Gijs de Rooy

Hi there!

 Hal wrote:
 
 I just created a new merge request for the p51d-jsbsim model. This is merge 
 request #66. This merge includes the following changes:

Running p51d-jsbsim now gives me no visual model, an empty dialog popup and a 
lot of errors
in the console:

Processing command line arguments
NoaaMetarRwalWxController::update() received METAR 2010/12/26 15:25 EHEH 
261525Z AUTO 21004KT 8000 BR FEW059 OVC078 01/0
0 Q1025 BLU WHT BECMG BLU BECMG 22005KT 8000 BR FEW012 BKN060
  Property /engines/engine[0]/mp-inhg is already defined.
  Property /engines/engine/oil-temperature-degf is already defined.
  Property /controls/fuel/tank-selector is already defined.
  Property /controls/engines/engine/throttle is already defined.
  Property ap/ap_map_hold is already defined.
  Property ap/throttle-cmd-norm is already defined.
FGPropertyManager::GetNode() No node found for ap/map-error
  In condition: ap/map-error LT 0.0. Unknown property ap/map-error referenced.
Creating property.  Check usage.
Failed to tie property ap/throttle-cmd-out to object methods
Failed to tie property ap/cooling-cmd-out to object methods
  Property propulsion/tank/priority is already defined.
  Property propulsion/tank[1]/priority is already defined.
  Property propulsion/tank[2]/priority is already defined.
  Property propulsion/tank[3]/priority is already defined.
  Property propulsion/tank[4]/priority is already defined.
FGPropertyManager::GetNode() No node found for /ai/submodels/submodel[8]/count
  In condition: /ai/submodels/submodel[8]/count == 1. Unknown property 
/ai/submodels/submodel[8]/count referenced.
Creating property.  Check usage.
FGPropertyManager::GetNode() No node found for /ai/submodels/submodel[9]/count
  In condition: /ai/submodels/submodel[9]/count == 1. Unknown property 
/ai/submodels/submodel[9]/count referenced.
Creating property.  Check usage.
FGPropertyManager::GetNode() No node found for /ai/submodels/submodel[10]/count
  In condition: /ai/submodels/submodel[10]/count == 1. Unknown property 
/ai/submodels/submodel[10]/count referenced.
Creating property.  Check usage.
FGPropertyManager::GetNode() No node found for /ai/submodels/submodel[11]/count
  In condition: /ai/submodels/submodel[11]/count  == 1. Unknown property 
/ai/submodels/submodel[11]/count referenced.
Creating property.  Check usage.
FGPropertyManager::GetNode() No node found for /ai/submodels/submodel[12]/count
  In condition: /ai/submodels/submodel[12]/count  == 1. Unknown property 
/ai/submodels/submodel[12]/count referenced.
Creating property.  Check usage.
FGPropertyManager::GetNode() No node found for /ai/submodels/submodel[13]/count
  In condition: /ai/submodels/submodel[13]/count  == 1. Unknown property 
/ai/submodels/submodel[13]/count referenced.
Creating property.  Check usage.
FGPropertyManager::GetNode() No node found for /ai/submodels/submodel[14]/count
  In condition: /ai/submodels/submodel[14]/count  == 1. Unknown property 
/ai/submodels/submodel[14]/count referenced.
Creating property.  Check usage.
FGPropertyManager::GetNode() No node found for /ai/submodels/submodel[15]/count
  In condition: /ai/submodels/submodel[15]/count  == 1. Unknown property 
/ai/submodels/submodel[15]/count referenced.
Creating property.  Check usage.
FGPropertyManager::GetNode() No node found for /ai/submodels/submodel[16]/count
  In condition: /ai/submodels/submodel[16]/count  == 1. Unknown property 
/ai/submodels/submodel[16]/count referenced.
Creating property.  Check usage.
FGPropertyManager::GetNode() No node found for /ai/submodels/submodel[17]/count
  In condition: /ai/submodels/submodel[17]/count  == 1. Unknown property 
/ai/submodels/submodel[17]/count referenced.
Creating property.  Check usage.
Failed to tie property fcs/sine-wave-generator to object methods
  Property /ai/submodels/submodel[1]/count is already defined.
  Property /ai/submodels/submodel[8]/count is already defined.
  Property /ai/submodels/submodel[9]/count is already defined.
  Property /ai/submodels/submodel[10]/count is already defined.
  Property /ai/submodels/submodel[11]/count is already defined.
  Property /ai/submodels/submodel[12]/count is already defined.
  Property /ai/submodels/submodel[13]/count is already defined.
  Property /ai/submodels/submodel[14]/count is already defined.
  Property /ai/submodels/submodel[15]/count is already defined.
  Property /ai/submodels/submodel[16]/count is already defined.
  Property /ai/submodels/submodel[17]/count is already defined.
  Property /controls/gear/brake-left is already defined.
  Property /controls/gear/brake-right is already defined.
  Property /controls/gear/brake-parking is already defined.
Failed to tie property fcs/elevator-control to object methods
Error reading panel:
Failed to open file
Failed to load model: Failed to load panel 
Aircraft/p51d/Models/induction-air-hotspots.xml

Re: [Flightgear-devel] p51d-jsbsim merge request

2010-12-26 Thread Vivian Meazza
Hal

 
 On Sunday, December 26, 2010 10:34:52 am Hal V. Engel wrote:
  On Sunday, December 26, 2010 08:09:00 am Gijs de Rooy wrote:
   Hi there!
  
Hal wrote:
   
I just created a new merge request for the p51d-jsbsim model. This
 is
merge
  
request #66. This merge includes the following changes:
   Running p51d-jsbsim now gives me no visual model, an empty dialog
 popup
 
  I am not seeing this on my system and GIT tells me that my local copy is
 in
  sync with what in my clone of fgdata which should now be in sync with
 the
  p51d parts of fgdata.  I think you are missing a file below there is
 more
  info on this.
 
  The messages below are related to the visual model.
 
   Error reading panel:
   Failed to open file
   Failed to load model: Failed to load panel
   Aircraft/p51d/Models/induction-air-hotspots.xml
   from:Aircraft/p51d/Models/p51d-jw-jsbsim.xml
 
  These messages I am NOT seeing locally.  Are you sure you got a good
 copy
  of fgdata from GIT?
 
  Aircraft/p51d/Models/induction-air-hotspots.xml is new and goes with the
  ram air and hot air controls.  As a test I renamed it and I got no
 visual
  models and I also got an OK popup.  So it looks like you didn't get
 this
  file for some reason.
 
 I took a closer look and it appears that I missed the
 Aircraft/p51d/Models/induction-air-hotspots.xml file when I was checking
 in my
 changes.  I have checked this into my fgdata clone and I will be
 requesting a
 merge into fgdata to get it into place shortly.  Not sure how I missed it.
 

Easy to do.

Vivian



--
Learn how Oracle Real Application Clusters (RAC) One Node allows customers
to consolidate database storage, standardize their database environment, and, 
should the need arise, upgrade to a full multi-node Oracle RAC database 
without downtime or disruption
http://p.sf.net/sfu/oracle-sfdevnl
___
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel


Re: [Flightgear-devel] p51d-jsbsim merge request.

2010-11-30 Thread Martin Spott
Hal V. Engel wrote:

 It would be really nice to get a similar pano of a D/K cockpit since that 
 would be very helpful getting the cockpit modeled.

This is the only one I'm aware of,

Martin.
-- 
 Unix _IS_ user friendly - it's just selective about who its friends are !
--

--
Increase Visibility of Your 3D Game App  Earn a Chance To Win $500!
Tap into the largest installed PC base  get more eyes on your game by
optimizing for Intel(R) Graphics Technology. Get started today with the
Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs.
http://p.sf.net/sfu/intelisp-dev2dev
___
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel


Re: [Flightgear-devel] p51d-jsbsim merge request.

2010-11-29 Thread Martin Spott
Hal V. Engel wrote:

 There is tons of stuff that remains to be done still.  For example the 
 cockpit 
[...]

While you're at it   if you didn't know before, you might be
intersted in this one (beware, huge dowbload, don't klick if you don't
need it ):

  http://www.stclairphoto-imaging.com/360/P51-Mustang/P51_swf.html

Cheers,
Martin.
-- 
 Unix _IS_ user friendly - it's just selective about who its friends are !
--

--
Increase Visibility of Your 3D Game App  Earn a Chance To Win $500!
Tap into the largest installed PC base  get more eyes on your game by
optimizing for Intel(R) Graphics Technology. Get started today with the
Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs.
http://p.sf.net/sfu/intelisp-dev2dev
___
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel


Re: [Flightgear-devel] p51d-jsbsim merge request.

2010-11-28 Thread Jon S. Berndt
-Original Message-
 From: Hal V. Engel [mailto:hven...@gmail.com]
 I just created a merge request to move updates to the JSBSim p51d into
 fgdata. Changes include:

 ...

 Hal

Would love to see a video of a flight showing these updated features. I
think it would be a really nice showcase for what FlightGear can do.

JB



--
Increase Visibility of Your 3D Game App  Earn a Chance To Win $500!
Tap into the largest installed PC base  get more eyes on your game by
optimizing for Intel(R) Graphics Technology. Get started today with the
Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs.
http://p.sf.net/sfu/intelisp-dev2dev
___
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel


Re: [Flightgear-devel] p51d-jsbsim merge request.

2010-11-28 Thread Jon S. Berndt
 There is tons of stuff that remains to be done still.

You sound like me: always seeing what is yet left to be done. From my point
of view, your work on this model is at the top of the charts.

 There are also things that I have not attempted to implement yet
 because they
 are not supported by JSBSim.  The most significant of these for this
 model is
 support for liquid cooled piston engines.  The doors on the dog house
 for
 engine and oil cooling control exist and have animation hooks but there
 is
 currently no way to setup the cooling system since the JSBSIm piston
 engine
 model assumes air cooling and almost none of the cooling related stuff
 is
 exposed in the property tree.  Even if all of these were exposed I am
 not sure
 if it would be possible to fake the behavior of a liquid cooled engine.

Remember that we have implemented pre and post functions in engine modeling.
That is, any arbitrary function can be defined and set to execute either
before or after the main engine model code. That won't help if the
appropriate properties are not exposed, though, of course. Do you have a
list of which properties you still need from the engine model?

Jon



--
Increase Visibility of Your 3D Game App  Earn a Chance To Win $500!
Tap into the largest installed PC base  get more eyes on your game by
optimizing for Intel(R) Graphics Technology. Get started today with the
Intel(R) Software Partner Program. Five $500 cash prizes are up for grabs.
http://p.sf.net/sfu/intelisp-dev2dev
___
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel


Re: [Flightgear-devel] p51d-jsbsim merge request.

2010-11-28 Thread Ron Jensen
On Sunday 28 November 2010 21:02:48 Jon S. Berndt wrote:
  There is tons of stuff that remains to be done still.

 You sound like me: always seeing what is yet left to be done. From my point
 of view, your work on this model is at the top of the charts.

  There are also things that I have not attempted to implement yet
  because they
  are not supported by JSBSim.  The most significant of these for this
  model is
  support for liquid cooled piston engines.  The doors on the dog house
  for
  engine and oil cooling control exist and have animation hooks but there
  is
  currently no way to setup the cooling system since the JSBSIm piston
  engine
  model assumes air cooling and almost none of the cooling related stuff
  is
  exposed in the property tree.  Even if all of these were exposed I am
  not sure
  if it would be possible to fake the behavior of a liquid cooled engine.

 Remember that we have implemented pre and post functions in engine
 modeling. That is, any arbitrary function can be defined and set to execute
 either before or after the main engine model code. That won't help if the
 appropriate properties are not exposed, though, of course. Do you have a
 list of which properties you still need from the engine model?

 Jon


I've been sitting on my cooling patch for a long, long time.  Maybe its time 
to share!  :)

I added two properties:
 cooling-factor {number} /cooling-factor
 cylinder-head-mass unit={KG | LBS} {number} /cylinder-head-mass

The cooling-factor is exposed as the property propulsion/engine/cooling-factor  
so it may be adjusted during the run to simulate cowl flaps opening and 
closing or ...  Its default value is 0.514, a number that was hard-coded 
before.  This number scales the apparent airflow in the engine so increasing 
it results in more cooling, decreasing it results in less cooling.  Not 
exactly liquid cooling, but it is a flexible control.

Cylinder-head-mass is per cylinder and defaults to 2kg.  This number comes 
from the old hard-coded default of 8 divided by the 4 cylinders the original 
model represented.  Increasing the value increases the time it takes the 
engine to heat up.  So we can use this value to adjust how long we can run 
at maximum power before the engine starts to overheat.

Overheating doesn't do anything by default, but cylinder head temperature is 
also now available as propulsion/engine/cht-degF so you could play with bsfc 
or volumetric efficiency as the engine heats up.

Thanks,
Ron
diff --git a/src/models/propulsion/FGPiston.h b/src/models/propulsion/FGPiston.h
index 13072af..f7ee05b 100644
--- a/src/models/propulsion/FGPiston.h
+++ b/src/models/propulsion/FGPiston.h
@@ -71,6 +71,7 @@ CLASS DOCUMENTATION
   bore unit={IN | M} {number} /bore
   stroke unit={IN | M} {number} /stroke
   cylinders {number} /cylinders
+  cylinder-head-mass unit={KG | LBS} {number} /cylinder-head-mass
   compression-ratio {number} /compression-ratio
   sparkfaildrop {number} /sparkfaildrop
   maxhp unit={HP | WATTS} {number} /maxhp
@@ -101,6 +102,7 @@ CLASS DOCUMENTATION
   takeoffboost unit={INHG | PA | ATM} {number} /takeoffboost
   air-intake-impedance-factor {number} /air-intake-impedance-factor
   ram-air-factor {number} /ram-air-factor
+  cooling-factor {number} /cooling-factor
 /piston_engine
 @endcode
 
@@ -160,8 +162,7 @@ CLASS DOCUMENTATION
   config file (and is above RATEDBOOST1), then the throttle position is
   interpreted as:
 
-- 0 to 0.95 : idle manifold pressure to rated boost (where attainable)
-- 0.96, 0.97, 0.98 : rated boost (where attainable).
+- 0 to 0.98 : idle manifold pressure to rated boost (where attainable)
 - 0.99, 1.0 : takeoff boost (where attainable).
 
 A typical takeoff boost for an earlyish Merlin was about 12psi, compared
@@ -200,21 +201,21 @@ public:
   std::string GetEngineValues(const std::string delimiter);
 
   void Calculate(void);
-  double GetPowerAvailable(void) {return PowerAvailable;}
+  double GetPowerAvailable(void) const {return PowerAvailable;}
   double CalcFuelNeed(void);
 
   void ResetToIC(void);
   void SetMagnetos(int magnetos) {Magnetos = magnetos;}
 
-  double  GetEGT(void) { return EGT_degC; }
-  int GetMagnetos(void) {return Magnetos;}
+  double  GetEGT(void) const { return EGT_degC; }
+  int GetMagnetos(void) const {return Magnetos;}
 
-  double getExhaustGasTemp_degF(void) {return KelvinToFahrenheit(ExhaustGasTemp_degK);}
+  double getExhaustGasTemp_degF(void) const {return KelvinToFahrenheit(ExhaustGasTemp_degK);}
   double getManifoldPressure_inHg(void) const {return ManifoldPressure_inHg;}
-  double getCylinderHeadTemp_degF(void) {return KelvinToFahrenheit(CylinderHeadTemp_degK);}
+  double getCylinderHeadTemp_degF(void) const {return KelvinToFahrenheit(CylinderHeadTemp_degK);}
   double getOilPressure_psi(void) const {return OilPressure_psi;}
-  double getOilTemp_degF (void) {return KelvinToFahrenheit(OilTemp_degK);}
-  double getRPM(void) {return RPM;}