inhibitor
Drivers

Command flow inhibitor. More...

Command flow inhibitor.

The inhibitor device which can be turned on/off by selected bits (AND bitmask) of provided dio interface blocks commands sent from provided interface to the subscribed device.

WARNING! Using this device we no more can say that each sent command is guaranteed to be delivered to the receiver.

Compile-time dependencies

- none

Provides

- any kind of interface ('comm' key)
- dio ('switch' key)

Roles of provided interfaces are distinguished by given key (switch or comm)

Requires

- the same interface as provided with 'comm' key (again, 'comm' key)
- optionally, dio ('switch' key) to read switch state from other device

Configuration requests

- none

Configuration file options

- init_state (integer)
  - Default: 1
  - if set to 1, the switch is initially set to ON (see 'neg' below)
- bitmask (string)
  - Default: "00000000000000000000000000000001"
  - Last character is the lowest bit (length greater than 0, max. 32 characters)
- neg (integer)
  - Default: 0
  - If set to 1, invert switch meaning (pass commands when it is OFF)
- block_data
  - Default: 0
  - If set to 1, data flow is also blocked
- msg_interval
  - Default: 0.0
  - If greater than 0.0 (seconds), commands will be passed with this interval (all commands sent more frequently will be thrown away). When this interval is set to 0.0, all commands are passed (as long as inhibitor state is right).

Example

    driver
    (
      name "inhibitor"
      provides ["switch:::dio:0" "comm:::position2d:10"]
      requires ["comm:::position2d:0"]
      bitmask "111"
    )

Author
  Paul Osmialowski

Last updated 12 September 2005 21:38:45