"""
This example shows basic FNet Power Sense controller initialization and usage (using AIN).
"""
import isystem.connect as ic
winidea_id = ''
connMgr = ic.ConnectionMgr()
connMgr.connect(ic.CConnectionConfig().instanceId(winidea_id))
sessionCtrl = ic.CSessionCtrl(connMgr)
fnetCtrl = ic.CFNetController(connMgr)
powerSenseCtrl = fnetCtrl.createPowerSenseController('ADIO.AIN1')
powerSenseCtrl.cfg().setAveraging(ic.AInAverage_AVG_16)
powerSenseCtrl.cfg().setShuntValue(ic.PowerSenseShunt_SHUNT_1_OHM)
powerSenseCtrl.cfg().enablePowerSense(True)
sessionCtrl.begin_reset()
values = ic.PowerSenseParameters()
powerSenseCtrl.ctrl().getVoltageCurrentPower(values)
print(f"Power values: {values.voltage} V, {values.current} A, {values.power} W")
power = powerSenseCtrl.ctrl().getPower()
print(f"Power: {power} W")