Raspberry Pi launch farce

Grumpy_Mike:

As for "stone soup", well, it's a tool. Some people can turn modest ingredients into a banquest.

Yes of course they can. :stuck_out_tongue:
Stone Soup - Wikipedia

OK, now you'll have to explain how/why the RPi is like the "stone soup" in the fable. Cool story, BTW... I've never come across it before.

I thought you were just saying "cheap, but who cares if it's basically inedible."

FWIW, I've always thought the Arduino was a bit like the "stone soup" in the fable. The core hardware and software is actually pretty ordinary, to be generous, but the third party contributions (mostly software) are where the real value is to be found in the platform.

No I was saying that the so called low cost of the Pi was not so low when you have to buy a keyboard, mouse, HD TV, SD card and power supply.
Stone soup sounds like soup made from a very low cost ingredient, however in order to be edible you have to add real food. I think the authors of Wikipedia get the motivation wrong. In England it is a tale of how gullible people can be when offered what looks like a low cost bargain but then they have to buy all sorts of extras to make it any good. Another real life example is the low cost airlines like Rayan Air, flights are cheap but you pay for booking in but you can't take the flight without booking in.

Grumpy_Mike:
No I was saying that the so called low cost of the Pi was not so low when you have to buy a keyboard, mouse, HD TV, SD card and power supply.

That's a good point, and it would probably triple the cost at least if you had to go out and buy all the standard peripherals to get them to work.

But you don't always have to. I haven't bought anything for the one I'm using -- I had a spare 8GB SD card, and I'm running it as a network server, so it sits on my LAN and I use ssh or telnet from my laptop or desktop instead of a dedicated keyboard and/or monitor. I'm powering it from a USB hub, so I didn't even have to buy a power supply (although I've ordered one anyway... $5 from China on ebay. I'm such a cheap-ass.)

Other people may well have spare keyboards and mice laying about. I have whole closets downstairs with crap like that in them. I get nervous going down there though, I have dark suspicions about what may have been breeding down there.

The glass half-full view is looking at what you do get -- Ethernet port (on the "B" model), 2 x USB host ports, SD card slot, 2 x video, audio, some GPIO breakouts, an ARM 11 with 256MB of RAM -- and a couple of ports I haven't figured out what exactly they might be used for (cameras/video devices?)

How much are you going to have to spend on add-ons to get an Arduino with all of that (even the bits you can get)?

Grumpy_Mike:
In England it is a tale of how gullible people can be when offered what looks like a low cost bargain but then they have to buy all sorts of extras to make it any good.

OK, at least I understand the point you were making now.

Actually, I think embedded Linux devices complement the 8-bit Arduino class devices nicely. While there is some overlap at edges, they really have different strengths and weaknesses. Not every application needs hard real-time, not every application needs to do SSL. I've worked with embedded Linux devices in various situations for quite a few years now, so I have a fairly good idea of what they can do already. What knocks me out about the RPi is the breakthrough price point.

And of course, the thing about real-time (which seems to be your main criticism), is "how much" real-time do you need?

Garden variety Linux distros do what is sometimes called "soft" real time. It's got micro second timers, and if you program your app carefully, your delays will be no shorter than the timeouts you have requested.

If you need to improve on average time latencies (rather than worst-case), it's easy to bump the priority up.

If you really need "hard" real-time (i.e., genuine guarantees for worst case latencies), you recompile the Linux kernel with something like Xenomai, RTAI, or RT Linux (Xenomai - Wikipedia). Then you get a RTOS with guaranteed latencies in the order of 15 usecs or so.

I would be surprised if Xenomai has been ported to the RPi yet. But I wouldn't be surprised at all if it done in the reasonably near future -- it is running on fairly similar ARM boards already, and the Xenomai team is pretty active.

I personally think the RPi is going to attract masses of development interest because of the bang for buck. I'm already planning my next RPi project (which will have an AVR chip on a daughterboard, if that will soften your grumpy heart even a little :-).

And of course, the thing about real-time (which seems to be your main criticism), is "how much" real-time do you need?

Well you really miss it when you don't have it. It rules out all sorts of projects that I was hoping to do with the Pi, and I am still hoping to do with the Due.

Then you get a RTOS with guaranteed latencies in the order of 15 usecs or so.

So you jump through all sorts of hoops and only get 15uS. It is not just the latency it is the fact that your thread can be closed down at any time. This rules out projects that involve timing like a lot of A/D functions. Also driving a matrix, generating PWM or servo signals are a no go. Anything that involves digitising audio or data or a soft scope is right out. One project I wanted to do was a simple audio delay with all that memory. Just a A/D, store, then D/A but you can't do that.
You also can't use interrupts like we understand them, that is deliverer direct to your running thread.

