FlexGUI: a complete programming system for P2 (and P1)

12357

Comments

  • David Betz wrote: »
    ersmith wrote: »
    (5) The Lisp interpreter is built by default, and can be run from Specials like micropython is.
    LISP interpreter? Is this a new FastGUI language? Or is it must a sample C program that implements a LISP interpreter?

    It's the proplisp interpreter that's always been in the samples directory, it's just hooked up to Specials now the same way micropython is. It is an interpreter, not a compiled language like Spin, BASIC, and C. Sorry for any confusion!

  • ersmith wrote: »
    David Betz wrote: »
    ersmith wrote: »
    (5) The Lisp interpreter is built by default, and can be run from Specials like micropython is.
    LISP interpreter? Is this a new FastGUI language? Or is it must a sample C program that implements a LISP interpreter?

    It's the proplisp interpreter that's always been in the samples directory, it's just hooked up to Specials now the same way micropython is. It is an interpreter, not a compiled language like Spin, BASIC, and C. Sorry for any confusion!
    Yeah, I saw the word "interpreter" in your description so I figured it was a sample program. Did you ever make any progress on your idea of compiling a subset of Python for the P2?

  • For the problem with Windows Defender removing loadp2.exe. I excluded the flexgui folder from Windows Defender scans. It is under the Virus & threat protection settings tab
  • bradzone wrote: »
    For the problem with Windows Defender removing loadp2.exe. I excluded the flexgui folder from Windows Defender scans. It is under the Virus & threat protection settings tab

    Does that problem still happen with 4.0.5? It shouldn't, loadp2.exe is signed now.
  • David Betz wrote: »
    Yeah, I saw the word "interpreter" in your description so I figured it was a sample program. Did you ever make any progress on your idea of compiling a subset of Python for the P2?

    Not really, I've been side-tracked by other things. I don't even know how much interest there is in Python for the P2, I haven't had much feedback on micropython.

  • David BetzDavid Betz Posts: 14,021
    edited 2019-12-19 - 21:34:58
    ersmith wrote: »
    David Betz wrote: »
    Yeah, I saw the word "interpreter" in your description so I figured it was a sample program. Did you ever make any progress on your idea of compiling a subset of Python for the P2?

    Not really, I've been side-tracked by other things. I don't even know how much interest there is in Python for the P2, I haven't had much feedback on micropython.
    I was under the impression that the main languages for P2 were likely to be Spin2/PASM and MicroPython so I guess I figured Parallax was talking to you about MicroPython.

  • Not really, I've been side-tracked by other things. I don't even know how much interest there is in Python for the P2, I haven't had much feedback on micropython.

    Ken Gracey is certainly interested, possibly because of the use of Python in education. Your name (@ersmith) was raised several times during Chip's presentation. I was one of those people in that I'm hoping Parallax will assist you was needed, and take guidance from some of the things you're doing with FlexGUI.
  • Well I asked Chip if he is considering some cooperation with Eric to align the Spin Extensions, but he basically said that he needs to do his own vision without distraction and Eric will need to adjust his Spin later.

    I somehow understand his viewpoint but am not really worried about it because Spin2 as byte interpreter - since not in ROM - will be fluent anyways. The interpreter will need to be included into the binary.

    Eric is doing a tremendous job for the P2 with FlexGui and loadp2, and what nobody is commenting on, it does all that stuff for the P1 too.

    Since I wanted to test my 16 plug switchable USB extender I had to rummage around my boxes to test it, so now I have a whole bunch of P2s and P1s connected to one PC.

    And YES, you can mix Spin and C even on the P1. It is very convient to have one IDE for P1 and P2.

    Thanks for doing this Eric!

    Enjoy!

    Mike
  • msrobots wrote: »
    ... not really worried about it because Spin2 as byte interpreter - since not in ROM - will be fluent anyways. The interpreter will need to be included into the binary.
    That's it. When time allows, adjustments can be made to either version to align things. We've pestered Chip for a belated change before, no doubt we'll be at it again in the future.

  • msrobots wrote: »
    Well I asked Chip if he is considering some cooperation with Eric to align the Spin Extensions, but he basically said that he needs to do his own vision without distraction and Eric will need to adjust his Spin later.
    :-1:

    That doesn't feel fair. The kid being late to the party wants to dictate what to do? Or what am I missing? Maybe my babel fish is low on caffeine?

    Will that mean FlexSPIN will get changes breaking current code or will FlexSPIN and LateSPIN just be like different languages?
  • Most such changes will more likely be a simple text search and replace. I do that lots when I rename variables.

  • I just received my P2 dev board and thought I would give flexgui a go on my mac. I can successfully compile a program (flexgui generates the .binary file) but I can’t sort out how to load the program. The board is visible in flexgui's Port menu.

    The error message generated by flexgui is:
    couldn't execute “…/flexgui/bin/mac_terminal.sh": no such file or directory

    There error message is correct, there is no mac_terminal.sh file in flexgui’s bin folder. Where do I find it?
  • JGM wrote: »
    I just received my P2 dev board and thought I would give flexgui a go on my mac. I can successfully compile a program (flexgui generates the .binary file) but I can’t sort out how to load the program. The board is visible in flexgui's Port menu.

    The error message generated by flexgui is:
    couldn't execute “…/flexgui/bin/mac_terminal.sh": no such file or directory

    There error message is correct, there is no mac_terminal.sh file in flexgui’s bin folder. Where do I find it?

    How did you install flexgui for the mac? If you did a "make install" then I'm surprised that it didn't copy the script as part of the installation process. It's in the mac_scripts/ directory, and it gets copied to $INSTALL/bin (where $INSTALL should default to $HOME/flexgui).

    Regards,
    Eric
  • yeti wrote: »
    Will that mean FlexSPIN will get changes breaking current code or will FlexSPIN and LateSPIN just be like different languages?

    We'll see when Chip's Spin2 is finished. I've got changes in fastspin now so that it can differentiate members of a language family based on extension (for example the scope of enums is handled slightly differently in .c and .c++ files, because the language rules changed in C++). I'd like to keep .spin files compatible with Spin1 and the original fastspin, and if the changes aren't too large I'll adjust the handling of .spin2 files to be compatible with Chip's interpreter.
    JonnyMac wrote: »
    Not really, I've been side-tracked by other things. I don't even know how much interest there is in Python for the P2, I haven't had much feedback on micropython.

    Ken Gracey is certainly interested, possibly because of the use of Python in education. Your name (@ersmith) was raised several times during Chip's presentation. I was one of those people in that I'm hoping Parallax will assist you was needed, and take guidance from some of the things you're doing with FlexGUI.

    Thanks for the kind words. I haven't seen much uptake of micropython yet. I've found it frustrating that so few people seem to be using any of the tools I've developed, but to be fair there really aren't many people developing for the P2 in any form yet :(. I guess we'll have to wait until next October before we see a real surge of interest in the P2.
  • ersmith wrote: »
    I'd like to keep .spin files compatible with Spin1 and the original fastspin, and if the changes aren't too large I'll adjust the handling of .spin2 files to be compatible with Chip's interpreter.
    That's today's good news!
    \o/
  • Eric,
    I’m hoping to get some real P2 time while I’m on Xmas break :)

    I’ve a couple of things to do, all using flexgui...
    * Get my SD Driver debugged (code done)
    * Try converting my P1 OS spin code to P2
    * Get my Z80/CPM2.2 emulation debugged and running - needs above two items
    * Experiment some more with micropython
    * Finish my P2 pcbs

    And play with my new Ender 3 3D printer.

    Think I might be a bit optimistic here ;)
  • ersmith wrote: »
    bradzone wrote: »
    For the problem with Windows Defender removing loadp2.exe. I excluded the flexgui folder from Windows Defender scans. It is under the Virus & threat protection settings tab

    Does that problem still happen with 4.0.5? It shouldn't, loadp2.exe is signed now.

    Version 4.0.5 fixed my problem with loadp2.exe being removed by Windows Defender. Signing loadp2.exe is a better long-term solution. Thanks.
  • bradzone wrote: »
    ersmith wrote: »
    bradzone wrote: »
    For the problem with Windows Defender removing loadp2.exe. I excluded the flexgui folder from Windows Defender scans. It is under the Virus & threat protection settings tab

    Does that problem still happen with 4.0.5? It shouldn't, loadp2.exe is signed now.

    Version 4.0.5 fixed my problem with loadp2.exe being removed by Windows Defender. Signing loadp2.exe is a better long-term solution. Thanks.

    Don't thank me, thank the people who are supporting FlexGUI on Patreon :). It was thanks to their donations that I was able to afford a code signing key. There are other things I'd like to accomplish, and the more people who can help out the better...
  • ersmith wrote: »
    [There are other things I'd like to accomplish, and the more people who can help out the better...
    Are you going to give us any hints as to what those things might be?

  • ersmith wrote: »
    idea of compiling a subset of Python for the P2?
    Such a thing already exists and is called RPython. Translates a subset of Python into C, or so I've heard.
  • Thanks for the kind words. I haven't seen much uptake of micropython yet. I've found it frustrating that so few people seem to be using any of the tools I've developed, but to be fair there really aren't many people developing for the P2 in any form yet :(. I guess we'll have to wait until next October before we see a real surge of interest in the P2.

    FWIW, I've been using fastspin extensively on my efforts to port the drivers I wrote for the P1 to the P2. I'm just not especially vocal about it :)
    Any I've at least started on are indicated w/P2 in my sig.
    Some of the extensions to spin I've found incredibly useful (esp params w/default values). So much so I sometimes now find it frustrating to go back (if it weren't for the lack of byte code interp for the P1)

    Cheers,
    Jesse
  • How did you install flexgui for the mac? If you did a "make install" then I'm surprised that it didn't copy the script as part of the installation process. It's in the mac_scripts/ directory, and it gets copied to $INSTALL/bin (where $INSTALL should default to $HOME/flexgui).

    Thanks - I guess I was getting a bit bleary eyed when I posted and didn't manage to see the obvious. I did not build it using "make install". I used the windows install and added the missing components (fastspin, spin2cpp, and loadp2) manually. Adding mac_terminal.sh gets rid of the error message. That said, the loadp2 terminal window pops up but the prop isn't programmed. Using loadp2 manually works however so I am good to go.
  • bradzone wrote: »
    ersmith wrote: »
    bradzone wrote: »
    For the problem with Windows Defender removing loadp2.exe. I excluded the flexgui folder from Windows Defender scans. It is under the Virus & threat protection settings tab

    Does that problem still happen with 4.0.5? It shouldn't, loadp2.exe is signed now.

    Version 4.0.5 fixed my problem with loadp2.exe being removed by Windows Defender. Signing loadp2.exe is a better long-term solution. Thanks.

    Welcome to the forums! Glad you got it fixed.
  • JGM wrote: »
    How did you install flexgui for the mac? If you did a "make install" then I'm surprised that it didn't copy the script as part of the installation process. It's in the mac_scripts/ directory, and it gets copied to $INSTALL/bin (where $INSTALL should default to $HOME/flexgui).

    Thanks - I guess I was getting a bit bleary eyed when I posted and didn't manage to see the obvious. I did not build it using "make install". I used the windows install and added the missing components (fastspin, spin2cpp, and loadp2) manually. Adding mac_terminal.sh gets rid of the error message. That said, the loadp2 terminal window pops up but the prop isn't programmed. Using loadp2 manually works however so I am good to go.

    Welcome to the forums! Glad you got it fixed.
  • Publison wrote: »
    JGM wrote: »
    How did you install flexgui for the mac? If you did a "make install" then I'm surprised that it didn't copy the script as part of the installation process. It's in the mac_scripts/ directory, and it gets copied to $INSTALL/bin (where $INSTALL should default to $HOME/flexgui).

    Thanks - I guess I was getting a bit bleary eyed when I posted and didn't manage to see the obvious. I did not build it using "make install". I used the windows install and added the missing components (fastspin, spin2cpp, and loadp2) manually. Adding mac_terminal.sh gets rid of the error message. That said, the loadp2 terminal window pops up but the prop isn't programmed. Using loadp2 manually works however so I am good to go.

    Welcome to the forums! Glad you got it fixed.

    Thanks. I have been lurking on the list forever (since the early days of the P1) and am very exited about the P2. Great forum with super helpful members.
  • Publison wrote: »

    Welcome to the forums! Glad you got it fixed.

    Thanks. I have also been lurking on the list for many years. I'm a big fan of Eric's work and will be supporting FlexGUI on Patreon.
  • I keep updating and building my spin2cpp and loadp2 clones. Assuming I want to do command line programming is there anything I am missing by not using FlexGUI?
  • not that I am aware of, the whole shebang with scripting and Terminals is done by p2load.

    FlexGui is just a convient way to access all of Erics goodies...

    Mike
  • David Betz wrote: »
    I keep updating and building my spin2cpp and loadp2 clones. Assuming I want to do command line programming is there anything I am missing by not using FlexGUI?
    The examples distributed with FlexGUI?
  • yeti wrote: »
    David Betz wrote: »
    I keep updating and building my spin2cpp and loadp2 clones. Assuming I want to do command line programming is there anything I am missing by not using FlexGUI?
    The examples distributed with FlexGUI?

    Is there a separate repository with the examples?
Sign In or Register to comment.