#include <stdio.h>
#include <stdlib.h>
#include <math.h>

#ifndef __THRUST_CURVES_H
	#define __THRUST_CURVES_H

enum THURSTER_MODE { OLDMODE = 1, PASSTHRU, REVERSAL };	
enum LOOKUP_TABLE_SELECT { L_FOREAFT = 1, L_TURNS, L_LATERAL, L_VERTICAL};

extern float 	pilotDeadBand(float V_j, float VMAX, float DB);
extern float 	summation(float V_c, float V_jdb);
extern float 	limiter(float V_s, float VMAX);
extern float 	nonlinearMapping(float V_l, float VMAX, float ST, int Nlmode,
		       		 float KF1, float KF2, int whichThruster);
extern float 	nl(float V_l, float KF1, float VMAX, float KF2);
extern float 	int2float(int intVolt);
extern int 	binsearch(float x, float v[], int n);
extern float 	nlInverse(float V_l, int whichLookupTable);
extern void 	initializeLookupTable(int l, float KF1, float VMAX, float KF2,
				      float DB, float ST);
extern float 	sign(float v);

#endif

/*
float VMAX = 5.00;
float KF1;
float KF2;
float DB;
float ST;
*/
