JMRI

Índex

General

Instal·lació / Installation

  • JMRI Install Guide: Linux
  • Download
  • JMRI / JMRI (Github)
  • From package
  • From source
    • JMRI Code: Getting the Code
    • Steps
      1. Dependències / Dependencies
        • Mageia
          • urpmi ...
      2. git clone https://github.com/JMRI/JMRI.git
      3. cd JMRI
      4. Choose one of the following methods:

        • dependencies
          build
          run
          ant
          • Mageia: urpmi ant rhino
          • ant -p
          • ant debug
          • ant decoderpro
          • ant panelpro
          • ant package-linux
            • cd dist/Linux/JMRI
            • ./DecoderPro
            • ./PanelPro
            • ...
          maven
          • mvn test
          • mvn compile net.ossindex:ossindex-maven-plugin:audit
          • mvn versions:display-dependency-updates
          • mvn versions:display-plugin-updates
          • mvn antrun:run -Danttarget=decoderpro
          • mvn antrun:run -Danttarget=panelpro
          Eclipse
          • Eclipse
            • Help -> Install new software
              • Work with: Oxygen
                • Eclipse Java Development Tools
                • m3e Maven integration for Eclipse

          Run -> Run configurations
          • Maven Build
            • JMRI DecoderPro
              • Main -> Base directory:
                • ${workspace_loc:/JMRI}
              • Environment
                • Variable: _JAVA_OPTIONS
                • Value: -Dawt.useSystemAAFontSettings=lcd
            • JMRI PanelPro
  • Problemes / Problems
  • Directoris / Directories

    • Settings dir Profile Panel
      launch DecoderPro, PanelPro --settingsdir=.../jmri_second DecoderPro, PanelPro --profile=Profile_1
      preferences Edit / Preferences / Config Profiles / Search Paths Edit / Preferences / Config Profiles / Config Profiles PanelPro: Panels / Open Panels...

      /home/<user>/.jmri/
      • profiles.xml
      • log/
      • preferences/
        • preferences.properties
      My_JMRI_Railroad.jmri/
      El _meu_ferrocarril_al_JMRI.jmri/
      • roster.xml
      • roster/
        • loco_1.xml
        • static_decoder_1.xml
        • ...
      • profile/
        • profile.xml
          • <connection>...
        • profile.properties
      • programmers/
      • signal/
        • WarrantPreferences.xml
      • throttle/
        • ThrottlesPreferences.xml
        • WiThrottlePreferences.xml
      • panel1.xml
      • panel2.xml
      • ...

      Profile_1.jmri/
      • profile/
        • profile.xml
        • profile.properties
      • programmers/
      • throttle/
        • ThrottlesPreferences.xml
        • WiThrottlePreferences.xml


      ...

      .../jmri_second/
      • profiles.xml
      • log/
      • preferences/
        • preferences.properties
      My_JMRI_Railroad.jmri/
      ...


      ...

  • ...

Maquinari / Hardware

Desenvolupament / Development

