A generic "super i/o" was my original concept. Off load the real-time i/o onto a prop and let the RPi do the high level stuff.
This is what I'm wanting to do, too. Perhaps even coordindate real-time output from the Propeller with video being played by the RPi. For me, though, I'm starting from scratch as I have never used Linux.
Yes- exactly. If you make these with a Prop on it, I will buy it. If I don't have time to design my own of course.
I'm interested in the "super I/O" setup with RTC that has already been mentioned. I'm also interested in application specific plates for things like- motion control, environmental sensing, RF (stuff like GPS, Blue Tooth, ZigBee, etc.), and optical spectrometry (driving a linear CCD and passing data back to the Pi).
I say let the Pi do what it does best - Video and Ethernet, and have the Prop do the hardware control of your project. If you're not really a software guy (like me) then it is harder (for me at least) to do low-level programming on the Pi. I can handle a high-level language like Python, but Python isn't so good at fast hardware control. That's where the Prop works great.
Brianm734,
Perhaps we missed you expression of the idea on the forum but be sure the idea of ARM + Linux + Propeller(s) has been around for a long time.
The Raspberry is now making it so easy and it's great to have such a widespread platform in the Pi rather than just one off attempts.
brianm734,
No, nobody expects that you have read all the posts here since time began.
However, I must say that the ARM + Linux + Propeller(s) idea has been around a long while before there was a Rasperry Pi.
As you see it's not such a simple thing to do. Especially on a small scale. Luckilly we now have a huge community behind the Pi to carry the idea along.
Yes, I see it is a complex (systems level) design problem at this stage. I am just happy to be along for the ride, as long as you guys don't mind me getting my 2 cents worth of ideas in now and then.
Odroid looks great. Is there a Debian we can boot on it?
Thing about the Pi is that there are 100,000 of them out there already and will be far more. The user community is very enthusiastic. It is something of a standard with lots of support. This is very valuable for us tinkerers.
The last count I read was something like 500,000 out there or on order. RS and Farnell are each pumping 4000 out a day and if demand continues they expect to hit a million by Christmas.
Posting at work here so this is short. Idea #1 - use the Propeller Pocketterm - that is VGA right out of the box via a serial port with a board we already have Idea #2 - we can use the prop to do a $15 touchscreen. I don't think the Pi can do a touchscreen easily - is it 8 GPIO pins? and if you use 4 for the SPI touch part, that is only 4 left that needs to be expanded to the 20 or so to drive a display at a reasonable speed. Plus for fast refresh of icons etc you need to dump 150k of data out to the display in 30ms and that is a pretty fast serial port. So hand over some of the higher level things to the prop, like "put this icon here" and talk via a slower port. The board averagejoe and I have can talk to the Pi via the serial port as it is right now. And then you can start thinking about shrinking it so the touchscreen sits on top of the Pi.
What was the problem with the Pi's serial port already being spoken for or something?
Yep, the Prop will make an excellent VT100 terminal for the Pi. Especially as the Pi does not support VGA.
Sadly the Pi only has one UART available on the GPIO connector despite the fact that the ARM chip it uses has two.
That UART is by default configured to be the console port for Linux. This is very useful as you can see the boot messages there and interact with the thing over serial if you have no spare screen or network available.
To use the UART for other purposes we would probably have to give up the Linux console function which is a shame.
console port as in a debugging port? Do you need that - eg if you attached a TV does it debug to that too? If you are interacting with it via serial, couldn't the prop do that ie you use keyboard on the prop and a vga display or TV on the prop and then maybe it does not matter you have used up the Pi's serial port? Or even get clever and use the prop as a VGA and Keyboard and pass through the serial as well.
Or... if there are 8 GPIO pins, think of maybe a nibble wide data comms protocol with the propeller?
Hmm - maybe I need to get a Pi? I've been waiting for the lead time to come down - it is now 3 weeks from Farnell so getting reasonable.
All the boards etc for the Pi seem to be moving a lot faster than for the prop. More people I suppose. It is a fast moving market. First to get VGA and things like touchscreen wins. Better the propeller than another micro
console port as in a debugging port? Do you need that - eg if you attached a TV does it debug to that too?
If you are interacting with it via serial, couldn't the prop do that ie you use keyboard on the prop and a vga
display or TV on the prop and then maybe it does not matter you have used up the Pi's serial port?
Or even get clever and use the prop as a VGA and Keyboard and pass through the serial as well.
To start your OS, in this case Linux, there is a bootloader program. That bootloader often spits messages out somewhere. Often that is to a simple serial port. Compare to a PC where the BIOS is a boot loader that talks to the VGA screen at boot up. The raspi bootloader does not talk to the TV screen on boot and probably has no USB for the keyboard input either.
So having access to that serial console port is very usefull if you want to see error messages from the bootloader, or perhaps even interact with the boot loader before Linux is even started.
After Linux is up, it uses the same serial port as a system console. You can log into it and do normal command line stuff. All in all very useful especially if you have no HDMI screen/TV or network connection to log in with.
So, as you said, a Prop as a VT100 terminal would be excellent, Pi console port in at one end, VGA and keyboard for the user at the other end.
Problem comes when you want to use that same serial port for communicating between some program on you Pi and some program on you Prop. At least you have to get rid of the Linux command line shell that is driving the port normally so that you app can use it.
Or... if there are 8 GPIO pins, think of maybe a nibble wide data comms protocol with the propeller?
I was already wondering about this. We have enough GPIO to do byte wide transfers and whatever hand shaking is required. That idea can wait until we have something up and running.
Hmm - maybe I need to get a Pi? I've been waiting for the lead time to come down - it is now 3 weeks from Farnell so getting reasonable.
Yes, your Propellers need Pi.
All the boards etc for the Pi seem to be moving a lot faster than for the prop. More people I suppose. It is a fast moving market. First to get VGA and things like touchscreen wins. Better the propeller than another micro
Yep it's amazing. I'm sure the Raspberry Pi foundation was not expecting one tenth of the response that it has seen. The community has mushroomed very quickly. We need to get the Prop surfing on that wave. If one percent of Pi users tried out a Prop that would be 10,000 Props!!!
Blog Post with a lot of RasPi serial info and links from someone developing an Arduino Pi Plate. I haven't dug through it yet but there are obviously similar concerns with serial port control, the console issues and such.
As I'm writing this, I'm looking at my desk which just happens to have a RasPi in its protective bag sitting on top of a Propeller Demo board.....looks like a test just waiting to happen! Now, if SQL and I get along at work today and the boring conference call schedule is cooperative, there could be Propeller Pi by dinner!!
[Edit: Touchy/feely screens sound like a fun addition! I'm thinking RasPi needs an EMIC 2 connection also.
Problem comes when you want to use that same serial port for communicating between some program on you Pi and some program on you Prop. At least you have to get rid of the Linux command line shell that is driving the port normally so that you app can use it.
It is perfectly fine to have getty providing a commanshell to the Prop.
So the prop can simply start ANY cmdline-progamm and commmunicate to it via serial!
Even I can write cmd-progs using standard Input output in C. (And I do not like C very much).
For the prog its just serial, so no problem.
I am doing this already with some Friendly-Arm-Clone called gt2440. FUN!
Msrobots,
Yes you can do that. But as a minimum you will want to stop the kernel using that port as it's console port. Otherwise you will find kernel messages, errors etc, being sent to the Prop which may upset things there. This can be done in the boot configuration where the console port is specified.
Yes you can do that. But as a minimum you will want to stop the kernel using that port as it's console port. Otherwise you will find kernel messages, errors etc, being sent to the Prop which may upset things there. This can be done in the boot configuration where the console port is specified.
One could think of two distinct 'combo' setups
1) Programming the propeller from the Pi - debugging etc and essentially using the Pi as a PC and
2) Using a propeller that has already been programmed on a PC and the program is stable - eg you have downloaded the PockeTerm software and may never reprogram that propeller board again.
For situation 2), those kernel messages are exactly the sorts of things you want to see on your propeller VGA terminal or touchscreen.
For situation 1), maybe it is more complex and it is better to use some sort of port that is totally free of messages from other programs.
Uh.. Should really not be that complicated. You can define the port where kernel messages are directed via kernel parameters at boot configuration, so that's easy to change. After this we only have tty running on that port, which we can simply kill if wanted. I mentioned earlier, that we should have one GPIO pin from RPi reserved for tty control, meaning that we can control from Prop should RPi run tty or something else that uses the port. State of this pin could be set by using hardware (switch, jumper etc) and by controlling from Prop if connected to free pin of Propeller chip and connection of the board has been set to "straight" (read from below).
From my previous posts:
If Prop Plug connector will be included for external programming of Propeller chip, then maybe we could have a switch that allows other use of the connector too. Meaning that we could use Prop Plug also with RPi RX and TX pins, adding possibility to select is Prop Plug connected to RPi or Prop, this way we could use RPi via serial tty too if needed. So modes would be like "Propeller, RPi and straight". This could be done using jumpers too if there's no suitable component.
To get this working nicely we need to assign one RPi GPIO pin that will be signalling into which mode this switch has been set. If it's set to RPi, then daemon in RPi will read the state of the pin and spawn tty. Otherwise tty is not running and port is usable for other applications. Maybe setup some kind of autokill function to this daemon, that when tty is spawned, then processes X and Y are killed before and when tty is closed, then applications will be started again.
What this means is that we can then:
a) use Prop Plug to access / program Prop chip (Propeller mode)
b) use Prop Plug to access RPi tty (RPi mode)
c) have RPi and Prop talking together (straight mode)
d) have Prop to control RPi to run tty or something else that uses the serial port (straight mode + pin control from Prop)
We just need some wiring to the board to support this + switch / jumpers for selection. To RPi we just need simple bash script running into the background which then can be customized to users need (define tty options and custom programs / commands which to run). Should not be complicated and compatible with all distros.
Yep, I like it.
As I said before it would be nice if this "Propeller Plate" were usable as a stand alone Prop board.
Any thoughts about power supply?
We could just use the power from the Pi but:
1) I get the impression the power available from the Pi is quite limited.
2) For the Prop to run stand alone it will at least need its own 3.3v regulator.
So a 5v input on the plate seems in order for use when needed.
Anyway I have just been working up a patch to the prop loader to enable it to control the Props reset via a GPIO pin. I hope to include that in my next SimpleIDE for raspi package.
Re a power supply, I suspect at a minimum you have a 9V to 12V input, and onboard a 3.3V and a 5V regulator. Personally I'd do those with switching regs as I like to save power using batteries but I think most people would be more than happy with linear.
On ebay I've bought some DC to DC cables - one socket to 4 outputs. Very handy for a single 12V unregulated input (eg a SLA lead acid) and then you can run a prop board, a 7" car reversing TV display and (presumably) the Pi all off the same cable.
Pi needs 5v pushed into a micro USB socket. That is it runs off a mobile phone charger or by plugging into a PC USB port.
Now there is a 5v pin on the connector, not sure if it is a direct connection to the USB yet. Perhaps we can turn this around power the Pi from plate, the plate carrying 5v and 3v regulators.
Pi needs 5v pushed into a micro USB socket. power the Pi from plate, the plate carrying 5v and 3v regulators.
Pi says it needs 700mA at 5 volts. Cell phone micro USB charger is 700mA and works as expected; blue tooth ear piece charger is 550mA and also seems to work ok.
RPi running wheezy worked for me, with one problem. Two Sharp AQUOS fancy LCD TV's, one 60 Hz and one 120 Hz. Both display composite and it looks crappy. The 60Hz HDMI works and looks great. However, the 120Hz HDMI does not display. The 120 Hz LCD TV does not appear to detect the PRi in that is does not label the input as BDM9278 (or whatever) as the 60 Hz TV did. Any insights?
Braino,
I guess your question might be better placed on the Raspberry Pi forum.
Ask friends before asking strangers, but yes, thats my next stop. I'm looking forward to reading thru the posts of 500,000 previous buyers. Hopefully they don't all post as much as you and I.
I run 2 serial connections between Prop and Arm. Basically they each have the other on the throat. So I can control the Arm/Bootloader from the Prop (even resetting it) run binarys and flash the ARM from the Prop.
Had to do it that way because I was unable (to stupid?) to get 2 different JTAG things to work. Finally I gave up and used a Prop.
Oh yeah, and if getty is running on that port how am I going to use the same port for the propeller loader so I can reprogram the Prop.
thats a easy one ... I compiled Payload of catalina for ARM... It loads spin-binarys as well. So the prop issues the payload-cmd-line over serial to the Arm and there you go the Arm boots the Prop....
Comments
I did not know what you meant, now I find out you mean the Arduino on a Pi Plate: http://baldwisdom.com/introducing-raspbery-pi-a-la-mode/
Looks like just the format we have in mind.
This is what I'm wanting to do, too. Perhaps even coordindate real-time output from the Propeller with video being played by the RPi. For me, though, I'm starting from scratch as I have never used Linux.
Yes- exactly. If you make these with a Prop on it, I will buy it. If I don't have time to design my own of course.
I'm interested in the "super I/O" setup with RTC that has already been mentioned. I'm also interested in application specific plates for things like- motion control, environmental sensing, RF (stuff like GPS, Blue Tooth, ZigBee, etc.), and optical spectrometry (driving a linear CCD and passing data back to the Pi).
I say let the Pi do what it does best - Video and Ethernet, and have the Prop do the hardware control of your project. If you're not really a software guy (like me) then it is harder (for me at least) to do low-level programming on the Pi. I can handle a high-level language like Python, but Python isn't so good at fast hardware control. That's where the Prop works great.
I (tried) to start a thread a while back:
http://forums.parallax.com/showthread.php?141046-Propeller-Communication-with-Computer-Running-Scratch-or-BYOB-for-DAQ-education&highlight=Raspberry
But no-one caught the jist of what I was trying to say.
Perhaps we missed you expression of the idea on the forum but be sure the idea of ARM + Linux + Propeller(s) has been around for a long time.
The Raspberry is now making it so easy and it's great to have such a widespread platform in the Pi rather than just one off attempts.
I'm new to these forums, so I have not read through the hundreds of conversations on this subject.
No, nobody expects that you have read all the posts here since time began.
However, I must say that the ARM + Linux + Propeller(s) idea has been around a long while before there was a Rasperry Pi.
As you see it's not such a simple thing to do. Especially on a small scale. Luckilly we now have a huge community behind the Pi to carry the idea along.
Yes, I see it is a complex (systems level) design problem at this stage. I am just happy to be along for the ride, as long as you guys don't mind me getting my 2 cents worth of ideas in now and then.
Thanks,
Brian
http://www.hardkernel.com/renewal_2011/products/prdt_info.php?g_code=G133999328931
Thing about the Pi is that there are 100,000 of them out there already and will be far more. The user community is very enthusiastic. It is something of a standard with lots of support. This is very valuable for us tinkerers.
What was the problem with the Pi's serial port already being spoken for or something?
Sadly the Pi only has one UART available on the GPIO connector despite the fact that the ARM chip it uses has two.
That UART is by default configured to be the console port for Linux. This is very useful as you can see the boot messages there and interact with the thing over serial if you have no spare screen or network available.
To use the UART for other purposes we would probably have to give up the Linux console function which is a shame.
Or... if there are 8 GPIO pins, think of maybe a nibble wide data comms protocol with the propeller?
Hmm - maybe I need to get a Pi? I've been waiting for the lead time to come down - it is now 3 weeks from Farnell so getting reasonable.
All the boards etc for the Pi seem to be moving a lot faster than for the prop. More people I suppose. It is a fast moving market. First to get VGA and things like touchscreen wins. Better the propeller than another micro
So having access to that serial console port is very usefull if you want to see error messages from the bootloader, or perhaps even interact with the boot loader before Linux is even started.
After Linux is up, it uses the same serial port as a system console. You can log into it and do normal command line stuff. All in all very useful especially if you have no HDMI screen/TV or network connection to log in with.
So, as you said, a Prop as a VT100 terminal would be excellent, Pi console port in at one end, VGA and keyboard for the user at the other end.
Problem comes when you want to use that same serial port for communicating between some program on you Pi and some program on you Prop. At least you have to get rid of the Linux command line shell that is driving the port normally so that you app can use it. I was already wondering about this. We have enough GPIO to do byte wide transfers and whatever hand shaking is required. That idea can wait until we have something up and running. Yes, your Propellers need Pi. Yep it's amazing. I'm sure the Raspberry Pi foundation was not expecting one tenth of the response that it has seen. The community has mushroomed very quickly. We need to get the Prop surfing on that wave. If one percent of Pi users tried out a Prop that would be 10,000 Props!!!
As I'm writing this, I'm looking at my desk which just happens to have a RasPi in its protective bag sitting on top of a Propeller Demo board.....looks like a test just waiting to happen! Now, if SQL and I get along at work today and the boring conference call schedule is cooperative, there could be Propeller Pi by dinner!!
[Edit: Touchy/feely screens sound like a fun addition! I'm thinking RasPi needs an EMIC 2 connection also.
you are allmost right, but so wrong:
It is perfectly fine to have getty providing a commanshell to the Prop.
So the prop can simply start ANY cmdline-progamm and commmunicate to it via serial!
Even I can write cmd-progs using standard Input output in C. (And I do not like C very much).
For the prog its just serial, so no problem.
I am doing this already with some Friendly-Arm-Clone called gt2440. FUN!
Enoy!
Mike
Yes you can do that. But as a minimum you will want to stop the kernel using that port as it's console port. Otherwise you will find kernel messages, errors etc, being sent to the Prop which may upset things there. This can be done in the boot configuration where the console port is specified.
One could think of two distinct 'combo' setups
1) Programming the propeller from the Pi - debugging etc and essentially using the Pi as a PC and
2) Using a propeller that has already been programmed on a PC and the program is stable - eg you have downloaded the PockeTerm software and may never reprogram that propeller board again.
For situation 2), those kernel messages are exactly the sorts of things you want to see on your propeller VGA terminal or touchscreen.
For situation 1), maybe it is more complex and it is better to use some sort of port that is totally free of messages from other programs.
From my previous posts:
What this means is that we can then:
a) use Prop Plug to access / program Prop chip (Propeller mode)
b) use Prop Plug to access RPi tty (RPi mode)
c) have RPi and Prop talking together (straight mode)
d) have Prop to control RPi to run tty or something else that uses the serial port (straight mode + pin control from Prop)
We just need some wiring to the board to support this + switch / jumpers for selection. To RPi we just need simple bash script running into the background which then can be customized to users need (define tty options and custom programs / commands which to run). Should not be complicated and compatible with all distros.
As I said before it would be nice if this "Propeller Plate" were usable as a stand alone Prop board.
Any thoughts about power supply?
We could just use the power from the Pi but:
1) I get the impression the power available from the Pi is quite limited.
2) For the Prop to run stand alone it will at least need its own 3.3v regulator.
So a 5v input on the plate seems in order for use when needed.
Anyway I have just been working up a patch to the prop loader to enable it to control the Props reset via a GPIO pin. I hope to include that in my next SimpleIDE for raspi package.
On ebay I've bought some DC to DC cables - one socket to 4 outputs. Very handy for a single 12V unregulated input (eg a SLA lead acid) and then you can run a prop board, a 7" car reversing TV display and (presumably) the Pi all off the same cable.
What does the Pi need?
Now there is a 5v pin on the connector, not sure if it is a direct connection to the USB yet. Perhaps we can turn this around power the Pi from plate, the plate carrying 5v and 3v regulators.
Pi says it needs 700mA at 5 volts. Cell phone micro USB charger is 700mA and works as expected; blue tooth ear piece charger is 550mA and also seems to work ok.
RPi running wheezy worked for me, with one problem. Two Sharp AQUOS fancy LCD TV's, one 60 Hz and one 120 Hz. Both display composite and it looks crappy. The 60Hz HDMI works and looks great. However, the 120Hz HDMI does not display. The 120 Hz LCD TV does not appear to detect the PRi in that is does not label the input as BDM9278 (or whatever) as the 60 Hz TV did. Any insights?
I guess your question might be better placed on the Raspberry Pi forum.
Ask friends before asking strangers, but yes, thats my next stop. I'm looking forward to reading thru the posts of 500,000 previous buyers. Hopefully they don't all post as much as you and I.
I run 2 serial connections between Prop and Arm. Basically they each have the other on the throat. So I can control the Arm/Bootloader from the Prop (even resetting it) run binarys and flash the ARM from the Prop.
Had to do it that way because I was unable (to stupid?) to get 2 different JTAG things to work. Finally I gave up and used a Prop.
thats a easy one ... I compiled Payload of catalina for ARM... It loads spin-binarys as well. So the prop issues the payload-cmd-line over serial to the Arm and there you go the Arm boots the Prop....
Enoy!
Mike