Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[REQUEST] Add Support For Multiplexed Instruments in Pinmap #114

Open
noffz-nvidakovic opened this issue Aug 30, 2024 · 3 comments
Open
Labels
enhancement New feature or request

Comments

@noffz-nvidakovic
Copy link

noffz-nvidakovic commented Aug 30, 2024

Describe the Problem
I am having an issue with SetupNIDCPowerInstrumentation function when using multiplexed channels in pinmap.

I am investigating if I can use this library in my new project, where I am planning to use semiconductor module.
I am using a pinmap where I have different pins that are sharing same SMU channel by using simulated multiplexer.
pinamp
In this case I get an error in Setup NI DCPower Instrumentation step saying: An item with the same key has already been added at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource) at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
error

When I try it with pinmap that doesn't have multiplexed smu channels there is no error.
It seems to me that this scenario is not supported by the library

To Reproduce
Create a simple empty project.
Modify Pinmap to have a multiplexed SMU channels.
Try to run it.
It will throw an error in process setup on Setup NI DCPower Instrumentation step.

Expected behavior
I would expect this kind of pinmap to work with the library.

@noffz-nvidakovic noffz-nvidakovic added the bug Something isn't working label Aug 30, 2024
@Mattjet27
Copy link
Collaborator

Mattjet27 commented Sep 3, 2024

@noffz-nvidakovic, thank you for reporting this. While I am able to reproduce this, note that multiplexers are not yet supported by the library. This applies to both simulated and physical multiplexers. Therefore, this would be better handled as a Feature Request, rather than a Bug, to be addressed in a future release.

To allow for better tracking, I suggest updating the title and the content/tags such that it reflects a Feature Request instead of a bug. If I have your permission, I will take care of this for you, please just confirm.

@noffz-nvidakovic
Copy link
Author

noffz-nvidakovic commented Sep 3, 2024 via email

@Mattjet27 Mattjet27 added enhancement New feature or request and removed bug Something isn't working labels Sep 3, 2024
@Mattjet27 Mattjet27 changed the title [BUG] Issue with SetupNIDCPowerInstrumentation function when using multiplexed channels in pinmap [REQUEST] Add Support For Multiplexed Instruments in Pinmap Sep 3, 2024
@Mattjet27
Copy link
Collaborator

For the record, here is a simplified example pin map, which does not currently work with the library, but would once multiplexer support is added in a future release:

<?xml version="1.0" encoding="utf-8"?>
<PinMap schemaVersion="1.6" xmlns="http://www.ni.com/TestStand/SemiconductorModule/PinMap.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<Instruments>
		<NIDCPowerInstrument name="SMU_4147_C1_S04" numberOfChannels="4">
			<ChannelGroup name="CommonDCPowerChannelGroup" />
		</NIDCPowerInstrument>
		<Multiplexer name="Multiplexer1" multiplexerTypeId="" />
	</Instruments>
	<Pins>
		<DUTPin name="DUTPin1" />
		<DUTPin name="DUTPin2" />
	</Pins>
	<PinGroups></PinGroups>
	<Sites>
		<Site siteNumber="0" />
		<Site siteNumber="1" />
		<Site siteNumber="2" />
		<Site siteNumber="3" />
	</Sites>
	<Connections>
		<MultiplexedConnection instrument="SMU_4147_C1_S04" channel="0">
			<MultiplexedDUTPinRoute pin="DUTPin1" siteNumber="0" multiplexer="Multiplexer1" routeName="Site0_DUTPin1" />
			<MultiplexedDUTPinRoute pin="DUTPin2" siteNumber="0" multiplexer="Multiplexer1" routeName="Site0_DUTPin2" />
		</MultiplexedConnection>
		<MultiplexedConnection instrument="SMU_4147_C1_S04" channel="1">
			<MultiplexedDUTPinRoute pin="DUTPin1" siteNumber="1" multiplexer="Multiplexer1" routeName="Site1_DUTPin1" />
			<MultiplexedDUTPinRoute pin="DUTPin2" siteNumber="1" multiplexer="Multiplexer1" routeName="Site1_DUTPin2" />
		</MultiplexedConnection>
		<MultiplexedConnection instrument="SMU_4147_C1_S04" channel="2">
			<MultiplexedDUTPinRoute pin="DUTPin1" siteNumber="2" multiplexer="Multiplexer1" routeName="Site2_DUTPin1" />
			<MultiplexedDUTPinRoute pin="DUTPin2" siteNumber="2" multiplexer="Multiplexer1" routeName="Site2_DUTPin2" />
		</MultiplexedConnection>
		<MultiplexedConnection instrument="SMU_4147_C1_S04" channel="3">
			<MultiplexedDUTPinRoute pin="DUTPin1" siteNumber="3" multiplexer="Multiplexer1" routeName="Site3_DUTPin1" />
			<MultiplexedDUTPinRoute pin="DUTPin2" siteNumber="3" multiplexer="Multiplexer1" routeName="Site3_DUTPin2" />
		</MultiplexedConnection>
	</Connections>
</PinMap>

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants