Switch

class pathsim.blocks.switch.Switch(state=None)[source]

Bases: Block

Switch block that selects between its inputs and copies one of them to the output.

Example

The block is initialized like this:

#default None -> no passthrough
s1 = Switch()

#selecting port 2 as passthrough
s2 = Switch(2)

#change the state of the switch to port 3
s2.select(3)

Sets block output depending on self.state like this:

state == None -> outputs[0] = 0

state == 0 -> outputs[0] = inputs[0]

state == 1 -> outputs[0] = inputs[1]

state == 2 -> outputs[0] = inputs[2]

...
Parameters:

state (int, None) – state of the switch

select(state=0)[source]

This method is unique to the Switch block and intended to be used from outside the simulation level for selecting the input ports for the switch state.

This can be achieved for example with the event management system and its callback/action functions.

Parameters:

state (int, None) – switch state / input port selection

update(t)[source]

Update switch output depending on inputs and switch state.

Parameters:

t (float) – evaluation time