Merge pull request #938 from DiUS/rst-info-opt
Optimized node.bootreason() for size.
This commit is contained in:
commit
2277aecd9b
|
@ -469,24 +469,19 @@ static int node_setcpufreq(lua_State* L)
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Lua: code = bootreason()
|
// Lua: code, reason [, exccause, epc1, epc2, epc3, excvaddr, depc ] = bootreason()
|
||||||
static int node_bootreason (lua_State *L)
|
static int node_bootreason (lua_State *L)
|
||||||
{
|
{
|
||||||
struct rst_info *ri = system_get_rst_info ();
|
const struct rst_info *ri = system_get_rst_info ();
|
||||||
lua_pushnumber (L, rtc_get_reset_reason ());
|
uint32_t arr[8] = {
|
||||||
lua_pushnumber (L, ri->reason);
|
rtc_get_reset_reason(),
|
||||||
if (ri->reason == REASON_EXCEPTION_RST)
|
ri->reason,
|
||||||
{
|
ri->exccause, ri->epc1, ri->epc2, ri->epc3, ri->excvaddr, ri->depc
|
||||||
lua_pushnumber (L, ri->exccause);
|
};
|
||||||
lua_pushnumber (L, ri->epc1);
|
int i, n = ((ri->reason != REASON_EXCEPTION_RST) ? 2 : 8);
|
||||||
lua_pushnumber (L, ri->epc2);
|
for (i = 0; i < n; ++i)
|
||||||
lua_pushnumber (L, ri->epc3);
|
lua_pushinteger (L, arr[i]);
|
||||||
lua_pushnumber (L, ri->excvaddr);
|
return n;
|
||||||
lua_pushnumber (L, ri->depc);
|
|
||||||
return 8;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
return 2;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Lua: restore()
|
// Lua: restore()
|
||||||
|
|
Loading…
Reference in New Issue