I'd like to think that Spin is Spin and that Spin code from the P1 will build and run just fine on the P2.
That depends on how you define Spin.
If you mean no-hardware access, language flow only, then yes, there will be a Spin flavour that is P1/P2 portable.
I believe fastspin has collected the stated Spin-P2 extras, and supports both P1 and P2.
of course, if you include any hardware access at all, other than simple pin-io, then no, 'Spin code from the P1 will not build and run just fine on the P2'
The good news, is the new version do support conditionals, so one source file could support more than one host.
Likewise for the fastspin-Basic/FreeBASIC, that is also supporting conditionals to allow test-on-PCs and Run-on-P2 type development.
... If I develop something cool and put it in the OBEX or whatever takes its place, I want everybody who owns a propeller based product to be able to load, edit, play with, and download it to their board.
Keep in mind, that P2 will have many more clock source / clock run choices than P1 (or Ardunio), so the edit part of that will always be there.
I can quite understand that hardware dependent parts of Spin programs would not work directly on the P2. Such problems have existed on all micro-controllers since the dawn of time.
I can also appreciate that Spin code without any assembler in it should be directly usable on the P2. As is the case with moving C or other high level language code from machine to machine.
The crunch however is that PASM is also Spin. High level Spin and PASM are all integrated into the same source files. A Spin compliant compiler / IDE has to be able to handle the assembler parts as well.
As far as I can tell no Spin object that has assembler parts will be usable on the P2 without extensive modification. Even if it does not use peripheral hardware features.
As far as I can tell no Spin object that has assembler parts will be usable on the P2 without extensive modification. Even if it does not use peripheral hardware features.
Funny you should mention that.
On more than one occasion I have considered building a test harness for code in the OBEX (much like cpantesters.org) to attempt to do some kind of validation specifically with a view for getting an idea of coverage for P2.
With hardware of course that gains additional complications.
The thing about a standard IDE isn't that it will be the one everybody uses. Obviously a lot of people here went to BST, etc. and never looked back. But you want a standard platform so that the people doing those OTHER platforms know what they are targeting too. BST works partly because it can run the same code as PropTool, only better. People using other enviros, like those using Peter's Forth, know they have to convert from Spin to use the OBEX standard code. Which is cool. They have a consistent starting point. There are other dev platforms for Arduino, but everyone knows you start with sketches and that's what has made it successful. With the switch to C, there is no longer a consistent starting point for people looking for functionality in the OBEX, and that's become a very bad thing.
There also needs to be a standard dev board. It's early days, but for many years for P1 it was the DemoBoard and many OBEX objects were meant to just work on a DemoBoard; even if you're using different hardware that gives you a simple and consistent way to work with the object before you start treating it like taffy. I think it's very obvious that the P2 version of the DB needs HDMI, since VGA is rapidly becoming the new NTSC. It might be that the P2 version of this basic intro platform is something like the quickstart + human interface board, which is actually a nice combination; I wish it had been ready to go before the DB disappeared.
Fastspin does already compile P1 spin for the P2 and using ifdef &co does/can load different sub-objects and/or PASM dat blocks.
Spin2cpp can convert Spin1 to c or c++ so converting existing spin objects to c/c++ for use in Blockly or with gcc is already working.
converting PASM1 to PASM2 seems also doable, there is already a thread here by @Cluso99 with tips and tricks to do so, but I think converting bitbanging PASM1 to bitbanging PASM2 is completely ignoring the smartpins and might not be sensible to do.
On the other hand trying to write a PASM1/Propeller1/P1V emulator running on a P2 with xbyte may be possible and could, combined with some adapter-board, open a upgrade path for stressed p1 projects.
As for IDEs, I personally love them, but everybody has his preferences there, some swear on Clion, some really like Eclipse(!?!), I am using VisualStudio since about 20ish years and even use it to write COBOL source. There are even people loving VisualCode or things like sublime, Atom and cmd-scripts to automate the development cycle.
So I would prefer to have all needed tools in command line form, so that they are usable from any IDE you like. But at that point the multitude should tamper down.
I found it very annoying to have Spin-Source not running in the PropTool, you need to use BST or Homespun. And even since the Parallax supported Spin compiler from Roy does support ifdefs, the Parallax PropTool does not use it. There is also simpleIDE and PropellerIDE using different loaders and compilers, it is basically a disaster.
Same goes for the loaders. PropTool has one, PropGCC now two (with and without WX and/or two stage loader), Pnut has its own one and P2load also exist somewhere in that mix.
For me this is already quite confusing. And I am a longtime fan of Parallax. I read the forum almost religiously. But how should a new member coming from the Arduino side of thing figure out to go to www.fnarfbargle.com/bst.html to find BST?
Seeing that these beta chips are pretty much sold out before even being packaged is a good sign for Parallax.
There was a lot of lurkers in the forum waiting for silicon, much like myself.
Updated the list:
91 People have asked.
Some asked for multiplies so the total requested P2s comes out to: 103
People who've asked: (First Round Contribution - Drivers, DevTools, Hardware Testing)
RJSM
ersmith
kbash
dMajo
lostcauz
whicker
zappman
garryj
Heater.
78rpm
Ahle2
Ale
Amaral
Bean x2
Bob Lawrence (VE1RLL)
Cluso99
Coley
Dave Hein
DaveJenson x2
DavidZemon
Ding-Batty x2
DiverBob
Electrodude
Jim Fouch
John Abshier
Jon_Thomasson
K2
LeoD x2
MByron x2
Mickster
Mike Green
PropGuy2
Publison
Rayman x2
Roy Eltham
Seairth
T Chap
Teva McMillan x2
TonyB_
TrapperBob
Tubular
Whit
Ym2413a
__red__
avsa242
banjo
cheezus
ctwardell
dgately
evanh
fixmax x2
fpalmans
frank freedman
hkiela
ikemschn
iseries
jac_goudsmit
jmg
ke4pjw
marrokev x2
marsman2020
msrobots
octetta
pedward x2
pik33
pmrobert x2
potatohead
rjo__ x2
rosco_pc
samuell
thej
ti85
tritonium
tw1
twm47099
veluxllc
People who've asked: (Will Contribute Later, Applications, Products, Etc)
JRetSapDoog
AntoineDoinel
R Baggett
Ramon
Tor
wmosscrop
Genetix
kwinn
MJB
localroger
tomcrawford
jef_vt
Keith Young
W9GFO
David Betz
Please also one for me. It's for developing a product. I have no problem paying for a devboard. Even the chip itself is also good. I have access to a production line.
So I think the second list is good for me.
thanks!
Put me on the list for one but as sort of last priority. I have a newborn and the amount of time I'll get on this probably means it's better to put that P2 in someone else's hands.
We'd be testing this to see if we're going to teach with it and build curriculum for it etc.
I want to stress again we'd be low priority to get one. Wish I could do more but can't commit a lot of time.
If there's a spare board I'd like to make sure my development tools (such as fastspin) work well with real hardware. Otherwise I'll make do with an FPGA version of the P2.
If there's a spare board I'd like to make sure my development tools (such as fastspin) work well with real hardware. Otherwise I'll make do with an FPGA version of the P2.
It's fun to be listed at the top but I would feel more comfortable being placed in the bottom group, my initial contribution will be coming up with an enclosure.
Seeing that these beta chips are pretty much sold out before even being packaged is a good sign for Parallax.
There was a lot of lurkers in the forum waiting for silicon, much like myself.
Updated the list:
87 People have asked.
Some asked for multiplies so the total requested P2s comes out to: 99
People who've asked: (First Round Contribution - Drivers, DevTools, Hardware Testing)
W9GFO
kbash
dMajo
lostcauz
whicker
zappman
garryj
Heater.
78rpm
Ahle2
Ale
Amaral
Bean x2
Bob Lawrence (VE1RLL)
Cluso99
Coley
Dave Hein
DaveJenson x2
David Betz
DavidZemon
Ding-Batty x2
DiverBob
Electrodude
Jim Fouch x2
John Abshier
Jon_Thomasson
K2
LeoD x2
MByron x2
Mickster
Mike Green
PropGuy2
Publison
Rayman x2
Roy Eltham
Seairth
T Chap
Teva McMillan x2
TonyB_
TrapperBob
Tubular
Whit
Ym2413a
__red__
avsa242
banjo
cheezus x2
ctwardell
dgately
evanh
fixmax x2
fpalmans
frank freedman
hkiela
ikemschn
iseries
jac_goudsmit
jmg
ke4pjw
marrokev x2
marsman2020
msrobots
octetta
pedward x2
pik33
pmrobert x2
potatohead
rjo__ x2
rosco_pc
samuell
thej
ti85
tritonium
tw1
twm47099
veluxllc
People who've asked: (Will Contribute Later, Applications, Products, Etc)
JRetSapDoog
AntoineDoinel
R Baggett
Ramon
Tor
wmosscrop
Genetix
kwinn
MJB
localroger
tomcrawford
I'm fine with just a single P2 for the time being. I'll be (hopefully) working a lot of hours up to the coming holiday so development time may be a bit limited.
Maybe you should move me to the second list. I can probably do anything I need to do with the Prop123-A9 board that I already have as long as the FPGA image matches what is in the silicon. I'm not going to be doing any hardware interfacing. I spent money on the FPGA board. I may as well make use of it.
David Betz,
I think you will likely be one helping with dev tools, so I think it's important you get a real chip earlier. There's enough differences between FPGA and the real thing that should be tested related to downloading/etc.
I'm sure Ken and Chip would like everyone that will be working on dev tools of any kind to have one early.
David Betz,
I think you will likely be one helping with dev tools, so I think it's important you get a real chip earlier. There's enough differences between FPGA and the real thing that should be tested related to downloading/etc.
I'm sure Ken and Chip would like everyone that will be working on dev tools of any kind to have one early.
Ym2413a… Please add me to your list for the new P2 board. I’m a regular lurker here but have posted a few times before on these forums describing scientific instruments I’ve built using the Propeller and also regarding boosting memory using PSRAM (aka HyperRAM).
Re the latter I’m currently working with an IS66WVH8M8ALL/BLL breakout board on a BeMicro-A2. It adds 8MB to a P2 FPGA emulation - the interface is implemented using the streamer/smart pins working co-operatively.
I’m really keen to make a new version of this for the real Si, aiming to push up the clock speed (from the current 80 MHz), but I’ll also look at migrating to a companion 128 Mb = 16MB part having the same footprint.
The P2 is going to be heaps of fun and will be awesome for several upcoming instrumentation projects. Congratulations to Chip, Ken and the Parallax team on their momentous achievement.
"Heaps of fun" - That sounds like down-under talk. Do you guys realize that ALL of our prototype chips outside of Parallax are in Australia and New Zealand?
Comments
If you mean no-hardware access, language flow only, then yes, there will be a Spin flavour that is P1/P2 portable.
I believe fastspin has collected the stated Spin-P2 extras, and supports both P1 and P2.
of course, if you include any hardware access at all, other than simple pin-io, then no, 'Spin code from the P1 will not build and run just fine on the P2'
The good news, is the new version do support conditionals, so one source file could support more than one host.
Likewise for the fastspin-Basic/FreeBASIC, that is also supporting conditionals to allow test-on-PCs and Run-on-P2 type development.
Keep in mind, that P2 will have many more clock source / clock run choices than P1 (or Ardunio), so the edit part of that will always be there.
The PASM part will need to be translated.
Otherwise, fastspin (at least) can compile the same Spin code from P1 for P2.
I lurk here almost every day.
Please put me on the list as well.
I am good with feedback on testing programs.
I would really like to assist with getting USB working.
I added you onto the list.
Don't feel bad, I've been lurking this P2 forum regularly for close to a decade.
Just held back until hardware was more finalized. : ]
I can quite understand that hardware dependent parts of Spin programs would not work directly on the P2. Such problems have existed on all micro-controllers since the dawn of time.
I can also appreciate that Spin code without any assembler in it should be directly usable on the P2. As is the case with moving C or other high level language code from machine to machine.
The crunch however is that PASM is also Spin. High level Spin and PASM are all integrated into the same source files. A Spin compliant compiler / IDE has to be able to handle the assembler parts as well.
As far as I can tell no Spin object that has assembler parts will be usable on the P2 without extensive modification. Even if it does not use peripheral hardware features.
I can't find myself here in the list
John Abshier
Funny you should mention that.
On more than one occasion I have considered building a test harness for code in the OBEX (much like cpantesters.org) to attempt to do some kind of validation specifically with a view for getting an idea of coverage for P2.
With hardware of course that gains additional complications.
There also needs to be a standard dev board. It's early days, but for many years for P1 it was the DemoBoard and many OBEX objects were meant to just work on a DemoBoard; even if you're using different hardware that gives you a simple and consistent way to work with the object before you start treating it like taffy. I think it's very obvious that the P2 version of the DB needs HDMI, since VGA is rapidly becoming the new NTSC. It might be that the P2 version of this basic intro platform is something like the quickstart + human interface board, which is actually a nice combination; I wish it had been ready to go before the DB disappeared.
Spin2cpp can convert Spin1 to c or c++ so converting existing spin objects to c/c++ for use in Blockly or with gcc is already working.
converting PASM1 to PASM2 seems also doable, there is already a thread here by @Cluso99 with tips and tricks to do so, but I think converting bitbanging PASM1 to bitbanging PASM2 is completely ignoring the smartpins and might not be sensible to do.
On the other hand trying to write a PASM1/Propeller1/P1V emulator running on a P2 with xbyte may be possible and could, combined with some adapter-board, open a upgrade path for stressed p1 projects.
As for IDEs, I personally love them, but everybody has his preferences there, some swear on Clion, some really like Eclipse(!?!), I am using VisualStudio since about 20ish years and even use it to write COBOL source. There are even people loving VisualCode or things like sublime, Atom and cmd-scripts to automate the development cycle.
So I would prefer to have all needed tools in command line form, so that they are usable from any IDE you like. But at that point the multitude should tamper down.
I found it very annoying to have Spin-Source not running in the PropTool, you need to use BST or Homespun. And even since the Parallax supported Spin compiler from Roy does support ifdefs, the Parallax PropTool does not use it. There is also simpleIDE and PropellerIDE using different loaders and compilers, it is basically a disaster.
Same goes for the loaders. PropTool has one, PropGCC now two (with and without WX and/or two stage loader), Pnut has its own one and P2load also exist somewhere in that mix.
For me this is already quite confusing. And I am a longtime fan of Parallax. I read the forum almost religiously. But how should a new member coming from the Arduino side of thing figure out to go to www.fnarfbargle.com/bst.html to find BST?
quite confusing, all of that,
Mike
As such, whatever required BST or HomeSpun to build was not "Spin Source"
But that is just me being pedantic. Yes please. An IDE is just a glorified editor. What you need is the simplest way to turn source code into executables.
But, sounds like Prop Tool 2 isn't in the cards...
I think my SpinEdit could be made into a replacement, just don't know if I'd have the time to do it...
I guess I need to do the same here:
Kbash -- 1 board at least. 2-3 if possible.
( I'd rather leave boards for others who will do testing, but will purchase more when available.)
I use PropTool to edit my P2 PASM source, then save as .spin2, then re-open in pnut, compile and load.
What i'd like is if pnut could open and compile .spin files too, but I haven't asked Chip. ooh, it does
There was a lot of lurkers in the forum waiting for silicon, much like myself.
Updated the list:
91 People have asked.
Some asked for multiplies so the total requested P2s comes out to: 103
People who've asked: (First Round Contribution - Drivers, DevTools, Hardware Testing)
RJSM
ersmith
kbash
dMajo
lostcauz
whicker
zappman
garryj
Heater.
78rpm
Ahle2
Ale
Amaral
Bean x2
Bob Lawrence (VE1RLL)
Cluso99
Coley
Dave Hein
DaveJenson x2
DavidZemon
Ding-Batty x2
DiverBob
Electrodude
Jim Fouch
John Abshier
Jon_Thomasson
K2
LeoD x2
MByron x2
Mickster
Mike Green
PropGuy2
Publison
Rayman x2
Roy Eltham
Seairth
T Chap
Teva McMillan x2
TonyB_
TrapperBob
Tubular
Whit
Ym2413a
__red__
avsa242
banjo
cheezus
ctwardell
dgately
evanh
fixmax x2
fpalmans
frank freedman
hkiela
ikemschn
iseries
jac_goudsmit
jmg
ke4pjw
marrokev x2
marsman2020
msrobots
octetta
pedward x2
pik33
pmrobert x2
potatohead
rjo__ x2
rosco_pc
samuell
thej
ti85
tritonium
tw1
twm47099
veluxllc
People who've asked: (Will Contribute Later, Applications, Products, Etc)
JRetSapDoog
AntoineDoinel
R Baggett
Ramon
Tor
wmosscrop
Genetix
kwinn
MJB
localroger
tomcrawford
jef_vt
Keith Young
W9GFO
David Betz
So I think the second list is good for me.
thanks!
We'd be testing this to see if we're going to teach with it and build curriculum for it etc.
I want to stress again we'd be low priority to get one. Wish I could do more but can't commit a lot of time.
You need a board. You'll get one.
It's fun to be listed at the top but I would feel more comfortable being placed in the bottom group, my initial contribution will be coming up with an enclosure.
I'm fine with just a single P2 for the time being. I'll be (hopefully) working a lot of hours up to the coming holiday so development time may be a bit limited.
I think you will likely be one helping with dev tools, so I think it's important you get a real chip earlier. There's enough differences between FPGA and the real thing that should be tested related to downloading/etc.
I'm sure Ken and Chip would like everyone that will be working on dev tools of any kind to have one early.
That's right.
Re the latter I’m currently working with an IS66WVH8M8ALL/BLL breakout board on a BeMicro-A2. It adds 8MB to a P2 FPGA emulation - the interface is implemented using the streamer/smart pins working co-operatively.
I’m really keen to make a new version of this for the real Si, aiming to push up the clock speed (from the current 80 MHz), but I’ll also look at migrating to a companion 128 Mb = 16MB part having the same footprint.
The P2 is going to be heaps of fun and will be awesome for several upcoming instrumentation projects. Congratulations to Chip, Ken and the Parallax team on their momentous achievement.