DecodePro

  • Edita / Preferències... / Visualització / Aspecte: Nimbus
  • Edit / Preferences... / Connections
    • +

      • System manufacturer System connection Settings



        Connection Prefix Connection Name
        z21 Roco Roco Z21 Z Z21
        DCC++ DCC++


  • Descodificador mòbil (locomotora)
    • Nova Locomotora
      • «New loco»
      • «Llegeix el tipus de descodificador»
        • z21 es posarà en mode PT (led verd): només hi pot haver una locomotora a la via
        • Llegirà els valors de:
          • CV8: mfgID
          • CV7: versionID
          • (CV250: productID)
        • i els compararà amb els valors que hi ha al fitxer JMRI/xml/decoderIndex.xml
      • Seleccioneu la locomotora
        • pestanya «Basic»
          • Speed steps: 28/128 (per a evitar problemes amb els llums / to avoid problems with lights [F0])
    • «Identifica»
      • Troba la locomotora (que ja té una entrada a la llista) i marca la seva entrada (z21 es posarà un moment en mode PT)
    • Ús de la locomotora
      • seleccioneu l'entrada de la llista (o bé trobeu-la amb «Identify»/«Identifica»)
      • menú amb el botó dret: «Throttle»/«...»
  • Descodificador estàtic o d'accessoris
    • Nou descodificador estàtic (e.g. Digikeijs DR4018)
      • «New loco»
      • Decoder installed: Digirails / Stationary / DR4018
      • Roster ID: DR4018_1
      • Long (two byte) address: 9999
    • Lectura de valors CV (PT)
      • només hi ha d'haver el descodificador estàtic connectat a central
      • cal posar una resistència al DR4018, entre 1 i C
      • a baix a la dreta, seleccioneu «Programming Track»
      • cliqueu sobre el botó «Program»
        • p.ex. per a la lectura del valor de CV7 (versió):
          • pestanya «CVs»
            • 7 -> Read
    • Escriptura de valors CV (POM, PT)
      • si es fa servir POM, pot haver-hi altres descodificadors connectats, perquè POM envia l'adreça
      • a baix a la dreta, seleccioneu «Programming On Main»
  • Config
    • xml/names.xml
      • definitiongroup
        definition
        name
        item
        CV
        Basic



        Short Address

        Long Address

        Advanced Ack
        29b4
        Address Format
        29b5
        Speed and Motor
        Vstart
        2

        Vmid
        6

        Vhigh
        5

        Accel
        3

        Decel
        4



        AnalogPowerConversion


        Identification


        Consisitng


        BEMF and Motot Control


        Lighting


        Function mapping


        Advanced


        Sound


