コード例 #1
0
ファイル: safin.py プロジェクト: ngocthachta/nature
def read_safin(windtest_id, safinLogicalName):
    session = login()
    r = session.get(satis_url + "windtest/%s/reference/master/safinconfig/name/%s/get/" % (windtest_id, safinLogicalName))
    logger.debug("read safin %s" % r)
    try :
        result = safin.decode_json(r.json())
        return result
    except :
        return None
コード例 #2
0
ファイル: psi8400.py プロジェクト: ngocthachta/nature
def read_psi(windtest_id):
    session = login()
    r = session.get(satis_url + "windtest/%s/reference/master/psi8400config/getlist/" % windtest_id)
    logger.debug("repondre %s" % r.json())
    try:
        result = psi8400.decode_json(r.json()[0])
        return result
    except:
        return None
コード例 #3
0
ファイル: scale.py プロジェクト: ngocthachta/nature
def create_scale(windtest_id, logicalName = "Balance_0", physicalName = "PHI190-02", safin_obj = None):
    scale_obj = read_scale(windtest_id, logicalName)
    if scale_obj == None:
        scale_obj = scale()

    scale_obj.logicalName = logicalName
    scale_obj.physicalName = physicalName
    scale_obj.scaleName = physicalName
    scale_obj.address = "tango/balance/PHI190-02"
    scale_obj.calibrationId = 2380

    scale_obj.xd.acqSystemId = safin_obj.id
    scale_obj.xd.parameterName = "XD"
    scale_obj.xd.groupTangoAddress = "%s/MOD1_RAWVALUES[0]" % safin_obj.address

    scale_obj.m1.acqSystemId = safin_obj.id
    scale_obj.m1.parameterName = "M1"
    scale_obj.m1.groupTangoAddress = "%s/MOD1_RAWVALUES[1]" % safin_obj.address

    scale_obj.m2.acqSystemId = safin_obj.id
    scale_obj.m2.parameterName = "M2"
    scale_obj.m2.groupTangoAddress = "%s/MOD1_RAWVALUES[2]" % safin_obj.address

    scale_obj.n1.acqSystemId = safin_obj.id
    scale_obj.n1.parameterName = "N1"
    scale_obj.n1.groupTangoAddress = "%s/MOD1_RAWVALUES[3]" % safin_obj.address

    scale_obj.n2.acqSystemId = safin_obj.id
    scale_obj.n2.parameterName = "N2"
    scale_obj.n2.groupTangoAddress = "%s/MOD1_RAWVALUES[4]" % safin_obj.address

    scale_obj.l.acqSystemId = safin_obj.id
    scale_obj.l.parameterName = "L"
    scale_obj.l.groupTangoAddress = "%s/MOD1_RAWVALUES[5]" % safin_obj.address

    scale_obj.xl.acqSystemId = safin_obj.id
    scale_obj.xl.parameterName = "XL"
    scale_obj.xl.groupTangoAddress = "%s/MOD1_RAWVALUES[6]" % safin_obj.address

    scale_obj.attackAngle.acqSystemId = safin_obj.id
    scale_obj.attackAngle.dataLevel = "ENG"
    scale_obj.attackAngle.parameterName = "CLINO"
    scale_obj.attackAngle.groupTangoAddress = "%s/MOD1_ENGVALUES[7]" % safin_obj.address

    scale_obj.sideSlipAngle.acqSystemId = safin_obj.id
    scale_obj.sideSlipAngle.dataLevel = "ENG"
    scale_obj.sideSlipAngle.parameterName = "POTTOUR"
    scale_obj.sideSlipAngle.groupTangoAddress = "%s/MOD2_ENGVALUES[0]" % safin_obj.address

    session = login()
    r = session.post(satis_url + "windtest/%s/reference/master/scaleconfig" % windtest_id,
            json = json.loads(scale_obj.to_JSON()))
    scale_obj = scale.decode_json(r.json())
    logger.debug("scale %s" % scale_obj.to_JSON())

    updateDbCoeffBalance(physicalName, windtest_id)
