All Downloads are FREE. Search and download functionalities are using the official Maven repository.

data.nodescript.signals.SBB_Hauptsignal_System_L.nodescript Maven / Gradle / Ivy

### Dieses Script definiert ein Asseccory, 
### um die zwei bis sechs LED eines SBB Hauptsignals System L
### anzusteuern.
###
### Hardware: 2 - 6 Lightports (Port 0 = rt halt, 1 = gn fahrt, 2 = ge 40 km/h, 3 = gn 60 km/h, 4 = ge kurze Fahrt, 5 = gn 90 km/h)
### Software: 1 accessory
###           2 - 6 Makros, 0 = FB1 freie Fahrt, 
###                         1 = Halt,
###                         2 = FB2 Geschwindigkeits-Ausführung 40 km/h (optional)
###                         3 = FB3 Geschwindigkeits-Ausführung 60 km/h (optional)
###                         4 = FB5 Geschwindigkeits-Ausführung 90 km/h (optional)
###                         5 = FB6 Kurze Fahrt (optional)
###
###
### history: 2017-12-04 A.Tillner, inital Version
###          2018-02-18 A.Tillner, Optionale Lightports für Signalbilder
###          2018-02-21 Markus von Allmen, Stellwerkstypen
###          2018-03-04 A.Tillner, Macronamen in FBn und Halt umbenannt
###
### how to use:
### A) configure
###    In section 1, define your ports and the desired accessory number
###    In section 2, define your settings (like brightness and speed)
### B) load and run this script
###    what will happen?
###    1. the ports will be configured with the given parameters
###    2. three new macros for the aspects will be defined
###    3. these macros will be assigned to the accessory
### C) have fun
###
### -------------- 1. Select Target
##application(text:de="SBB Hauptsignal System L, 2 - 6 Fahrbegriffe", text:en="SBB Main signal System L, 2 - 6 Aspects")
##instruction(text:de="SBB Hauptsignal System L, 2 - 6 Fahrbegriffe
Lightports = rt_halt, gn_fahrt, ge_40, gn_60, ge_kurz, gn_90
Macros = FB1 Freie Fahrt, Halt
Optional: FB2 Geschwindigkeits-Ausführung 40 km/h, FB3 Geschwindigkeits-Ausführung 60 km/h, FB5 Geschwindigkeits-Ausführung 90 km/h, FB6 Kurze Fahrt", link="https://forum.opendcc.de/wiki/doku.php?id=konfigvorlagen:sbb_system_l" ) ##instruction(text:en="SBB main signal System L, 2 - 6 Aspects
Lightports = rt_halt, ge_fahrt, ge_40, gn_60, ge_kurz, gn_90
Macros = FB1 free ride, stop
Optional FB2 speed 40 km/h, FB3 speed 60 km/h, FB5 speed 90 km/h, FB6 short drive", link="https://forum.opendcc.de/wiki/doku.php?id=konfigvorlagen:sbb_system_l" ) ### ##input($AccessoryName:string, text:de="Name des Signal-Accessories: ", text:en="Name of the signal Accessory: ", default="SBB Hauptsignal System L") ##input($my_accessory:accessory, text:de="Nummer des zu erzeugenden Accessory: ", text:en="Number of the Accessory: ", default=0) ##input($my_macro:macro, text:de="Nummer des ersten Macros (Warning): ", text:en="Number of the first macro (warning): ", default=0) ##input($start_led:light, text:de="Nummer des ersten Lightport (gn_links): ", text:en="Number of the first Lightport (gn_left): ", default=0) ##input($speed_40:boolean, text:de="Optional: FB2 Geschwindigkeits-Ausführung 40 km/h : ", text:en="Optional: FB2 Speed 40 km/h : ", default=0) ##input($speed_60:boolean, text:de="Optional: FB3 Geschwindigkeits-Ausführung 60 km/h : ", text:en="Optional: FB3 Speed 60 km/h : ", default=0) ##input($speed_90:boolean, text:de="Optional: FB5 Geschwindigkeits-Ausführung 90 km/h : ", text:en="Optional: FB5 Speed 90 km/h : ", default=0) ##input($shortdrive:boolean, text:de="Optional: FB6 Kurze Fahrt : ", text:en="Optional: FB6 Short drive : ", default=0) ##input($STW:int, text:de="Stellwerkstyp:
0: Sichtbarer Lampentest wie z.B. SpDrS (default);
1: langsames Überblenden wie z.B. ELEKTRA;
2: schnelles Überblenden wie z.B. Domino 67:
(Bei anderen Eingaben wird SpDrS verwendet)", text:en="Railway control center type:
0: Visible bulb test as e.g. SpDrs (default);
1: slow cross-fading as e.g. ELEKTRA;
2: fast cross-fading as e.g. Domino 67:
(If another number is entered, 0 is used)", default=0) ##input($prevent_replace_labels:boolean, text:de="Keine Namen fuer Accessory, Makros, Ports ersetzen", text:en="Prevent replace labels for accessory, macro and ports", default=false) #set($led_gap = 1) ### die anderen vier LED sind an den folgenden vier Lightports angeschlossen ### ### -------------- 2. set Parameters for Ports #set($WertbeiOff = 0) #set($WertbeiOn = 200) #if (${STW} == 1) #set($Ueberblenden = 25) #set($BulbTestDelay = 0) #elseif (${STW} == 2) #set($Ueberblenden = 5) #set($BulbTestDelay = 0) #else #set(${STW} = 0) #set($Ueberblenden = 5) #set($BulbTestDelay = 5) #end #set($OnTime = 0) #if (${dimm_range} == 8) ### Es handelt sich um einen Knoten mit 8 Bit Dimming #set($DimmzeitOff = 10) #set($DimmzeitOn = 7) #set($DimmzeitOffParam = "DimmOff=${DimmzeitOff}") #set($DimmzeitOnParam = "DimmOn=${DimmzeitOn}") #else ### Es handelt sich um einen Knoten mit 16 Bit Dimming #set($DimmzeitOff = 2500) #set($DimmzeitOn = 1750) #set($DimmzeitOffParam = "DimmOff88=${DimmzeitOff}") #set($DimmzeitOnParam = "DimmOn88=${DimmzeitOn}") #end ### -------------- 3. define macros and lightports #set($mCount = 0) #set($macro_halt = $my_macro + $mCount) ### Macro Halt #set($led_rt_halt = $start_led + $mCount) ### Lightport LED rot config port ptype=light ValueOff=${WertbeiOff} ValueOn=${WertbeiOn} ${DimmzeitOffParam} ${DimmzeitOnParam} number=${led_rt_halt} #set($mCount = $mCount + 1) #set($macro_fahrt = $my_macro + $mCount) ### FB1 freie Fahrt #set($led_gn_fahrt = $start_led + $mCount) ### Lightport LED grün config port ptype=light ValueOff=${WertbeiOff} ValueOn=${WertbeiOn} ${DimmzeitOffParam} ${DimmzeitOnParam} number=${led_gn_fahrt} #if (${speed_40}) #set($mCount = $mCount + 1) #set($macro_40 = $my_macro + $mCount) ### FB2 Geschwindigkeits-Ausführung 40 km/h #set($led_ge_40 = $start_led + $mCount) ### Lightport LED gelb config port ptype=light ValueOff=${WertbeiOff} ValueOn=${WertbeiOn} ${DimmzeitOffParam} ${DimmzeitOnParam} number=${led_ge_40} #end #if (${speed_60}) #set($mCount = $mCount + 1) #set($macro_60 = $my_macro + $mCount) ### FB3 Geschwindigkeits-Ausführung 60 km/h #set($led_gn_60 = $start_led + $mCount) ### Lightport LED grün config port ptype=light ValueOff=${WertbeiOff} ValueOn=${WertbeiOn} ${DimmzeitOffParam} ${DimmzeitOnParam} number=${led_gn_60} #end #if (${shortdrive}) #set($mCount = $mCount + 1) #set($macro_short = $my_macro + $mCount) ### FB6 Kurze Fahrt #set($led_ge_short = $start_led + $mCount) ### Lightport LED gelb config port ptype=light ValueOff=${WertbeiOff} ValueOn=${WertbeiOn} ${DimmzeitOffParam} ${DimmzeitOnParam} number=${led_ge_short} #end #if (${speed_90}) #set($mCount = $mCount + 1) #set($macro_90 = $my_macro + $mCount) ### FB5 Geschwindigkeits-Ausführung 90 km/h #set($led_gn_90 = $start_led + $mCount) ### Lightport LED grün config port ptype=light ValueOff=${WertbeiOff} ValueOn=${WertbeiOn} ${DimmzeitOffParam} ${DimmzeitOnParam} number=${led_gn_90} #end ############################################################### ######################################## ### Setzt label, wenn ${prevent_replace_labels} NICHT true #if (!${prevent_replace_labels}) ### ### Set label of Ports set macro ${macro_halt} name="${AccessoryName}_${my_accessory}_Halt" set light ${led_gn_fahrt} name="${AccessoryName}_${my_accessory}_${led_gn_fahrt}_gn_fahrt" set macro ${macro_fahrt} name="${AccessoryName}_${my_accessory}_FB1" set light ${led_rt_halt} name="${AccessoryName}_${my_accessory}_${led_rt_halt}_rt_halt" #if (${speed_40}) set macro ${macro_40} name="${AccessoryName}_${my_accessory}_FB2" set light ${led_ge_40} name="${AccessoryName}_${my_accessory}_${led_ge_40}_ge_40" #end #if (${speed_60}) set macro ${macro_60} name="${AccessoryName}_${my_accessory}_FB3" set light ${led_gn_60} name="${AccessoryName}_${my_accessory}_${led_gn_60}_gn_60" #end #if (${speed_90}) set macro ${macro_90} name="${AccessoryName}_${my_accessory}_FB5" set light ${led_gn_90} name="${AccessoryName}_${my_accessory}_${led_gn_90}_gn_90" #end #if (${shortdrive}) set macro ${macro_short} name="${AccessoryName}_${my_accessory}_FB6" set light ${led_ge_short} name="${AccessoryName}_${my_accessory}_${led_ge_short}_ge_short" #end ### Set label of Accessories set accessory ${my_accessory} name="${AccessoryName}_${my_accessory}" #end ######################################## ################################################/ ### Macro Hauptsignal Halt ### select macro ${macro_halt} config macro repeat=1 slowdown=1 ### nicht benoetigte LED's ausschalten add step ptype=light action=down number=${led_rt_halt} add step ptype=light action=down number=${led_gn_fahrt} #if (${speed_40}) add step ptype=light action=down number=${led_ge_40} #end #if (${speed_60}) add step ptype=light action=down number=${led_gn_60} #end #if (${speed_90}) add step ptype=light action=down number=${led_gn_90} #end #if (${shortdrive}) add step ptype=light action=down number=${led_ge_short} #end ### Halt setzten, nach $Ueberblenden Ticks add step ptype=light action=up delay=${Ueberblenden} number=${led_rt_halt} ### ### Ende Macro Hauptsignal Halt ### ################################################/ ################################################/ ### Macro Hauptsignal FB1 Freie Fahrt ### select macro ${macro_fahrt} config macro repeat=1 slowdown=1 ### nicht benoetigte LED's ausschalten #if (${speed_90}) add step ptype=light action=down number=${led_gn_90} #end #if (${speed_60}) add step ptype=light action=down number=${led_gn_60} #end #if (${shortdrive}) add step ptype=light action=down number=${led_ge_short} #end #if (${speed_40}) add step ptype=light action=down number=${led_ge_40} #end #if (${STW} == 0) add step ptype=light action=down number=${led_gn_fahrt} ### Halt wegnehmen, nach $Ueberblenden Ticks add step ptype=light action=down number=${led_rt_halt} ### Fahrbegriffsstromkreis "testen" / einschalten add step ptype=light action=up delay=${Ueberblenden} number=${led_gn_fahrt} #elseif (${STW} == 1) add step ptype=light action=down number=${led_gn_fahrt} ### Fahrbegriffsstromkreis "testen" / einschalten add step ptype=light action=up delay=${Ueberblenden} number=${led_gn_fahrt} ### Halt wegnehmen, nach $Ueberblenden Ticks add step ptype=light action=down delay=${Ueberblenden} number=${led_rt_halt} #else ### Fahrbegriffsstromkreis "testen" / einschalten add step ptype=light action=up delay=${Ueberblenden} number=${led_gn_fahrt} ### Halt wegnehmen, nach $Ueberblenden Ticks add step ptype=light action=down delay=${Ueberblenden} number=${led_rt_halt} #end ### Ende Macro FB1 Hauptsignal Freie Fahrt ### ################################################/ #if (${speed_40}) ################################################/ ### Macro Hauptsignal FB2 Geschwindigkeits-Ausführung 40 km/h ### select macro ${macro_40} config macro repeat=1 slowdown=1 ### nicht benoetigte LED's ausschalten #if (${speed_90}) add step ptype=light action=down number=${led_gn_90} #end #if (${speed_60}) add step ptype=light action=down number=${led_gn_60} #end #if (${shortdrive}) add step ptype=light action=down number=${led_ge_short} #end #if (${STW} == 0) add step ptype=light action=down number=${led_gn_fahrt} add step ptype=light action=down number=${led_ge_40} ### Halt wegnehmen, nach $Ueberblenden Ticks add step ptype=light action=down number=${led_rt_halt} ### Fahrbegriffsstromkreis "testen" / einschalten add step ptype=light action=up delay=${Ueberblenden} number=${led_ge_40} add step ptype=light action=up delay=${BulbTestDelay} number=${led_gn_fahrt} #elseif (${STW} == 1) add step ptype=light action=down number=${led_gn_fahrt} add step ptype=light action=down number=${led_ge_40} ### Fahrbegriffsstromkreis "testen" / einschalten add step ptype=light action=up delay=${Ueberblenden} number=${led_ge_40} add step ptype=light action=up number=${led_gn_fahrt} ### Halt wegnehmen, nach $Ueberblenden Ticks add step ptype=light action=down delay=${Ueberblenden} number=${led_rt_halt} #else ### Fahrbegriffsstromkreis "testen" / einschalten add step ptype=light action=up delay=${Ueberblenden} number=${led_ge_40} add step ptype=light action=up number=${led_gn_fahrt} ### Halt wegnehmen, nach $Ueberblenden Ticks add step ptype=light action=down delay=${Ueberblenden} number=${led_rt_halt} #end ### ### Ende Macro Hauptsignal FB2 Geschwindigkeits-Ausführung 40 km/h ### ################################################/ #end #if (${speed_60}) ################################################/ ### Macro Hauptsignal FB3 Geschwindigkeits-Ausführung 60 km/h ### select macro ${macro_60} config macro repeat=1 slowdown=1 ### nicht benoetigte LED's ausschalten / Halt, falls geschaltet bleibt #if (${speed_90}) add step ptype=light action=down number=${led_gn_90} #end #if (${shortdrive}) add step ptype=light action=down number=${led_ge_short} #end #if (${speed_40}) add step ptype=light action=down number=${led_ge_40} #end #if (${STW} == 0) add step ptype=light action=down number=${led_gn_fahrt} add step ptype=light action=down number=${led_gn_60} ### Halt wegnehmen, nach $Ueberblenden Ticks add step ptype=light action=down number=${led_rt_halt} ### Fahrbegriffsstromkreis "testen" / einschalten add step ptype=light action=up delay=${Ueberblenden} number=${led_gn_60} add step ptype=light action=up delay=${BulbTestDelay} number=${led_gn_fahrt} #elseif (${STW} == 1) add step ptype=light action=down number=${led_gn_fahrt} add step ptype=light action=down number=${led_gn_60} ### Fahrbegriffsstromkreis "testen" / einschalten add step ptype=light action=up delay=${Ueberblenden} number=${led_gn_60} add step ptype=light action=up number=${led_gn_fahrt} ### Halt wegnehmen, nach $Ueberblenden Ticks add step ptype=light action=down delay=${Ueberblenden} number=${led_rt_halt} #else ### Fahrbegriffsstromkreis "testen" / einschalten add step ptype=light action=up delay=${Ueberblenden} number=${led_gn_60} add step ptype=light action=up number=${led_gn_fahrt} ### Halt wegnehmen, nach $Ueberblenden Ticks add step ptype=light action=down delay=${Ueberblenden} number=${led_rt_halt} #end ### ### Ende Macro Hauptsignal FB3 Geschwindigkeits-Ausführung 60 km/h ### ################################################/ #end #if (${speed_90}) ################################################/ ### Macro Hauptsignal FB5 Geschwindigkeits-Ausführung 90 km/h ### select macro ${macro_90} config macro repeat=1 slowdown=1 ### nicht benoetigte LED's ausschalten / Halt, falls geschaltet bleibt #if (${shortdrive}) add step ptype=light action=down number=${led_ge_short} #end #if (${speed_40}) add step ptype=light action=down number=${led_ge_40} #end #if (${STW} == 0) add step ptype=light action=down number=${led_gn_fahrt} add step ptype=light action=down number=${led_gn_90} add step ptype=light action=down number=${led_gn_60} ### Halt wegnehmen, nach $Ueberblenden Ticks add step ptype=light action=down number=${led_rt_halt} ### Fahrbegriffsstromkreis "testen" / einschalten add step ptype=light action=up delay=${Ueberblenden} number=${led_gn_90} add step ptype=light action=up delay=${BulbTestDelay}number=${led_gn_60} add step ptype=light action=up delay=${BulbTestDelay} number=${led_gn_fahrt} #elseif (${STW} == 1) add step ptype=light action=down number=${led_gn_fahrt} add step ptype=light action=down number=${led_gn_90} add step ptype=light action=down number=${led_gn_60} ### Fahrbegriffsstromkreis "testen" / einschalten add step ptype=light action=up delay=${Ueberblenden} number=${led_gn_90} add step ptype=light action=up number=${led_gn_60} add step ptype=light action=up number=${led_gn_fahrt} ### Halt wegnehmen, nach $Ueberblenden Ticks add step ptype=light action=down delay=${Ueberblenden} number=${led_rt_halt} #else ### Fahrbegriffsstromkreis "testen" / einschalten add step ptype=light action=up delay=${Ueberblenden} number=${led_gn_90} add step ptype=light action=up number=${led_gn_60} add step ptype=light action=up number=${led_gn_fahrt} ### Halt wegnehmen, nach $Ueberblenden Ticks add step ptype=light action=down delay=${Ueberblenden} number=${led_rt_halt} #end ### ### Ende Macro FB5 Geschwindigkeits-Ausführung 90 km/h ### ################################################/ #end #if ( ${shortdrive} ) ################################################/ ### Macro Hauptsignal FB6 Kurze Fahrt ### select macro ${macro_short} config macro repeat=1 slowdown=1 ### nicht benoetigte LED's ausschalten / Halt, falls geschaltet bleibt add step ptype=light action=down number=${led_gn_fahrt} #if (${speed_90}) add step ptype=light action=down number=${led_gn_90} #end #if (${speed_60}) add step ptype=light action=down number=${led_gn_60} #end #if (${STW} == 0) #if (${shortdrive}) add step ptype=light action=down number=${led_ge_short} #end #if (${speed_40}) add step ptype=light action=down number=${led_ge_40} #end ### Halt wegnehmen, nach $Ueberblenden Ticks add step ptype=light action=down number=${led_rt_halt} ### Fahrbegriffsstromkreis "testen" / einschalten #if (${shortdrive}) add step ptype=light action=up delay=${Ueberblenden} number=${led_ge_short} #end #if (${speed_40}) add step ptype=light action=up delay=${BulbTestDelay} number=${led_ge_40} #end #elseif (${STW} == 1) #if (${shortdrive}) add step ptype=light action=down number=${led_ge_short} #end #if (${speed_40}) add step ptype=light action=down number=${led_ge_40} #end ### Fahrbegriffsstromkreis "testen" / einschalten #if (${shortdrive}) add step ptype=light action=up delay=${Ueberblenden} number=${led_ge_short} #end #if (${speed_40}) add step ptype=light action=up number=${led_ge_40} #end ### Halt wegnehmen, nach $Ueberblenden Ticks add step ptype=light action=down delay=${Ueberblenden} number=${led_rt_halt} #else ### Fahrbegriffsstromkreis "testen" / einschalten #if (${shortdrive}) add step ptype=light action=up delay=${Ueberblenden} number=${led_ge_short} #end #if (${speed_40}) add step ptype=light action=up number=${led_ge_40} #end ### Halt wegnehmen, nach $Ueberblenden Ticks add step ptype=light action=down delay=${Ueberblenden} number=${led_rt_halt} #end ### ### Ende Macro Hauptsignal FB6 Kurze Fahrt ### ################################################/ #end ### Define Accessory #set($aCount = 0) select accessory ${my_accessory} add aspect ${aCount} macronumber=${macro_fahrt} #set($aCount = $aCount + 1) add aspect ${aCount} macronumber=${macro_halt} #if(${speed_40}) #set($aCount = $aCount + 1) add aspect ${aCount} macronumber=${macro_40} #end #if(${speed_60}) #set($aCount = $aCount + 1) add aspect ${aCount} macronumber=${macro_60} #end #if(${speed_90}) #set($aCount = $aCount + 1) add aspect ${aCount} macronumber=${macro_90} #end #if(${shortdrive}) #set($aCount = $aCount + 1) add aspect ${aCount} macronumber=${macro_short} #end




© 2015 - 2024 Weber Informatics LLC | Privacy Policy