Anyone interested in a new SPIN IDE?
Keith Leinenbach
Posts: 25
Mid last year I purchased an s2 robot for myself and my child from a shop in Chicago. I must say it was a wonderful experience and soon I was fully entranced in programming new things for the little red guy to do. Addicted I purchased various other parts from the Parallax store as well as a Quick Start board and the Gadget Gangster board. While I found the Propeller Tool nice, I have certain features I wanted while programming so I made my own IDE interfacing through the Propellent DLL. That is one of the great things about Parallax, they let you do things the way you want. Anyway, about six weeks ago, I decided others might want the tool too, so I polished it up for distribution. The IDE should be ready for beta next week.
Screen Shot
Features
- Parameter Hints for functions as you type (for both your files and those you link to as objects)
- Long descriptions of functions pulled from the source code and updated as you work
- Function lists, with the ability to click on them and advance to them in the source
- Help for built in functions
- all those other IDE sort of things like code multi-file editing, highlighting, search, undo, etc.
The Question
I have more ideas for the tool too and I'd love to support it and add to it. So here is the question. Would there be an interest in paying say $30 for such a tool so that I can support it and move forward? Or am I dreaming and free is the only way people like tools.
Thanks,
Keith Leinenbach
Screen Shot
Features
- Parameter Hints for functions as you type (for both your files and those you link to as objects)
- Long descriptions of functions pulled from the source code and updated as you work
- Function lists, with the ability to click on them and advance to them in the source
- Help for built in functions
- all those other IDE sort of things like code multi-file editing, highlighting, search, undo, etc.
The Question
I have more ideas for the tool too and I'd love to support it and add to it. So here is the question. Would there be an interest in paying say $30 for such a tool so that I can support it and move forward? Or am I dreaming and free is the only way people like tools.
Thanks,
Keith Leinenbach
Comments
-Phil
Roy
Phil, sorry, I didn't get the meaning of your statement. You're talking about the attached picture. Yes, I should provide help in the Parallax font so that the help lines up correctly. No problem. I figure other issues will come up in beta as well. ;-)
terminal panel - I've played a bit with adding this already, so we'll see.
Keith
Do you know what features of the serial terminal do people use? Just to do basic debugging or do they use all of the extended cursor placement functionality as well?
Keith
For example
- you can develop some code which in the end will run on a VGA or TV / keyboard combination. But during development you'd simply use the terminal without the need to switch keyboard/monitor or even have the hardware at hand when starting with the project. (put your QuickStart in your pocket and change the code anywhere you want without carrying around the TFT/KB ;o)
- you can use textmode windows for showing ... dunno ... debug information ... states ... input-masks ... menus
- you could use the characters meant for creating digital signal diagrams to implement a pocket-money Logic-Level-Analyzer
- .....
Keith
I wish I could support these platforms, but I developed the application in Delphi. Delphi seems to be moving toward being multi-platform, but the current offering is not really useable for anything but windows. Sorry about that.
Keith
The current Propeller Tool is also written in Delphi and uses a proprietary edit module that makes it ineligible for open sourcing. This is one reason it will ultimately be abandoned in favor of an open-source, multi-platform IDE. I'd hate to see you put all that effort into it only to find yourself in the same dead-end that Parallax did. A Windows-only IDE will not enjoy the same acceptance that a multi-platform IDE would.
-Phil
I'd also really like to have a combined IDE/programming tool with a "terminal" for runtime interaction. I quote "terminal" because I've gotten used to using a full-featured homemade PC-propeller interactive environment that I wrote in Delphi where the PC "terminal" can receive and display messages like a terminal, but also lets you program pushbuttons for interacting with the propeller program, can receive data and plot it graphically or write it to file, etc.
Thanks for the advice Phil. By the way I have already fixed the help window so that it displays help in the Parallax font. Good catch!
As for building it in Delphi, I realize the limitations. My edit module is also proprietary. But realistically, I am not looking to produce the end all of SPIN IDEs. I have found the IDE quite useful so far for myself and I think others will too. The source code people edit is all in SPIN and they will always be able to change to any IDE they wish. So by using this IDE no one will lock themselves in, but I do think they will enjoy the advantages this application can offer. I hope this will save people time and give them a pleasant experience when editing. Choices are always nice.
So I guess what I am saying is, this is how I developed it. I had a good code base for this sort of application in Delphi. It is what it is. If you have a windows machine, I believe this will be a nice IDE to SPIN your code in.
I will be releasing the BETA next week. I encourage you to try it out and let me know what is missing, what could be better, etc. My aim for the first release is to include the major needs and make it as smooth of an experience as possible.
And as always, though I can't always change things, I appreciate the comments.
Keith
The "terminal" window seems to be a make it or break it feature, so I am working on adding this. Flexibility in this feature also seems to be a big deal. Besides just the basic terminal, I think this can be used at minimum to provide a more convention (however a bit intrusive) debugger. There is definitely a lot to improve on here. As for programmable feedback, if this is what people want, I have a lot of experience in this sort of thing and would love to add it in the future.
Keith
I use the clear (0) and home (1) commands a lot, but I rarely use the other commands. If you do add this, it would also be good to do the disconnect / reconnect when the application loses/gains focus. I use this behavior in many of my custom debug apps so I can just alt-tab between them and the IDE without having to constantly hit buttons to disconnect and reconnect. I wish the PropTerm had the option to auto-connect when it regains focus.
It looks really good. And I'm fine with Windows.
could you please explain this one a bit more
Do you mean that if you declare an object "myobject", and then later on in the program you type
myobject.
and as soon as you type the . it comes up with all the PUB methods of that object in a dropdown menu?
Because that would be really cool!
Looks good.
Your idea of parsing all the objects for functions and procedures is a fresh idea for an IDE.
From your list box of functions can I drag and drop from it to the editor window and have it
create the function in the editor for me to complete. Just saves a bit of typing as your help
window above shows me what to type anyway, another fresh new idea.
As a Delphi person myself I am curious as to what components you used. I have played around with
creating an IDE myself and used PlusMemo for the editor. It handles the Unicode Parallax Drawing
chars.
Tom
Yes. It narrows down the choices as you type along, including the PUB methods for objects.
I like that idea. Why not?
Jim Fouch wanted to make sure the terminal window/pane wasn't rooted inside the editor window. I agree. Good point.
Thanks Jason for answering my question about the usage of the terminal window.
Thanks for the input! I'm glad to see more people dropping in for their say.
Keith
Having 2+ monitors sometimes spoils you...lol
So, position the cursor where you want it, right click on the function from the list, and there it is.
As to Jim's question, I will keep the pull out tabs in mind for the future, but it is not possible in this version. I do like your monitor set up though! Now where did I leave that application window last ... :nerd:
Keith
First of all, there is no "Open File Dialog". But there are several ways to open files.
1) The Objects tab will navigate to the files pointed to by the objects referenced in your current source file.
2)You can right click on any function in your source code and through the popup menu the IDE will load the appropriate file and navigate to where the function is defined.
3) And finally, the Open File tab gives a directory view to open random files and by default lists SPIN files in your sources directory.
Hope I answered your question satisfactorily.
Keith
If you require some primitive cursor controls. take a look at my 1pin TV object in obex. Someone has done a VT100 but I am not sure where to look. IMHO we are interested in using the PC Terminal as a debug terminal primarily, and a VGA or TV text replacement secondly. It is nice to be able to copy and paste to Notepad.
However, with new open source tools due from Parallax shortly, I hope you effort is worth it.
Thanks for the input on the terminal window. The first version will provide the basics, but I will expand it as the product matures.
I hope to differentiate this IDE tool from their offering. I have some specific additions in mind that I hope will keep people happy. That said, choice is good. Different people work in different ways. Anyway, I don't get the idea that Parallax is shooting to have only one method available. I like that about this company. I hope this continues to be the case. That way everybody wins!
Keith