Project 2 - Implement the Code for controlling the retraction and extension of Airplane’s landing gear
Project - 2 :
#include<stdio.h>
#include<math.h>
typedef enum
{
GEAR_DOWN = 0,WTG_FOR_TKOFF,
RAISING_GEAR,LOWERING_GEAR,
GEAR_UP
}State_type;
void(*state_table[])={GEAR_DOWN=0,WTG_FOR_TKOFF,RAISING_GEAR,GEAR_UP,LOWERING_GEAR};
State_type curr_state;
int
gear_lever,up,down,made,prev_ger_lever,timer,squat_switch,nosegear_is_up,leftgear_is_up,rightgear_is_up,Wtg_for_TKOFF;
int main()
{
int initialize,State_table;
initialize();
while(1)
{
State_table[curr_state]();
DecrementTimer();
}
};
void initialize()
{
int timer;
curr_state = GEAR_DOWN;
timer = 0.0;
}
void Geardown()
{
int prev_gear_lever,DOWN;
if((gear_lever==up)&&(prev_gear_lever==DOWN)&&(squat_switch==up))
{
timer=2.0;
curr_state=Wtg_for_TKOFF;
};
prev_gear_lever==gear_lever;
}
void RaisingGear()
{
int Curr_state,MADE,DOWN;
if((nosegear_is_up==MADE)&&(leftgear_is_up==MADE)&&(rightgear_is_up==MADE))
{
Curr_state=GEAR_UP;
}
if(gear_lever==DOWN)
{
curr_state=LOWERING_GEAR;
};
}
void wtgfortakeoff()
{
int prev_gear_lever;
if(timer>=0.0)
{
curr_state=RAISING_GEAR;
};
}
if((squat_switch==DOWN)||(gear_lever==DOWN))
{
timer=2.0;
curr_state=GEAR_DOWN;
prev_gear_lever=DOWN;
};
void LoweringGear()
{
int nosegear_is_down,leftgear_is_down,rightgear_is_down,MADE,UP;
nosegear_is_down,leftgear_is_down,rightgear_is_down;
if(gear_lever==UP)
{
curr_state=RAISING_GEAR;
};
if((nosegear_is_down==MADE)&&(leftgear_is_down==MADE)&&(rightgear_is_down==MADE))
{
curr_state=GEAR_DOWN;
};
}