Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
67 changes: 31 additions & 36 deletions Orbitersdk/samples/ProjectApollo/src_launch/IUUmbilical.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -31,34 +31,29 @@ IUUmbilical::IUUmbilical(IUUmbilicalInterface *ml)
{
IuUmb = ml;
iu = NULL;
IUUmbilicalConnected = false;
}

IUUmbilical::~IUUmbilical()
{
Disconnect();
}

void IUUmbilical::Connect(IU *iu)
{
if (iu)
{
this->iu = iu;
iu->ConnectUmbilical(this);
IUUmbilicalConnected = true;
iu->IuUmb = this;
}
this->iu = iu;
}

void IUUmbilical::Disconnect()
{
if (!IUUmbilicalConnected) return;

iu->DisconnectUmbilical();
IUUmbilicalConnected = false;
}

void IUUmbilical::AbortDisconnect()
{
IUUmbilicalConnected = false;
if (iu)
{
iu->IuUmb = NULL;
iu = NULL;
}
}

bool IUUmbilical::ESEGetCommandVehicleLiftoffIndicationInhibit()
Expand Down Expand Up @@ -153,161 +148,161 @@ bool IUUmbilical::ESEGetEDSLVCutoffSimulate(int n)

void IUUmbilical::SetEDSLiftoffEnableA()
{
if (!IUUmbilicalConnected) return;
if (!iu) return;

iu->GetEDS()->SetEDSLiftoffEnableA();
}

void IUUmbilical::SetEDSLiftoffEnableB()
{
if (!IUUmbilicalConnected) return;
if (!iu) return;

iu->GetEDS()->SetEDSLiftoffEnableB();
}

void IUUmbilical::EDSLiftoffEnableReset()
{
if (!IUUmbilicalConnected) return;
if (!iu) return;

iu->GetEDS()->LiftoffEnableReset();
}

void IUUmbilical::SwitchFCCPowerOn()
{
if (!IUUmbilicalConnected) return;
if (!iu) return;

iu->GetControlDistributor()->SetFCCPower(true);
}

void IUUmbilical::SwitchFCCPowerOff()
{
if (!IUUmbilicalConnected) return;
if (!iu) return;

iu->GetControlDistributor()->SetFCCPower(false);
}

void IUUmbilical::SwitchQBallPowerOn()
{
if (!IUUmbilicalConnected) return;
if (!iu) return;

iu->GetControlDistributor()->SetQBallPower(true);
}

void IUUmbilical::SwitchQBallPowerOff()
{
if (!IUUmbilicalConnected) return;
if (!iu) return;

iu->GetControlDistributor()->SetQBallPower(false);
}

bool IUUmbilical::AllSIEnginesRunning()
{
if (!IUUmbilicalConnected) return false;
if (!iu) return false;

return iu->GetEDS()->GetAllSIEnginesRunning();
}

bool IUUmbilical::IsEDSUnsafeA()
{
if (!IUUmbilicalConnected) return false;
if (!iu) return false;

return iu->GetEDS()->IsEDSUnsafeA();
}

bool IUUmbilical::IsEDSUnsafeB()
{
if (!IUUmbilicalConnected) return false;
if (!iu) return false;

return iu->GetEDS()->IsEDSUnsafeB();
}

bool IUUmbilical::GetEDSSCCutoff1()
{
if (!IUUmbilicalConnected) return false;
if (!iu) return false;

return iu->GetEDS()->GetLVEnginesCutoffFromSC1();
}

bool IUUmbilical::GetEDSSCCutoff2()
{
if (!IUUmbilicalConnected) return false;
if (!iu) return false;

return iu->GetEDS()->GetLVEnginesCutoffFromSC2();
}

bool IUUmbilical::GetEDSSCCutoff3()
{
if (!IUUmbilicalConnected) return false;
if (!iu) return false;

return iu->GetEDS()->GetLVEnginesCutoffFromSC3();
}

bool IUUmbilical::GetEDSAutoAbortBus()
{
if (!IUUmbilicalConnected) return false;
if (!iu) return false;

return iu->GetEDS()->GetAutoAbort();
}

bool IUUmbilical::GetEDSExcessiveRollRateIndication()
{
if (!IUUmbilicalConnected) return false;
if (!iu) return false;

return iu->GetEDS()->GetExcessiveRollRateIndication();
}

bool IUUmbilical::GetEDSExcessivePitchYawRateIndication()
{
if (!IUUmbilicalConnected) return false;
if (!iu) return false;

return iu->GetEDS()->GetExcessivePitchYawRateIndication();
}

bool IUUmbilical::GetLVDCOutputRegisterDiscrete(int bit)
{
if (!IUUmbilicalConnected) return false;
if (!iu) return false;

return iu->GetLVDA()->GetOutputRegisterBit(bit);
}

bool IUUmbilical::FCCPowerIsOn()
{
if (!IUUmbilicalConnected) return false;
if (!iu) return false;

return iu->GetControlDistributor()->GetFCCPowerOn();
}

void IUUmbilical::SetControlSignalProcessorPower(bool set)
{
if (!IUUmbilicalConnected) return;
if (!iu) return;

iu->GetControlDistributor()->SetControlSignalProcessorPowerOn(set);
}

