Power Supply ============ .. py:module:: Nets :noindex: .. py:class:: Power Control voltage and current on net. .. py:method:: set_voltage(voltage) Set the voltage level on the trace .. code-block:: python :emphasize-lines: 7 from lager.pcb.net import Net, NetType v_in = Net.get('VIN', type=NetType.PowerSupply, setup_function=setup_net, teardown_function=teardown_net) v_in.set_voltage(4.95) v_in.enable() :param float voltage: Voltage in Volts .. py:method:: set_current(current) Set the current level on the trace .. code-block:: python :emphasize-lines: 7 from lager.pcb.net import Net, NetType v_in = Net.get('VIN', type=NetType.PowerSupply, setup_function=setup_net, teardown_function=teardown_net) v_in.set_current(.4) v_in.enable() :param float current: Current in Amps .. py:method:: set_ovp(voltage) Set the over voltage limit for net. .. code-block:: python :emphasize-lines: 7 from lager.pcb.net import Net, NetType v_in = Net.get('VIN', type=NetType.PowerSupply, setup_function=setup_net, teardown_function=teardown_net) v_in.set_ovp(5.05) v_in.enable() :param float voltage: Voltage in Volts .. py:method:: set_ocp(current) Set the current level on the trace .. code-block:: python :emphasize-lines: 7 from lager.pcb.net import Net, NetType v_in = Net.get('VIN', type=NetType.PowerSupply, setup_function=setup_net, teardown_function=teardown_net) v_in.set_ocp(.5) v_in.enable() :param float current: Current in Amps .. py:method:: get_ovp_limit() Query over voltage protection limit .. code-block:: python :emphasize-lines: 7 from lager.pcb.net import Net, NetType v_in = Net.get('VIN', type=NetType.PowerSupply, setup_function=setup_net, teardown_function=teardown_net) ovp = v_in.get_ovp_limit() print(ovp) :return: over voltage protection limit :rtype: float .. py:method:: is_ovp() Query if over voltage protection has been triggered .. code-block:: python :emphasize-lines: 7 from lager.pcb.net import Net, NetType v_in = Net.get('VIN', type=NetType.PowerSupply, setup_function=setup_net, teardown_function=teardown_net) ovp = v_in.is_ovp() print(ovp) :return: whether over voltage protection has been tripped :rtype: bool .. py:method:: clear_ovp() Clear an over voltage condition .. code-block:: python :emphasize-lines: 7 from lager.pcb.net import Net, NetType v_in = Net.get('VIN', type=NetType.PowerSupply, setup_function=setup_net, teardown_function=teardown_net) v_in.clear_ovp() .. py:method:: get_ocp_limit() Query over current protection limit .. code-block:: python :emphasize-lines: 7 from lager.pcb.net import Net, NetType v_in = Net.get('VIN', type=NetType.PowerSupply, setup_function=setup_net, teardown_function=teardown_net) ocp = v_in.get_ocp_limit() print(ocp) :return: over current protection limit :rtype: float .. py:method:: is_ocp() Query if over current protection has been triggered .. code-block:: python :emphasize-lines: 7 from lager.pcb.net import Net, NetType v_in = Net.get('VIN', type=NetType.PowerSupply, setup_function=setup_net, teardown_function=teardown_net) ocp = v_in.is_ocp() print(ocp) :return: whether over current protection has been tripped :rtype: bool .. py:method:: clear_ocp() Clear over current condition .. code-block:: python :emphasize-lines: 7 from lager.pcb.net import Net, NetType v_in = Net.get('VIN', type=NetType.PowerSupply, setup_function=setup_net, teardown_function=teardown_net) v_in.clear_ocp() .. py:method:: voltage() Query real-time voltage on trace .. code-block:: python :emphasize-lines: 7 from lager.pcb.net import Net, NetType v_in = Net.get('VIN', type=NetType.PowerSupply, setup_function=setup_net, teardown_function=teardown_net) voltage = v_in.voltage() print(voltage) :return: real time voltage value :rtype: float .. py:method:: current() Query real-time current on trace .. code-block:: python :emphasize-lines: 7 from lager.pcb.net import Net, NetType v_in = Net.get('VIN', type=NetType.PowerSupply, setup_function=setup_net, teardown_function=teardown_net) current = v_in.current() print(current) :return: real time current value :rtype: float .. py:method:: power() Query real-time power on trace .. code-block:: python :emphasize-lines: 7 from lager.pcb.net import Net, NetType v_in = Net.get('VIN', type=NetType.PowerSupply, setup_function=setup_net, teardown_function=teardown_net) power = v_in.power() print(power) :return: real time power value :rtype: float