Showing posts with label eLua. Show all posts
Showing posts with label eLua. Show all posts

Saturday, 2 July 2011

RF Transceivers


Hi!

Long time without news, I'm sorry!
But now i'm fully ready to begin the development of my swarm of iRobots!

Today I will talk about the cheap RF transceivers I found at sparkfun (http://www.sparkfun.com/products/9582).
They are FM transceiver with configurable frequency bandwitch, SPI interface, internal FIFO (very small, but very useful). Right now I'm programming the eLua software to test them:

Here I'm using the STM32 kit to talk with two RFM12 (one on each SPI port) they will simply echo each other as a test application.
I will create soon a GITHub Repo to share the code of this post and futures ones!


Tuesday, 13 April 2010

A Modular Architecture for Event-Based Control of Complex Robots

This scary title is the title of a paper I've found on the internet these days.
It's pretty much useful for my research, I was thinking on ways to connect on an organized way a central controller (eLua based) and some "satellite" MCU's doing the dirty jobs (sensors low-level interface, motor control and so on...).

Here is a link, through Dr. Francesco Mondada from EPFL. (ASEBA)

Tuesday, 30 March 2010

About eLua

Well, Here is a little about eLua.
The complete port of eLua to the MCU environment (32-bits, by now) made by Mr. Bogdan Marinescu and Dado Sutter, this last one a great friend of mine from PUC-Rio and something like a tutor on this software/hardware grounds where I stand today.

For those uninformed, Lua is an interpreted language (some call a script language or dynamic language) mainly developed by Prof. Roberto Ierusalimschy (hope I got his name right =] ) also from PUC-Rio. It is very simple, small but yet powerful...So why not to use all this power on my project!?
Here is a little transcription from eLua's official site that resumes everything:

eLua stands for Embedded Lua and the project aims to offer the full implementation of the Lua Programming Language to the embedded world.

eLua is not a stripped down set of Lua to fit in the embedded environment. Much on the contrary, it strives to offer the same features as the desktop version of Lua, complementing them with specific features for embedded use and discarting the need of an operating system running on the microcontrollers. Besides offering different flavors of the full Lua implementation (like the possibility of choosing between an integer-only and a floating point numbers implementation), a lot of work was and will be done in the direction of making Lua more "embedded-friendly" by augmenting the core language with features that allow lower memory requirements and faster embedded performance.

Why Lua? Extremely well crafted, Lua is the perfect example of a minimal, yet fully functional language. Although generally advertised as a "scripting language" (and used accordingly especially in the game industry), it is also fully capable of running stand-alone programs and web services (ex: Adobe Lightroom, World of Warcraft, ...). Its limited resource requirements make it suitable to a lot of microcontroller families. The intrinsic high portability of the original Lua code (which is ANSI C and runs virtually on every platform), combined with the highly portable software architecture of eLua, allow for easy porting of the project to a large variety of architectures. The peripheral access libraries/modules exported by eLua are also portable by design, so one could run a Lua program (without or with very few modifications) on every eLua supported platform. This brings an unprecedent level of portability to the embedded aplications world. eLua inherits the minimalistic and functional design of Lua, staying in line with the well known KISS, Keep It Small and Simple philosophy.