1
0
Fork 0
mirror of https://github.com/opentx/opentx.git synced 2025-07-18 05:45:21 +03:00

lcd.drawNumber now takes a float instead of an integer as argument. Some

parameters declared as optional in the Lua API.
This commit is contained in:
bsongis 2015-06-09 18:33:26 +02:00
parent ac638f2020
commit bab4168ac4

View file

@ -296,7 +296,7 @@ static int luaPlayNumber(lua_State *L)
{
int number = luaL_checkinteger(L, 1);
int unit = luaL_checkinteger(L, 2);
int att = luaL_checkinteger(L, 3);
unsigned int att = luaL_optunsigned(L, 3, 0);
playNumber(number, unit, att, 0);
return 0;
}
@ -390,7 +390,7 @@ static int luaLcdDrawText(lua_State *L)
int x = luaL_checkinteger(L, 1);
int y = luaL_checkinteger(L, 2);
const char * s = luaL_checkstring(L, 3);
int att = luaL_checkinteger(L, 4);
unsigned int att = luaL_optunsigned(L, 4, 0);
lcd_putsAtt(x, y, s, att);
return 0;
}
@ -401,7 +401,7 @@ static int luaLcdDrawTimer(lua_State *L)
int x = luaL_checkinteger(L, 1);
int y = luaL_checkinteger(L, 2);
int seconds = luaL_checkinteger(L, 3);
int att = luaL_checkinteger(L, 4);
unsigned int att = luaL_optunsigned(L, 4, 0);
putsTimer(x, y, seconds, att|LEFT, att);
return 0;
}
@ -411,8 +411,15 @@ static int luaLcdDrawNumber(lua_State *L)
if (!luaLcdAllowed) return 0;
int x = luaL_checkinteger(L, 1);
int y = luaL_checkinteger(L, 2);
int n = luaL_checkinteger(L, 3);
int att = luaL_checkinteger(L, 4);
float val = luaL_checknumber(L, 3);
unsigned int att = luaL_optunsigned(L, 4, 0);
int n;
if ((att & PREC2) == PREC2)
n = val * 100;
else if ((att & PREC1) == PREC1)
n = val * 10;
else
n = val;
lcd_outdezAtt(x, y, n, att);
return 0;
}
@ -434,9 +441,9 @@ static int luaLcdDrawChannel(lua_State *L)
channel = field.id;
}
}
int att = luaL_checkinteger(L, 4);
unsigned int att = luaL_optunsigned(L, 4, 0);
getvalue_t value = getValue(channel);
putsTelemetryChannelValue(x, y, channel-MIXSRC_FIRST_TELEM, value, att);
putsTelemetryChannelValue(x, y, (channel-MIXSRC_FIRST_TELEM)/3, value, att);
return 0;
}
@ -446,7 +453,7 @@ static int luaLcdDrawSwitch(lua_State *L)
int x = luaL_checkinteger(L, 1);
int y = luaL_checkinteger(L, 2);
int s = luaL_checkinteger(L, 3);
int att = luaL_checkinteger(L, 4);
unsigned int att = luaL_optunsigned(L, 4, 0);
putsSwitches(x, y, s, att);
return 0;
}
@ -457,7 +464,7 @@ static int luaLcdDrawSource(lua_State *L)
int x = luaL_checkinteger(L, 1);
int y = luaL_checkinteger(L, 2);
int s = luaL_checkinteger(L, 3);
int att = luaL_checkinteger(L, 4);
unsigned int att = luaL_optunsigned(L, 4, 0);
putsMixerSource(x, y, s, att);
return 0;
}
@ -483,7 +490,8 @@ static int luaLcdDrawRectangle(lua_State *L)
int y = luaL_checkinteger(L, 2);
int w = luaL_checkinteger(L, 3);
int h = luaL_checkinteger(L, 4);
lcd_rect(x, y, w, h, 0xff, 0);
unsigned int flags = luaL_optunsigned(L, 5, 0);
lcd_rect(x, y, w, h, 0xff, flags);
return 0;
}
@ -494,7 +502,7 @@ static int luaLcdDrawFilledRectangle(lua_State *L)
int y = luaL_checkinteger(L, 2);
int w = luaL_checkinteger(L, 3);
int h = luaL_checkinteger(L, 4);
int flags = luaL_checkinteger(L, 5);
unsigned int flags = luaL_optunsigned(L, 5, 0);
drawFilledRect(x, y, w, h, SOLID, flags);
return 0;
}
@ -540,7 +548,7 @@ static int luaLcdDrawCombobox(lua_State *L)
luaL_checktype(L, 4, LUA_TTABLE);
int count = luaL_len(L, 4); /* get size of table */
int idx = luaL_checkinteger(L, 5);
int flags = luaL_checkinteger(L, 6);
unsigned int flags = luaL_optunsigned(L, 6, 0);
if (idx >= count) {
// TODO error
}