Ctypes Wrapper#

class pycanape.cnp_api.cnp_class.Appversion[source]#
Variables:
class pycanape.cnp_api.cnp_class.DBFileInfo[source]#
Variables:
class pycanape.cnp_api.cnp_class.DBObjectInfo[source]#
Variables:
class pycanape.cnp_api.cnp_class.DiagJobResponse[source]#
class pycanape.cnp_api.cnp_class.DiagNotificationStruct[source]#
class pycanape.cnp_api.cnp_class.DiagNumericParameter[source]#
class pycanape.cnp_api.cnp_class.MeasurementListEntries[source]#
Variables:
class pycanape.cnp_api.cnp_class.PValues[source]#
class pycanape.cnp_api.cnp_class.SecProfileEntry[source]#
class pycanape.cnp_api.cnp_class.TApplicationID[source]#
pycanape.cnp_api.cnp_class.TAsap3Hdl#

alias of LP_tAsap3Hdl

class pycanape.cnp_api.cnp_class.TCANapeModes[source]#
class pycanape.cnp_api.cnp_class.TCalibrationObjectValue[source]#

Union of calibration object variants.

Variables:
class pycanape.cnp_api.cnp_class.TCalibrationObjectValueEx[source]#

Union of calibration object variants.

# :var ctypes.c_uint type: # See ValueType. # The enum value determines content of TCalibrationObjectValueEx # :var s_value_ex value: # contains the calibration object values if type is # VALUE # :var s_axis_ex axis: # contains the calibration object values if type is # AXIS # :var s_ascii_ex ascii: # contains the calibration object values if type is # ASCII # :var s_curve_ex curve: # contains the calibration object values if type is # CURVE # :var s_map_ex map: # contains the calibration object values if type is # MAP # :var s_valblk_ex valblk: # contains the calibration object values if type is # VAL_BLK

class pycanape.cnp_api.cnp_class.TConverterInfo[source]#
class pycanape.cnp_api.cnp_class.TFifoSize[source]#
class pycanape.cnp_api.cnp_class.TLayoutCoeffs[source]#
class pycanape.cnp_api.cnp_class.TMeasurementListEntry[source]#
Variables:
pycanape.cnp_api.cnp_class.TParamItemHdl#

alias of LP_c_ulong

pycanape.cnp_api.cnp_class.TParamTemplateHdl#

alias of LP_c_ulong

class pycanape.cnp_api.cnp_class.TPhysInterface[source]#
pycanape.cnp_api.cnp_class.TRecorderID#

alias of LP_c_ulong

class pycanape.cnp_api.cnp_class.TSampleBlockObject[source]#
class pycanape.cnp_api.cnp_class.TSampleObject[source]#
class pycanape.cnp_api.cnp_class.TSettingsParam[source]#
Variables:
class pycanape.cnp_api.cnp_class.TSettingsValue[source]#
Variables:
class pycanape.cnp_api.cnp_class.TTaskInfo[source]#
Variables:
  • description (ctypes.c_char_p) – description text

  • taskId (ctypes.c_ushort) – The task id is dynamically generated by CANape depending on internal definitions

  • taskCycle (ctypes.c_ulong) – Cycle rate in msec. 0 if not a cyclic task or unknown

class pycanape.cnp_api.cnp_class.TTaskInfo2[source]#
Variables:
  • description (ctypes.c_char_p) – description text

  • taskId (ctypes.c_ushort) – The task id is dynamically generated by CANape depending on internal definitions

  • taskCycle (ctypes.c_ulong) – Cycle rate in msec. 0 if not a cyclic task or unknown

  • eventChannel (ctypes.c_ulong) – event channel

class pycanape.cnp_api.cnp_class.s_ascii[source]#

ASCII variant of TCalibrationObjectValue.

Variables:
class pycanape.cnp_api.cnp_class.s_ascii_ex[source]#
class pycanape.cnp_api.cnp_class.s_axis[source]#

Axis variant of TCalibrationObjectValue.

