1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
|
#!/usr/bin/env python3
# SPDX-FileCopyrightText: All Contributors to the PyTango project
# SPDX-License-Identifier: LGPL-3.0-or-later
"""
Trivial power supply device with no external connection or behaviour.
Extends ps0a.py, adding noise to the voltage attribute and configuring
it to be polled in the server code.
"""
import random
from time import sleep
from tango.server import Device, attribute, command
class PowerSupply(Device):
@attribute(dtype=float, polling_period=3000, rel_change=1e-3) # milliseconds
def voltage(self):
noise = -0.05 + 0.1 * random.random()
return 1.5 + noise
@command
def calibrate(self):
sleep(0.1)
if __name__ == "__main__":
PowerSupply.run_server()
|