In order to reduce the overhead time during scans, P10 uses the FioAdditions feature to write only selected motors to the .fio files. Here is a code template, authors: Michael Sprung, Teresa Nunez:
#!/usr/bin/env python
#
# this script returns output to be filled into the header of a .fio file.
# allowed combinations: list, dict, [list], [dict], [list, dict], [dict, list]
#
import PyTango
def get_motpos( mot):
"""Get the current position of a motor using the sardananame"""
position = -1000000000 # --- Define a dummy default position
try:
pool_proxy = PyTango.DeviceProxy(mot)
position = pool_proxy.Position
except:
pass
return position
def main():
motlist = [ 'd1_mot01', 'd1_mot02', 'd1_mot03', 'd1_mot04']
dct = dict(zip(motlist,map(get_motpos, motlist)))
for motor, value in dct.items():
if value == -1000000000:
del dct[motor]
lst = []
return [ dct, lst]
if __name__ == '__main__':
main()