A lot of the tutorials are done in C. Why not also in SPIN? Is it on the way out? (spin)
Clock Loop
Posts: 2,069
I was looking over all the "Parallax WX Wi-Fi Module for Prop C"
https://learn.parallax.com/tutorials/language/propeller-c/parallax-wx-wi-fi-module-prop-c
IS spin on the way out, as far as support and example code?
I guess it is a proprietary language, but I still like it.
And I thought it would be good to see all these done in SPIN.
Or am I just old skool, as I learned spin before prop c even existed.
I can switch to prop C, but so many objects in the github obex are in spin, or are they being ported over to prop C also?
Should I abandon spin, and code in prop C from now on?
I can do that if that is where everything is going.
Or is it time, to make identical copies of tutorials like the ones listed in "Parallax WX Wi-Fi Module for Prop C" but for SPIN?
I am trying to make links to example code for the propeller and the wx esp8266 wifi device in my
"ParallaxWX ESP8266 / RaspberryPi / Debian / Esp-open-sdk / SimpleIDE / Openspin / Proploader / DEVEL" thread.
Which helps users COMPILE the esp8266 code in linux/raspberryPI, that parallax developed for their WX device.
http://forums.parallax.com/discussion/169250/parallaxwx-esp8266-raspberrypi-debian-esp-open-sdk-simpleide-openspin-proploader-devel/p1
I thought it would be good to include links to example code, on how to use the wx device webpages to communicate and accomplish tasks with the propeller.
https://learn.parallax.com/tutorials/language/propeller-c/parallax-wx-wi-fi-module-prop-c
IS spin on the way out, as far as support and example code?
I guess it is a proprietary language, but I still like it.
And I thought it would be good to see all these done in SPIN.
Or am I just old skool, as I learned spin before prop c even existed.
I can switch to prop C, but so many objects in the github obex are in spin, or are they being ported over to prop C also?
Should I abandon spin, and code in prop C from now on?
I can do that if that is where everything is going.
Or is it time, to make identical copies of tutorials like the ones listed in "Parallax WX Wi-Fi Module for Prop C" but for SPIN?
I am trying to make links to example code for the propeller and the wx esp8266 wifi device in my
"ParallaxWX ESP8266 / RaspberryPi / Debian / Esp-open-sdk / SimpleIDE / Openspin / Proploader / DEVEL" thread.
Which helps users COMPILE the esp8266 code in linux/raspberryPI, that parallax developed for their WX device.
http://forums.parallax.com/discussion/169250/parallaxwx-esp8266-raspberrypi-debian-esp-open-sdk-simpleide-openspin-proploader-devel/p1
I thought it would be good to include links to example code, on how to use the wx device webpages to communicate and accomplish tasks with the propeller.
Comments
If you use FlexGUI you can combine both C and Spin files into one program, so that's another approach you could take.
Yea, I looked at FlexGUI! I didn't know it can combine languages, thats nice.
And I just found out that FlexGUI WORKS with the parallax WX esp8266 devices, excellent.
I suppose I personally could convert all the stuff at....
https://learn.parallax.com/tutorials/language/propeller-c/parallax-wx-wi-fi-module-prop-c
...into spin. I wouldn't need to touch the web/esp stuff.
In OBEX is a post which translates some of the WXESP8266 C tutorials into SPIN;
https://github.com/parallaxinc/propeller/blob/1c72a5e433b33dd3703178f71a57c45393ffcf95/libraries/community/p1/All/WX ESP8266 SPIN Get Started/README.md
HEY! THANKS!
Here is the master link.
https://github.com/parallaxinc/propeller/tree/master/libraries/community/p1/All/WX ESP8266 SPIN Get Started
Spin1/2 isn't going away by any means. Wait till you see JonnyMac's presentation today. It's our future, along with some Python, C, etc.
Ken Gracey
I totally understand why C is priority.
Can't wait to see more document links on googledrive! And the vid where ever they get posted.
https://forums.parallax.com/discussion/171704/propeller-2-live-forum-early-adopter-series-topics-speakers-and-registration/p7
Ahem.
This is just what I have within grabbing distance.... (i know what you meant)
PART... intended PUN.
(im still bummed about my 60+ dip props that fell victim to abuse of RAID WARRANTS that leave everything on the floor in their haste to find ANYTHING to justify it.)
(nope, I didn't spend a single hour (or minute) in jail either, we are victims of a broken system, and we are many, left in the dust, don't even get me started)
Spin is and should be the language of P1. P1 is a terrible platform for C and C is slow and hoggy on it. Getting P1 to run C code is like one of those hacks where you get a Z80 to boot Linux by emulating an 8086. Make a pot of coffee while it boots.
C should probably be the language of P2, which has a stack frame and the other cruft you need to make C work efficiently that P1 doesn't have. Spin is a great teaching language but you can't use it to teach if the education system insists on C, so C it should be. Get us up to speed on that and don't waste our time on other things. Yes of course we users will get 150 other languages running on P2 but Parallax needs to pick one as the official development language and make sure all the official docs and example code are in that language so the n00bs will know what to study. The only thing worse than having an unpopular official dev language will be having more than one.
@localroger I understand the concern, but the outcome of a C-only ecosystem for P2 isn't going to happen. Why should Chip forgo completing his vision of a language that matches the hardware he spent 14 years developing? You might say "business potential" which certainly piques my interest, but there's more than that as motovation.
Ken Gracey
Respectfully, I disagree. IMHO Parallax spent so much $$ on bringing the P2 to fruition there’s not enough left in the kitty to bring even one good language to P2. That sounds like a convincing argument for your case, but it’s not and here’s why.
Languages are being done by the forum members, plus Chip. Chip will do spin2 regardless and he has every right to after all. IMHO it’s being done wrong but it is what it is. Other languages are being done, such as Catalina C (being the first C out of the gate), Eric’s fastspin (pasm, spin, basic, C, etc). There is microPython - now an education requirement which seems to have overtaken C in this arena.
IMHO Parallax needs to spend it’s limited resources into a working OBEX so that the various languages are supported. GIT is a dogs breakfast for newcomers. It’s not a solution for OBEX without some major $$, so an alternative needs to be found YESTERDAY!!! Every day this gets delayed, the P2 gets more fragmented. Currently there is no way to adequately put up an object for P2 (in any language) and have it readily available for everyone to access simply. So the very few people here are wasting time developing their own versions of objects because they cannot see what’s being done elsewhere.
IMHO Parallax also needs to get behind Eric’s fastspin. IMHO PropTool 2.x is a wasted effort. As was said by Parallax over the past 10 years, PropTool (for P1) was a dead product and would never have the extensions necessary (conditional compilation, macros, etc) as so bst and homespun were written to address these issues. Subsequently OpenSpin was written but never received the support necessary to get used much.
However, things have moved on. These days, the compilers have been decoupled from the editors. Here is where Parallax needs attention. Arguably, VSC (Microsoft’s Visual Source Code, not to be confused with Visual Source whatever) has exploded. It is a very viable open source, cross platform editor. Others and myself have done a basic descriptor for VSC for editing pasm and spin files. VSC can call any compiler automatically but this hasn’t been done by anyone yet tho’ it’s supposed to be easy. VSC already supports C, Python, etc, etc.
So, VSC coupled with fastspin would be a game-changer IMHO. Parallax has the opportunity right now!
Fastspin is missing the ability to compile spin2 to spin bytecode. This could easily be done but I totally understand Eric not doing this. Spin2 is a moving target, changing at the wim of Chip. Anything Eric could do could (and most likely will, as history has shown) be obsoleted by Chip at any time. Why would he put effort into this? This is why Parallax needs to get seriously behind it, not a token “we support him”.
Just my wasted 2c
I did not find out the P1 existed until I stumbled across an article about the YBox2. At that point I found a gloriously vibrant ecosystem and an Obex full of ready to go projects and components that everyone could run and to which anyone could contribute, confident that anyone could run what they wrote. I don't think it's an overstatement to say that the Obex helped to make the P1, since it became the equivalent of that catalog where you could order a UART, an ADC, a video adapter, or whatever other software-hardware you needed for your 32 pin project. I am just worried that P2 will not enjoy that advantage. I have already rewritten the base ENC28J60 code for P2, in FastSpin; does that translate to Spin2? Does it help someone who has adopted C? How many people will actually find it useful? Where do I even put it, except here in the forums? If I go on to do a better TCP stack for it, since Harrison's memory-saving tricks aren't needed on P2, will it find users? These open questions simply weren't a problem when P1 was new.
I really appreciate all the work you, Chip, and the folks at Parallax have put into these products. I realize the commercial situation at the moment makes this a question with no "right" or maybe even "good" answer. All I can do is put my finger on the scale to say "please keep this force in mind when deciding." Ultimately Parallax will determine its way forward, and you guys have always done a pretty good job at that.
Since the forum won't let me delete, let me indulge....
So this is what SPIN users see. (ill attach the image of the first page to save you the trouble.)
https://github.com/parallaxinc/propeller/blob/master/libraries/community/p1/All/WX ESP8266 SPIN Get Started/WX_SPIN_Text_Page-To-Micro Iss1.pdf
And now compare that to what C users see.
https://learn.parallax.com/tutorials/language/propeller-c/parallax-wx-wi-fi-module-prop-c/send-web-page-event-info-propeller
Any questions?
"new laptop" and "old laptop" Is it trying to tell me I need TWO laptops to run this thing?
Post edited. I am a willing participant... are YOU?
1. HAS NO BREAK TO ENTER COMMAND MODE, thus FAILS.
2. Has POLL with no COLON, thus FAILS. (i guess POLL doesn't need a colon, but I had problems at one point without it.)
https://github.com/parallaxinc/propeller/tree/master/libraries/community/p1/All/WX ESP8266 SPIN Get Started
DO YOUR PART!
Did I find a command mode POLL bug?
I figured out I kinda did, I called ser.str(string("POLL")) WITHOUT a COLON. :
The module responds with a Reply: '=N,0,0'
When it should respond with a Reply: '=E,1' ?
Heres the poll command I sent in TEXT FORM.
Heres the poll command in TOKEN FORM.
When in TEXT FORM, i get NO reply, but TOKEN FORM, I get a reply.
Am I doing something wrong in TEXT FORM?
You can use the html HERE to prove it. (upload this html to your ParallaxWX module --> https://github.com/parallaxinc/propeller/blob/master/libraries/community/p1/All/WX ESP8266 SPIN Get Started/val-from-micro.html
Heres the full prop code in TEXT FORM
It includes the .side file to use with SimpleIDE.
You can speed it up by getting rid of many of the 1 second pauses, but be careful, you need to give the FullDuplexSerial.spin time to stop and start. If you stop it too fast, the data you sent will not send everything, and if you start it and don't wait long enough, you may lockup the prop.
WHY did the coder of Parallax Serial Terminal make rxcheck PRIVATE?????
FullDuplexSerialPlus contained the best of both of these, and was ELIMINATED???
So now Parallax Serial Terminal is missing RxCheck (because its private) and
RxTime() <--that is so necessary!
So technically Parallax Serial Terminal provides no way to get data without BLOCKING?
BOOOOOOOOOOOOO!
https://learn.parallax.com/tutorials/language/propeller-c/parallax-wx-wi-fi-module-prop-c/motor-control-sliders
Its done with Parallax Serial Terminal.
Don't make fun of my coding.
BEWARE your PROP will restart if you change the servo pwm too fast.
Tie the servo ground close to the power supply, not near the prop.
Like as if the prop ground is on a different branch than the servo.
That worked for me.