Conditions ---------- A condition (Port2 high) causes the state 'Port2Light' to be skipped without waiting for the timer to expire. .. image:: conditions.svg :align: center .. tab-set:: .. tab-item:: Python .. literalinclude:: ../../../../examples/conditions.py :language: python :start-at: from bpod_core. .. tab-item:: JSON .. code-block:: json { "states": { "Port1Light": { "timer": 1.0, "transitions": { "Tup": "Port2Light" }, "actions": { "PWM1": 255 } }, "Port2Light": { "timer": 1.0, "transitions": { "Tup": "Port3Light", "Condition2": "Port3Light" }, "actions": { "PWM2": 255 } }, "Port3Light": { "timer": 1.0, "transitions": { "Tup": ">exit" }, "actions": { "PWM3": 255 } } }, "conditions": { "2": { "channel": "Port2", "value": true } } } .. tab-item:: YAML .. code-block:: yaml states: Port1Light: timer: 1.0 transitions: Tup: Port2Light actions: PWM1: 255 Port2Light: timer: 1.0 transitions: Tup: Port3Light Condition2: Port3Light actions: PWM2: 255 Port3Light: timer: 1.0 transitions: Tup: '>exit' actions: PWM3: 255 conditions: 2: channel: Port2 value: true