This is an old revision of the document!
Table of Contents
CANBUS
Setup
CAN-ID
The CAN-ID used for the CAN Interface like CANGC1(e) and SocketCAN.
Sub-Library
The connected CAN nterface:
Type | BPS | Kit code | Manufacturer | Remark | Extended Frames |
---|---|---|---|---|---|
TCP/IP | 10/100 MBPS | CAN-GC1e | GCA | NO | |
USB | 500000 | CANUSB | MERG | Preferred by MERG. The 12V version can be used in combination with the CAN-GCA line. RTS/CTS should be disabled because its not supported by this module. | NO |
Serial | 230400 | CAN-GC1 | GCA | Uses binary responses to improve through put. (Not MERG compatible.) | NO |
Serial | 115200 | CANRS | MERG | Deprecated; It is not fast enough to keep up with CBUS at full speed! | NO |
SocketCAN | - | Pi01CAN | GCA | SocketCAN compatible devices. | YES |
LAWICEL / SLCAN | 115200…500000 | USBTin | Thomas Fischl | Tiny USB interface. | YES |
TCP/IP | WiFi/USB | WIO-CAN | GCA | YES |
Binary
Only in combination with Sub-Library TCP and WIO-CAN.
Device
The serial device used for the CAN interface.
Kit code | Windows | Linux | Remark |
---|---|---|---|
CANUSB | COM5…COMn | /dev/ttyUSB0…/dev/ttyUSBn | |
CAN-GC1, CANRS | COM1…COM4 | /dev/ttyS0…/dev/ttySn | An USB-RS232 converter can also be used. (Tested) |
Host/Port
The hostname and port for the CAN-GC1e interface.
In case of SocketCAN the host name is the device name. Default can0
Short events
Use the short version of the accessory events; Event number only. (Recommended)
The long events are based on node number and event number.
Fastclock
Send fast clock packets on the CBUS.
It is recommended to set this enabled in case of using a TCP/IP connection to prevent idle timeout disconnection.
Command Ack
Use only in case of data loss in combination with WiFi. |
Activates the command acknowledgment handshake.
A next command can only be send if the interface did acknowledged the previous command.
This handshake prevents loss of commands due buffer overflow. (10/100MBit → 125kBit)
Other manufacturers, like Lenz, are also using such a handshake on there Ethernet interfaces.
Only the CAN-GC1e version 1.c is capable of handling this acknowledgment when this option is activated in the firmware. |
FONFOF
Use the OPC_DFON/OPC_DFOF instead of OPC_DFUN. (Not implemented by CANCMD.)
Heartbeat
Sends every second an event# 4712 OPC_ACON/OPC_ACOF on the bus to be able to check for hardware/cable problems.
The LEDs on the modules should flash every second.
A CAN-GC2 can be programmed on this event# to be able to add a LED mounted on the dashboard.
SoD
"Start of Day" address for query all input states.
This must be programmed as event in all input nodes which should report.
Slot purge time
CS timeout for updating DCC mobile decoders.
If a loco becomes idle before this time out a keep alive command is send to the CS.
The hardware purgetime is 20 seconds, so this value should be set to less then 20 to assure the slot is not purged during automatic runs!
Decoder check
Check if all Decoders are online. (NET-ID=CAN-ID, Bus=Node Number)
The default interval is 10 seconds.
A power off will be issued if a decoder is not responding. (Lost node.)
Loco sessions will be invalidated if the GC3(CANCMD) was lost.
If a CAN-ID is found, which is not in the decoder list, it will be automatically added for checking. (It will be saved in the accessory decoder table, flagged as generated.) |
FLAT Addressing
CBUS addressing is FLAT, only the bus and address values are used.
Rocrail | CBUS | Range | Remark |
---|---|---|---|
- | CAN ID | 0…127 | Unique number within a CAN segment to be used in the CAN transport layer. This is the low part of the CAN Message Identifier without priority bits. |
Bus | Node number | 0…65535 | Used for long events and programming. This must be set unique for all modules. |
Address | Event number | 0…65535 | |
Gate | Added to the address of output objects. | 0,1 | This is needed for signal pattern support. |
CBUS is copyrighted by Mike Bolton & Gil Fuchs.
Resources
Sites
Kits & PCBs
- http://www.merg.org.uk/kits.php (Members only.)