コード例 #4
0
ファイル: usermodule.py プロジェクト: ngocthachta/nature
def read_user_module(windtest_id, logicalName):
    result = None
    session = login()
    r = session.get(satis_url + "windtest/%s/reference/master/userModuleConfig/" % windtest_id)
    for usermodule_json in r.json():
        logger.debug("read user_module %s" % json.dumps(usermodule_json, sort_keys = True, indent = 4))
        user_module_obj = user_module.decode_json(usermodule_json)
        if user_module_obj.logicalName == logicalName:
            result = user_module_obj
    return result
コード例 #5
0
ファイル: genericdevice.py プロジェクト: ngocthachta/nature
def create_barometre(windtest_id, logicalName="Barometre", physicalName="F1-BARO50"):
    barometre_obj = read_generic_device(windtest_id, logicalName)
    if barometre_obj == None:
        barometre_obj = generic_device(logicalName=logicalName, physicalName=physicalName)
    session = login()
    r = session.post(
        satis_url + "windtest/%s/reference/master/deviceconfig" % windtest_id, json=json.loads(barometre_obj.to_JSON())
    )
    barometre_obj = generic_device.decode_json(r.json())
    logger.debug("barometre %s" % barometre_obj.to_JSON())
コード例 #6
0
ファイル: psi8400.py プロジェクト: ngocthachta/nature
def remove_all_psi(windtest_id):
    session = login()
    r = session.get(satis_url + "windtest/%s/reference/master/psi8400config/getlist/" % windtest_id)
    try:
        for json_psi in r.json():
            result = psi8400.decode_json(json_psi)
            r = session.delete(satis_url + "windtest/%s/reference/master/psi8400config/%s" % (windtest_id, result.id))

    except:
        pass
コード例 #7
0
ファイル: scale.py プロジェクト: ngocthachta/nature
def read_scale(windtest_id, scaleLogicalName):
    result = None
    session = login()
    r = session.get(satis_url + "windtest/%s/reference/master/scaleconfig/getlist/" % windtest_id)
    
    for scale_json in r.json():
        logger.debug("read scaleconfig %s" % json.dumps(scale_json, sort_keys = True, indent=4))
        scale_obj = scale.decode_json(scale_json)
        if scale_obj.logicalName == scaleLogicalName:
            result = scale_obj
    return result
コード例 #8
0
ファイル: genericdevice.py プロジェクト: ngocthachta/nature
def read_generic_device(windtest_id, logicalName="Barometre"):
    result = None
    session = login()
    r = session.get(satis_url + "windtest/%s/reference/master/generic" % windtest_id)
    logger.debug("read generic device %s" % r.json())

    for gd_json in r.json():
        gd_obj = generic_device.decode_json(gd_json)
        logger.debug("generic device obj %s" % gd_obj.logicalName)
        if gd_obj.logicalName == logicalName:
            result = gd_obj

    return result
コード例 #9
0
ファイル: usermodule.py プロジェクト: ngocthachta/nature
def create_user_module(windtest_id, logicalName = "iumod_1", physicalName = "InterpreterUserModule", 
        usmtype = "InterpreterUserModule"):
    user_module_obj = read_user_module(windtest_id, logicalName = logicalName)
    if user_module_obj == None:
        user_module_obj = user_module(logicalName = logicalName, physicalName = physicalName, 
            acqSystemType = "UserModuleConfig", type = "UserModuleConfig")

    user_module_obj.windTestId = windtest_id
    user_module_obj.userModuleType.deviceType = usmtype
    user_module_obj.userModuleType.deviceServerName = usmtype
    user_module_obj.userModuleType.deviceClassNam = usmtype
    session = login()
    r = session.post(satis_url + "windtest/%s/reference/master/userModuleConfig/" % windtest_id, 
            json = json.loads(user_module_obj.to_JSON()))
    user_module_result = user_module.decode_json(r.json())
    logger.debug("user_module obj repondre %s" % user_module_result)

    r = session.get(satis_url + "windtest/%s/reference/master/configurationelement/" %
            windtest_id)
    for configurationelement_json in r.json():
        configurationelement_obj = configuration_element.decode_json(configurationelement_json) 
        if configurationelement_obj.deviceConfigId == user_module_result.id :
            logger.debug("configuration element %s" % configurationelement_obj.to_JSON())
            configurationelement_obj.data = """
# -*- coding: UTF-8 -*-
from gensatisenv import *
# --- veuillez conserver ce bandeau intact svp --- #


#@InterpreterUserModule
# Definition des Variables spécifiques
_unit={}

# Cette 2nd entête ne doit toujours pas être modifié. 
#-------------------------------------#
toto = SafinStationnaire.RAW.M1V1 + 5
            """
            git_update_file(windtest_id, 'calcul/src/user_modules/%s.py' % logicalName, configurationelement_obj.data)
            r = session.post(satis_url + "windtest/%s/reference/master/configurationelement/" % windtest_id,
                    json = json.loads(configurationelement_obj.to_JSON()))

            configurationelement_result = configuration_element.decode_json(r.json())
            logger.debug("configuration element repond %s" % configurationelement_result.to_JSON())

    return user_module_result
