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
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
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)
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
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())
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
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
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
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
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
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
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())
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