mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-03-22 15:05:03 +01:00
additional train state data exposed to uart interface, minor bug fixes
This commit is contained in:
54
Driver.cpp
54
Driver.cpp
@@ -1651,39 +1651,25 @@ TController::~TController()
|
||||
CloseLog();
|
||||
};
|
||||
|
||||
std::string TController::Order2Str(TOrders Order) const
|
||||
{ // zamiana kodu rozkazu na opis
|
||||
if (Order & Change_direction)
|
||||
return "Change_direction"; // może być nałożona na inną i wtedy ma priorytet
|
||||
if (Order == Wait_for_orders)
|
||||
return "Wait_for_orders";
|
||||
if (Order == Prepare_engine)
|
||||
return "Prepare_engine";
|
||||
if (Order == Shunt)
|
||||
return "Shunt";
|
||||
if (Order == Connect)
|
||||
return "Connect";
|
||||
if (Order == Disconnect)
|
||||
return "Disconnect";
|
||||
if (Order == Obey_train)
|
||||
return "Obey_train";
|
||||
if (Order == Release_engine)
|
||||
return "Release_engine";
|
||||
if (Order == Jump_to_first_order)
|
||||
return "Jump_to_first_order";
|
||||
/* Ra: wersja ze switch nie działa prawidłowo (czemu?)
|
||||
switch (Order)
|
||||
{
|
||||
Wait_for_orders: return "Wait_for_orders";
|
||||
Prepare_engine: return "Prepare_engine";
|
||||
Shunt: return "Shunt";
|
||||
Change_direction: return "Change_direction";
|
||||
Obey_train: return "Obey_train";
|
||||
Release_engine: return "Release_engine";
|
||||
Jump_to_first_order: return "Jump_to_first_order";
|
||||
}
|
||||
*/
|
||||
return "Undefined!";
|
||||
// zamiana kodu rozkazu na opis
|
||||
std::string TController::Order2Str(TOrders Order) const {
|
||||
|
||||
if( Order & Change_direction ) {
|
||||
// może być nałożona na inną i wtedy ma priorytet
|
||||
return "Change_direction";
|
||||
}
|
||||
switch( Order ) {
|
||||
case Wait_for_orders: return "Wait_for_orders";
|
||||
case Prepare_engine: return "Prepare_engine";
|
||||
case Release_engine: return "Release_engine";
|
||||
case Change_direction: return "Change_direction";
|
||||
case Connect: return "Connect";
|
||||
case Disconnect: return "Disconnect";
|
||||
case Shunt: return "Shunt";
|
||||
case Obey_train: return "Obey_train";
|
||||
case Jump_to_first_order: return "Jump_to_first_order";
|
||||
default: return "Undefined";
|
||||
}
|
||||
}
|
||||
|
||||
std::string TController::OrderCurrent() const
|
||||
@@ -5611,7 +5597,7 @@ void TController::OrderPush(TOrders NewOrder)
|
||||
if (OrderTop >= maxorders)
|
||||
ErrorLog("Commands overflow: The program will now crash");
|
||||
#if LOGORDERS
|
||||
WriteLog("--> OrderPush");
|
||||
WriteLog("--> OrderPush: [" + Order2Str( NewOrder ) + "]");
|
||||
OrdersDump(); // normalnie nie ma po co tego wypisywać
|
||||
#endif
|
||||
}
|
||||
|
||||
18
Model3d.cpp
18
Model3d.cpp
@@ -947,14 +947,16 @@ void TSubModel::RaAnimation(TAnimType a)
|
||||
case TAnimType::at_DigiClk: // animacja zegara cyfrowego
|
||||
{ // ustawienie animacji w submodelach potomnych
|
||||
TSubModel *sm = ChildGet();
|
||||
do
|
||||
{ // pętla po submodelach potomnych i obracanie ich o kąt zależy od czasu
|
||||
if (sm->pName.size())
|
||||
{ // musi mieć niepustą nazwę
|
||||
if ((sm->pName[0]) >= '0')
|
||||
if ((sm->pName[0]) <= '5') // zegarek ma 6 cyfr maksymalnie
|
||||
sm->SetRotate(float3(0, 1, 0),
|
||||
-Global.fClockAngleDeg[(sm->pName[0]) - '0']);
|
||||
do { // pętla po submodelach potomnych i obracanie ich o kąt zależy od czasu
|
||||
if( sm->pName.size() ) {
|
||||
// musi mieć niepustą nazwę
|
||||
if( ( sm->pName[ 0 ] >= '0' )
|
||||
&& ( sm->pName[ 0 ] <= '5') ) {
|
||||
// zegarek ma 6 cyfr maksymalnie
|
||||
sm->SetRotate(
|
||||
float3( 0, 1, 0 ),
|
||||
-Global.fClockAngleDeg[ sm->pName[ 0 ] - '0' ] );
|
||||
}
|
||||
}
|
||||
sm = sm->NextGet();
|
||||
} while (sm);
|
||||
|
||||
2
Names.h
2
Names.h
@@ -40,7 +40,7 @@ public:
|
||||
return false; }
|
||||
// locates item with specified name. returns pointer to the item, or nullptr
|
||||
Type_ *
|
||||
find( std::string const &Name ) {
|
||||
find( std::string const &Name ) const {
|
||||
auto lookup = m_itemmap.find( Name );
|
||||
return (
|
||||
lookup != m_itemmap.end() ?
|
||||
|
||||
@@ -596,6 +596,7 @@ TTrain::get_state() const {
|
||||
btHaslerBrakes.GetValue(),
|
||||
btHaslerCurrent.GetValue(),
|
||||
( TestFlag( mvOccupied->SecuritySystem.Status, s_CAalarm ) || TestFlag( mvOccupied->SecuritySystem.Status, s_SHPalarm ) ),
|
||||
btLampkaHVoltageB.GetValue(),
|
||||
fTachoVelocity,
|
||||
static_cast<float>( mvOccupied->Compressor ),
|
||||
static_cast<float>( mvOccupied->PipePress ),
|
||||
|
||||
1
Train.h
1
Train.h
@@ -85,6 +85,7 @@ class TTrain
|
||||
std::uint8_t recorder_braking;
|
||||
std::uint8_t recorder_power;
|
||||
std::uint8_t alerter_sound;
|
||||
std::uint8_t coupled_hv_voltage_relays;
|
||||
float velocity;
|
||||
float reservoir_pressure;
|
||||
float pipe_pressure;
|
||||
|
||||
@@ -200,7 +200,7 @@ commanddescription_sequence Commands_descriptions = {
|
||||
{ "instrumentlighttoggle", command_target::vehicle },
|
||||
{ "instrumentlightenable", command_target::vehicle },
|
||||
{ "instrumentlightdisable", command_target::vehicle },
|
||||
{ "dshboardlighttoggle", command_target::vehicle },
|
||||
{ "dashboardlighttoggle", command_target::vehicle },
|
||||
{ "timetablelighttoggle", command_target::vehicle },
|
||||
{ "generictoggle0", command_target::vehicle },
|
||||
{ "generictoggle1", command_target::vehicle },
|
||||
|
||||
@@ -348,10 +348,16 @@ void CSkyDome::RebuildColors() {
|
||||
|
||||
if( m_coloursbuffer != -1 ) {
|
||||
// the colour buffer was already initialized, so on this run we update its content
|
||||
// cache entry state
|
||||
::glPushClientAttrib( GL_CLIENT_VERTEX_ARRAY_BIT );
|
||||
// begin
|
||||
::glEnableClientState( GL_VERTEX_ARRAY );
|
||||
// update
|
||||
::glBindBuffer( GL_ARRAY_BUFFER, m_coloursbuffer );
|
||||
::glBufferSubData( GL_ARRAY_BUFFER, 0, m_colours.size() * sizeof( glm::vec3 ), m_colours.data() );
|
||||
// cleanup
|
||||
::glPopClientAttrib();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//******************************************************************************//
|
||||
|
||||
@@ -195,10 +195,10 @@ init() {
|
||||
" pantograf: %.2f%cZG",
|
||||
"Sily:\n napedna: %.1f, hamowania: %.1f, tarcie: %.2f%s\nPrzyspieszenia:\n styczne: %.2f, normalne: %.2f (promien: %s)\nPredkosc: %.2f, pokonana odleglosc: %.2f\nPozycja: [%.2f, %.2f, %.2f]",
|
||||
|
||||
"nastawnik",
|
||||
"nastawnik jazdy",
|
||||
"nastawnik dodatkowy",
|
||||
"sterowanie analogowe",
|
||||
"nastawnik jazdy",
|
||||
"nastawnik kierunku",
|
||||
"hamulec zespolony",
|
||||
"hamulec pomocniczy",
|
||||
"hamulec reczny",
|
||||
@@ -224,7 +224,7 @@ init() {
|
||||
"syrena (ton niski)",
|
||||
"syrena (ton wysoki)",
|
||||
"gwizdawka",
|
||||
"przekaznik nadmiarowy motorow trakcyjnych",
|
||||
"przekaznik nadmiarowy silnikow trakcyjnych",
|
||||
"przekaznik nadmiarowy przetwornicy",
|
||||
"styczniki liniowe",
|
||||
"drzwi lewe",
|
||||
|
||||
Reference in New Issue
Block a user