Choosing a Transform Type

MxTransIt provides four types of User-Defined Transforms:

Transform Type

Advantages

Disadvantages

C# Snippet

Easy to create simple Transform with C#

Does not require Visual Studio

Easy to add ports

Visual Studio debugging features are unavailable

Cannot use Visual Studio Solution features such as references

Does not support event or array Signals

SIL Easy

Transforms can vary from simple to arbitrarily complex

It allows any number of inputs and outputs, including message ports

Can be defined for either Signal Processing or as a Connector Transform

Provides three predefined entry points (public methods): SilInitialize, SilTick, and SilFinalize

All Visual Studio features are available

Can use Visual Studio Express which is available at no charge

No custom properties

Less control than a Custom Transform. (Fewer predefined methods, no Tick context, no stimulus and response tick, no custom actions)

Not very easy to have several instances in one mxform file

Need to copy VS Solution to use the transform in another project (since the solution is usually located in the Transforms folder of the MxVDev project.

Does not support parameters on event Signals

Does not support array Signals

Custom Transform

Custom transforms provide the maximum flexibility and capability

They inherit from the base classes of Transforms and so offer the opportunity for extensive customization

Can use some of the more fundamental capabilities of the MxSuite

Can be defined for either Signal Processing or as a Connector

You can add custom properties

You can use all Visual Studio debugging features

The custom transforms appear in the MxTransIt Toolbox for convenient reusability

Easy to use in other projects and on other PCs

Provides six predefined entry points (public methods) that enable you to control behavior during start, stop, rewind, tick, setup, and teardown

You can integrate existing code into the Visual Studio Solution

Most complex

Requires a thorough understanding of C# and .NET

MxVMC

The MxVMC is used when you want to simulate the behavior of a microcontroller on the PC. It provides the following capabilities:

EEPROM emulation

Input and Output ports

A Scheduler and an OSEK operating system

CAN buses

Pseudo-interrupts

Runs as a independent process, so an issue in your source code cannot take down MxVDev

Runs C or C++ code

Not as flexible as Custom Transforms

 

C# Snippet

The C# Snippet transform is a quick way of creating transforms without the need for a compile/build environment.

Useful for transforms of as many as a few dozen lines of C# code.

A C programmer can pick up C# without too much difficulty.

No compiler is needed. It is built into MxSuite.

For more detailed information, see C# Snippet Transform.

SIL Easy

SIL Easy is a simple way for a C programmer to create a transform.

Transforms can vary from simple to arbitrarily complex

Can be defined for either Signal Processing or as a Connector

Visual Studio is required

For more detailed information, see Using SIL Easy.

MxVMC

The MxVMC is a virtual microcontroller with the following features:

EEPROM emulation

Input and Output ports

A Scheduler and an OSEK operating system

Pseudo-interrupts

CAN and LIN buses

Visual Studio is required

For more detailed information, see MxVMC - The Virtual MicroController.

Custom Transforms

Custom transforms provide the maximum flexibility and capability:

For the expert .NET programmer

The custom transforms appear in the MxTransIt Toolbox for convenient reusability

Written in C#

They inherit from the base classes of Transforms and so offer the opportunity for extensive customization

Can use some of the more fundamental capabilities of the MxSuite

Visual Studio is required

For more detailed information, see Custom Transforms.

Related Topics:

Using the C# Snippet Transform

Using SIL Easy

Using VMCs in a Custom Harness

Custom Transforms Overview

In-Line Transforms