Shop OBEX P1 Docs P2 Docs Learn Events
SimpleIDE issues, issues... unusable. — Parallax Forums

SimpleIDE issues, issues... unusable.

Heater.Heater. Posts: 21,230
edited 2016-08-05 14:14 in Propeller 1
I just installed SimpleIDE 1.0.2 RC 2 onto my new Surface Pro 4. This has just wasted me about 4 hours. The thing is totally borked. Here are a few issues I have:

1) Icons in tool bar far too small. Almost unreadable.

2) Project Options/Compiler Options dialogue is unreadable and unusable.

3) The Project Manage pane cannot be resized horizontally.

4) The Project Options/Compiler Options dialogues cannot be resized vertically. This and the above may make it readable.

5) Why does openning the terminal cause a rebuild and download?

6) What is the "generic" board type? There is no generic.cfg boad definition file.

7) clkset() does not work. No matter what I put the board definition file seems to override it.

8 ) Where is the Finnish language translation that was provided by Matti Korvenma ages ago?

9) The terminal options dialogue is unreadable. Text does not fit in buttons or the dialog box. Resizing the box does
not reflow the elements.

10) There are no definitions of PLL1X, XTAL1, etc. Shouldn't they be in propeller.h ?

11) prinf() does not work. Using that instead of print() in causes the output to come in bursts with some strange timing.



Edit: Updated the title. SimpleIDE is actually unusable. Because of these new issues:

12) The "Edit" and "Tools" no longer appear when clicking them in the menu bar. "File", "Project", "Program", "Help" still work though. Takes a restart to get them working again.

13) Right clicking highlighted source does not bring up a menu for copy and so on. Also takes a restart to get that working again.

Edit:

14) What is the print() function for in the welcome example? It bloats the code to 13356 bytes from the 6160 bytes when using prinf(). More than double!


See screen shot:

Edit:

15) No response to mouse clicks for any drop downs in "Project Options". Cant change anything.

16) OK, now none of the menu bar selections wok. Like issue 12) but ALL of them!

17) Tool Tips don't show for any of the icons in the tool bar.


Screenshot%20%2822%29.png




1920 x 1080 - 583K
«1

