// ---------------------------------- Funktionen für CAN void CANMSG0x100009() { // ---------------------------- Begin CAN Nachricht 0x10009 senden an Modul 2 Einfahrt SBH Süd // eigentliche Daten werden eingefüllt // mit bitwrite lassen sich einzelne bits innerhalb eines Bytes beschreiben. Hier Zustand TasterState in Erstes (ganz rechtes) Bit von Data0 schreiben CAN_TX_msg.data[0] = UFahrSBHSudEinfahrtState; CAN_TX_msg.data[1] = UFahrKreuzungWendelSudState; bitWrite (CAN_TX_msg.data[2], 0, FahrstromEinfahrtSBHSudState); bitWrite (CAN_TX_msg.data[2], 1, FahrstromEinzahrtWendelSudState ); bitWrite (CAN_TX_msg.data[2], 2, WeicheEinfahrtSBHSudGeradeausState); bitWrite (CAN_TX_msg.data[2], 3, WeicheEinfahrtSBHSudAbbiegenState); CAN_TX_msg.len = 3; // Länge der Nachricht unsigned long currentMillis = millis(); // Senden alle x millisekunden if (currentMillis - Zeit_Speicher0 >= interval1) { Zeit_Speicher0 = currentMillis; if ( ( counter_msg % 2) == 0) { // Rest der Nachricht wird befüllt CAN_TX_msg.type = DATA_FRAME; if (CAN_TX_msg.len == 0) CAN_TX_msg.type = REMOTE_FRAME; CAN_TX_msg.format = EXTENDED_FORMAT; CAN_TX_msg.id = 0x100009; // nachrichten ID } CANSend(&CAN_TX_msg); // Übergabe der Nachricht an die Hardware } //// ---------------------------- Ende CAN Nachricht 0x10009 senden an Modul 2 } void CANMSG0x100010() { // ---------------------------- Begin CAN Nachricht 0x100010 senden an Modul 3 Einfahrt SBH Süd // eigentliche Daten werden eingefüllt // mit bitwrite lassen sich einzelne bits innerhalb eines Bytes beschreiben. Hier Zustand TasterState in Erstes (ganz rechtes) Bit von Data0 schreiben bitWrite (CAN_TX_msg.data[0], 0, WeicheSBHSudGleis1GeradeausState); // Data 01 Steuerung der Ausgaenge Modul3 SBH Sued Rechts bitWrite (CAN_TX_msg.data[0], 1, WeicheSBHSudGleis1AbbiegenState); bitWrite (CAN_TX_msg.data[0], 2, WeicheSBHSudGleis2GeradeausState); bitWrite (CAN_TX_msg.data[0], 3, WeicheSBHSudGleis2AbbiegenState); bitWrite (CAN_TX_msg.data[0], 4, WeicheSBHSudGleis3GeradeausState); bitWrite (CAN_TX_msg.data[0], 5, WeicheSBHSudGleis3AbbiegenState); bitWrite (CAN_TX_msg.data[0], 6, WeicheSBHSudGleis4GeradeausState); bitWrite (CAN_TX_msg.data[0], 7, WeicheSBHSudGleis4AbbiegenState); bitWrite (CAN_TX_msg.data[1], 0, FahrstromEinfahrtSBHSudState); CAN_TX_msg.data[2] = UFahrSBHSudEinfahrtState; CAN_TX_msg.data[3] = UFahrKreuzungWendelSudState; CAN_TX_msg.len = 4; // Länge der Nachricht unsigned long currentMillis = millis(); // Senden alle x millisekunden if (currentMillis - Zeit_Speicher1 >= interval) { Zeit_Speicher1 = currentMillis; if ( ( counter_msg1 % 2) == 0) { // Rest der Nachricht wird befüllt CAN_TX_msg.type = DATA_FRAME; if (CAN_TX_msg.len == 0) CAN_TX_msg.type = REMOTE_FRAME; CAN_TX_msg.format = EXTENDED_FORMAT; CAN_TX_msg.id = 0x100010; // nachrichten ID } CANSend(&CAN_TX_msg); // Übergabe der Nachricht an die Hardware } } void CANMSG0x100011() { // ---------------------------- Begin CAN Nachricht 0x10011 senden an Modul 4 // eigentliche Daten werden eingefüllt // mit bitwrite lassen sich einzelne bits innerhalb eines Bytes beschreiben. Hier Zustand TasterState in Erstes (ganz rechtes) Bit von Data0 schreiben // Data 00 Steuerung der Ausgaenge Modul2 Einfahrt SBH Sued bitWrite (CAN_TX_msg.data[0], 0, FahrstromSBHSudGleis1State); bitWrite (CAN_TX_msg.data[0], 1, FahrstromSBHSudGleis2State); bitWrite (CAN_TX_msg.data[0], 2, FahrstromSBHSudGleis3State); bitWrite (CAN_TX_msg.data[0], 3, FahrstromSBHSudGleis4State); bitWrite (CAN_TX_msg.data[0], 4, FahrstromSBHSudGleis5State); CAN_TX_msg.data[1] = UFahrSBHSudEinfahrtState; CAN_TX_msg.data[2] = UFahrSBHSudAbstellState; CAN_TX_msg.data[3] = UFahrKreuzungWendelSudState; CAN_TX_msg.data[4] = UFahrSBHSudAusfahrtState; CAN_TX_msg.len = 5; // Länge der Nachricht unsigned long currentMillis = millis(); // Senden alle x millisekunden if (currentMillis - Zeit_Speicher2 >= interval1) { Zeit_Speicher2 = currentMillis; if ( ( counter_msg2 % 2) == 0) { // Rest der Nachricht wird befüllt CAN_TX_msg.type = DATA_FRAME; if (CAN_TX_msg.len == 0) CAN_TX_msg.type = REMOTE_FRAME; CAN_TX_msg.format = EXTENDED_FORMAT; CAN_TX_msg.id = 0x100011; // nachrichten ID } CANSend(&CAN_TX_msg); // Übergabe der Nachricht an die Hardware } //// ---------------------------- Ende CAN Nachricht 0x10011 senden an Modul 4 } void CANMSG0x100020() { // ---------------------------- Begin CAN Nachricht 0x10020 senden an Modul 1 WendelSBHSudU // eigentliche Daten werden eingefüllt // mit bitwrite lassen sich einzelne bits innerhalb eines Bytes beschreiben. Hier Zustand TasterState in Erstes (ganz rechtes) Bit von Data0 schreiben CAN_TX_msg.data[0] = UFahrWendelSud1nach0State; bitWrite (CAN_TX_msg.data[1], 0, FahrstromHauptSBHSudState); CAN_TX_msg.len = 2; // Länge der Nachricht unsigned long currentMillis = millis(); // Senden alle x millisekunden if (currentMillis - Zeit_Speicher10 >= interval1) { Zeit_Speicher10 = currentMillis; if ( ( counter_msg % 2) == 0) { // Rest der Nachricht wird befüllt CAN_TX_msg.type = DATA_FRAME; if (CAN_TX_msg.len == 0) CAN_TX_msg.type = REMOTE_FRAME; CAN_TX_msg.format = EXTENDED_FORMAT; CAN_TX_msg.id = 0x100020; // nachrichten ID } CANSend(&CAN_TX_msg); // Übergabe der Nachricht an die Hardware } //// ---------------------------- Ende CAN Nachricht 0x10020 senden an Modul 1 } void CANMSGSBHSUD() // Alle nachrichten für SBH SUD Senden { // CANMSG0x100020(); // Nachricht an Modul1 //CANMSG0x100009(); // Nachricht an Modul2 //CANMSG0x100010(); // Nachricht an Modul3 CANMSG0x100011(); // Nachricht an Modul4 } void CAN() { // ------------------------------------------------------------ Begin CAN { // ---------------------------- Begin CAN Empfangen { // ---------------------------- CAN Nachricht 0x100001 empfangen LED 1 & 2 Grün und Rot if (CANMsgAvail()) { CANReceive(&CAN_RX_msg); // Prüfen ob neue Nachricht empfangen werden kann (liegt eine neue Nachricht zum abholen bereit?) if (CAN_RX_msg.type == DATA_FRAME) { if (CAN_RX_msg.id == 0x100001) // Empfang der nachricht 0x100001 von Modul 2 { LSEinfahrtSBHSudState = bitRead (CAN_RX_msg.data[0], 0); LSEinfahrtWendelSudUState = bitRead (CAN_RX_msg.data[0], 1); FahrstromFehlerModul2 = bitRead (CAN_RX_msg.data[0], 2); M2Ein = (CAN_RX_msg.data[1]); } if (CAN_RX_msg.id == 0x100002) // nachrichten ID 0x100002 von Modul 3 { LSEinfahrtSBHSudGleis1State = bitRead(CAN_RX_msg.data[0], 0); LSEinfahrtSBHSudGleis2State = bitRead(CAN_RX_msg.data[0], 1); LSEinfahrtSBHSudGleis3State = bitRead(CAN_RX_msg.data[0], 2); LSEinfahrtSBHSudGleis4State = bitRead(CAN_RX_msg.data[0], 3); LSEinfahrtSBHSudGleis5State = bitRead(CAN_RX_msg.data[0], 4); FahrstromFehlerModul3 = bitRead(CAN_RX_msg.data[0], 5); LSUmfahrSBHSudState = bitRead(CAN_RX_msg.data[0], 6); } if (CAN_RX_msg.id == 0x100003) // nachrichten ID 0x100003 von Modul 4 { LSEndposSBHSudGleis1State = bitRead(CAN_RX_msg.data[0], 0); LSEndposSBHSudGleis2State = bitRead(CAN_RX_msg.data[0], 1); LSEndposSBHSudGleis3State = bitRead(CAN_RX_msg.data[0], 2); LSEndposSBHSudGleis4State = bitRead(CAN_RX_msg.data[0], 3); LSEndposSBHSudGleis5State = bitRead(CAN_RX_msg.data[0], 4); FahrstromFehlerModul4 = bitRead(CAN_RX_msg.data[0], 5); } if (CAN_RX_msg.id == 0x100004) // nachrichten ID 0x100004 von Modul 5 { LSEinfahrtKehrschleifeSBHSudState = bitRead(CAN_RX_msg.data[0], 0); FahrstromFehlerModul5 = bitRead(CAN_RX_msg.data[0], 1); } if (CAN_RX_msg.id == 0x100005) // nachrichten ID 0x100005 von Modul 6 { LSEinfahrtSBHWestWendelSudState = bitRead(CAN_RX_msg.data[0], 0); LSEinfahrtSBHWestWendelWestState = bitRead(CAN_RX_msg.data[0], 1); LSEinfahrtSBHSudWendelWestState = bitRead(CAN_RX_msg.data[0], 2); FahrstromFehlerModul6 = bitRead(CAN_RX_msg.data[0], 3); } if (CAN_RX_msg.id == 0x100006) // nachrichten ID 0x100006 von Modul 8 { LSEndposSBHWestGleis1State = bitRead (CAN_RX_msg.data[0], 0); LSEndposSBHWestGleis2State = bitRead (CAN_RX_msg.data[0], 1); LSEndposSBHWestGleis3State = bitRead (CAN_RX_msg.data[0], 2); LSEndposSBHWestGleis4State = bitRead (CAN_RX_msg.data[0], 3); LSEndposSBHWestGleis5State = bitRead (CAN_RX_msg.data[0], 4); FahrstromFehlerModul8 = bitRead (CAN_RX_msg.data[0], 5); LSUmfahrSBHWestState = bitRead (CAN_RX_msg.data[0], 6); } if (CAN_RX_msg.id == 0x100007) // nachrichten ID 0x100007 von Modul 9 { LSEinfahrtSBHWestGleis1State = bitRead (CAN_RX_msg.data[0], 0); LSEinfahrtSBHWestGleis2State = bitRead (CAN_RX_msg.data[0], 1); LSEinfahrtSBHWestGleis3State = bitRead (CAN_RX_msg.data[0], 2); LSEinfahrtSBHWestGleis4State = bitRead (CAN_RX_msg.data[0], 3); LSEinfahrtSBHWestGleis5State = bitRead (CAN_RX_msg.data[0], 4); FahrstromFehlerModul9 = bitRead (CAN_RX_msg.data[0], 5); } if (CAN_RX_msg.id == 0x100008) // Empfang der nachricht 0x100008 von Modul 10 { LSEinfahrtSBHWestState = bitRead (CAN_RX_msg.data[0], 0); FahrstromFehlerModul10 = bitRead (CAN_RX_msg.data[0], 1); } if (CAN_RX_msg.id == 0x1000019) // Empfang der nachricht 0x500019 von Modul 1 { LSEinfahrtWendelWest0State = bitRead (CAN_RX_msg.data[0], 0); FahrstromFehlerModul11 = bitRead (CAN_RX_msg.data[0], 1); } if (CAN_RX_msg.id == 0x500021) // Empfang der nachricht 0x500021 von Stellwerk0 PCB C { TastSBHSudGleis1State = bitRead (CAN_RX_msg.data[0], 0); TastSBHSudGleis2State = bitRead (CAN_RX_msg.data[0], 1); TastSBHSudGleis3State = bitRead (CAN_RX_msg.data[0], 2); TastSBHSudGleis4State = bitRead (CAN_RX_msg.data[0], 3); TastSBHSudGleis5State = bitRead (CAN_RX_msg.data[0], 4); SchaltSBHSudAutomatikState = bitRead (CAN_RX_msg.data[1], 0); SchaltSBHSudWendeState = bitRead (CAN_RX_msg.data[1], 1); SchaltSBHSudDurchfahrtState = bitRead (CAN_RX_msg.data[1], 2); SchaltSBHSudVorbeifahrtState = bitRead (CAN_RX_msg.data[1], 3); } if (CAN_RX_msg.id == 0x500022) // Empfang der nachricht 0x500022 von Stellwerk0 PCB A { TastSBHWestGleis1State = bitRead (CAN_RX_msg.data[0], 0); TastSBHWestGleis2State = bitRead (CAN_RX_msg.data[0], 1); TastSBHWestGleis3State = bitRead (CAN_RX_msg.data[0], 2); TastSBHWestGleis4State = bitRead (CAN_RX_msg.data[0], 3); TastSBHWestGleis5State = bitRead (CAN_RX_msg.data[0], 4); SchaltSBHWestAutomatikState = bitRead (CAN_RX_msg.data[1], 0); SchaltSBHWestWendeState = bitRead (CAN_RX_msg.data[1], 1); SchaltSBHWestDurchfahrtState = bitRead (CAN_RX_msg.data[1], 2); SchaltSBHWestVorbeifahrtState = bitRead (CAN_RX_msg.data[1], 3); } if (CAN_RX_msg.id == 0x500023) // Empfang der nachricht 0x500023 von Stellpult 0 { SchaltWendel0WestSudState = bitRead (CAN_RX_msg.data[0], 0); SchaltWendel0WestWestState = bitRead (CAN_RX_msg.data[0], 1); SchaltWendel0SudWestState = bitRead (CAN_RX_msg.data[0], 2); SchaltWendel0SudSudState = bitRead (CAN_RX_msg.data[0], 3); } } } } // Ende CAN Empfangen // begin CAN senden { //// ---------------------------- Ende CAN Nachricht 0x100010 senden an Modul 3 /*{ // ---------------------------- Begin CAN Nachricht 0x10012 senden an Modul 5 Kehrschleife SBH Süd // eigentliche Daten werden eingefüllt // mit bitwrite lassen sich einzelne bits innerhalb eines Bytes beschreiben. Hier Zustand TasterState in Erstes (ganz rechtes) Bit von Data0 schreiben bitWrite (CAN_TX_msg.data[0], 0, WeicheKehrschleifeSBHSudGeradeausState); // Data 00 Steuerung der Ausgaenge bitWrite (CAN_TX_msg.data[0], 1, WeicheKehrschleifeSBHSudAbbiegenState); bitWrite (CAN_TX_msg.data[0], 2, FahrstromSBHSudWendelSudState); CAN_TX_msg.data[1] = UFahrKreuzungWendelSudState; CAN_TX_msg.data[2] = UFahrSBHSudAusfahrtState; CAN_TX_msg.len = 3; // Länge der Nachricht unsigned long currentMillis = millis(); // Senden alle x millisekunden if (currentMillis - Zeit_Speicher3 >= interval) { Zeit_Speicher3 = currentMillis; if ( ( counter_msg3 % 2) == 0) { // Rest der Nachricht wird befüllt CAN_TX_msg.type = DATA_FRAME; if (CAN_TX_msg.len == 0) CAN_TX_msg.type = REMOTE_FRAME; CAN_TX_msg.format = EXTENDED_FORMAT; CAN_TX_msg.id = 0x100012; // nachrichten ID } CANSend(&CAN_TX_msg); // Übergabe der Nachricht an die Hardware } // ---------------------------- Ende CAN Nachricht 0x10012 senden an Modul 5 }*/ /*{ // ---------------------------- Begin CAN Nachricht 0x10013 senden an Modul 6 Kreuzung // eigentliche Daten werden eingefüllt // mit bitwrite lassen sich einzelne bits innerhalb eines Bytes beschreiben. Hier Zustand TasterState in Erstes (ganz rechtes) Bit von Data0 schreiben CAN_TX_msg.data[0] = UFahrKreuzungWendelSudState; CAN_TX_msg.data[1] = UFahrSBHWestAusfahrtState; CAN_TX_msg.data[2] = UFahrSBHSudAusfahrtState; bitWrite (CAN_TX_msg.data[3], 0, WeicheKehrschleifeSBHWestGeradeausState); // Data 00 Steuerung der Ausgaenge bitWrite (CAN_TX_msg.data[3], 1, WeicheKehrschleifeSBHSudAbbiegenState); bitWrite (CAN_TX_msg.data[3], 2, FahrstromSBHWestWendelSudState); bitWrite (CAN_TX_msg.data[3], 3, FahrstromSBHWestWendelWestState); bitWrite (CAN_TX_msg.data[3], 4, FahrstromSBHSudWendelWestState); CAN_TX_msg.len = 4; // Länge der Nachricht unsigned long currentMillis = millis(); // Senden alle x millisekunden if (currentMillis - Zeit_Speicher15 >= interval) { Zeit_Speicher15 = currentMillis; if ( ( counter_msg3 % 2) == 0) { // Rest der Nachricht wird befüllt CAN_TX_msg.type = DATA_FRAME; if (CAN_TX_msg.len == 0) CAN_TX_msg.type = REMOTE_FRAME; CAN_TX_msg.format = EXTENDED_FORMAT; CAN_TX_msg.id = 0x100013; // nachrichten ID } CANSend(&CAN_TX_msg); // Übergabe der Nachricht an die Hardware } // ---------------------------- Ende CAN Nachricht 0x10013 senden an Modul 5 }*/ /* { // ---------------------------- Begin CAN Nachricht 0x100014 senden an Modul 8 // eigentliche Daten werden eingefüllt // mit bitwrite lassen sich einzelne bits innerhalb eines Bytes beschreiben. Hier Zustand TasterState in Erstes (ganz rechtes) Bit von Data0 schreiben // Data 00 Steuerung der Ausgaenge Modul8 SBH West rechts bitWrite (CAN_TX_msg.data[0], 0, FahrstromSBHWestGleis1State); bitWrite (CAN_TX_msg.data[0], 1, FahrstromSBHWestGleis2State); bitWrite (CAN_TX_msg.data[0], 2, FahrstromSBHWestGleis3State); bitWrite (CAN_TX_msg.data[0], 3, FahrstromSBHWestGleis4State); bitWrite (CAN_TX_msg.data[0], 4, FahrstromSBHWestGleis5State); bitWrite (CAN_TX_msg.data[0], 5, FahrstromUmfahrSBHWestState); bitWrite (CAN_TX_msg.data[0], 6, FahrstromAusfahrtSBHWestState); bitWrite (CAN_TX_msg.data[0], 7, UFahrSBHWestAusfahrtState); CAN_TX_msg.data[1] = UFahrSBHWestEinfahrtState; CAN_TX_msg.data[2] = UFahrSBHWestAbstellState; CAN_TX_msg.data[3] = UFahrSBHWestAusfahrtState; CAN_TX_msg.len = 4; // Länge der Nachricht unsigned long currentMillis = millis(); // Senden alle x millisekunden if (currentMillis - Zeit_Speicher11 >= interval1) { Zeit_Speicher11 = currentMillis; if ( ( counter_msg2 % 2) == 0) { // Rest der Nachricht wird befüllt CAN_TX_msg.type = DATA_FRAME; if (CAN_TX_msg.len == 0) CAN_TX_msg.type = REMOTE_FRAME; CAN_TX_msg.format = EXTENDED_FORMAT; CAN_TX_msg.id = 0x100014; // nachrichten ID } CANSend(&CAN_TX_msg); // Übergabe der Nachricht an die Hardware } //// ---------------------------- Ende CAN Nachricht 0x10014 senden an Modul 8 } { // ---------------------------- Begin CAN Nachricht 0x100015 senden an Modul 9 Einfahrt SBH West // eigentliche Daten werden eingefüllt // mit bitwrite lassen sich einzelne bits innerhalb eines Bytes beschreiben. Hier Zustand TasterState in Erstes (ganz rechtes) Bit von Data0 schreiben bitWrite (CAN_TX_msg.data[0], 0, WeicheSBHWestGleis1GeradeausState); // Data 01 Steuerung der Ausgaenge Modul3 SBH Sued Rechts bitWrite (CAN_TX_msg.data[0], 1, WeicheSBHWestGleis1AbbiegenState); bitWrite (CAN_TX_msg.data[0], 2, WeicheSBHWestGleis2GeradeausState); bitWrite (CAN_TX_msg.data[0], 3, WeicheSBHWestGleis2AbbiegenState); bitWrite (CAN_TX_msg.data[0], 4, WeicheSBHWestGleis3GeradeausState); bitWrite (CAN_TX_msg.data[0], 5, WeicheSBHWestGleis3AbbiegenState); bitWrite (CAN_TX_msg.data[0], 6, WeicheSBHWestGleis4GeradeausState); bitWrite (CAN_TX_msg.data[0], 7, WeicheSBHWestGleis4AbbiegenState); CAN_TX_msg.data[1] = UFahrSBHWestEinfahrtState; CAN_TX_msg.len = 2; // Länge der Nachricht unsigned long currentMillis = millis(); // Senden alle x millisekunden if (currentMillis - Zeit_Speicher13 >= interval) { Zeit_Speicher13 = currentMillis; if ( ( counter_msg1 % 2) == 0) { // Rest der Nachricht wird befüllt CAN_TX_msg.type = DATA_FRAME; if (CAN_TX_msg.len == 0) CAN_TX_msg.type = REMOTE_FRAME; CAN_TX_msg.format = EXTENDED_FORMAT; CAN_TX_msg.id = 0x100015; // nachrichten ID } CANSend(&CAN_TX_msg); // Übergabe der Nachricht an die Hardware } } { // ---------------------------- Begin CAN Nachricht 0x100016 senden an Modul 10 Einfahrt SBH West // eigentliche Daten werden eingefüllt // mit bitwrite lassen sich einzelne bits innerhalb eines Bytes beschreiben. Hier Zustand TasterState in Erstes (ganz rechtes) Bit von Data0 schreiben CAN_TX_msg.data[0] = UFahrSBHWestEinfahrtState; bitWrite (CAN_TX_msg.data[0], 0, FahrstromEinfahrtSBHWestState); bitWrite (CAN_TX_msg.data[0], 1, WeicheEinfahrtSBHWestGeradeausState); // später Ergänzt bitWrite (CAN_TX_msg.data[0], 2, WeicheEinfahrtSBHWestAbbiegenState); CAN_TX_msg.data[1] = UFahrSBHWestEinfahrtState; CAN_TX_msg.data[2] = UFahrSBHWestAusfahrtState; CAN_TX_msg.len = 3; // Länge der Nachricht unsigned long currentMillis = millis(); // Senden alle x millisekunden if (currentMillis - Zeit_Speicher14 >= interval1) { Zeit_Speicher14 = currentMillis; if ( ( counter_msg % 2) == 0) { // Rest der Nachricht wird befüllt CAN_TX_msg.type = DATA_FRAME; if (CAN_TX_msg.len == 0) CAN_TX_msg.type = REMOTE_FRAME; CAN_TX_msg.format = EXTENDED_FORMAT; CAN_TX_msg.id = 0x100016; // nachrichten ID } CANSend(&CAN_TX_msg); // Übergabe der Nachricht an die Hardware } //// ---------------------------- Ende CAN Nachricht 0x100016 senden an Modul 2 } */ /* */ /* { // ---------------------------- Begin CAN Nachricht 0x50024 senden an StellWerk0 PCBB // eigentliche Daten werden eingefüllt // mit bitwrite lassen sich einzelne bits innerhalb eines Bytes beschreiben. Hier Zustand TasterState in Erstes (ganz rechtes) Bit von Data0 schreiben bitWrite (CAN_TX_msg.data[0], 0, LSEinfahrtSBHSudState); bitWrite (CAN_TX_msg.data[0], 1, LSEinfahrtWendelSudUState); bitWrite (CAN_TX_msg.data[0], 3, LSEinfahrtSBHSudGleis1State ); bitWrite (CAN_TX_msg.data[0], 4, LSEinfahrtSBHSudGleis2State ); bitWrite (CAN_TX_msg.data[0], 5, LSEinfahrtSBHSudGleis3State ); bitWrite (CAN_TX_msg.data[0], 6, LSEinfahrtSBHSudGleis4State ); bitWrite (CAN_TX_msg.data[0], 7, LSEinfahrtSBHSudGleis5State ); bitWrite (CAN_TX_msg.data[1], 0, LSEndposSBHSudGleis1State ); bitWrite (CAN_TX_msg.data[1], 1, LSEndposSBHSudGleis2State ); bitWrite (CAN_TX_msg.data[1], 2, LSEndposSBHSudGleis3State ); bitWrite (CAN_TX_msg.data[1], 3, LSEndposSBHSudGleis4State ); bitWrite (CAN_TX_msg.data[1], 4, LSEndposSBHSudGleis5State ); bitWrite (CAN_TX_msg.data[1], 5, LSEinfahrtKehrschleifeSBHSudState ); bitWrite (CAN_TX_msg.data[1], 6, VARSBHSudFehlerState ); bitWrite (CAN_TX_msg.data[1], 7, VARSBHSudVollState ); bitWrite (CAN_TX_msg.data[2], 0, SchaltSBHSudAutomatikState); CAN_TX_msg.data[3] = UFahrSBHSudEinfahrtState; CAN_TX_msg.data[4] = UFahrSBHSudAbstellState; CAN_TX_msg.data[5] = SBHSudStatus; CAN_TX_msg.data[6] = SBHSUDaktGleis; CAN_TX_msg.len = 7; // Länge der Nachricht unsigned long currentMillis = millis(); // Senden alle x millisekunden if (currentMillis - Zeit_Speicher9 >= interval1) { Zeit_Speicher9 = currentMillis; if ( ( counter_msg2 % 2) == 0) { // Rest der Nachricht wird befüllt CAN_TX_msg.type = DATA_FRAME; if (CAN_TX_msg.len == 0) CAN_TX_msg.type = REMOTE_FRAME; CAN_TX_msg.format = EXTENDED_FORMAT; CAN_TX_msg.id = 0x100024; // nachrichten ID } CANSend(&CAN_TX_msg); // Übergabe der Nachricht an die Hardware } //// ---------------------------- Ende CAN Nachricht 0x50024 senden an Stellpult Ebene 0 } */ /* { // ---------------------------- Begin CAN Nachricht 0x50025 senden an StellWerk0 PCBB // eigentliche Daten werden eingefüllt // mit bitwrite lassen sich einzelne bits innerhalb eines Bytes beschreiben. Hier Zustand TasterState in Erstes (ganz rechtes) Bit von Data0 schreiben bitWrite (CAN_TX_msg.data[0], 0, LSEinfahrtSBHWestState); bitWrite (CAN_TX_msg.data[0], 1, LSEinfahrtWendelWest0State); bitWrite (CAN_TX_msg.data[0], 3, LSEinfahrtSBHWestGleis1State ); bitWrite (CAN_TX_msg.data[0], 4, LSEinfahrtSBHWestGleis2State ); bitWrite (CAN_TX_msg.data[0], 5, LSEinfahrtSBHWestGleis3State ); bitWrite (CAN_TX_msg.data[0], 6, LSEinfahrtSBHWestGleis4State ); bitWrite (CAN_TX_msg.data[0], 7, LSEinfahrtSBHWestGleis5State ); bitWrite (CAN_TX_msg.data[1], 0, LSEndposSBHWestGleis1State ); bitWrite (CAN_TX_msg.data[1], 1, LSEndposSBHWestGleis2State ); bitWrite (CAN_TX_msg.data[1], 2, LSEndposSBHWestGleis3State ); bitWrite (CAN_TX_msg.data[1], 3, LSEndposSBHWestGleis4State ); bitWrite (CAN_TX_msg.data[1], 4, LSEndposSBHWestGleis5State ); // bitWrite (CAN_TX_msg.data[1], 5, LSEinfahrtKehrschleifeSBHWestState ); bitWrite (CAN_TX_msg.data[1], 6, VARSBHWestFehlerState ); bitWrite (CAN_TX_msg.data[1], 7, VARSBHWestVollState ); bitWrite (CAN_TX_msg.data[2], 0, SchaltSBHWestAutomatikState); CAN_TX_msg.data[3] = UFahrSBHWestEinfahrtState; CAN_TX_msg.data[4] = UFahrSBHWestAbstellState; CAN_TX_msg.data[5] = SBHWestStatus; CAN_TX_msg.data[6] = SBHWESTaktGleis; CAN_TX_msg.len = 7; // Länge der Nachricht unsigned long currentMillis = millis(); // Senden alle x millisekunden if (currentMillis - Zeit_Speicher12 >= interval1) { Zeit_Speicher12 = currentMillis; if ( ( counter_msg2 % 2) == 0) { // Rest der Nachricht wird befüllt CAN_TX_msg.type = DATA_FRAME; if (CAN_TX_msg.len == 0) CAN_TX_msg.type = REMOTE_FRAME; CAN_TX_msg.format = EXTENDED_FORMAT; CAN_TX_msg.id = 0x100025; // nachrichten ID } CANSend(&CAN_TX_msg); // Übergabe der Nachricht an die Hardware } //// ---------------------------- Ende CAN Nachricht 0x50025 senden an Stellpult Ebene 0 }*/ } } // ------------------------------------------------------------ Ende CAN }