So yes the Pi can do some sorts of projects but it is limited. For example it would be a good way to transfer slow data through a web page. It could replace a lap top running Processing for several Arduino type projects, but then that is only replicating what you can do already. What I am looking for is something I can use for projects that at the moment do not have a good solution. The Pi does not seem to be that something.

Grumpy_Mike:

And of course, the thing about real-time (which seems to be your main criticism), is "how much" real-time do you need?

It is not just the latency it is the fact that your thread can be closed down at any time. This rules out projects that involve timing like a lot of A/D functions. Also driving a matrix, generating PWM or servo signals are a no go. Anything that involves digitising audio or data or a soft scope is right out. One project I wanted to do was a simple audio delay with all that memory. Just a A/D, store, then D/A but you can't do that.
You also can't use interrupts like we understand them, that is deliverer direct to your running thread.

Actually, none of this is true.

The thing is, you do a lot of this the hard-real time stuff in device drivers, which run at kernel mode, which you write to have critical sections that are not interruptable.

The interrupts are still there, of course, it's just that they are abstracted away for user space (i.e., ordinary) programs. The kernel handles the raw hardware. You want access to the raw hardware? You got it. You write a driver (which sounds daunting, but is actually not that difficult to do).

As an exercise for the reader, google Linux PWM driver, and see what you come up with.

Grumpy_Mike:
So yes the Pi can do some sorts of projects but it is limited. For example it would be a good way to transfer slow data through a web page. It could replace a lap top running Processing for several Arduino type projects, but then that is only replicating what you can do already. What I am looking for is something I can use for projects that at the moment do not have a good solution. The Pi does not seem to be that something.

Without meaning to be rude, the limitations you are perceiving here are not really with Linux, but rather with your limited (seriously, almost non-existant) understanding of the Linux architecture. While no single tool is going to be the optimal solution to every project, an RPi running under various flavours of Linux can do a lot -- much, much more than you say. Perhaps it's time to do a bit of reading. Or not. I've pointed you to where the water is, it's up to you to do the drinking.

Let me know when you have SSL running on that Due, LOL.

Actually, none of this is true.

Well according to the experts on the Pi forum this is true. These are people with 12 years plus professional usage of Linux.

Yes I am very new to Linux, however I have not got 20 years left in me jumping through hoops to fix something that is just a tangled mess. The problem is that Linux is a great mess, it is better than it was but it is still a mess. The code quality is very poor. Most of the time stuff simply does just not work, and you have to keep upgrading the distribution so that all you configuration is lost and you have to start all over again. This passes for entertainment in Linux land. You can try automatic updaters like RPI-update and that just trashes your SD card, it sould have been called RIP-update.

One problem with the Pi is the USB drivers drop frames, resulting amongst other things repeating keys on some keyboards but not others. They can't solve that so what chance have I in solving that.

Frankly if you get you kicks from writing drivers and installing stuff then Linux is for you. If you actually want to do projects then there are much better solutions.

Anything that involves digitising audio or data or a soft scope is right out. One project I wanted to do was a simple audio delay with all that memory. Just a A/D, store, then D/A but you can't do that.

An RPI-class device running linux CHANGES the way you have to do such things, but doesn't make them impossible. For instance, your audio delay project would probably best be done with a $10 USB "Sound card", rather than a $30 "Audio Codec shield."

Grumpy_Mike:

Actually, none of this is true.

Well according to the experts on the Pi forum this is true. These are people with 12 years plus professional usage of Linux.

Only 12? Late to the game, then... :stuck_out_tongue:

Grumpy_Mike:
Yes I am very new to Linux,

Yes, it shows.

Grumpy_Mike:
however I have not got 20 years left in me jumping through hoops to fix something that is just a tangled mess. The problem is that Linux is a great mess, it is better than it was but it is still a mess.

Uh, well no. I don't know where you are getting this stuff from, but refer to the previous point.

Grumpy_Mike:
The code quality is very poor. Most of the time stuff simply does just not work, and you have to keep upgrading the distribution so that all you configuration is lost and you have to start all over again.

Uh, no and no. And no.

Grumpy_Mike:
This passes for entertainment in Linux land. You can try automatic updaters like RPI-update and that just trashes your SD card, it sould have been called RIP-update.

I used RPI-update when I installed the standard "Raspbian" distro. No trashed SD card, it just all works. But what would I know...

Grumpy_Mike:
One problem with the Pi is the USB drivers drop frames, resulting amongst other things repeating keys on some keyboards but not others. They can't solve that so what chance have I in solving that.

So, it's currently not working with some keyboards (I haven't heard this, but let us suppose you have your facts straight on this).

Well, that's clearly game over then, isn't it? :roll_eyes:

Grumpy_Mike:
Frankly if you get you kicks from writing drivers and installing stuff then Linux is for you. If you actually want to do projects then there are much better solutions.

I do both. But if you want to argue for your limitations, feel free -- you are entitled to keep them.

