Shop OBEX P1 Docs P2 Docs Learn Events
Platform independant GUI for Parallax Micros... — Parallax Forums

Platform independant GUI for Parallax Micros...

Jorge PJorge P Posts: 385
edited 2010-07-26 06:51 in General Discussion
I was thinking of all the development languages out there that have features like code folding, code completion, and various other features that are lacking in the Propeller Tool and and Basic Stamp Editor.··What I will be attempting is to create an all in one GUI that is Platform Independant.

The only development language I could find, that could support this the best is Java and the NetBeans IDE Platform!· Java is a platform independant interpreted language, that is available for most Operating Systems including Microsoft Windows, Mac, and *NIX variants.

The overall intent is to make development with Parallax Microcontrollers more simple by using the javadoc, templating, code completion, code snippets, etc.. features of the NetBeans Platform and IDE.· This is documented on the NetBeans.com website that also contain links to others who have done the same thing with various languages/features of their choice.· The downfall is that any·developers choosing to assist in the development of this project, will need to download and install the entire NetBeans Platform source tree.

I've created a project at sourceforge.net which is only in the planning stage, I do not intend on remaining the Project Administrator of this project as my strongest points when developing are mainly in Look & Feel of an application, I will turn this project over to a Java developer who is more experianced in Java, after I get the look·& feel worked out with the GUI.· It will be up to another Java Developer, or Parallax to take over the project and see it through.

Any source I place into the SVN tree will only be a GUI that needs to be programmed, however I can work from the several tutorials on the NetBeans site that explain how to do this.

The end result of a stable application·should be to target a newbie to programming in general, not just a newbie to PBasic, Pasm, or Spin, and the variouse Parallax micros, by including a vast amount of help and samples.

After a stable release of this utility, more features can be added, like the ability to convert from and to any other Parallax language, Shcematic/PCB design etc...

The sourceforge project is located at http://parallaxutiliti.sourceforge.net/·and is currently set to be·under the MIT License.· There are no releases yet and this will not happen overnight...

Feel free to comment on this project, or if you are a Java developer, please join the planning process. I will be adding a link back to this post from the projects main site page shortly.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
---
http://WhatsAvailable.org Software and Gadgets for Windows 7.