Variables:
class pycanape.cnp_api.cnp_class.s_axis_ex[source]#
class pycanape.cnp_api.cnp_class.s_curve[source]#

Curve variant of TCalibrationObjectValue.

Variables:
class pycanape.cnp_api.cnp_class.s_curve_ex[source]#
class pycanape.cnp_api.cnp_class.s_map[source]#

Map variant of TCalibrationObjectValue.

Variables:
class pycanape.cnp_api.cnp_class.s_map_ex[source]#
class pycanape.cnp_api.cnp_class.s_valblk[source]#

Value block variant of TCalibrationObjectValue.

Variables:
class pycanape.cnp_api.cnp_class.s_valblk_ex[source]#
class pycanape.cnp_api.cnp_class.s_value[source]#

Scalar variant of TCalibrationObjectValue.

Variables:
class pycanape.cnp_api.cnp_class.s_value_ex[source]#
class pycanape.cnp_api.cnp_class.tAsap3Hdl[source]#

CANaple handle

class pycanape.cnp_api.cnp_class.version_t[source]#
Variables:
class pycanape.cnp_api.cnp_constants.Channels(value)[source]#

An enumeration.

DEV_CAN1 = 1#
DEV_CAN2 = 2#
DEV_CAN20 = 20#
DEV_CAN3 = 3#
DEV_CAN4 = 4#
DEV_CAN5 = 5#
DEV_CAN6 = 6#
DEV_CAN7 = 7#
DEV_CAN8 = 8#
DEV_CANFD1 = 121#
DEV_CANFD2 = 122#
DEV_CANFD3 = 123#
DEV_CANFD4 = 124#
DEV_CANFD5 = 125#
DEV_CANFD6 = 126#
DEV_CANFD7 = 127#
DEV_CANFD8 = 128#
DEV_CANFD9 = 129#
DEV_DAIO_DLL = 280#
DEV_FLX1 = 31#
DEV_FLX2 = 32#
DEV_FLX3 = 33#
DEV_FLX4 = 34#
DEV_FLX5 = 35#
DEV_FLX6 = 36#
DEV_FLX7 = 37#
DEV_FLX8 = 38#
DEV_LIN1 = 61#
DEV_LIN2 = 62#
DEV_LIN3 = 63#
DEV_LIN4 = 64#
DEV_LIN5 = 65#
DEV_LIN6 = 66#
DEV_LIN7 = 67#
DEV_LIN8 = 68#
DEV_SXI1 = 91#
DEV_SXI2 = 92#
DEV_SXI3 = 93#
DEV_SXI4 = 94#
DEV_SXI5 = 95#
DEV_SXI6 = 96#
DEV_SXI7 = 97#
DEV_SXI8 = 98#
DEV_TCP = 255#
DEV_UDP = 256#
DEV_UNDEFINED_CHANNEL_ID = 0#
DEV_USB = 110#
DEV_USERDEFINED = 261#
DEV_VX_CAN1 = 81#
DEV_VX_CAN2 = 82#
DEV_VX_CAN3 = 83#
DEV_VX_CAN4 = 84#
DEV_VX_ETHERNET1 = 271#
DEV_VX_ETHERNET2 = 272#
DEV_VX_TCP = 85#
DEV_VX_UDP = 86#
class pycanape.cnp_api.cnp_constants.DBFileType(value)[source]#

An enumeration.

ASAP2 = 1#
Anonymous = 21#
AutosarXML = 19#
CANDELA = 5#
CDM = 12#
CDP = 16#
DB = 2#
DBB = 3#
DBC = 4#
EDS = 7#
EHR = 8#
LDF = 11#
LST = 10#
LostVariable = 17#
MDF = 13#
ODF = 6#
PDX = 18#
ROB = 9#
System = 20#
UNKNOWN = 0#
Update = 15#
XML = 14#
class pycanape.cnp_api.cnp_constants.DriverType(value)[source]#

Value of parameter ‘driverType’ of subroutine Asap3CreateModule()

