Shop OBEX P1 Docs P2 Docs Learn Events
Does ViewPort really have the 'software engineer's Nirvana'? — Parallax Forums

Does ViewPort really have the 'software engineer's Nirvana'?

HannoHanno Posts: 1,130
edited 2009-08-18 02:41 in Propeller 1
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!
«1

Comments

  • mikedivmikediv Posts: 825
    edited 2009-07-31 23:29
    Hanno is this download the full speed version pro version , or the less expensive hobby version is there a way to get an evaluation copy of the full pro version?
    ·
  • HannoHanno Posts: 1,130
    edited 2009-07-31 23:40
    The free download in my signature is the full speed version. It includes everything except for the the Developer's Kit.
    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!
  • Bill HenningBill Henning Posts: 6,445
    edited 2009-08-01 00:03
    A really, really good easy to use PASM debugger.
    Hanno said...
    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
    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    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 AbshierJohn Abshier Posts: 1,116
    edited 2009-08-01 14:23
    My first priority for Hanno, himself, would be I2C, SPI, and RS-232 decoders for the prop based O-scope. Not as useful for me but good for the Propeller is Spinner. My third priority would be for easy access with Excell and PC languages. A link to Processing would possibly expand the Prop to a new group of people.

    John Abshier
  • MicrocontrolledMicrocontrolled Posts: 2,461
    edited 2009-08-01 14:46
    I am still testing Spinner. ViewPort I have a trail of and I have used it on every Propeller project yet! It is a truly amazing piece of software and is superb for any level of Propeller Programming.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    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!!··


  • ErNaErNa Posts: 1,752
    edited 2009-08-01 14:52
    I own a pro version but didn't use it to now. The reason is: the communicated values have to be contigued. But my variables are distributed in memory and shared between different processes. Therefor every process has an array of pointers to the variables of interest. I wish viewport to have this feature.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    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 wink.gif
  • hinvhinv Posts: 1,255
    edited 2009-08-01 16:36
    I, for one, have not purchased it because I dont care to be tied to Windows. BradC has freed me, and I don't want to go back.
    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
  • CounterRotatingPropsCounterRotatingProps Posts: 1,132
    edited 2009-08-01 16:56
    hinv - viewport is so good that you might consider reloading win on another partition just to use it [noparse]:)[/noparse]) (Why not set up multi-boot anyway --- I have 4 nix's and 2 windows on the same box. If the machine's fast enough, rebooting to the other OS is no biggy. Wine's a pain. So too VM stuff for certain hardware interfaces. (I've used them enough to feel justified in that statement.)

    @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

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
  • heaterheater Posts: 3,370
    edited 2009-08-01 17:37
    Hanno: "What's your idea of nirvana- what would you like to see?"

    "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.
  • jazzedjazzed Posts: 11,803
    edited 2009-08-01 18:13
    Is it really necessary to vpconfig and vp.share(@variable) ?
    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
  • CounterRotatingPropsCounterRotatingProps Posts: 1,132
    edited 2009-08-01 21:09
    Steve, V.Ports got to know where and what the vars are to communicate across the pipes - otherwise it would have to have it's own code object like anything else in the OBEX - and that seems more messy (to me at least).

    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

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
  • hinvhinv Posts: 1,255
    edited 2009-08-01 21:44
    for what it's worth, I don't care what linux distro you choose to port to, once it is done to one, many of us will figure out how to get it working on the others. I use SuSE 10.3 because it is stable, supported by packman, and is easy to install.
  • CounterRotatingPropsCounterRotatingProps Posts: 1,132
    edited 2009-08-01 22:54
    Doug, that's not the case here because Viewport's a commercial product. To do an any-distro-goes version, Hanno would have to release his source code. Binary only doesn't work because of the wide disparity of libraries. - H

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔


    Post Edited (CounterRotatingProps) : 8/2/2009 12:16:14 AM GMT
  • AJMAJM Posts: 171
    edited 2009-08-01 23:49
    I did manage to get viewport installed on Debian Linux. I am still having trouble getting wine to recognize my serial ports however.

    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.
  • CounterRotatingPropsCounterRotatingProps Posts: 1,132
    edited 2009-08-02 00:13
    AJM

    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

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
  • HannoHanno Posts: 1,130
    edited 2009-08-02 00:45
    Howdy! Wow, lots of responses and good feedback- thank you!
    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!
  • jazzedjazzed Posts: 11,803
    edited 2009-08-02 05:47
    Hanno said...
    ...
    >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! ...
    It is exceedingly unlikely that I will ever use Spinner to program a Propeller. BTW, you should look up "spinner" in the urban dictionary.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    --Steve


    Propalyzer: Propeller PC Logic Analyzer
    http://forums.parallax.com/showthread.php?p=788230
  • HannoHanno Posts: 1,130
    edited 2009-08-02 07:08
    Steve,
    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!
  • CounterRotatingPropsCounterRotatingProps Posts: 1,132
    edited 2009-08-02 21:06
    Steve> BTW, you should look up "spinner" in the urban dictionary.

    It's even funnier in German. [noparse]:)[/noparse])

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
  • MicrocontrolledMicrocontrolled Posts: 2,461
    edited 2009-08-03 00:17
    He He! What Spinner means in German has been brought up before! smile.gif

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    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!!··


  • SRLMSRLM Posts: 5,045
    edited 2009-08-04 17:59
    I read that article too, and everything sounded good except the requirement that the clock speed must be 80MHz. I've taken to switching out all my crystals to 6MHz. That's the sole reason why I'm holding back on buying viewport.
  • HannoHanno Posts: 1,130
    edited 2009-08-04 22:49
    Hi SRLM,
    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!
  • SRLMSRLM Posts: 5,045
    edited 2009-08-05 00:00
    Hanno said...
    Hi SRLM,
    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

    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.
  • RinksCustomsRinksCustoms Posts: 531
    edited 2009-08-05 00:45
    i tried to incorporate it into my code as the documentation says to, but it was very glitchy and lacking serious frame rate of just with the quicksample.spin and when i switched the connection speed to 2Mbs, it got way worse. even when disconnected it flickered as if it wanted to crash my gaming PC. And i'm using a protoboard with a propclip and Prop IDE 1.2.6.
    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.
  • HannoHanno Posts: 1,130
    edited 2009-08-05 00:52
    SRLM,
    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!
  • SRLMSRLM Posts: 5,045
    edited 2009-08-05 01:54
    I agree with Bill: some PASM support would be great. I'm not sure how you'd do it (integrate a simulator?), but that would be the next step for me. Personally, the computer based "programming" parts of ViewPort aren't as attractive.

    Anyway, thanks for making it! I'll give the demo a try for the month, and see if it works out for me.
  • MicrocontrolledMicrocontrolled Posts: 2,461
    edited 2009-08-05 17:29
    Did you get my E-mail about Spinner?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    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!!··




  • HannoHanno Posts: 1,130
    edited 2009-08-05 20:42
    Thanks microcontrolled for your great feedback. I'll post an update video/status/beta to "12Blocks" later today! SRLM, I hope I can change your mind about the integration capabilities of ViewPort, I'm so excited about them- you'll 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!
  • SRLMSRLM Posts: 5,045
    edited 2009-08-05 23:30
    Hanno said...
    SRLM, I hope I can change your mind about the integration capabilities of ViewPort, I'm so excited about them- you'll see...


    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").
  • photomankcphotomankc Posts: 943
    edited 2009-08-06 13:09
    Maybe I'm missing something but I'd like to see values shorter than long displayed right. Whenever I try to view a previously declared byte or word using viewport I end up with off-the-scale values. I imagine that has to do with how the share function works but I have not been able to find a way around that yet. I have to recode them as longs to view them which can be a little (or a lot) tedious. Admittedly I'm pretty new to it as well.

    Being able to add non-contiguous variables would be my wish as well.
Sign In or Register to comment.