Integrating FreeRTOS with C++

FreeRTOS has been using C language as its base programming language ever since it started. So, we decided to try using C++ with FreeRTOS. One of the advantages which C++ provides to FreeRTOS is the usage of class. By using class, users can supposedly create task with less syntax and coding lines. First of all, a class.hpp header file is to be created which will contain the class information of the task creation class. This is to separate the class Read more

Swarm robotic algorithms, more hacking and a new quad copter

This past week was a great struggle to try to get the quad copter to talk back to the Arduino. As discussed last week, the Arduino library DZL was tested with the NRF24L01 but the quad copter could not bind with the Arduino, or rather with the communication protocol set up with the Arduino. So a few debugging techniques were applied to the library to find out exactly how it works and where the binding process fails. Adding to that, Read more

Code Compilation

As mentioned in the previous post, the AEMB code has to be updated. The AEMB Demo code needs to be able to run on the latest FreeRTOS V8.0.1. There are a lot of changes since V7.1.1. and these changes need to be implemented on AEMB as well. First of all, FreeRTOS V8.X.X have change the names assigned to typedefs within the core FreeRTOS code. This can be referred from http://www.freertos.org/upgrading-to-FreeRTOS-V8.html#typedefs. AEMB will need to change the relevant names to accommodate Read more

Learning to talk to each other

So after receiving my communicators last week, I finally got the shipment of the Arduino Uno, and yeah I know that it is in fact a cheaper Chinese clone of the Uno, the schematic and on board chip are the same, so I think its fine to test with this board for now. The NRF24L01 is a nifty little radio communicator but I have had next to zero experience with radio communcation so I thought it would be wise to Read more

Updating FreeRTOS v7.1.1 to V8.0.1

The version of FreeRTOS currently being used by AEMB is long outdated and has not been updated since two years ago. The version used is V7.1.1 while the latest version is already V8.0.1. Therefore, it is time to update it. Working on a cloned git repository from AEMB FreeRTOS repository, the first thing to do is to fetch the latest revisions from the FreeRTOS upstream repository. Since the current version is V7.1.1 which contains up to revision 1750, the fetching Read more

Good Communication is everything

It was a pretty busy week once again since I had to study for tests, finish lab reports and write my Logbook for this project to get signed at my university. But it was exciting to see some of my parts arrive in the mail. Apart from that, I was able to acquire another quad-copter (a slightly larger model to the one I have) from my friend at the university. However, that copter is damaged (one arm got snapped off Read more

First Wings

Its been a pretty slow week in terms of meaningful progress on the project. A few tough assignments during the week and a couple of tests meant I was pretty distracted by my studies and my Arduinos still haven’t arrived which is depressing. I contacted the seller and he’s resending them, chalking it down to the previous shipment being lost. But my first toy quad copter did arrive. However, the end result was kinda disappointing and I will discuss why Read more

AEMB Threading

It is quite amazing how many times I discover myself to have a faulty or shallow understanding about the technology I am working on. Normally those discoveries occur as I go more in depth into the technology at hand. Those two lines are necessary to make up for any faulty explanation that I’ve given about AEMB which I am beginning to realize as I’m looking at the threading model. However, I won’t go on and list those mistakes, admitting them Read more

Learning to fly

The design of a quad-copter has been around for a very long time, but during the 20th Century, most development of quad-rotor devices were stalled due to the difficulty of controlling four independent rotors. Indeed it is impossible to do so without electronic assistance, therefore since the boom in popularity of micro controllers in particular, more and more hobbyists have found the design to be adequate and stable for RC control flying UAV’s. The structure and dynamics of a quad Read more

Upgrading Codelite

I use Codelite extensively, for software development. However, the version of Codelite available in the Ubuntu/Debian repositories are a bit old. Our recent upgrade to Trusty Tahr 14.04 LTS resulted in a buggy Codelite that keeps crashing. As a result, it was time to upgrade.
(more…)