03-12-2018 02:10 AM
Good Morning,
The virtual switch we have developed has some pins reserved for routing. I would like to know if I can exclude the use of reserved for routing pins. I would like certain routes to only use certain reserved for routing pins from a group of pins, and other routes to use those pins, but I would still like to be able to use FindRoute rather than define a specific route.
As usual I hope the question makes sense!
many thanks,
Steve
03-12-2018 09:22 AM
Steve:
The FindRoute and Connect functions seem to pick the first available reserved for routing channel, even if the reserved for routing channel is excluded from the endpoint channels.
Some options:
1. Make your own Connect function:
a. Create channel exclusions in MAX, to handle the channels that you want to exclude.
b. Then call niSE Connect in a loop, trying each explicit path
like [PXI1Slot6/c0->PXI1Slot6/r0->PXI1Slot6/c1], with different r channels.
If you get error -29032 (NISE_ERROR_SOURCE_CHANNEL_CONFLICT), then continue the loop.
Break out of the loop if some other error, or you ran out of r channels, or Connect succeeded.
2. Create two separate virtual devices:
a. One virtual device can contain the first set of reserved for routing channels
The other can contain the second set.
b. Create channel exclusions in each virtual device, to handle the channels that you want to exclude.
c. Then call niSE FindRoute. It will only choose r channels from the one set of routing channels for the current virtual device.
Limitations:
You would have to split your routes across the two virtual devices, and
you would have to close one Virtual Device session in order to open and use the other,
incurring a reset to the switches on open.
Brian
03-14-2018 05:11 AM
Thanks Brian,
Given your answer confirmed our suspicions, we've rewired our interfacing to hardwire the problem routes now any reserved for routing endpoints can be used without issue.
Many thanks (again!)
Steve