Shop OBEX P1 Docs P2 Docs Learn Events
Would this work for an IDE? — Parallax Forums

Would this work for an IDE?

I just got some ESP2866 modules, $3 each.

Do you all think it would be possible for the P2 to drive a web page through the ESP2866 that forms an IDE?

This would mean, of course, that the compiler, editor, and debugger are located on the P2, itself. The webpage presentation would be for editing, compiling, and debugging code.

Is this reasonably possible? Are there any big gachas in trying to do this?

I figure the host machine that is displaying the web page through its browser could provide the visual display, mouse, and keyboard input, and maybe local file storage. There'd be no O.S. dependence or wires this way.
«1345

Comments

  • evanhevanh Posts: 15,854
    No idea of any pitfalls but that isn't really a self-hosted solution any longer, yet it still requires booting up as if it were. The one advantage over self-hosting is the setup includes web connectivity for reference and quick cut'n'paste. But then so does the existing cross development methods.
  • evanhevanh Posts: 15,854
    edited 2020-04-04 23:55
    I'm no web junkie but maybe both the IDE and the compiler can be done with javascript running solely in the browser. Bulk load the whole thing into the browser on boot up and leave only minimal code running on the prop2. *Shrug* Basically still cross compiling but done with javascript instead of OS specific binaries.
  • cgraceycgracey Posts: 14,134
    In schools, they've got machines available, per student, which can browse the web. Loading apps onto these various platforms is problematic. Just seems this would be the easiest way to connect to the P2 in such a setting.

    Also, asking them to dedicate monitors, mice, and keyboards to this cause is asking for too much, maybe. If they can use the systems they already have, it's much simpler.
  • evanhevanh Posts: 15,854
    Eric has done a great job of making a multi-platform build for binary distribution. David Zemon has been doing some IT services independently.


  • I'd rather choose the ESP32 that, beside bigger memory I2C, I2S, have also bloototh, wifi, fastethernet MAC connectivities and an SD controller that supports up to two SDs in 4bit mode at 80MHz.
    The two can form a permanent tandem on a module similar to P2D2

    The new ESP32-S, in place of the ethernet MAC and SD controller, have a full-speed USB OTG V1.1
  • cgracey wrote: »
    I just got some ESP2866 modules, $3 each.

    Do you all think it would be possible for the P2 to drive a web page through the ESP2866 that forms an IDE?

    This would mean, of course, that the compiler, editor, and debugger are located on the P2, itself. The webpage presentation would be for editing, compiling, and debugging code.

    Is this reasonably possible? Are there any big gachas in trying to do this?

    I figure the host machine that is displaying the web page through its browser could provide the visual display, mouse, and keyboard input, and maybe local file storage. There'd be no O.S. dependence or wires this way.
    Any reason you didn't use the Parallax ESP8266 module?

  • A big problem with the ESP8266 is that at high baud rates the serial buffers aren't large enough to keep up and can't be expanded because it's a single-core processor and the wifi functions block interrupts long enough to lose data no matter what. I agree with dMajo that the ESP32 would make more sense, and in fact is powerful enough to be the entire development system itself.
  • David BetzDavid Betz Posts: 14,516
    edited 2020-04-05 18:04
    localroger wrote: »
    A big problem with the ESP8266 is that at high baud rates the serial buffers aren't large enough to keep up and can't be expanded because it's a single-core processor and the wifi functions block interrupts long enough to lose data no matter what. I agree with dMajo that the ESP32 would make more sense, and in fact is powerful enough to be the entire development system itself.
    How much RAM does the ESP32 have? I wonder if it would be possible to run FastSpin on it?
    Edit: Looks like it has 512K. That might be enough to run FastSpin given that the code would be in flash.

  • localroger wrote: »
    A big problem with the ESP8266 is that at high baud rates the serial buffers aren't large enough to keep up and can't be expanded because it's a single-core processor and the wifi functions block interrupts long enough to lose data no matter what. I agree with dMajo that the ESP32 would make more sense, and in fact is powerful enough to be the entire development system itself.

    +1
  • cgraceycgracey Posts: 14,134
    David Betz wrote: »
    cgracey wrote: »
    I just got some ESP2866 modules, $3 each.

    Do you all think it would be possible for the P2 to drive a web page through the ESP2866 that forms an IDE?

    This would mean, of course, that the compiler, editor, and debugger are located on the P2, itself. The webpage presentation would be for editing, compiling, and debugging code.

    Is this reasonably possible? Are there any big gachas in trying to do this?

    I figure the host machine that is displaying the web page through its browser could provide the visual display, mouse, and keyboard input, and maybe local file storage. There'd be no O.S. dependence or wires this way.
    Any reason you didn't use the Parallax ESP8266 module?

    I didn't know we sold one, actually. I just went on Amazon and found some.
  • cgracey wrote: »
    David Betz wrote: »
    cgracey wrote: »
    I just got some ESP2866 modules, $3 each.

    Do you all think it would be possible for the P2 to drive a web page through the ESP2866 that forms an IDE?

    This would mean, of course, that the compiler, editor, and debugger are located on the P2, itself. The webpage presentation would be for editing, compiling, and debugging code.

    Is this reasonably possible? Are there any big gachas in trying to do this?

    I figure the host machine that is displaying the web page through its browser could provide the visual display, mouse, and keyboard input, and maybe local file storage. There'd be no O.S. dependence or wires this way.
    Any reason you didn't use the Parallax ESP8266 module?

    I didn't know we sold one, actually. I just went on Amazon and found some.

    https://www.parallax.com/product/32420s

  • yetiyeti Posts: 818
    edited 2020-04-05 18:18
    David Betz wrote: »
    How much RAM does the ESP32 have? I wonder if it would be possible to run FastSpin on it?
    Edit: Looks like it has 512K.
    512M internal RAM and 0, 4 or 8MBytes external RAM.
    David Betz wrote: »
    That might be enough to run FastSpin given that the code would be in flash.
    If all else fails, run Fastspin in the Browser.
  • cgraceycgracey Posts: 14,134
    The ESP32 sounds a lot faster and everything, but it costs twice as much. That is okay, if it works that much better. Jeff Martin at Parallax and I were talking and he has used the ESP8266 and found that it has a lot of delays during operation. That's not good.

    Jeff thought we could use the ESPxx to push a JavaScript program to the web browser to form the IDE. It's compelling if we could solve the multi-platform problem this way.
  • cgracey wrote: »
    The ESP32 sounds a lot faster and everything, but it costs twice as much. That is okay, if it works that much better. Jeff Martin at Parallax and I were talking and he has used the ESP8266 and found that it has a lot of delays during operation. That's not good.

    Jeff thought we could use the ESPxx to push a JavaScript program to the web browser to form the IDE. It's compelling if we could solve the multi-platform problem this way.
    Yes, you could do that. The Parallax WX module has a flash filesystem that you can load stuff into. You could certainly load Javascript.

  • cgraceycgracey Posts: 14,134
    David Betz wrote: »
    cgracey wrote: »
    The ESP32 sounds a lot faster and everything, but it costs twice as much. That is okay, if it works that much better. Jeff Martin at Parallax and I were talking and he has used the ESP8266 and found that it has a lot of delays during operation. That's not good.

    Jeff thought we could use the ESPxx to push a JavaScript program to the web browser to form the IDE. It's compelling if we could solve the multi-platform problem this way.
    Yes, you could do that. The Parallax WX module has a flash filesystem that you can load stuff into. You could certainly load Javascript.

    So, it seems reasonable to you that we could maybe fit the entire IDE into the ESP32, so that it presents a web page to any host machine and has fast comms back to the P2 for loading and debugging?
  • cgracey wrote: »
    David Betz wrote: »
    cgracey wrote: »
    The ESP32 sounds a lot faster and everything, but it costs twice as much. That is okay, if it works that much better. Jeff Martin at Parallax and I were talking and he has used the ESP8266 and found that it has a lot of delays during operation. That's not good.

    Jeff thought we could use the ESPxx to push a JavaScript program to the web browser to form the IDE. It's compelling if we could solve the multi-platform problem this way.
    Yes, you could do that. The Parallax WX module has a flash filesystem that you can load stuff into. You could certainly load Javascript.

    So, it seems reasonable to you that we could maybe fit the entire IDE into the ESP32, so that it presents a web page to any host machine and has fast comms back to the P2 for loading and debugging?
    It seems possible. Not sure how big FastSpin is though. Maybe Eric will see this thread and comment.

  • cgracey wrote: »

    I didn't know we sold one, actually. I just went on Amazon and found some.

    :lol::lol::lol:
  • i presently use a php website on go daddy windows server to modify spin code that an 8266 downloads onto a quickstart board with the hid cape the quickstart can compile it and run it...and i can push it to another propellor

    its clunky but no ms


    the thing that u should be thinking of is that no matter what u do...ur using another chip...an esp8266 or ftdi...or a chrome book

    the ideal thing...im my idea:
    assume a chromebook or browser or phone

    use a parallax hosted website to compile code...if sphinx can do it...php could as well this allows a ton more options than sphinx


    now create an esp8266 equivalent of the ftdi dongle u used to use keep the server code open source...and php is nice and easy..pretty strong too

    now a phone can program an esp..or chromebook....or any apache server with php...apples...samsungs...windows...linux


    i mean ms owns github...who we work for anyway
  • i did most of this so that i could keep my cnc programs on my webserver....modify them as needed and then transfer them to my prop which is running my cnc controller

    my next intention is adding small cam system for slots holes contours and pockets to my website thats about 90percent of most parts....the fancy 3d machining people like to show off really isnt efficient for most parts
  • cgraceycgracey Posts: 14,134
    edited 2020-04-05 18:48
    Overhere, thanks for all that input. I don't even know enough to assess what all you are talking about. I've got lots of learning ahead of me.
  • Chip,

    If you want to design it in Delphi TMS Webcore can generate JavaScript from Pascal code.

    https://www.tmssoftware.com/site/tmswebcoreintro.asp
  • Along with these developments, please make a version of the Spin 2 compiler available in generic C/C++ so that proper command-line tools for any OS can be compiled. I'm not sold on the ESP32 being the savior of x-plaform tools for the P2, or anything else.
  • JonnyMac wrote: »
    Along with these developments, please make a version of the Spin 2 compiler available in generic C/C++ so that proper command-line tools for any OS can be compiled. I'm not sold on the ESP32 being the savior of x-plaform tools for the P2, or anything else.
    FastSpin is cross platform and is also a proper command line tool.

  • JonnyMacJonnyMac Posts: 9,093
    edited 2020-04-05 21:09
    FastSpin is cross platform and is also a proper command line tool.
    -- It's not from Parallax, so I won't use it with my client jobs.
    -- It's not 100% compatible with Spin 2 as defined by Chip, so I won't use it.
    -- I know an update to Propeller Tool is coming; for business reasons, I think that should be x-platform and support debugging tools

    Brad (creator of BST) walked away from the tool he created and the Propeller community. I'm not suggesting Eric will. That said, Parallax cannot count on -- although they should be supportive of -- 3rd party tool builders if they want the P2 to be taken seriously. It took a very long time to ramp up the P1 because right after its launch Parallax showed more interest in creating the P2 than get P1 users up and running with good tools and libraries. None of the great BASIC Stamp training materials were ported to the Propeller; this is still a mystery to me.

  • evanhevanh Posts: 15,854
    Parallax could adopt Fastspin as their base compiler platform, updated with Spin2 support. It's only the compiler, not the IDE. FlexGUI is Eric's IDE.

  • JonnyMac wrote: »
    FastSpin is cross platform and is also a proper command line tool.
    -- It's not from Parallax, so I won't use it with my client jobs.
    -- It's not 100% compatible with Spin 2 as defined by Chip, so I won't use it.
    -- I know an update to Propeller Tool is coming; for business reasons, I think that should be x-platform and support debugging tools

    Brad (creator of BST) walked away from the tool he created and the Propeller community. I'm not suggesting Eric will. That said, Parallax cannot count on -- although they should be supportive of -- 3rd party tool builders if they want the P2 to be taken seriously. It took a very long time to ramp up the P1 because right after its launch Parallax showed more interest in creating the P2 than get P1 users up and running with good tools and libraries. None of the great BASIC Stamp training materials were ported to the Propeller; this is still a mystery to me.
    Ugh. I have a ton of Parallax stuff. Anyone want it?

  • evanhevanh Posts: 15,854
    It does sound like Jon's beef is more with Parallax than Brad. Which makes his requirements a little contradictory.
Sign In or Register to comment.