User Tools

Site Tools


loc-int-en

Differences

This shows you the differences between two versions of the page.


Previous revision
loc-int-en [2022/11/24 11:11] (current) rjversluis
Line 1: Line 1:
 +======Interface ======
 +[[:english#objects|{{  :objects.png}}]][[:english|{{  :rocrail-logo-35.png}}]]
 +[[:english|Content]] -> [[:english#objects|Objects]] -> **Locomotives**
 +  * [[:loc-index-en|Index]] | [[:loc-gen-en|General]] | **Interface** | [[:loc-speed-en|Speed]] | [[:loc-details-en|Details]] | [[:loc-fun-en|Functions]] | [[:loc-consist-en|Multiple Units]] | [[:loc-cv-en|CVs]] | [[:loc-bbt-en|BBT]] | [[loc-sbt-en|SBT]] | [[loc-bat-en|BAT]] | [[loc-calibrate-en|Calibrate]] | [[loc-shunting-en|Shunting Mode]]
  
 +
 +// \\ // \\
 +
 +
 +LocoDialog Interface Tab.
 +
 +{{:loc:loc-int-en.png?800}}
 +
 +=====Interface ID=====
 +If more than one command station is used, then the command station that is responsible for controlling the loc-decoder is specified in this field. The "Interface identifier" field can remain empty if the object is connected to the first command station (first 'digint' in rocrail.ini) from the list of command stations.
 +
 +====All====
 +If this option is activated all Loco and Function commands will send to all connected Command stations.
 + \\
 +
 +=====Node ID (Bus)=====
 +See: **[[:addressing-en#bus|Addressing]]**\\
 +
 + \\
 +
 +=====Address=====
 +The decoder address which range depends on the decoder type and underlying Command Station.
 +  * **Attention:** Contrary to the NMRA standard with addresses greater than 127, addresses from **100** must already be programmed in the Locomotive decoder as "long address" when controlling with Rocrail. For this it is essential to consider ''CV29/Bit5=1'' and ''CV17/18'' or do not use the addresses between 100 and 127 :!:
 +  *Marklin mfx-Decoders may need special settings depending on the command station. See the wiki page of the relevant command station, if applicable.
 +  * Locos with address 0 (zero) are considered to be analog locos without decoders which are only supported by TrackDriver (like Dinamo) systems. Address 0 is only accepted if the [[#protocol|protocol]] is set to **Analog**, otherwise an error message will be displayed. \\ "Stretched 0 Bit" according to NEM 670 is not supported.
 +====Secondary Address====
 +The optional secondary address can be used for **[[:arduino:wio-en#mobile|WIO]]** or T4T (TrainCoupling&CommunicationSystem).\\
 +====OID====
 +Some Command Station, like the ESU Ecos, are using an Object ID instead of an address for referring to a specific loco.\\
 +This field can be left empty because the Ecos library can also look up locos by ID or address.\\
 +
 + \\
 +
 +=====Protocol=====
 +Some command stations do support multiple protocols; Check the user manual for details.\\
 +If the __address is set to zero__ the protocol should be set to **Analog** for __**[[:block-int-en|Track Driver]]**__ support.\\ 
 +
 +**Note:** //Serverdefined, is the default mobile digital protocol used by the Command Station (CS).
 +This setting is only of interest in case of multi protocol CS like Ecos/CSx(dcc/mfx).
 +For a "DCC only" CS this option has no effect at all.
 +Or for the Märklin 6051 its always Motorola. //
 + 
 +
 +=====Protocol version=====
 +If the Command Station cannot determine the decoder type itself the version must specify as listed in the SRCP description. Most systems do not use this parameter because it is set directly in the CS or it does only support one version. \\
 +
 +
 +
 + \\
 +
 +=====Decoder steps=====
 +Number of speed steps the decoder is set up to. Rocrail needs the number of the decoder's speed steps e. g. to be able to calculate the wanted velocity in percent or KM/H.
 +  * The number of speed steps of the decoder, the command station and Rocrail must match otherwise the loco light (F0) may not work correctly.
 +The optional second speed steps can be used for T4T.
 +
 + \\
 +
 +=====Number of functions=====
 +Number of extra functions supported by the decoder used. Default F0...F4.\\
 + \\
 +
 +
 +=====Camera=====
 +[[https://youtu.be/6A57b-VoOSw|{{ :rocnet:cam:cam-throttle-demo.png}}]]
 +The IP address and port of the locomotive its live streaming camera, which will be showed in the throttle dialog.\\
 +Supported streaming formats:
 +  * HTTP
 +  * Roco
 +
 +====Skip Frames====
 +The field in the middle is the number of frames to skip. This will reduce CPU power and fluency of the video stream.\\
 +**Note:** //Frames will also be skipped if the graphic processing is slow, even if this parameter is set to zero; The video stream cannot be paused.// \\
 +
 +====Options====
 +The field on the right is an option for the ThrottleDialog.\\
 +|   1 | Rotate 90° CCW |
 +|  -1 | Rotate 90° CW |
 +|   2 | Rotate 90° CCW and use only the lower half of the image. |
 +|  -2 | Rotate 90° CW and use only the lower half of the image. |
 +
 +====Roco====
 +The Roco video locomotive must be configured in "Client Mode".\\
 +This can be done with the [[https://www.z21.eu/de/downloads/software-tools|Roco Videolok utility]].\\
 +The port must be set to 5152.\\
 +**Note:** //It can take up to 30 seconds before the first frames are coming in after starting the camera.//\\
 +{{:roco:roco-videolok-utility-clientmode.png?240}}\\
 +
 +====Demo & Links====
 +  * Demo: https://youtu.be/6A57b-VoOSw
 +  * __**[[:rocnet:cam-en|Camera Streaming]]**__
 +  * [[https://randomnerdtutorials.com/esp32-cam-video-streaming-face-recognition-arduino-ide|ESP32-CAM]]
 +**Note:** //If a train is assigned to the locomotive, and this train contains a car with a streaming camera, the camera of the car will be used instead.//\\
 +
 + \\
 + \\
 +=====Options=====
 +====Mass====
 +Can be used:
 +  * When this is an analog loco in combination of the Dinamo CS. (Check the documentation.)
 +  * A WIO with the mobile option activated.
 +  * A RocNetNode mobile decoder
 +A value of 5 is a good start to experiment with.
 + \\
 +====Dir Change pause====
 +Some old Delta like decoders need some pause between a direction change and the last turnout command. With about 100ms this will do the trick.
 + \\
 +====Poll info====
 +**[[:xpressnet-en|XpressNet]]** does not propagate loco changes issued by throttles.\\ 
 +By activating this option, and if the loco is not in auto mode, every second a request is send to the Command Station to get the actual information needed to update the Rocrail clients.\\
 +:!: Use with care. This option is __not recommended__ and __not supported in the Forum__, and uses unnecessary CPU resources. :!:
 + \\
 +====Invert====
 +Inverts the hardware running direction.\\
 +This is an alternative to program the direction in the decoder by CV29.\\
 +<html><!--
 +====Placing====
 +//Placing is the __logical__ forward direction.// \\
 +When the loco runs the wrong direction this flag can be swapped. This flag is not fixed and can change during automatic runs.\\
 +For commuters this flag is automatically swapped in __**[[:block-gen-en#terminal_station|terminal station block types]]**__ and for routes in the opposite direction.\\ 
 +This flag is default set and means a Loco run direction like coming out of the box; some older decoders do only remember the direction for a short period after shut-down the power.\\
 +When the decoder has "forgotten" its previous direction, then it will run the next time in its "default" direction.\\
 +If the flag is __not__ set the placing type is swapped.\\
 +
 +Read also: **[[:direction-en|Direction in Rocrail]]**
 +--></html>
 +====Polarisation====
 +A flag for correcting the BiDi, RailCom, direction in case the decoders is not correctly polarised. \\
 +See also: __**[[:rocrailini-automode-en#use_bidi_direction|BiDi Direction]]**__ \\
 +
 +====Step range====
 +If __**[[arduino:wio-en#mobile|WIO as Mobile decoder]]**__ be used, this can simulate Vstart and Vhigh, CV2/CV5.\\
 +^ Field ^ Value ^ Remark ^
 +|  1  | Min. Step | |
 +|  2  | Max. Step | |
 +|  3  | PWM width factor | Example for 100 speed steps: 1=10kHz, 10=1kHz, 100=100Hz, 1000=10Hz |
 +
 +====Regulated====
 +Uncheck this option __**only**__ if the decoder has accelerating and decelerating not implemented.\\
 +The interval is the time between the speed steps.\\
 + \\
 +
 +=====Acceleration=====
 +====Adjust acceleration====
 +  * Only available in combination with DCC and __**[[:operator-consist-en|Trains]]**__.
 +  * The max. load and the acceleration range must be set greater then zero.
 +  * If the total train weight is zero the min. acceleration value is used.
 +  * The new calculated acceleration value will be written by POM in CV3 after assigning a train or in case __**[[:car-gen-en|Car]]**__ properties have been modified.
 +  * The min. acceleration value will be written by POM in CV3 after releasing the assigned train.
 +
 +MFX Protocoll - start-up delay (tested with CS2):
 +  * Decoder mSD/3 - version 3.2 : CV178 index 1
 +  * Decoder mSD - version 1.17.19 : CV78 index 1
 +  * Decoder mfx - version 0.0.24.186 : CV78 index 1
 +
 +====Max. Load====
 +The max. load for this locomotive in tons.\\
 +====Min./Max. Acceleration====
 +The CV3 range to use for loads between zero and max. load.\\
 +
 +====Server trace example====
 +<code>
 +20130723.090557.995 r9999I cmdrD000 OLoc     2707 processing cmd="assigntrain" for [E03]
 +20130723.090557.995 r9999I cmdrD000 OLoc     2848 consist [train1] assigned to loco [E03]
 +20130723.090557.995 r9999I cmdrD000 OCar     0354 car [test] loaded weight [500]
 +20130723.090557.995 r9999I cmdrD000 OLoc     2026 loco [E03] adjust acceleration: CV3=16
 +20130723.090557.995 r9999I cmdrD000 OVirtual 0437 program cmd=1 mode=0
 +20130723.090557.995 r9999I cmdrD000 OVirtual 0465 POM: set CV3 of loc 1003 to 16...
 +20130723.090557.995 r9999I cmdrD000 OLoc     2079 loco [E03] train length=56 weight=500 
 +</code>
 +
 +
 +
 + \\
 +
 +
 +
 + \\
 +=====Notes on none Regulated Decoders=====
 +**Deprecated**\\
 +====Interval====
 +This option is not active and greyed out by default. It can be used for old-fashioned decoders offering no regulation and mass simulation.
 +  * Regulated (see below) has to be deactivated in order to enable Interval.
 +
 +The Interval merges in a pause between the decoder steps with a value of 1 corresponding to 100ms. With modern decoders this parameter is not needed and should be left to zero. \\
 +
 +> **Tip:** The Interval can be used to increase the deceleration / acceleration for decoders with a very limited tuning range. Some older Marklin locos with control potentiometers suffer from this limitation. Small interval values, e. g. in the range of 1 to 5, may help in this case. It should be noted that no other locos in need of automatic speed control at inclines (see **Regulated** below) are present on the layout and that in all blocks the type of incline should be set to "none".
 +
 +====Regulated====
 +| SBT will be disabled in case this option is __not__ set. |\\
 +If the decoder has motor management (BEMF) this flag should be set to prevent velocity changes by Rocrail when a locomotive enter a block defined as an incline block. \\
 +Deactivating this option activates **Interval** (see above) and automatic speed control at inclines. \\
 +
 +> **Note:** Rocrail is able to adjust the speed at inclines within certain limits in auto mode. The type of incline has to be specified in the block properties.
 +
 +The following table gives hints on the impact of the parameters. It is supposed that the **[[#v_modus|V_Mode-Percent-Option]]** is __not__ set and **km/h** is applicable.
 + \\
 +| ^Speed in steps and time \\ Interval = 5 (0,5 sec / step) \\ Speed at the beginning of the braking: 100 km/h^^^^^^^^^^^^^^^^^^
 +^  steps  ^  1  ^  2  ^  3  ^  4  ^  5  ^  6  ^  7  ^  8  ^  9  ^  10  ^  11  ^  12  ^  13  ^  14  ^  15  ^  16  ^  17  ^  18  ^
 +^  time / sec  ^  0,5  ^  1,0  ^  1,5  ^  2,0  ^  2,5  ^  3,0  ^  3,5  ^  4,0  ^  4,5  ^  5,0  ^  5,5  ^  6,0  ^  6,5  ^  7,0  ^  7,5  ^  8,0  ^  8,5  ^  9,0  ^
 +^  Decelerate \\ 5 km/h  |  95  |  90  |  85  |  80  |  75  |  70  |  65  |  60  |  55  |  50  |  45  |  40  |  35  |  30  |  25  |  20  |  15  |  10  |  **km/h**  |
 +^  10 km/h  |  90  |  80  |  70  |  60  |  50  |  40  |  30  |  20  |  10  |  **km/h**  |
 +^  15 km/h  |  85  |  70  |  55  |  40  |  25  |  10  |  **km/h**  |
 +^  20 km/h  |  80  |  60  |  40  |  20  |  10  |**km/h**  |
 +
 +:!: Independently of the values in the table, the breaking will end at the speed defined in **V_Min**.\\
 +\\
 +**Hint:** At interval = **10** the number of steps = time in seconds. \\
 +Higher values for **Interval** and/or **Decelerate** reduce the amount of necessary steps respectively speed commands.\\
 +This can help to avoid the above mentionned overload of the command station.
 +
 +**Example:** At Interval = 5 and Decelerate = 5 the speed is reduced from 100 km/h to 10 km/h in 9 seconds with 18 steps respectively commands.\\
 +At Interval = 10 and Decelerate = 10 the reduction takes also place in 9 seconds, but with only 9 steps respectively commands.\\
 +
 +> **Hint:** The speed steps are not visible in the throttle, but only in the trace or on the real layout.