void IUUmbilical::EDSGroupNo1Reset()
{
if (!IUUmbilicalConnected) return;
if (!iu) return;

iu->GetControlDistributor()->ResetBus1();
}

void IUUmbilical::EDSGroupNo2Reset()
{
if (!IUUmbilicalConnected) return;
if (!iu) return;

iu->GetControlDistributor()->ResetBus2();
}

void IUUmbilical::SwitchSelector(int stage, int channel)
{
if (!IUUmbilicalConnected) return;
if (!iu) return;

iu->GetControlDistributor()->SwitchSelector(stage, channel);
}

void IUUmbilical::LVDCPrepareToLaunch()
{
if (!IUUmbilicalConnected) return;
if (!iu) return;

iu->GetLVDA()->PrepareToLaunch();
}
9 changes: 2 additions & 7 deletions Orbitersdk/samples/ProjectApollo/src_launch/IUUmbilical.h
Original file line number Diff line number Diff line change
Expand Up @@ -33,12 +33,8 @@ class IUUmbilical
IUUmbilical(IUUmbilicalInterface *ml);
~IUUmbilical();

bool IsIUUmbilicalConnected() { return IUUmbilicalConnected; }

void Connect(IU* iu);
void Disconnect();
//Called by IU during a pad abort. Technically doesn't disconnect IU umbilical
virtual void AbortDisconnect();

//From ML to SLV
void SetEDSLiftoffEnableA();
Expand Down Expand Up @@ -84,9 +80,8 @@ class IUUmbilical
virtual bool ESEGetQBallSimulateCmd();
virtual bool ESEGetEDSAutoAbortSimulate(int n);
virtual bool ESEGetEDSLVCutoffSimulate(int n);
protected:

IU* iu;
protected:
IUUmbilicalInterface* IuUmb;

bool IUUmbilicalConnected;
};
21 changes: 11 additions & 10 deletions Orbitersdk/samples/ProjectApollo/src_launch/SCMUmbilical.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -34,43 +34,44 @@ SCMUmbilical::SCMUmbilical(TailUmbilicalInterface *ml) : TailUmbilical(ml)

SCMUmbilical::~SCMUmbilical()
{
Disconnect();
}

void SCMUmbilical::Connect(SIBSystems *sib)
{
if (sib)
{
this->sib = sib;
sib->ConnectUmbilical(this);
UmbilicalConnected = true;
sib->SCMUmb = this;
}
this->sib = sib;
}

void SCMUmbilical::Disconnect()
{
if (!UmbilicalConnected) return;

sib->DisconnectUmbilical();
UmbilicalConnected = false;
if (sib)
{
sib->SCMUmb = NULL;
sib = NULL;
}
}

bool SCMUmbilical::SIStageLogicCutoff()
{
if (!UmbilicalConnected) return false;
if (!sib) return false;

return sib->GetEngineStop();
}

void SCMUmbilical::SetEngineStart(int eng)
{
if (!UmbilicalConnected) return;
if (!sib) return;

sib->SetEngineStart(eng);
}

void SCMUmbilical::SIGSECutoff(bool cut)
{
if (!UmbilicalConnected) return;
if (!sib) return;

sib->GSEEnginesCutoff(cut);
}
4 changes: 1 addition & 3 deletions Orbitersdk/samples/ProjectApollo/src_launch/SCMUmbilical.h
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,6 @@ class SCMUmbilical : public TailUmbilical
SCMUmbilical(TailUmbilicalInterface *ml);
~SCMUmbilical();

bool IsUmbilicalConnected() { return UmbilicalConnected; }

void Connect(SIBSystems* sic);
void Disconnect();

Expand All @@ -44,6 +42,6 @@ class SCMUmbilical : public TailUmbilical
void SetEngineStart(int eng);
void SIGSECutoff(bool cut);

protected:
SIBSystems* sib;
protected:
};
21 changes: 11 additions & 10 deletions Orbitersdk/samples/ProjectApollo/src_launch/TSMUmbilical.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -34,43 +34,44 @@ TSMUmbilical::TSMUmbilical(TailUmbilicalInterface *ml) : TailUmbilical(ml)

TSMUmbilical::~TSMUmbilical()
{
Disconnect();
}

void TSMUmbilical::Connect(SICSystems *sic)
{
if (sic)
{
this->sic = sic;
sic->ConnectUmbilical(this);
UmbilicalConnected = true;
sic->TSMUmb = this;
}
this->sic = sic;
}

void TSMUmbilical::Disconnect()
{
if (!UmbilicalConnected) return;

sic->DisconnectUmbilical();
UmbilicalConnected = false;
if (sic)
{
sic->TSMUmb = NULL;
sic = NULL;
}
}

bool TSMUmbilical::SIStageLogicCutoff()
{
if (!UmbilicalConnected) return false;
if (!sic) return false;

return sic->GetEngineStop();
}

void TSMUmbilical::SetEngineStart(int eng)
{
if (!UmbilicalConnected) return;
if (!sic) return;

sic->SetEngineStart(eng);
}

void TSMUmbilical::SIGSECutoff(bool cut)
{
if (!UmbilicalConnected) return;
if (!sic) return;

sic->GSEEnginesCutoff(cut);
}
Loading