# SPDX-FileCopyrightText: 2022-present Artur Drogunow <artur.drogunow@zf.com>## SPDX-License-Identifier: MITfromenumimportIntEnumfromtypingimportTYPE_CHECKINGimportnumpyasnpifTYPE_CHECKING:importnumpy.typingasnptDLL_INTERFACE_VERSION=b"02.03.01.Windows95/WindowsNT.1 "CANAPE_API_MAIN_VESION=2CANAPE_API_SUB_VESION=8CANAPE_API_RELEASE=0CANAPE_API_OS_VERSION=b"Windows95/WindowsNT"CANAPE_API_OS_RELEASE=0MAX_OS_VERSION=50MAX_INTERFACENAME=32MAX_TEMPLATENAME=32# Definitions used by function Asap3GetApplicationSettingsAPPPARAM_PATH_MODULE=b"MODULE"APPPARAM_SETTINGS_PARAM=b"MODULE"ASAP3_INVALID_MODULE_HDL=-1# Definitions used by function Asap3GetDatabaseObjectsByTypeTDBE_VALUE_SCALAR=0x00000001# definition for scalar object selectionTDBE_VALUE_CURVE=0x00000002# definition for curve object selectionTDBE_VALUE_MAP=0x00000004# definition for map object selectionTDBE_VALUE_AXIS=0x00000008# definition for axis object selectionTDBE_VALUE_ASCII=0x00000010# definition for ASCII object selectionTDBE_VALUE_VALBLK=0x00000020# definition for Value Block object selectionTDBE_VALUE_TEMPLATE=0x00000040# definition for Includeing templatesTDBE_VALUE_ALL=(TDBE_VALUE_SCALAR|TDBE_VALUE_CURVE|TDBE_VALUE_MAP|TDBE_VALUE_AXIS|TDBE_VALUE_ASCII|TDBE_VALUE_VALBLK)# definition for all object types without templatesTDBE_VALUE_INCLUDING_TEMPLATES=(TDBE_VALUE_SCALAR|TDBE_VALUE_CURVE|TDBE_VALUE_MAP|TDBE_VALUE_AXIS|TDBE_VALUE_ASCII|TDBE_VALUE_VALBLK|TDBE_VALUE_TEMPLATE)# definition for all object types including templates
[docs]classErrorCodes(IntEnum):AEC_CMD_NOT_SUP=1# Command not supportedAEC_INTERFACE_NOTSUPPORTED=2# Interface type not supportedAEC_CREATE_MEM_MAPPED_FILE=3# Error creating memory mapped fileAEC_WRITE_CMD=4# Error writing data to memory mapped fileAEC_READ_RESPONSE=5# Error reading response from memory mapped fileAEC_ASAP2_FILE_NOT_FOUND=6# ASAP2 file not foundAEC_INVALID_MODULE_HDL=7# Invalid module handleAEC_ERR_OPEN_FILE=8# Open file errorAEC_UNKNOWN_OBJECT=9# Unknown object nameAEC_NO_DATABASE=10# No database assignedAEC_PAR_SIZE_OVERFLOW=11# Parameter 'size' too largeAEC_NOT_WRITE_ACCESS=12# Object has no write accessAEC_OBJECT_TYPE_DOESNT_MATCH=13# Object type doesn't matchAEC_NO_TASKS_OVERFLOW=14# Number of tasks overflowAEC_CCP_RESPONSE_SIZE_INVALID=15# Invalid CCP response sizeAEC_TIMEOUT_RESPONSE=16# Timeout reading response from memory mapped fileAEC_NO_VALUES_SAMPLED=17# FIFO doesn't contain any valuesAEC_ACQ_CHNL_OVERRUN=18# Too many channels defined relating to single rasterAEC_NO_RASTER_OVERFLOW=19# Too many rasters selected for data acquisition (overflow of internal parameter)AEC_CANAPE_CREATE_PROC_FAILED=20# CreateProcess of CANape failedAEC_EXIT_DENIED_WHILE_ACQU=(21# Asap3Exit denied because data acquisition is still running)AEC_WRITE_DATA_FAILED=22# Error writing data to application RAMAEC_NO_RESPONSE_FROM_ECU=23# No response from ECU (attach Asap2 failed)AEC_ACQUIS_ALREADY_RUNNING=(24# Asap3StartDataAcquisition denied: data acquisition already running)AEC_ACQUIS_NOT_STARTED=(25# Asap3StopAcquisition denied: data acquisition not started)AEC_VALUES_NOT_ACCESSIBLE=26# If cache is disabled, values aren't accessible while acquisition is runningAEC_NO_AXIS_PTS_NOT_VALID=(27# Invalid number of axis points (see following note).)AEC_SCRIPT_CMD_TO_LARGE=28# Script command size overflowAEC_SCRIPT_CMD_INVALID=29# Invalid/unknown script commandAEC_UNKNOWN_MODULE_NAME=30# Unknown moduleAEC_FIFO_INTERNAL_ERROR=31# CANape internal error concerning FIFO managementAEC_VERSION_ERROR=32# Access denied: incompatible CANape versionAEC_ILLEGAL_DRIVER=33# Illegal driver typeAEC_CALOBJ_READ_FAILED=34# Read of calibration object failedAEC_ACQ_STP_INIT_FAILED=35# Initialization of data acquisition failedAEC_ACQ_STP_PROC_FAILED=36# Data acquisition failedAEC_ACQ_STP_OVERFLOW=37# Buffer overflow at data acquisitionAEC_ACQ_STP_TIME_OVER=(38# Data acquisition stopped because selected time is elapsed)AEC_NOSERVER_ERRCODE=40# No Server application availableAEC_ERR_OPEN_DATADESCFILE=(41# Unable to open data description file, may be nonexistent)AEC_ERR_OPEN_DATAVERSFILE=42# Unable to open a data fileAEC_TO_MUCH_DISPLAYS_OPEN=43# Maximal count of displays are openedAEC_INTERNAL_CANAPE_ERROR=44# Attempt to create a module failedAEC_CANT_OPEN_DISPLAY=45# Unable to open a displayAEC_ERR_NO_PATTERNFILE_DEFINED=46# No parameter filenameAEC_ERR_OPEN_PATTERNFILE=47# Unable to open patternfileAEC_ERR_CANT_RELEASE_MUTEX=48# Release of a mutex failedAEC_WRONG_CANAPE_VERSION=49# Canape does not fit to dll versionAEC_TCP_SERV_CONNECT_FAILED=50# Connect to ASAP3 server failedAEC_TCP_MISSING_CFG=51# Missing CANape TCP Server configurationAEC_TCP_SERV_NOT_CONNECTED=(52# Connection between ASAP3 Server and TCP CANapeAPI is not active)AEC_TCP_EXIT_NOTCLOSED=53AEC_FIFO_ALREADY_INIT=(54# The FIFO Memory was already created. Close all connections to reconfigure.)AEC_ILLEGAL_OPERATION=55# It is not possible to operate this commandAEC_WRONG_TYPE=56# The given type is not supportedAEC_NO_CANAPE_LICENSE=57# CANape is not licensedAEC_REG_OPEN_KEY_FAILED=58# Key "HKEY_LOCAL_MACHINE\\SOFTWARE\\VECTOR\\CANape" missing at Windows Registry, maybe CANape setup has not been correctly performedAEC_REG_QUERY_VALUE_FAILED=59# Value "Path" missing at Windows Registry, maybe CANape setup has not been correctly performedAEC_WORKDIR_ACCESS_FAILED=(60# CreateProcess of CANape failed: working directory not accessible/exists)AEC_INIT_COM_FAILED=61# Internal error: Asap3InitCom() failedAEC_INIT_CMD_FAILED=62# Negative Response from CANape: Init() failedAEC_CANAPE_INVALID_PRG_PATH=63# CreateProcess of CANape failed: programme directory not accessible/nonexistentAEC_INVALID_ASAP3_HDL=64# Invalid asap3 handleAEC_LOADING_FILE=65# File loading failedAEC_SAVING_FILE=66# File saving failedAEC_UPLOAD=67# Upload failedAEC_WRITE_VALUE_ERROR=68# Value could not be writtenAEC_TMTF_NOT_FINSHED=69# Other file transmission in processAEC_TMTF_SEQUENCE_ERROR=70# TransmitFile: sequence error (internal error)AEC_TDBO_TYPE_ERROR=71# TransmitFile: sequence error (internal error)AEC_EXECUTE_SERVICE_ERROR=72# Asap3_CCP_Request failedAEC_INVALID_DRIVERTYPE=73# Invalid drivertype for this operationAEC_DIAG_INVALID_DRIVERTYPE=74# Invalid drivertype for for diagnostic operationsAEC_DIAG_INVALID_BUSMESSAGE=75# Invalid BusMessageAEC_DIAG_INVALID_VARIANT=76# Invalid VariantAEC_DIAG_INVALID_DIAGSERVICE=77# Invalid or unknown requestAEC_DIAG_ERR_EXECUTE_SERVICE=78# Error while sending serviceAEC_DIAG_INVALID_PARAMS=79# Invalid or unknown requestAEC_DIAG_UNKNOWN_PARAM_NAME=80# Invalid or unknown parameter nameAEC_DIAG_EXCEPTION_ERROR=81# Error while creating a requestAEC_DIAG_INVALID_RESPONSE=82# Error response cannot be handledAEC_DIAG_UNKNOWN_PARAM_TYPE=83# Unknown parameter typeAEC_DIAG_NO_INFO_AVAILABLE=84# Currently no information availableAEC_DIAG_UNKNOWN_RESPHANDLE=85# Unknown response handleAEC_DIAG_WRONG_SERVICE_STATE=(86# The current request is in the wrong state for this operation)AEC_DIAG_INVALID_INDEX_SIZE=87# Complex index does not matchAEC_DIAG_INVALID_RESPONSETYPE=88# Invalid response typeAEC_FLASH_INVALID_MANAGER=89# Flash manager invalidAEC_FLASH_OBJ_OUT_OF_RANGE=90# Flash object out of rangeAEC_FLASH_MANAGER_ERROR=91# Flash manager errorAEC_FLASH_ALREADY_RUNNING=92AEC_FLASH_INVALID_APPNAME=93# Invalid application nameAEC_FUNCTION_NOT_SUPPORTED=(94# This function is not supported in this program version)AEC_LICENSE_NOT_FOUND=95# License file not foundAEC_RECORDER_ALREADY_EXISTS=96# Recorder already existsAEC_RECORDER_NOT_FOUND=97# Recorder does not existAEC_RECORDER_INDEX_OUTOFRANGE=98# Recorder index out of rangeAEC_REMOVE_RECORDER_ERR=99# Error deleting RecorderAEC_INVALID_PARAMETER=100# Wrong parameter valueAEC_ERROR_CREATERECORDER=101# Error creating recorderAEC_ERROR_SETRECFILENAME=102# Error creating FilenameAEC_ERROR_INVALID_TASKID=103# Invalid task id for the given Measurement objectAEC_DIAG_PARAM_SETERROR=104# Parameter can not be setAEC_CNFG_WRONG_MODE=105# command not supported in current modeAEC_CNFG_FILE_NOT_FOUND=106# Specified File is Not FoundAEC_CNFG_FILE_INVALID=107# File belongs to a different projectAEC_INVALID_SCR_HANDLE=108# Invalid script handleAEC_REMOVE_SCR_HANDLE=109# Unable to remove ScriptAEC_ERROR_DECALRE_SCR=110# Unable to declare scriptAEC_ERROR_RESUME_SUPPORTED=111# The requested module doesn't support resume modeAEC_UNDEFINED_CHANNEL=112# undefined channel parameterAEC_ERR_DRIVER_CONFIG=113# No configuration for this drivertype availableAEC_ERR_DCB_EXPORT=114# Error creating DBC export fileAEC_NOT_AVAILABLE_WHILE_ACQ=(115# Function not available while a measurement is running)AEC_NOT_MISSING_LICENSE=116# ILinkRT Recorder available only with option MCD3AEC_EVENT_ALREADY_REGISTERED=117# Callback Event already registeredAEC_OBJECT_ALREADY_DEFINED=118# Measurement object already definedAEC_CAL_NOT_ALLOWED=(119# Calibration not allowed if online calibration is switched off)AEC_DIAG_UNDEFINED_JOB=120# Unknown serviceAEC_ERROR_MODAL_DIALOG=121# Prohibited command while a modal dialog is promptedAEC_ERROR_CHANNEL_ASSIGNMENT=122# hardware channel assignment"AEC_ERROR_STRUCTURE_OBJECT=(123# Measurement object is already instantiated in a structure object)AEC_NETWORK_NOT_FOUND=124# Network not found or not availableAEC_ERROR_LOADING_LABELLIST=125# Error loading label listAEC_ERROR_CONV_FILE_ACCESS=(126# Currently the converter has no file access - please try it later)AEC_ERROR_COMPLEX_RESPONSES=127# Function not available for complex responsesAEC_ERROR_INIPATH=128# Function could not determine the project directoryAEC_USUPPORTED_INTERFACE_ID=(129# Interface name is not supported with this drivertype)AEC_INSUFFICENT_BUFFERSIZE=130# Buffer size too smallAEC_PATCHENTRY_NOT_FOUND=131# Patch section not foundAEC_PATCHSECTION_NOT_FOUND=132# Patch entry not foundAEC_SEC_MANAGER_ERROR=133# Security manager access errorAEC_CHANNEL_OPTIMIZED=134# Measurement channel is optimized because it's parent will already be measuredAEC_ERR_PROFILE_ID=135# Profile not registeredAEC_ERR_UNSUPPORTED_TYPE=136# Unsupported data type for measurementAEC_ERR_DATA_SIZE=137# Datasize of object too largeAEC_CALOBJ_INVALID_VALUE=138# Invalid value - object can't be readAEC_ERR_SETTINGSPARAM=139# Invalid settings parameterAEC_ERR_UNDEF_SETTINGSPARAM=140# Undefined settings parameterAEC_ERR_SBL_ERROR=141# Streambased Logging configuration returns errorAEC_ERR_CALOBJECT_CREATION=142# Calibration Object could not be createdAEC_CALOBJ_NO_VALID_VAUE=(143# Warning :No valid Value available for Calibration Object)AEC_ERR_INTERFACEV3=144# There is no Networkbased Interface definedAEC_ERR_CREATING_MODULE=145# An error occurred while creating moiduleAEC_ERR_GOINGONLINE=146# Unable to switch to onlineAEC_ERR_PHYSINTERFACE=147# Wrong physical interface for this driverAEC_ERR_UNSUPPORTEDINTF=148# Wrong physical interface for this driverAEC_ERR_APIPARAMETER=149# Wrong physical interface for this driverAEC_INDEX_OUT_OF_RANGE=150# index is out of rangeAEC_MEASUREMOBJ_NOT_FOUND=151# Measurement Object not foundAEC_PERMANENT_OFFLINE=(152# Online not possible - CANape is in permanent offline mode)AEC_OBJNAME_NOT_UNIQUE=153# Objectname not uniqueAEC_INDEX_DO_NOT_MATCH=154# Index of Objectname does not uniqueAEC_MEASUREMENT_NOT_ALLOWED=155# Index of Objectname does not uniqueAEC_ERROR_ASSIGN_TO_RECORDER=156# Error assigning object to RecorderAEC_DATAYPE_NOT_ALLOWED=157# Datatype not allowedAEC_MISSING_MONITOR_DEVICE=158# No Monitor device available in this NetworkAEC_WRONG_OBJECT_STATE=159# Wrong object state for current functionAEC_BINARY_FILE_NOT_FOUND=160# binary file not foundAEC_ACQ_START_TIME_OVER=(161# Data acquisition can't be started because selected time is elapsed.)AEC_COMMENT_DISABLED=162# Comment function is disabled.AEC_MEASUREMENT_NOT_RUNNING=163# Only available if measurement is runningAEC_LAST_ERRCODE=164
[docs]classChannels(IntEnum):DEV_UNDEFINED_CHANNEL_ID=0# Definitions for CANDEV_CAN1=1DEV_CAN2=2DEV_CAN3=3DEV_CAN4=4DEV_CAN5=5DEV_CAN6=6DEV_CAN7=7DEV_CAN8=8DEV_CAN20=20# Definitions for FlexRay 1 - 8DEV_FLX1=31DEV_FLX2=32DEV_FLX3=33DEV_FLX4=34DEV_FLX5=35DEV_FLX6=36DEV_FLX7=37DEV_FLX8=38# Definitions for LIN 1 - 8DEV_LIN1=61DEV_LIN2=62DEV_LIN3=63DEV_LIN4=64DEV_LIN5=65DEV_LIN6=66DEV_LIN7=67DEV_LIN8=68# Definitions for CAN on VX 1-4DEV_VX_CAN1=81DEV_VX_CAN2=82DEV_VX_CAN3=83DEV_VX_CAN4=84# Definitions for TCP on VXDEV_VX_TCP=85DEV_VX_UDP=86# Definitions for SXIDEV_SXI1=91DEV_SXI2=92DEV_SXI3=93DEV_SXI4=94DEV_SXI5=95DEV_SXI6=96DEV_SXI7=97DEV_SXI8=98# Definitions for USBDEV_USB=110# Definitions for CAN CANFDDEV_CANFD1=121DEV_CANFD2=122DEV_CANFD3=123DEV_CANFD4=124DEV_CANFD5=125DEV_CANFD6=126DEV_CANFD7=127DEV_CANFD8=128DEV_CANFD9=129# Definitions for TCPDEV_TCP=255# Definitions for UDPDEV_UDP=256# Definitions for user defined InterfaceDEV_USERDEFINED=261# Definitions for user Ethernet InterfaceDEV_VX_ETHERNET1=271DEV_VX_ETHERNET2=272# Definitions for user DAIO InterfaceDEV_DAIO_DLL=280
[docs]classDriverType(IntEnum):"""Value of parameter 'driverType' of subroutine Asap3CreateModule()"""ASAP3_DRIVER_UNKNOWN=0# Default value for Error case(must not be used)ASAP3_DRIVER_CCP=1# CCP: CAN calibration protocolASAP3_DRIVER_XCP=2# XCPASAP3_DRIVER_CAN=20# CANASAP3_DRIVER_HEXEDIT=40# Pure offine driverASAP3_DRIVER_ANALOG=(50# Analog measurement data(e.g. 'National Instruments' PCMCIA - card))ASAP3_DRIVER_CANOPEN=60# CANopenASAP3_DRIVER_CANDELA=70# CANdela DiagnosticASAP3_DRIVER_ENVIRONMENT=80# Environment - access to global variablesASAP3_DRIVER_LIN=90# LIN DriverASAP3_DRIVER_FLX=100# FlexRayASAP3_DRIVER_FUNC=110# Functonal Diagnostic DriverASAP3_DRIVER_NIDAQMX=120# NI DAQ Driver 'National Instruments'ASAP3_DRIVER_XCP_RAMSCOPE=130# XCP Driver for RamscopeASAP3_DRIVER_SYSTEM=140# System driverASAP3_DRIVER_ETH=150# Ethernet driverASAP3_DAIO_SYSTEM=160# DAIO_SYSTEM driverASAP3_DRIVER_SOME_IP=170# SOME-IP driverASAP3_DRIVER_DLT=180# DLT driverASAP3_DRIVER_FUNCTION=190# Function driverASAP3_DRIVER_XETK=200# XETK driver
[docs]classTFormat(IntEnum):"""Format of ECU measurement or calibration data"""ECU_INTERNAL=0PHYSICAL_REPRESENTATION=1
[docs]classTSettingsParameterType(IntEnum):"""Valid Parameter type for INI driversettings and Template Parameters"""e_cfgType_Undef=0# Represents signed type for setting use casese_cfgType_SIGNED=10# Represents signed type for setting use casese_cfgType_UNSIGNED=20# Represents unsigned real type for setting use casese_cfgType_REAL=30# Represents real type for setting use casese_cfgType_TEXT=40# Represents string object for setting use cases
[docs]classTParameterClass(IntEnum):"""TParameterClass Class ID's of the available parameters"""ePType_Undefined=-1# undefined Parameter classePType_CHannelID=100# hardware ChannelID <unsigned>ePType_NetWorkName=101# hardware Network Name <text>ePType_UseCANFD=102# hardware CanFD option <unsigned>ePType_secProfileId=(103# Security Profile ID (used for Diagnostic devices) <unsigned>)ePType_securityRole=104# Security Role (used for Diagnostic devices) <text>ePType_diaginterfaceName=(105# Diagnostic interface (optional part in Diagnostic databases) <text>)ePType_goOnline=(106# Flag to go online after initialisation of the device <unsigned>)ePType_enableCache=107# Flag to enable a mirror cache after initialisation of the device <unsigned>ePType_descriptionFile=108# Device database file (a2l,DB,arxml etc.) <text>ePType_Driver=109# Device driver ID <unsigned>ePType_DeviceName=110# Devicename <text>ePType_DriverAsText=111# Device driver ID as string <text>ePType_BinaryFile=112# Memory image file of the device (e.g. XETK device) <text>
[docs]classObjectType(IntEnum):"""Selector to declare an object to be used for measurement or calibration"""OTT_MEASURE=0# Represents Measurement objectsOTT_CALIBRATE=1# Represents Calibration and writeable Measurement objectsOTT_UNKNOWN=2# Fallback value - should not appear!
[docs]classTAsap3DataType(IntEnum):"""possible datatypes of caracteristic objectes"""TYPE_UNKNOWN=0# Defaultvalue - should not occurTYPE_INT=1# Characteristic Object is type of integerTYPE_FLOAT=2# Characteristic Object is type of floatTYPE_DOUBLE=3# Characteristic Object is type of doubleTYPE_SIGNED=4# Characteristic Object is type of signedTYPE_UNSIGNED=5# Characteristic Object is type of unsignedTYPE_STRING=6# Characteristic Object is type of ASCII stringTYPE_INT64=7# Characteristic Object is type of 64bit integerTYPE_UINT64=8# Characteristic Object is type of 64bit integerTYPE_UWORD=9# Characteristic Object is type of unsigned wordTYPE_WORD=10# Characteristic Object is type of signed wordTYPE_UINT=11# Characteristic Object is type of unsigned intTYPE_UBYTE=12# Characteristic Object is type of BYTETYPE_SBYTE=13# Characteristic Object is type of characterTYPE_FLOAT16=14# Characteristic Object is type of 16bit float@propertydefdtype(self)->"npt.DTypeLike":datatype_map:dict[TAsap3DataType,npt.DTypeLike]={TAsap3DataType.TYPE_INT:np.int32,TAsap3DataType.TYPE_FLOAT:np.float32,TAsap3DataType.TYPE_DOUBLE:np.float64,# TAsap3DataType.TYPE_SIGNED: np.int16, # TODO: check with CANape 17# TAsap3DataType.TYPE_UNSIGNED: np.uint16, # TODO: check with CANape 17TAsap3DataType.TYPE_STRING:np.uint8,TAsap3DataType.TYPE_INT64:np.int64,TAsap3DataType.TYPE_UINT64:np.uint64,TAsap3DataType.TYPE_UWORD:np.uint16,TAsap3DataType.TYPE_WORD:np.int16,TAsap3DataType.TYPE_UINT:np.uint32,TAsap3DataType.TYPE_UBYTE:np.uint8,TAsap3DataType.TYPE_SBYTE:np.int8,TAsap3DataType.TYPE_FLOAT16:np.float16,}returndatatype_map[self]
[docs]classTAsap3DBOType(IntEnum):"""possible database object types"""DBTYPE_MEASUREMENT=1# Selects measurement objects from the databaseDBTYPE_CHARACTERISTIC=2# Selects characteristic objects from the databaseDBTYPE_ALL=(3# Selects both, measurement and characteristic objects from the database)
[docs]classTAsap3ECUState(IntEnum):"""possible On-Offline states of the ECU"""TYPE_SWITCH_ONLINE=0# Switches the ECU state from offline to onlineTYPE_SWITCH_OFFLINE=1# Switches the ECU state from online to offline
[docs]classRecorderType(IntEnum):"""Typedefinition for Recordertypes"""eTRecorderTypeMDF=0eTRecorderTypeILinkRT=1eTRecorderTypeBLF=2
[docs]classRecorderState(IntEnum):"""Possible states of the Recorder"""e_RecConfigure=0# Recorder is configurede_RecActive=1# Recorder is active and ready to rune_RecRunning=2# Recorder is runninge_RecPaused=3# Recorder paused but measurement is still runninge_Suspended=4# Recorder has stopped
[docs]classMeasurementState(IntEnum):eT_MEASUREMENT_STOPPED=0# Keine MessungeT_MEASUREMENT_INIT=1# Messung gestartet, Messthread laeuft noch nichteT_MEASUREMENT_STOP_ON_START=2# Messung wird in prStart per funktion beendeteT_MEASUREMENT_EXIT=3# Messung ist gestoppt, aber noch nicht beendeteT_MEASUREMENT_THREAD_RUNNING=4# Messung gestartet, Messthread laeufteT_MEASUREMENT_RUNNING=5# Messschleife laeuft