ASAP3_DAIO_SYSTEM = 160#
ASAP3_DRIVER_ANALOG = 50#
ASAP3_DRIVER_CAN = 20#
ASAP3_DRIVER_CANDELA = 70#
ASAP3_DRIVER_CANOPEN = 60#
ASAP3_DRIVER_CCP = 1#
ASAP3_DRIVER_DLT = 180#
ASAP3_DRIVER_ENVIRONMENT = 80#
ASAP3_DRIVER_ETH = 150#
ASAP3_DRIVER_FLX = 100#
ASAP3_DRIVER_FUNC = 110#
ASAP3_DRIVER_HEXEDIT = 40#
ASAP3_DRIVER_LIN = 90#
ASAP3_DRIVER_NIDAQMX = 120#
ASAP3_DRIVER_SOME_IP = 170#
ASAP3_DRIVER_SYSTEM = 140#
ASAP3_DRIVER_UNKNOWN = 0#
ASAP3_DRIVER_XCP = 2#
ASAP3_DRIVER_XCP_RAMSCOPE = 130#
class pycanape.cnp_api.cnp_constants.ErrorCodes(value)[source]#

An enumeration.

ACE_CHANNEL_OPTIMIZED = 134#
ACE_DIAG_WRONG_SERVICE_STATE = 86#
ACE_ERR_DATA_SIZE = 137#
ACE_ERR_PROFILE_ID = 135#
ACE_ERR_SBL_ERROR = 141#
ACE_ERR_UNSUPPORTED_TYPE = 136#
ACE_EVENT_ALLREADY_REGISERED = 117#
ACE_NOT_AVAILABLE_WHILE_ACQ = 115#
ACE_NOT_MISSING_LICENSE = 116#
AEC_ACQUIS_ALREADY_RUNNING = 24#
AEC_ACQUIS_NOT_STARTED = 25#
AEC_ACQ_CHNL_OVERRUN = 18#
AEC_ACQ_STP_INIT_FAILED = 35#
AEC_ACQ_STP_OVERFLOW = 37#
AEC_ACQ_STP_PROC_FAILED = 36#
AEC_ACQ_STP_TIME_OVER = 38#
AEC_ASAP2_FILE_NOT_FOUND = 6#
AEC_CALOBJ_INVALID_VALUE = 138#
AEC_CALOBJ_NO_VALID_VAUE = 143#
AEC_CALOBJ_READ_FAILED = 34#
AEC_CAL_NOT_ALLOWED = 119#
AEC_CANAPE_CREATE_PROC_FAILED = 20#
AEC_CANAPE_INVALID_PRG_PATH = 63#
AEC_CANT_OPEN_DISPLAY = 45#
AEC_CCP_RESPONSE_SIZE_INVALID = 15#
AEC_CMD_NOT_SUP = 1#
AEC_CNFG_FILE_INVALID = 107#
AEC_CNFG_FILE_NOT_FOUND = 106#
AEC_CNFG_WRONG_MODE = 105#
AEC_CREATE_MEM_MAPPED_FILE = 3#
AEC_DIAG_ERR_EXECUTE_SERVICE = 78#
AEC_DIAG_EXCEPTION_ERROR = 81#
AEC_DIAG_INVALID_BUSMESSAGE = 75#
AEC_DIAG_INVALID_DIAGSERVICE = 77#
AEC_DIAG_INVALID_DRIVERTYPE = 74#
AEC_DIAG_INVALID_INDEX_SIZE = 87#
AEC_DIAG_INVALID_PARAMS = 79#
AEC_DIAG_INVALID_RESPONSE = 82#
AEC_DIAG_INVALID_RESPONSETYPE = 88#
AEC_DIAG_INVALID_VARIANT = 76#
AEC_DIAG_NO_INFO_AVAILABLE = 84#
AEC_DIAG_PARAM_SETERROR = 104#
AEC_DIAG_UNDEFINED_JOB = 120#
AEC_DIAG_UNKNOWN_PARAM_NAME = 80#
AEC_DIAG_UNKNOWN_PARAM_TYPE = 83#
AEC_DIAG_UNKNOWN_RESPHANDLE = 85#
AEC_ERROR_CHANNEL_ASSIGNMENT = 122#
AEC_ERROR_COMPLEX_RESPONSES = 127#
AEC_ERROR_CONV_FILE_ACCESS = 126#
AEC_ERROR_CREATERECORDER = 101#
AEC_ERROR_DECALRE_SCR = 110#
AEC_ERROR_INIPATH = 128#
AEC_ERROR_INVALID_TASKID = 103#
AEC_ERROR_LOADING_LABELLIST = 125#
AEC_ERROR_MODAL_DIALOG = 121#
AEC_ERROR_RESUME_SUPPORTED = 111#
AEC_ERROR_SETRECFILENAME = 102#
AEC_ERROR_STRUCTURE_OBJECT = 123#
AEC_ERR_APIPARAMETER = 149#
AEC_ERR_CALOBJECT_CREATION = 142#
AEC_ERR_CANT_RELEASE_MUTEX = 48#
AEC_ERR_CREATING_MODULE = 145#
AEC_ERR_DCB_EXPORT = 114#
AEC_ERR_DRIVER_CONFIG = 113#
AEC_ERR_GOINGONLINE = 146#
AEC_ERR_INTERFACEV3 = 144#
AEC_ERR_NO_PATTERNFILE_DEFINED = 46#
AEC_ERR_OPEN_DATADESCFILE = 41#
AEC_ERR_OPEN_DATAVERSFILE = 42#
AEC_ERR_OPEN_FILE = 8#
AEC_ERR_OPEN_PATTERNFILE = 47#
AEC_ERR_PHYSINTERFACE = 147#
AEC_ERR_SETTINGSPARAM = 139#
AEC_ERR_UNDEF_SETTINGSPARAM = 140#
AEC_ERR_UNSUPPORTEDINTF = 148#
AEC_EXECUTE_SERVICE_ERROR = 72#
AEC_EXIT_DENIED_WHILE_ACQU = 21#
AEC_FIFO_ALREADY_INIT = 54#
AEC_FIFO_INTERNAL_ERROR = 31#
AEC_FLASH_ALLREADY_RUNNING = 92#
AEC_FLASH_INVALID_APPNAME = 93#
AEC_FLASH_INVALID_MANAGER = 89#
AEC_FLASH_MANAGER_ERROR = 91#
AEC_FLASH_OBJ_OUT_OF_RANGE = 90#
AEC_FUNCTION_NOT_SUPPORTED = 94#
AEC_ILLEGAL_DRIVER = 33#
AEC_ILLEGAL_OPERATION = 55#
AEC_INDEX_DO_NOT_MATCH = 154#
AEC_INDEX_OUT_OF_RANGE = 150#
AEC_INIT_CMD_FAILED = 62#
AEC_INIT_COM_FAILED = 61#
AEC_INSUFFICENT_BUFFERSIZE = 130#
AEC_INTERFACE_NOTSUPPORTED = 2#
AEC_INTERNAL_CANAPE_ERROR = 44#
AEC_INVALID_ASAP3_HDL = 64#
AEC_INVALID_DRIVERTYPE = 73#
AEC_INVALID_MODULE_HDL = 7#
AEC_INVALID_PARAMETER = 100#
AEC_INVALID_SCR_HANDLE = 108#
AEC_LAST_ERRCODE = 155#
AEC_LICENSE_NOT_FOUND = 95#
AEC_LOADING_FILE = 65#
AEC_MEASUREMOBJ_NOT_FOUND = 151#
AEC_NETWORK_NOT_FOUND = 124#
AEC_NOSERVER_ERRCODE = 40#
AEC_NOT_WRITE_ACCESS = 12#
AEC_NO_AXIS_PTS_NOT_VALID = 27#
AEC_NO_CANAPE_LICENSE = 57#
AEC_NO_DATABASE = 10#
AEC_NO_RASTER_OVERFLOW = 19#
AEC_NO_RESPONSE_FROM_ECU = 23#
AEC_NO_TASKS_OVERFLOW = 14#
AEC_NO_VALUES_SAMPLED = 17#
AEC_OBJECT_ALLREADY_DEFINED = 118#
AEC_OBJECT_TYPE_DOESNT_MATCH = 13#
AEC_OBJNAME_NOT_UNIQUE = 153#
AEC_PAR_SIZE_OVERFLOW = 11#
AEC_PATCHENTRY_NOT_FOUND = 131#
AEC_PATCHSECTION_NOT_FOUND = 132#
AEC_PERMANENT_OFFLINE = 152#
AEC_READ_RESPONSE = 5#
AEC_RECORDER_ALLREADY_EXISTS = 96#
AEC_RECORDER_INDEX_OUTOFRANGE = 98#
AEC_RECORDER_NOT_FOUND = 97#
AEC_REG_OPEN_KEY_FAILED = 58#
AEC_REG_QUERY_VALUE_FAILED = 59#
AEC_REMOVE_RECORDER_ERR = 99#
AEC_REMOVE_SCR_HANDLE = 109#
AEC_SAVING_FILE = 66#
AEC_SCRIPT_CMD_INVALID = 29#
AEC_SCRIPT_CMD_TO_LARGE = 28#
AEC_SEC_MANAGER_ERROR = 133#
AEC_TCP_EXIT_NOTCLOSED = 53#
AEC_TCP_MISSING_CFG = 51#
AEC_TCP_SERV_CONNECT_FAILED = 50#
AEC_TCP_SERV_NOT_CONNECTED = 52#
AEC_TDBO_TYPE_ERROR = 71#
AEC_TIMEOUT_RESPONSE = 16#
AEC_TMTF_NOT_FINSHED = 69#
AEC_TMTF_SEQUENCE_ERROR = 70#
AEC_TO_MUCH_DISPLAYS_OPEN = 43#
AEC_UNDEFINED_CHANNEL = 112#
AEC_UNKNOWN_MODULE_NAME = 30#
AEC_UNKNOWN_OBJECT = 9#
AEC_UPLOAD = 67#
AEC_USUPPORTED_INTERFACE_ID = 129#
AEC_VALUES_NOT_ACCESSIBLE = 26#
AEC_VERSION_ERROR = 32#
AEC_WORKDIR_ACCESS_FAILED = 60#
AEC_WRITE_CMD = 4#
AEC_WRITE_DATA_FAILED = 22#
AEC_WRITE_VALUE_ERROR = 68#
AEC_WRONG_CANAPE_VERSION = 49#
AEC_WRONG_TYPE = 56#
class pycanape.cnp_api.cnp_constants.EventCode(value)[source]#

