Python on Propeller: many requests lately. . .

2456789

Comments

  • potatoheadpotatohead Posts: 8,773
    edited March 2015 Vote Up0Vote Down
    @David, three contexts:

    1. Education. Yeah, I think the P2 we've defined as well as can be right now would work just fine. Doesn't have to be super fast, just useful.

    2. Industry. No. Would not compete on overall Python speed.

    3. Hobby / niche. They won't do it, and would be using SPIN, PASM, C, etc... as that is all where the sweet spots are.
    Do not taunt Happy Fun Ball! @opengeekorg ---> Be Excellent To One Another SKYPE = acuity_doug
    Parallax colors simplified: http://forums.parallax.com/showthread.php?123709-Commented-Graphics_Demo.spin<br>
  • potatoheadpotatohead Posts: 8,773
    edited March 2015 Vote Up0Vote Down
    Obviously these educators have no intention of teaching anything about real-time embedded software as us old guys traditionally know it: strict timing, assembly language bit banging. No.

    This must be true because if they had such an idea they would not be thinking about Python.

    Yes. This is about literacy, being able to "make stuff like makers do", and managing the scope of complexity for practical class room / education reasons.

    And that's fine. One must get some basic competency before really facing embedded in the sense we know it.
    Do not taunt Happy Fun Ball! @opengeekorg ---> Be Excellent To One Another SKYPE = acuity_doug
    Parallax colors simplified: http://forums.parallax.com/showthread.php?123709-Commented-Graphics_Demo.spin<br>
  • Keith YoungKeith Young Posts: 478
    edited March 2015 Vote Up0Vote Down
    Heater. wrote: »
    What is going on here?

    Obviously these educators have no intention of teaching anything about real-time embedded software as us old guys traditionally know it: strict timing, assembly language bit banging. No.

    This must be true because if they had such an idea they would not be thinking about Python.

    Perhaps they are wanting to initiate people to the world of programming by means of a really easy to start with language. Like the good old BASIC days. In which case Python on a PC or Mac is an excellent choice.

    Perhaps they are wanting to inspire enthusiasm by including some real world interaction. Flash that LED and wiggle that servo. A fine idea.

    So, they should use a Rasperry Pi or MicroPython or if they are in touch with the "here and now" use JavaScript and Espruino.

    I find it hard to say, but I do not see anyway a Propeller or even Propeller II is a suitable vehicle for this.

    As some here have pointed out, a Propeller can make an excellent "coprocessor" to a Raspi or whatever to handle the real-time, real world interfacing stuff. That is an idea that has been around these forums since before there was a Raspberry Pi.

    Problem is it's an extra layer of complexity and expense that I'm sure these educators are not looking for.

    I've talked to a lot of kids and parents about STEM. I have yet to hear a single parent talk about assembly language, or bits/bytes/binary or anything that I imagine is fundamental in Computer Science.

    They want them to "learn to program" or "code" and if they search around using the terminology they know, they find Scratch, Raspberry Pi, Python, and Arduino. Parallax will have far more experience with what parents and teachers want, but that's my experience. You're mostly correct I think, LEDs, Servos, and simple sensors etc is where the kids are being directed.

    I think they want them to be able handle things such as a Boe Bot, and get into a program like First Robotics. From what I've seen, that doesn't require any knowledge of binary, hexadecimal, assembly language, or anything like that. With a background like this, the kids can choose to go for an Engineering Degree, including Electrical and Computer Science.
  • User NameUser Name Posts: 1,451
    edited March 2015 Vote Up0Vote Down
    Heater. wrote: »
    What is going on here? <snip>

    +10! Post-of-the-year in my book.

    Sometimes I think I'm the only real-time embedded systems engineer left in the Western world. And the wind is blowing. And it's cold. :\
    Platåberget
  • Heater.Heater. Posts: 19,170
    edited March 2015 Vote Up0Vote Down
    Keith Young,
    I've talked to a lot of kids and parents about STEM. I have yet to hear a single parent talk about assembly language, or bits/bytes/binary or anything that I imagine is fundamental in Computer Science.
    Of course not, they have no idea. Good grief I think my father knew more about bits and bytes and the operation of a computer back in the 1960's. And he'd never even seen one!

    How is it possible that we have had computers widely available since then but the understanding of them has declined so much?
    They want them to "learn to program" or "code" and if they search around using the terminology they know, they find Scratch, Raspberry Pi, Python, and Arduino.
    I have no idea why they want their kids to learn to program if they themselves have no idea about it. Apart from the general idea that it is the road to a good job and a happy life.

    The Raspberry Pi was exactly intended to bypass all that ignorance and get straight into the hands of the kids, for them to do whatever they liked with it.

    I'm having a hard time believing that knowledge of "binary, hexadecimal, assembly language," is not necessary. These are the fundamentals of the subject if you want to go into an engineering or comupter science degree. They are the fundamentals of how things work.

    Heck, I would argue that nobody should leave school without being exposed to such logic and rigorous thought.
  • 4x5n4x5n Posts: 716
    edited March 2015 Vote Up0Vote Down
    Ken Gracey wrote: »
    Hey there,

    Is there a compiler available?

    Yes, we should know already.

    Lately I've had many requests for Python on the Propeller, from middle school through university.

    Thanks,

    Ken Gracey


    Python = blech!!!

    I want Perl on the propeller!! :)
  • 4x5n4x5n Posts: 716
    edited March 2015 Vote Up0Vote Down
    Heater. wrote: »
    What's up with these educators?

    Back in the day we were introduced to computer science with BASIC. Or ALGOL if you were a going to major in CS.

    Then there was a time when Pascal was everywhere.

    Having watched a bunch of introductory CS courses from years gone by at places like MIT and a Stanford on YouTube recently I find they used Scheme for ages. Then Java.

    Now they want to use Python.

    Always some years behind in what industry wants and not necessarily the best languages for their CS educational aims.

    Then I hear that Parallax has been pestered for C on the Propeller, hence the push for prop-gcc and PropellerIDE. Good job by the way. But now it's frikken Python. On micro controllers! Be serious.

    The love of python has to do with the schools pushing object oriented languages.
  • Heater.Heater. Posts: 19,170
    edited March 2015 Vote Up0Vote Down
    User Name,
    Sometimes I think I'm the only real-time embedded systems engineer left in the Western world. And the wind is blowing. And it's cold. :\
    Thanks for the "+10". I know what you mean.

    I don't know how it happens but it turns out there are still young guys turning up who can create a fly-by-wire control system for a Boeing or an Airbus, or get factories working, or create real-time video streaming, or just write the controllers for your USB dongles, SD cards, SSDs, GPU's etc, etc. All those things we take for granted in this modern world.

    Please no one tell me that knowledge of binary, hexadecimal and assembler is not a good basis for that.
  • WBA ConsultingWBA Consulting Posts: 2,616
    edited March 2015 Vote Up0Vote Down
    I can't speak to all the technical discussion going on. However in the pursuit of educating kids I've been considering this product: http://shop.pimoroni.com/products/propeller-hat

    Looks like a slam dunk to me. Now you just need a set of libraries to drop right into your Python install to make usage extremely simple.
    Andrew Williams
    WBA Consulting
  • DavidZemonDavidZemon Posts: 2,249
    edited March 2015 Vote Up0Vote Down
    Heater. wrote: »
    User Name,

    Thanks for the "+10". I know what you mean.

    I don't know how it happens but it turns out there are still young guys turning up who can create a fly-by-wire control system for a Boeing or an Airbus, or get factories working, or create real-time video streaming, or just write the controllers for your USB dongles, SD cards, SSDs, GPU's etc, etc. All those things we take for granted in this modern world.

    Please no one tell me that knowledge of binary, hexadecimal and assembler is not a good basis for that.

    Actually, new students buy the code from China and then wrap it in Java classes. The chinese are stealing the code from Cobol programs around the world and translating it to Perl and JavaScript (since no one can read those languages in the first place, who's to know that they're written in Chinese)
    David
    PropWare: C++ HAL (Hardware Abstraction Layer) for PropGCC; Robust build system using CMake; Integrated Simple Library, libpropeller, and libPropelleruino (Arduino port); Instructions for Eclipse and JetBrain's CLion; Example projects; Doxygen documentation
  • Keith YoungKeith Young Posts: 478
    edited March 2015 Vote Up0Vote Down
    Heater. wrote: »
    Keith Young,

    Of course not, they have no idea. Good grief I think my father knew more about bits and bytes and the operation of a computer back in the 1960's. And he'd never even seen one!

    How is it possible that we have had computers widely available since then but the understanding of them has declined so much?

    I have no idea why they want their kids to learn to program if they themselves have no idea about it. Apart from the general idea that it is the road to a good job and a happy life.

    The Raspberry Pi was exactly intended to bypass all that ignorance and get straight into the hands of the kids, for them to do whatever they liked with it.

    I'm having a hard time believing that knowledge of "binary, hexadecimal, assembly language," is not necessary. These are the fundamentals of the subject if you want to go into an engineering or comupter science degree. They are the fundamentals of how things work.

    Heck, I would argue that nobody should leave school without being exposed to such logic and rigorous thought.

    I wonder if we should make a new thread about this, as I don't want to hijack the current discussion. I'm not disagreeing with you, just telling you what I've observed. I will say my gut (I'm Mechanical and Aero, so take this with a grain of salt) tells me they might not need to learn the nitty gritty bit stuff unless getting a degree in Computer Science etc.

    I'm not a regular to the forums, so I don't know if this should be discussed in a new thread, or an existing one elsewhere. The future of education is a very important topic that I have a lot of interest in, and intend to have a hand in as well.
  • Keith YoungKeith Young Posts: 478
    edited March 2015 Vote Up0Vote Down
    Looks like a slam dunk to me. Now you just need a set of libraries to drop right into your Python install to make usage extremely simple.

    If this exists please let me know. If not, is this a relatively easy thing for someone in this field to do? From the tone here, it sounds like some think we should have Python WITH the Prop rather than ON it. Not sure if that will suit Parallax's needs, but it could be up my alley.
  • Heater.Heater. Posts: 19,170
    edited March 2015 Vote Up0Vote Down
    4x5n,
    The love of python has to do with the schools pushing object oriented languages.
    This cannot be.

    If that were true they would be demanding Java, or C#, or C++. Heck even Spin is more object oriented than Python.

    By the way, schools have had perhaps 30 years to think about OOP. Just now the front line of development has realized it's a bad idea:)
  • Heater.Heater. Posts: 19,170
    edited March 2015 Vote Up0Vote Down
    Keith Young,

    No, don't worry about starting a new thread. This conversation is all relevant to question in the opening post.

    I do actually agree with you. In our normal lives we do not use such fundamentals as binary, hex, and assembler. (Well, except I do all the time, it make life easier)

    But: I have a fundamental belief that nobody should leave school without some hint of an idea about how this modern world actually works.

    Basic ideas about mathematics, physics, chemistry, biology, computers, language.

    Taking those topics as "headlines" one does not just tell a kid that "E=mc^2" as their physics education, no, one starts from basics.

    One does not tell a kid they only need a calculator to find answers to their problems and pass exams. No you start from arithmetic (or perhaps not now a days)

    In English classes, spelling and grammar were practised hard before you get down to writing essays and such like.

    So it should be with education regarding computers and computer science, essentials of the modern world. Start from the basics.
  • Keith YoungKeith Young Posts: 478
    edited March 2015 Vote Up0Vote Down
    Heater,

    I wish this could be done. I think what's keeping this idea from getting out there are some brick walls surrounding it. The teachers don't know this stuff, books to teach younger kids this probably suck, it will require a lot of time, etc. Heck, even now, the president is admitting that after having our kids full time 75% of the year, for 12 years, they aren't producing kids ready to join the work force.

    So short of adding another grade, raising teachers pay, buying more hardware, someone writing books for this, teaching teachers how to teach, finding how to get through the red tape of core standards, and the fact that a slow aging outdated dinosaur is running the educational system, I don't see this happening soon.

    It also runs a high risk in my opinion. When you teach this the same way Math and Science are taught, kids will hate it. Why? Because it's taught in such a boring and difficult way. Imagine a teacher trying to teach Binary and Hex. Most kids would rather have their teeth pulled. They won't see the point.

    Kids need to see the reason to learn things, the applications, they need to DO stuff. If you can think of an interesting and engaging way to teach this, I'm all ears. My goal is to get kids engaged in this sort of stuff. Right now however, Python and Scratch are currently the path of least resistance.
  • jmgjmg Posts: 10,080
    edited March 2015 Vote Up0Vote Down
    I'd be very interested in a single board which could take a keyboard and mouse (prefer USB), send video to a monitor, and allow me to program the board with just that hardware. For example if it had an ARM chip, have the ARM chip send the code to the Prop. That may be a pipe dream.

    No pipe dream, it is called RaspPi - that 'has an ARM chip, & can have the ARM chip send the code to the Prop'
  • jmgjmg Posts: 10,080
    edited March 2015 Vote Up0Vote Down
    Like others have said, a RaspberryPi with a Propeller stacked on it would be an ideal solution if paired with a Python Library for all sorts of standard Propeller abilities. Let the Propeller handle the grunt work for keypads, sensors, LEDs, servos, etc, and communicate through a python library to the RPi for use in any full fledged Python program.
    I agree that makes the most sense for a release pathway.
    ( The BBC only claim to plan to be "compatible with" python, so parallax may need to at least be there.)

    If that reaches critical mass, and demand for the details is there, then Parallax can look at python to prop binary, at the function level.
  • potatoheadpotatohead Posts: 8,773
    edited March 2015 Vote Up0Vote Down
    Couple of thoughts...

    First, it's not too important they understand binary, hex, bit ops, assembly... Lots can be done without those things.

    When I wad a kid, I was told those things were useless, or real niches. But we wanted to make things happen on the Apple computers, so we worked a lot of it out ourselves. We being my per group and an educator or two.

    One solution wad to have us teach others. I did that and it was a huge professional benefit today. I am a very good trainer instructor. Got those skills from performance art programs and in the class room.

    Binary,and friends does not have to be dull. I go back to games, sound, inputs, all of which hold kids interest, are fun, and do teach very useful skills, in addition to delivering great real time feedback.

    Teachers need to know more, but they can tap the people around them too and should.
    Do not taunt Happy Fun Ball! @opengeekorg ---> Be Excellent To One Another SKYPE = acuity_doug
    Parallax colors simplified: http://forums.parallax.com/showthread.php?123709-Commented-Graphics_Demo.spin<br>
  • Heater.Heater. Posts: 19,170
    edited March 2015 Vote Up0Vote Down
    Keith Young,

    Oh boy, this is a big topic.

    It's amazing to me that we have had computers available in every home for three or four decades and we come to the point that parents know nothing about them and hence their children. There were such high hopes of computer literacy back in the 1980's. What the hell happened?

    Yes, it is hard. But, that is exactly the motivation behind the Raspberry Pi. Cut through all that educational system red tape and get the machines into the hands of the ten year olds. Of course the Raspberry Pi Foundation also want to work with educators to educate them along the path.
    It also runs a high risk in my opinion. When you teach this the same way Math and Science are taught, kids will hate it.
    And there something is deeply wrong. Sure if kids are expected to learn by rote and pass exams without seeing or understanding all curiosity will die.
    Kids need to see the reason to learn things,..
    Yes. I see all around that kids can be enthused by robotics. Straight away they might need to know how to do some simple logic to control such a thing. Boom, they are into logic and binary and perhaps even hex.

    Oh, and perhaps there is some maths they might suddenly find useful.

    Anyway, I don't understand why your argument is restricted to the Maths and Science you say kids hate. In my vague memories of school we hated English, History, Geography, Religious Knowledge, Civics, Music, Drama, just as much:)
  • Keith YoungKeith Young Posts: 478
    edited March 2015 Vote Up0Vote Down
    jmg wrote: »
    No pipe dream, it is called RaspPi - that 'has an ARM chip, & can have the ARM chip send the code to the Prop'

    I meant as a single unit. No assembly, finding libraries, all that jazz. I do have Raspberry Pis and have had some time teaching it to kids, but still no GPIO or combining with the Prop.
  • LoopyBytelooseLoopyByteloose Posts: 12,537
    edited March 2015 Vote Up0Vote Down
    We live in a world where new microcontrollers are in abundance and pumped out faster than we can comprehend.

    Meanwhile, I tend to think that new users and especially kids are given boards with way too much capacity to ever teach in any depth. In between is sandwiched the teacher that has other things to keep up with aside from the evolution of technology and computer languages.

    In many cases, we are expecting way too much from the schools and the teachers and are just throwing sophisticated hardware at them when what they really might need is something small and universal -- like the SX48 chip that is no longer available.

    If you start out with Python and Linux, you have to teach exponentially more, and provide exponentially more hardware (Hint - monitors and screens are expensive). Be prepared to completely revamp education and to hire specialist educators just to run an introductory computer science curriculum within the school's more general mandate. Of course, parents of every kid will want to participate because of the prestige involved. So it all becomes a mad house.

    +++++++++++++
    As it is...
    The Propeller 1 is a very capable educational device -- cost effective, lots of creative depth (does video, sound, logs, and trig). It just doesn't maintain the in vogue 'chic' that Python seems to have been assigned.

    You cannot manage 12 years of education by responding to every whim that comes along. Underlying long-term trends are important. Teaching fundamentals first is prudent. Also choice of teaching materials that will endure over time is necessary-- not be here today, gone tomorrow.

    If Parallax wants to continue on in educational products, a long-term liason with a university that has a well developed educational department would be wise. After all, it seems that Raspberry Pi has Cambridge. I don't know what the Arduino has as it started in Italy's educational system. And it wouldn't hurt to have a long-term tie in with a publisher like O'Reilly or Wiley.

    Funding? I don't see how Parallax can do it unless they start writing grant applications -- acquire a grant, then get another grant to match those funds and so on. It can be done, but it doesn't seem playful enough for Parallax's culture.

    We live in today's world of desktop publishing, desktop marketing, and whirlwind buzz about the latest. But real education needs to step aside from all that and address what the student really needs to know -- not the nice to know, not the neat to know, and certainly not the nonsense.
    Hwang Xian Shen, Puddleby-on-the-Marsh.
    All things considered, I can live and thrive without Microsoft products. LINUX is just fine.
  • Keith YoungKeith Young Posts: 478
    edited March 2015 Vote Up0Vote Down
    Heater. wrote: »
    Keith Young,

    Oh boy, this is a big topic.

    It's amazing to me that we have had computers available in every home for three or four decades and we come to the point that parents know nothing about them and hence their children. There were such high hopes of computer literacy back in the 1980's. What the hell happened?

    I think that they've made computers/tablets etc so good that all of these technical things became invisible. You don't need literacy. My 1.5yr nephew will walk up, grab a thumb to get past a biometric lock, and run away with the phone. You don't need to know what Hexadecimal is if you have a fingertip.
    Heater. wrote: »

    Yes. I see all around that kids can be enthused by robotics. Straight away they might need to know how to do some simple logic to control such a thing. Boom, they are into logic and binary and perhaps even hex.

    Oh, and perhaps there is some maths they might suddenly find useful.

    Anyway, I don't understand why your argument is restricted to the Maths and Science you say kids hate. In my vague memories of school we hated English, History, Geography, Religious Knowledge, Civics, Music, Drama, just as much:)

    How might they learn Binary and Hex doing that? For example, I programmed an IEEE winning robot using OpenCV and C++ and hacking together crap I found on StackOverflow. I had no clue what I was doing, never used Bin or Hex direclty, hacked it together, and we won. I can see how they're put into logic, but how does it lead them to Bin and maybe Hex?

    I agree with you. The way they taught stuff made me hate everything. You should see my students when I'm doing remedial Math or Science. It's amazing. I had a student's mom come to pick her back up and she didn't want to leave for a birthday party (not hers, but still, cake and ice cream). I guess Binary and Hex strike me as "dry" and more in line with how Math is traditionally taught. Then again, I never really learned it beyond knowing that 12 is also 1100 and C.

    This is a big topic! I need to find a thread where this whole broad topic has been argued back and forth and discussed in and out.
  • jmgjmg Posts: 10,080
    edited March 2015 Vote Up0Vote Down
    I meant as a single unit. No assembly, finding libraries, all that jazz. I do have Raspberry Pis and have had some time teaching it to kids, but still no GPIO or combining with the Prop.

    There is nothing technical preventing that, just the economies of scale, and some supply-chain issues around getting silicon (which are also related to economies of scale).

    The newest RaspPis have improved the mechanical design so stacking boards is more practical,

    Note that even a bundled one-board design, would still need 'finding libraries', and it risks falling behind new releases. As things stand now, two boards is a better approach.
  • mindrobotsmindrobots Posts: 6,486
    edited March 2015 Vote Up0Vote Down
    You forgot 12 also being 14 in your example! :0)
    MOV OUTA, PEACE <div>Rick </div><div>"I've stopped using programming languages with Garbage Collection, they keep deleting my source code!!"</div>
  • mindrobotsmindrobots Posts: 6,486
    edited March 2015 Vote Up0Vote Down
    Two boards is better. At this moment, I can put a Propeller, ARM or Arduino hat on my Raspberry Pi. Pretty cool!
    MOV OUTA, PEACE <div>Rick </div><div>"I've stopped using programming languages with Garbage Collection, they keep deleting my source code!!"</div>
  • Heater.Heater. Posts: 19,170
    edited March 2015 Vote Up0Vote Down
    I don't know Keith,

    You make this binary and hex stuff sound like such a big trauma.

    I should think it's just an hour or so in a child's long road through school.

    I'm old enough that this was not taught in school. I just happened to introduced to it by a guy who was mentoring us young'ns in the arts of amature radio.

    My brain popped at that moment. "You mean with those zeros and ones we can express all numbers and all of human knowledge? Oh my God wow?"

    "You mean with those simple AND, OR, NAND, NOR, XOR operations we can calculate anything, Oh my God wow!"

    Still today, the concepts of information and zeros and ones is important in understanding explanations of things like the black hole.

    Should we deny people of the chance to understand the world that they live in?
  • mindrobotsmindrobots Posts: 6,486
    edited March 2015 Vote Up0Vote Down
    What percentage of the modern world knows what a black hole is much less ponders it versus marveling over their latest discovery on Facebook? What percentage of thd population look at the nebula in ORION'S belt (how many can find Orion or know when/where to look for Orion?) In wonderment compared to marvelling at you BFF's latest selfie on Instagram?

    Society is doomed!!!
    MOV OUTA, PEACE <div>Rick </div><div>"I've stopped using programming languages with Garbage Collection, they keep deleting my source code!!"</div>
  • Heater.Heater. Posts: 19,170
    edited March 2015 Vote Up0Vote Down
    mindrobots,
    What percentage of the population look at the nebula...
    You know, I think there is something very profound about that.

    Ever since we fired up the power stations and turned the lights on everywhere the "light pollution" has been so bad that 90% of the worlds population never gets to see the stars in their full glory.

    They are totally deprived of that awe inspiring, terrifying, view of the gigantic space in which we try to live.
  • Bill HenningBill Henning Posts: 6,439
    edited March 2015 Vote Up0Vote Down
    It exists!!! see http://RoboPi.com

    It even has nice C/C++ & Python Arduino like library!

    FYI, I am finding that I am writing a lot of code in Python these days (I was working on some ADC code today), however both the PropellerIDE and SimpleIDE run on the Pi.
    potatohead wrote: »
    I see this too. Maybe a Pi board "plate' with a Prop on it, running some code to do comms coupled with a Python library would help here?

    And since we have a spiffy tool chain on the Pi, they can do SPIN, C, PASM too, in tandem with Python, or not.

    Frankly, the skills one gets by doing those kinds of things are meaningful, real world useful.
    www.mikronauts.com / E-mail: mikronauts _at_ gmail _dot_ com / @Mikronauts on Twitter
    RoboPi: The most advanced Robot controller for the Raspberry Pi (Propeller based)
  • Bill HenningBill Henning Posts: 6,439
    edited March 2015 Vote Up0Vote Down
    Thanks Rick!

    I expect a major update to the API in April/May, and some more boards :)
    mindrobots wrote: »
    That's why I brought up Bill Henning's excellent RoboPi board is the perfect blend of RasPi and Propeller!
    www.mikronauts.com / E-mail: mikronauts _at_ gmail _dot_ com / @Mikronauts on Twitter
    RoboPi: The most advanced Robot controller for the Raspberry Pi (Propeller based)
Sign In or Register to comment.