Amazed at Propellors easy and simplicity
Rick_H
Posts: 116
I have spent a year with 3 props now.
I have made a MIDI controller for Sonar with a total of 128 controls(Encoders and PB's),
I have made an Multichannel LFO 0.01-600Hz
(Triangle, Square, Sine, Log(1-4), Rectified, and anti-Log) each controlling a quadrant of the wave and selectable
Mixable with 3 analog inputs Foot expression, Feed forward and Feedback Envelope follower
an LCD 2x16 to display parameters and 3 encoders and 4 PB's
When I started these projects I was only familiarized with the Basic Stamp 2 and all my programing knowledge was in VB 6 and PHP, nothing else.
I have written 2 I2C protocols(PCF8574, MAX521) in PASM and 1 MicroWire (TLV0838)
I have to say the Learning curve was big for me taking on Multicore processor, shared memory management, no multiplication or division, I2C and Microwire , Spin and PASM( I rarely do anything in Spin anymore)
This chip just blows my mind, it seams if I can think it I can make it. Every task I have taken on I expect roadblocks in fucctionality and capability, I seriously have not had this issue.
I have made a MIDI controller for Sonar with a total of 128 controls(Encoders and PB's),
I have made an Multichannel LFO 0.01-600Hz
(Triangle, Square, Sine, Log(1-4), Rectified, and anti-Log) each controlling a quadrant of the wave and selectable
Mixable with 3 analog inputs Foot expression, Feed forward and Feedback Envelope follower
an LCD 2x16 to display parameters and 3 encoders and 4 PB's
When I started these projects I was only familiarized with the Basic Stamp 2 and all my programing knowledge was in VB 6 and PHP, nothing else.
I have written 2 I2C protocols(PCF8574, MAX521) in PASM and 1 MicroWire (TLV0838)
I have to say the Learning curve was big for me taking on Multicore processor, shared memory management, no multiplication or division, I2C and Microwire , Spin and PASM( I rarely do anything in Spin anymore)
This chip just blows my mind, it seams if I can think it I can make it. Every task I have taken on I expect roadblocks in fucctionality and capability, I seriously have not had this issue.
Comments
I realy wish it had more integrated math though, I am doing a lot of span and slop and mean averaging in my code and loading the math asembly and useing spin to pass data too it is a bit slow for some of the things I would like too do.
I am currently trying to write an assembly math routine that just has specific functions and has an interface more like what I do instead of using spin.
Functions I want are -
Average (count, numb1, numb2,numb3, ext)
Count is the number of variables to be passed - the number would go into a register in the math assembly and then would set a flag and clear the count var to be used to fill the numb# into(reuse the var)
Once the flag to write the numb# into Count is set the assembly routine passing the data would then write the first number and wait till the math routine grabbed it and cleared it and then repeat until the math routine reset the flag confirming it was received count numbers and then insert the average into count to be retrieved
.
this is just an example though, I need to think it through a but more as it seams their would be an even faster way other then writing the math into every assembly snip-it I did. Its the thing I am running into is speed versus cog management at the moment.
I know I seen a multiply and divide code somewhere, is it in the main manual for the prop?
Amazing! I am in awe! What an incredible tool!
I will look at what Mike posted, but you can find the spin interpreter code and my faster spin code pointed to in my signature (my tools thread identifies it). My code unravelled the spin interpreter to make it faster and a few including chip contributed to particularly the multiply and divide routines to improve performance.
As a possibility, you may find LMM useful now for some of the cogs where cog memory becomes an issue. There is plenty of threads discussing this. And if you need to know something, just ask.
Once I start getting into periphery Like KVM's and SD storage I can guaranty I will be looking at LMM. At the moment though I make compromises with speed and COG's. not that I need more cogs but I need to start laying out my projects better to manege what and when code is loaded, how long that takes and where best to fit it in. Currently I swap out my LCD code for EPROM Storage. their is no real sacrifice hear but when it comes to ADC/DAC, User controls PB, Encoders, Serial transmission and everything else I need to judiciously load and unload without interrupting my processes.
I also want to start an interface in VB. A lot of my projects would benefit from having a stand alone app to configure them. My LFO generator is hindered buy the complexity of the front panel 2x16 LCD and knobs and buttons. So their is lots more work to do and thanks to the prop for being so kind.
I taught three, standing-room-only Propeller classes at DEF CON 19 many of the participants were hard-core coders -- all agreed that the chip is amazing, and that PASM is easy and powerful. Sadly, too many people asked, "Why haven't I heard of the Propeller?" Of course, I couldn't answer that, but I'm hoping that my friends at Parallax participate in DEF CON 20 (going to be a big shindig) and other events where the Propeller might have been overlooked.
-Phil
Jim
MY PROPELLER KICKS
YOUR ARDUINO'S *SS!
... though there is no asterisk on my t-shirt. While teaching one of my classes a guy asked, "Do you have any thoughts on the Propeller versus the Arduino?" I opened my jacket to reveal the shirt and replied, "Yes I do..." Thankfully, everyone laughed and took my cheeky shirt with the spirit it was intended.
I've seen slideshows and videos posted from some of the others, but didn't come across yours anywhere.
Funny thing about the Prop is that it just gets better and better. The more you call on it to do, the more you realize it is not like anything else you've ever used.