Read from the UART file descriptor until no data can be read
anymore (POSIX only). This is needed because sometimes the
RFS server didn't read all the available data and signaled errors.
This commit fixes
src/modules/tmr.c:203: warning: implicit declaration of function 'LNUMVAL'
src/modules/tmr.c:203: error: initializer element is not constant
src/modules/tmr.c:203: error: (near initialization for 'tmr_map[11].func')
due to missing #if LUA_OPTIMIZE_MEMORY > 0
The previous Mizar32 LCD firmware had a limit of 31 bytes per
data message, while the new has no limit. This commit drops the
code that used to split long data transfers into 31-byte chunks.
When defining a user-defined character on the LCD panel, the hardware
forgets the current cursor position on the display. We used to
restore it by keeping track of the cursor in software, but now that
the LCD firmware has a "report current cursor position" command,
we simply use that to save and restore the cursor position when
defining a char. Code saving: 272 bytes.
The old firmware could not return the current cursor position, so
previously, when defining a user-definable character, it could
The new LCD PIC firmware has the ability to return the cursor position
in the LCD character RAM and the state of the buttons. This commit
implements eLua module functions to make these available to users.
Commit d4f03efb96973d73056d87b4173c394ca673bebf halves the running
speed of the interpreter on Mizar32 because the vitrual timer tick
happens 128906 ties a second when there is no FOSC32 crystal.
This commit restores VTMR granularity by calling the 10Hz routines
once every 12890 ticks.
Fixed an error which made the getmindelay/getmaxdelay functions
invalid (thanks to Martin for spotting this). Also refactored the
code that computes min/max delay from platform files to common code.
- Always set a speed <= the one requested, never higher
- Return the closest integer to the actual speed that we set,
instead of just returning the speed they asked for
- Limit the range of the speed to the possible values
to avoid divisions by zero
INT_GPIO_POSEDGE and INT_GPIO_NEGEDGE support for AVR32. Tested on
an ATEVK1100 board (NEGEDGE only, POSEDGE is 100% symmetrical and
thus it should work too)
All derived frequencies (sdram, USB, tmr, VTMRs, SPI, UARTs, PWM, MMC,
and ethernet) compensate correctly for the different PBA freq and
tmr.getmaxdelay() is still just over 0.5 sec (by a hair!).
This may work for EVK110X too - the reason they chose 60MHz is unknown.