Exemple #1
0
    def __init__(self, fdmexec, update_rate=250.0):
        self.mu = 100.0
        self.sigma = 10.0

        self._atmosphere = Atmosphere(fdmexec)

        super(PressureSensor, self).__init__(fdmexec, update_rate)
Exemple #2
0
    def test_get_atmospheric_data(self):
        huginn_data_path = configuration.get_data_path()

        fdm_builder = FDMBuilder(huginn_data_path)
        fdmexec = fdm_builder.create_fdm()

        atmosphere = Atmosphere(fdmexec)

        self.assertAlmostEqual(
            atmosphere.pressure,
            convert_jsbsim_pressure(fdmexec.GetAtmosphere().GetPressure()), 3)

        self.assertAlmostEqual(
            atmosphere.sea_level_pressure,
            convert_jsbsim_pressure(fdmexec.GetAtmosphere().GetPressureSL()),
            3)

        self.assertAlmostEqual(
            atmosphere.temperature,
            convert_jsbsim_temperature(
                fdmexec.GetAtmosphere().GetTemperature()), 3)

        self.assertAlmostEqual(
            atmosphere.sea_level_temperature,
            convert_jsbsim_temperature(
                fdmexec.GetAtmosphere().GetTemperatureSL()), 3)

        self.assertAlmostEqual(
            atmosphere.density,
            convert_jsbsim_density(fdmexec.GetAtmosphere().GetDensity()), 3)

        self.assertAlmostEqual(
            atmosphere.sea_level_density,
            convert_jsbsim_density(fdmexec.GetAtmosphere().GetDensitySL()), 3)
Exemple #3
0
    def __init__(self, fdmexec, update_rate=50.0):
        self.mu = 0.1
        self.sigma = 0.5

        self._atmosphere = Atmosphere(fdmexec)

        super(Thermometer, self).__init__(fdmexec, update_rate)
Exemple #4
0
    def __init__(self, fdmexec):
        """Create a new AirspeedIndicator object

        Arguments:
        fdmexec: a JSBSim FGFDMExec object
        """
        self.fdmexec = fdmexec
        self._atmosphere = Atmosphere(fdmexec)
Exemple #5
0
    def __init__(self, fdmexec):
        """Create a new Altimeter object

        Arguments:
        fdmexec: A JSBSim FGFDMExec object
        """
        self.fdmexec = fdmexec
        self._atmosphere = Atmosphere(fdmexec)
        self._pressure = 29.92130302799185 * ur.in_Hg
Exemple #6
0
    def __init__(self, fdmexec):
        """Create a new AtmosphereResource object

        Arguments:
        fdmexec: a jsbsim FGFDMExec object
        """
        self.fdmexec = fdmexec
        self.atmosphere = Atmosphere(fdmexec)
        self.atmosphere_schema = AtmosphereShema()

        super(AtmosphereResource, self).__init__(self.atmosphere,
                                                 self.atmosphere_schema)
Exemple #7
0
    def test_get_atmospheric_data(self):
        huginn_data_path = configuration.get_data_path()

        fdm_builder = FDMBuilder(huginn_data_path)
        fdmexec = fdm_builder.create_fdm()

        atmosphere_resource = AtmosphereResource(fdmexec)

        response = atmosphere_resource.get()

        atmosphere = Atmosphere(fdmexec)

        self.assertAlmostEqual(response["pressure"], atmosphere.pressure, 3)
        self.assertAlmostEqual(response["sea_level_pressure"], atmosphere.sea_level_pressure, 3)
        self.assertAlmostEqual(response["temperature"], atmosphere.temperature, 3)
        self.assertAlmostEqual(response["sea_level_temperature"], atmosphere.sea_level_temperature, 3)
        self.assertAlmostEqual(response["density"], atmosphere.density, 3)
        self.assertAlmostEqual(response["sea_level_density"], atmosphere.sea_level_density, 3)
Exemple #8
0
    def test_airspeed(self):
        huginn_data_path = configuration.get_data_path()

        fdm_builder = FDMBuilder(huginn_data_path)
        fdmexec = fdm_builder.create_fdm()

        airspeed_indicator = AirspeedIndicator(fdmexec)

        total_pressure = fdmexec.GetAuxiliary().GetTotalPressure()

        total_pressure = convert_jsbsim_pressure(total_pressure)

        atmosphere = Atmosphere(fdmexec)

        expected_airspeed = true_airspeed(total_pressure, atmosphere.pressure,
                                          atmosphere.temperature)

        self.assertAlmostEqual(airspeed_indicator.airspeed, expected_airspeed,
                               3)
Exemple #9
0
    def test_altitude(self):
        huginn_data_path = configuration.get_data_path()

        fdm_builder = FDMBuilder(huginn_data_path)
        fdmexec = fdm_builder.create_fdm()

        altimeter = Altimeter(fdmexec)

        atmosphere = Atmosphere(fdmexec)

        expected_altitude = pressure_altitude(atmosphere.sea_level_pressure,
                                              atmosphere.pressure,
                                              atmosphere.temperature)

        calculated_altitude = altimeter.altitude * ur.foot
        calculated_altitude.ito(ur.meter)

        self.assertAlmostEqual(calculated_altitude.magnitude,
                               expected_altitude, 3)