Shop OBEX P1 Docs P2 Docs Learn Events
I really like the new PropellerIDE! - Page 4 — Parallax Forums

I really like the new PropellerIDE!

124»

Comments

  • ErNaErNa Posts: 1,752
    edited 2014-12-11 11:33
    +1 We all know, mainstream is not necessarily quality. ;-)
  • Heater.Heater. Posts: 21,230
    edited 2014-12-11 11:40
    Phil.

    Here is the other thing:

    1) Whilst having feature parity with the old Prop Tool is desirable I see no reason to carry miss-features forward into the modern world. They are a shackle that inconveniences everyone and wastes development effort that could be better used elsewhere.

    2) Using UTF-16 in the modern world is just dumb. Everyone realized the problems with that a long time ago and UTF-8 is the result. Clearly a Prop Tool replacement should use UTF-8

    (Aside: Being an older guy I think moving away from ASCII is a big mistake :) )

    3) Putting schematics into source code as ASCII art is a bad idea. Changing from ASCII to UTF16 is even worse. Having to use a particular font to make that work is even worse. This has to go for the sake of every ones sanity.

    4) Having my code editing experience be dependent on a custom font is just silly.

    5) Creating an editor/IDE that is required to support all that cruft is a pain. For example a WEB IDE like msrobots Editor17

    Somebody mentioned adding the ability to include schematics as images in the source code. Nice idea but now the IDE has to understand a ton of image formats, PNG, GIF, JPG, etc or even the source code of those images, svg, scm, whatever. Binary images are bad news for source code repositories and now the IDE has to grow to the complexity of a web browser!

    Now, I do appreciate Chip's integrated vision from silicon to programming language to IDE. I'm sure that vision can be maintained even without desperately clinging onto old fashioned ways.

    As an example, the Parallax font may well be in the Propeller but it is not in the P2. In the P2 future why would we still be desperately clinging to that font?
  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2014-12-11 12:14
    I think the vision can be maintained just as well with UTF-8 as with UTF-16. That's just an implementation detail that does not affect the look, feel, or performance of the IDE. I assume UTF-16 was chosen originally since all characters are the same "width" and, therefore, easier to scan and parse.
    heater wrote:
    Somebody mentioned adding the ability to include schematics as images in the source code. Nice idea but now the IDE has to understand a ton of image formats, PNG, GIF, JPG, etc or even the source code of those images, svg, scm, whatever. Binary images are bad news for source code repositories and now the IDE has to grow to the complexity of a web browser!

    I've already mooted that requirement with my AutoDoc program. The IDE does not have to be a web browser for the source code to have useful, minimally-invasive markup that the AutoDoc program converts to "pretty" HTML for display in the user's default browser. I have not yet implemented image file display beyond the Parallax font drawings, but including images in embedded base64 comments is definitely not a stretch. That way the code and its documentation are completely self-contained in a single file without placing any additional burdens on the IDE.

    -Phil
  • jmgjmg Posts: 15,173
    edited 2014-12-11 15:01
    Heater. wrote: »
    3) Putting schematics into source code as ASCII art is a bad idea. Changing from ASCII to UTF16 is even worse. Having to use a particular font to make that work is even worse. This has to go for the sake of every ones sanity.

    I see you did qualify the initial sweeping 'bad idea' claim - I agree font-based Schematics are not a good way forward, but here we use a lot of Courier/fixed font ASCII Art schematics, and they are very useful to have.
    The attraction is they simply sit in the source, and are instantly viewable in any editor.

    Sometimes we enter these manually, but mostly I use AAcircuit CAD tool, and paste via the clipboard.
    Likewise, Timing diagrams in ASCII are very common in our source. (Also Courier/fixed font based).
  • Heater.Heater. Posts: 21,230
    edited 2014-12-11 15:48
    Phil.

    Yes, I agree. It does not matter what the compiler/editors internal representation of strings is. JavaScript for example uses UCS-2 or UTF-16 internally.

    As long as output is UTF-8 we are good to go. Of course it should be able to read the other unicode formats.

    Be aware though that UTF-16 does not have fixed width character sizes. UTF-16 is a variable length encoding that can represent 1,112,064 possible characters in Unicode with one or two 16 bit code units.

    UCS-2 is the old 16 bit format that is fixed length and can only represent inicode code points 0 to 0xffff.

    This whole unicode mess gets exponentially more complex the more you look at it.



    I fundamentally disagree with the idea of binary blobs for drawings or whatever in source code files. "Source code" should be what is says. It should be human readable it should be diff'able for tools like source code repositories, git, etc.

    One could imagine that schematics and other drawings do actually have a source representation, could be svg, xml. Or what about EDIF http://en.wikipedia.org/wiki/EDIF. In that way the schematic is in user editable form as source code should be.

    Hmmm...looks like original ASCII art is what I would prefer, given the criteria of display anywhere and user editability. No special fonts required.


    Ultimately if what we are creating has any worth and can be reused by others it should be in a source management systems repo. Any supporting documentation would be in there as well. The whole thing would be a self contained. Think repositories not individual source files. git will do nicely.
  • KyeKye Posts: 2,200
    edited 2014-12-11 20:27
    Omnia Creator can open propeller utf-16 files and display custom parallax symbols more of less correctly as long as the parallax font is selected. There is no support for entering the glyphs but you can at least read files that have them.

    attachment.php?attachmentid=112250&stc=1&d=1418358363
    846 x 489 - 31K
  • ajwardajward Posts: 1,130
    edited 2014-12-12 01:20
    A quick question... I think I read above that the SimpleIDE can be used for C and Spin. Is that correct? Not a big thing... just curious, cuz I don't see any way to program Spin.

    Thanks for any enlightenment!

    @
  • RsadeikaRsadeika Posts: 3,837
    edited 2014-12-12 10:29
    Yes, SimpleIDE can do Spin, it is a little inconvenient, but it can be done. First, you have to get out of Simple mode, and get into Project mode, then you can specify the compiler that you want to use. I have a feeling that Parallax might be phasing out the Spin part of SimpleIDE.

    Now, the problem with that, for me of course, is, now you have to deal with two IDE programs. Now, if Bean comes up with an IDE for PropBasic, then we only have three IDE programs to deal with, and so on.

    To bad somebody can't come up with a nice solution for adding in a sensible PropGCC to the PropellerIDE, just my two cents.

    Ray
  • ajwardajward Posts: 1,130
    edited 2014-12-12 21:57
    Rsadeika wrote: »
    Yes, SimpleIDE can do Spin, it is a little inconvenient, but it can be done. First, you have to get out of Simple mode, and get into Project mode, then you can specify the compiler that you want to use. I have a feeling that Parallax might be phasing out the Spin part of SimpleIDE.

    Now, the problem with that, for me of course, is, now you have to deal with two IDE programs. Now, if Bean comes up with an IDE for PropBasic, then we only have three IDE programs to deal with, and so on.

    To bad somebody can't come up with a nice solution for adding in a sensible PropGCC to the PropellerIDE, just my two cents.

    Ray

    Ah... found it. Thank you, Sir!

    @
  • RaymanRayman Posts: 14,652
    edited 2014-12-14 14:14
    Just installed on my Mac and it seems to work.

    I'm trying to copy some text from the terminal window... Is there any way to do that?
  • dgatelydgately Posts: 1,630
    edited 2014-12-14 23:05
    Rayman wrote: »
    Just installed on my Mac and it seems to work.

    I'm trying to copy some text from the terminal window... Is there any way to do that?

    Yeah, no menu items for Copy/Paste. Just use Command-C for Copy and Command-V for paste. Those menu items should be added to the project...


    dgately
  • RaymanRayman Posts: 14,652
    edited 2014-12-15 08:56
    I tried that, but it doesn't work for me... Maybe that just works in the IDE? I was trying to copy IR codes out of the Terminal window...
  • dgatelydgately Posts: 1,630
    edited 2014-12-15 11:38
    Rayman wrote: »
    I was trying to copy IR codes out of the Terminal window...

    Ah, you mean PropellerIDE's Terminal window, right? You should write this up as an issue (actually 2 issues, the missing menu items & lack of Copy/Paste in the Terminal window) at:

    https://lamestation.atlassian.net/browse/IDE-61?jql=project%20%3D%20IDE



    dgately
  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2014-12-15 12:03
    And while you're at it, it would be nice if a Ctrl-/Cmd-A could be used to do a "select all." This is something that PST is missing, too.

    -Phil
  • Bill HenningBill Henning Posts: 6,445
    edited 2014-12-31 17:17
    I wanted to try to compile PropellerIDE on a small ARM sbc... no dice.

    I downloaded the zip, and while there was a make file, it was not for Linux :(
  • Heater.Heater. Posts: 21,230
    edited 2014-12-31 17:24
    Bill,

    Shamefully I have not tried compiling PropellerIDE on an ARM. Not even a Raspi.

    Generally the deal is you need to have Qt available on the platform and the run "qmake" which will generate the required Makefile.

    Then you can run "make"
  • Heater.Heater. Posts: 21,230
    edited 2014-12-31 18:01
    Bill,

    OK, I take all that back. Seems the build instructions at https://github.com/parallaxinc/PropellerIDE are totally hopeless. Starting from the idea of installing Qt5 (Not in Debian), then the git clone link is wrong. After that it goes down hill....

    The build on a Raspi fails with a complaint about a missing <QStandardPaths>

    <QStandardPaths> is a Qt5 thing. Not available in Debian Wheezy or Raspian.
  • jazzedjazzed Posts: 11,803
    edited 2014-12-31 18:28
    Heater. wrote: »
    Bill,

    OK, I take all that back. Seems the build instructions at https://github.com/parallaxinc/PropellerIDE are totally hopeless. Starting from the idea of installing Qt5 (Not in Debian), then the git clone link is wrong. After that it goes down hill....

    The build on a Raspi fails with a complaint about a missing <QStandardPaths>

    <QStandardPaths> is a Qt5 thing. Not available in Debian Wheezy or Raspian.


    Try the old version on googlecode with normal qt.
    I built it before, no problem. Here's a package.

    Merry New Year.
  • jazzedjazzed Posts: 11,803
    edited 2014-12-31 18:30
    Once again!

    Thank you for posting! Your post will not be visible until a moderator has approved it for posting. You will now be taken back to the forum. If you opted to post a poll, you will now be allowed to do so.

    Try this RPi v0.19 propelleride binary.
    https://drive.google.com/file/d/0BzcfH7bdVTbtaFphaGxQVUwxMjQ/view?usp=sharing
  • Heater.Heater. Posts: 21,230
    edited 2014-12-31 18:42
    Do what ?

    That drive by google link refers to a file called "PropellerIDE-0-19.armv6l.raspberrypi-linux.tar.bz2".

    Which sounds like it might be useful.

    Is there any way I can "wget" that onto my Pi?

    I don't even see a way to down load it to this Windows machine I'm typing on.

    Edit: OK I finally hit the right icon to get a download to somewhere in this Windows laptop.

    But, that is not what I'm about, I don't want ready made binaries. I want build instructions. It's a Qt app. If we can't build Qt apps on all supported platforms there is something very wrong.
  • jazzedjazzed Posts: 11,803
    edited 2014-12-31 19:07
    Heater. wrote: »
    But, that is not what I'm about, I don't want ready made binaries. I want build instructions. It's a Qt app. If we can't build Qt apps on all supported platforms there is something very wrong.

    LOL. Take it or leave it.

    If the old repo can be built and run (the binary is proof), surely the new one can be built too.
  • Heater.Heater. Posts: 21,230
    edited 2014-12-31 19:29
    True enough.

    You know me. Now I'm going to have to hammer on the damn thing until it does build on my Pi.

    Like SimpleIDE before it :)
  • GadgetoidGadgetoid Posts: 47
    edited 2015-01-16 01:18
    @Heater, @Bill I have successfully compiled the latest Propeller IDE ( from Brett's own repository ) on the Raspberry Pi, against Qt5 libs from a backports repository. There are a few steps, but it absolutely definitely works!

    These instructions are for Raspbian.

    First you'll need Qt5, so edit /etc/apt/sources.list and add:
    deb http://twolife.be/raspbian/ wheezy main backports
    deb-src http://twolife.be/raspbian/ wheezy main backports
    


    Then get Qt5 and esoteric requirements installed:
    sudo apt-get update
    sudo apt-get install qt5-default qt5-qmake libegl1-mesa libgles2-mesa
    


    This will take some time, and install a plethora of packages.

    Next, you need to tweak the makefile, if it's not already up to scratch. Open it up and make sure that underneath all the CPU := sections you force the CPU to armhf, like so:
    CPU := armhf
    


    Finally:
    make checkout
    make deb
    


    And eat lunch!

    When you return from lunch, there should be a deb file in a staging folder. Just:
    sudo dpkg -i propelleride-0.0.0-phony-armhf.deb
    


    If it's got "arm6l" in the name instead, it likely wont install and you'll need to double-check your edits to the makefile.

    When you first fire up Propeller IDE, do it from LXTerminal. Start up the Terminal and run: propelleride

    This will let you see any output and figure out what dependencies might still be missing. If you find any, let me know.

    A common issue is silent dependency failures behind xcb. You can figure out what's missing by running: ldd /usr/lib/arm-linux-gnueabihf/qt5/plugins/platforms/libqxcb.so

    Good luck!
  • Heater.Heater. Posts: 21,230
    edited 2015-01-16 03:14
    Well done Gadgetoid, that's great.

    Sadly I have no way to play with it today, my big flat Samsung monitor has exploded. Well, started to get very hot in one corner then expired. It was the only screen I could connect to a Pi around here.

    Do you happen to know: Does the Qt5 installation form twolife supports OpenGl/GLES? Does it support running apps directly in the frame buffer, no X Window system?
  • Bill HenningBill Henning Posts: 6,445
    edited 2015-01-17 07:19
    Gadgetoid - great writeup!

    I will try it this weekend, and if it works, I'll see if a variation will work on SimpleIDE.
  • GadgetoidGadgetoid Posts: 47
    edited 2015-01-17 14:02
    Brett's informed me that there's a:
    make rpi
    

    Now, since explicitly detecting the Raspberry Pi's armhf architecture was problematic. I haven't had time to try it myself yet, but it could well work. Note, it might be in his fork only at the moment, but I highly recommend pulling from there anyway- he's gutting PropellerIDE and doing some really awesome things with it!

    @Heater I'm not sure about running directly in the frame buffer, but the PropellerIDE wont start without libgles2-mesa, which makes me assume that it's at least somewhat accelerated. I'm not huge on Qt though, so I've no idea!

    @Bill - thank you. I'm really pushing for good solid Raspberry Pi support for a product we're ( Pimoroni ) launching shortly, Propeller HAT. It's a Propeller, on a HAT in simple terms. With a breadboard. I'm pitching it as the Pi's answer to the Beaglebone PRU... except better, obviously :D Hopefully your customers will see the benefits of this push too! The work Brett is doing on PropellerIDE is ace, and he's gradually improving performance alongside a dozen other things, it already blows the Arduino IDE out of the water on the Pi. ( and everywhere else really )
  • rogersydrogersyd Posts: 223
    edited 2015-01-22 08:07
    Whoo hoo! Running fine on Linux Mint 17.1. Thanks for your efforts!

    one discoverd bug (sorry, im late to this thread, it may have alredy been reported):
    If i try to open open a file from the object list of a project by clicking on the file name, the file does not open. instead a new blank tab is opened. Sometimes a new tab will open, but the entire body of code will be one long line of text... see screen shot.

    Untitled.jpg
    706 x 115 - 13K
  • Brett WeirBrett Weir Posts: 288
    edited 2015-01-22 19:01
    rogersyd wrote: »
    Whoo hoo! Running fine on Linux Mint 17.1. Thanks for your efforts!

    one discoverd bug (sorry, im late to this thread, it may have alredy been reported):
    If i try to open open a file from the object list of a project by clicking on the file name, the file does not open. instead a new blank tab is opened. Sometimes a new tab will open, but the entire body of code will be one long line of text... see screen shot.

    Untitled.jpg

    Hi Rogersysd, this is actually a file encoding problem, specifically with opening Windows text files on Linux, as the line endings are different. Would you call
    file
    
    on the text file you're opening and paste the output here?

    It would probably be a good idea to auto-convert line endings when files are first opened, but it would take some work to get a clean implementation.

    To resolve your current problem, my first line of attack would be to install
    dos2unix
    
    (it may already be installed) and run it on your file. Some version control systems (like Git) also automatically check out your files with the correct line endings, so if you find yourself moving between platforms a lot, that would help a lot.
Sign In or Register to comment.