Comments

  • When we were first working on PropGCC, Parallax had the goal that a single .elf file should be able to run on multiple boards without having to recompile or relink. This led to the "board configuration" file mechanism where important parameters like clock settings were patched into the executable during loading. You're right that the PLL1X, etc. constants should be in propeller.h. The only reason I can think of that they were left out is that we set those parameters automatically so the constants usually aren't needed. We should add them. Also, the "generic" board type might refer to the defaults that are built into propeller-load that are used if no -b option appears on the command line. That is probably why you don't see a generic.cfg file.
  • Heater. wrote: »
    11) prinf() does not work. Using that instead of print() in causes the output to come in bursts with some strange timing.
    The printf function buffers output and sends it to the serial port on \n. I think that is the default behavior of most Unix-like systems. Try adding a \n to your string and I think you'll find that the burstyness goes away. You can also call fflush(stdout) after each call to printf if you don't want to add the \n.
  • Heater.Heater. Posts: 21,230
    David,

    Having had years to think about this I have come to a conclusion:

    Patching the compiled program for different boards with a loader config is a great idea if we are distributing programs as binary only. Which we almost never do.

    It makes no sense at all in SimpleIDE because there is no way to load the Propeller without first rebuilding the program. Not with "Load EEPROM and run", "Load RAM and run" or "Run with erminal".

    Ergo the clock frequency and other hardware setup should be in my projects source files, either programaticaly in my C source or in the .side project file. Then I could get a working system in and out of git more easily.

    If I have to create a special board config, like for this home made board with a 6MHz XTAL, then it should be in with all the other source I am using in my project.

    Anyway, why does my clkset() not work? I can't see what's up with my bit positions and such. I was hoping that would override the .cfg file.
  • Heater.Heater. Posts: 21,230
    David,

    Ah yes, \n.

    Sorry, I have been brain damaged by using Javascript too much. I can't C anymore.

    Works a treat.
  • Heater.Heater. Posts: 21,230
    To more issues added, 12) and 13).

    Thread title updated to "unusable"
  • Heater.Heater. Posts: 21,230
    Updated with issue 14)
  • Heater.Heater. Posts: 21,230
    Updated with issue 15)
  • Heater. wrote: »
    14) What is the print() function for in the welcome example? It bloats the code to 13356 bytes from the 6160 bytes when using printf(). More than double!
    print() is almost always smaller than printf except in this one case. GCC is smart enough to replace a call to printf that has no formatting directives to a call to puts. That is why this simple case is smaller with printf.

  • I'm not sure why clkset() should fail. The variable patching done by propeller-load just changes the values in the start of the binary image that are used by the Spin startup code. Whatever you pass to clkset() should override those values. BTW, here are the values I'm using in propeller-load for those constants. You're right that they should be put in propeller.h. I'll do that although you won't see the result in SimpleIDE until Parallax updates the version of propgcc that it uses.
    #define RCFAST      0x00
    #define RCSLOW      0x01
    #define XINPUT      0x22
    #define XTAL1       0x2a
    #define XTAL2       0x32
    #define XTAL3       0x3a
    #define PLL1X       0x41
    #define PLL2X       0x42
    #define PLL4X       0x43
    #define PLL8X       0x44
    #define PLL16X      0x45
    
  • Heater.Heater. Posts: 21,230
    Thanks David, those definitions work. I have to check mine again.

    Updated top post with new issue.
  • Heater.Heater. Posts: 21,230
    This might be a silly question but does anybody use SimpleIDE? Seems like it's never been run on Windows 10 at least. Nothing works!

    I don't recall having these issues back in my Linux days.

    Is this a Windows thing? A Win 10 thing? A new SimpleIDE version thing?

    Admittedly some of my issues above are my own silly fault.
  • FYI, there is a new release of SimpleIDE coming soon that uses proploader instead of propeller-load. It doesn't do any patching of binary files before loading them and we've provided macros you can put in your code to set the clock parameters statically at compile time. There are however still .cfg files. They are needed for the two-stage loader and for writing files to an SD card.
  • Heater.Heater. Posts: 21,230
    Updated with new issue 17)
  • How many of these problems are specific to the Surface Pro 4? Does it run a non-standard version if Windows? I was kind of thinking of buying one but your experience makes me doubt that is a good idea. As far as I know, no one is having these problems on other Windows platforms.
  • Heater asked:
    "This might be a silly question but does anybody use SimpleIDE? Seems like it's never been run on Windows 10 at least. Nothing works!"

    I run SimpleIDE 1.0.2 RC 2 on my High End Gaming system Windows 10 Pro desktop without any issues. I cannot resize the left pane windows but then I don't need to. I upgraded from Windows 7 Pro when Win 10 became available, process took about 20 minutes. Has been very stable ever since.
  • Hal Albach wrote: »
    Heater asked:
    "This might be a silly question but does anybody use SimpleIDE? Seems like it's never been run on Windows 10 at least. Nothing works!"

    I run SimpleIDE 1.0.2 RC 2 on my High End Gaming system Windows 10 Pro desktop without any issues. I cannot resize the left pane windows but then I don't need to. I upgraded from Windows 7 Pro when Win 10 became available, process took about 20 minutes. Has been very stable ever since.
    I too have run it on a Windows 10 machine that was upgraded from Windows 7 without any problems. I'm wondering if this is a Surface Pro 4 problem.

  • Heater. wrote: »
    This might be a silly question but does anybody use SimpleIDE? Seems like it's never been run on Windows 10 at least. Nothing works!

    I don't recall having these issues back in my Linux days.

    Is this a Windows thing? A Win 10 thing? A new SimpleIDE version thing?

    Admittedly some of my issues above are my own silly fault.

    I use SimpleIDE on my Windows XP and version 7 desktops and 7 inch netbook. No problem.

    However when I run it on my RCA windows 10 convertible (10.1 inch tablet/'laptop') all of the problems you mentioned about icon size and readability happen. I've tried switching into and out of tablet mode, but it doesn't fix the problem. I am new to Windows 10 (and based on early experience with the convertible, I have no interest in "upgrading" my other computers.) Possibly some of my problems are because I can't find win 10 options in their hard to find locations. I just wish MS would stop changing UI with every new version.

    Tom

  • Heater.Heater. Posts: 21,230
    edited 2016-08-05 15:40
    It's complicated...

    The Surface Pro 4 has a beautiful screen. It has a resolution of 2736x1824.

    And there in lies our problems. SimpleIDE is not the first program I have had to use that is all screwed up at this high resolution. It's not just that things end up really small but some how they are getting scaled badly, elements totally misplaced, fonts unreadable etc.

    It gets worse. Just now I have the Surface hooked up to a 24 inch monitor with a resolution of 1920 x 1080.

    Mostly this works fine. High res stuff on the Surface screen, the thing I'm working on on the big screen. Having Windows on the Surface and Debian with KDE on the big screen is just great.

    Things like Chrome, Firefox, LTSpice, PropellerIDE, all kind of others have worked well on the Surface or with this dual screen set up.

    Some however so not. One essential tool at work is a mess, really unusable, unless I drop the resolution way down. And then that does not "take" until I have rebooted the Surface!

    SimpleIDE is a bit different. It is now displaying very well when I set the resolution to 1920 x 1080.
    But now I have a low res on the Surface screen and a lot of wasted pixels at the top and bottom as the aspect ratio is all wrong for that screen.

    Tweaking the resolutions is just a case of getting into settings, selecting "system", then "display", then finding the "Advanced display settings". The little text link at the bottom of the page. Then selecting a new resolution. Then rebooting the machine because in my experience it does not take effect immediately.

    Almost as easy as getting Linux working ten years ago!

    How is it that PropellerIDE manages to display just fine on the Surface without all the above hassle? Everything is a nice size, positioned nicely, resizable panes are resizable. Looks great.



  • potatoheadpotatohead Posts: 10,261
    edited 2016-08-05 15:54
    Heater, do you have a 4k display?

    Surface Pro, Dell, Lenovo, and Apple computers running Windows with 4k displays all have a large number of UI issues.

    Many of your items are likely display and Windows specific.

    I believe Win 7 and above will drive a 4k display. Application response testing has not generally been done. OS scaling, etc... for widgets and controls is spotty.

    Best workaround is to run HDTV 1920x1080 and see if most of those resolve.

    Connect your surface to an external display, make it primary and run again to see.

    I don't have a Surface to dodge with right this moment, but you may find HDTV resolution can work full screen on the integrated display. If so, using it that way may be a viable workaround.

    Tons of stuff is just crappy at 4k. Sublime rocks though. Last time I used Cisco, I just made the little build script Sublime needed and ran with it and command line gcc. :D

    FWIW, the development guys told me access to the 4k displays is spotty, many people still opt for HDTV resolution, and making things work across win 7 through 10 is basically a UI redo to include a 4k path. It's not surprising to see some of this with SimpleIDE. IMHO, there is a non trivial bit of work needed.

    Many are just living with it right now. The $$$, as in 5 figures, CAD software I have supported for years is abysmal. Devs tell me lots of compromises in play. They are just now working 4k into their UI ahead of more basic OS support from Microsoft, who has a big problem in so many legacy UI and API features not updated for 4k. (Who even knows if they will?)

    2k pixels has been baked in for a while now, looks great, which is why I suggested HDTV resolution test.


    Linux, running an X Window System variant has a ton of buggery over 2k as well. A lot of things were written at 2k, with nobody expecting 4k "any time soon" SGI used multiple root windows to manage big displays back in the day, with no single display pipe exceeding 2k.

    Older, say MOTIF, type graphical apps will die when a window size exceeds 2k. Again, that's baked in all over the place...

    So that's some of what I know. Lots of people I work with went for the 4k devices quickly and have had a lot of trouble while application and OS software slowly catches up.

  • Heater. wrote: »
    How is it that PropellerIDE manages to display just fine on the Surface without all the above hassle? Everything is a nice size, positioned nicely, resizable panes are resizable. Looks great.
    I think Brett did a lot of rewriting of the PropellerIDE code since he took it over from jazzed. I doubt if any of that has migrated back to SimpleIDE.

  • Side note: I'm coming back to P2 land here soon. You joining us on that fancy Windows (I know, trust me) machine?
    :D
  • @Heater.

    This is the first thread I can recall where someone has reported using a "high DPI" screen with SimpleIDE. I'm sure that's where the issue lies.

    And as David Betz adds, Brett has rewritten so much of PropellerIDE that its codebase shares little with SimpleIDE still. He may have (accidently or on purpose, who knows) fixed whatever high DPI issues you're running into.

    I doubt it is specifically resolution related. I believe there is a boolean flag in OSes these days (or maybe a scalar?) to show when a monitor is high DPI. If you had a microscope, you could probably leave it set to native resolution and then figure out how to turn off that high DPI flag :)
  • potatoheadpotatohead Posts: 10,261
    edited 2016-08-05 16:09
    I see you said 2736 pixels... IMHO, being over 2047 is a problem point. MS should not have done that... try an HDTV to confirm. I just didn't see your whole post above.
  • potatoheadpotatohead Posts: 10,261
    edited 2016-08-05 16:11
    Chip created every control in Proptool, and has written about ms controls and widgets many times. The MFC is a mess at higher resolutions.

  • kwinnkwinn Posts: 8,697
    I have a Dell 13"7000 series with a 1920 x 1080 screen and find that the 1920x1080 resolution and icons set to 150% works reasonably well. Not perfect since the driver stops and restarts frequently and the blue screen of aggravation occurs occasionally, however that seems to be the best setting at this point.

    Not sure if I should be cussing Dell, Microsoft, or both, but I think both are at fault here.
  • Heater.Heater. Posts: 21,230
    Hi Spud,
    Heater, do you have a 4k display?
    No, I don't. My big old attached monitor is 1920 x 1080. The Surface screen is 2736x1824. Does that count as 4K?

    Certainly a lot of issues on my list are resolution dependent. But how come so many other "old" applications display just fine? All be it a bit small sometimes. Whilst some are totally messed up. See screen captures above.
    Best workaround is to run HDTV 1920x1080 and see if most of those resolve.
    Which is what I did. As described above. It works but then the display on the Surface itself is not optimal.
    Connect your surface to an external display, make it primary and run again to see.
    Yeah, yeah. done that. Works fine. With issues as above.

    Sublime, Atom, VS Code, LTSpice, Firefox, Chrome, BST, PropellerTool, Virtual Box, cygwin all kind of things work fine on this dual screen setup without all this faffing around.

    Except of course, it was very embarassing when I landed in San Jose and the one tool I needed to configure stuff there was totally screwed on the Surface. I could not contact the vendor to figure out the issue or put the program on another machine because I had no install key for it. Took be a long while to figure out how to get it to run nicely.

    Which is all odd because the damn thing is written using the MS .net framework!

    @David,
    I think Brett did a lot of rewriting of the PropellerIDE code since he took it over from jazzed...
    Actually, checking again I find the fonts are pretty screwed in PropellerIDE. Usable though.

    @Spud,
    You joining us on that fancy Windows (I know, trust me) machine?
    Oh yeah. I'm an MS fanboy now don't you know?

    Now where is that Quartus....


  • The Surface screen is 2736x1824. Does that count as 4K?

    Yup. Anything over 2047 does.
    I'm an MS fanboy now don't you know?
    LOL I'll just stay pragmatic. Windows doesn't annoy me often. Just use the OS, take path of least hassle, get stuff done, next.

    No win 10 for me anytime soon though. Tried a number of times to take my W520 up to Win 10. Did the clone it and try it thing. Total fail without a lot of work futzing with drivers, etc... So I'll just run 7, and wait until I get a newer machine. Might be another Mac!

  • kwinnkwinn Posts: 8,697
    potatohead wrote: »
    The Surface screen is 2736x1824. Does that count as 4K?

    Yup. Anything over 2047 does.
    I'm an MS fanboy now don't you know?
    LOL I'll just stay pragmatic. Windows doesn't annoy me often. Just use the OS, take path of least hassle, get stuff done, next.

    No win 10 for me anytime soon though. Tried a number of times to take my W520 up to Win 10. Did the clone it and try it thing. Total fail without a lot of work futzing with drivers, etc... So I'll just run 7, and wait until I get a newer machine. Might be another Mac!

    Win 10 might just be the best thing that ever happened to Mac. Several die hard Windows users I know have or are planning to switch to Mac.
  • Heater.Heater. Posts: 21,230
    Odd because the two old laptops here work with Win 10 just fine. 'er-indoors big old Fujitsu and a little bit newer Samsung from work. About the same era as the W520.

    Hmm....I just installed the qtcreator IDE. SimpleIDE and Propeller IDE are written Qt. Oddly the IDE itself looks just fine. I compiled and ran some of the demos. For sure they have issues. Mostly with font sizes.
  • Heater.Heater. Posts: 21,230
    DavidZemon,

    Resolution or DPI?

    I'm voting for resolution. I imagine having a screen of my Surface 4 resolution but the size of a house. That would get me a low DPI. But surely SimpleIDE would just display things all wrong as it does on the small screen.

    Win 10 display settings have scale factor. It seems to be hit and miss which apps respond to it or not. And when.

    There is a whole discussion of DPI and Qt here: http://doc.qt.io/qt-5/highdpi.html

    Gives me headache already.

    There does seem to be an issue with running two screens, small and high res with large and low res. Despite Win 10 using right resolution for the big low res screen SimpleIDE thinks it's on the high res screen no matter which screen it's actually on. If you see what I mean.

    There also seems to be some Win 10 madness going on here. After a lot of juggling with settings I have found it possible, sometimes, to get everything working fine and displaying nicely in all the glory of high res and high DPI. Then do a reboot and it's all a mess again! Same with a couple of other old apps here.

    Just now my only reliable fix is to run both screens at the same 1920 x 1080. That is the proper resolution for the big screen and having the same on both seems to make life simple enough for Win 10 that it can get right :)

Sign In or Register to comment.