Modern UI Remake - Fixes USB Disconnect Crash

More
12 years 9 months ago - 12 years 9 months ago #683 by soshimo
Hello,
I was recently using the XScope software and noticed that there was an issue when disconnecting the USB cable while the software is running.  It would crash to desktop when connected to USB.  While this isn't too big of an issue since there is no data loss (I've already disconnected the cable), it drove the OCD perfectionist in me crazy.  So I fixed it.  In the process I thought, wouldn't it be nice to give it a little bit more modern UI since the UI design is close to two decades old now?  So, I rewrote it using WPF and a Modern UI layout.  The new layout is more Windows 8 and mobile friendly.  It still only runs on windows machines (and requires at least Windows 7 - ouch), but the UI is a bit more modern.  Oh, and only USB is supported for now.  If you are running on a modern machine or laptop chances are you don't have a physical COM port and will be using a USB to RS232 adapter anyway.  USB is faster.
 
I've attached some screenshots to this post.
 
Last edit: 12 years 9 months ago by soshimo.

Please Log in or Create an account to join the conversation.

More
12 years 9 months ago #686 by ganzziani
Looks Great! Would you share the source code or executable?

Please Log in or Create an account to join the conversation.

More
12 years 9 months ago #687 by soshimo
Absolutely, I will share the source code - there is still a lot of the old code in there so I think it would only be fair (and legal) to share. I kept most of the low level USB code which is a wrapper to the pInvoke layer. I'm working on cleaning it up now and will post a link later to my github where I will have the source.

Also, it's only about 75% functional at this point - I have to implement duty cycle and offset for the AWG generator. I also have some work to do for ChannelD control. There is a toggle button for ChannelD and that's about it. I also haven't worked out how to render Channel D yet - I can see the data coming in but I'm assuming it's digital data so I won't be rendering it like the regular waveforms.

Finally, persistence. I'm developing a particle engine that will maintain the state of previous waveforms (particle data really). My thought is to interpolate an alpha value for the rendered line based on the age of the two endpoints. That would give the effect of persistence with the holder traces slowly fading out. It's a huge change and I'm not even sure if it's possible, so I'll be creating a branch.

Feel free to fork the project once I have it up there.

Please Log in or Create an account to join the conversation.

More
12 years 9 months ago - 12 years 9 months ago #691 by soshimo
Okay, I finally had some time to clean up the code, though it still needs some work to be production ready (some slight refactoring and code cleanup mostly). At any rate, without further ado, here is the WPF version of the XScope software: github.com/scottmccain/WpfXScope /\r\n//\r\n//\r\n/Caveats: /\r\n/You have to build the project so you will need Visual Studio 2010 or 2012 (you can download the express editions for free)./\r\n/You will need at least windows 7 with .Net 4.0 minimum. Support is limited and documentation is nil. I won't have a lot of time to support installation issues - you are on your own for that - but I will be available for bug fixes if you find any. Also, I'll take requests for enhancements, but bugs will always trump enhancements. /\r\n//\r\n/What I plan on working on next: /\r\n/Installer. /\r\n/Rendering digital channels and data.
Last edit: 12 years 9 months ago by soshimo.

Please Log in or Create an account to join the conversation.

More
12 years 9 months ago #693 by ganzziani
Thanks for your contribution!
I was able to compile the project, although I had to install the "Microsoft Expression Blend Software Development Kit (SDK) for .NET 4" first:
www.microsoft.com/en-us/download/details.aspx?id=10801
It looks great, but I really think that when changing the settings, the scope display needs to be visible. Otherwise, your are blindly changing settings...
The on-screen measurement are great too! (But sometimes I can't close the pop up windows after making a measurement).
There are tons of other ideas I have, I will also try to work on this version when I get some free time. I am learning how to use github, so I need some kind of permission so I can upload my progress to the epository?

Please Log in or Create an account to join the conversation.

More
12 years 9 months ago - 12 years 9 months ago #694 by soshimo
I forgot about the SDK - it's needed for the modern UI (there are embedded templates in there). /\r\n//\r\n/I agree regarding the scope changes, but it's a battle between control clutter (having all those controls on the screen is information overload and a bit cluttered) and usability. Maybe a preview window that pops up as you make changes, or kind of like the Windows 7 preview when you hover over a chiclit on the toolbar you see a smaller transparent preview window. /\r\n//\r\n/I also noticed that the pop up's sometimes get stuck - I'm working on that. /\r\n//\r\n/Finally, I can add you as a collaborator, I just need your github account name or email. If the forum has PM's you can send me one or send me a message.
Last edit: 12 years 9 months ago by ganzziani.

Please Log in or Create an account to join the conversation.

Time to create page: 0.193 seconds
Powered by Kunena Forum