Project 2 - Implement the Code for controlling the retraction and extension of Airplane’s landing gear
Project:2
Ans.
#include<stdio.h>
#include<conio.h>
Typedef enum
{
Gear_Down_state
Checking_before_Take_off_Delay_3s_state,
Raising_Gear_state,
Gear_up_state,
Lowering_Gear_state,
}
eSystem state;
typedef enum
{
Cheking_before_takeoff_delay_3s_event,
Raising_gear_Event,
Gear_up_event,
Ckecking_before_landing_Event,
Lowering_gear_Event,
}esystem event;
eSystemstate loweringgearEventHandler(Void)
}
Return_gear_Down_State
}esystemstate CheckingbeforelandingHandler(void)
{
Return_lowering_gear_state;
}
eSystemstate GearHandier(void)
{
Return_Gear_up_state
}
eSystemstate RaisingHandier(void)
{
Return_Raising_Gear_State
}
Esystemstate Checkingbeforetakeoff delay3s Handler(void)
{
Return_Gear_Down_state
}
Int main(intargc,char*argv[])
{
Esystemstate enextstate=Gaer_Down_state;
System Event eNewEvent;
While(1)
{
Switch(eNextstate)
{
Case Gear_Down_state;
{
If (checking_before_takeoff_delay_3s_event==eNewEvent)
{
eNextstate=LoweringgeareventHandler();
}
}
Break;
Case chacking_before_take_off_delay_3s_state;
{
If (Raising_Gear_Event==eNewEvent)
{
Enextstate =RaisinggearHandler();
}
}
Break;
Case Raising_Gear_State;
{
If(Gear_up_Event==eNewEvent)
{
eNextstate=GearupHandler();
}
}
Break;
Case Gear_up_state;
{
If (checking_before_landing_event==enew Event)
{
eNextEvent =chackingbeforelandingHandler();
}
}
Break;
Case Lowering_Gear_state;
{
If(Lowering_Gear_Event ==eNewEvent)
{
eNextstate =LoweringgeareventHandler();
}
}
break;
default;
break;
}
}
}