コード例 #10
0
ファイル: windtest.py プロジェクト: ngocthachta/nature
def create_windtest(windtest_id):
    session = login()
    r = session.get(satis_url + "windtest")
    logger.debug("reponse %s" %r.json())
    try :
        wt = windtest(**(r.json()[0]))
        logger.debug("wt %s" %wt.to_JSON())
    except:
        wt = None
    if wt == None:
        wt = windtest(id = windtest_id, windTunnel = 'F1', type='Monomat')
        logger.debug("create windtest %s" % wt.to_JSON())

        r = session.post(satis_url + "windtest", json = json.loads(wt.to_JSON()))
        wt = windtest(**r.json())
        logger.debug("reponse %s" % json.dumps(r.json(), indent = 4))
    logger.debug("object return %s" % wt.to_JSON())
    return wt
コード例 #11
0
ファイル: safin.py プロジェクト: ngocthachta/nature
def create_safin(windtest_id, logicalName = "Safin_0", physicalName = "F1-SAFIN171",
        nb_module_safin = 16):
    logger.debug("Add safin into windtest")
    safin_obj = read_safin(windtest_id, logicalName)

    session = login()
    if safin_obj == None:
        safin_obj = safin(id = None, windTestId = windtest_id, 
            logicalName = logicalName, physicalName = physicalName)

        # add a new safin first
        r = session.post(satis_url + "windtest/%s/reference/master/safinconfig"%windtest_id, 
                json = json.loads(safin_obj.to_JSON()))
        safin_result = safin.decode_json(r.json())
    else :
        safin_result = safin_obj

    # then update safin with number correct of module
    nb_module = len(safin_result.safinConfigModuleList)
    nb_module_to_add = nb_module_safin - nb_module
    nb_channel_to_add = nb_module_to_add * 8

    for i in range(1, nb_module_to_add + 1):
        module = safin_config_module(moduleNumber = nb_module + i)
        safin_result.safinConfigModuleList.append(module)
    for i in range(1, nb_channel_to_add + 1):
        moduleNumber = i / 8 if i % 8 == 0 else i/8 + 1
        moduleNumber = moduleNumber + nb_module 
        logicalNumber = nb_module * 8  + i
        physicalNumber = i % 8 + 1
        parameterName = "M%sV%s" % (moduleNumber, physicalNumber)
        channel = safin_config_channel(moduleNumber = moduleNumber, 
                logicalNumber = logicalNumber, physicalNumber = physicalNumber, 
                parameterName = parameterName)
        safin_result.safinConfigChannelList.append(channel)

    r = session.post(satis_url + "windtest/%s/reference/master/safinconfig"%windtest_id, 
            json = json.loads(safin_result.to_JSON()))

    safin_result = safin.decode_json(r.json())
    return safin_result
