mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-07-22 17:29:18 +02:00
Poprawka dla MWD aby kompilował się na VS
This commit is contained in:
1503
Console/MWD.cpp
1503
Console/MWD.cpp
File diff suppressed because it is too large
Load Diff
218
Console/MWD.h
218
Console/MWD.h
@@ -1,111 +1,107 @@
|
|||||||
/*
|
/*
|
||||||
This Source Code Form is subject to the
|
This Source Code Form is subject to the
|
||||||
terms of the Mozilla Public License, v.
|
terms of the Mozilla Public License, v.
|
||||||
2.0. If a copy of the MPL was not
|
2.0. If a copy of the MPL was not
|
||||||
distributed with this file, You can
|
distributed with this file, You can
|
||||||
obtain one at
|
obtain one at
|
||||||
http://mozilla.org/MPL/2.0/.
|
http://mozilla.org/MPL/2.0/.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Program obsługi portu COM i innych na potrzeby sterownika MWDevice
|
Program obsługi portu COM i innych na potrzeby sterownika MWDevice
|
||||||
(oraz innych wykorzystujących komunikację przez port COM)
|
(oraz innych wykorzystujących komunikację przez port COM)
|
||||||
dla Symulatora Pojazdów Szynowych MaSzyna
|
dla Symulatora Pojazdów Szynowych MaSzyna
|
||||||
author: Maciej Witek 2016
|
author: Maciej Witek 2016
|
||||||
Autor nie ponosi odpowiedzialności za niewłaciwe używanie lub działanie programu!
|
Autor nie ponosi odpowiedzialności za niewłaciwe używanie lub działanie programu!
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#ifndef MWDH
|
||||||
#ifndef MWDH
|
#define MWDH
|
||||||
#define MWDH
|
//---------------------------------------------------------------------------
|
||||||
//---------------------------------------------------------------------------
|
|
||||||
|
typedef unsigned char BYTE;
|
||||||
typedef unsigned char BYTE;
|
typedef unsigned long DWORD;
|
||||||
typedef unsigned long DWORD;
|
|
||||||
|
class MWDComm
|
||||||
class MWDComm
|
{
|
||||||
{
|
private:
|
||||||
private:
|
int MWDTime; //
|
||||||
int MWDTime; //
|
char lastStateData[6], maskData[6], maskSwitch[6], bitSwitch[6];
|
||||||
char lastStateData[6], maskData[6],maskSwitch[6], bitSwitch[6];
|
int bocznik, nastawnik, kierunek;
|
||||||
int bocznik, nastawnik, kierunek;
|
char bnkMask;
|
||||||
char bnkMask;
|
|
||||||
|
bool ReadData(); // BYTE *pReadDataBuff);
|
||||||
bool ReadData(); //BYTE *pReadDataBuff);
|
bool SendData(); // BYTE *pWriteDataBuff);
|
||||||
bool SendData(); //BYTE *pWriteDataBuff);
|
void CheckData(); // sprawdzanie zmian wejść i kontrola mazaków HASLERA
|
||||||
bool CheckData(); //sprawdzanie zmian wejść i kontrola mazaków HASLERA
|
void KeyBoard(int key, bool s);
|
||||||
void KeyBoard(int key, bool s);
|
|
||||||
|
bool bRysik1H;
|
||||||
bool bRysik1H;
|
bool bRysik1L;
|
||||||
bool bRysik1L;
|
bool bRysik2H;
|
||||||
bool bRysik2H;
|
bool bRysik2L;
|
||||||
bool bRysik2L;
|
|
||||||
|
public:
|
||||||
public:
|
bool Open(); // Otwarcie portu
|
||||||
bool Open(); // Otwarcie portu
|
bool Close(); // Zamknięcie portu
|
||||||
bool Close(); // Zamknięcie portu
|
bool Run(); // Obsługa portu
|
||||||
bool Run(); // Obsługa portu
|
bool GetMWDState(); // sprawdź czy port jest otwarty, 0 zamknięty, 1 otwarty
|
||||||
bool GetMWDState(); // sprawdź czy port jest otwarty, 0 zamknięty, 1 otwarty
|
|
||||||
|
// zmienne do rysików HASLERA
|
||||||
// zmienne do rysików HASLERA
|
bool bSHPstate;
|
||||||
bool bSHPstate;
|
bool bPrzejazdSHP;
|
||||||
bool bPrzejazdSHP;
|
bool bKabina1;
|
||||||
bool bKabina1;
|
bool bKabina2;
|
||||||
bool bKabina2;
|
bool bHamowanie;
|
||||||
bool bHamowanie;
|
bool bCzuwak;
|
||||||
bool bCzuwak;
|
|
||||||
|
float fAnalog[4]; // trzymanie danych z wejść analogowych
|
||||||
|
|
||||||
|
BYTE ReadDataBuff[17]; // bufory danych
|
||||||
float fAnalog[4]; // trzymanie danych z wejść analogowych
|
BYTE WriteDataBuff[31];
|
||||||
|
|
||||||
BYTE ReadDataBuff[17]; // bufory danych
|
MWDComm(); // konstruktor
|
||||||
BYTE WriteDataBuff[31];
|
~MWDComm(); // destruktor
|
||||||
|
};
|
||||||
MWDComm(); //konstruktor
|
#endif
|
||||||
~MWDComm(); //destruktor
|
|
||||||
};
|
/*
|
||||||
#endif
|
INFO - zmiany dokonane w innych plikach niezbędne do prawidłowego działania:
|
||||||
|
|
||||||
|
Console.cpp:
|
||||||
/*
|
Console::AnalogCalibrateGet - obsługa kranów hamulców
|
||||||
INFO - zmiany dokonane w innych plikach niezbędne do prawidłowego działania:
|
Console::Update - wywoływanie obsługi MWD
|
||||||
|
Console::ValueSet - obsługa manometrów, mierników WN (PWM-y)
|
||||||
Console.cpp:
|
Console::BitsUpdate - ustawiania lampek
|
||||||
Console::AnalogCalibrateGet - obsługa kranów hamulców
|
Console::Off - zamykanie portu COM
|
||||||
Console::Update - wywoływanie obsługi MWD
|
Console::On - otwieranie portu COM
|
||||||
Console::ValueSet - obsługa manometrów, mierników WN (PWM-y)
|
Console::~Console - usuwanie MWD (jest też w Console OFF)
|
||||||
Console::BitsUpdate - ustawiania lampek
|
|
||||||
Console::Off - zamykanie portu COM
|
MWDComm * Console::MWD = NULL; - luzem, obiekt i wskaźnik(?)
|
||||||
Console::On - otwieranie portu COM
|
dodatkowo zmieniłem int na long int dla BitSet i BitClear oraz iBits
|
||||||
Console::~Console - usuwanie MWD (jest też w Console OFF)
|
|
||||||
|
Train.cpp:
|
||||||
MWDComm * Console::MWD = NULL; - luzem, obiekt i wskaźnik(?)
|
if (Global::iFeedbackMode == 5) - pobieranie prędkości, manometrów i mierników WN
|
||||||
dodatkowo zmieniłem int na long int dla BitSet i BitClear oraz iBits
|
if (ggBrakeCtrl.SubModel) - możliwość sterowania hamulcem zespolonym
|
||||||
|
if (ggLocalBrake.SubModel) - możliwość sterowania hamulcem lokomotywy
|
||||||
Train.cpp:
|
|
||||||
if (Global::iFeedbackMode == 5) - pobieranie prędkości, manometrów i mierników WN
|
Globals.h:
|
||||||
if (ggBrakeCtrl.SubModel) - możliwość sterowania hamulcem zespolonym
|
dodano zmienne dla MWD
|
||||||
if (ggLocalBrake.SubModel) - możliwość sterowania hamulcem lokomotywy
|
Globals.cpp:
|
||||||
|
dodano inicjalizaję zmiennych i odczyt z ini ustawień
|
||||||
Globals.h:
|
|
||||||
dodano zmienne dla MWD
|
Wpisy do pliku eu07.ini
|
||||||
Globals.cpp:
|
|
||||||
dodano inicjalizaję zmiennych i odczyt z ini ustawień
|
//maciek001 MWD
|
||||||
|
comportname COM3 // wybór portu COM
|
||||||
Wpisy do pliku eu07.ini
|
mwdbaudrate 500000
|
||||||
|
|
||||||
//maciek001 MWD
|
mwdbreakenable yes // czy załączyć sterowanie hamulcami? blokuje klawiature
|
||||||
comportname COM3 // wybór portu COM
|
mwdbreak 1 255 0 255 // hamulec zespolony
|
||||||
mwdbaudrate 500000
|
mwdbreak 2 255 0 255 // hamulec lokomotywy
|
||||||
|
|
||||||
mwdbreakenable yes // czy załączyć sterowanie hamulcami? blokuje klawiature
|
mwdzbiornikglowny 0.82 255
|
||||||
mwdbreak 1 255 0 255 // hamulec zespolony
|
mwdprzewodglowny 0.7 255
|
||||||
mwdbreak 2 255 0 255 // hamulec lokomotywy
|
mwdcylinderhamulcowy 0.43 255
|
||||||
|
mwdwoltomierzwn 4000 255
|
||||||
mwdzbiornikglowny 0.82 255
|
mwdamperomierzwn 800 255
|
||||||
mwdprzewodglowny 0.7 255
|
*/
|
||||||
mwdcylinderhamulcowy 0.43 255
|
|
||||||
mwdwoltomierzwn 4000 255
|
|
||||||
mwdamperomierzwn 800 255
|
|
||||||
*/
|
|
||||||
|
|||||||
830
Driver.cpp
830
Driver.cpp
File diff suppressed because it is too large
Load Diff
46
Driver.h
46
Driver.h
@@ -10,10 +10,10 @@ http://mozilla.org/MPL/2.0/.
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
//#include <fstream>
|
//#include <fstream>
|
||||||
#include <string>
|
|
||||||
#include "Classes.h"
|
#include "Classes.h"
|
||||||
#include "dumb3d.h"
|
#include "dumb3d.h"
|
||||||
#include "mczapkie/mover.h"
|
#include "mczapkie/mover.h"
|
||||||
|
#include <string>
|
||||||
using namespace Math3D;
|
using namespace Math3D;
|
||||||
using namespace Mtable;
|
using namespace Mtable;
|
||||||
|
|
||||||
@@ -52,10 +52,12 @@ enum TMovementStatus
|
|||||||
moveGuardSignal = 0x8000, // sygnał od kierownika (minął czas postoju)
|
moveGuardSignal = 0x8000, // sygnał od kierownika (minął czas postoju)
|
||||||
moveVisibility = 0x10000, // jazda na widoczność po przejechaniu S1 na SBL
|
moveVisibility = 0x10000, // jazda na widoczność po przejechaniu S1 na SBL
|
||||||
moveDoorOpened = 0x20000, // drzwi zostały otwarte - doliczyć czas na zamknięcie
|
moveDoorOpened = 0x20000, // drzwi zostały otwarte - doliczyć czas na zamknięcie
|
||||||
movePushPull = 0x40000, // zmiana czoła przez zmianę kabiny - nie odczepiać przy zmianie kierunku
|
movePushPull =
|
||||||
|
0x40000, // zmiana czoła przez zmianę kabiny - nie odczepiać przy zmianie kierunku
|
||||||
moveSemaphorFound = 0x80000, // na drodze skanowania został znaleziony semafor
|
moveSemaphorFound = 0x80000, // na drodze skanowania został znaleziony semafor
|
||||||
moveSemaphorWasElapsed = 0x100000, // minięty został semafor
|
moveSemaphorWasElapsed = 0x100000, // minięty został semafor
|
||||||
moveTrainInsideStation = 0x200000, // pociąg między semaforem a rozjazdami lub następnym semaforem
|
moveTrainInsideStation =
|
||||||
|
0x200000, // pociąg między semaforem a rozjazdami lub następnym semaforem
|
||||||
moveSpeedLimitFound = 0x400000 // pociąg w ograniczeniu z podaną jego długością
|
moveSpeedLimitFound = 0x400000 // pociąg w ograniczeniu z podaną jego długością
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -126,9 +128,9 @@ class TSpeedPos
|
|||||||
public:
|
public:
|
||||||
double fDist; // aktualna odległość (ujemna gdy minięte)
|
double fDist; // aktualna odległość (ujemna gdy minięte)
|
||||||
double fVelNext; // prędkość obowiązująca od tego miejsca
|
double fVelNext; // prędkość obowiązująca od tego miejsca
|
||||||
double fSectionVelocityDist; //długość ograniczenia prędkości
|
double fSectionVelocityDist; // długość ograniczenia prędkości
|
||||||
// double fAcc;
|
// double fAcc;
|
||||||
int iFlags; //flagi typu wpisu do tabelki
|
int iFlags; // flagi typu wpisu do tabelki
|
||||||
// 1=istotny,2=tor,4=odwrotnie,8-zwrotnica (może się zmienić),16-stan
|
// 1=istotny,2=tor,4=odwrotnie,8-zwrotnica (może się zmienić),16-stan
|
||||||
// zwrotnicy,32-minięty,64=koniec,128=łuk
|
// zwrotnicy,32-minięty,64=koniec,128=łuk
|
||||||
// 0x100=event,0x200=manewrowa,0x400=przystanek,0x800=SBL,0x1000=wysłana komenda,0x2000=W5
|
// 0x100=event,0x200=manewrowa,0x400=przystanek,0x800=SBL,0x1000=wysłana komenda,0x2000=W5
|
||||||
@@ -147,8 +149,8 @@ class TSpeedPos
|
|||||||
bool Set(TEvent *e, double d, TOrders order = Wait_for_orders);
|
bool Set(TEvent *e, double d, TOrders order = Wait_for_orders);
|
||||||
void Set(TTrack *t, double d, int f);
|
void Set(TTrack *t, double d, int f);
|
||||||
std::string TableText();
|
std::string TableText();
|
||||||
std::string GetName();
|
std::string GetName();
|
||||||
bool IsProperSemaphor(TOrders order = Wait_for_orders);
|
bool IsProperSemaphor(TOrders order = Wait_for_orders);
|
||||||
};
|
};
|
||||||
|
|
||||||
//----------------------------------------------------------------------------
|
//----------------------------------------------------------------------------
|
||||||
@@ -172,8 +174,8 @@ class TController
|
|||||||
double fLastVel; // prędkość na poprzednio sprawdzonym torze
|
double fLastVel; // prędkość na poprzednio sprawdzonym torze
|
||||||
TTrack *tLast; // ostatni analizowany tor
|
TTrack *tLast; // ostatni analizowany tor
|
||||||
TEvent *eSignSkip; // można pominąć ten SBL po zatrzymaniu
|
TEvent *eSignSkip; // można pominąć ten SBL po zatrzymaniu
|
||||||
TSpeedPos *sSemNext; // następny semafor na drodze zależny od trybu jazdy
|
TSpeedPos *sSemNext; // następny semafor na drodze zależny od trybu jazdy
|
||||||
TSpeedPos *sSemNextStop; // następny semafor na drodze zależny od trybu jazdy i na stój
|
TSpeedPos *sSemNextStop; // następny semafor na drodze zależny od trybu jazdy i na stój
|
||||||
private: // parametry aktualnego składu
|
private: // parametry aktualnego składu
|
||||||
double fLength; // długość składu (do wyciągania z ograniczeń)
|
double fLength; // długość składu (do wyciągania z ograniczeń)
|
||||||
double fMass; // całkowita masa do liczenia stycznej składowej grawitacji
|
double fMass; // całkowita masa do liczenia stycznej składowej grawitacji
|
||||||
@@ -219,8 +221,8 @@ class TController
|
|||||||
// migacz lub czeka na stan zwrotnicy
|
// migacz lub czeka na stan zwrotnicy
|
||||||
private:
|
private:
|
||||||
TDynamicObject *pVehicle; // pojazd w którym siedzi sterujący
|
TDynamicObject *pVehicle; // pojazd w którym siedzi sterujący
|
||||||
TDynamicObject *
|
TDynamicObject
|
||||||
pVehicles[2]; // skrajne pojazdy w składzie (niekoniecznie bezpośrednio sterowane)
|
*pVehicles[2]; // skrajne pojazdy w składzie (niekoniecznie bezpośrednio sterowane)
|
||||||
TMoverParameters *mvControlling; // jakim pojazdem steruje (może silnikowym w EZT)
|
TMoverParameters *mvControlling; // jakim pojazdem steruje (może silnikowym w EZT)
|
||||||
TMoverParameters *mvOccupied; // jakim pojazdem hamuje
|
TMoverParameters *mvOccupied; // jakim pojazdem hamuje
|
||||||
TTrainParameters *TrainParams; // rozkład jazdy zawsze jest, nawet jeśli pusty
|
TTrainParameters *TrainParams; // rozkład jazdy zawsze jest, nawet jeśli pusty
|
||||||
@@ -244,16 +246,16 @@ class TController
|
|||||||
double VelLimit; // predkość zadawana przez event jednokierunkowego ograniczenia prędkości
|
double VelLimit; // predkość zadawana przez event jednokierunkowego ograniczenia prędkości
|
||||||
public:
|
public:
|
||||||
double VelSignalLast; // prędkość zadana na ostatnim semaforze
|
double VelSignalLast; // prędkość zadana na ostatnim semaforze
|
||||||
double VelSignalNext; // prędkość zadana na następnym semaforze
|
double VelSignalNext; // prędkość zadana na następnym semaforze
|
||||||
double VelLimitLast; // prędkość zadana przez ograniczenie
|
double VelLimitLast; // prędkość zadana przez ograniczenie
|
||||||
double VelRoad; // aktualna prędkość drogowa (ze znaku W27)
|
double VelRoad; // aktualna prędkość drogowa (ze znaku W27)
|
||||||
// (PutValues albo komendą)
|
// (PutValues albo komendą)
|
||||||
public:
|
public:
|
||||||
double VelNext; // prędkość, jaka ma być po przejechaniu długości ProximityDist
|
double VelNext; // prędkość, jaka ma być po przejechaniu długości ProximityDist
|
||||||
private:
|
private:
|
||||||
double fProximityDist; //odleglosc podawana w SetProximityVelocity(); >0:przeliczać do
|
double fProximityDist; // odleglosc podawana w SetProximityVelocity(); >0:przeliczać do
|
||||||
// punktu, <0:podana wartość
|
// punktu, <0:podana wartość
|
||||||
double FirstSemaphorDist; // odległość do pierwszego znalezionego semafora
|
double FirstSemaphorDist; // odległość do pierwszego znalezionego semafora
|
||||||
public:
|
public:
|
||||||
double
|
double
|
||||||
ActualProximityDist; // odległość brana pod uwagę przy wyliczaniu prędkości i przyspieszenia
|
ActualProximityDist; // odległość brana pod uwagę przy wyliczaniu prędkości i przyspieszenia
|
||||||
@@ -312,7 +314,7 @@ class TController
|
|||||||
void ControllingSet(); // znajduje człon do sterowania
|
void ControllingSet(); // znajduje człon do sterowania
|
||||||
void AutoRewident(); // ustawia hamulce w składzie
|
void AutoRewident(); // ustawia hamulce w składzie
|
||||||
public:
|
public:
|
||||||
Mtable::TTrainParameters * Timetable()
|
Mtable::TTrainParameters *Timetable()
|
||||||
{
|
{
|
||||||
return TrainParams;
|
return TrainParams;
|
||||||
};
|
};
|
||||||
@@ -358,12 +360,12 @@ class TController
|
|||||||
double Distance(vector3 &p1, vector3 &n, vector3 &p2);
|
double Distance(vector3 &p1, vector3 &n, vector3 &p2);
|
||||||
|
|
||||||
private: // Ra: metody obsługujące skanowanie toru
|
private: // Ra: metody obsługujące skanowanie toru
|
||||||
TEvent * CheckTrackEvent(double fDirection, TTrack *Track);
|
TEvent *CheckTrackEvent(double fDirection, TTrack *Track);
|
||||||
bool TableCheckEvent(TEvent *e);
|
bool TableCheckEvent(TEvent *e);
|
||||||
bool TableAddNew();
|
bool TableAddNew();
|
||||||
bool TableNotFound(TEvent *e);
|
bool TableNotFound(TEvent *e);
|
||||||
void TableClear();
|
void TableClear();
|
||||||
TEvent * TableCheckTrackEvent(double fDirection, TTrack *Track);
|
TEvent *TableCheckTrackEvent(double fDirection, TTrack *Track);
|
||||||
void TableTraceRoute(double fDistance, TDynamicObject *pVehicle = NULL);
|
void TableTraceRoute(double fDistance, TDynamicObject *pVehicle = NULL);
|
||||||
void TableCheck(double fDistance);
|
void TableCheck(double fDistance);
|
||||||
TCommandType TableUpdate(double &fVelDes, double &fDist, double &fNext, double &fAcc);
|
TCommandType TableUpdate(double &fVelDes, double &fDist, double &fNext, double &fAcc);
|
||||||
@@ -371,9 +373,9 @@ class TController
|
|||||||
|
|
||||||
private: // Ra: stare funkcje skanujące, używane do szukania sygnalizatora z tyłu
|
private: // Ra: stare funkcje skanujące, używane do szukania sygnalizatora z tyłu
|
||||||
bool BackwardTrackBusy(TTrack *Track);
|
bool BackwardTrackBusy(TTrack *Track);
|
||||||
TEvent * CheckTrackEventBackward(double fDirection, TTrack *Track);
|
TEvent *CheckTrackEventBackward(double fDirection, TTrack *Track);
|
||||||
TTrack * BackwardTraceRoute(double &fDistance, double &fDirection, TTrack *Track,
|
TTrack *BackwardTraceRoute(double &fDistance, double &fDirection, TTrack *Track,
|
||||||
TEvent *&Event);
|
TEvent *&Event);
|
||||||
void SetProximityVelocity(double dist, double vel, const vector3 *pos);
|
void SetProximityVelocity(double dist, double vel, const vector3 *pos);
|
||||||
TCommandType BackwardScan();
|
TCommandType BackwardScan();
|
||||||
|
|
||||||
@@ -383,8 +385,8 @@ class TController
|
|||||||
~TController();
|
~TController();
|
||||||
std::string NextStop();
|
std::string NextStop();
|
||||||
void TakeControl(bool yes);
|
void TakeControl(bool yes);
|
||||||
std::string Relation();
|
std::string Relation();
|
||||||
std::string TrainName();
|
std::string TrainName();
|
||||||
int StationCount();
|
int StationCount();
|
||||||
int StationIndex();
|
int StationIndex();
|
||||||
bool IsStop();
|
bool IsStop();
|
||||||
|
|||||||
1224
Globals.cpp
1224
Globals.cpp
File diff suppressed because it is too large
Load Diff
@@ -317,8 +317,8 @@ class Global
|
|||||||
|
|
||||||
// maciek001: zmienne dla MWD
|
// maciek001: zmienne dla MWD
|
||||||
static bool bMWDdebugEnable;
|
static bool bMWDdebugEnable;
|
||||||
static unsigned long int iMWDBaudrate;
|
static unsigned int iMWDBaudrate;
|
||||||
static AnsiString sMWDPortId;
|
static std::string sMWDPortId;
|
||||||
static bool bMWDBreakEnable;
|
static bool bMWDBreakEnable;
|
||||||
static bool bMWDInputDataEnable;
|
static bool bMWDInputDataEnable;
|
||||||
static double fMWDAnalogCalib[4][3];
|
static double fMWDAnalogCalib[4][3];
|
||||||
|
|||||||
86
Train.h
86
Train.h
@@ -12,18 +12,18 @@ http://mozilla.org/MPL/2.0/.
|
|||||||
|
|
||||||
//#include "Track.h"
|
//#include "Track.h"
|
||||||
//#include "TrkFoll.h"
|
//#include "TrkFoll.h"
|
||||||
#include "Model3d.h"
|
|
||||||
#include "Spring.h"
|
|
||||||
#include "Gauge.h"
|
|
||||||
#include "Button.h"
|
#include "Button.h"
|
||||||
#include "DynObj.h"
|
#include "DynObj.h"
|
||||||
|
#include "Gauge.h"
|
||||||
|
#include "Model3d.h"
|
||||||
|
#include "Spring.h"
|
||||||
#include "mtable.h"
|
#include "mtable.h"
|
||||||
|
|
||||||
#include "Sound.h"
|
|
||||||
#include "AdvSound.h"
|
#include "AdvSound.h"
|
||||||
#include "RealSound.h"
|
|
||||||
#include "FadeSound.h"
|
#include "FadeSound.h"
|
||||||
#include "PyInt.h"
|
#include "PyInt.h"
|
||||||
|
#include "RealSound.h"
|
||||||
|
#include "Sound.h"
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
// typedef enum {st_Off, st_Starting, st_On, st_ShuttingDown} T4State;
|
// typedef enum {st_Off, st_Starting, st_On, st_ShuttingDown} T4State;
|
||||||
@@ -63,8 +63,8 @@ class TCab
|
|||||||
TButton *btList; // Ra 2014-08: lista animacji dwustanowych (lampek) w kabinie
|
TButton *btList; // Ra 2014-08: lista animacji dwustanowych (lampek) w kabinie
|
||||||
int iButtonsMax, iButtons; // ile miejsca w tablicy i ile jest w u篡ciu
|
int iButtonsMax, iButtons; // ile miejsca w tablicy i ile jest w u篡ciu
|
||||||
public:
|
public:
|
||||||
TGauge * Gauge(int n = -1); // pobranie adresu obiektu
|
TGauge *Gauge(int n = -1); // pobranie adresu obiektu
|
||||||
TButton * Button(int n = -1); // pobranie adresu obiektu
|
TButton *Button(int n = -1); // pobranie adresu obiektu
|
||||||
void Update();
|
void Update();
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -96,22 +96,21 @@ class TTrain
|
|||||||
void UpdateMechPosition(double dt);
|
void UpdateMechPosition(double dt);
|
||||||
bool Update();
|
bool Update();
|
||||||
void MechStop();
|
void MechStop();
|
||||||
void SetLights();
|
void SetLights();
|
||||||
// virtual bool RenderAlpha();
|
// virtual bool RenderAlpha();
|
||||||
// McZapkie-310302: ladowanie parametrow z pliku
|
// McZapkie-310302: ladowanie parametrow z pliku
|
||||||
bool LoadMMediaFile(std::string const &asFileName);
|
bool LoadMMediaFile(std::string const &asFileName);
|
||||||
PyObject *GetTrainState();
|
PyObject *GetTrainState();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
// clears state of all cabin controls
|
// clears state of all cabin controls
|
||||||
void
|
void clear_cab_controls();
|
||||||
clear_cab_controls();
|
// initializes a gauge matching provided label. returns: true if the label was found, false
|
||||||
// initializes a gauge matching provided label. returns: true if the label was found, false otherwise
|
// otherwise
|
||||||
bool
|
bool initialize_gauge(cParser &Parser, std::string const &Label, int const Cabindex);
|
||||||
initialize_gauge( cParser &Parser, std::string const &Label, int const Cabindex );
|
// initializes a button matching provided label. returns: true if the label was found, false
|
||||||
// initializes a button matching provided label. returns: true if the label was found, false otherwise
|
// otherwise
|
||||||
bool
|
bool initialize_button(cParser &Parser, std::string const &Label, int const Cabindex);
|
||||||
initialize_button( cParser &Parser, std::string const &Label, int const Cabindex );
|
|
||||||
|
|
||||||
private: //瞠by go nic z zewn靖rz nie przestawia這
|
private: //瞠by go nic z zewn靖rz nie przestawia這
|
||||||
TDynamicObject *DynamicObject; // przestawia zmiana pojazdu [F5]
|
TDynamicObject *DynamicObject; // przestawia zmiana pojazdu [F5]
|
||||||
@@ -163,7 +162,7 @@ private:
|
|||||||
TGauge ggMainButton; // EZT
|
TGauge ggMainButton; // EZT
|
||||||
TGauge ggSecurityResetButton;
|
TGauge ggSecurityResetButton;
|
||||||
TGauge ggReleaserButton;
|
TGauge ggReleaserButton;
|
||||||
TGauge ggSandButton; //guzik piasecznicy
|
TGauge ggSandButton; // guzik piasecznicy
|
||||||
TGauge ggAntiSlipButton;
|
TGauge ggAntiSlipButton;
|
||||||
TGauge ggFuseButton;
|
TGauge ggFuseButton;
|
||||||
TGauge ggConverterFuseButton; // hunter-261211: przycisk odblokowania
|
TGauge ggConverterFuseButton; // hunter-261211: przycisk odblokowania
|
||||||
@@ -175,7 +174,7 @@ private:
|
|||||||
TGauge ggRightLightButton;
|
TGauge ggRightLightButton;
|
||||||
TGauge ggLeftEndLightButton;
|
TGauge ggLeftEndLightButton;
|
||||||
TGauge ggRightEndLightButton;
|
TGauge ggRightEndLightButton;
|
||||||
TGauge ggLightsButton; //przelacznik reflektorow (wszystkich)
|
TGauge ggLightsButton; // przelacznik reflektorow (wszystkich)
|
||||||
|
|
||||||
// hunter-230112: przelacznik swiatel tylnich
|
// hunter-230112: przelacznik swiatel tylnich
|
||||||
TGauge ggRearUpperLightButton;
|
TGauge ggRearUpperLightButton;
|
||||||
@@ -201,7 +200,7 @@ private:
|
|||||||
|
|
||||||
TGauge ggCabLightButton; // hunter-091012: przelacznik oswietlania kabiny
|
TGauge ggCabLightButton; // hunter-091012: przelacznik oswietlania kabiny
|
||||||
TGauge ggCabLightDimButton; // hunter-091012: przelacznik przyciemnienia
|
TGauge ggCabLightDimButton; // hunter-091012: przelacznik przyciemnienia
|
||||||
TGauge ggBatteryButton; // Stele 161228 hebelek baterii
|
TGauge ggBatteryButton; // Stele 161228 hebelek baterii
|
||||||
// oswietlenia kabiny
|
// oswietlenia kabiny
|
||||||
|
|
||||||
// NBMX wrzesien 2003 - obsluga drzwi
|
// NBMX wrzesien 2003 - obsluga drzwi
|
||||||
@@ -268,7 +267,7 @@ private:
|
|||||||
TButton btLampkaBocznik4;
|
TButton btLampkaBocznik4;
|
||||||
TButton btLampkaRadiotelefon;
|
TButton btLampkaRadiotelefon;
|
||||||
TButton btLampkaHamienie;
|
TButton btLampkaHamienie;
|
||||||
TButton btLampkaED; //Stele 161228 hamowanie elektrodynamiczne
|
TButton btLampkaED; // Stele 161228 hamowanie elektrodynamiczne
|
||||||
TButton btLampkaJazda; // Ra: nie u篡wane
|
TButton btLampkaJazda; // Ra: nie u篡wane
|
||||||
// KURS90
|
// KURS90
|
||||||
TButton btLampkaBoczniki;
|
TButton btLampkaBoczniki;
|
||||||
@@ -376,7 +375,7 @@ private:
|
|||||||
float fConverterTimer; // hunter-261211: dla przekaznika
|
float fConverterTimer; // hunter-261211: dla przekaznika
|
||||||
float fMainRelayTimer; // hunter-141211: zalaczanie WSa z opoznieniem
|
float fMainRelayTimer; // hunter-141211: zalaczanie WSa z opoznieniem
|
||||||
float fCzuwakTestTimer; // hunter-091012: do testu czuwaka
|
float fCzuwakTestTimer; // hunter-091012: do testu czuwaka
|
||||||
float fLightsTimer; // yB 150617: timer do swiatel
|
float fLightsTimer; // yB 150617: timer do swiatel
|
||||||
|
|
||||||
int CAflag; // hunter-131211: dla osobnego zbijania CA i SHP
|
int CAflag; // hunter-131211: dla osobnego zbijania CA i SHP
|
||||||
|
|
||||||
@@ -396,21 +395,22 @@ private:
|
|||||||
float fHVoltage; // napi?cie dla dynamicznych ga?ek
|
float fHVoltage; // napi?cie dla dynamicznych ga?ek
|
||||||
float fHCurrent[4]; // pr?dy: suma i amperomierze 1,2,3
|
float fHCurrent[4]; // pr?dy: suma i amperomierze 1,2,3
|
||||||
float fEngine[4]; // obroty te? trzeba pobra?
|
float fEngine[4]; // obroty te? trzeba pobra?
|
||||||
int iCarNo, iPowerNo, iUnitNo; //liczba pojazdow, czlonow napednych i jednostek spi皻ych ze sob<6F>
|
int iCarNo, iPowerNo, iUnitNo; // liczba pojazdow, czlonow napednych i jednostek spi皻ych ze
|
||||||
bool bDoors[20][3]; // drzwi dla wszystkich czlonow
|
// sob<6F>
|
||||||
int iUnits[20]; // numer jednostki
|
bool bDoors[20][3]; // drzwi dla wszystkich czlonow
|
||||||
int iDoorNo[20]; // liczba drzwi
|
int iUnits[20]; // numer jednostki
|
||||||
char cCode[20]; //kod pojazdu
|
int iDoorNo[20]; // liczba drzwi
|
||||||
std::string asCarName[20]; //nazwa czlonu
|
char cCode[20]; // kod pojazdu
|
||||||
bool bMains[8]; //WSy
|
std::string asCarName[20]; // nazwa czlonu
|
||||||
float fCntVol[8]; //napiecie NN
|
bool bMains[8]; // WSy
|
||||||
bool bPants[8][2]; //podniesienie pantografow
|
float fCntVol[8]; // napiecie NN
|
||||||
bool bFuse[8]; //nadmiarowe
|
bool bPants[8][2]; // podniesienie pantografow
|
||||||
bool bBatt[8]; //baterie
|
bool bFuse[8]; // nadmiarowe
|
||||||
bool bConv[8]; //przetwornice
|
bool bBatt[8]; // baterie
|
||||||
bool bComp[8][2]; //sprezarki
|
bool bConv[8]; // przetwornice
|
||||||
bool bHeat[8]; //grzanie
|
bool bComp[8][2]; // sprezarki
|
||||||
// McZapkie: do syczenia
|
bool bHeat[8]; // grzanie
|
||||||
|
// McZapkie: do syczenia
|
||||||
float fPPress, fNPress;
|
float fPPress, fNPress;
|
||||||
float fSPPress, fSNPress;
|
float fSPPress, fSNPress;
|
||||||
int iSekunda; // Ra: sekunda aktualizacji pr?dko?ci
|
int iSekunda; // Ra: sekunda aktualizacji pr?dko?ci
|
||||||
@@ -418,17 +418,17 @@ private:
|
|||||||
TPythonScreens pyScreens;
|
TPythonScreens pyScreens;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
float fPress[20][3]; // cisnienia dla wszystkich czlonow
|
float fPress[20][3]; // cisnienia dla wszystkich czlonow
|
||||||
float fEIMParams[9][10]; // parametry dla silnikow asynchronicznych
|
float fEIMParams[9][10]; // parametry dla silnikow asynchronicznych
|
||||||
int RadioChannel()
|
int RadioChannel()
|
||||||
{
|
{
|
||||||
return iRadioChannel;
|
return iRadioChannel;
|
||||||
};
|
};
|
||||||
inline TDynamicObject * Dynamic()
|
inline TDynamicObject *Dynamic()
|
||||||
{
|
{
|
||||||
return DynamicObject;
|
return DynamicObject;
|
||||||
};
|
};
|
||||||
inline TMoverParameters * Controlled()
|
inline TMoverParameters *Controlled()
|
||||||
{
|
{
|
||||||
return mvControlled;
|
return mvControlled;
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user