WCM - Das österreichische Computer Magazin Forenübersicht
 

Zurück   WCM Forum > Rat & Tat > Simulationen

Simulationen Alles zum Thema Simulation

Microsoft KARRIERECAMPUS

Antwort
 
Themen-Optionen Ansicht
Alt 27.10.2004, 23:00   #11
PFlight2000
Senior Member
 
Registriert seit: 02.10.2004
Alter: 55
Beiträge: 108


PFlight2000 eine Nachricht über Yahoo! schicken
Standard

Mir persönlich würde es schon reichen, einen 'Gauge-Platzierer' zu haben, damit vorhandene Gauges in eigenen Cockpit platziert werden können ohne dass man die Werte mühsam von Hand in der Panel.cfg eingeben muss. Gibt's sowas?

Gruss und in grosser Erwartung...

Pascal
____________________________________
Setze den unerschrockensten Seemann, den kühnsten Flieger und den tapfersten Soldaten an einen Tisch, und was kommt dabei heraus? Die Summe ihrer Ängste.
Winston Churchill
PFlight2000 ist offline   Mit Zitat antworten
Alt 27.10.2004, 23:04   #12
HansHartmann
Inventar
 
Registriert seit: 12.02.2001
Alter: 57
Beiträge: 2.908


Standard

Biddesehr: www.cfgedit.com
____________________________________
Bis dann,
Hans
Digital Aviation
HansHartmann ist offline   Mit Zitat antworten
Alt 27.10.2004, 23:21   #13
PFlight2000
Senior Member
 
Registriert seit: 02.10.2004
Alter: 55
Beiträge: 108


PFlight2000 eine Nachricht über Yahoo! schicken
Standard

Hey, merci vielmal!!!

Grüässli us de Schwiiz

Pascal
____________________________________
Setze den unerschrockensten Seemann, den kühnsten Flieger und den tapfersten Soldaten an einen Tisch, und was kommt dabei heraus? Die Summe ihrer Ängste.
Winston Churchill
PFlight2000 ist offline   Mit Zitat antworten
Alt 28.10.2004, 01:19   #14
schwudde
Veteran
 
Registriert seit: 21.05.2004
Alter: 46
Beiträge: 252


schwudde eine Nachricht über ICQ schicken
Standard Re: Hmmmmmm.

Zitat:
Original geschrieben von Kamikazeflieger
Ist das sehr aufwändig Mit C Zu programmieren???
Wie Hans schon sagt, wenn es gut werden soll geht einige Zeit ins Land. Dazu kommt noch das es nicht nur mit dem programmieren getan ist. Auch mit Bildbearbeitung sollte man sich etwas auskennen (oder jemanden kennen der sich damit auskennt). Je nach Flieger kann das schon ein "Mammutprojekt" sein. Wenn man ein Team bildet kann man die Aufgaben einteilen.

Hier mal ein Beispiel. Erst der Code, danach das Ergebnis. Es ist ein relativ einfaches Gauge für die Kontrolle der Ruderfunktionen an einer 707. Man kann wohl nur erahnen welch ein Aufwand hinter solchen Projekten wie PMDG, PT TU154 oder Flight1 ATR steckt:

Code:
// Project Boeing B707 Control Surfaces Source Code
// Copyright 2004 Sven Goericke/Project Boeing.  All rights reserved.
char surfaces_gauge_name[]		= GAUGE_NAME;
extern PELEMENT_HEADER		        surfaces_list;
extern MOUSERECT			surfaces_mouse_rect[];

GAUGE_HEADER_FS700( GAUGE_W, surfaces_gauge_name, &surfaces_list, surfaces_mouse_rect, 0, 0, 0, 0 );