Comments

  • Mike GreenMike Green Posts: 23,101
    edited 2010-07-23 22:19
    For the Propeller, there's already a platform independent development environment called BST (BradC's Spin Tool). There's also a command line compiler/assembler called HomeSpun by mparks that has already been used with some multi-platform environments.

    For the Stamp, you're limited to using the binary-only Stamp Tokenizer which is available for Windows, Linux, and the MacOS. This is essentially the Stamp compiler. There is no other way to compile Stamp Basic programs and there already is a good IDE for the MacOS and, of course, the Stamp Editor is available for Windows.

    I bring this all up because you first have to think about what's possible, what has already been done, and what desire (other than just yours) there might be for something different before you embark on a potentially large complex project that, as you've stated, you want others to take over.

    What you're wanting to do is not wrong, just that you're "putting the cart before the horse". It's not clear that you can make use of the features you like about the NetBeans IDE in the case of the Stamps and there's no source code available now or in the future for a compiler. Even the bytecode definition is still considered proprietary by Parallax. For the Propeller, the current Spin compilers (other than Sphinx) are binary-only at this time and, although it's possible that the developers might someday release the source, that certainly has not been their stated plans. Sphinx's compiler is written in Spin and runs on the Propeller, but you'd have to translate it into something that runs on other systems and that's a major undertaking. Unless you want to do it, I don't see a crowd of people anxious to do all the work involved.

    None of the above prevents you from using NetBeans as a front end IDE to the existing Stamp Tokenizer and Propellent for the Propeller. NetBeans is a huge program. Whether you can come up with something that's better enough than what already exists in the various Stamp and Propeller IDEs to get people to volunteer their time and effort to develop (and maintain) is another question. SourceForge is littered with projects that got started and either never got to the point of usefulness or got developed initially to the point of "sort of" working, then languished due to lack of interest in finishing the project or lack of interest in (the dull dull task of) maintaining it.

    Post Edited (Mike Green) : 7/23/2010 10:39:07 PM GMT
  • Jorge PJorge P Posts: 385
    edited 2010-07-23 22:49
    The main focus for this project is not a compiler, that can be added later, This project is mainly focused on a utility that can help assist in developing the code that would need to be compiled(PBasic, spin, Pasm) and coding assistance, like code snippets etc. After that is stable, users can add or develop a compiler further. Maybee I'm not explaining it clearly, You will see what I mean when I have the main Look & Feel down, it will be fairly self explanitory.

    If you dont understand this, just Checkout the NetBeans Platform and IDE features *Edit* http://www.netbeans.com/features/platform/index.html.

    [noparse][[/noparse]quote]I bring this all up because you first have to think about what's possible, what has already been done, and what desire (other than just yours) there might be for something different before you embark on a potentially large complex project that, as you've stated, you want others to take over.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    ---
    http://WhatsAvailable.org Software and Gadgets for Windows 7.

    Post Edited (Jorge P) : 7/23/2010 10:56:54 PM GMT
  • SRLMSRLM Posts: 5,045
    edited 2010-07-24 09:53
    What about Code::Blocks? You should be able to write just a plugin for the particular language that you want to support, and most of the backend work is done for you. I don't know what it would entail, but they (they who? Someone...) have managed to do it for AVR.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Powered by enthusiasm
  • Jorge PJorge P Posts: 385
    edited 2010-07-24 11:13
    I am going through the tutorials on the netbeans site and they seem realy simple, I am guessing if I create a module(plugin) to support what I want to do, the end user would need to download all of netbeans and the JDK(Good for experianced developers). However if I go with using the NetBeans platform, end users would not need the JDK or NetBeans.

    If I continue with using the netbeans platform, the way I am planning, then those same modules can also be packaged seperately for use in netbeans itself. Whats the saying, killing two birds with one stone... And its not realy all that much work, the IDE does alot of it for you. The main problem I will run into is with regex, tokens, and lexers, I never realy dealt with them before but I am sure it will be rewarding in the end.

    As for adding recognition of the file types, .spin .bs2 etc..., I never though adding those and MIME types was so simple. I am beginning to think that it is too simple, and want to find out if there is some specification or whatnot that I should be following or if a mime type is just generaly accepted and used over time. I will have more modules done by next weekend and I will try posting some on the project page.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    ---
    http://WhatsAvailable.org Software and Gadgets for Windows 7.
  • Jorge PJorge P Posts: 385
    edited 2010-07-26 06:51
    I·have the modules for the File Types done for the NetBeans IDE.· The Parallax file types will show up under other so far, and include a template file for each of the file types.

    If you dont have the NetBeans IDE, then the attachment will be of no use to you, but you can download if you want.

    If you want to play around with the NetBeans IDE... install the following, in the order they are given.
    • Install the Java Development Kit (for your OS), you will have a choince of EE (Enterprise Edition) or SE (Standard Edition) Do not get the bundle with NetBeans or you will have to manualy configure the IDE.
    • Install Mercurial (for your OS) if you want Source Control Management
    • Install MinGW (for your OS) or install Cygwin·if you want to USE g++, etc... in NetBeans
    • Finaly Install NetBeans v6.9

    If that all goes well, you can now add support for the Parallax file types using the attached file.· Install the modules by opening the NetBeans IDE, and clicking "Tools"--"Plugins".· On the plugins page click the Downloaded tab then click the "Add Plugins" button, and navigate to where you unzipped the .nbm files, you can select multiple or just a single file.

    Once they are installed, you can try them out by creating a project of any type, Once the project is open right click the project and click "New"--"Other", then navigate to "Other" under catagories and select one of the eight Parallax file types and Click next.

    The IDE does not parse anything yet, that will take a while for me to work out.· If you know Java and want to help, join the Parallax Utilities Project on sourceforge as a developer.

    Enjoy.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    ---
    http://WhatsAvailable.org Software and Gadgets for Windows 7.
Sign In or Register to comment.