Commit b6d73c8b authored by Marco Buttu's avatar Marco Buttu
Browse files

Added vacuum and antenna az-el properties

parent 4278aa09
Loading
Loading
Loading
Loading
+27 −18
Original line number Diff line number Diff line
@@ -10,34 +10,43 @@ logging.basicConfig(
    filename='/home/gavino/logs/receivers.log',
    format='%(asctime)s\t%(message)s')

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

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


timing = 180 #seconds

while True:
    if getManager():
        try:
            for component_name, property_names in mapping:
                components = []
                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:
                for sensor in sensors:
                    temp_obj = eval("component._get_%s()" % sensor)
                    value, comp = temp_obj.get_sync()
                    name = component._get_name().split('/')[-1]
                    name += "." + sensor
                    logging.info('  %s%.2f' % (name.ljust(52), value))
                for component, property_names in components:
                    for property_name in property_names:
                        property_obj = getattr(component, '_get_%s()' % property_name)
                        value, completion = property_obj.get_sync()
                        plain_component_name = component._get_name().split('/')[-1]
                        final_name = '%s.%s' % (plain_component_name, property_name)
                        logging.info('  %s%.2f' % (final_name.ljust(52), value))

        except KeyboardInterrupt:
            logging.info('program closed by the user')