FLOAT64 FSAPI rudder_slider_cb( PELEMENT_SLIDER pelement )
{
	FLOAT64	val = pelement-> source_var_x.var_value.n;

	if (val > 0 && (MainBusNo1Volts < 22 || MainBusNo2Volts < 22))
		val = 0;
	else if (val < 0 && (MainBusNo1Volts < 22 || MainBusNo2Volts < 22))
		val = 0;

	return val;
}
MAKE_SLIDER(    rudder,
                SURF_RUDDER_BMP,
                NULL,
                0,
                IMAGE_USE_TRANSPARENCY | IMAGE_USE_ERASE | IMAGE_USE_LUMINOUS,
                0,
                { 98, 27 },
                OBSOLETE_RUDDER_POS, rudder_slider_cb, 0.001,
                MODULE_VAR_NONE, NULL, 0);

PELEMENT_HEADER		surfaces_list1[]=
{
	&rudder.header,
	NULL
};


FLOAT64 FSAPI elevator_slider_cb( PELEMENT_SLIDER pelement )
{
	FLOAT64	val = pelement->source_var_y.var_value.n;

	if (val > 0 && (MainBusNo1Volts < 22 || MainBusNo2Volts < 22))
		val = 0;
	else if (val < 0 && (MainBusNo1Volts < 22 || MainBusNo2Volts < 22))
		val = 0;

	return val;
}
MAKE_SLIDER(    elevator,
                SURF_ELEVATOR_BMP,
                &surfaces_list1,
                NULL,
                IMAGE_USE_TRANSPARENCY | IMAGE_USE_ERASE | IMAGE_USE_LUMINOUS,
                0,
                { 81, 146 },
                MODULE_VAR_NONE, NULL, 0,
                OBSOLETE_ELEVATOR_POS, elevator_slider_cb, -0.001 );

PELEMENT_HEADER		surfaces_list2[]=
{
	&elevator.header,
	NULL
};

NONLINEARITY  aileron_nonlinearity[] =
{
	{{0,	132},	-16200, 0},
	{{0,	54},	 16200, 0}
};
#define	aileron_MIN_pos		-16200
#define	aileron_MAX_pos		 16200
FLOAT64 FSAPI aileron_needle_cb( PELEMENT_NEEDLE pelement )
{
	FLOAT64	val = pelement->source_var.var_value.n;

	if (val > aileron_MAX_pos)
		val = aileron_MAX_pos;
	else if (val < aileron_MIN_pos)
		val = aileron_MIN_pos;
	else if (val > 0 && (MainBusNo1Volts < 22 || MainBusNo2Volts < 22))
		val = 0;
	else if (val < 0 && (MainBusNo1Volts < 22 || MainBusNo2Volts < 22))
		val = 0;

	return val;
}

MAKE_NEEDLE(	aileron,
				SURF_AILERON_BMP,
				&surfaces_list2,
				NULL,
				IMAGE_USE_TRANSPARENCY | IMAGE_USE_ERASE | IMAGE_USE_LUMINOUS,
				0,
				{99, 94},
				{52, 2},
				OBSOLETE_AILERON_POS,
				aileron_needle_cb,
				aileron_nonlinearity,
				6 )

PELEMENT_HEADER		surfaces_list3[]=
{
	&aileron.header,
	NULL
};


MAKE_STATIC(	surf_background,
				SURF_BG_BMP,
				&surfaces_list3,
				NULL,
				IMAGE_USE_TRANSPARENCY | IMAGE_USE_LUMINOUS,
				0,
				{0, 0} )

PELEMENT_HEADER		surfaces_list	= 	&surf_background.header;

MOUSE_BEGIN( surfaces_mouse_rect, HELP_NONE, 0, 0 )
    MOUSE_PARENT( 73,21,54,44, HELPID_GAUGE_YAW_TRIM)
    MOUSE_PARENT( 46,65,107,54, HELPID_GAUGE_ROLL_TRIM)
    MOUSE_PARENT( 76,119,47,58, HELPID_GAUGE_PITCH_TRIM)
MOUSE_END
/////////////////////////////////////////////////////////////////////////////
#undef GAUGE_NAME
#undef GAUGEHDR_VAR_NAME
#undef GAUGE_W
So sieht das dann im FS aus (ich bin nicht der Bildbearbeitungsprofi, das macht jemand anders ):