An enumeration.

et_ON_BEFORE_DATA_ACQ_START = 2#
et_ON_CLOSECANAPE = 5#
et_ON_CLOSEPROJECT = 3#
et_ON_DATA_ACQ_START = 0#
et_ON_DATA_ACQ_STOP = 1#
et_ON_OPENPROJECT = 4#
class pycanape.cnp_api.cnp_constants.MeasurementState(value)[source]#

An enumeration.

eT_MEASUREMENT_EXIT = 3#
eT_MEASUREMENT_INIT = 1#
eT_MEASUREMENT_RUNNING = 5#
eT_MEASUREMENT_STOPPED = 0#
eT_MEASUREMENT_STOP_ON_START = 2#
eT_MEASUREMENT_THREAD_RUNNING = 4#
class pycanape.cnp_api.cnp_constants.ObjectType(value)[source]#

Selector to declare an object to be used for measurement or calibration

OTT_CALIBRATE = 1#
OTT_MEASURE = 0#
OTT_UNKNOWN = 2#
class pycanape.cnp_api.cnp_constants.RecorderState(value)[source]#

Possible states of the Recorder

e_RecActive = 1#
e_RecConfigure = 0#
e_RecPaused = 3#
e_RecRunning = 2#
e_Suspended = 4#
class pycanape.cnp_api.cnp_constants.RecorderType(value)[source]#

