Does ViewPort really have the 'software engineer's Nirvana'?
Hanno
Posts: 1,130
The September/October issue of "Robot" contains a well researched review about ViewPort, tagline: "A deluxe Propeller debugger in a sophisticated development environment". Here some extracts:
"The new ViewPort Development Studio from Parallax delivers an industrial-strength debugger combined with a Spin editor and a large set of powerful data-analysis views. As a full-time software engineer working with Microsoft Visual Studio, I have been spoiled by sophisticated commercial development tools. For me, ViewPort delivers the same power to my hobby as I have when I'm working at the office. That isn't saying that using ViewPort is like being at work; ViewPort is a lot more fun."
...
"Most important, you can set breakpoints and single step your Spin program from this view. This window is software engineer's nirvana."
...
"Let me assure you that, with very little effort, you'll be able to make immediate use of ViewPort's basic debugging feature. To help you learn, ViewPort includes a great manual and many source-code samples and tutorials to help you master each capability."
Thank you Steve! Past issues of Robot are available online at: http://botmag.com
And no, I don't think ViewPort is anywhere near nirvana, so I'm asking for your suggestions. I'm making good progress on 2 themes- making the features of ViewPort more accessible to beginners and kids with Spinner, and making it easier to integrate ViewPort/Propeller to all sorts of other applications with a built-in DDE server/client.
A year ago forum members helped define the ViewPort Debugger- see this great thread: Simple, but full-featured Debugger
Now, I'm asking: "What's your idea of nirvana- what would you like to see?"
Hanno
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Download a free trial of ViewPort- the premier visual debugger for the Propeller
Includes full debugger, simulated instruments, fuzzy logic, and OpenCV for computer vision. Now a Parallax Product!
"The new ViewPort Development Studio from Parallax delivers an industrial-strength debugger combined with a Spin editor and a large set of powerful data-analysis views. As a full-time software engineer working with Microsoft Visual Studio, I have been spoiled by sophisticated commercial development tools. For me, ViewPort delivers the same power to my hobby as I have when I'm working at the office. That isn't saying that using ViewPort is like being at work; ViewPort is a lot more fun."
...
"Most important, you can set breakpoints and single step your Spin program from this view. This window is software engineer's nirvana."
...
"Let me assure you that, with very little effort, you'll be able to make immediate use of ViewPort's basic debugging feature. To help you learn, ViewPort includes a great manual and many source-code samples and tutorials to help you master each capability."
Thank you Steve! Past issues of Robot are available online at: http://botmag.com
And no, I don't think ViewPort is anywhere near nirvana, so I'm asking for your suggestions. I'm making good progress on 2 themes- making the features of ViewPort more accessible to beginners and kids with Spinner, and making it easier to integrate ViewPort/Propeller to all sorts of other applications with a built-in DDE server/client.
A year ago forum members helped define the ViewPort Debugger- see this great thread: Simple, but full-featured Debugger
Now, I'm asking: "What's your idea of nirvana- what would you like to see?"
Hanno
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Download a free trial of ViewPort- the premier visual debugger for the Propeller
Includes full debugger, simulated instruments, fuzzy logic, and OpenCV for computer vision. Now a Parallax Product!
Comments
·
Enjoy!
Hanno
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Download a free trial of ViewPort- the premier visual debugger for the Propeller
Includes full debugger, simulated instruments, fuzzy logic, and OpenCV for computer vision. Now a Parallax Product!
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
www.mikronauts.com - my site 6.250MHz custom Crystals for running Propellers at 100MHz
Las - Large model assembler for the Propeller Largos - a feature full nano operating system for the Propeller
Morpheus & Mem+ Advanced dual Propeller SBC with XMM and 256 Color VGA
Please use mikronauts _at_ gmail _dot_ com to contact me off-forum, my PM is almost totally full
John Abshier
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Toys are microcontroled.
Robots are microcontroled.
I am microcontroled.
If it's not Parallax then don't even bother. :-)
·
Mini-Din/PS2 connectors are for sale! 5 for $1! PM me if you wish to make an order.
Cheap·shipping unless specified!··········150 left!!··
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
cmapspublic3.ihmc.us:80/servlet/SBReadResourceServlet?rid=1181572927203_421963583_5511&partName=htmltext
Hello Rest Of The World
Hello Debris
Install a propeller and blow them away
It is a real pain to reboot in order to do something on the propeller and then reboot again to do work. I work in Linux and IRIX, not windows.
As a second option, if someone can walk me getting Viewport to work reliably in WINE, that would go a long way. Currently I use wine for e-sword, which works pretty well.
The propeller tool, on the other hand has not AFAIK.
Just my 10 bits worth.
Doug
@Hanno: I second ErNa's suggestion - tying us to contiguous mem is a real drawback, and LUTs take up precious code space. Then again, if V.Port took over the pointer management, *it* would have to take up more code space for the scattered vars. Or are we missing a trick with pointers?
Also, RE Spinner - I think you've got a tiger by the tail there, pal. Take a quick look at this video about developing "code-less designs" on PSoC's (Programmable Systems on a Chip):
http://download.cypress.com/2_0/ui/flash/pd5/index.html
That is far more sophisticated than what you're doing now - but I could see Spinner do functional blocks (via some yet to be agreed on OBEX interface) via a drag and drop and taylor mechanism. No, more than a visual IDE (VB etc) - higher and simplier. Yet allow to edit the code.
That'd be another level of Nirvana
- H
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
"Nirvana" in this context would be for ViewPort to run on my Debian boxes. Since before there ever was an IBM PC I have very rarely had to use Windows to develop embedded applications. A notable exception being for the Propeller before Homspun and BST saved us.
I know it is possible for apps to work perfectly under Wine. Take a look at the LTspice circuit simulator from Linear. Sometimes I wonder if they go out of their way to be sure it does run under Wine. After many versions they have not broken that yet.
Perhaps it's a bit late for ViewPort to go that way which would be a shame.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
For me, the past is not over yet.
Why can't you just vp.start like most other objects and be done with it?
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
--Steve
Propalyzer: Propeller PC Logic Analyzer
http://forums.parallax.com/showthread.php?p=788230
Or am I missing something that you see?
@Heater: it seems to me that *eventually* we get linux ports for great software ... the Debian and Slackware distros are good candidates, IMO (but please not that ugly big brown red one that shares its last two letters with " TUrd " [noparse]:)[/noparse])
- H
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Post Edited (CounterRotatingProps) : 8/2/2009 12:16:14 AM GMT
If anyone is interested on getting wine to install viewport without errors I can help. Maybe someone else would have luck configuring their serial ports.
go over to some of the wine forums - there are posts about getting ports to work - it can be a PITA.
(Depends on moon phases - being able to whistle Dixie standing on your left foot is also helpful. :-P )
he he he
Seriously though - check those forums... I can't remember where... but they helped me figure this out for a slackware distro.
HTH
- H
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
A quick summary and my response:
>bill wants a really, really good, easy pasm debugger
I've just talked to him and we'll work on this together in the future, something like ViewPort visual interface, LMM code on the Prop (I want to do Catalina/ImageCraft C at some point too...)
>John is generous and wants I2C, SPI, and RS-232 for propscope, me to finish spinner
>for the good of the propeller, pc support like the DDE server, and link to arduino's
>"procesing library
I'll look into Arduino to see what can be borrowed/adapted
>erna- ability to share variables from different processes
Since ViewPort shares global memory, you can already share variables running on different cogs. They do have to be contiguous- this simplifies the "conduit" code in that it just loops through memory to send it. I guess I can look into supporting a lookup table. However, that piece of code is quite time critical, so not easy.
>heater/hinv- want linux/irix support,debian
I've had some success experimenting with ViewPort running natively on ubuntu and macos using Mono.net. Parallax's "Propellent.dll" limits me from properly doing the port.
>crp- wants an advanced spinner
Thanks for the link, some parts are already done, will post in the next couple days.
>sdenson- remove vpconfig, vp.share- run separate cog, fully spin-aware
Spinner greatly simplifies the Propeller and ViewPort since it's my language. You don't have to declare variables, configure them, share them or anything- you just use them. (Stop me before I sound like a certain Dr) Programming graphics is awesome, you can drag a "draw box" block to your program, and then "drag it's coordinates around the tv screen- as the program is running.... Ok, gotta go!
Thanks for all the feedback!
Hanno
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Download a free trial of ViewPort- the premier visual debugger for the Propeller
Includes full debugger, simulated instruments, fuzzy logic, and OpenCV for computer vision. Now a Parallax Product!
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
--Steve
Propalyzer: Propeller PC Logic Analyzer
http://forums.parallax.com/showthread.php?p=788230
I'm not married to the "Spinner" name, so it might change it. I started writing Spinner for my daughter (she's just turned 5 and is starting to learn how to read). So no, it wasn't intended to be the tool of choice for expert programmers- they should use ViewPort. Spinner won't let you program in assembly, doesn't use any cryptic symbols like ~~ or !, but does make it very simple to do pretty much anything that the Propeller is capable of: playing wav files, recording sound, drawing graphics to tv/monitor, lots of pin IO, interface with peripherals like keyboard/mouse, and drive servos. That said, since it's coupled with ViewPort like instruments- and the fact that you can change parameters (like servo positions and timing) as the program is running, it's already being used by a professional- I'll let him talk about it when he's ready.
Hanno
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Download a free trial of ViewPort- the premier visual debugger for the Propeller
Includes full debugger, simulated instruments, fuzzy logic, and OpenCV for computer vision. Now a Parallax Product!
It's even funnier in German. [noparse]:)[/noparse])
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Toys are microcontroled.
Robots are microcontroled.
I am microcontroled.
If it's not Parallax then don't even bother. :-)
·
Mini-Din/PS2 connectors are for sale! 5 for $1! PM me if you wish to make an order.
Cheap·shipping unless specified!··········150 left!!··
ViewPort supports other clock speeds- Sapieha has been successfully running it at like 120Mhz for about a year.
The IODreamkit and PropScope both use non-standard clock rates. As long as your clock settings match your Propeller's hardware, ViewPort will connect and also adjust the timings appropriately. For your 6Mhz crystal, just set the constants like this:
_clkmode = xtal1 + pll16x
_xinfreq = 6_000_000
Enjoy!
Hanno
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Download a free trial of ViewPort- the premier visual debugger for the Propeller
Includes full debugger, simulated instruments, fuzzy logic, and OpenCV for computer vision. Now a Parallax Product!
Thanks! I'm fairly sure that I saw that "requirement" mentioned in the article, so you may want to check and have them put it in the errata.
Documentation/tutorial isnt very clear how to "register"/Configure string in viewport. Also when i use config wizard in viewport it hangs, then says i need to register objects first... thats what im trying to do!! i need a friggin config string to put in the spin prog!!!
I dunno, it looks great, and the demos work well too, im just having enough headaches with trying to get i2c to work with this sensor without having to worry about bugs that arent in viewport.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Quicker answers in the #propeller chat channel on freenode.net. Don't know squat about IRC? Download Pigin! So easy a caveman could do it...
http://folding.stanford.edu/ - Donating some CPU/GPU downtime just might lead to a cure for cancer! My team stats.
Yes, the article and my documentation do assume that you're using a standard 5MHz crystal. I'll fix my documentation and see what I can do about the article...
Hi RinksCustom,
Sorry to hear about your issues with ViewPort. Andy from Parallax has put together a really nice PE kit that does a wonderful job of walking people through ViewPort, including using the configuration wizard and creating configuration strings by hand. It's here:
Parallax Education Kit- ViewPort
Feel free to pm me your code and I'll take a look- we'll get this working!
Hanno
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Download a free trial of ViewPort- the premier visual debugger for the Propeller
Includes full debugger, simulated instruments, fuzzy logic, and OpenCV for computer vision. Now a Parallax Product!
Anyway, thanks for making it! I'll give the demo a try for the month, and see if it works out for me.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Toys are microcontroled.
Robots are microcontroled.
I am microcontroled.
If it's not Parallax then don't even bother. :-)
·
I have changed my avatar so that I will no longer be confused with others who use genaric avatars.
Mini-Din/PS2 connectors are for sale! 5 for $1! PM me if you wish to make an order.
Cheap·shipping unless specified!··········150 left!!··
Hanno
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Download a free trial of ViewPort- the premier visual debugger for the Propeller
Includes full debugger, simulated instruments, fuzzy logic, and OpenCV for computer vision. Now a Parallax Product!
I'll keep an open mind, but I see little point in using a $50 (or $150) IDE as a brains to a robot. Wouldn't a custom coded solution (in VB or Java for example) be more appropriate? Perhaps if you could separate the brains part from ViewPort into a standalone module ("export logic").
Being able to add non-contiguous variables would be my wish as well.