Hier mal ein EPR-Gauge Hintergrund-Bitmap was mein "Kumpane" schon nachbearbeitet hat:


Dabei steht noch nicht fest ob der Code so bleibt. Das Gauge funktioniert zwar. Nur steht noch nicht fest ob evtl. noch Abhängigkeiten zu anderen Systemen implementiert werden müssen. Es ist also auch wichtig das man sich gute Informationen über das jeweilige Flugzeug organisiert. Danach noch überlegen was man wie im FS umsetzen kann/möchte. Ich denke aber die meiste Zeit nehmen die Tests in Anspruch wenn es darum geht die Funktionen mit dem realen Vorbild zu vergleichen und Fehler allgemein auszumerzen.

Viele Grüße
____________________________________
Sven
http://online.vatsimindicators.net/871844/3.png
schwudde ist offline   Mit Zitat antworten
Alt 28.10.2004, 17:08   #15
schwudde
Veteran
 
Registriert seit: 21.05.2004
Alter: 46
Beiträge: 252


schwudde eine Nachricht über ICQ schicken
Standard

Kleiner Nachtrag :

Wie ich heute so mit der Straßenbahn unterwegs bin mache ich mir so meine Gedanken und da fällt mir doch tatsächlich noch etwas zu oberem Gauge ein: zumindest ein Parameter fehlt noch. Die Ruder eines Airliners funktionieren für gewöhnlich hydraulisch. Das Gauge funktioniert im Moment allerdings schon wenn elektrischer Strom fließt da nur eine Abfrage nach der Spannung stattfindet:

Code:

if (val > 0 && (MainBusNo1Volts < 22 || MainBusNo2Volts < 22))
		val = 0;
	else if (val < 0 && (MainBusNo1Volts < 22 || MainBusNo2Volts < 22))
		val = 0;
.

Das ist also nicht ganz korrekt denn nur mit Strom allein bewegen sich die Ruder noch nicht. Ergo muß ich noch eine Abfrage nach dem Hydraulikdruck implementieren, womöglich noch jedes Hydrauliksystem einzeln.

Das nur zur Info für diejenigen die interessiert was "hinter den Gauges" passiert

Viele Grüße

Edit: auf diesem Weg ist das auch nicht korrekt. Eine Abfrage des Hydraulikdruckes ist m.E. überflüssig-der FS bewegt die Ruder momentan ja trotzdem. Also muß man dem FS beibringen das er die Ruder nicht zu bewegen hat solange der Hydraulikdruck nicht ausreicht. Demzufolge sollte der bisherige Code stimmen da er ja die Position der Ruder abfragt...

Ich glaub ich kauf mir eine Monatskarte für die Straßenbahn .
____________________________________
Sven
http://online.vatsimindicators.net/871844/3.png
schwudde ist offline   Mit Zitat antworten
Alt 28.10.2004, 20:01   #16
Kamikazeflieger
Jr. Member
 
Registriert seit: 20.01.2003
Alter: 36
Beiträge: 39


Standard

Die sehen Ja Klasse aus.....


.... Aber ich habe ja schon probleme mie einfachen QBasic programmen......




MFG,jan
____________________________________
Immer auf die kleinen
Kamikazeflieger ist offline   Mit Zitat antworten
Alt 28.10.2004, 20:29   #17
schwudde
Veteran
 
Registriert seit: 21.05.2004
Alter: 46
Beiträge: 252


schwudde eine Nachricht über ICQ schicken
Standard

Zitat:
Original geschrieben von Kamikazeflieger
.... Aber ich habe ja schon probleme mie einfachen QBasic programmen......
Schau mal hier:
http://www.schellong.de/c.htm

Viele Grüße
____________________________________
Sven
http://online.vatsimindicators.net/871844/3.png
schwudde ist offline   Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 13:29 Uhr.


Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Forum SEO by Zoints
© 2009 FSL Verlag