コード例 #12
0
ファイル: psi8400.py プロジェクト: ngocthachta/nature
def create_psi(windtest_id, logicalName="PSI8400", physicalName="F1-PSI249"):
    logger.debug("Create psi %s" % physicalName)
    remove_all_psi(windtest_id)
    pcu1 = psi8400_pcu_config(name="PCU1", address=113)
    pcu2 = psi8400_pcu_config(name="PCU2", address=115)
    dau1 = psi8400_dau_config(name="DAU1", address=111, type="SDU", multiSensorConfigList=[])
    dau2 = psi8400_dau_config(name="DAU2", address=112, type="FIU", multiSensorConfigList=[])

    psi_obj = psi8400(
        windTestId=windtest_id,
        logicalName=logicalName,
        physicalName=physicalName,
        psi8400DauConfigList=[dau1, dau2],
        psi8400PCUConfigList=[pcu1, pcu2],
    )

    psi_obj.defaultClock = "HSYNC"

    session = login()
    r = session.post(
        satis_url + "windtest/%s/reference/master/psi8400config" % windtest_id, json=json.loads(psi_obj.to_JSON())
    )

    psi_obj = psi8400.decode_json(r.json())

    dau_config_list = []
    multisensor_config_list = []

    multisensor_id_lst = ["48389", "48390"]

    for indx, multisensor_id in enumerate(multisensor_id_lst):
        indx_i = indx + 1
        multisensor_obj = multisensor(id=multisensor_id)
        lst_channel = []
        for i in range(1, 49):
            psi_channel = psi8400_channel_config(
                parameterName="MPSI_%s_M%sC%s" % (indx_i, indx_i, i), pin=i, sigmaZero=True, logicalNumber=indx * 48 + i
            )
            lst_channel.append(psi_channel)

        multisensor_config = psi8400_multi_sensor_config(
            multiSensor=multisensor_obj,
            name="MPSI_%s" % indx_i,
            slot=indx_i,
            dauConfig=dau1,
            pcuConfig=pcu1,
            channelConfigList=lst_channel,
        )

        multisensor_config_list.append(multisensor_config)

    dau_config1 = psi8400_dau_config(
        id=None,
        psi8400Config=None,
        name="DAU1",
        address=111,
        type="SDU",
        multiSensorsNumber=len(multisensor_config_list),
        multiSensorConfigList=multisensor_config_list,
    )
    dau_config_list.append(dau_config1)

    multisensor_config_list = []
    multisensor_id_lst = [
        "641114",
        "641225",
        "641226",
        "641227",
        "641228",
        "641230",
        "641229",
        "641231",
        "641232",
        "641265",
        "641266",
        "641268",
        "641278",
        "641305",
    ]

    for indx, multisensor_id in enumerate(multisensor_id_lst):
        indx_i = indx + 3
        multisensor_obj = multisensor(id=multisensor_id)
        lst_channel = []
        for i in range(1, 65):
            psi_channel = psi8400_channel_config(
                parameterName="MPSI_%s_M%sC%s" % (indx_i, indx_i, i),
                pin=i,
                sigmaZero=True,
                logicalNumber=2 * 48 + indx * 64 + i,
            )
            lst_channel.append(psi_channel)

        multisensor_config = psi8400_multi_sensor_config(
            multiSensor=multisensor_obj,
            name="MPSI_%s" % indx_i,
            slot=indx_i - 2,
            dauConfig=dau2,
            pcuConfig=pcu2,
            channelConfigList=lst_channel,
        )

        multisensor_config_list.append(multisensor_config)

    dau_config2 = psi8400_dau_config(
        id=None,
        psi8400Config=None,
        name="DAU2",
        address=112,
        type="FIU",
        multiSensorsNumber=len(multisensor_config_list),
        multiSensorConfigList=multisensor_config_list,
    )

    dau_config_list.append(dau_config2)
    psi_obj.psi8400DauConfigList = dau_config_list

    r = session.post(
        satis_url + "windtest/%s/reference/master/psi8400config" % windtest_id, json=json.loads(psi_obj.to_JSON())
    )
    logger.debug("reponse %s " % json.dumps(r.json(), sort_keys=True, indent=4))
    psi_obj = psi8400.decode_json(r.json())
    logger.debug("psi reponse %s" % psi_obj.to_JSON())
    logger.debug("psi reponse %s" % psi_obj.to_JSON())
