Developing new Crossplatform software for test and measurement.Suggest Features. - Page 1
Forum section: electronics / projects

author: PascalNE
author_rank: Regular Contributor
timestamp: March 22, 2025, 02:04:36 am
content: Hello all,I have decided to start development on a newfree and opensourcecrossplatform(Linux and windows) test and measurement software.Planned features-Connections forGPIB VISA AR488and Serial Devices.-A clear measurement Tab for controlling instruments-Data analysisfeatures including live graphing and analysis of multiple simultaneous data streams-Templates for many types of devices (e.g Multimeters Oscilliscopes, Power supplies, Calibrators)-An easyDriver configuratorto make any instrument compatible with the software in an easy way-Easyroutine maker to implement multi instrument routines forautomated measurementwithout programming knowledge(e.g calibration routines.)-GoodLinux support across multiple popular distros-Simple Text based console for direct communicationThese are my main planned features they are subject to change but I believe they are all attainable.DriversSome drivers will come with the software when initially released but these will only be instruments I have direct access to (HP34401A, Hantek DS02D10)The main goal is to make it easy for community members to make thier own drivers using templates, for example for a multimeter you can enter the command for each range/mode in the driver configurator and any other features and a driver will be created and it can be used in the measurement screen. Once a driver for a certain instrument is created it can then beuploadedto the website (not created yet) where it can be shared with others. This meansa Driver need only be created once.RoutinesThere will be a routine creator for creating automated test and measurement processes this will have an easy and intuitive configurator requiring minimal to no programming knowledge.AnalysisI dont have much experience in the world of data analysis so your input would be appreciated on good features. Id like live graph generation based on multiple inputs and features like logorithmic graphing and good statistical analysis features.ConnectionsId like as many instruments and devices to be able to connect as possible (e.g temp and humidity sensors, power supplies) At the moment I am planning VISA, Serial and AR488 Connections. So GPIB devices can connect through VISA USB-GPIB adapters or AR488 USB-GPIB adapters.UI and developmentThe project will be developed using C# and Avalonia UI (Like WPF but crossplatform) For VISA on windows Ill be using the IVI.VISA plugin. For linux it is more complicated especially since a lot of Manufacturer software doesnt work on many linux distros (e.g no NI-VISA on fedora) So I will have to find a good alternative to these. The UI will be based on a tab system for easy navigation In the measurement and analysis window you will be able to add new graphs/interfaces. I have attached some screenshots below of an early version this will almost certainly look different to the final version but I wanted to give an Idea of what it might be like.Potential Features-Server GUI-less version for remote network measurements.-Open source VISA connection software for LinuxI may accept donations after a good functional V1 has been reached with all the planned features it will be suggested for commercial users.(for maintinence costs)Lastly I want this software to actually beusefulso anysuggestions please send them to me.Thank you, Pascal.

author: mr ed
author_rank: Regular Contributor
timestamp: March 24, 2025, 08:33:07 am
content: Why? What's the problem being solved? I just use python3. It's easy to code and for me, works well for ethernet and gpib (never tried usb). Instruments already have very good documentation on commands. Python has an enormous library pool you have access to to handle any special applications. Multi platform too. I don't want another layer to install and who is going to maintain and document yet another bit of code? Simple is good.

author: PascalNE
author_rank: Regular Contributor
timestamp: March 24, 2025, 12:13:49 pm
content: If that works for you that's great but some people won't have experience in software engineering or want to learn new languages and tools just to use their instruments. Having to code a new script for every instrument isn't going to work well for everybody. There's a reason software like labview and benchview exist.

author: mr ed
author_rank: Regular Contributor
timestamp: March 24, 2025, 01:53:30 pm
content: LabVIEW has a learning curve too. If you can use these classic lab instruments well then python will be easy to learn. LabVIEW predates python by many years and I was never impressed by it. Good documentation that supports a diverse pool of users takes a lot of effort initially and ongoing which most developers vastly underestimate. From Googles' AI, "Python's popularity stems from its versatility, ease of use, extensive libraries, strong community support, and growing demand across various industries, making it a leading programming language for both beginners and experienced developers".

author: PascalNE
author_rank: Regular Contributor
timestamp: March 24, 2025, 02:31:30 pm
content: Perhaps labVIEW wasn't the best comparison I too found it quite antiquated. I also have absolutely nothing against python I am aware its a great resource and have experience using it myself. But the idea of this application is fundamentally different to it.The process of learning a new programming language and learning the commands of your instrument(from often quite confusing documentation) and writing a script Is always going to be harder than downloading a driver and being able to use your instrument through a simple GUI that's much more familiar.It also provides utility to then analyse your results easily in one place. There's plenty of other applications that do this like Keysight BenchVue.I also recognise the difficulty of maintenance and documentation but I believe that's a separate issue to the utility of the project I am in no way delusional about how hard it will be. However as I am taking my exams this year I know I will have a lot of free time after before university.In conclusion I don't think there's any problem with wanting to use python but I think its undeniable that this will have utility to some people who prefer simpler GUI based applications.

author: PascalNE
author_rank: Regular Contributor
timestamp: March 24, 2025, 02:36:27 pm
content: Additionally If anyone has any suggestions for features please let me know with a reply as this was my main reason for posting this here

author: Grandchuck
author_rank: Super Contributor
timestamp: March 24, 2025, 02:43:56 pm
content: https://www.eevblog.com/forum/testgear/program-that-can-log-from-many-multimeters/Have you looked at the above?

author: PascalNE
author_rank: Regular Contributor
timestamp: March 24, 2025, 02:56:33 pm
content: I had not and it looks very good I will look into it more it looks like some great inspiration.

author: tggzzz
author_rank: Super Contributor
timestamp: March 24, 2025, 04:52:13 pm
content: Definitely do not invent a new language; a library for a standard language is usually better.Do not have "drivers" for individual instruments, unless you can clearly state why that is better than a library.Traditionally libraries and GUIs only implement a subset of what an instrument can do. The subset is either what the designer needed for their purpose, or how they imagine it will be used. Going outside those bounds tends to hit a brick wall.But do go ahead and try. Interviewers will love it, especially if you can say "it worked, but next time I would change..."

author: ledtester
author_rank: Super Contributor
timestamp: March 24, 2025, 05:01:43 pm
content: Include the ability to separate the logging from the display e.g. so that you can have one process log the data to a file and the viewer picks up the data from that file.This will be useful for long term collection jobs in case the viewer process crashes or needs to be restarted - then the collection process isn't interrupted.

author: PascalNE
author_rank: Regular Contributor
timestamp: March 24, 2025, 05:58:36 pm
content: Definitely a good idea, there's a lot of decisions to make when it comes to the lower level structure of the program especially in regards to timing with multiple instruments. A lot more research to be done!

author: PascalNE
author_rank: Regular Contributor
timestamp: March 24, 2025, 06:11:31 pm
content: Quote from: tggzzz on March 24, 2025, 04:52:13 pmApologies If I misunderstand what you mean, but if you are referring to the routines system my plan was to have something where you can drag and drop Instrument commands together From a list of all the commands along with conditional statements and loops . This is like something in BenchVue called Test flow. I'm not sure if people have used this but if you have did you think it was good or is text based scripting always a better option?

author: PascalNE
author_rank: Regular Contributor
timestamp: March 24, 2025, 06:17:07 pm
content: Quote from: tggzzz on March 24, 2025, 04:52:13 pmYour right I should be careful to use libraries where I can. I think its because I have mostly used older instruments which have no existing libraries I definitely have a lot to learn when it comes to things like SCPI and working with more modern instruments hopefully my incoming 34401A should teach me more about that. And thanks for the advice