Shop OBEX P1 Docs P2 Docs Learn Events
William Wong's view of the Propeller — Parallax Forums

William Wong's view of the Propeller

HarleyHarley Posts: 997
edited 2006-09-02 23:48 in Propeller 1
FYI

From today's Electronic Design Update, an article at
www.elecdesign.com/Articles/ArticleID/13329/13329.html
reviewed/critiqued the Propeller. I couldn't tell if he was off-base or not on any of his points.

▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Harley Shanko
h.a.s. designn

Comments

  • Phil Pilgrim (PhiPi)Phil Pilgrim (PhiPi) Posts: 23,514
    edited 2006-08-30 17:48
    A good author will take something complicated and explain it in simple terms so everyone can understand it. This article proves that the opposite is also possible.

    -Phil
  • RsadeikaRsadeika Posts: 3,824
    edited 2006-08-30 18:14
    But, it also reads like a pretty fair eval to me.

    Ray
  • Kaos KiddKaos Kidd Posts: 614
    edited 2006-08-30 19:38
    Well, I know someone from these boards did offer a correction of the fella's mis conceptions.

    Check out the comments at the bottom of the page.

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔

    Propeller + Hardware - extra bits for the bit bucket =· 1 Coffeeless KaosKidd



    Post Edited (Kaos Kidd) : 8/30/2006 8:03:42 PM GMT
  • parts-man73parts-man73 Posts: 830
    edited 2006-08-30 20:44
    Alot of the article seems to be clear as muddy water. For someone who understands the Propeller already, I could see the points he was trying to make. But the article wasn't intended for people that already own one, it is to introduce it to people that have never heard of it before.

    I agree with Phil, he makes it sound alot more complicated than it really is.

    Sounds like he made up some of his own terms, "Cog Code" for example. I know he's refering to assembly, but someone writing an article about microcontrollers, should know what Assembly is.
    And some comments were just plain wrong, for example on page 2 he states "The high level Spin code is designed to be slow but more flexible." - Designed to be slow? I sure that's what Chip had in mind while he was designing this, "how can I make this as slow as possible???" He does go on to state that "Because it is interpreted, it is much slower than cog code" That is true, and obvious. Any interpreted code is slowed that pure assembly code.

    I just feel that this article would turn off otherwise prospective Propeller users.

    Just my feelings,
    Brian
  • HarleyHarley Posts: 997
    edited 2006-08-30 22:54
    I feel better now. I've read Wong's articles for some time; had always felt he was doing pretty good until today.

    Felt I was being scammed on the Prop for some of the things he said. Like a number of wrong things being said, or at least not being described correctly. Good to hear a few other's opinions.

    Yes, if I were just hearing of the Prop from his article, I might just be turned off.

    About the time I read of the Propeller, I also read about some other companies IC with many more than 8, was it 25 or 256, processors. Which was intriguing until hearing the package was a BGA. That is NOT for the hobbyist! Was so pleased the Propeller also came in DIP form.

    For sure, Wong isn't always right! Not even 2 Wongs can make a right! roll.gif

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Harley Shanko
    h.a.s. designn
  • PLJackPLJack Posts: 398
    edited 2006-08-30 23:09
    Second paragraph:
    said...
    This can make debugging a bit difficult if two processors accidentally use the same pin at the same time in a different fashion

    That is just plain false. No?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    - - - PLJack - - -



    Perfection in design is not achieved when there is nothing left to add.
    It is achieved when there is nothing left to take away.
  • Graham StablerGraham Stabler Posts: 2,507
    edited 2006-08-30 23:44
    Just change Wong to Wrong?

    They spend so long going on about what you can read straight from the website/datasheet they always seem to miss the point. The first line should be:

    "imagine a processor that would allow you to knock up a digital oscillocope with keyboard mouse and VGA grahics in a weekend, allow fast assembly and powerful and structured high level programming, that didn't require interrupts and was completely software configurable for a huge array of hardware. Imagine that and you are imagining Parallax's new 8 processor power house the propeller!"

    You can use that Parallax [noparse]:)[/noparse]

    Graham
  • CowthiefCowthief Posts: 1
    edited 2006-08-31 00:57
    Hello.

    I read the post BEFORE having any idea about the propeller, I bought one.
    What I can tell you, some things are quite easy to implament, some can not be done.
    One thing I would have trouble with is a failsafe.
    A failsafe is a timer that is reset by a bit of code.
    One easy way to do this is have a 555/6 timer IC that has an output to the reset pin of a CPU.
    The timer gets refreshed by an output from a line of code on a physical port.
    If the system hangs, it reboots.
    This is very common in telephone applications where there are usually 2 CPU units running in tandom.
    Now there are 8 CPU units in a propeller, but how would you failsafe without a full reboot of the entire chip?
    With that said, I have found the propeller chip to be an exciting chip to work (play?) with!
    The fact that the high level code is much like BASIC in ease of use makes programming, well, easy.
    I am just beginning to explore the propeller, lets see what happens in a few months.
  • Martin HebelMartin Hebel Posts: 1,239
    edited 2006-08-31 01:14
    Cowthief said...

    Now there are 8 CPU units in a propeller, but how would you failsafe without a full reboot of the entire chip?

    A Cog running a watchdog timer (failsafe) as assembler would be very safe to monitor the other cogs. A failure due to a bug in the code is much more likely than the hardware having issues.

    Many controllers have built in watchdog timers which run seperately from the main CPU. Same principle applies to having a cog act as a watchdog.

    %0000_0010 cents
    -Martin

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Martin Hebel
    Southern Illinois University Carbondale - Electronic Systems Technologies

    Personal Links with plenty of BASIC Stamp info
    StampPlot - Graphical Data Acquisition and Control
  • Martin HebelMartin Hebel Posts: 1,239
    edited 2006-08-31 01:18
    Eh, I hit submit too quickly too often...

    On most controllers, if the watchdog times out, the uC is reset starting all over. The same applies here. But also, it is possible to have a cog reload without affecting other cogs.

    %0000_0001 more cents
    -MH
  • parts-man73parts-man73 Posts: 830
    edited 2006-08-31 01:42
    In reply to:

    Second paragraph:
    said...
    This can make debugging a bit difficult if two processors accidentally use the same pin at the same time in a different fashion


    That is just plain false. No?


    I don't think that's false. It would be possible. But a good programmer would not write code allowing that.

    His statement is like saying it's a bad design for a car to have both a gas pedal and a brake pedal, because if two feet accidentally used both pedals at the same time, it could make driving difficult.


    Brian
  • Graham StablerGraham Stabler Posts: 2,507
    edited 2006-08-31 15:47
    PLjack 'n Brian,

    I think it was a silly statement. Firstly if the cog were not supposed to be using the same pin then it would be very easy to spot, if one cog was making the pin high while the other thought it should be low then that's just the program being wong [noparse]:)[/noparse] it would seem no harder to fix than any other bug as you would see the pin was high when it shouldn't be and could then isolate what is making it high.

    Asuming you are passing variables for the pins used rather than using magic numbers it is no worse than using a function with a convential processor.

    Graham
  • Beau SchwabeBeau Schwabe Posts: 6,547
    edited 2006-08-31 16:19
    COG's and I/O PINS

    There are two 32-bit registers for controlling the I/O pins for each COG that get OR'ed with the other COG's.

    Suppose one COG sets I/O # 16 to an OUTPUT...

    dira[noparse][[/noparse]16] := 1 'Direction Register for this COG looks like this... %00000000_00000001_00000000_00000000

    Now suppose another COG comes along and wants to make the same pin an INPUT...

    dira[noparse][[/noparse]16] := 0 'Direction Register for this COG looks like this... %00000000_00000000_00000000_00000000


    Although the program will compile, the COG wanting to make the pin an input has lost the battle. Because the two
    registers are OR'ed together and the end result sets the pin to an OUTPUT.

    The same goes for setting the pin HIGH or LOW. The COG that defines the pin HIGH will over-ride any attempt from
    another COG to set the same pin LOW.·· ...In a situation of defining a pin HIGH or LOW the individual COG must also
    define the pin as an OUTPUT.· Otherwise the HIGH/LOW state will not be allowed to pass out of the individual·COG.

    It simply boils down to being aware of this and designing your application appropriately.



    Reference Page 26 and 27 Propeller Manual v1.0

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Beau Schwabe

    IC Layout Engineer
    Parallax, Inc.

    Post Edited (Beau Schwabe (Parallax)) : 9/1/2006 5:57:45 PM GMT
  • Timothy D. SwieterTimothy D. Swieter Posts: 1,613
    edited 2006-09-01 00:49
    Boy it is interesting to read your reviews of William's article. I wrote a review of the Propeller for Robot Magazine's latest issue. Has anyone read that? Was I off the mark? Any comments on it - I do like getting feedback.

    I loved writing the review and I love playing with the Propeller - if I am going to write a review of a product, I want to make sure I know something about it. I don't claim to be an expert, but I try to learn and to teach others what I know. There are two points that I found hard to explain to others when I have talked (or wrote) about the Propeller, one was the change in thinking that must occur when working with eight processors without interrupts. The other was the general hardware design of the micro (i.e. not specific pins for serial ports, I2C, PWM, etc).

    For most people, the light bulb will go on eventually. Keep working at learning the Propeller!

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Timothy D. Swieter
    tdswieter.com
    One little spark is all it takes for an idea to explode
  • OzStampOzStamp Posts: 377
    edited 2006-09-02 23:48
    Hi All.

    It is alway's interesting to read what other people think about a new product.
    I am a little biased here due to the fact that we resell the Propeller and the trusty old
    Basic Stamps here Downunder· ... but to give you an inside view of what we as people hear and··see
    when we show the Propeller (to prospective customers) in action I thought it is worth sharing
    Sorry there is not much technical content...

    Now we have knocked up a few demo circuits to show the unique capabilities of the Propeller.
    Things like the Video out ... counting high freq pulses on multiple pins, sampling an analog waveform
    with multiple A/D chips to show REAL TIME SAMPLING..
    All pretty boring stuff to a group of engineers sitting around a table ...right ... your wrong...
    As all you Propeller heads know this can all be done no big drama at all...
    We on a daily bases get comments like " Parallax where/who·are they "· Why did Parallax come
    out with such an incredible device.. not people like Our friends at MicroChip or Atmel...???
    Most people that really know what they are on about and are out and about doing real stuff
    really appreciate the thought that has gone into this device.
    All this device needs is a slightly dif way of thinking...
    All this articles in mags are all pretty boring really ... get one.. read the manual and play.
    As Ed in the UK say's "Expect to be blown away ... I like that..."

    I just got a surprise as well .. Its Father's day here .. lots of pressies..3/9/6

    Cheers
    Ronald Nollet in OZ.

    ·
Sign In or Register to comment.