General advice needed - prevent going into the wrong path

Dear Community.

This is my first post on this forum, as i recently bought a Yun and see the possibilities but are still not fully aware what would be the right paths to follow depending on the application.

I am using a grid-eye sensor such as shown in panasonic grid-eye thermal camera bluetooth project - YouTube (this is someone else, not me). I use it for a long time on an Arduino Uno, sending its data to a computer over serial communication. On the pc in turn runs a c++ program that processes the data. Depending on the process result, an action can be made such as sending an email, turning on a lamp, you name it.

With the arrival of the Yun, my assumption is that the linino part would be powerful enough to perform the processes that used to be done on the computer. Using the bridge library (right?) a process on the linino can obtain data from the arduino and process it, and then perform the needed actions by either sending a command back to the arduino part, or do something else in the linino part.

If the assumption is correct, I have a couple of open topics

  • Should i change to python language for porting the c++ code to linino? Do i need to cross compile?
  • Is it always best practice to put this new program on a micro SD card?
  • What would be a good practice tutorial to learn to do basic communication between both sides?
  • How to perform proper debuggin? On a PC, its easy. But i never cross compiled anything in my life
  • Is it correct that crontab should be used to start processes on the linino side automatically?
  • one extra, but very important question: is the transfer speed of serial1 sufficient? I need to send 10 x 64 numbers ranging from 0 to 99.99 (2 digits behind comma) per second.
  • Should i change to python language for porting the c++ code to linino? Do i need to cross compile?

If you know python and understand how the existing code works, you will find many people here that are using python.
If you want to cross compile, it isn't that hard and hopefully the C++ code won't need many changes. See this for some info on cross compiling with the Attitude Adjustment SDK which doesn't require compiling the whole Linino image.Compiling small C++ Program - #19 by noblepepper - Arduino Yún - Arduino Forum. If you compile the image using it is very similar. I can't see exactly how the system is operating but there aren't any video resources on the Yun so you will have to deal with that. Do be aware that libstdc++ is over 1 meg.

  • Is it always best practice to put this new program on a micro SD card?

Not necessarily but it certainly doesn't hurt. You won't put write cycles on your flash if you use the SD. Any files that are generated by the program definitely should go on the SD unless you know they won't be written very often, a program can wear out the flash quickly.

  • How to perform proper debuggin? On a PC, its easy. But i never cross compiled anything in my life

If you set up eclipse according to this downloads.openwrt.org/docs/eclipse.pdf? you get a full C++ source level debugging setup as well as a nice IDE. Keeping the debugging symbols is expensive, the HelloOpenWrt example increases from 8.3KB to 77.4KB when you do.

  • Is it correct that crontab should be used to start processes on the linino side automatically?

If you want the program to run at predetermined intervals, yes. If you just want to start it when the Yun boots up use rc.local. Lots of posts here on both.