+ Reply to Thread
Page 1 of 12 1234511 ... LastLast
Results 1 to 20 of 236

Thread: PZST - an open-source Propeller IDE in development [ Version 1.0.1 released! ]

  1. #1

    Default PZST - an open-source Propeller IDE in development [ Version 1.0.1 released! ]

    I already mentioned that I am in process of developing my own programming tool for Propeller. PST is not an option for me as I only launch Windows if I absolutely have to (for a hour once a week maybe ) I have been always using Brad Campbell's BST for Prop programming, and mostly was satisfied with it. But there are some troubles which make my work less productive than it could be, so I decided to create my own tool. Brad's compiler is great, especially because of its code optimization features, so I have no reasons not to use it in backend - that saved me a lot time, I do not have to write my own compiler at least

    The work is still in progress, but I am posting here as I want community input on features list etc.

    Source code can be found on google code : http://code.google.com/p/pzst/

    Summary of what I intend to have in first version:
    • cross-platform application, written in Qt
    • open source
    • application UI localization

    • Editor:
      • syntax highlighting
      • regular expression search/replace
      • minimalistic code browser (quickly jump to method definition)

    • Compiler/loader:
      • serial port to use is specified explicitly (I do not like the loader to open all ports available and sending data - I may have whatever connected there)
      • reliable operation with CP2102 USB/UART converter under Linux
      • use of any character encoding for string constants, not only Latin-1

    • Serial terminal:
      • text/hex view
      • logging
      • macros
      • can send as text, text with special chars (C-style \r, \n etc) and hex
      • support for different 8-bit encodings

    • Project manager:
      • project-specific compiler options
      • can add non-spin files to project for easy archive creation (SPIN sources + files to be put on SD card, for example)

    Further plans (not sure about these, need to evaluate):
    • code completion (type "serial." and get dropdown list with methods from FullDuplexSerial)
    • simulator
    • debugger

    Screenshot:
    Click image for larger version

