Bad to the beagleboard
mklrobo
Posts: 420
Has anyone had experience and information about the beagleboard? How about Intel's Galileo? Ardinuo is working with intel on the robotics scene.
I am going to use parallax stamps in conjuction with the beagle board, to get data flow from Xmodem to serial conversion. Does Parallax offer any
products like this? These boards use a 750 Mhz Arm processor, and are virtually a standalone computer, to be interfaced with I/O. Any comments?
Please advise.
I am going to use parallax stamps in conjuction with the beagle board, to get data flow from Xmodem to serial conversion. Does Parallax offer any
products like this? These boards use a 750 Mhz Arm processor, and are virtually a standalone computer, to be interfaced with I/O. Any comments?
Please advise.
Comments
What's the Stamp going to be doing? There are other inexpensive Arm boards around. Here's a post about a $4 board.
Ladvien on Let's Make Robots has posted about his experience with the Beagleboard Black.
What do you need to do with the data coming from the Xmodem? The Propeller doesn't have trouble with serial communication. I use the Propeller in a lot of projects which monitor multiple serial lines and manipulates and logs the data coming in on these lines.
10-4. I appreciate your insight. I am using an Hp 50g to "talk" to a basic stamp, but the serial programming with the HP is problematic, loaded with data collisions, bad timing, etc. But when I program the
HP to use its Xmodem protocol, the data is seemless and clean. I need a platform to convert the Xmodem to a format for the stamps to assimilate. It seems that the beagleboards have the
elements needed to do this. I would much rather stick with Parallax propeller, and their products. I have never had any problems with Parallax products, as they are as next to perfect as
I have experienced. I have to get this project done, and so, desperation has set in. !
The driver chips, however, are motorola. I then did some research on the wiring harness, and it seems that motorola has the contract for
the wiring harnesses, treating the wires as if they were of RF design. It would be a curious idea to assume that the intel galileo or
beagleboard mircocontrollers are of the same nature that is responsible for maintaining the engine systems in our cars today. Comments?
hard to work without them.(Plus I have alot of sub-dedeicated processes that need to be done, that I hand off to them to manage.) I am not familiar with
the beagleboard at this time, so I don't know if it will live up to it's advertised power. If it does not, and they lied, I am back to square one. I KNOW that
parallax products work without problems, so that is why I stick with them. I was hoping the propeller could be used instead of the beaglebone. I
would have to write the drivers for the propeller, and they are already written for the beaglebone. I use the HP calculator for computing the realworld
data that the stamps provide. Thanks.
Xmodem is a pretty simple protocol: 3 byte header {<SOH> block#,, inverse block#}, a 128 byte packet & checksum
confirmed or rejected by <ACK> or <NAK>
Can you give an example of the sorts of data you collect and the calculations you perform on them?
Stamps are a bit easier to use than the Propeller but I can't think of anything a Stamp can do the Propeller wouldn't be able to do better. The Propeller might be able to do the work of both the Stamp and the calculator but if the calculations are real tough then I'd be very surprised if the Propeller and with the calculator couldn't fulfill the requirements.
There's a 64-bit floating point co-processor available. I wonder if it could take the place of the calculator and make your system a bit more streamlined.
Beagles, Raspberry Pis and others are indeed full up, stand alone, computers with graphics and networking etc that can run Linux. They vary in speed, memory, amount of I/O, cost, size, power consumption, etc. If you need a full up Linux machine choose the one that fits.
Galilieo is Intel's attempt to get into the bone/Pi space. I really don't know why the Arduino folks are going that way. Makes no sense to me. But worth looking into if you need a small Linux machine. Without saying what you want to do that already sounds odd. Why Samps? Why Beagle? Why XModem? Like what? For sure they do not ship Linux class machines like the Beagles. They do have the Propeller which I'm sure is preferable to the Stamps in almost all cases. Why? If you have a Beagle in there I'm very sure it will be able to calculate whatever the 50g does and do it quicker and more simply. Heck, a Propeller in there would perhaps do what you want. Again, perhaps this forum could alleviate your desperation if we knew what the task at hand actually was. Yes, this seems to be a non sequitur, is it actually related to your original problem and this thread?
My guess is just about any of these third tools could probably replace the other two with the right programming but I'm guessing mklrobo would rather have the third tool just get his other tools communicating properly so he doesn't have to spend more time than necessary programming a an unfamiliar system.
Am I close mklrobo?
BTW, I also do horoscopes.
Duane the Psychic
I may need a Psychic. Duane Degn is exactly right in my intentions. I am sorry that I was vauge. What I am trying to do, is this;
use a hp calculator to process I/O from a basic stamp, to control, calculate, and articulate any processes that I need to solve my
problem. The most immediate need is a diagnostic tool. If I could offer a iconic hollywood comparison, I would compare this to
a Star Trek "tricorder". The tricorder seemed to process/diagnose any thing that was needed by the crew. With the technology
that is avaliable, programming transducers "on the fly" with the unit could be produced. If you wanted to invent your own device,
like an oxygen sensor for the blood,(already been done) you could do it. These devices had to start somewhere.
I use the hp calculator, because there are people who have written ALOT of programs for the calculator, that I could use to
process data from the stamp. The hp calculator offers a wide range of mathematic formulas and functions that are simple to
effect, cutting down on the learning curve, and increasing production time. The people in the hp world are fanatic about their
hp programs, and have forums on processing just about anything. If I could run Mathematica on a beagleboard or propeller, I would
think about dumping the calculator. Hope this cleared up some of what I was trying to express.
I made a statement previously with Duane Degn, to cover my main intentions. I will try to address the above questions. The reason for Xmodem, is that the HP calculator can use
this with flawless communication, and very quickly to accomplish a goal in real time. I have not worked with the Beagle board yet, only with Parallax products. If the propeller can
provide what I need, I would rather do that. I do not want to spend alot of time writing drivers, or running down comm problems, when I am using the complete system to
diagnose another problem. I could not decide if I was fixing the target problem, or having a problem with the diagnostic system I just created. I chose the systems with the
most flexibility, modularity, with the shortest learning curve; this frees me up to use the Rapid Math Model Integrator to deal with the target problem. I appreciate your
help with this.
For a moment I thought you were talking about the Propeller. They sound very similar in this respect.
Can you give an example of a sort of equation you do with the HP, you think the Propeller would have a hard time with? I'm sure there are many math problems the Propeller can't handle but I don't think I've run across many in my projects. My hexapod computes the IK position of all 18 servos within the 20ms refresh cycle of the servos using the Propeller. I'm sure there are many examples of the Propeller do all sorts of complicated math.
In case it's not obvious, I'm a big Propeller fan and I think it would be a great fit for your "tricorder" needs.
Here's one of my pseudo tricorders.
My robot remote is also tricoderish as is my aluminum wallet project.
Of course none of these are do very intense math (but I think they look cool).
THAT IS THE COOLEST DEVICE I HAVE EVER SEEN! GREAT JOB IN MAKING THAT !!!!! I will need
some serious math power. I wonder, could I run hp programs on a propeller platform? Maybe a propeller
"emulator" for the hp calc! All the power of the hp calculator on the propeller!! Wow!
Maybe someone has written an emulator for this already, and the processing formulas are
avaliable.? I appreciate your help.
F32.spin is a 32-bit floating point object commonly used on the Propeller. I found some discussion of 64-bit math (and a calculator emulator) here.
Do you mean that you have a lot of calculations that need to be done quickly? Or do you mean that you need to do something very complex like statistical analysis, matrix manipulation, or equation solving that you may not have the skill, time or inclination to program yourself?
Sensible solutions depend on what you want to do.
For example the Fast Fourier Transform can be done on the Propeller, for small data sets with limited accuracy. It can be done in "real-time" for some applications. I have no doubt the FFT can be done on the calculator as well. But depending on what you are doing it may take longer to transfer the data up and down than it is worth.
As pointed out the Prop has a floating point object that can be used for some pretty complex calculations. No doubt possible. It would require adding a huge pile of external RAM to the Prop. It would run mind bendingly slowly. That calculator is an ARM chip running at 50MHz or so with megabytes of FLASH/RAM.
Not a practical solution for anything.
As a general thought: The calculator does have a keyboard and a display and some awesome calculator features. It's battery powered and portable. So perhaps all you are really asking for is a micro-controller, like the Propeller, to interface the calculator to the real-world via various sensors etc.
Not a bad idea.
AND, I do realize that it is a very heavy-duty number cruncher. There are some good reasons for wanting to interface it.
But I don't think that the BS2 is the right target for it at all.
The Propeller with Forth is a much better fit and Art Kennedy in Springfield, Oregon has got the his HP50g working with Tackyon Forth on a Propeller.
XModem is a packet transmission scheme of 128 bytes and you likely need only a chracter-by-character scheme. There is a Hewlett-Packard Advanced User's Guide that explains this, but it is not too clear for a new user.
It helps greatly to have a Full-duplex serial port, which the Propeller provides. The BS2 is half-serial and traffic certainly does collide in the half-duplex mode. You would have likely have to insert delays and checks for activity in any communication routine to get it working.
Considering that a Propeller board can be purchased for less than a BasicStamp, offers more i/o, and can be easy to program in a variety of languages; it is difficult to see why the BasicStamp should be included or why the BeagleBoard inserted between the two and converting XMODEM packets to character-by-character serial is going to be as good as just pairing the HP50g with a Propeller.
+++++++++++++++++++++
I have been off on other projects, but I pretty much intend to follow what Art Kennedy is doing with Tachyon and his HP50g.
I have been stumped as I may have actually damaged the cable I waited for 5 months for by mistakenly plugging it in upside down (it is not suppose to fit that way, I managed to do so accidentally on the first try). I may have to order another cable and wait another 5 months for delivery. I do - at the least - have to build or by a null modem cable and test it directly with my regular computer and Xmodem. So far I can't seem to do a simple loop back.
+++++++++++++++++++++
Whatever you do, the HP50g is going to demand that you learn 'the HP way' and there is a lot to learn in the HP50g itself.
It certainly might be easier to build a Propeller dumb terminal to communicate directly with the BS2 and the Propeller (in Forth or any language). The Pocketerm firmware works nicely on the first load.
http://www.brielcomputers.com/wordpress/?cat=25
You can either buy the PockeTerm board or just load the firmware to a Propeller Proto Board that is modified for serial terminal use with an RS232 level shifter.
You would move ahead with learning more quickly. I had asked Peter J about the possiblilty of XMODEM support in Tackyon of the Propeller and he pretty much has indicated that it is unlikely that anyone will write an XMODEM object for the Propeller. It is intended for devices that do a lot of transferring data to files, which the HP50g has provided it for.
http://beaglebone.cameon.net/home/serial-ports-uart
To act as a go-between the HP50g and the BS2, a set of buffers and separate data converters to and from character-by-character to and from Xmodem packets would be required. You would have to write that code in GCC for the BeagleBoard. And it would still have to manage the issues of the BS2 being half-duplex.
Linux has numerous Xmodem applications that could receive and send Xmodem packets. But you would have to pipeline the Xmodem packets into and out of your converter application. Possible to do.
It has 6 ports. It's a Linux machine running at some huge number of MHz. I'm sure it can open and use all of them at the same time. Assuming, of course there are no conflicts with pins being used for some other function you want.
You may of course eventually run out of performance to support high baud rates, lots of data handling or time sensitive protocols, but that's a given for whatever you are doing.
Without a lot of investigation I suspected that it may have similar issues, thus some doubts. I can't provide detailed support of all and everything, please feel free to do so.
Many boards that claim multiple serial ports do have disappointing limitations on the additional serial ports. In fact one of the BeagleBoard serial ports seems to be only TX.
I DO make it clear that is the first obstacle to consider. After that of course, you may have to add some RS232 level shifter interface. Then you have to find a way to deploy an XModem app in Linux on the BeagleBoard. Do some XModem testing to see if files can be received and sent. And after all that, is verified --- create the software application to interface the BS2 to BeagleBoard with connection to the XModem in and out streams.
I thought I was providing a study path to determine feasibility, not passing judgements on the actual project outcome.
@Heater
Why exactly are you sure? Have you do something like this?
I still think an HP50g fits better with a Propeller in Forth.... less to build, and maybe less to code by skipping the XModem.
I don't know. The other board you did not mention is not under discussion here so why start there? Quite so. Nobody can. So why cast doubts about a devices capability when you don't know? I asked the question because your statement implied you had experience of using multiple serial ports on the Beagle and something unexpected prevented it. I was curious as to whet it might be. Fair enough. Turns out my "I'm sure..." was more like "I believe so..." which is often used when people are not really sure:)
It was based on a 5 second scan of the document you linked to. It first says there are six ports. Then it only talks about enabling five of them. Then it presents a table laying out the limitations of all six. Turns out you need to have the right board and be careful if you need Rx, CTS and RTS. Yep. Not with the Beagles but...In house designed ARM routers with 3 DSL ports working at ~2MB/s and 3 serial ports, a much slower ARM processor handling it all just fine. Other more modern ARM boards with three of four ports driving CAN buses. All kind of stuff. Just now I'm having fun working on a project with ISEE IGEP boards interfacing to multiple Radars over serial, those data rates do start to stress things.
I'm curious where this Xmodem thing comes from? Is that buit into the calculator software? Is it a user program on the calculator? Seems like a throwback to the CP/M days. Still useful for moving files but not what I would have thought to use for fetching real-time telemetry data from sensors.
HP seems to have had the vision of the serial port only being use with Kermit or Xmodem, but provided for individual character read and send in the Advanced User Guide. But that requies a rather tedious checking of the recieve buffer to how many characters arrived and then transferring to the screen to read. Sending serial is easier, but there may not be a simple way to buffer and delay sent characters without tying up the display and keyboard while you wait.
The calculator also has a SDcard file system that can accept formated data input or compile formated data output.
I gave up on using the RS232 serial port for character-by-character transfer many years ago as the cable was impossible to get. But we do have one new Propeller user that is using the HP50g with an RS232 link and Tackyon Forth.
He too wanted to use the BS2 directly to the HP50g, but has appears to migrated over to the Propeller as the full-duplex serial removes a lot of quirky issues about communications having to wait for the BS2 to send an 'all clear, ready to recieve' prompt before any further transmission is required.
Art Kennedy seems to be getting good results. I got stuck and still am investigating if I damaged the serial adapter cable.
I appreciate everybody's help. I have learned more in this thread than I have in the last 8 months.
To direct an answer to my delimma, I will introduce the website, www.hpcalc.org.
HP has done ALOT of research on making a calculator that is one of the best in the world, and
many engineers/students/teachers use the calculator in the classroom to perform calculations,
and interface into hp transducers to perform experiments. It has a built in library, 2300 built in functions,
along with commands reduced to a minimal learning curve, allowing the math to be performed, not
tied down to programming management.
Just imagine, a project you are doing, having all the power of this calculator at you fingertips, but now, also
able to interface it into your projects! Any branch of science, chemistry, astronomy, physics, biology, can be
used to your advantage, with programs already written.
I do not doubt the propeller can do these calculations, but why reinvent the wheel, when the interface is
avaliable? I want a standalone, handheld device like Duane made, to perform these operations.
Why? Is there a specific function that I am aiming for? interface? timing? port/data management?
All these elements are needed, but are parts of the mosaic that I am working towards.
The goal is to have a Rapid Math Model Integrator (RMMI) to tackle any problem I could imagine,
backed with the math power of HP. With Parallax, I believe it is possible.
I am taking chemical engineering, and working with problems with mass transfer and reactors.
Do I know exactly the interface/problem I will be tackling? no. But I DO know, that with a device
of this magnetude, that I will have a very good chance to create any diagnostic tool that exists,
or does not exist, until I create it. And if I get a patent and make a million, so much the better.
Thanks to everyone!
- You can learn more with your heart, than you can with your head. -
I don't know how you got the idea that I suggested the Propeller replace the HP50g. I certainly did no such thing. The Propeller would replace the BS2.
I don't expect the Propeller to replace its calculating power. The Propeller just offers full-duplex serial, you can have larger serial port buffers, and you have 28 i/o pins for general use. That would make the interface easier to many. But if you desire XModem and/or Kermit, the Propeller has yet to developed support for these.
Float point maths and display are human-interface issues and the HP50g does them quite well.. I would ONLY have the Propeller do all the collection of raw data in integer math representations, and respond to messages controlling i/o output states. This would pretty much do all and everything that the BS2 might do, but having the full-duplex serial with larger buffers would eliminate the problems that the BS2 presents.
You can write character-by-character reception and transmission routines in the HP that will work well as a means of getting started.
Of course, if you one of your primary goals is to master the BeagleBoard; go ahead and do so. But I am not sure you will find complete support for it here. We don't even know which BeagleBoard you desire to use.
____________
IMO, if you desire a perfect fit between the HP50g and a Parallax micro-controller -- you need the Propeller, not the BS2. And you might need to develop your own Xmodem for the Propeller. After that, an IRda link would make the whole setup ideal.
Search the Forum and you will find my previous inquiry about Xmodem was met with nothing available on the Propeller so far.
I appreciate your insight, and it has helped me. I will stay away (for now) from writing drivers for the propeller involving Xmodem; I think that project will
not attract anyone else to use it, so I will leave it at that. I have to manage my time in solving the problems, so the hardware/software will be as simple as
possible. (but not simpler).
I wonder if Parallax's propeller could be used as a standalone computer? What software platform could be used? Could the propeller be modified to
computational comparison with the beagleboard or Galileo? :nerd:
There are a couple of Z80 emulators for the Propeller that allow it to run the 1970's vintage CP/M operating system. With that you have a file system and terminal interface, and can run programs such as editors, word processors, language compilers etc etc.
There are other stand alone systems for the Propeller that allow editing and running of programs in BASIC, Spin, Forth and so on.
However, when it comes to maths crunching these things are all going to be unusably slow compared to that ARM based HP calculator or the Beagle and other such boards.
It's simple: The Propeller's 32 bit processor can execute it's instructions at 20MIPs. This is already a lot slower than the HP and massively slower than a multi-hundred megahertz ARM boards.
Now, the Propeller can only execute code at that speed from within its COG register space. 512 thirty two bit words. For large code you need to use the 32K RAM. The best speed we can get there is by compiling to Propeller instructions and store them in that RAM. The instructions are then run by having a software loop that fetches them from HUB and executes them in COG. This brings the speed don to about 4 or 5 MIPS.
That's OK but now our programs can only be 32K bytes long. Nothing compared to what that HP uses or the Beagle class boards have available (hundreds of megabytes). Well, we can attach external RAM to the Prop. The biggest such system is 32MB. That's fine but now code has to be fetched from that RAM with a RAM driver and software execution loop. Speed is now down to less than 1 MIP. In short, no. All in all the Propeller is not what you want for that "massive maths" you mentioned.
Where the Propeller may shine for you is acting as the "bridge" between sensor and other input devices and the calculating engine. The Propeller can handle attached sensors via SPI or I2C buses, via ADC, via PWM, etc etc. It is very flexible in that way.
Regarding your overall goal. I do see the attraction. Such a calculator is small, battery powered, computationally powerful. It has a keyboard. It has a display. However personally I would not consider investing much time in development for such a closed source, single supplier platform.
The guys making money out of sensor gadgets at the moment are making them for iPhones and Android.
YOU ARE AWESOME!!! you have got the heat!
I appreciate the info. It looks like the propeller is what I need to use. I assume_ Parallax sells books on the specifications/programming of the board.
I will put a terminal program in the board, hook it up to the calculator, and start from there. I do not expect the data size (at this time) to be critical, since
it sounds like the propeller can handle it. As I get better at the problems, and they get harder, I will have to think about upgrades. I just need to get it
working. To see the idea in the real world is going to be a trip! Thanks!
- The right question is half the solution; The other half is the answer.
He just happens to be using Forth, but I suspect you can use PropBasic if that is really all you want.
Order some MCP3208 ADC chips if you by the Propeller. It sounds like you need both.
awesome! I will drop him a line.