Skip to content

BiDiB Low Level Messages

Eugene edited this page Aug 3, 2021 · 5 revisions

Diagnostics

A GBMboost Master/Slave sends an MSG_BOOST_DIAGNOSTIC feedback with its current and voltage usage and its temperature.

Short Circuits

Electrical short circuits, e.g., by trains driving through points in the wrong position, misalignment of train wheels on a track, or debris across the tracks, are reported by boosters with an MSG_BOOST_STAT feedback with value BIDIB_BST_STATE_SHORT.

Track Occupation

When an item is placed on a track, the track's occupancy is only sensed when the item draws power from the track. The booster sends an MSG_BM_OCC feedback with the track's address to the host computer. The host computer acknowledges the feedback by sending MSG_BM_MIRROR_OCC with the track's address. If the item has a DCC decoder, the track will report all the DCC addresses it can detect by sending an MSG_BM_ADDRESS feedback.

When an item on a track stops drawing power, e.g., the item is removed, there is bad contact, or a derailment has occurred, the booster sends an MSG_BM_FREE feedback with the track's address to the host computer. The host computer acknowledges the feedback by sending MSG_BM_MIRROR_FREE with the track's address.

The occupancy of multiple tracks can be reported by an MSG_BM_MULTIPLE feedback with a corresponding acknowledgement with MSG_BM_MIRROR_MULTIPLE.

The reliability of a booster to report track occupancy may be affected by a short circuit or system reset, is reported by an MSG_BM_CONFIDENCE feedback.

GPIO Inputs

GPIO ports on the OneControl can be configured to be inputs. On the SWTbahn Standard platform, GPIO port 39 (0x27) on OneControl2 is configured as an active-high input to receive the lantern clock synchronisation signal from OneControl1. Every time the input changes from high to low, OneControl2 sends an MSG_LC_STAT feedback to the host computer. When the clock synchronisation wire is disconnected from port 39, no feedback is received.

Error "No peripheral on port 0x?? configured for node address 0x??"

This error is reported in the syslog if a GPIO input is not configured in the YAML files as a peripheral. For OneControl2, the following peripheral has to be defined at the end of its configuration entry:

boards:
  - id: onecontrol2
    points-board:
      ...
    peripherals:
      - id: CLK_OC1
        port: 0x0027
        aspects: 
          - id: on
            value: 0x00
          - id: off
            value: 0x01
        initial: on
  - id: onecontrol1
    ...