Name:	pzst.jpg
Views:	722
Size:	136.4 KB
ID:	77977

    Your input is highly appreciated
    Last edited by Andrey Demenev; 08-08-2011 at 06:06 AM.
    Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

  2. #2

    Default Re: PZST - a Propeller IDE in development

    Quote Originally Posted by Andrey Demenev View Post
    ... my own programming tool for Propeller. .. not ... Windows ... Brad's compiler .... community input on features list etc.
    [*]cross-platform application, written in Qt[*]application UI localization[*]syntax highlighting[*]regular expression search/replace[*]serial port to use is specified explicitly[*]reliable operation with CP2102 USB/UART converter under Linux[*]text/hex view
    This sounds interesting. I like your requirements list. But, being on the outside of the project, some things are not obvious to me from the descriptions given.

    What is Qt? Is this the nokia SDK? Is this a web application that can run on several different hardware?
    So is this to be PropTool/BST type tool that runs on various hosts: windows PC, linux PC, mobile device, etc?
    So this will be a front end for Brad compiler, but can run on various host platforms?

  3. #3

    Default Re: PZST - a Propeller IDE in development

    prof_braino,

    What is Qt? Is this the nokia SDK?
    Qt is a cross-platform graphical user interface tool kit originally created by the Trolltech from Norway, now owned by Nokia. It is free and open source. It can be used to develop GUI appas fpr Linux, Mac, Windows, and mobile phone operating systems.

    Is this a web application that can run on several different hardware?
    No, it is a toolkit to develop apps that run locally on your computer, like Windows MFC. It is used for the KDE desktop system and apps on Linux.

    So is this to be PropTool/BST type tool that runs on various hosts: windows PC, linux PC, mobile device, etc?
    Yes.

    So this will be a front end for Brad compiler, but can run on various host platforms?
    Yes, yes. Presumably it could also use HomeSpun as a back end compiler.

  4. #4

    Default Re: PZST - a Propeller IDE in development

    Andrey Demenev,

    Audacious project.

    You might want to look into the new QML system for developing GUI's in Qt.

    QML has a declarative language to describe user interface widgets and layouts mixed with java script. The result is that you can change the look and feel of an app without writing any C++.

    So the app logic is in C++, the look is in QML.

    At least it makes it easier to get away from the traditional looking tabs, buttons, menus and other widgets.

    http://qt.nokia.com/products/qt-quick/

  5. #5

    Default Re: PZST - a Propeller IDE in development

    prof_braino, Heater has answered your questions for me I just have to add that I do not think supporting mobile devices is worth the trouble (I mean small screen devices - iPad would be a good target maybe, but it is not supported by Qt right now, AFAIK). I am going to make a tool that works good for me in first turn, and cross-platform operation if provided automatically by Qt, except some platform-specific hardware-related code (serial port).

    Heater, I would not go for QML for now - I need a tool to code for Propller now, and learning another tool would just take my time. QML looks cool, but not worth learning it for this project
    Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

  6. #6
    Cluso99's Avatar
    Location
    Sydney/Brisbane Australia or 'sailing on the high seas'
    Posts
    7,712

    Default Re: PZST - a Propeller IDE in development

    Ooh this sounds great

  7. #7

    Default Re: PZST - a Propeller IDE in development

    Quote Originally Posted by Cluso99 View Post
    Ooh this sounds great
    I am in agreement as well and keep up the great work you are doing.

    I have one question for you. Are going to put the simulator option in your IDE? I think it will be helpful to test code before it is downloaded to the propeller chip and saves someone alot time.
    William Stefan
    The Basic Stamp Nut with some Spin

  8. #8

    Default Re: PZST - a Propeller IDE in development

    Andrey,

    Sorry for jumping so quickly here, I was on a roll with Qt from a discussion on another thread.

    No, don't worry about mobile devices, or any other platform but your own for now. Anyone who is interested in perfecting things for other platforms can roll their sleeves up and contribute.

    The iPad is out of bounds any way. Steve won't allow it. There is some restriction in the app store about not being allowed to use any languages than those sanctioned by apple.

    Android is not currently supported although I believe someone is working on getting Qt working there.

    However this would be great on ARM platforms, like my Beagle Board, a complete computer a bit bigger than a credit card:http://beagleboard.org/

    Fair comment re: QML. Best not get diverted with new shiny things whilst you have your perfectly reasonable plan of action in mind. Besides I get the impression that QML has not quite stabilized yet.

    For serial ports there is a crossplatform support library for Qt: http://qextserialport.sourceforge.net/

    Even a ready made QT serial port terminal program http://qt-apps.org/content/show.php/...?content=77764

    Like Cluso I also think this is going to be great.

  9. #9

    Default Re: PZST - a Propeller IDE in development

    This sounds brilliant. I only heard about Qt yesterday, so I downloaded it and wrote a couple of short programs. First impression is that it is going to be easy to work with. The ability to set up a rich text box with auto coloring of keywords will be very handy.

    The secret with a program like Qt is that it appears to be able to work on a wide variety of platforms. That is very important for writing an IDE - almost more important than the language it is written in.

    What this also means is that many people could contribute.

    I love the color syntax highlighting.

    Drop down autocomplete implies some sort of pre-processing looking for all the spin methods and that would be a very useful addition.

    Is your project going to be open source?
    Said Hamlet to Ophelia, I'll draw a sketch of thee, What kind of pencil shall I use? 2B or not 2B? - Spike Milligan

  10. #10

    Default Re: PZST - a Propeller IDE in development

    The way I have been evangelising for Qt recently people might suspect I work for Nokia. I do not, and have no connection to Qt apart from being a happy user.
    I did work for Nokia back in 98 prior to their purchasing the Qt company TrolTech, but only as a contract code monkey on a micro-wave base station development. At the time the KDE desktop using Qt was launched and I was immediately enamoured with it.

  11. #11

    Default Re: PZST - a Propeller IDE in development

    It is a very nice find, heater.

    I'm not a C programmer, but I have a vague idea that C++ falls somewhere between C89 and C#. If so then I think C89 ought to work on this in console mode? So one could write some console type programs to do specific functions and run them from the main program.

    I'm thinking for instance that I have some xmodem code for file transfers. I could write that as a console program using C89 syntax and maybe Andrey could add it as a drop down menu item?

    I have been making some very interesting progress with BCX translating Basic to C. When I get home I'd like to see how Qt goes with some of the output from BCX. If that works, it could not only bring in Basic programmers, but could also be the start of running big basic programs that have been translated to Catalina. So this could fairly quickly lead to an IDE that can program in Spin, Pasm, Basic and C. Your choice.

    Qt was very easy to download - it took 10mins on my work computer though my home computer might be a little slower (my download speed has been reduced as I went over the limit - my children have been downloading World of Warcraft patches again...)
    Said Hamlet to Ophelia, I'll draw a sketch of thee, What kind of pencil shall I use? 2B or not 2B? - Spike Milligan

  12. #12

    Default Re: PZST - a Propeller IDE in development

    Dr_A,

    The idea of C++ is to add classes and object oriented programming to C. C++ is designed to be backward compatible with C so C programs written to some recent standards will compile with a C++ compiler and integrate/link easily with C++ code.

    C# is another kettle of fish, unlike C/C++ is does not compile to real machine instructions but to byte codes for running on a virtual machine like Java.

    You seem to be considering two different things there:

    1) Writing utility programs in C as stand alone console apps that can be invoked from something like PZST which is C++. This is no problem of course and the utility app could as well be written in any other language.

    2) Writing code in C that can be linked into something like PZST. This should also be no problem provided a recent C dialect has been used.
    One might want to build such utility code as a library for inclusion into the C++.
    One might want to provide a C++ "wrapper" around the C code so that it can be used as a class.

    So this could fairly quickly lead to an IDE that can program in Spin, Pasm, Basic and C.
    Ha ...Think of, or create, a great new tool and immediately your eager users want a dozen new features that you never had in mind in the first place

    Perhaps we should let Andrey at let get Qt Creator open first

  13. #13

    Default Re: PZST - a Propeller IDE in development

    Andrey,

    By the way, what is "PZST", is it a Russian acronym for "Propeller Integrated Development Environment" or some such?

  14. #14

    Default Re: PZST - a Propeller IDE in development

    Ough, I did not expect this level of interest

    Trying to answer in order:

    Quote Originally Posted by bsnut View Post
    Are going to put the simulator option in your IDE?
    As I stated in first post, I have such idea, but it's not top priority

    Quote Originally Posted by Heater. View Post
    For serial ports there is a crossplatform support library for Qt: http://qextserialport.sourceforge.net/
    I am aware of it. Last time I checked, it did not support asynchronous read/write

    Quote Originally Posted by Dr_Acula View Post
    The ability to set up a rich text box with auto coloring of keywords will be very handy.
    I do not use Qt's built-in rich text editor. Great amount of work required to implement code folding, and tabstops specified in pixels, not characters - enough drawbacks making it not very good for source code editing. I use QScintilla, a Qt wrapper for Scintilla code editor. Scintilla was designed specially for code editing, implements code folding, and syntax highlighting framework is pretty easy to use.[Shameless plug: I am not new to this code highlighting business, I made Text_Highlighter PHP package that lives in PEAR repository, although I do not maintain it anymore - passed it to Stoyan Stefanov, currently a Yahoo! employee. By the way, I also sent a syntax module for SPIN to Stoyan, but seems he did not find time to release it in PEAR. And I made SPIN syntax definition for vim, of course ]

    Quote Originally Posted by Dr_Acula View Post
    Drop down autocomplete implies some sort of pre-processing looking for all the spin methods and that would be a very useful addition.
    I have that partially done - see the sreenshot - there is a dropdown to quickly jump to method definitions in current file

    Quote Originally Posted by Dr_Acula View Post
    Is your project going to be open source?
    Yes. I will be publishing the sources as soon as I clean up the code. I like to keep the code I share with others as clean as possible


    Quote Originally Posted by Dr_Acula View Post
    I have been making some very interesting progress with BCX translating Basic to C. When I get home I'd like to see how Qt goes with some of the output from BCX. If that works, it could not only bring in Basic programmers, but could also be the start of running big basic programs that have been translated to Catalina. So this could fairly quickly lead to an IDE that can program in Spin, Pasm, Basic and C. Your choice.
    My first goal is to make working SPIN environment. But having support for other languages sounds very attractive. So, first things first, and then we'll see

    Quote Originally Posted by Heater. View Post
    Ha ...Think of, or create, a great new tool and immediately your eager users want a dozen new features that you never had in mind in the first place
    Well, that's not bad - I indeed think of it as source of great ideas I would never generate myself

    Quote Originally Posted by Heater. View Post
    By the way, what is "PZST", is it a Russian acronym for "Propeller Integrated Development Environment" or some such?
    PZST stands for "Propeller Zone Spin Tool", where "Propeller Zone" is the name of website I am setting up to attract attention of Russian-speaking to the Prop
    Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

  15. #15

    Default Re: PZST - a Propeller IDE in development

    Quote Originally Posted by Andrey Demenev View Post
    I am going to make a tool that works good for me in first turn, and cross-platform operation if
    So is your target host a generic PC to start with, or are going to further to specify a paticular flavor of say linux as your prefered? More detail as to you preference is better at this time.

    I have a large amount of discarded PC for such projects, what would be the minimum requirements for host hardware?

  16. #16

    Default Re: PZST - a Propeller IDE in development

    Andrey,

    Ough, I did not expect this level of interest
    Oh we are interested, you have your work cut out now

    And I made SPIN syntax definition for vim, of course.
    For just that we, or at least I as the only vim user around here, owe you a huge debt of gratitude.

    Awesome effort.

  17. #17

    Default Re: PZST - a Propeller IDE in development

    Quote Originally Posted by prof_braino View Post
    I have a large amount of discarded PC for such projects, what would be the minimum requirements for host hardware?
    I cannot give a precise expectation in terms of processor speed, RAM etc - I only can tell about my own expierence. I have been running my Qt applications on a 1GHz computers (don't remember what flavor of x86) with 512 MB RAM, under both Win XP and Debian without any hassles. Also, PZST runs on WinXP in a virtual machine just fine (512 MB RAM in virtual machine, on Debian host with 2GB RAM and 2 GHz Celeron).
    Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

  18. #18

    Default Re: PZST - a Propeller IDE in development

    You mentioned regex/search and replace.

    I suppose a dialog box would work for many, but honestly that gets in my way. Having an alternative little text box (enabled as an option) that would accept VI style search/replace would be wonderful. Search starts with ? for up, / for down and just enter to start the search. For replace as well as read/write/delete SED commands are just fine.

    Another item that is always useful is a "listed search" such as being able to use a "grep" command.

    Brad's bstc can produce program list files which is very valuable for debug. Unfortunately, you can't search for stuff in BST's list window.

    Being able to search for things in a serial terminal can also be very valuable.

    Good luck with your program.
    --Steve

  19. #19

    Default Re: PZST - a Propeller IDE in development

    Andrey, it looks like you are the expert on color highlighting.

    Ok, I am going to do some work building some self contained command line modules. Then we can work together on code and you can add these modules later, either copy/paste, or by shelling out to those modules.

    @prof_braino
    So is your target host a generic PC to start with, or are going to further to specify a paticular flavor of say linux as your prefered? More detail as to you preference is better at this time.
    Qt seems to work on lots of platforms, so it should not matter what sort of computer you have. Programs written in Qt include Skype and Google Earth. I always wondered how they got those programs to work on various platforms - Apple/Windows/Linux

    I'm downloading Qt on my home computer at the moment. http://qt.nokia.com/downloads/

    Back now... yes, that does take 45 mins or so to download and install.

    Compilation is a second or so. Sweet.

    I love the autocomplete. Type
    Code:
    #include <
    and as soon as you type the <, a dropdown menu appears with all the options.

    How cool would it be for the same thing to happen in a Spin editor?!
    Last edited by Dr_Acula; 02-07-2011 at 11:48 PM.
    Said Hamlet to Ophelia, I'll draw a sketch of thee, What kind of pencil shall I use? 2B or not 2B? - Spike Milligan

  20. #20

    Default Re: PZST - a Propeller IDE in development

    I'm a software quality and process guy. I like to see Testable Requirement (high level, user functional requirements, supported by testable design requirements, supported by testable implementation requirements), and peer reviews. [So planning is 90% of the work and coding is 10% of the work; instead of coding is 90% of the work and bug fixes are the other 90% or the work].

    But some folks feel that this is unnecessary extra work (though in a buisness environment that same people later complain when the project is 150% over budget and the schedule has been pushed back to double the original plan). Personally, I find it too expensive and time consuming NOT to engage process and review. Clearly you take on this project for the fun of writing the code. Would you be interested in an orginazied process of input and review? We have a pool of qualified experts to draw on, perhaps the exercise would be interesting.

+ Reply to Thread

Similar Threads

  1. Propeller development HDL
    By Lord Steve in forum Propeller 1 Multicore
    Replies: 5
    Last Post: 04-21-2010, 08:23 AM
  2. Propeller development
    By Enrique in forum Propeller 1 Multicore
    Replies: 2
    Last Post: 03-10-2010, 04:14 PM
  3. Java development on the Propeller
    By Daniel B. in forum Propeller 1 Multicore
    Replies: 18
    Last Post: 09-09-2008, 03:07 AM
  4. ETA on propeller development board
    By medelman in forum Propeller 1 Multicore
    Replies: 30
    Last Post: 08-20-2008, 04:02 AM
  5. Propeller Development using a Mac
    By Chris B in forum Propeller 1 Multicore
    Replies: 9
    Last Post: 11-08-2006, 05:49 AM

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts