As already stated, eLua allows you to run Lua completely on the microcontroller. A fast-growing set of complementary modules is also provided, for Lua programming eLua's generic peripherals.
The following modules are ready or being implemented:
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). 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.
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 | |||||||||
STM32 |
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 |
---|---|
eLua interpreter running on targets | |
Various Lua scripts examples running properly | |
Choose floating point or integer Lua | |
eLua PIO module | |
eLua UART module | |
eLua Timer module | |
eLua platform data module | |
XMODEM receive | |
Embedded ROM file system | |
eLua SPI module | |
eLua term module | |
eLua shell | |
Lua PWM module | |
eLua I2C module | |
eLua ADC modules | |
eLua interrupt support | |
eLua bit operations module | |
eLua binary pack/unpack module | |
eLua "memory limiting" mode | |
Networking (LuaSocket or similar) | |
eLua CPU module | |
FAT File System layer for mmc/sd cards | |
Embedded R/W file system | Partially implemented and tested |
eLua FP module (for integer Lua) | |
Embedded text editor | |
Lua debugging on target | |
eLua example programs | Partially implemented and tested |
GUI/IDE interface for eLua |