Just don't confuse your limitations with anything (or anyone) else's, please! You are starting to sound like the guy who started that recent thread "ARDUNIO C+++ SUCKKS!!11!!

I'm sure you are very knowledgeable about many things. You will look less foolish if you stick to opining about that which you know.

It always amazes me how people can have such strong opinions about subjects about which they actually have so little knowledge or experience. Part of the human condition, I suppose.

I'm going to have to ask the personal attacks to discontinue here, or I will lock this thread.

Linux is as lovely as the people who love it.

Move over Adonis, I'm coming through with my Red Hat distro.

Only 12? Late to the game, then..

Yes I think that sums up Linux quite nicely, a gentle learning curve.

Grumpy_Mike:
Linux is as lovely as the people who love it.

Aww thanks mike :*

I tend to agree with a lot that you have said, and for the types of projects "we" would be interested in linux is a very poor/overcomplicated choice, especially when you just want to jump in there and get it done.

What might be really good is if someone ported freedos, but thats a HUGE project, and I wont be doing it, I said screw PI a while back and ended up finding a 800Mhz vortex86 board which is of course intel compatible and a little over twice the size ... course thats a 200 something dollar board, but I got it for a song and a dance (actually about the same price as a pi + shipping) and I can slap a IDE drive on it and run any x86 os I please ... so good luck, enjoy the pi

snicker

seriously though good luck

To be honest, I think you get what you pay for. The Pi is pretty cheap, so you don't expect something that is going to work flawlessly out of the box. Or indeed, reliably, if my experience is any guide.

Once the kinks are ironed out, and the operating system is tweaked, and maybe some interfaces are clearly defined, it may well work very well.

It may be very useful for situations like where you want to make a network printer box, or some kind of interface to things (eg. weather data collection).

Whether it is a fantastic teaching tool for newbies at school, well I think we can wait for the teachers to tell us that.

At least with my Arduino (or bare-bones boards with an Atmega328P on them) I don't have to worry if the "device drivers" all loaded at boot time, or if the USB interfaces enumerated, or if the Ethernet port initialized. I don't have to worry because it doesn't have them. :slight_smile:

It may be very useful for situations like where you want to make a network printer box

That's kind of the silly situations that the pi gets promoted for

"want a network printer box? nevermind that 15$ refurb netgear with 2 usb ports and a 4 port switch that does everything you want! get a PI bash your head against the wall with a stupid print server that crashes cause you loaded a ricoh driver! Install your own OS, make your own box, only for more than twice the price!!!"

ugh, give me the netgear ... wait I have one, it worked flawlessly out of the box by plugging in a power adapter and running a wizard

There's your difficulty isn't it? Print servers (and weather stations) are actually quite cheap, and tested thoroughly before being released.

I'm sure a use will be found for it, I just can't quite think of what that is. Bearing in mind you have the Arduino which "boots" in about 65 mS and interfaces with all sorts of stuff.

Projects where the Pi is useful are things where you have data to gather ( slow data ) and you want to graphically display it. It is a small sub set of all possible projects.
Something like a home security web based system sending web cam data over the net.

In my wand project
http://www.thebox.myzen.co.uk/Raspberry/Magic_Wand.html
I minimised the disruptive effects of Linux by using a hardware time to generate the delays. The program spends most of it's time in these and so is not affected unless the time is stolen just close to the very end.
This picture is one of the "out takes" from that project and illustrates the point. In actual practice you don't notice this very much but it can be captured in photos.

If I could get my hands on one . . . . .

They are on three weeks delivery at Farnell.

Don't judge linux by your experience with the Pi, GM. Besides the realtime issue, which isn't really an issue once you accept its a multitasking OS (although putting GPIO on it lends itself to needing realtime), Linux on the Pi and Linux on half decent hardware are two entirely unrelated animals. I use it full time, although my distro of choice is Ubuntu, Debian is close enough so the differences on the Pi aren't great. The Pi sucks because of the severe compromises made to get the price down in my opinion. You're right, it is stone soup. The choice of power supply is the root of a lot of the problems. Charging a smart phone battery is a whole different animal to running a desktop computer, factor in the polyfuses (needed to stop it overloading said PSU and wiring) and the poor USB/ethernet implementation and the whole thing becomes a pain. Its lack of grunt is sometimes a problem but I'll leave that bit alone.

I have now a rock solid Pi, (attacking said polyfuses with a soldering iron and feeding it power via the GPIO pins got rid of many of the problems I was having) , but I still can't get it to play nicely with any of my webcams (all of which are plug and play on my PC and Ubuntu) and using workarounds for talking to an Arduino is a pain. I've just ordered a 'works out of the box' webcam as a last ditch attempt to get it to do what I want, we'll see on that front.

I'd take Linux over OSX anyday but I haven't really used a Mac in earnest since Tiger.