Commit 66c8f922 authored by Marco Buttu's avatar Marco Buttu
Browse files

Added antenna az-el, and vacuum property

parent 17a7c5d8
Loading
Loading
Loading
Loading
+33 −12
Original line number Diff line number Diff line
#! /usr/bin/env python

import datetime
import logging
import time

@@ -10,30 +11,50 @@ logging.basicConfig(
    filename='/home/gavino/logs/receivers.log',
    format='%(asctime)s\t%(message)s')

receivers = ['SRTLPBandReceiver', 'SRTKBandMFReceiver', 'SRT7GHzReceiver']
common_receiver_properties = (
    'cryoTemperatureCoolHead', 
    'cryoTemperatureCoolHeadWindow', 
    'cryoTemperatureLNA', 
    'cryoTemperatureLNAWindow', 
    'environmentTemperature',
    'vacuum')

mapping = (
    ('ANTENNA/Boss', ('rawAzimuth', 'rawElevation')),
    ('RECEIVERS/SRTLPBandReceiver', common_receiver_properties),
    ('RECEIVERS/SRTKBandMFReceiver', common_receiver_properties),
    ('RECEIVERS/SRT7GHzReceiver', common_receiver_properties),
)


timing = 180 #seconds

while True:
    if getManager():
        try:
            components = []
            for component_name, property_names in mapping:
                client = PySimpleClient()
            for receiver in receivers:
                try:
                    component = client.getComponent('RECEIVERS/' + receiver)
                    components.append(component)
                    component = client.getComponent(component_name)
                    components.append((component, property_names))
                except:
                    pass

            for component in components:
                temp_obj = component._get_cryoTemperatureLNA()
                value, comp = temp_obj.get_sync()
                name = component._get_name().split('/')[-1]
                logging.info('  %s%.2f' % (name.ljust(22), value))
            for component, property_names in components:
                for pname in property_names:
                    get_property_obj = getattr(component, '_get_%s' % pname)
                    property_obj = get_property_obj()
                    value, completion = property_obj.get_sync()
                    cname = component._get_name()
                    t = datetime.datetime.now()
                    line = '%s.%s' % (cname, pname)
                    logging.info('  %s%e' % (line.ljust(65), value))

        except KeyboardInterrupt:
            logging.info('program closed by the user')
            raise
        except:
        except Exception, ex:
            pass
        finally:
            try:
@@ -42,4 +63,4 @@ while True:
            except:
                logging.error('can not disconnect the client')

    time.sleep(180)
    time.sleep(timing)