- IntelliBox | IntelliBox Basic, Intellibox II and USB-LocoNet Interface
The IntelliBox Basic, II and USB-LocoNet Interface support the LocoNet protocol over USB.
|IB-II|| USB-LocoNet |
The programming of mobile decoders is not conform the LocoNet Personal Edition.
There is no public documentation of this Uhlenbrock programming protocol.
Since revision 2118 Rocrail supports the Uhlenbrock LocoNet Interface (ULNI) with software handshake. The set-up advised for prior revisions should not be used anymore as due to the lack of hardware handshake of the Uhlenbrock devices this configuration has to work without flow control of any kind. This can lead to communication errors and data losses especially if a lot of data is being transferred.
The device drivers shipped with the device have to be installed prior to connecting the device and the computer. Afterwards the interface the device was assigned to has to be determined.
In order to display loco velocity changes by means of the IB throttles correctly in Rocview option Allow Zero Throttle ID has to be activated.
With the LocoNet type ULNI the factory settings of the interface can be used:
|LNCV 2 = 4||115200 Baudrate|
|LNCV 4 = 0||LocoNet Direct Mode OFF|
LocoNet direct mode has to be switched off!
Since the software handshake itself requires part of the bandwidth available the highest possible baud rate (115200) should be used in order not to slow down communication speed.
From the menu File → Rocrail properties… is selected and in the following dialogue tab Controller is selected. If the Intellibox should be the only command station other command stations possibly listed have to be deleted first. Afterwards from the drop down field New the command station loconet is selected and subsequently added by pressing Add. The command station
NEW - loconet is highlighted and Properties is pressed. The dialogue LocoNet Interface opens:
On tab Interface the ID
NEW is overwritten by an appropriate name, e. g.
IB in the example. The computer interface determined beforehand is entered into the field Device, e. g.
com1 in the example. The baud rate is selected according to the one of the device (standard: 115200). The Type has to be ULNI.
Note: Rocrail determine under Windows the available serial ports currently only to Com10. If the LocoNet Com port in the dropdown list “device” is missing, the actually assigned com port must be read up in the Windows system control and be entered manually into the field “device”.
On tab Options there are no adjustments available for the IB.
The Switch Time should be set to the maximum switch time of the IB (see also the description of Switch acknowledge below).
Locomotives not in use will be purged from the refresh cycle after a time specified in the Intellibox (default two minutes). The value entered into the field Slot Purge time on tab Details should be equal or slightly lower than the purge time of the Intellibox, e.g. 110 seconds. The option Slot Ping can be used to inhibit purging by pinging the slot right before it would be purged.
If the Slot Purge time is set to zero, the IB is supposed not to purge! This will lead to unpredictable situations: Rocrail will not check with the IB if the known slot is purged.
Very small purge time values will cause unnecessary traffic for checking the slots.
Locos that were controlled by Rocrail and were afterwards parked remain active if the option Slot Ping is active. If such a loco is selected on the Intellibox a warning will be shown telling the loco is already under control.
Query address (rev. 5243)
The standard query address for getting the current sensor state is 1017. For Uhlenbrock sensor modules this must be set to 1016.
Option Check switch acknowledge should be enabled. This prevents sending a switch command to the IB while it is busy executing a previous switch command.
Note:: If Check switch acknowledge is enabled the Switch Time (see above) has to be set to exactly the maximum switch time value of the IB. Moreover, minimum and maximum switch times of the IB should be set to identical values, e.g. 200 or 250 milliseconds both.
Retries and Sleep: Number of attempts to set the switch and receive an acknowledgement plus pause between retries. It is recommended to set the sleep time to higher values (250ms maximum).
|Important: The Slot Server must be disabled! This will conflict with the IB and could lead to a Rocrail server crash.|
<digint iid="IB" lib="loconet" device="/dev/ttyUSB1" bps="115200" flow="none" sublib="ulni"/>
This is documented in the manual which came with the device.
Debian 5 recognizes the USB LocoNet Interface and maps it as a /dev/ttyUSBx device:
usb 1-1: New USB device found, idVendor=10c4, idProduct=ea60 usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3 usb 1-1: Product: CP2102 USB to UART Bridge Controller usb 1-1: Manufacturer: Silicon Labs usb 1-1: SerialNumber: 0001 usbserial: USB Serial support registered for cp2101 cp2101 1-1:1.0: cp2101 converter detected usb 1-1: reset full speed USB device using uhci_hcd and address 2 usb 1-1: cp2101 converter now attached to ttyUSB1 usbcore: registered new interface driver cp2101 cp2101: Silicon Labs CP2101/CP2102 RS232 serial adaptor driver v0.07
The Mac OS X needs to install an extra driver for this interface which can be downloaded here:
After reboot the Uhlenbrock interface is recognized as:
Macintosh:~ rob$ ls -l /dev/tty* ... crw-rw-rw- 1 root wheel 9, 2 8 Aug 20:57 /dev/tty.SLAB_USBtoUART ...
Unexpected in LocoNet communication as is published in the LocoNet Personal Edition 1.0 are following:
undocumented message: start=0xF8 undocumented message: start=0xFC undocumented message: start=0xF6 undocumented message: start=0xF2 undocumented message: start=0x93
0xF* OPCodes are undefined.
0×9* OPCodes are undefined; Related to the S88-LocoNet interface.
A fix for preventing read timeouts has been made in version 1.4 revision 1342.
The IB-Com does NOT refresh the loco commands on the track in case of mixed DCC and Motorola type of decoders. This will result in a loco stop after a bad contact, depending of decoder manufacturer, and not starting for a long time until a slot ping is issued by Rocrail.
This problem cannot be solved without some advice from the manufacturer Uhlenbrock. Some undocumented LocoNet commands seems to solve this behaviour… Waiting for info from the manu.
Maximum Turnout time; default setting is 5 secs. Using the OpenDCC signaldecoder and loconet, set the value to 0 to get a sufficient fast response of the signalpatterns.