PanelPro

  • Create control panels using:
    • name
      image
      description
      usage
      tutorial
      Panel Editor jmri_control_panel_editor

      "lets you graphically draw a Panel exactly the way you want it,
      and then animate parts of it to show the status of your layout and let you click to control it."
      • graphical control panels
      • as many panels as you like
      • can be used to control the railroad
      • flexibility over appearance
      • supports warrants and automatic running
      • modular layouts
      • complicated panels for large layouts

      JMRI panel tutorial - Part 2
      Control Panel Editor "works like Panel Editor but provides an alternative interface.": menus, drag and drop

      Layout Editor jmri_layou_editor
      "provides tools to make a smart schematic of your layout while constructing the logic for signals, etc.
      This constrains how the panel appears a little, but it can save significant time when first bringing your layout up."
      • logical description of the layout
      • only for a single layout
      • designed for automation and semi-automation
      • can directly control turnouts and signals
      • needed by other jmri tools
      JMRI panel tutorial - Part 1
      Switchboard Editor jmri_switchboard_editor
      "is a graphic, straightforward control interface, showing a range of switch keys to watch and control items."
      • basic inputs: sensors
      • basic outputs: turnouts, lights

  • Passos / Steps
    • Launch PanelPro
      • Or, from DecoderPro: File->Open PanelPro Window
    • Create items with the following names (from Tables, or directly before adding items to the panel):
      • system name
        user name
        prefix
        type
        address

        • X: Z21XpressNet
        • L: Z21LocoNet
        • N: NCE
        • I: Internal
        • T: turnout, output in signal mast
        • S: sensor
        • L: light
        • H: signal head
        • B: block
        • Y: section
        • Z: transit
        • AL: audio listener
        • AB: audio buffer
        <integer>
        (free)
    • Panels -> New Panel -> [Panel Editor, Control Panel Editor, Layout Editor, Switchboard Editor]
  • Tutorials
      • Part 1 - Focusing on the Layout Editor (pdf) (xml)
        • 1.1 Background
        • 1.2 Layout Editor
        • 1.3 Panel Editor
        • 1.4 Getting Started
          • Connection1 (Edit -> Preferences)
            • System Manufacturer: NCE
            • System connection: Simulator
          • Download gif files:
            • mkdir ~/.jmri/panels && cd ~/.jmri/panels
            • wget http://quaker-valley.com/CTC/sampleCTC.gif
            • wget http://quaker-valley.com/CTC/QV_CTC.gif
        • 1.5 JMRI Tables
          • 1.5.1 Turnout Table
            • type
              • internal turnouts (IT): represent parts of your panel
              • connected to hardware turnouts (NT, XT, LT...)
            • Tools -> Tables -> Turnouts
              • Add: NT1, NT2, NT3, NT4, IT5
          • 1.5.2 Sensor Table
            • type:
              • internal sensors (IS)
              • connected to hardware sensors (NS,...): block detectors, push buttons, toggle switches
            • Tools -> Tables -> Sensors
              • Add: IS801 (BLOCK 801) - IS806 (BLOCK 806), IS901 (INTERLOCK 1) - IS904 (INTERLOCK 4)
        • 1.6 Layout Editor Development
          • Panels -> New Panel -> Layout Editor
            • Options
              • Grid Options
                • Show Grid in Edit Mode
                • Snap to Grid when Adding
            • Put all turnouts on grid (shift + click)
              • Turnout: LH, Name: Turnout 1 (top left), Rotate: 180
              • Turnout: RH, Name: Turnout 2 (bottom left), Rotate: 180
              • Turnout: LH, Name: Turnout 3 (bottom right)
              • Turnout: RH, Name: Turnout 4 (top right)
              • Turnout: LH, Name: Turnout 5 (bottom centre)
        • 1.7 Adding Track
          • Adding track (hold shift + click start over an anchor point + move to another anchor point + release):
            • seccions superior i inferior / top and bottom sections:
              • Track: Track Segment, Mainline
            • secció esquerra / left section:
              • Track nodes: Anchor Point
              • Track: Track Segment, Mainline
              • left click on central circle: Change to: circle; Flipped
              • Track: Track Segment, Mainline
              • left click on central circle: Change to: circle; Flipped
            • secció dreta / right section:
              • Track: Track Segment, Mainline
              • left click on central circle: Change to: circle
            • via morta / dead end:
              • Track nodes: End Bumper
              • Track: Track Segment
            • internal left
              • Track: Track Segment
              • left click on central circle: Change to: circle
            • internal right
              • Track Nodes: Anchor Point
              • Track: Track Segment
            • titles:
              • Label: Label Text
            • Options: disable Edit Mode
            • Options: Save Location and Size
            • Turnout are now functional
        • 1.8 SAVE your work
          • Panels -> Store Panels: JMRI Layout Panel
      • Part 2 - Developing a CTC Panel with Panel Editor (pdf) (xml)
        • Layout Panel Panel Editor
          element block nivell / level
          elements
          Select the type of icon to Add to Panel System name / User name Change Icon... Logix
          Logix






          • Select from: Program Directory / icons /...
          • drag to one of the status





          detectors
          Sensor
          • NS801 / Detector 801
          • NS802 / Detector 802
          • NS803 / Detector 803
          • NS804 / Detector 804
          • NS805 / Detector 805
          • NS806 / Detector 806
          • USS / plate / levers
            • Active: switch-on switch-on
            • Inactive: switch-off switch-off
            • Unknown: switch-unknown switch-unknown
            • Inconsistent: switch-inconsistent switch-inconsitent
          Levers simulate presence sensors
          Logix
          Conditional

          Name
          State Variable (if)
          Action (then)
          IX801 / Block 801
          IX801C1 / Block 801 Occupied
          • Sensor "NS801" state is "Sensor Active" switch-on
          • On Change To True, Set Sensor, "IS801" to Active red
          • On Change To True, Play Sound File from file, ...toggle-on.wav
          IX801C2 / Block 801 Unoccupied
          • Sensor "NS801" state is "Sensor Inactive" switch-off
          • On Change to True, Delayed Set Sensor, "IS801" to Inactive white, after 5 seconds
          • On Change to True, Play Sound from File, ...toggle-of.wav
          IX802 IX802C1

          IX802C2

          IX803 IX803C1

          IX803C2

          IX804 IX804C1

          IX804C2

          IX805 IX805C1

          IX805C2

          IX806 IX806C1

          IX806C2



          • top segment track
          • 2 external left segment tracks
          • internal left segment track
          • 2 bottom segment tracks; turnout NT5
          • external right segment track
          • 3 internal right segment tracks
          • Block 801
          • Block 802
          • Block 803
          • Block 804
          • Block 805
          • Block 806
          10 block sensors
          Sensor
          • IS801 / BLOCK 801 (extrem / end x2)
          • IS802 / BLOCK 802 (Weston principal / main)
          • IS803 / BLOCK 803 (Weston secundari / siding)
          • IS804 / BLOCK 804 (yard turnout x2)
          • IS805 / BLOCK 805 (Eastville principal / main)
          • IS806 / BLOCK 806 (Eastville secundari / siding)
          • smallschematics / LEDs
            • Active: yellow red
            • Inactive: gray white
            • Unknown: red red
            • Inconsistent: red red
          Presence sensors and turnout status set the interlock sensors
          Logix
          Conditional

          Name
          State Variable
          Action
          IX901 / Interlock 901
          IX901C1 / Turnout Normal Occupied
          • R1: Sensor "IS801" state is "Sensor Active" red
          • R2: Sensor "IS802" state is "Sensor Active" red
          • R3: Turnout "NT1" state is "Turnout Closed"
          • On Change To True, Set Sensor, "IS901" to Active red
          IX901C2 / Turnout Normal Unoccupied
          • (R1 or R2) and R3
          • R1: Sensor "IS801" state is "Sensor Inactive" white
          • R2: Sensor "IS802" state is "Sensor Inactive" white
          • R3: Turnout "NT1" state is "Turnout Closed"
          • On Change To True, Delayed Set Sensor, "IS901" to Inactive white, after 5 seconds
          IX901C3 / Turnout Reverse Occupied
          • R1: Sensor "IS801" state is "Sensor Active" red
          • R2: Sensor "IS803" state is "Sensor Active" red
          • R3: Turnout "NT1" state is "Turnout Thrown"
          • On Change To True, Set Sensor, "IS901" to Active red
          IX901C4 / Turnout Reverse Unoccupied
          • (R1 or R2) and R3
          • R1: Sensor "IS801" state is "Sensor Inactive" white
          • R2: Sensor "IS803" state is "Sensor Inctive" white
          • R3: Turnout "NT1" state is "Turnout Thrown"
          • On Change To True, Delayed Set Sensor, "IS901" to Inactive white, after 5 seconds

          • NT1 / Turnout 1
          • NT2 / Turnout 2
          • NT3 / Turnout 3
          • NT4 / Turnout 4
          • Block 901
          • Block 902
          • Block 903
          • Block 904

          interlock sensors
          Sensor
          • IS901 / INTERLOCK 1
          • IS902 / INTERLOCK 2
          • IS903 / INTERLOCK 3
          • IS904 / INTERLOCK 4
          • smallschematics / LEDs
            • Active:  red red
            • Inactive: gray white
            • Unknown: ?
            • Inconsistent: ?



          10 turnout lamps (on left)
          Right Hand Turnout
          • NT1 / Turnout 1
          • NT2 / Turnout 2
          • NT3 / Turnout 3
          • NT4 / Turnout 4
          • USS / sensor
            • Closed (recte): green-on green-on
            • Thrown (desviat): green-off green-off
            • Unknown: s-unknown s-unknown
            • Inconsistent: s-inconsistent s-inconsistent
          Levers and code buttons control turnouts (and associated green/amber lamps)
          Logix
          Conditional

          Name
          State Variable
          Action
          IX03 / Turnout Lever 3 IX03C1 / Lever Normal (recte)
          • R1: Sensor "Turnout Lever 3" state is "Sensor Inactive"I-left
          • AND R2: Sensor "Code Button 4" state is "Sensor Active"code
          • AND R3: Sensor  "IS901" state is "Sensor Inactive"white
          • On Change to True, Set Turnout, "NT1" to Closed
          IX03C2 / Lever Reverse (desviat)
          • R1: Sensor "Turnout Lever 3" state is "Sensor Active"I-right
          • AND R2: Sensor "Code Button 4" state is "Sensor Active"code
          • AND R3: Sensor  "IS901" state is "Sensor Inactive"white
          • On Change to True, Set Turnout, "NT1" to Thrown
          IX05 / Turnout Lever 5 IX05C1
          • R1: Sensor "Turnout Lever 5" state is "Sensor Inactive"I-left
          • AND R2: Sensor "Code Button 6" state is "Sensor Active"code
          • AND R3: Sensor  "IS902" state is "Sensor Inactive"white
          • On Change to True, Set Turnout, "NT2" to Closed
          IX05C2
          • R1: Sensor "Turnout Lever 5" state is "Sensor Active"I-right
          • AND R2: Sensor "Code Button 6" state is "Sensor Active"code
          • AND R3: Sensor  "IS902" state is "Sensor Inactive"white
          • On Change to True, Set Turnout, "NT2" to Thrown
          IX09 / Turnout Lever 9 IX09C1
          • R1: Sensor "Turnout Lever 9" state is "Sensor Inactive"I-left
          • AND R2: Sensor "Code Button 10" state is "Sensor Active"code
          • AND R3: Sensor  "IS903" state is "Sensor Inactive"white
          • On Change to True, Set Turnout, "NT3" to Closed
          IX09C2
          • R1: Sensor "Turnout Lever 9" state is "Sensor Active"I-right
          • AND R2: Sensor "Code Button 10" state is "Sensor Active"code
          • AND R3: Sensor  "IS903" state is "Sensor Inactive"white
          • On Change to True, Set Turnout, "NT3" to Thrown
          IX11 / Turnout Lever 11 IX11C1
          • R1: Sensor "Turnout Lever 11" state is "Sensor Inactive"I-left
          • AND R2: Sensor "Code Button 12" state is "Sensor Active"code
          • AND R3: Sensor  "IS904" state is "Sensor Inactive"white
          • On Change to True, Set Turnout, "NT4" to Closed
          IX11C2
          • R1: Sensor "Turnout Lever 11" state is "Sensor Active"I-right
          • AND R2: Sensor "Code Button 12" state is "Sensor Active"code
          • AND R3: Sensor  "IS904" state is "Sensor Inactive"white
          • On Change to True, Set Turnout, "NT4" to Thrown



          10 turnout lamps (on right)
          • USS / sensor
            • Closed (recte): amber-off amber-off
            • Thrown (desviat): amber-on amber-on
            • Unknown: s-unknown s-unknown
            • Inconsistent: s-inconsistent s-inconsistent


          10
          levers (over turnout plate)
          Sensor
          • IS03 / Turnout Lever 3
          • IS05 / Turnout Lever 5
          • IS09 / Turnout Lever 9
          • IS11 / Turnout Lever 11
          • USS / plate / levers
            • Active: I-right I-right
            • Inactive: I-left I-left
            • Unknown: I-unknown I-unknown
            • Inconsistent: I-inconsistent I-inconsistent



          10
          code buttons (over signal plate)
          Sensor
          • IS04 / Code Button 4
          • IS06 / Code Button 6
          • IS10 / Code Button 10
          • IS12 / Code Button 12
          • USS / plate / levers
            • Active: code-press code
            • Inactive: code code-press
            • Unknown: code-unknown code-unknown
            • Inconsistent: code-inconsistent code-inconsistent




          text







          tracks (static) Icon

          • USS / track / turnout / left / east: east-l east-l
          • USS / track / turnout / right / west: west-r west-r
          • USS / track / block: block block





          plates (static)
          Icon

          • USS / plate / numbered-plates / turnout sw-3
            • sw-3: (77,337)
            • sw-5: (142,337)
            • sw-9: (272,337)
            • sw-11: (337,337)
          • USS / plate / numbered-plates / signal si-4
            • si-4: (77,435)
            • si-6: (142,435)
            • si-10: (272,435)
            • si-12: (337,435)
          • USS / plate / base-plates / misc codeuss-plate




          2
          backgorund icons (static)
          Icon

          • USS / background panel-left-7panel-blank-7panel-blank-7panel-blank-7panel-blank-7panel-blank-7panel-blank-7panel-blank-7panel-right-7
            • Panel-left-7
            • Panel-blank-7: (12,0)
            • Panel-blank-7: (77,0)
            • Panel-blank-7: (142,0)
            • Panel-blank-7: (207,0)
            • Panel-blank-7: (272,0)
            • Panel-blank-7: (337,0)
            • Panel-blank-7: (402,0)
            • Panel-right-7: (467,0)




          1






        • To add an icon to the Panel Editor:
          1. Select the type of icon to Add to Panel
          2. Change Icon...
            • Icon: 1 icon
            • Sensor: 4 icons
            • Right Hand Turnout: 4 icons
            • ...
          3. Add to Panel
        • 2.1 Panel Editor Development
          • create a new panel
            • Panels -> New Panel -> Panel Editor
        • 2.2 Adding Turnout and Signal Plates
        • 2.3 Adding Turnout Levers and Code Buttons
          • "The turnout or switch lever is an internal sensor that through the Logix controls the railroad turnouts."
        • 2.4 Adding Turnout Lever Logix
        • 2.5 The CTC Panel Track Diagram
          • Panel -> Edit -> Open Editor
          • add tracks (static) to Panel Editor
            • Select the type to Add to Panel: Left HandTurnout
              • NT1 -> Add to Panel
            • Select the type to Add to Panel: Icon
            • Change Icon...
              • View on: Dark Gray
              • Program Directory / icons / USS / track / turnout / left / east
                • drag east-l to Icon
                • Add to Panel (twice)
              • Program Directory / icons / USS / track / turnout / ritgh / west
                • drag west-r to Icon
                • Add to Panel (twice)
              • Program Directory / icons / USS / track / block
                • drag block (left-click over draw, not text) to Icon
                • Add to Panel (15 times)
                • drag "b-45-dark" to Icon
                • Add to Panel (Rotate 90 degrees)
          • add text to Panel Editor:
            • Add text
              • "WESTON", Font -> Font Size: 16, Font -> Font Color: Yellow
              • "EASTVILLE", Font -> Font Size: 16, Font -> Font Color: Yellow
              • "3", Font -> Font Size: 16, Font -> Font Color: Yellow
              • "5", Font -> Font Size: 16, Font -> Font Color: Yellow
              • "9", Font -> Font Size: 16, Font -> Font Color: Yellow
              • "11", Font -> Font Size: 16, Font -> Font Color: Yellow
          • add block sensors to Panel Editor
            • IS801, IS802, IS803, IS804, IS805
          • 2.5.1 Activating the Block Sensors
            • ...
        • 2.6 Adding Block Detection to the Layout Panel
          • Options -> Edit
          • Add block 801:
            • Tables -> Blocks
              • Add...
                • System Name: 801
                • User Name: Block 801
                • Sensor: BLOCK 801 (IS801)
          • Associate Block 801 to Main track
          • Block Sensor Occupied Track Color Layout Panel
            Block 801 BLOCK 801 / IS801 Red
            • top segment track
            Block 802 BLOCK 802 / IS802 Red
            • 2 external left segment tracks
            Block 803 BLOCK 803 / IS803 Orange
            • internal left segment track
            Block 804 BLOCK 804 / IS804 Red
            • 2 bottom segment tracks
            • turnout 5
            Block 805 BLOCK 805 / IS805 Red
            • external right segment track
            Block 806 BLOCK 806 / IS806 Orange
            • 3 internal right segment tracks
            Block 901 INTERLOCK 1 / IS901 Red
            • turnout 1 / NT1
            Block 902 INTERLOCK 2 / IS902 Red
            • turnout 2 / NT2
            Block 903 INTERLOCK 3 / IS903 Red
            • turnout 3 / NT3
            Block 904 INTERLOCK 4 / IS904 Red
            • turnout 4 / NT4
          • ...
        • 2.7 Panel Startup Route
          • Tools->Tables -> Sensor: IS999 / RESET
          • Tools->Tables->Routes:R999
            • Turnouts:
              • NTx / Turnout x: Include, SetClosed
            • Sensors:
              • ISxx / Turnout lever x: Include, SetInactive
              • ISxx / Code Button x: Include, SetInactive
              • NS80x / Detector 80x: Include, SetInactive
            • Sensors that trigger this Route:
              • RESET, On Active
          • Panel Editor: add RESET sensor
          • ...
        • ...
      • Part 3 - Adding Signals and Simple Signal Logic (pdf) (xml)

        • Table -> Signal Heads Set Signals... Edit Logic...






          Protects Sensors Red when Turnout... Protects Signal
          NT1 IH4EU / Signal 4 East Upper Throat - Continuing




          IH4EL / Signal 4 East Lower Throat - Diverging




          IH4WM / Signal 4 West Main Continuing




          IH4WS / Signal 4 West Siding Diverging



          NT2 IH6WU / Signal 6 West Upper Throat - Continuing




          IH6WL / Signal 6 West Lower Throat - Diverging




          IH6EM / Signal 6 East Main Continuing Main Leg of Turnout
          • BLOCK 804
          • INTERLOCK 2
          Turnout 2 state is Thrown
          • Signal 10 East Upper
          • Signal 10 East Lower

          IH6ES / Signal 6 East Siding Diverging Diverging Leg of Turnout
          • BLOCK 804
          • INTERLOCK 2
          Turnout 2 state is Closed
          • Signal 10 East Upper
          • Signal 10 East Lower
          NT3 IH10EU / Signal 10 East Upper Throat - Continuing




          IH10EL / Signal 10 East Lower Throat - Diverging




          IH10WM / Signal 10 West Main Continuing




          IH10WS / Signal 10 West Siding Diverging



          NT4 IH12WU / Signal 12 West Upper Throat - Continuing




          IH12WL / Signal 12 West Lower Throat - Diverging




          IH12EM / Signal 12 East Main Continuing




          IH12ES / Signal 12 East Siding Diverging



        • 3.1 Adding Signals to the Layout Panel
          • Tables -> Signals -> Signal Heads
            • signals near turnout 3 (Virtual)
              • IH4EU, Signal 4 East Upper
              • IH4EL, Signal 4 East Lower
              • IH4WM, Signal 4 West Main
              • IH4WS, Signal 4 West Siding
          • ...
      • ...
  • Signaling
    • Un signal mast està composat de diversos signal head (cadascun pot estar en un appearance concret).
    • Aspect: cadascuna de les combinacions dels signals heads que hi ha en un signal mast.
    • Indication: significat d'un aspecte.
    • JMRI: Signal Heads
    • JMRI: Signal Masts
    • JMRI: Aspect Signaling
    • JMRI: Signal Groups
    • JMRI: Signal Mast Logic
    • JMRI: Defining Your Own Signaling System
      • index.shtml - Free-form description of the signal system
      • aspects.xml - Define the complete set of available aspects
      • appearance-*.xml - One file for each type of SignalMast, defining how to display each aspect
      • Validation
        • PanelPro -> Debug -> Validate XML File
        • Use xmlstarlet
          • xmlstarlet val -s http://jmri.org/xml/schema/aspecttable.xsd -e aspects.xml
          • xmlstarlet val -s http://jmri.org/xml/schema/appearancetable.xsd -e appearance...xml
      • xml -> html (no need to create them, as xml will be rendered as html when accessing them through an http server, which makes use of xml/XSLT/ translation files)
        • xmlstarlet tr ~/src/JMRI/xml/XSLT/aspecttable.xsl aspects.xml >aspects.html
        • ...
      • nginx conf to render xml files:
        • /etc/nginx/default.conf
          • server {
                listen       80;
                server_name  _;

                location /jmri {
                    alias /disc/src/JMRI;
                    autoindex on;
                }
            }
        • http://127.0.0.1/jmri/xml/signals/
      • francesc.pinyol.m / jmri-signals
    • Estructura de fitxers / File structure
      • resources/icons/<smallschematics|largeschematics>/aspects/<system_name>-<system_year>/
        • index.php
        • <CPL|PL|SE|SL|>-<number_signal_heads>-<high|low>-<abs|pbs>/
          • index.php
          • rule-<rule_number>.<gif|png|jpeg>
      • xml/signals/<system_name>/
        • appearance-<CPL|PL|SE|SL|>_<number_signal_heads>_<high|low>_<abs|pbs>.xml (sample-appearance.xml)
          • CPL: Color Position Light
            PL: Position Light
            SE: Semaphore
            SL: Searchlight
          • abs: absolute
            pbs: permissive
          • content
            • <aspectname>
            • <show>
            • ...
            • <reference>
            • ...
            • <imagelink type="small">../../../resources/icons/smallschematics/aspects/...
            • <imagelink type="large">../../../resources/icons/largeschematics/aspects/...
        • aspects.xml (sample-aspects.xml)
          • aspect



            name
            indication rule
            speed
            speed2
            route
            dccAspect
            Adif





            (signalSpeeds.xml)






            Clear
            Proceed

            Normal
            Normal


            Vía libre
            VL
            FF1A
            Approach Limited
            Proceed approaching next signal at limited speed.
            Proceed prepared to pass next signal not exceeding 60 MPH and be prepared to enter diverging route at prescribed speed.








            Advance Approach
            Proceed preparing to stop at the second signal
            Proceed prepared to pass next signal not exceeding 50 MPH and be prepared to enter diverging route at prescribed speed.








            Approach Diverging









            Approach Medium
            Proceed prepared to pass next signal not exceeding 40 MPH  and be prepared to enter diverging route at prescribed speed.







            Approach Medium (Diverging)
            Proceed prepared to pass next signal not exceeding 40 MPH  and be prepared to enter diverging route at prescribed speed.








            Approach restricting
            Proceed prepared to pass next signal at restricted speed.








            Approach
            Proceed prepared to stop at next signal.
            Proceed prepared to stop at next signal, trains exceeding 30 MPH immediately reduce to that speed.

            Medium
            Medium





            Diverging Clear
            Proceed through diverging route
            Proceed on diverging route not exceeding prescribed speed through turnout. (Prescribed speed is 60 MPH).

            Medium Medium




            Diverging approach medium









            Diverging Approach
            Proceed through diverging route preparing to stop at next signal

            Limited
            Limited





            Restricting
            Proceed at restricted speed.








            Restricting (diverging)
            Proceed at restricted speed.








            Restricted proceed
            Stop, then proceed at restricted speed.








            Proceed






            Rebase autorizado
            RA'
            FF8B,C
            Caution






            Anuncio de precaución
            PR
            FF3
            Stop
            Stop

            Stop
            Stop


            Parada
            P
            FF7
            Stop and proceed






            Rebase autorizado
            RA
            FF8A
            Unlit
            Unlit

            Stop Stop




  • XML
    • structure






      • layout-config jmriversion major




        minor



        test



        modifier



        sensors
        • class
        sensor
        • inverted
        systemName


        userName


        turnouts
        • class
        operations
        operation
        • name
        • class
        • interval
        • maxtries



        defaultclosedspeed



        defaultthrownspeed



        turnout
        • feedback: DIRECT
        • inverted: false
        • automate: Off
        systemName


        userName


        memories
        • class
        memory
        • value
        systemName


        signalmasts
        • class





        signalgroups
        • class





        signalmastlogics
        • class
        logicDelay



        blocks
        • class
        defaultspeed



        block
        • systemName
        • length
        • curve
        systemName


        userName


        permissive


        occupancysensor


        path
        • todir
        • fromdir
        • block
        beansetting
        • setting
        turnout
        • systemName

        oblocks
        • class





        layoutblocks
        • class
        layoutblock
        • systemName
        • occupancysensor
        • occupiedsense
        • trackcolor
        • occupiedcolor
        • extracolor
        systemName


        userName


        routes
        • class
        route
        • userName
        systemName


        userName


        routeOutputTurnout
        • systemName
        • state: CLOSED



        routeOutputSensor
        • systemName
        • state: INACTIVE



        warrants
        • class





        logixs
        • class
        logix
        • userName
        • enabled
        systemName


        userName


        logixConditional
        • systemName
        • order: 0, 1, ...



        conditionals
        • class
        conditional
        • systemName
        • userName
        • antecedent
        • logicType
        • triggerOnChange
        systemName


        userName


        conditionalStateVariable
        • operator
        • negated
        • type
        • systemName
        • dataString
        • num1
        • num2
        • triggersCalc



        conditionalAction
        • option
        • type
        • systemName
        • data
        • delay
        • string



        timebase
        • class
        • time
        • rate
        • startrate
        • run
        • master
        • sync
        • correct
        • display
        • startstopped
        • startrunning
        • startsettime
        • startclockoption
        • showbutton
        • startsetrate





        LayoutEditor
        • class
        • name
        • x
        • y
        • ...





        panelEditor
        • class
        • name
        • x
        • y
        • height
        • width
        • editable
        • positionable
        • showtooltips
        • controlling
        • hide
        • panelmenu
        • scrollable
        • redBackground
        • greenBackground
        • blueBackground





        filehistory operation type




        date




        filaneme

  • ...

OperationsPro

...

http://www.francescpinyol.cat/jmri.html
Primera versió / First version: 24.V.2019
Darrera modificació: 15 de setembre de 2019 / Last update: 15th September 2019

Valid HTML 4.01!

Cap a casa / Back home