Many SW-Tool providers have realized that how comfortable it is for a programmeruser to work with dark backgrounds. Microsoft did it in 2013 for visual studio and now browser companies are doing the same. Unfortunately, I can Change background color of MAX and TestStand. This makes longer working painful for eyes.
An example of such a bakground is attached with the message.
TestStand File Diff and Merge Utility has the ability to produce reports in XML format with a slew of dependencies on TestStand (stylesheets, button images, etc.) making them not very portable. Yes, I know they can be packaged with the extra utility, but that's a hassle too. Now instead of managing a file I have to manage a folder of files.
Additionally, these reports only seem to work with Internet Explorer which I'm hearing is going away. Not sure if it's just me, but Edge's IE mode doesn't seem to work for these reports either.
Can NI do something to address this?
Make a browser extension that works with at least chromium based browsers.
Figure out a nice PDF format.
Ideally, I want to upload the file type into my code review platform of choice (git, perforce swarm, crucible, network folder share, etc.) and not require my reviewer to have TestStand installed on their machine.
It would be nice to have an Auto-populating folder option for TestStand projects much the same way that LabVIEW project do.
Folders added to TestStand projects are snapshots of the folder's contents when added. Any files added to the folder on disk afterwards are not marked for inclusion with the deployment at analysis time. This behavior is fine as a default.
However, there are times when you do want to automatically include all files in a folder. Having an auto-populating folder option would mark the folder and all its contents for inclusion automatically with the deployment at analysis time. After analysis is over the user could still choose to uncheck any files they wish before selecting the build button.
From version to version, it's only natural that developers will be adding new files to established folders. Since the TestStand project doesn't aid in development activities, it's easy for folks to forget to add files while they're developing. We often have a faulty build or two with each release because necessary files aren't making it into the build. We ultimately have to delete the folders in the project and re-add them, then go through the hassle of fixing the paths and included files. An auto-populating folder option that integrates with the build utility would save us time and headaches.
TestStand File Diff and Merge Utility is not very useful for code reviews on its own. It seems adequate for notifying the user that a sequence was added, however from the tool itself the user cannot actually review the newly added or removed sequence's contents. Why is there no + on the item tree to go deeper.
If I have to right-click a sequence and select "Go to location" then why bother with the separate tool to begin with? Why isn't the diff utility integrated into TestStand's sequence editor itself? Seems like a side-by-side comparison within Sequence Editor would allow a reviewer to poke and prod around all the hidden settings that are often missed using the existing utility.
In order to keep file clean, sequence analyzer helps in finding "potentially unused variables". To delete such variables, each warning in sequence analyzer result has to be double clicked and then delete has to be pressed to finally remove that variable.
In many cases with large sequence file, there could be dozens of unused variables and in a single work-space there are dozens of .seq files.
Is it possible to provide a button or some option to remove all unused variables from a sequence file?
Forgive me for the cavalcade of suggestions this week...
One of my favorite options in the LabVIEW development environment is the "Find all Instances" context menu option, whereby one is able to locate all calls to the particular SubVI.
I have long wished that something similar were available in the TestStand Sequence Editor. I'd like to propose a "Find All Sequence Calls" context menu selection when right-clicking on a sequence in the Sequence pane. This could leverage the Find tool, but save the user from copying and pasting the name of the sequence. (And save the user from configuring the search options to narrow down the results) It'd be nice to be able to define the scope of the "find" operation to either the selected sequence or all sequences in memory, but I'd settle for a simple search of the open sequence.
CSV Input Stream allow to parse CSV files to input data into a Stream Loop for instance. By default, the separator is a comma (,). I use a non english version of Excel to edit a CSV file, and every CSV format write a semi-colon as separator (;):
I think it could be more convenient to have a direct access to this parameter in the configuration pane, allowing also to check the content of the file before execution with Parse Record Prototype funtions.
The property loader step allows the source location to be defined via an expression. However, if that expression does not evaluate to a file on disk at compile time you get an error. This isn't always desired behavior, for instance, when used in a plugin architecture.
The current workaround is to include a dummy file which could unnecessarily complicate the software & deployments. A dummy file also has the potential to mask errors that should be presented to the user.
The only validation TestStand does of the property loader source location file is that it exists. It doesn't do any validation on the file contents. So is there any benefit? TestStand properly throws an error if the expression doesn't evaluate to a valid file.
Alternatively, a developer could deselect the sequence analyzer rule "Property Loader source should be proper", but this would disable it for all analysis not just the ones that use expressions
I have noticed that the TestStand shipping examples are often overlooked when looking for ways to accomplish things with TestStand. This is not the case (as much) in LabVIEW and CVI, and I feel that this is because TestStand does not have an example finder. I would like to see some method of accessing the shipping examples through the sequence editor environment, such as:
Another problem with the current setup is that the only way to know what the example demonstrates is the name of the folder. This makes it easy to overlook examples that would be helpful.
I propose adding a TestStand example finder with these features (in order of importance):
Provide a description for each example (most of this info can be pulled from the sequenceFileLoad callback dialogs in a lot of the examples)
have keywords for the examples, and allow searching
for more advanced examples, provide a batch file to load all necessary components
Provide links to the NI community and developer zone to encourage participation
NI has gone through a lot work to get the IVI Components integrated within TestStand as step types. I was wondering why NI has not incorporated the NI-DAQmx technology into TestStand as step types. I realize most TestStand developers would just create TestStand Adapters in the sequence step written in CVI or LV to interface to NI-DAQmx functions. Even the more advanced TestStand Developers would create their own custom step types to interface to NIDAQmx. I have just done that to where I have created a framework of custom DAQmx step types that I use as a small subset from all the NIDAQmx functions used from the NI-DAQmx library.
Currently, to export properties which are part of an array, such as the limits of a multiple numeric limit test, you have to specify each index of the array separately, like in the first screen shot, or else you get all of the raw XML, which is difficult to interpret and use.
This is both labor intensive and unituitive. . If instead we had the option to export the array with the "?" and have it parse the information out like in picture 1, it would be much simpler to use.
Sometimes it is useful to be able to search for instances of custom data types. Unfortunately, there doesn't appear to be a way to do this in TestStand. It would be really nice if you could search for instances of types in the Types window or perhaps through the Find/Replace utility:
It would be nice to be able to create a new sequence from highlighting steps in a sequence and performing a right mouse click, "Create New Sequence...", this would be a kin to Create SubVI in LabVIEW.
This action could display a dialog to give possible options such as, to copy the Setup and/or Cleanup group, Create in a New SequenceFile or in Current SequenceFile, the option to Move or Copy highlighted Steps. It could also include creating any locals and /or FileGlobals (if creating in a new SequenceFile) used by those highlight steps.
TestStand's LabVIEW interface could benefit by being able to programmatically get and set LabVIEW Class Objects using the Get Property Value.vi and the Set Property Value.vi.
After much toil with this subject, I've finally come to the conclusion that I cannot get a LabVIEW Class Object from TestStand using LabVIEW. I've tried both the Get Property Value.vi and a combination of property and invoke nodes to no avail.
currently the behavior of the date function is (1) get a short ("MM/DD/YYYY") or long form date string ("Weekday, Month D, YYYY")with nice easy boolean input, (2) pass it N local variables to get all the discrete parts and assemble it myself with a bit of STR() and concatenation.
could we create a permutation on this date() function, (does one already exist) so that I can just pass it a %<> syntax string and have it format the current date to my desired format?
specifically, I'm looking for a non painful way of building a "YYYY-MM-DD" style string for a report (or even just DD/MM/YYY) without having to lug around 8 locals and a lengthly expression, or call into a LV VI.
We have basic string format symbols available for the STR and VAL functions, why not for date? if anything passing this 1 parameter might save alot of folks creating a bunch of locals because they can just ask for the time item they want directly, and then VAL() the output text to get the numeric data if they need it?