From: curt Date: Thu, 29 May 1997 02:29:42 +0000 (+0000) Subject: Moved to their own directory. X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=53fb6ed2b3791a3c3e0ee7b17c033c2d406be67b;p=flightgear.git Moved to their own directory. --- diff --git a/Slew/Makefile b/Slew/Makefile new file mode 100644 index 000000000..0ef289bf6 --- /dev/null +++ b/Slew/Makefile @@ -0,0 +1,74 @@ +#--------------------------------------------------------------------------- +# Makefile +# +# Written by Curtis Olson, started May 1997. +# +# Copyright (C) 1997 Curtis L. Olson - curt@infoplane.com +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +# +# $Id$ +# (Log is kept at end of this file) +#--------------------------------------------------------------------------- + + +TARGET=libslew.a + +CFILES = slew.c +OFILES = $(CFILES:.c=.o) + +CC = gcc +CFLAGS = -g -Wall +# CFLAGS = -O2 -Wall + +AR = ar + +INCLUDES = + +LIBS = + + +#--------------------------------------------------------------------------- +# Primary Targets +#--------------------------------------------------------------------------- + +$(TARGET): $(OFILES) + $(AR) rv $(TARGET) $(OFILES) + +all: $(TARGET) + +clean: + rm -f *.o $(TARGET) *~ core + + +#--------------------------------------------------------------------------- +# Secondary Targets +#--------------------------------------------------------------------------- + +slew.o: slew.c slew.h ../../aircraft/aircraft.h ../../controls/controls.h + $(CC) $(CFLAGS) $(INCLUDES) -c slew.c + + +#--------------------------------------------------------------------------- +# $Log$ +# Revision 1.1 1997/05/29 02:29:42 curt +# Moved to their own directory. +# +# Revision 1.2 1997/05/23 15:40:36 curt +# Added GNU copyright headers. +# +# Revision 1.1 1997/05/16 16:04:44 curt +# Initial revision. +# diff --git a/Slew/slew.c b/Slew/slew.c new file mode 100644 index 000000000..e548a3982 --- /dev/null +++ b/Slew/slew.c @@ -0,0 +1,98 @@ +/************************************************************************** + * slew.c -- the "slew" flight model + * + * Written by Curtis Olson, started May 1997. + * + * Copyright (C) 1997 Curtis L. Olson - curt@infoplane.com + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * $Id$ + * (Log is kept at end of this file) + **************************************************************************/ + + +#include + +#include "slew.h" +#include "../flight.h" +#include "../../aircraft/aircraft.h" +#include "../../controls/controls.h" + + +#ifndef PI2 +#define PI2 (M_PI + M_PI) +#endif + + +/* reset flight params to a specific position */ +void fgSlewInit(double pos_x, double pos_y, double pos_z, double heading) { + struct flight_params *f; + + f = ¤t_aircraft.flight; + + f->pos_x = pos_x; + f->pos_y = pos_y; + f->pos_z = pos_z; + + f->vel_x = 0.0; + f->vel_y = 0.0; + f->vel_z = 0.0; + + f->Phi = 0.0; + f->Theta = 0.0; + f->Psi = 0.0; + + f->vel_Phi = 0.0; + f->vel_Theta = 0.0; + f->vel_Psi = 0.0; + + f->Psi = heading; +} + + +/* update position based on inputs, positions, velocities, etc. */ +void fgSlewUpdate() { + struct flight_params *f; + struct control_params *c; + + f = ¤t_aircraft.flight; + c = ¤t_aircraft.controls; + + f->Psi += c->aileron; + if ( f->Psi > PI2 ) { + f->Psi -= PI2; + } else if ( f->Psi < 0 ) { + f->Psi += PI2; + } + + f->vel_x = -c->elev; + + f->pos_x = f->pos_x + (cos(f->Psi) * f->vel_x); + f->pos_y = f->pos_y + (sin(f->Psi) * f->vel_x); +} + + +/* $Log$ +/* Revision 1.1 1997/05/29 02:29:42 curt +/* Moved to their own directory. +/* + * Revision 1.2 1997/05/23 15:40:37 curt + * Added GNU copyright headers. + * + * Revision 1.1 1997/05/16 16:04:45 curt + * Initial revision. + * + */ diff --git a/Slew/slew.h b/Slew/slew.h new file mode 100644 index 000000000..ffc76d315 --- /dev/null +++ b/Slew/slew.h @@ -0,0 +1,51 @@ +/************************************************************************** + * slew.h -- the "slew" flight model + * + * Written by Curtis Olson, started May 1997. + * + * Copyright (C) 1997 Curtis L. Olson - curt@infoplane.com + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + * + * $Id$ + * (Log is kept at end of this file) + **************************************************************************/ + + +#ifndef SLEW_H +#define SLEW_H + + +/* reset flight params to a specific position */ +void fgSlewInit(double pos_x, double pos_y, double pos_z, double heading); + +/* update position based on inputs, positions, velocities, etc. */ +void fgSlewUpdate(); + + +#endif SLEW_H + + +/* $Log$ +/* Revision 1.1 1997/05/29 02:29:43 curt +/* Moved to their own directory. +/* + * Revision 1.2 1997/05/23 15:40:38 curt + * Added GNU copyright headers. + * + * Revision 1.1 1997/05/16 16:04:46 curt + * Initial revision. + * + */