It's been so quiet around here.

Anyone still thinking about P2?

I've been getting the final Spin2 interpreter details worked out. I moved all the complex/infrequent bytecode routines out to the hub to free up cog registers for user pasm code. Inline assembly and terminate-stay resident programs can fill $000..$0FF, with the first 16 longs of local variables shuttling in and out of $100...$10F. Almost done.

What about the rest of you?
«13

Comments

  • cgracey wrote: »
    Anyone still thinking about P2?

    I've been getting the final Spin2 interpreter details worked out. I moved all the complex/infrequent bytecode routines out to the hub to free up cog registers for user pasm code. Inline assembly and terminate-stay resident programs can fill $000..$0FF, with the first 16 longs of local variables shuttling in and out of $100...$10F. Almost done.

    What about the rest of you?

    Family things this weekend. Still watching and waiting :-)
  • I'm mostly working on P1 drivers, waiting for a smartpin I2C driver (I haven't been successful in fully understanding how to set them up), so I can start porting my work to SPIN2, though I've thought of maybe just porting one of the SPIN1 I2C objects to SPIN2, for now; even bitbanged I2C on the P2 would be plenty fast, and could be replaced by a smartpin-version later...
    --
    WIP Spin drivers for various devices: LSM9DS1 IMU (SPI) | Newhaven 4x20 OLED (I2C) | MLX90621 (I2C) | SHT3x (I2C) | SSD1306 OLED (I2C; P1-SPIN, P2-SPIN2) | TCS3x7x (I2C) | MAX31856 (SPI) | BMP280 (I2C) | TMC2130 (SPI) | nRF24L01+ (SPI) | MLX90614 (I2C) | MAX9744 (I2C) | DS28CM00 (I2C) | TSL2591 (I2C) | CC1101 (SPI) | SX1231 (SPI)
  • This is a busy time of year for me...

    But, I want to do something clever with the P2 Eval board soon. Still thinking about what...
    Prop Info and Apps: http://www.rayslogic.com/
  • I have been randomly watching the P2 hardware and software progress over the last many months with much excitement. I have more than a few ideas and projects in mind. the P2 will open up so many possibilities that in the past have been limited by not having a powerful enough chip - memory, speed, and driver/commands. the P2 smart pins open up soooo many possibilities. It is my hope that the new SPIN2 will not forget the basics - 64-bit (maybe 128-bit) math, SUPER easy-to-use command set for the smart pins - and a trend for taking the best of both worlds with the "old" SPIN, with the "new" SPIN2 command set. All realizing, that a new P2 chip is in new territory with new features and new commands never seen before. Is it possible to combine ongoing "C" language constructs with new SPIN2 language command sets? I am thinking of C basic building blocks like MAIN (void), Include, and others - so SPIN "looks like" C but all the while inventing new commands / language that C has never seen before? It can still be SPIN, but maybe C-SPIN. Just my thoughts.
  • Hi

    I fear its all well above my head- I've been getting used to SmartBasic with spin2gui, 'cos that's the only way I am going to do something productive with the Prop2. Looking forward with anticipation to boards being available- 'til then I just try to understand the conversations over smartpins etc- without much success!

    Dave
  • edited 2019-06-08 - 17:24:03
    The gestation period for the P2 has been quite long so people just watching and waiting or wandering off is to be expected. Once 'chipmas' comes, most of them will be back as excited as ever.
    Infantryman's Axiom; Always cheat, always win.
  • I've been working on the C library for fastspin, but it's been going a bit slowly because I have a lot of other demands on my time :). I'd also like to try to get SD card support into micropython.
  • RaymanRayman Posts: 9,474
    edited 2019-06-08 - 18:45:48
    Wasn't there going to be a P2 Expo?
    I lost track of when that was going to be...

    Was just thinking of what I might do next... I had this OV9653 SXGA camera module working with the FPGA... Looks like 640x350 resolution used up most of HUB RAM...
    But with HyperRam, maybe I can do full VGA or better.

    I'd be nice to JPG compression on the full SXGA image, but that seems challenging...

    Actually, maybe it'd be better to see if P2 can interface with Rasberry Pi camera and it's MIPI interface...
    Prop Info and Apps: http://www.rayslogic.com/
  • I haven't been doing much of anything on P2 other than doing some occasional testing of the fastspin C compiler. I had expected to get involved with tools but Parallax doesn't seem to know what direction they want to go in with respect to C/C++ and there are numerous other C efforts underway that may satisfy Parallax's needs. I'm really not sure what role I could take going forward. I will probably continue to play with both P1 and P2 when I have time but I don't have any significant projects planned for either.
  • Thanks for the responses.

    Neat idea about working smart pins into the language. That would be so simple to make happen.
  • I have a new work project learning Python with Pandas (it’s large database manipulation) with some AI. So I haven’t done any P2 for a couple of months. Coming up is our annual trip to visit our daughter and her family in the UK for 4 weeks.
    So the outlook for P2 work isn’t looking that good till near the end of August, which is around the time we’ll be seeing P2 rev2 chips :)

    I have a few things planned for P2...

    Finish Spin1 interpreter running on P2. This will just use a P1 compiled object code block.

    I want to design my own P2 board for a little project i have in mind. Just a tiny specialised board.

    I need to get my P1 OS running on P2.

    For general use tho, probably P2D2 rev3? will suit better.
    My Prop boards: P8XBlade2, RamBlade, CpuBlade, TriBlade
    Prop OS (also see Sphinx, PropDos, PropCmd, Spinix)
    Website: www.clusos.com
    Prop Tools (Index) , Emulators (Index) , ZiCog (Z80)
  • Busy planning world domination with the P2....Seriously, I have just purchased universecontrol.net for the new company, you can test email me:

    craig (at) universecontrol.net

    Job Title: Master of Universe

    This is serious :neutral:
    Failure is not an option...it's bundled with the software.
  • Mickster wrote: »
    Busy planning world domination with the P2....Seriously, I have just purchased universecontrol.net for the new company, you can test email me:

    craig (at) universecontrol.net

    Job Title: Master of Universe

    This is serious :neutral:

    Yes I am sure the P2 will be a superior machine controller. Some decades ago I worked with ugly things like ladder logic, relays, pneumatic actuators and mechanical switches.

    Life changed but I still dabble around with automating systems once in a while. The P1 was often either to big or to small for the tasks. I have big hopes (and even some plans) that the P2 can fit there nicely.

    I am quite sure that @ManAtWork has already plans to do something, and yourself are dreaming of a 6-X axis controller, don't you?

    Enjoy!

    Mike
    I am just another Code Monkey.
    A determined coder can write COBOL programs in any language. -- Author unknown.
    Press any key to continue, any other key to quit

    The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this post are to be interpreted as described in RFC 2119.
  • Chip has unwittingly created the dream motion controller....we're talking 6 axes of dual-loop (2 encoders/axis) at least. I'm salivating as I type :lol:
    Failure is not an option...it's bundled with the software.
  • Peter JakackiPeter Jakacki Posts: 8,331
    edited 2019-06-09 - 00:36:17
    I'm too busy with P2 and TAQOZ and P2D2 etc to be just "thinking" about P2 :)
    I actually have had a job come up that would be perfect for P2, well I hope it is and that should lead nicely into a major pet project I have always had on the cards for P2.
    Right at the moment I'm sorting out the tools and USB serial software for the EFM8UB3 chip which is not fun, although I have been updating my Breakout game for P2 and having fun there.
    This week I will build up some of the new R3 versions of the P2D2 including one with a CP2102N in place of the EFM8 chip just to see how it goes.

    Yeah, except for the sounds from the ball bouncing around the screen and music and videos playing on the P2 (I've listened to the MacroFab podcast about a dozen times), it is quiet.

    Tachyon Forth - compact, fast, forthwright and interactive
    useforthlogo-s.png
    --->CLICK THE LOGO for more links<---
    P2 +++++ TAQOZ INTRO & LINKS +++++ P2 SHORTFORM DATASHEET
    P1 +++++ Latest binary V5.4 includes EASYFILE +++++ Tachyon Forth News Blog
    Brisbane, Australia
  • Ben Lurking should be my username:)

    I've been working on everything that I want to surround the P2... quite a list.

    Looking forward to the interpreter... worried that I only have a P123. Maybe I can
    get a board from Peter. Paying customer!!!



  • I do most of my Prop stuff in fall and winter. Lots of other things going on during the warmer months. I will continue work on the library I posted earlier trying to replicate the Arduino functions.

    John Abshier
  • busy waiting to buy a P2 board and get the latest documentation.
    All what i found was some info here and there in different places.
    Sometimes already outdated

    greetings
  • I have been working on the master bath and paused that project to pull our boat to perform maintenance. (Never want to pull that thing again)

    Boat is back in, bathroom is 80% there. Can't wait to get back to doing electronics. My bench is missing me.

    I have been following your progress. Would love to see a burndown of the "needs to be done" for the P2.

    Can't wait for August! Should be a fun fall/winter workbench season!
    Terry's Workbench

    Feel the need for speed between your PC's com port and Prop?
    Try the FTDI 245 and the FullDuplexParallel Object.
    Check out my spin driver for the Parallax "96 x 64 Color OLED Display Module" Product ID: 28087
    22FPS video from the P2 on the Parallax "96 x 64 Color OLED Display Module" https://www.youtube.com/watch?v=ja84rf38QHM
  • ke4pjw wrote: »
    Would love to see a burndown of the "needs to be done" for the P2.
    I'd like to see that too. It seems we will have several options for C but none other than p2gcc for C++. That may be fine. I'm not sure what Parallax wants with respect to C++. None of the Simple Libraries use it that I know of so maybe they will be happy with one of the C efforts. But what else needs to be done? Dave Hein has a cross-platform loader. I think Roy is working on porting Simple Libraries. Certainly, Chip is working on Spin2 and Eric has his fastspin that supports Spin, BASIC, and C. What else is needed?
  • Not so fast @David Betz,

    besides p2gcc one can use the RISCV emulator and gcc for RISCV :smile:

    But compared to the P1 the P2 will have a lot of language support when it finally hits the market.

    What else is needed?

    Documentation, a central official place to get documentation and a link to all the existing tools. I read the forum daily, so I do know where to look and what to look for.

    But how can a newcomer figure out that there is a nice IDE called SpinEdit, Language support for VisualCode, Spin2Gui, p2gcc, micro phyton, RISCV emulator, TAQOZ, does SimpleIDE support P2 yet? PropellerIDE?

    How they figure out that @DavidZemon has a build server running with the latest binaries?

    There should be entries in the OBEX to specify Language and or Processor, better yet the content of the OBEX should move to a Parallax GIT somewhere and the current OBEX needs to be replaced by something searching and summarizing that Parallax GIT. Authors of objects should be able to push there changes, sending pull requests and waiting for parallax to fulfill this timely seems farfetched.

    'Whats a microcontroller' rewritten for the p2. :smile:

    But that is all stuff Parallax has to do.

    I will tinker around with the streamer next.

    Enjoy!

    Mike
    I am just another Code Monkey.
    A determined coder can write COBOL programs in any language. -- Author unknown.
    Press any key to continue, any other key to quit

    The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this post are to be interpreted as described in RFC 2119.
  • I would very much like to have C++ with gcc
    Prop Info and Apps: http://www.rayslogic.com/
  • I finally started updating my p2 web page
    Probably 10 year old info...
    Prop Info and Apps: http://www.rayslogic.com/
  • msrobots wrote:
    'Whats a microcontroller' rewritten for the p2. :smile:
    That might scare some people! :)

    -Phil
    “Perfection is achieved not when there is nothing more to add, but when there is nothing left to take away. -Antoine de Saint-Exupery
  • David Betz wrote: »
    ke4pjw wrote: »
    Would love to see a burndown of the "needs to be done" for the P2.
    I'd like to see that too. It seems we will have several options for C but none other than p2gcc for C++. That may be fine. I'm not sure what Parallax wants with respect to C++. None of the Simple Libraries use it that I know of so maybe they will be happy with one of the C efforts. But what else needs to be done? Dave Hein has a cross-platform loader. I think Roy is working on porting Simple Libraries. Certainly, Chip is working on Spin2 and Eric has his fastspin that supports Spin, BASIC, and C. What else is needed?

    From what I've been reading on these fora: documentation. Most of the information is there in just a few places, it just needs to be pulled together into one cohesive document as the one true reference. I know that such a document could never be truly finished, but it needs to be done to the same standard as the original Propeller manual.
  • msrobots wrote: »
    Not so fast @David Betz,

    besides p2gcc one can use the RISCV emulator and gcc for RISCV :smile:
    That is true but I was thinking about native code tools or at least a VM designed for the P2 like Chip's interpreter. While the RISC-V emulator is a nice way to run code on the P2 I doubt it will be a tool of choice for must applications. It's great that Eric was able to use it to get MicroPython working on P2 so quickly though. Are there still efforts underway to get MicroPython running natively? I heard a rumor that suggested that maybe the MicroPython team was working with RossH. Maybe a Catalina port is underway?
  • David Betz wrote: »
    msrobots wrote: »
    Not so fast @David Betz,

    besides p2gcc one can use the RISCV emulator and gcc for RISCV :smile:
    That is true but I was thinking about native code tools or at least a VM designed for the P2 like Chip's interpreter.
    Believe me, the RISC-V emulator was designed for P2 :). I spent a fair amount of effort on it, and I think it works pretty well.

    In practice I think what matters from a compiler is the language it supports, how well the code it generates runs, in particular its speed and its memory footprint, and how well documented it is. How "pure" it is in terms of whether it is generating "native code" or not should be pretty much irrelevant.

    gcc 8.0 for RISC-V running on the JIT P2 compiler has the highest Dhrystone 1.1 score I measured for P2; it actually beat p2gcc and fastspin. It supports full C and C++, with some popular extensions. The gcc documentation is good, although the P2 specific documentation is poor at the moment. The memory footprint isn't good, since it uses a pretty big cache, so that's an area where another compiler might be a better choice for some applications, but for raw performance so far the RISC-V emulator is the champ.

    gcc 8.0 compiled natively for P2 would probably perform even better, of course. But software isn't free, and so far nobody has come up with the funds (or equivalently, programmer time) to do that port.
  • I think that Parallax is currently quite stretched and has to wait for the (hopefully) final silicon to make any decision about financing Prop2gcc.

    If there is the need for another respin, money is better spend there.

    Using neither C nor C++ I still think that providing gcc for the P2 is a MUST. What would be nice is, if someone could get this then upstream, so that it stays current with gcc, not outdated like it is now.

    My current beloved pet is GnuCOBOL, a Transpiler using C as a intermediate representation and running it thru gcc, Clang or VisualC, but this one relays heavily on dynamic linking and POSIX support, might not be feasible on a P2. Somewhere I found a COBOL80 for the Z80 and CP/M. That might be interesting...

    Enjoy!

    Mike
    I am just another Code Monkey.
    A determined coder can write COBOL programs in any language. -- Author unknown.
    Press any key to continue, any other key to quit

    The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this post are to be interpreted as described in RFC 2119.
  • msrobots wrote: »
    Using neither C nor C++ I still think that providing gcc for the P2 is a MUST.
    Well, given what Eric just said we already have this, the latest version of GCC generating code that can run on the P2 using the RISC-V JIT P2 compiler. Maybe that *is* the best way forward since we can be pretty sure that the RISC-V version of GCC will be kept up to date without any investment from Parallax. If the performance really is that good then maybe there is no need for the "native" compiler that I mentioned in an earlier message.
  • ersmith wrote: »
    David Betz wrote: »
    msrobots wrote: »
    Not so fast @David Betz,

    besides p2gcc one can use the RISCV emulator and gcc for RISCV :smile:
    That is true but I was thinking about native code tools or at least a VM designed for the P2 like Chip's interpreter.
    Believe me, the RISC-V emulator was designed for P2 :). I spent a fair amount of effort on it, and I think it works pretty well.

    In practice I think what matters from a compiler is the language it supports, how well the code it generates runs, in particular its speed and its memory footprint, and how well documented it is. How "pure" it is in terms of whether it is generating "native code" or not should be pretty much irrelevant.

    gcc 8.0 for RISC-V running on the JIT P2 compiler has the highest Dhrystone 1.1 score I measured for P2; it actually beat p2gcc and fastspin. It supports full C and C++, with some popular extensions. The gcc documentation is good, although the P2 specific documentation is poor at the moment. The memory footprint isn't good, since it uses a pretty big cache, so that's an area where another compiler might be a better choice for some applications, but for raw performance so far the RISC-V emulator is the champ.

    gcc 8.0 compiled natively for P2 would probably perform even better, of course. But software isn't free, and so far nobody has come up with the funds (or equivalently, programmer time) to do that port.
    Could the RISC-V JIT P2 compiler be made to optionally support a RISC-V compressed instruction set to get better code density?

Sign In or Register to comment.