fault1
Example heading with h2 size
Example heading with h3 size
Following is sample java code.
# -*- coding: cp1252 -*-
"""
File: EESPortConfiguration.py
Description: This Python script demonstrates how to create and edit EESPortConfiguration file
Preconditions: No hardware is required.
The user must have rights to save the port configuration file to path specified in variable 'portConfigSavePath'.
Tip/Remarks: eesPort object must be deleted at the end of the function.
You must use the try:-finally: block to ensure
their deletion within the finally: part.
Limitations: -
Version: 1.0
Date: 2015-06-08
dSPACE GmbH shall not be liable for errors contained herein or
direct, indirect, special, incidental, or consequential damages
in connection with the furnishing, performance, or use of this
file.
Brand names or product names are trademarks or registered
trademarks of their respective companies or organizations.
Copyright 2014, dSPACE GmbH. All rights reserved.
"""
#--------------------------------------------------------------------------------------------------
# Import python modules.
#--------------------------------------------------------------------------------------------------
import os
import sys
#--------------------------------------------------------------------------------------------------
# Import .NET assemblies
#--------------------------------------------------------------------------------------------------
import clr
import System
# Load ASAM assemblies from the global assembly cache (GAC)
assemblyString = "ASAM.XIL.Interfaces, Version=2.1.0.0, Culture=neutral, PublicKeyToken=bf471dff114ae984"
clr.AddReference(assemblyString)
assemblyString = "ASAM.XIL.Implementation.TestbenchFactory, Version=2.1.0.0, Culture=neutral, PublicKeyToken=fc9d65855b27d387"
clr.AddReference(assemblyString)
# 2018-B
assemblyString = "dSPACE.XIL.Testbench.EESPort.Interfaces.Extended, Version=6.0.0.0, Culture=neutral, PublicKeyToken=f9604847d8afbfbb"
clr.AddReference(assemblyString)
# Import XIL API .NET classes from the .NET assemblies
from ASAM.XIL.Implementation.TestbenchFactory.Testbench import TestbenchFactory
from ASAM.XIL.Interfaces.Testbench.EESPort.Error import EESPortException
from ASAM.XIL.Interfaces.Testbench.EESPort.Enum import EESPortState, ErrorCategory, ErrorType, LoadType, TriggerType
from ASAM.XIL.Interfaces.Testbench.EESPort import IEESPortConfig
from dSPACE.XIL.Testbench.EESPort.Interfaces.Extended import IDSEESPort, ConfigurationType, PotentialType, IDSMidSizeFullSizeVariant1Configuration, IDSFullSizeVariant2Configuration, IDSScalexioConfiguration
from dSPACE.XIL.Testbench.EESPort.Interfaces.Extended import DSCANAPIVersion, CANVendorNames, CANInterfaceNames
#----------------------------------------------------------------------
# Define the variables to use in this demo
#----------------------------------------------------------------------
vendorName = "dSPACE GmbH"
productName = "XIL API"
productVersion = "2020-A"
# Get the directory of this script
workingDir = os.path.dirname(os.path.realpath(__file__))
if os.path.isdir(workingDir) == 0:
workingDir = os.getcwd()
workingDir = os.path.abspath(workingDir)
#-------------------------------------------------------------------------------------
# The following file path variable must be modified by user.
#-------------------------------------------------------------------------------------
signalListFilePathFullSizeVariant1 = System.IO.Path.GetFullPath(System.IO.Path.Combine(workingDir, r"..\Common\PortConfigurations\FullSizeVariant1\signallist full-size ds291.csv"))
signalListFilePathFullSizeVariant2 = System.IO.Path.GetFullPath(System.IO.Path.Combine(workingDir, r"..\Common\PortConfigurations\FullSizeVariant2\signallist full-size ds293.csv"))
signalListFilePathMidSizeBasedOnDS2210DS789 = System.IO.Path.GetFullPath(System.IO.Path.Combine(workingDir, r"..\Common\PortConfigurations\MidSizeBasedOnDS2210\signallist mid-size ds789.csv"))
signalListFilePathMidSizeBasedOnDS2210DS749 = System.IO.Path.GetFullPath(System.IO.Path.Combine(workingDir, r"..\Common\PortConfigurations\MidSizeBasedOnDS2210\signallist mid-size ds749.csv"))
signalListFilePathMidSizeBasedOnDS2211 = System.IO.Path.GetFullPath(System.IO.Path.Combine(workingDir, r"..\Common\PortConfigurations\MidSizeBasedOnDS2211\signallist mid-size ds2211.csv"))
rtaFilePathSCALEXIO = System.IO.Path.GetFullPath(System.IO.Path.Combine(workingDir, r"..\Common\PortConfigurations\SCALEXIO\turnlamp.rta"))
# Generated port configuration file path.
portConfigSavePath = System.IO.Path.GetFullPath(System.IO.Path.Combine(workingDir, r"..\Common\PortConfigurations\PortConfig_Generated.portconfig"))
ActiveErrorSetVariable = "XIL API/EESPort/Active ErrorSet"
ErrorActivatedVariable = "XIL API/EESPort/Error Activated"
ErrorSwitchingVariable = "XIL API/EESPort/Error Switching"
FlagsVariable = "XIL API/EESPort/Flags"
TriggerVariable = "XIL API/EESPort/Trigger"
PlatformName = "VEOS"
SystemDescriptionFilePath = System.IO.Path.GetFullPath(System.IO.Path.Combine(workingDir, r"..\..\SampleExperiments\TurnSignal_VEOS\BuildResult\turnlamp.sdf"))
ScalexioPlatformName = "Scalexio Real-Time PC"
ScalexioSystemDescriptionFilePath = System.IO.Path.GetFullPath(System.IO.Path.Combine(workingDir, r"..\..\SampleExperiments\TurnSignal_SCALEXIO\BuildResult\turnlamp.sdf"))
#--------------------------------------------------------------------------------------------------
# Helpers
#--------------------------------------------------------------------------------------------------
def GetStateAsString(eesPort):
"""get eesport state as string
@param eesPort - the eesport instance
"""
if eesPort.State == EESPortState.eDISCONNECTED:
return 'Disconnected'
elif eesPort.State == EESPortState.eCONNECTED:
return 'Connected'
elif eesPort.State == EESPortState.eDOWNLOADED:
return 'Downloaded'
elif eesPort.State == EESPortState.eACTIVATED:
return 'Activated'
else:
return '<????>'
#------------------------------------------------------------------------------
# Define the demo function.
#------------------------------------------------------------------------------
def CreatePortConfigFullSizeVariant1():
"""Create FullSizeVariant1 port configuration.
"""
testbenchFactory = None
testbench = None
eesPort = None
eesPortConfig = None
errorConfiguration = None
success = False
#--------------------------------------------------------------------------
# Enclose XIL API class objects with try:-finally: block, to ensure that
# these objects are deleted at the end of the function.
#--------------------------------------------------------------------------
try:
# Create TestBenchFactory.
testbenchFactory = TestbenchFactory()
testbench = testbenchFactory.CreateVendorSpecificTestbench(vendorName, productName, productVersion)
# Create an EESPort instance.
print(" 1. Create EESPort.")
eesPort = testbench.EESPortFactory.CreateEESPort("Demo: EESPort PortConfiguration")
# Casting EESPort Object to IDSEESPort is not ASASM Standard but dSPACE specific.
# --------- Start - dSPACE Specific Code ----------------------
# Cast EESPort Object to dSPACE specific EESPort (IDSEESPort)
print(" 2. Create PortConfiguration.")
dsEESPort = IDSEESPort(eesPort)
dsEESPortConfig = dsEESPort.CreateConfiguration()
print(" 3. Add a hardware configuration of type FullSizeVariant1 to PortConfiguration.")
dsConfiguration = IDSMidSizeFullSizeVariant1Configuration(dsEESPortConfig.Configurations.Add(ConfigurationType.MidSizeFullSizeVariant1))
dsConfiguration.SignalListFilePath = signalListFilePathFullSizeVariant1
dsConfiguration.ECUVersion = 1
dsConfiguration.COMPort = "COM3"
print(" 4. Add signal mapping")
dsConfiguration.Signals.Add('Signal 1', 'CFCxxxF', 'GEAR1')
dsConfiguration.Signals.Add('Signal 2', 'CFCxxxF', 'GEAR2')
dsConfiguration.Signals.Add('Signal 3','CFCxxxF','SHIFT1')
print(" 5. Add Real-Time Configuration")
dsEESPortConfig.RealTimeConfiguration.PlatformName = PlatformName
dsEESPortConfig.RealTimeConfiguration.SystemDescriptionFilePath = SystemDescriptionFilePath
# Enable Tracing.
dsEESPortConfig.RealTimeConfiguration.Enabled = False
# Set trace variable paths
dsEESPortConfig.RealTimeConfiguration.Tracing.ActiveErrorSetVariable = ActiveErrorSetVariable
dsEESPortConfig.RealTimeConfiguration.Tracing.ErrorActivatedVariable = ErrorActivatedVariable
dsEESPortConfig.RealTimeConfiguration.Tracing.ErrorSwitchingVariable = ErrorSwitchingVariable
dsEESPortConfig.RealTimeConfiguration.Tracing.FlagsVariable = FlagsVariable
dsEESPortConfig.RealTimeConfiguration.Tracing.TriggerVariable = TriggerVariable
print(" 6. Save PortConfiguration")
dsEESPortConfig.Save(portConfigSavePath,'2020-A')
print(" 7. Load PortConfiguration")
dsEESPortConfig.Load(portConfigSavePath)
success = True
# --------- End - dSPACE Specific Code ----------------------
except EESPortException as e:
print("EESPortException caught: %s" % e.Message)
#print("VendorCode: %s, VendorCodeDescription: %s" % (e.VendorCode, e.VendorCodeDescription))
#print(e.StackTrace)
except System.ArgumentOutOfRangeException as e:
print("ArgumentOutOfRangeException caught: %s" % e.Message)
##Show StackTrace
#print(e.StackTrace)
except System.Exception as e:
print("Exception caught: %s" % e.Message)
##Show StackTrace
#print(e.StackTrace)
finally:
eesPortConfig = None
errorConfiguration = None
testbench = None
testbenchFactory = None
if eesPort:
print(" 8. Dispose EESPort.")
eesPort.Dispose()
eesPort = None
return success
def CreatePortConfigMidSize2210DS749():
"""Create MidSize2210 - DS749 port configuration.
"""
testbenchFactory = None
testbench = None
eesPort = None
eesPortConfig = None
errorConfiguration = None
success = False
#--------------------------------------------------------------------------
# Enclose XIL API class objects with try:-finally: block, to ensure that
# these objects are deleted at the end of the function.
#--------------------------------------------------------------------------
try:
# Create TestBenchFactory.
testbenchFactory = TestbenchFactory()
testbench = testbenchFactory.CreateVendorSpecificTestbench(vendorName, productName, productVersion)
# Create an EESPort instance.
print(" 1. Create EESPort.")
eesPort = testbench.EESPortFactory.CreateEESPort("Demo: EESPort PortConfiguration")
# Casting EESPort Object to IDSEESPort is not ASASM Standard but dSPACE specific.
# --------- Start - dSPACE Specific Code ----------------------
# Cast EESPort Object to dSPACE specific EESPort (IDSEESPort)
print(" 2. Create PortConfiguration.")
dsEESPort = IDSEESPort(eesPort)
dsEESPortConfig = dsEESPort.CreateConfiguration()
print(" 3. Add a hardware configuration of type MidSize DS749 to PortConfiguration.")
dsConfiguration = IDSMidSizeFullSizeVariant1Configuration(dsEESPortConfig.Configurations.Add(ConfigurationType.MidSizeFullSizeVariant1))
dsConfiguration.SignalListFilePath = signalListFilePathMidSizeBasedOnDS2210DS749
dsConfiguration.ECUVersion = 1
dsConfiguration.COMPort = "COM3"
print(" 4. Add signal mapping")
dsConfiguration.Signals.Add('Signal1', 'ECU 1', 'Test_ADC1+')
dsConfiguration.Signals.Add('Signal2', 'ECU 1', 'Test_ADC2+')
dsConfiguration.Signals.Add('Signal3', 'ECU 1', 'Test_ADC3+')
print(" 5. Add Real-Time Configuration")
dsEESPortConfig.RealTimeConfiguration.PlatformName = PlatformName
dsEESPortConfig.RealTimeConfiguration.SystemDescriptionFilePath = SystemDescriptionFilePath
# Enable Tracing.
dsEESPortConfig.RealTimeConfiguration.Enabled = False
# Set trace variable paths
dsEESPortConfig.RealTimeConfiguration.Tracing.ActiveErrorSetVariable = ActiveErrorSetVariable
dsEESPortConfig.RealTimeConfiguration.Tracing.ErrorActivatedVariable = ErrorActivatedVariable
dsEESPortConfig.RealTimeConfiguration.Tracing.ErrorSwitchingVariable = ErrorSwitchingVariable
dsEESPortConfig.RealTimeConfiguration.Tracing.FlagsVariable = FlagsVariable
dsEESPortConfig.RealTimeConfiguration.Tracing.TriggerVariable = TriggerVariable
print(" 6. Save PortConfiguration")
dsEESPortConfig.Save(portConfigSavePath,'2020-A')
print(" 7. Load PortConfiguration")
dsEESPortConfig.Load(portConfigSavePath)
success = True
# --------- End - dSPACE Specific Code ----------------------
except EESPortException as e:
print("EESPortException caught: %s" % e.Message)
#print("VendorCode: %s, VendorCodeDescription: %s" % (e.VendorCode, e.VendorCodeDescription))
#print(e.StackTrace)
except System.ArgumentOutOfRangeException as e:
print("ArgumentOutOfRangeException caught: %s" % e.Message)
##Show StackTrace
#print(e.StackTrace)
except System.Exception as e:
print("Exception caught: %s" % e.Message)
##Show StackTrace
#print(e.StackTrace)
finally:
eesPortConfig = None
errorConfiguration = None
testbench = None
testbenchFactory = None
if eesPort:
print(" 8. Dispose EESPort.")
eesPort.Dispose()
eesPort = None
return success
def CreatePortConfigMidSize2210DS789():
"""Create MidSize2210 - DS789 port configuration.
"""
testbenchFactory = None
testbench = None
eesPort = None
eesPortConfig = None
errorConfiguration = None
success = False
#--------------------------------------------------------------------------
# Enclose XIL API class objects with try:-finally: block, to ensure that
# these objects are deleted at the end of the function.
#--------------------------------------------------------------------------
try:
# Create TestBenchFactory.
testbenchFactory = TestbenchFactory()
testbench = testbenchFactory.CreateVendorSpecificTestbench(vendorName, productName, productVersion)
# Create an EESPort instance.
print(" 1. Create EESPort.")
eesPort = testbench.EESPortFactory.CreateEESPort("Demo: EESPort PortConfiguration")
# Casting EESPort Object to IDSEESPort is not ASASM Standard but dSPACE specific.
# --------- Start - dSPACE Specific Code ----------------------
# Cast EESPort Object to dSPACE specific EESPort (IDSEESPort)
print(" 2. Create PortConfiguration.")
dsEESPort = IDSEESPort(eesPort)
dsEESPortConfig = dsEESPort.CreateConfiguration()
print(" 3. Add a hardware configuration of type MidSize 789 to PortConfiguration.")
dsConfiguration = IDSMidSizeFullSizeVariant1Configuration(dsEESPortConfig.Configurations.Add(ConfigurationType.MidSizeFullSizeVariant1))
dsConfiguration.SignalListFilePath = signalListFilePathMidSizeBasedOnDS2210DS789
dsConfiguration.ECUVersion = 1
dsConfiguration.COMPort = "COM3"
print(" 4. Add potential mapping")
dsConfiguration.Potentials.Add('VBAT', PotentialType.Ubat)
dsConfiguration.Potentials.Add('VTest1', PotentialType.Gnd)
dsConfiguration.Potentials.Add('SensorSupply1', PotentialType.Potential)
dsConfiguration.Potentials.Add('SensorSupply2', PotentialType.Potential)
print(" 5. Add signal mapping")
dsConfiguration.Signals.Add('Signal1', 'ECU_1', 'Test_Crank')
dsConfiguration.Signals.Add('Signal2', 'ECU_1', 'Test_Crank_ref')
dsConfiguration.Signals.Add('Signal3', 'ECU_1', 'Test_Cam_1')
print(" 6. Add Real-Time Configuration")
dsEESPortConfig.RealTimeConfiguration.PlatformName = PlatformName
dsEESPortConfig.RealTimeConfiguration.SystemDescriptionFilePath = SystemDescriptionFilePath
# Enable Tracing.
dsEESPortConfig.RealTimeConfiguration.Enabled = False
# Set trace variable paths
dsEESPortConfig.RealTimeConfiguration.Tracing.ActiveErrorSetVariable = ActiveErrorSetVariable
dsEESPortConfig.RealTimeConfiguration.Tracing.ErrorActivatedVariable = ErrorActivatedVariable
dsEESPortConfig.RealTimeConfiguration.Tracing.ErrorSwitchingVariable = ErrorSwitchingVariable
dsEESPortConfig.RealTimeConfiguration.Tracing.FlagsVariable = FlagsVariable
dsEESPortConfig.RealTimeConfiguration.Tracing.TriggerVariable = TriggerVariable
print(" 7. Save PortConfiguration")
dsEESPortConfig.Save(portConfigSavePath,'2020-A')
print(" 8. Load PortConfiguration")
dsEESPortConfig.Load(portConfigSavePath)
success = True
# --------- End - dSPACE Specific Code ----------------------
except EESPortException as e:
print("EESPortException caught: %s" % e.Message)
#print("VendorCode: %s, VendorCodeDescription: %s" % (e.VendorCode, e.VendorCodeDescription))
#print(e.StackTrace)
except System.ArgumentOutOfRangeException as e:
print("ArgumentOutOfRangeException caught: %s" % e.Message)
##Show StackTrace
#print(e.StackTrace)
except System.Exception as e:
print("Exception caught: %s" % e.Message)
##Show StackTrace
#print(e.StackTrace)
finally:
eesPortConfig = None
errorConfiguration = None
testbench = None
testbenchFactory = None
if eesPort:
print(" 9. Dispose EESPort.")
eesPort.Dispose()
eesPort = None
return success
def CreatePortConfigMidSize2211():
"""Create MidSize2211 port configuration.
"""
testbenchFactory = None
testbench = None
eesPort = None
eesPortConfig = None
errorConfiguration = None
success = False
#--------------------------------------------------------------------------
# Enclose XIL API class objects with try:-finally: block, to ensure that
# these objects are deleted at the end of the function.
#--------------------------------------------------------------------------
try:
# Create TestBenchFactory.
testbenchFactory = TestbenchFactory()
testbench = testbenchFactory.CreateVendorSpecificTestbench(vendorName, productName, productVersion)
# Create an EESPort instance.
print(" 1. Create EESPort.")
eesPort = testbench.EESPortFactory.CreateEESPort("Demo: EESPort PortConfiguration")
# Casting EESPort Object to IDSEESPort is not ASASM Standard but dSPACE specific.
# --------- Start - dSPACE Specific Code ----------------------
# Cast EESPort Object to dSPACE specific EESPort (IDSEESPort)
print(" 2. Create PortConfiguration.")
dsEESPort = IDSEESPort(eesPort)
dsEESPortConfig = dsEESPort.CreateConfiguration()
print(" 3. Add a hardware configuration of type MidSize2211 to PortConfiguration.")
dsConfiguration = IDSMidSizeFullSizeVariant1Configuration(dsEESPortConfig.Configurations.Add(ConfigurationType.MidSizeFullSizeVariant1))
dsConfiguration.SignalListFilePath = signalListFilePathMidSizeBasedOnDS2211
dsConfiguration.ECUVersion = 1
dsConfiguration.COMPort = "COM3"
print(" 4. Add potential mapping")
dsConfiguration.Potentials.Add('VBAT1', PotentialType.Potential)
dsConfiguration.Potentials.Add('VBAT2', PotentialType.Potential)
dsConfiguration.Potentials.Add('GND', PotentialType.Gnd)
print(" 5. Add signal mapping")
dsConfiguration.Signals.Add('Signal1', 'ECU_1', 'Crank_sensor')
dsConfiguration.Signals.Add('Signal2', 'ECU_1', 'Crank_sensor_ref')
dsConfiguration.Signals.Add('Signal3', 'ECU_1', 'Cam1_sensor')
print(" 6. Add Real-Time Configuration")
dsEESPortConfig.RealTimeConfiguration.PlatformName = PlatformName
dsEESPortConfig.RealTimeConfiguration.SystemDescriptionFilePath = SystemDescriptionFilePath
# Enable Tracing.
dsEESPortConfig.RealTimeConfiguration.Enabled = False
# Set trace variable paths
dsEESPortConfig.RealTimeConfiguration.Tracing.ActiveErrorSetVariable = ActiveErrorSetVariable
dsEESPortConfig.RealTimeConfiguration.Tracing.ErrorActivatedVariable = ErrorActivatedVariable
dsEESPortConfig.RealTimeConfiguration.Tracing.ErrorSwitchingVariable = ErrorSwitchingVariable
dsEESPortConfig.RealTimeConfiguration.Tracing.FlagsVariable = FlagsVariable
dsEESPortConfig.RealTimeConfiguration.Tracing.TriggerVariable = TriggerVariable
print(" 7. Save PortConfiguration")
dsEESPortConfig.Save(portConfigSavePath,'2020-A')
print(" 8. Load PortConfiguration")
dsEESPortConfig.Load(portConfigSavePath)
success = True
# --------- End - dSPACE Specific Code ----------------------
except EESPortException as e:
print("EESPortException caught: %s" % e.Message)
#print("VendorCode: %s, VendorCodeDescription: %s" % (e.VendorCode, e.VendorCodeDescription))
#print(e.StackTrace)
except System.ArgumentOutOfRangeException as e:
print("ArgumentOutOfRangeException caught: %s" % e.Message)
##Show StackTrace
#print(e.StackTrace)
except System.Exception as e:
print("Exception caught: %s" % e.Message)
##Show StackTrace
#print(e.StackTrace)
finally:
eesPortConfig = None
errorConfiguration = None
testbench = None
testbenchFactory = None
if eesPort:
print(" 9. Dispose EESPort.")
eesPort.Dispose()
eesPort = None
return success
def CreatePortConfigFullSizeVariant2():
"""Create FullSizeVariant2 - DS749 port configuration.
"""
testbenchFactory = None
testbench = None
eesPort = None
eesPortConfig = None
errorConfiguration = None
success = False
#--------------------------------------------------------------------------
# Enclose XIL API class objects with try:-finally: block, to ensure that
# these objects are deleted at the end of the function.
#--------------------------------------------------------------------------
try:
# Create TestBenchFactory.
testbenchFactory = TestbenchFactory()
testbench = testbenchFactory.CreateVendorSpecificTestbench(vendorName, productName, productVersion)
# Create an EESPort instance.
print(" 1. Create EESPort.")
eesPort = testbench.EESPortFactory.CreateEESPort("Demo: EESPort PortConfiguration")
# Casting EESPort Object to IDSEESPort is not ASASM Standard but dSPACE specific.
# --------- Start - dSPACE Specific Code ----------------------
# Cast EESPort Object to dSPACE specific EESPort (IDSEESPort)
print(" 2. Create PortConfiguration.")
dsEESPort = IDSEESPort(eesPort)
dsEESPortConfig = dsEESPort.CreateConfiguration()
print(" 3. Add a hardware configuration of type FullSizeVariant2 to PortConfiguration.")
dsConfiguration = IDSFullSizeVariant2Configuration(dsEESPortConfig.Configurations.Add(ConfigurationType.FullSizeVariant2))
dsConfiguration.SignalListFilePath = signalListFilePathFullSizeVariant2
dsConfiguration.ECUVersion = 1
dsConfiguration.CANAPIVersion = DSCANAPIVersion.v20;
dsConfiguration.VendorName = CANVendorNames.dSPACE
dsConfiguration.InterfaceName = CANInterfaceNames.DCICAN2
dsConfiguration.ChannelIdentifier = "1"
dsConfiguration.SerialNumber = "0"
print(" 4. Add potential mapping")
dsConfiguration.Potentials.Add('Ubat', PotentialType.Ubat)
dsConfiguration.Potentials.Add('Gnd', PotentialType.Gnd)
dsConfiguration.Potentials.Add('Pot2', PotentialType.Potential)
dsConfiguration.Potentials.Add('Pot3', PotentialType.Potential)
dsConfiguration.Potentials.Add('Pot4', PotentialType.Potential)
print(" 5. Add signal mapping")
dsConfiguration.Signals.Add('Signal1', 'ECU1', 'Pin 1')
dsConfiguration.Signals.Add('Signal2', 'ECU1', 'Pin 2')
dsConfiguration.Signals.Add('Signal3', 'ECU2', 'Pin 3')
print(" 6. Add Real-Time Configuration")
dsEESPortConfig.RealTimeConfiguration.PlatformName = PlatformName
dsEESPortConfig.RealTimeConfiguration.SystemDescriptionFilePath = SystemDescriptionFilePath
# Enable Tracing.
dsEESPortConfig.RealTimeConfiguration.Enabled = False
# Set trace variable paths
dsEESPortConfig.RealTimeConfiguration.Tracing.ActiveErrorSetVariable = ActiveErrorSetVariable
dsEESPortConfig.RealTimeConfiguration.Tracing.ErrorActivatedVariable = ErrorActivatedVariable
dsEESPortConfig.RealTimeConfiguration.Tracing.ErrorSwitchingVariable = ErrorSwitchingVariable
dsEESPortConfig.RealTimeConfiguration.Tracing.FlagsVariable = FlagsVariable
dsEESPortConfig.RealTimeConfiguration.Tracing.TriggerVariable = TriggerVariable
print(" 7. Save PortConfiguration")
dsEESPortConfig.Save(portConfigSavePath,'2020-A')
print(" 8. Load PortConfiguration")
dsEESPortConfig.Load(portConfigSavePath)
success = True
# --------- End - dSPACE Specific Code ----------------------
except EESPortException as e:
print("EESPortException caught: %s" % e.Message)
#print("VendorCode: %s, VendorCodeDescription: %s" % (e.VendorCode, e.VendorCodeDescription))
#print(e.StackTrace)
except System.ArgumentOutOfRangeException as e:
print("ArgumentOutOfRangeException caught: %s" % e.Message)
##Show StackTrace
#print(e.StackTrace)
except System.Exception as e:
print("Exception caught: %s" % e.Message)
##Show StackTrace
#print(e.StackTrace)
finally:
eesPortConfig = None
errorConfiguration = None
testbench = None
testbenchFactory = None
if eesPort:
print(" 9. Dispose EESPort.")
eesPort.Dispose()
eesPort = None
return success
def CreatePortConfigSCALEXIO():
"""Create Scalexio port configuration.
"""
testbenchFactory = None
testbench = None
eesPort = None
eesPortConfig = None
errorConfiguration = None
success = False
#--------------------------------------------------------------------------
# Enclose XIL API class objects with try:-finally: block, to ensure that
# these objects are deleted at the end of the function.
#--------------------------------------------------------------------------
try:
# Create TestBenchFactory.
testbenchFactory = TestbenchFactory()
testbench = testbenchFactory.CreateVendorSpecificTestbench(vendorName, productName, productVersion)
# Create an EESPort instance.
print(" 1. Create EESPort.")
eesPort = testbench.EESPortFactory.CreateEESPort("Demo: EESPort PortConfiguration")
# Casting EESPort Object to IDSEESPort is not ASASM Standard but dSPACE specific.
# --------- Start - dSPACE Specific Code ----------------------
# Cast EESPort Object to dSPACE specific EESPort (IDSEESPort)
print(" 2. Create PortConfiguration.")
dsEESPort = IDSEESPort(eesPort)
dsEESPortConfig = dsEESPort.CreateConfiguration()
print(" 3. Add a hardware configuration to PortConfiguration.")
dsConfiguration = IDSScalexioConfiguration(dsEESPortConfig.Configurations.Add(ConfigurationType.SCALEXIO))
dsConfiguration.PlatformName = "SCALEXIO Real-Time PC"
dsConfiguration.RTAFilePath = rtaFilePathSCALEXIO
print(" 4. Add potential mapping")
dsConfiguration.Potentials.Add('Power Switch 1\VBat', PotentialType.Potential)
dsConfiguration.Potentials.Add('Power Switch 2\VBat', PotentialType.Potential)
dsConfiguration.Potentials.Add('Power Switch 3\VBat', PotentialType.Ubat)
print(" 5. Add signal mapping")
dsConfiguration.Signals.Add('Signal1', 'ECU 1', 'Pin Group 1\Pin 1')
dsConfiguration.Signals.Add('Signal2', 'ECU 1', 'Pin Group 1\Pin 2')
dsConfiguration.Signals.Add('Signal3', 'ECU 1', 'Pin Group 1\Pin 3')
print(" 6. Add Real-Time Configuration")
dsEESPortConfig.RealTimeConfiguration.PlatformName = ScalexioPlatformName
dsEESPortConfig.RealTimeConfiguration.SystemDescriptionFilePath = ScalexioSystemDescriptionFilePath
# Enable Tracing.
dsEESPortConfig.RealTimeConfiguration.Enabled = False
# Set trace variable paths
dsEESPortConfig.RealTimeConfiguration.Tracing.ActiveErrorSetVariable = ActiveErrorSetVariable
dsEESPortConfig.RealTimeConfiguration.Tracing.ErrorActivatedVariable = ErrorActivatedVariable
dsEESPortConfig.RealTimeConfiguration.Tracing.ErrorSwitchingVariable = ErrorSwitchingVariable
dsEESPortConfig.RealTimeConfiguration.Tracing.FlagsVariable = FlagsVariable
dsEESPortConfig.RealTimeConfiguration.Tracing.TriggerVariable = TriggerVariable
print(" 7. Save PortConfiguration")
dsEESPortConfig.Save(portConfigSavePath,'2020-A')
print(" 8. Load PortConfiguration")
dsEESPortConfig.Load(portConfigSavePath)
success = True
# --------- End - dSPACE Specific Code ----------------------
except EESPortException as e:
print("EESPortException caught: %s" % e.Message)
#print("VendorCode: %s, VendorCodeDescription: %s" % (e.VendorCode, e.VendorCodeDescription))
#print(e.StackTrace)
except System.ArgumentOutOfRangeException as e:
print("ArgumentOutOfRangeException caught: %s" % e.Message)
##Show StackTrace
#print(e.StackTrace)
except System.Exception as e:
print("Exception caught: %s" % e.Message)
##Show StackTrace
#print(e.StackTrace)
finally:
eesPortConfig = None
errorConfiguration = None
testbench = None
testbenchFactory = None
if eesPort:
print(" 9. Dispose EESPort.")
eesPort.Dispose()
eesPort = None
return success
#------------------------------------------------------------------------------
# Define the demo function.
#------------------------------------------------------------------------------
def ExecuteDemo():
# Execute Demos.
result = True
# Create PortConfiguration for FullSizeVariant1.
print("----------------Execute CreatePortConfigFullSizeVariant1-------------------")
success = CreatePortConfigFullSizeVariant1()
if success == False:
result = False
print("---------------------------------------------------------------------------")
# Create PortConfiguration for MidSize2210 DS749.
print("----------------Execute CreatePortConfigMidSize2210DS749-------------------")
success = CreatePortConfigMidSize2210DS749()
if success == False:
result = False
print("---------------------------------------------------------------------------")
# Create PortConfiguration for MidSize2210 DS789.
print("----------------Execute CreatePortConfigMidSize2210DS789-------------------")
success = CreatePortConfigMidSize2210DS789()
if success == False:
result = False
print("---------------------------------------------------------------------------")
# Create PortConfiguration for MidSize2211.
print("----------------Execute CreatePortConfigMidSize2211-------------------")
success = CreatePortConfigMidSize2211()
if success == False:
result = False
print("---------------------------------------------------------------------------")
# Create PortConfiguration for FullSizeVariant2.
print("----------------Execute CreatePortConfigFullSizeVariant2-------------------")
success = CreatePortConfigFullSizeVariant2()
if success == False:
result = False
print("---------------------------------------------------------------------------")
# Create PortConfiguration for SCALEXIO.
print("----------------Execute CreatePortConfigSCALEXIO-------------------")
success = CreatePortConfigSCALEXIO()
if success == False:
result = False
print("---------------------------------------------------------------------------")
return result
#--------------------------------------------------------------------------------------------------
# Main Program
#--------------------------------------------------------------------------------------------------
if __name__ == '__main__':
print("\n---------------------------------------------------------------------")
print(" XIL API EESPort Demo : EESPort Configuration ")
print("-----------------------------------------------------------------------")
ExecuteDemo()
print("-----------------------------------------------------------------------")
print(" XIL API EESPort Demo : EESPort Configuration finished! ")
print("-----------------------------------------------------------------------")