Status

As already stated, eLua allows you to run Lua completely on the microcontroller. A fast-growing set of complementary modules is also provided, with Lua code for using eLua generic peripherals.

The following modules are ready or being implemented:

  • a (mostly) platform independent peripheral library (I/O, UART, SPI, I2C...)
  • a very low footprint embedded flash file system, easy to port to different types of memory chips and other storage devices
  • a small FAT FS layer for SD cards.
  • an editor (to edit Lua programs directly via a serial connection or other input devices)
  • a minimal "shell" (for file operations, configuration and others)
  • network support

Porting eLua to another compatible platform should be as easy and painless as possible. Currently this is restricted to platforms for which the gcc+newlib combo is available. This might change in the future, but please not that this is not a priority of the project at this point.

Also, the Lua "core" comes in two flavors: "regular Lua" (using floating point as the number type) and "integer Lua" (using "integers" as the number type). We'll add more about this in a future tutorial about Lua. For now, it's enough to say that "regular Lua" will be able to perform floating point operations (but will be slower because the floating point operations will be emulated in software on the MCU), while "integer Lua" will only be able to perform operations with integer numbers (but support for fixed and even floating point can be added with separate modules) and thus will be faster.

Status of ports

You can see below the status of eLua implementation by platform/module.

Symbol list

Symbol
Meaning Implemented and tested Implemented, not tested Not yet implemented Not applicable



eLua ports status

Module PIO SPI UART TMR PWM NET CPU
MCU
LM3S8962
LM3S6965
i386
AT91SAM7X256
AT91SAM7X512
STR912FW44
LPC2888
STR711FR2
AVR32 Comming soon
STM32 Comming soon

Status of features / roadmap

You can see below the status of the existent and planned eLua features. These are generic features (not platform dependent, so they should be available on any platform). The list is ordered by feature priority, with all the completed features at the top of the list.

eLua features status

Feature Status
Lua interpreter running on target
Various Lua test scripts running properly
Choose floating point or integer Lua
Lua PIO module
Lua UART module
Lua timer module
Lua platform data module
XMODEM receive
Embedded ROM file system
Lua SPI module
eLua term module
eLua shell Partially implemented and tested
Lua PWM module
Lua I2C module
Lua ADC/DAC modules
Lua interrupt support
Lua bit operations module
Lua binary pack/unpack module
eLua "memory limiting" mode
Networking (LuaSocket or similar)
Lua CPU module
FAT FS layer
Embedded R/W file system Partially implemented and tested
Lua FP module (for integer Lua)
Embedded text editor
Lua debugging on target
eLua example programs Partially implemented and tested
GUI interface for eLua
Powered by Sputnik