Typedefinition for Recordertypes

eTRecorderTypeBLF = 2#
eTRecorderTypeILinkRT = 1#
eTRecorderTypeMDF = 0#
class pycanape.cnp_api.cnp_constants.TApplicationType(value)[source]#

An enumeration.

eAPPLOCATION = 3#
eCANAPE = 1#
eUNDEFINED = 0#
class pycanape.cnp_api.cnp_constants.TAsap3DBOType(value)[source]#

possible database object types

DBTYPE_ALL = 3#
DBTYPE_CHARACTERISTIC = 2#
DBTYPE_MEASUREMENT = 1#
class pycanape.cnp_api.cnp_constants.TAsap3DataType(value)[source]#

possible datatypes of caracteristic objectes

TYPE_DOUBLE = 3#
TYPE_FLOAT = 2#
TYPE_FLOAT16 = 14#
TYPE_INT = 1#
TYPE_INT64 = 7#
TYPE_SBYTE = 13#
TYPE_SIGNED = 4#
TYPE_STRING = 6#
TYPE_UBYTE = 12#
TYPE_UINT = 11#
TYPE_UINT64 = 8#
TYPE_UNKNOWN = 0#
TYPE_UNSIGNED = 5#
TYPE_UWORD = 9#
TYPE_WORD = 10#
property dtype: npt.DTypeLike#
class pycanape.cnp_api.cnp_constants.TAsap3ECUState(value)[source]#

