16
0
mirror of https://github.com/MaSzyna-EU07/maszyna.git synced 2026-07-22 15:09:19 +02:00

dodane światła zewnętrzne (YUI)

This commit is contained in:
maciek001
2017-03-08 19:33:49 +01:00
parent e7bf06e99b
commit d2ddf4e871
3 changed files with 230 additions and 255 deletions

View File

@@ -477,21 +477,10 @@ float Console::AnalogCalibrateGet(int x)
if (iMode == 4 && PoKeys55[0]) if (iMode == 4 && PoKeys55[0])
{ {
float b = PoKeys55[0]->fAnalog[x]; float b = PoKeys55[0]->fAnalog[x];
/*return (((((Global::fCalibrateIn[x][5] * b) + Global::fCalibrateIn[x][4]) * b +
Global::fCalibrateIn[x][3]) *
b +
Global::fCalibrateIn[x][2]) *
b +
Global::fCalibrateIn[x][1]) *
b +
Global::fCalibrateIn[x][0];*/
b = (((((Global::fCalibrateIn[x][5] * b) + Global::fCalibrateIn[x][4]) * b + b = (((((Global::fCalibrateIn[x][5] * b) + Global::fCalibrateIn[x][4]) * b +
Global::fCalibrateIn[x][3]) * Global::fCalibrateIn[x][3]) * b +
b + Global::fCalibrateIn[x][2]) * b +
Global::fCalibrateIn[x][2]) * Global::fCalibrateIn[x][1]) * b +
b +
Global::fCalibrateIn[x][1]) *
b +
Global::fCalibrateIn[x][0]; Global::fCalibrateIn[x][0];
if (x == 0) return (b + 2) / 8; if (x == 0) return (b + 2) / 8;
if (x == 1) return b/10; if (x == 1) return b/10;

View File

@@ -237,7 +237,7 @@ void TMWDComm::CheckData() // sprawdzanie wejść cyfrowych i odpowiednie sterow
1 M wyłącznik wył. szybkiego 1 M wyłącznik wył. szybkiego
2 Shift+M impuls załączający wył. szybki 2 Shift+M impuls załączający wył. szybki
3 N odblok. przekaźników nadmiarowych 3 N odblok. przekaźników nadmiarowych
i różnicowego obwodu głównego i różnicowego obwodu głównegoMMm
4 NC rezerwa 4 NC rezerwa
5 Ctrl+N odblok. przek. nadmiarowych 5 Ctrl+N odblok. przek. nadmiarowych
przetwornicy, ogrzewania pociągu i różnicowych obw. pomocniczych przetwornicy, ogrzewania pociągu i różnicowych obw. pomocniczych
@@ -279,23 +279,29 @@ void TMWDComm::CheckData() // sprawdzanie wejść cyfrowych i odpowiednie sterow
// wciskanie przycisków klawiatury // wciskanie przycisków klawiatury
/*PORT0*/ /*PORT0*/
if (maskData[0] & 0x02) if (lastStateData[0] & 0x02) KeyBoard('M', 1); // wyłączenie wyłącznika szybkiego if (maskData[0] & 0x02) if (lastStateData[0] & 0x02)
KeyBoard('M', 1); // wyłączenie wyłącznika szybkiego
else KeyBoard('M', 0); // monostabilny else KeyBoard('M', 0); // monostabilny
if (maskData[0] & 0x04) if (lastStateData[0] & 0x04) { // impuls załączający wyłącznik szybki if (maskData[0] & 0x04) if (lastStateData[0] & 0x04) // impuls załączający wyłącznik szybki
{
KeyBoard(0x10, 1); // monostabilny KeyBoard(0x10, 1); // monostabilny
KeyBoard('M', 1); KeyBoard('M', 1);
} }
else { else
{
KeyBoard('M', 0); KeyBoard('M', 0);
KeyBoard(0x10, 0); KeyBoard(0x10, 0);
} }
if (maskData[0] & 0x08) if (lastStateData[0] & 0x08) KeyBoard('N', 1); // odblok nadmiarowego silników trakcyjnych if (maskData[0] & 0x08) if (lastStateData[0] & 0x08)
KeyBoard('N', 1); // odblok nadmiarowego silników trakcyjnych
else KeyBoard('N', 0); // monostabilny else KeyBoard('N', 0); // monostabilny
if (maskData[0] & 0x20) if (lastStateData[0] & 0x20) { // odblok nadmiarowego przetwornicy, ogrzewania poc. if (maskData[0] & 0x20) if (lastStateData[0] & 0x20)
{ // odblok nadmiarowego przetwornicy, ogrzewania poc.
KeyBoard(0x11, 1); // różnicowego obwodów pomocniczych KeyBoard(0x11, 1); // różnicowego obwodów pomocniczych
KeyBoard('N', 1); // monostabilny KeyBoard('N', 1); // monostabilny
} }
else { else
{
KeyBoard('N', 0); KeyBoard('N', 0);
KeyBoard(0x11, 0); KeyBoard(0x11, 0);
} }
@@ -307,8 +313,10 @@ void TMWDComm::CheckData() // sprawdzanie wejść cyfrowych i odpowiednie sterow
/*PORT1*/ /*PORT1*/
// puszczanie przycisku bistabilnego klawiatury // puszczanie przycisku bistabilnego klawiatury
if (maskSwitch[1] & 0x02) { if (maskSwitch[1] & 0x02)
if (bitSwitch[1] & 0x02) { {
if (bitSwitch[1] & 0x02)
{
KeyBoard('X', 0); KeyBoard('X', 0);
KeyBoard(0x10, 0); KeyBoard(0x10, 0);
} }
@@ -346,61 +354,78 @@ void TMWDComm::CheckData() // sprawdzanie wejść cyfrowych i odpowiednie sterow
maskSwitch[1] &= ~0x80; maskSwitch[1] &= ~0x80;
} }
// przetwornica
if (maskData[1] & 0x02) if (lastStateData[1] & 0x02) { // przetwornica if (maskData[1] & 0x02) if (lastStateData[1] & 0x02)
{
KeyBoard(0x10, 1); // bistabilny KeyBoard(0x10, 1); // bistabilny
KeyBoard('X', 1); KeyBoard('X', 1);
maskSwitch[1] |= 0x02; maskSwitch[1] |= 0x02;
bitSwitch[1] |= 0x02; bitSwitch[1] |= 0x02;
} }
else { else
{
maskSwitch[1] |= 0x02; maskSwitch[1] |= 0x02;
bitSwitch[1] &= ~0x02; bitSwitch[1] &= ~0x02;
KeyBoard('X', 1); KeyBoard('X', 1);
} }
if (maskData[1] & 0x04) if (lastStateData[1] & 0x04) { // sprężarka // sprężarka
if (maskData[1] & 0x04) if (lastStateData[1] & 0x04)
{
KeyBoard(0x10, 1); // bistabilny KeyBoard(0x10, 1); // bistabilny
KeyBoard('C', 1); KeyBoard('C', 1);
maskSwitch[1] |= 0x04; maskSwitch[1] |= 0x04;
bitSwitch[1] |= 0x04; bitSwitch[1] |= 0x04;
} }
else { else
{
maskSwitch[1] |= 0x04; maskSwitch[1] |= 0x04;
bitSwitch[1] &= ~0x04; bitSwitch[1] &= ~0x04;
KeyBoard('C', 1); KeyBoard('C', 1);
} }
if (maskData[1] & 0x08) if (lastStateData[1] & 0x08) KeyBoard('S', 1); // piasecznica // piasecznica
else KeyBoard('S', 0); // monostabilny if (maskData[1] & 0x08) if (lastStateData[1] & 0x08)
if (maskData[1] & 0x10) if (lastStateData[1] & 0x10) { // ogrzewanie składu KeyBoard('S', 1);
else
KeyBoard('S', 0); // monostabilny
// ogrzewanie składu
if (maskData[1] & 0x10) if (lastStateData[1] & 0x10)
{
KeyBoard(0x11, 1); // bistabilny KeyBoard(0x11, 1); // bistabilny
KeyBoard('H', 1); KeyBoard('H', 1);
maskSwitch[1] |= 0x10; maskSwitch[1] |= 0x10;
bitSwitch[1] |= 0x10; bitSwitch[1] |= 0x10;
} }
else { else
{
maskSwitch[1] |= 0x10; maskSwitch[1] |= 0x10;
bitSwitch[1] &= ~0x10; bitSwitch[1] &= ~0x10;
KeyBoard('H', 1); KeyBoard('H', 1);
} }
if (maskData[1] & 0x20 || maskData[1] & 0x40) { // przełącznik hamowania // przełącznik hamowania
if (lastStateData[1] & 0x20) { // Shift+B if (maskData[1] & 0x20 || maskData[1] & 0x40)
{
if (lastStateData[1] & 0x20)
{ // Shift+B
KeyBoard(0x10, 1); KeyBoard(0x10, 1);
maskSwitch[1] |= 0x20; maskSwitch[1] |= 0x20;
} }
else if (lastStateData[1] & 0x40) { // Ctrl+B else if (lastStateData[1] & 0x40)
{ // Ctrl+B
KeyBoard(0x11, 1); KeyBoard(0x11, 1);
maskSwitch[1] |= 0x40; maskSwitch[1] |= 0x40;
} }
KeyBoard('B', 1); KeyBoard('B', 1);
} }
// rozruch wysoki/niski
if (maskData[1] & 0x80) if (lastStateData[1] & 0x80) { // rozruch wysoki/niski if (maskData[1] & 0x80) if (lastStateData[1] & 0x80)
{
KeyBoard(0x10, 1); // bistabilny KeyBoard(0x10, 1); // bistabilny
KeyBoard('F', 1); KeyBoard('F', 1);
maskSwitch[1] |= 0x80; maskSwitch[1] |= 0x80;
bitSwitch[1] |= 0x80; bitSwitch[1] |= 0x80;
} }
else { else
{
maskSwitch[1] |= 0x80; maskSwitch[1] |= 0x80;
bitSwitch[1] &= ~0x80; bitSwitch[1] &= ~0x80;
KeyBoard('F', 1); KeyBoard('F', 1);
@@ -408,16 +433,20 @@ void TMWDComm::CheckData() // sprawdzanie wejść cyfrowych i odpowiednie sterow
//PORT2 //PORT2
if (maskSwitch[2] & 0x01) { if (maskSwitch[2] & 0x01)
if (bitSwitch[2] & 0x01) { {
if (bitSwitch[2] & 0x01)
{
KeyBoard('P', 0); KeyBoard('P', 0);
KeyBoard(0x10, 0); KeyBoard(0x10, 0);
} }
else KeyBoard('P', 0); else KeyBoard('P', 0);
maskSwitch[2] &= ~0x01; maskSwitch[2] &= ~0x01;
} }
if (maskSwitch[2] & 0x02) { if (maskSwitch[2] & 0x02)
if (bitSwitch[2] & 0x02) { {
if (bitSwitch[2] & 0x02)
{
KeyBoard('O', 0); KeyBoard('O', 0);
KeyBoard(0x10, 0); KeyBoard(0x10, 0);
} }
@@ -425,35 +454,41 @@ void TMWDComm::CheckData() // sprawdzanie wejść cyfrowych i odpowiednie sterow
maskSwitch[2] &= ~0x02; maskSwitch[2] &= ~0x02;
} }
// pantograf przedni
if (maskData[2] & 0x01) if (lastStateData[2] & 0x01) { // pantograf przedni if (maskData[2] & 0x01) if (lastStateData[2] & 0x01)
{
KeyBoard(0x10, 1); // bistabilny KeyBoard(0x10, 1); // bistabilny
KeyBoard('P', 1); KeyBoard('P', 1);
maskSwitch[2] |= 0x01; maskSwitch[2] |= 0x01;
bitSwitch[2] |= 0x01; bitSwitch[2] |= 0x01;
} }
else { else
{
maskSwitch[2] |= 0x01; maskSwitch[2] |= 0x01;
bitSwitch[2] &= ~0x01; bitSwitch[2] &= ~0x01;
KeyBoard('P', 1); KeyBoard('P', 1);
} }
if (maskData[2] & 0x02) if (lastStateData[2] & 0x02) { // pantograf tylni // pantograf tylni
if (maskData[2] & 0x02) if (lastStateData[2] & 0x02)
{
KeyBoard(0x10, 1); // bistabilny KeyBoard(0x10, 1); // bistabilny
KeyBoard('O', 1); KeyBoard('O', 1);
maskSwitch[2] |= 0x02; maskSwitch[2] |= 0x02;
bitSwitch[2] |= 0x02; bitSwitch[2] |= 0x02;
} }
else { else
{
maskSwitch[2] |= 0x02; maskSwitch[2] |= 0x02;
bitSwitch[2] &= ~0x02; bitSwitch[2] &= ~0x02;
KeyBoard('O', 1); KeyBoard('O', 1);
} }
if (maskData[2] & 0x04) if (lastStateData[2] & 0x04) { // przyhamowanie przy poślizgu // przyhamowanie przy poślizgu
if (maskData[2] & 0x04) if (lastStateData[2] & 0x04) {
KeyBoard(0x10, 1); // monostabilny KeyBoard(0x10, 1); // monostabilny
KeyBoard(0x0D, 1); KeyBoard(0x0D, 1);
} }
else { else
{
KeyBoard(0x0D, 0); KeyBoard(0x0D, 0);
KeyBoard(0x10, 0); KeyBoard(0x10, 0);
} }
@@ -475,178 +510,129 @@ void TMWDComm::CheckData() // sprawdzanie wejść cyfrowych i odpowiednie sterow
KeyBoard(0x11,0); KeyBoard(0x11,0);
KeyBoard(' ',1); KeyBoard(' ',1);
}*/ }*/
if (maskData[2] & 0x20) if (lastStateData[2] & 0x20) KeyBoard(0x66, 1); // odluźniacz // odluźniacz
else KeyBoard(0x66, 0); // monostabilny if (maskData[2] & 0x20) if (lastStateData[2] & 0x20)
if (maskData[2] & 0x40) if (lastStateData[2] & 0x40) { // syrena wysoka KeyBoard(0x66, 1);
else
KeyBoard(0x66, 0); // monostabilny
// syrena wysoka
if (maskData[2] & 0x40) if (lastStateData[2] & 0x40)
{
KeyBoard(0x10, 1); // monostabilny KeyBoard(0x10, 1); // monostabilny
KeyBoard('A', 1); KeyBoard('A', 1);
} }
else { else
{
KeyBoard('A', 0); KeyBoard('A', 0);
KeyBoard(0x10, 0); KeyBoard(0x10, 0);
} }
if (maskData[2] & 0x80) if (lastStateData[2] & 0x80) KeyBoard('A', 1); // syrena niska if (maskData[2] & 0x80) if (lastStateData[2] & 0x80)
else KeyBoard('A', 0); // monostabilny KeyBoard('A', 1); // syrena niska
else
KeyBoard('A', 0); // monostabilny
//PORT3 //PORT3
if (maskSwitch[3] & 0x01) { if (maskSwitch[3] & 0x01)
if (bitSwitch[3] & 0x01) { {
if (bitSwitch[3] & 0x01)
{
KeyBoard('J', 0); KeyBoard('J', 0);
KeyBoard(0x10, 0); KeyBoard(0x10, 0);
} }
else KeyBoard('J', 0); else KeyBoard('J', 0);
maskSwitch[3] &= ~0x01; maskSwitch[3] &= ~0x01;
} }
if (maskSwitch[3] & 0x02)
{
if (bitSwitch[3] & 0x02)
{
KeyBoard('Y', 0);
KeyBoard(0x10, 0);
}
else KeyBoard('Y', 0);
maskSwitch[3] &= ~0x02;
}
if (maskSwitch[3] & 0x04)
{
if (bitSwitch[3] & 0x04)
{
KeyBoard('U', 0);
KeyBoard(0x10, 0);
}
else KeyBoard('U', 0);
maskSwitch[3] &= ~0x04;
}
if (maskSwitch[3] & 0x08)
{
if (bitSwitch[3] & 0x08)
{
KeyBoard('I', 0);
KeyBoard(0x10, 0);
}
else KeyBoard('I', 0);
maskSwitch[3] &= ~0x08;
}
if (maskData[3] & 0x01) if (lastStateData[3] & 0x01) { // bateria
// bateria
if (maskData[3] & 0x01) if (lastStateData[3] & 0x01)
{
KeyBoard(0x10, 1); // bistabilny KeyBoard(0x10, 1); // bistabilny
KeyBoard('J', 1); KeyBoard('J', 1);
maskSwitch[3] |= 0x01; maskSwitch[3] |= 0x01;
bitSwitch[3] |= 0x01; bitSwitch[3] |= 0x01;
} }
else { else
{
maskSwitch[3] |= 0x01; maskSwitch[3] |= 0x01;
bitSwitch[3] &= ~0x01; bitSwitch[3] &= ~0x01;
KeyBoard('J', 1); KeyBoard('J', 1);
} }
//Światło lewe
/* if (maskData[3] & 0x02) if (lastStateData[3] & 0x02)
if(maskData[3] & 0x04 && lastStateData[1] & 0x04) { KeyBoard(0x10,1); {
KeyBoard('C',1); // KeyBoard(0x10, 1); // bistabilny
KeyBoard('C',0); KeyBoard('Y', 1);
KeyBoard(0x10,0); maskSwitch[3] |= 0x02;
}else{ KeyBoard('C',1); // bitSwitch[3] |= 0x02;
KeyBoard('C',0); }else
{
maskSwitch[3] |= 0x02;
bitSwitch[3] &= ~0x02;
KeyBoard('Y', 1);
} }
if(maskData[3] & 0x08 && lastStateData[1] & 0x08) KeyBoard('S',1); // //światło górne
else KeyBoard('S',0); if (maskData[3] & 0x04) if (lastStateData[3] & 0x04)
{
KeyBoard(0x10, 1); // bistabilny
if(maskData[3] & 0x10 && lastStateData[1] & 0x10) { KeyBoard('U', 1);
KeyBoard(0x11,1); maskSwitch[3] |= 0x04;
KeyBoard('H',1); bitSwitch[3] |= 0x04;
}else{ KeyBoard('H',0);
KeyBoard(0x11,0);
} }
if(maskData[3] & 0x20 && lastStateData[1] & 0x20) {
KeyBoard(0x11,1);
KeyBoard(' ',1);
}else{ KeyBoard(' ',0);
KeyBoard(0x11,0);
}
if(maskData[3] & 0x40 && lastStateData[1] & 0x40) {
KeyBoard(0x10,1);
KeyBoard(' ',1);
}else{ KeyBoard(' ',0);
KeyBoard(0x10,0);
}
if(maskData[3] & 0x80 && lastStateData[1] & 0x80) {
KeyBoard(0x10,1);
KeyBoard('F',1);
}else{ KeyBoard('F',0);
KeyBoard(0x10,0);
}
/*PORT4*/ /*
if(maskData[4] & 0x02 && lastStateData[1] & 0x02) {
KeyBoard(0x10,1);
KeyBoard('X',1); //
KeyBoard('X',0);
KeyBoard(0x10,0);
}else{ KeyBoard('X',1); //
KeyBoard('X',0);
}
if(maskData[4] & 0x04 && lastStateData[1] & 0x04) {
KeyBoard(0x10,1);
KeyBoard('C',1); //
KeyBoard('C',0);
KeyBoard(0x10,0);
}else{ KeyBoard('C',1); //
KeyBoard('C',0);
}
if(maskData[4] & 0x08 && lastStateData[1] & 0x08) KeyBoard('S',1); //
else KeyBoard('S',0);
if(maskData[4] & 0x10 && lastStateData[1] & 0x10) {
KeyBoard(0x11,1);
KeyBoard('H',1);
}else{ KeyBoard('H',0);
KeyBoard(0x11,0);
}
if(maskData[4] & 0x20 && lastStateData[1] & 0x20) {
KeyBoard(0x11,1);
KeyBoard(' ',1);
}else{ KeyBoard(' ',0);
KeyBoard(0x11,0);
}
if(maskData[4] & 0x40 && lastStateData[1] & 0x40) {
KeyBoard(0x10,1);
KeyBoard(' ',1);
}else{ KeyBoard(' ',0);
KeyBoard(0x10,0);
}
if(maskData[4] & 0x80 && lastStateData[1] & 0x80) {
KeyBoard(0x10,1);
KeyBoard('F',1);
}else{ KeyBoard('F',0);
KeyBoard(0x10,0);
}
/*PORT5*/ /*
if(maskData[5] & 0x02 && lastStateData[1] & 0x02) {
KeyBoard(0x10,1);
KeyBoard('X',1); //
KeyBoard('X',0);
KeyBoard(0x10,0);
}else{
KeyBoard('X',1); //
KeyBoard('X',0);
}
if(maskData[5] & 0x04 && lastStateData[1] & 0x04) {
KeyBoard(0x10,1);
KeyBoard('C',1); //
KeyBoard('C',0);
KeyBoard(0x10,0);
}else{
KeyBoard('C',1); //
KeyBoard('C',0);
}
if(maskData[5] & 0x08 && lastStateData[1] & 0x08) KeyBoard('S',1); //
else else
KeyBoard('S',0); {
maskSwitch[3] |= 0x04;
bitSwitch[3] &= ~0x04;
KeyBoard('U', 1);
}
//światło prawe
if (maskData[3] & 0x08) if (lastStateData[3] & 0x08)
{
KeyBoard(0x10, 1); // bistabilny
KeyBoard('I', 1);
maskSwitch[3] |= 0x08;
bitSwitch[3] |= 0x08;
}
else
{
maskSwitch[3] |= 0x08;
bitSwitch[3] &= ~0x08;
KeyBoard('I', 1);
}
if(maskData[5] & 0x10 && lastStateData[1] & 0x10) {
KeyBoard(0x11,1);
KeyBoard('H',1);
}else{
KeyBoard('H',0);
KeyBoard(0x11,0);
}
if(maskData[5] & 0x20 && lastStateData[1] & 0x20) {
KeyBoard(0x11,1);
KeyBoard(' ',1);
}else{
KeyBoard(' ',0);
KeyBoard(0x11,0);
}
if(maskData[5] & 0x40 && lastStateData[1] & 0x40) {
KeyBoard(0x10,1);
KeyBoard(' ',1);
}else{
KeyBoard(' ',0);
KeyBoard(0x10,0);
}
if(maskData[5] & 0x80 && lastStateData[1] & 0x80) {
KeyBoard(0x10,1);
KeyBoard('F',1);
}else{
KeyBoard('F',0);
KeyBoard(0x10,0);
}//*/
/* NASTAWNIK, BOCZNIK i KIERUNEK */ /* NASTAWNIK, BOCZNIK i KIERUNEK */

View File

@@ -42,9 +42,9 @@
<OutDir>E:\Gry\EU07\eu07 exe\tmj-cpp</OutDir> <OutDir>E:\Gry\EU07\eu07 exe\tmj-cpp</OutDir>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'"> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<TargetName>mhEU07-201702relase</TargetName> <TargetName>mkEU07-20170308</TargetName>
<IntDir>$(SolutionDir)tmp\$(PlatformShortName)-$(Configuration)\$(ProjectName)\</IntDir> <IntDir>$(SolutionDir)tmp\$(PlatformShortName)-$(Configuration)\$(ProjectName)\</IntDir>
<OutDir>E:\Gry\EU07\eu07 exe\tmj-cpp-hamulec</OutDir> <OutDir>E:\Gry\EU07\MaSzyna_16_08</OutDir>
<LinkIncremental>false</LinkIncremental> <LinkIncremental>false</LinkIncremental>
</PropertyGroup> </PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'"> <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">