Latest eLua developments

classic Classic list List threaded Threaded
1 message Options
BogdanM BogdanM
Reply | Threaded
Open this post in threaded view

Latest eLua developments

First of all, I apologise for the huge svn commit message. Hope I'll keep
them shorter in the future.

Common code from all backends was factored out in src/common.c, and each
backend's platform_conf.h/platform.c fils were updated for this. Take a look
at any of them, it's quite easy to understand what happened there.

There's a new feature available for all platforms: virtual timers. Currently
implemented for LM3S, AVR32 and AT91SAM, they're a very good way to get long
delays (especially on platforms with 16-bit timers) if accuracy is not an
issue. It's easy to use them: declare VTMR_NUM_TIMERS and VTMR_FREQ_HZ in
platform_conf.h, then call cmn_virtual_timer_cb() from a timer interrupts
that happens at a frequency of VTMR_FREQ_HZ. You use these timers just as
the regular timers, but their IDs are not 0, 1, ..., but rather tmr.VIRT0,

Tested on: everything but LPC2888 (can't burn it right now, but there's no
reason for it to fail) and STM32 (*Mike*, please test the new image on your
board, I can't do that).

To come (in order of priority, in an ideal world):

- more AVR32 (PWM, external memory)
- Lua Tiny Ram patch (hopefully you're gonna love this one :) )
- fix eLua stack overflow(s) (yes, we have those)
- new XMODEM implementation (the current one is GPL, thus it prevents us
from changing the license to BSD).
- generic buffering system for "char" devices (UART, SPI, I2C, ADC...)

... and many others. If only I had the time ...

-------------- next part --------------
An HTML attachment was scrubbed...