コード例 #13
0
ファイル: safin.py プロジェクト: ngocthachta/nature
def create_safin_instationnaire(windtest_id, logicalName = "Safin_Instationnaire", 
        physicalName = "F1-SAFIN171", nb_module_safin = 16):
    logger.debug("Create Safin Instationnaire %s" % physicalName)
    sensor_104350 = sensor(id = "104350@F1", ref_capteur = "104350", brand = "DRUCK",
            type = "PDCR22", supply = 12.0, supplyUnit = "V", physicalUnit = "Pa",
            sigmaZero = True, installationOwner = "F1")
    safin_obj = create_safin(windtest_id, logicalName, physicalName, nb_module_safin)
    safin_obj.defaultClock = "HINT"
    safin_obj.freqInt1.fileName = "AC_FC_10kHz_FINT_5kHz" 
    safin_obj.freqInt1.id = 34 # id in the table safin_filters

    safin_obj.safinConfigChannelList[0].parameterName = "XD"
    safin_obj.safinConfigChannelList[0].sensor = sensor_104350
    safin_obj.safinConfigChannelList[0].sigmaZero = True

    safin_obj.safinConfigChannelList[1].parameterName = "M1"
    safin_obj.safinConfigChannelList[1].sensor = sensor_104350
    safin_obj.safinConfigChannelList[1].sigmaZero = True

    safin_obj.safinConfigChannelList[2].parameterName = "M2"
    safin_obj.safinConfigChannelList[2].sensor = sensor_104350
    safin_obj.safinConfigChannelList[2].sigmaZero = True

    safin_obj.safinConfigChannelList[3].parameterName = "N1"
    safin_obj.safinConfigChannelList[3].sensor = sensor_104350
    safin_obj.safinConfigChannelList[3].sigmaZero = True

    safin_obj.safinConfigChannelList[4].parameterName = "N2"
    safin_obj.safinConfigChannelList[4].sensor = sensor_104350
    safin_obj.safinConfigChannelList[4].sigmaZero = True

    safin_obj.safinConfigChannelList[5].parameterName = "L"
    safin_obj.safinConfigChannelList[5].sensor = sensor_104350
    safin_obj.safinConfigChannelList[5].sigmaZero = True

    safin_obj.safinConfigChannelList[6].parameterName = "XL"
    safin_obj.safinConfigChannelList[6].sensor = sensor_104350
    safin_obj.safinConfigChannelList[6].sigmaZero = True

    safin_obj.safinConfigChannelList[7].parameterName = "CLINO"
    safin_obj.safinConfigChannelList[7].sensor = sensor_104350
    safin_obj.safinConfigChannelList[7].sigmaZero = True

    safin_obj.safinConfigChannelList[8].parameterName = "POTTOUR"
    safin_obj.safinConfigChannelList[8].sensor = sensor_104350
    safin_obj.safinConfigChannelList[8].sigmaZero = True

    safin_obj.safinConfigChannelList[9].parameterName = "DPREF1"
    safin_obj.safinConfigChannelList[9].sensor = sensor_104350
    safin_obj.safinConfigChannelList[9].sigmaZero = True

    safin_obj.safinConfigChannelList[10].parameterName = "DPREF2"
    safin_obj.safinConfigChannelList[10].sensor = sensor_104350
    safin_obj.safinConfigChannelList[10].sigmaZero = True

    safin_obj.safinConfigChannelList[11].parameterName = "CONTMAX"
    safin_obj.safinConfigChannelList[11].sensor = sensor_104350
    safin_obj.safinConfigChannelList[11].sigmaZero = True
    for channel_id in range(7):
       safin_obj.safinConfigChannelList[channel_id].sigmaZero = True
       safin_obj.safinConfigChannelList[channel_id].scaleBridgeDestination = True


    session = login()
    r = session.post(satis_url + "windtest/%s/reference/master/safinconfig"%windtest_id, 
            json = json.loads(safin_obj.to_JSON()))
    safin_result = safin.decode_json(r.json())

    logger.debug("Safin Instationnaire %s" %safin_result.to_JSON())
    return safin_result