Development discussion of TauLabs software such as ground control stations, antenna trackers etc.

Running GCS on a RIoTBoard

User avatar
User

wangye

Posts

18

Joined

Mon Mar 17, 2014 4:15 am

Running GCS on a RIoTBoard

by wangye » Sun Aug 24, 2014 2:26 am

The RIoTBoard open source development platform is a low-cost single-board computer based on Freescale i.MX 6Solo processor. It runs at 1GHz and with 1GB onboard DDR3 memory, it is more powerful than other boards such Raspberry Pi. It is an ideal platform to run GCS.

The board comes with built-in Android flashed in its EMMC flash. However I don't want install Android version of GCS as it's an easy task even my spotter(GF) who has no experience with embedded world can do it :D . There also an official image of Ubuntu but it's not the latest release. Fortunately there are discussions of Debian installation on the community(http://www.element14.com/community/comm ... /riotboard). With those references I have installed Debian 7.5 with GNOME and QT 4.8 on the board.

The next step is to compile the code, since QT 5 is in sid of Debian and I want to have a stable version of GCS, I choose the latest release of TL which requires QT version > 4.8. The following command should install everything we need:
Code: Select all
sudo apt-get install build-essential gdb wget qt4-dev-tools libusb-dev libphonon-dev libusb-1.0-0-dev libudev-dev

With tools ready, grab the source and decompress it:
Code: Select all
wget -O tl_release.tar.gz https://github.com/TauLabs/TauLabs/archive/20140405.tar.gz
tar -xzvf tl_release.tar.gz

Since we have already installed all the tools we need, now simply make the GCS:
Code: Select all
make gcs

Then take a cup of coffee, do something else, it takes about 2 hours and 10 minutes to compile full GCS on a Class 10 micro SD card. During that time, the i.MX 6Solo processor got quite hot, and I installed heat sink on it later. The heat sink works even better when I use a fan to blow on it. The temperature is only a bit higher than room temperature.

By default, the antenna track plugin is disabled as it would break build process. I have already submitted a pull request to fix this issue in the current development branch and I will backport the fix and release a patch for the latest release later.

Here is a screen-shot of GCS on RIoTBoard(X forward via ssh).
first_look_gcs.jpg
first_look_gcs.jpg (153.44 KiB) Viewed 5843 times


More images and build log will come soon!
User avatar
User

peabody124

Posts

1339

Joined

Tue Feb 18, 2014 12:33 pm

Re: Running GCS on a RIoTBoard

by peabody124 » Mon Aug 25, 2014 9:14 pm

Very cool man. Looks like a fun project!
User avatar
User

Roque

Posts

28

Joined

Fri Jul 11, 2014 11:13 pm

Re: Running GCS on a RIoTBoard

by Roque » Fri Oct 31, 2014 5:22 pm

Hello! How did you overcome the problem with OpenGL -> GL ES libraries?
User avatar
User

wangye

Posts

18

Joined

Mon Mar 17, 2014 4:15 am

Re: Running GCS on a RIoTBoard

by wangye » Tue Nov 04, 2014 1:18 pm

From the datasheet(http://cache.freescale.com/files/32bit/ ... pdf?fasp=1), the processor supports OpenGL ES 2.0 3D acceleration, but I haven't done anything to enable it. The X Window system works perfectly with the default configuration. Anyway, I'll check if it's enabled by default, and if not, I'll try to find a way to make use of it. This should give me better performance.
User avatar
User

wangye

Posts

18

Joined

Mon Mar 17, 2014 4:15 am

Re: Running GCS on a RIoTBoard

by wangye » Tue Nov 04, 2014 3:10 pm

Roque wrote:Hello! How did you overcome the problem with OpenGL -> GL ES libraries?

Hi Roque,

I'm using the system default Qt and X Window. So hardware graphics acceleration is used by neither of them. The following command line output also confirms that:
Code: Select all
$ glxinfo | grep renderer
OpenGL renderer string: Software Rasterizer


I think it's a better idea to use GL ES libraries for performance improvement. And basically it can be done by the following steps:

  • Check the kernel, if it's not compiled with support for the GPU, then we need to re-compile kernel.
  • Config X Window, this should be easy.
  • Compile Qt from source, and configure it with GL ES libs. I have found several discussions on this topic in Freescale's community.
  • And the final step is to compile GCS again as we compiled Qt in the third step.

Almost all steps are time-consuming, I have compiled Qt5 on a RIoTBoard and it took days to complete. Thus cross compiling may be a better choice.

Please correct me if any of the steps are wrong.
User avatar
User

Roque

Posts

28

Joined

Fri Jul 11, 2014 11:13 pm

Re: Running GCS on a RIoTBoard

by Roque » Sun Nov 16, 2014 1:50 am

Thanks for the info. I sorted it out afterwards, check the thread if you feel curious!

If I consider porting this to GL ES I will tell you!

Best regards,
no avatar
User

chubaka

Posts

3

Joined

Tue Nov 24, 2015 10:19 pm

Re: Running GCS on a RIoTBoard

by chubaka » Thu Dec 10, 2015 12:00 am

and have you ?
no avatar
User

alexpaul

Posts

11

Joined

Thu Nov 10, 2016 3:24 am

Re: Running GCS on a RIoTBoard

by alexpaul » Thu Nov 10, 2016 6:12 am

The RIoTBoard open source development platform is a low-cost single board computer based on Freescale i.MX 6Solo processor. It runs at 1GHz and with 1GB onboard DDR3 memory, it is more powerful than other boards such Raspberry Pi. It is an ideal platform to run GCS. Very cool man. Looks like a fun project!

Who is online

Users browsing this forum: No registered users and 1 guest

Powered by phpBB ® | phpBB3 Style by KomiDesign
cron