possible On-Offline states of the ECU

TYPE_SWITCH_OFFLINE = 1#
TYPE_SWITCH_ONLINE = 0#
class pycanape.cnp_api.cnp_constants.TFormat(value)[source]#

Format of ECU measurement or calibration data

ECU_INTERNAL = 0#
PHYSICAL_REPRESENTATION = 1#
class pycanape.cnp_api.cnp_constants.TLogicalChannels(value)[source]#

An enumeration.

ekCAN = 1#
ekDAIO = 13#
ekETH = 11#
ekFlexRay = 7#
ekLIN = 6#
ekSXI = 4#
ekUndefined = 0#
ekUserDefinedDll = 8#
class pycanape.cnp_api.cnp_constants.TParameterClass(value)[source]#

TParameterClass Class ID’s of the available parameters

ePType_CHannelID = 100#
ePType_DeviceName = 110#
ePType_Driver = 109#
ePType_DriverAsText = 111#
ePType_NetWorkName = 101#
ePType_Undefined = -1#
ePType_UseCANFD = 102#
ePType_descriptionFile = 108#
ePType_diaginterfaceName = 105#
ePType_enableCache = 107#
ePType_goOnline = 106#
ePType_secProfileId = 103#
ePType_securityRole = 104#
class pycanape.cnp_api.cnp_constants.TScriptStatus(value)[source]#

An enumeration.

eTScrDelayedCompiling = 11#
eTScrException = 12#
eTScrFailure = 9#
eTScrFinishedCancel = 8#
eTScrFinishedReturn = 7#
eTScrReady = 1#
eTScrRunning = 3#
eTScrSleeping = 4#
eTScrStarting = 2#
eTScrSuspended = 5#
eTScrTerminated = 6#
eTScrTimeout = 10#
class pycanape.cnp_api.cnp_constants.TSettingsParameterType(value)[source]#

Valid Parameter type for INI driversettings and Template Parameters

e_cfgType_REAL = 30#
e_cfgType_SIGNED = 10#
e_cfgType_TEXT = 40#
e_cfgType_UNSIGNED = 20#
e_cfgType_Undef = 0#
class pycanape.cnp_api.cnp_constants.ValueType(value)[source]#

Valid types of ECU measurement or calibration data

ASCII = 4#
AXIS = 3#
CURVE = 1#
MAP = 2#
VALUE = 0#
VAL_BLK = 5#
class pycanape.cnp_api.cnp_prototype.CANapeDll(lib_path: Path)[source]#
Parameters:

lib_path (Path) –

lock: Final = <unlocked _thread.RLock object owner=0 count=0>#
property version: Version#