Design your own GUI - Prop Plug & PST
JBWolf
Posts: 405
Hello,
I was wondering how I would go about designing my own neato GUI to replace the PST for use with prop plug.
The PST works great for basic text display, but I would like to be able to design a neat GUI display with images and such that I can click on and have it send data to the prop via prop plug via 'parallax serial terminal.spin' or 'fullduplexserial.spin'.
What language should I use (VB?) and are there any basic tutorials for approaching this?
Thanks
I was wondering how I would go about designing my own neato GUI to replace the PST for use with prop plug.
The PST works great for basic text display, but I would like to be able to design a neat GUI display with images and such that I can click on and have it send data to the prop via prop plug via 'parallax serial terminal.spin' or 'fullduplexserial.spin'.
What language should I use (VB?) and are there any basic tutorials for approaching this?
Thanks
Comments
If you want to share your work with others and perhaps attract contributors I would suggest using C++ and the Qt GUI tool kit. Then anyone with Windows or Mac or Linux can play along.
Google will find you many tutorials and example codes.
I have a little C+ experience, more with VB
For example how would i go about emulating the PST with VB instead?
Hoping this is something atleast a few others have asked.... just need a good starting point on the communication between the prop plug and VB or c+
As for "protocol" that's up to you to invent. The libraries just make it possible to exchange streams of bytes.
just started reading about qt
I need something to create a super basic graphics panel with icons you can click on to make the prop perform functions (pre programmed methods).
For example the gui has 3 icons, each icon is an image of an led, one image of a red led, one of green led and the thirs is blue led.
clicking on one of the led images sends a PST type command to the prop, and it turns on that led.
I want all the code manipulation and data handling done in the background... just need a spiffy graphics interface.
We still on same page or are we talking about different things?
It's just a way to get serially-downloaded PropCAM images to display in the browser. But the same technique can be used for a variety of apps. I'm not familiar with the Python libraries, but the available Perl modules make server apps a snap to write.
-Phil
User, keyboard, mouse at one end. Propeller at the other. Serial link from Propeller to PC. Qt program between serial link and user.
In Qt you can create buttons and sliders and icons and menus and...well pretty much any kind of widget you can imagine. There is even a tool to let you lay this stuff out graphically in the Qt IDE.
Your job then is to connect those GUI widgets to commands and responses sent over the serial connection. With of course some custom Spin or C code in the Propeller that understands whatever you are doing.
Where we might be stuck is "I want all the code manipulation and data handling done in the background.." I don't know of such an infrastructure.
I don't think it's any harder, for what you have described, than the GUI part itself.
The community edition is free due to a kickstarter, and it's multiplatform.
Keywords:
VB.NET, Visual BASIC, Communication, Serial, Protocol, Packet, PC, QuickStart, P8X32A
Abstract:
Abstract: Many embedded applications share information with external devices, and the preferred connection between devices is asynchronous serial communications. The multi-core architecture of the P8X32A enables the designer to create and deploy device-to-device communications strategies with no impact on the primary application code. In this example a deployed communications support cog manages data between the main application and the serial I/O firmware, usingVB.NET and the P8X32A QuickStart board.
http://www.parallaxsemiconductor.com/an018
http://forums.parallax.com/showthread.php/96973-VB-Express-to-Stamp-Template
EDIT: try the following for excellent tutorial/reference
http://www.homeandlearn.co.uk/NET/vbNet.html
I appreciate your help guys, right now I'm reading through the parallax tutorial Bob linked.
But all the links you guys provided are great, just a matter of choosing one.... im most familiar with VB and the an08 tutorial does very well explaining this in a manner that I can follow, so im going to start there.
Sorry if i confused u heater... what I meant was I need all the code and such to not be seen while the gui is running (this is what i meant by background, not that all the coding is already done for me).
Just as it is with VB executables or many other programming systems.
I'm curious as to why you think it would be any different?
VB is no doubt easy to work with, but if you want to share your work and/or attract collaborators it's pretty useless. If that's not the case then use whatever works best for yourself.
I downloaded this a few hours ago, it seems so much more user friendly than VB2010. The overall interface is smoother, and intuitive.
Ill have to have a more in depth play over the weekend, and as I was about to start an interface to send data to my prop after loading from a file in VB, I may just work with this
Any snippets you could share to speed the process would be welcome.
Thanks for the heads up on this software too, id never of known about it.
www.cpan.org
Pretty clear that the OP is interested in some VB-like thing.
I haven't had that problem, but I don't have to download directly from CPAN very often. I use ActivePerl and their Perl Package Manager, which is brain-dead simple and quick when the desired module is available from one of their repositories.
-Phil
XQuartz didn't work out for you? Or you figured it would be a problem for users to install it?
Edited to add: I've had no problems running the free Mathematica on a Raspberry Pi with the display sent to a Mac. (ssh -X …)
-Phil
You still using 14.4 modem? I have always had fast downloads. Perl is not a pretty language for certain, But if you recall, a few years ago, there used to be "contests" to see who could come up with the most obfuscated code that performed useful functions.
While I understand he was looking at VB, VB sorta limits his options. Sounded more like OP was open to other methods as well.
-Phil
Xojo is the way to go for making apps.
-Phil
So it is some kind of FORTH?
Enjoy!
Mike
-Phil
Perl has more users than implementations; Forth has more implementations than users! :0)