PropBasic Studio - Coming Soon
Batang
Posts: 234
Due to the interest in PropBasic I am developing a development environment to support it.
A Beta test version should be available for testing in about 3 weeks.
Some Features:
1. Project based with project manager.
.. Project Manager has setup for Clock, PLL etc with rule checking, so no need to hand code.
.. Project Manager has setup for Cog or LMM mode with automatic code addition.
.. Project Manager archives project file to Zip files.
2. Project Explorer that shows project files with click to load and edit.
3. File Explorer that shows open project and or loose code/lib files.
4. Module Explorer that shows Functions/Subs for each code/lib file with click to load and edit.
5. Pin Configuration editor that defines Pin Label, In/Out and Default State Lo/Hi.
.. Pin Configuration editor recurses any Lib files and updates Labels.
.. Pin label definitions are automatically added to code so no need to hand code.
.. Pin Configuration Graphic view that displays chip package outline (all packages) and Pin Labels.
.. Pin Configuration Graphic view can be printed or saved as an image (jpg/png/bmp).
6. Code editor has syntax highlighting.
.. Code editor has font size setting.
.. Code editor has on line enter syntax parsing with underlining of syntax error.
.. Code editor has the usual editing features - cut,paste,select all,search & replace etc.
.. Code editor has current line highlight.
.. Code editor indicates modified lines.
.. Code editor has selection code comment/uncomment and spin syntax block commenting.
.. Code editor has selection indent increase/decrease.
.. Code editor has line Book Marks with go to next or previous and clear all.
.. Code Editor has undo/redo.
.. Code editor has print.
.. Code editor has right button click context menu for quick entry.
.. code editor has optional display of line numbers and white spaces.
.. Code editor has code formatting - selection to lower case, uppercase, capitalize and trim white spaces.
.. Code editor has outlining (code collapse, expand)
.. Code editor has GoTo line number.
.. Code editor has code completion - for constructs IF..THEN, FOR..NEXT hitting enter will complete the construct.
7. Serial Terminal with automatic connect/disconnect during prop binary loading.
.. Function buttons that have definable strings for terminal output.
8. Main menu bar buttons for File and Project, Compile, Compile and Build Binary, Load Binary to prop.
9. Compiler output progress panel.
10. Compiler error/warning panel with click to go to file, error line.
11. Main GUI supports docking for open code and terminal windows and auto hide for Explorer and Error/Output Panels.
12. Integrated prop binary loader (and maybe compiler).
13. It is Free
Initial deployment will be for Windows with a Mac build sometime after that.
Any feedback and or comments welcome.
Cheers.
Image of GUI is here: http://prx.sytes.net/PropBasicStudio.png
A Beta test version should be available for testing in about 3 weeks.
Some Features:
1. Project based with project manager.
.. Project Manager has setup for Clock, PLL etc with rule checking, so no need to hand code.
.. Project Manager has setup for Cog or LMM mode with automatic code addition.
.. Project Manager archives project file to Zip files.
2. Project Explorer that shows project files with click to load and edit.
3. File Explorer that shows open project and or loose code/lib files.
4. Module Explorer that shows Functions/Subs for each code/lib file with click to load and edit.
5. Pin Configuration editor that defines Pin Label, In/Out and Default State Lo/Hi.
.. Pin Configuration editor recurses any Lib files and updates Labels.
.. Pin label definitions are automatically added to code so no need to hand code.
.. Pin Configuration Graphic view that displays chip package outline (all packages) and Pin Labels.
.. Pin Configuration Graphic view can be printed or saved as an image (jpg/png/bmp).
6. Code editor has syntax highlighting.
.. Code editor has font size setting.
.. Code editor has on line enter syntax parsing with underlining of syntax error.
.. Code editor has the usual editing features - cut,paste,select all,search & replace etc.
.. Code editor has current line highlight.
.. Code editor indicates modified lines.
.. Code editor has selection code comment/uncomment and spin syntax block commenting.
.. Code editor has selection indent increase/decrease.
.. Code editor has line Book Marks with go to next or previous and clear all.
.. Code Editor has undo/redo.
.. Code editor has print.
.. Code editor has right button click context menu for quick entry.
.. code editor has optional display of line numbers and white spaces.
.. Code editor has code formatting - selection to lower case, uppercase, capitalize and trim white spaces.
.. Code editor has outlining (code collapse, expand)
.. Code editor has GoTo line number.
.. Code editor has code completion - for constructs IF..THEN, FOR..NEXT hitting enter will complete the construct.
7. Serial Terminal with automatic connect/disconnect during prop binary loading.
.. Function buttons that have definable strings for terminal output.
8. Main menu bar buttons for File and Project, Compile, Compile and Build Binary, Load Binary to prop.
9. Compiler output progress panel.
10. Compiler error/warning panel with click to go to file, error line.
11. Main GUI supports docking for open code and terminal windows and auto hide for Explorer and Error/Output Panels.
12. Integrated prop binary loader (and maybe compiler).
13. It is Free
Initial deployment will be for Windows with a Mac build sometime after that.
Any feedback and or comments welcome.
Cheers.
Image of GUI is here: http://prx.sytes.net/PropBasicStudio.png
Comments
Ray
@David Betz - It should run but I will check.
Hi David, before I answer that can you enlighten me in regards to the below: i.e. what is the issue with BST?
So am I to assume that there is something wrong with BST that requires it to be modified or repaired? If not then what does it matter if it is closed source or not a so long as it does what is supposed to do.
Changes to software usually falls into 2 categories 1. Bug fixes and 2. New features.
PropBasic Studio is nothing but a glorified text editor with features to make it easier to produce code with the PropBasic compiler.
As such bugs etc are relativity easy to find and fix and I am sure that it will have more than enough features so in my opinion so long as it works, is stable and is free.
With that in mind why would people be hesitant?
My reason for not releasing source is that it uses quite a few of our in-house class libraries.
From my observation (forums and other places) those who scream loudest about software should be open source are those less likely to actually contribute anything to the open source code base. What they actually want (mean) is free software.
I am still using MS Office 2003 and if MS disappeared down a black hole tomorrow (likely) it would still continue to work.
Cheers.
Cheers
You called? I was happy biting my lip but now the conversation has moved on I really have to say something.
Firstly, I love BST and I have used it a lot. Without BST I would have given up with the Propeller as there was no easy way to develop for it on my chosen platform. BST has features that my projects have needed that the Prop Tool does not have. BradC did a magnificent job with BST.
But, being a closed source program and given that BradC no longer wants to maintain it BST is terminally ill.
This is actually causing me grief at this very moment. I have just let my ARM board spend 12 hours compiling propgcc for the ARM. As it happens propgcc includes the prop loader which uses some PASM code from modules written in Spin. Those modules are compiled with BSTC.
That means my install of propgcc on my ARM fails. I now have to rebuild the loader on a PC and copy the required dat and bin files over.
If BSTC were open source this would not be an issue as we can easily build Pascal programs on ARM and get BSTC running there.
Never mind the fact that it would be cool to be able to use the BST IDE on this machine anyway.
That may well be true.
That does not mean there are not sound engineering reasons for wanting to select open source software over closed.
When MS goes town the tubes and all the world has moved on to ARM processors you are going to be very glad there are open source word processors around capable of reading your archive of Office 2003 documents. You migh think that scenario is extreme but I have already seen it play out one large company that could not open it's own documents because the newer versions of Word were not able to read the older format. Luckily I showed them Open Office could and they were saved a lot of pain.
Dev tools in particular need to be as long lived and supported as the projects you expect the users to create with it. Are you really going to be around and willing to provide an ARM port when the time comes? Or fix some incompatability with the latest and greatest OS in the furure? I for one am fed up with getting into those dead ends.
Please reconsider your position on this project being Open Source. There are other projects in the works which might dovetail very nicely with what you are doing. I'm looking forward to trying our your project.
Jeff
Anyway, does that make any difference? That kind of possibility is there when you rely on any single supplier of any closed source program and undocumented file format.
Thank you.
Mickster
Whilst that may be somewhat true, there is another important reason, which is longevity.
Circumstances can change: you might get hit by a bus, or take a job that mandates NO external code work, or simply get tired.
In those cases, it is good to have a continuation path.
To me, that does not have to be fully open source, but an abandon-ware policy with a repositry would do ok, if you really dislike open source..
Others of us would like to create supporting programs and perhaps supporting demos and documentation. Open Source insures that these efforts will not expire due to outside circumstances.
Jeff
On the other hand technological change has been going faster and faster as time goes by.
What if those 90% of home PC owners who never use their computers for computing realize they can get by with a tablet? What if the cheapest tablets are the ones where you don't have to pay for the OS or most of the useful apps.?
Boom. In a very short space of time Windows is only found in offices and all us hobbiests will be wanting non-Windows solutions.
Now I did say there were engineering reasons to select open source rather than closed. But let's face it, free is better than paying for most folks and anyway cost reduction is a very big part of the skill in engineering.
MS could implode dramatically in a very short space of time.
this causes me some pause. how can we be sure that the owner of this IP (unless it really is you speaking as a collective-we) will not yank this effort to suit their own needs/purposes?
This being my own post let qualify it:
This was not about file formats but about the fact the software is 10 years old and still can be used.
The ability to use the program is dependent on the long term viability of Microsoft and Apple.
When you mention ARM I assume that your are referring to tablet devices and I my opinion it is a novel idea to run such software on those devices but for any serious development work it's going to be on the desktop.
For example I use 2 x 21 inch monitors for development work, 1 for coding the other for outputs, testing, results etc. I recall reading a white paper about using 2 monitors leads to a 30% increase in productivity and while I have no specific KPI's for this I can say work is faster. Now whilst you can do development on a tablet it is not vary productive but with the setup I have I need only move my eyes rather than various swipes/taps etc to see what I need to see.
I was actual planning to have the project file as a serialized object but as I have been caught in the past with comparability issues when changing the object properties the project file will be XML.
Somewhat morbid but a good point.
As stated early in another post the IDE is a glorified text editor, the only continuation path would be to (a) fix any bugs or (b) add features, so as stated before due the simplicity of what is is bugs will found and resolved fairly early and as to additional features please add to the list that I have already given on the top post.
Valid points but let me ask "What supporting program could you add to an IDE?"
Any supporting demos would be created with the IDE and I plan to included a sample project as a reference.
As for the documentation, I suck at doing documentation and it is my wish that someone will step up and provide a user manual, much like that manual that was created for the PropBasic compiler.
I think I covered this above but let me add that as I do a lot of software development for Android devices if there is enough interest I may do an Android port.
But I think that everyone needs to keep in mind I am only doing an IDE there also 2 external programs i.e. the PropBasic compiler and the Spin compiler.
Yep it is the collective we, As I own the company and own the IP of the various class libraries this is not an issue.
Cheers
Perhaps that's enough for the open source debate on this particular thread.
okay. thanks for taking the time to address the question. cheers!
http://prx.sytes.net/PropBasicStudio.png
HI David,
Interesting question, in answer to your first question, yes the spin compiler compiles the PropBasic compiler output.
In answer to your second question, the syntax parser already handles spin so it would be a change to the project manager to select either a propbasic or spin project.
However as jazzed is in the process of doing the same thing with SIDE and the goal of my project is to provide an IDE for PropBasic, so not at this time.
However with that said if there are sufficient requests for it I may reevaluate that position.
Some spin code pasted into the editor
Cheers
I also want to add that open source software means not having to remap skills all the time. That is my first concern. I never know what OS I might be working on, and the ARM points heater made are growing compelling. I will absolutely have an ARM computer in the future. It will run Linux or Android too.
The cost argument is a good one, but I would expand that to skills again. A platform move, operating system move and or other similar things is best when one can build the tools and just go. This is true whether or not one paid for tools!
Case in point: PropGCC. I have a older Mac and was able to just build it and go. Move to Linux, build it and go, windows? Droid? Old IRIX? That is to me the most compelling reason, and I'll pay for it too. Remapping skills just costs a lot.
@Bating, thanks for addressing things. Take my post as a supporting one, as it is meant that way and to clarify "free" as it does not always mean "costs nothing"
It would seem a logical combination to do.
If you need Spin for compiling PropBASIC and you already have syntax highlighting, then what else is required ?
eg if PropBASIC produces an error in Spin compile, I presume you will jump the editor to the (spin) error line ?