mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-07-18 03:09:18 +02:00
Add exit on bit 16 on PoKeys interface (buzzer SHP/CA).
This commit is contained in:
@@ -197,6 +197,7 @@ void Console::BitsSet(int mask, int entry)
|
|||||||
int old = iBits; // poprzednie stany
|
int old = iBits; // poprzednie stany
|
||||||
iBits |= mask;
|
iBits |= mask;
|
||||||
BitsUpdate(old ^ iBits); // 1 dla bitów zmienionych
|
BitsUpdate(old ^ iBits); // 1 dla bitów zmienionych
|
||||||
|
WriteLog("PoKeys::BitsSet: mask: " + AnsiString(mask) + " iBits: " + AnsiString(iBits));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -269,7 +270,9 @@ void Console::BitsUpdate(int mask)
|
|||||||
PoKeys55[0]->Write(0x40, 52 - 1, iBits & 0x1000 ? 1 : 0);
|
PoKeys55[0]->Write(0x40, 52 - 1, iBits & 0x1000 ? 1 : 0);
|
||||||
if (mask & 0x2000) // b13 Prąd na silnikach do odbijania w haslerze
|
if (mask & 0x2000) // b13 Prąd na silnikach do odbijania w haslerze
|
||||||
PoKeys55[0]->Write(0x40, 53 - 1, iBits & 0x2000 ? 1 : 0);
|
PoKeys55[0]->Write(0x40, 53 - 1, iBits & 0x2000 ? 1 : 0);
|
||||||
}
|
if (mask & 0x4000) // b14 Brzęczyk SHP lub CA
|
||||||
|
PoKeys55[0]->Write(0x40, 16 - 1, iBits & 0x4000 ? 1 : 0);
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
17
Train.cpp
17
Train.cpp
@@ -3763,14 +3763,20 @@ bool TTrain::Update()
|
|||||||
TestFlag(mvOccupied->SecuritySystem.Status, s_SHPalarm))
|
TestFlag(mvOccupied->SecuritySystem.Status, s_SHPalarm))
|
||||||
{
|
{
|
||||||
dsbBuzzer->GetStatus(&stat);
|
dsbBuzzer->GetStatus(&stat);
|
||||||
if (!(stat & DSBSTATUS_PLAYING))
|
if (!(stat & DSBSTATUS_PLAYING))
|
||||||
|
{
|
||||||
dsbBuzzer->Play(0, 0, DSBPLAY_LOOPING);
|
dsbBuzzer->Play(0, 0, DSBPLAY_LOOPING);
|
||||||
|
Console::BitsSet(1 << 14); // ustawienie bitu 16 na PoKeys
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
dsbBuzzer->GetStatus(&stat);
|
dsbBuzzer->GetStatus(&stat);
|
||||||
if (stat & DSBSTATUS_PLAYING)
|
if (stat & DSBSTATUS_PLAYING)
|
||||||
|
{
|
||||||
dsbBuzzer->Stop();
|
dsbBuzzer->Stop();
|
||||||
|
Console::BitsClear(1 << 14); // ustawienie bitu 16 na PoKeys
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else // wylaczone
|
else // wylaczone
|
||||||
@@ -3778,8 +3784,11 @@ bool TTrain::Update()
|
|||||||
btLampkaCzuwaka.TurnOff();
|
btLampkaCzuwaka.TurnOff();
|
||||||
btLampkaSHP.TurnOff();
|
btLampkaSHP.TurnOff();
|
||||||
dsbBuzzer->GetStatus(&stat);
|
dsbBuzzer->GetStatus(&stat);
|
||||||
if (stat & DSBSTATUS_PLAYING)
|
if (stat & DSBSTATUS_PLAYING)
|
||||||
|
{
|
||||||
dsbBuzzer->Stop();
|
dsbBuzzer->Stop();
|
||||||
|
Console::BitsClear(1 << 14); // ustawienie bitu 16 na PoKeys
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//******************************************
|
//******************************************
|
||||||
@@ -5063,6 +5072,8 @@ bool TTrain::InitializeCab(int NewCabNo, AnsiString asFileName)
|
|||||||
// ggEngageRatio.Clear();
|
// ggEngageRatio.Clear();
|
||||||
ggMainGearStatus.Clear();
|
ggMainGearStatus.Clear();
|
||||||
ggIgnitionKey.Clear();
|
ggIgnitionKey.Clear();
|
||||||
|
// Jeœli ustawiamy now¹ wartoœæ dla PoKeys wolna jest 15
|
||||||
|
// Numer 14 jest u¿ywany dla buczka SHP w innym miejscu
|
||||||
btLampkaPoslizg.Clear(6);
|
btLampkaPoslizg.Clear(6);
|
||||||
btLampkaStyczn.Clear(5);
|
btLampkaStyczn.Clear(5);
|
||||||
btLampkaNadmPrzetw.Clear(
|
btLampkaNadmPrzetw.Clear(
|
||||||
|
|||||||
Reference in New Issue
Block a user