Commit c04f2578 authored by HuangRui's avatar HuangRui
Browse files

Updated SDK to v0.9.5 and optimized memory.

parent 0420b6d7
...@@ -20,13 +20,13 @@ ...@@ -20,13 +20,13 @@
static int ICACHE_FLASH_ATTR db_getregistry (lua_State *L) { static int db_getregistry (lua_State *L) {
lua_pushvalue(L, LUA_REGISTRYINDEX); lua_pushvalue(L, LUA_REGISTRYINDEX);
return 1; return 1;
} }
static int ICACHE_FLASH_ATTR db_getmetatable (lua_State *L) { static int db_getmetatable (lua_State *L) {
luaL_checkany(L, 1); luaL_checkany(L, 1);
if (!lua_getmetatable(L, 1)) { if (!lua_getmetatable(L, 1)) {
lua_pushnil(L); /* no metatable */ lua_pushnil(L); /* no metatable */
...@@ -35,7 +35,7 @@ static int ICACHE_FLASH_ATTR db_getmetatable (lua_State *L) { ...@@ -35,7 +35,7 @@ static int ICACHE_FLASH_ATTR db_getmetatable (lua_State *L) {
} }
static int ICACHE_FLASH_ATTR db_setmetatable (lua_State *L) { static int db_setmetatable (lua_State *L) {
int t = lua_type(L, 2); int t = lua_type(L, 2);
luaL_argcheck(L, t == LUA_TNIL || t == LUA_TTABLE, 2, luaL_argcheck(L, t == LUA_TNIL || t == LUA_TTABLE, 2,
"nil or table expected"); "nil or table expected");
...@@ -45,14 +45,14 @@ static int ICACHE_FLASH_ATTR db_setmetatable (lua_State *L) { ...@@ -45,14 +45,14 @@ static int ICACHE_FLASH_ATTR db_setmetatable (lua_State *L) {
} }
static int ICACHE_FLASH_ATTR db_getfenv (lua_State *L) { static int db_getfenv (lua_State *L) {
luaL_checkany(L, 1); luaL_checkany(L, 1);
lua_getfenv(L, 1); lua_getfenv(L, 1);
return 1; return 1;
} }
static int ICACHE_FLASH_ATTR db_setfenv (lua_State *L) { static int db_setfenv (lua_State *L) {
luaL_checktype(L, 2, LUA_TTABLE); luaL_checktype(L, 2, LUA_TTABLE);
lua_settop(L, 2); lua_settop(L, 2);
if (lua_setfenv(L, 1) == 0) if (lua_setfenv(L, 1) == 0)
...@@ -62,19 +62,19 @@ static int ICACHE_FLASH_ATTR db_setfenv (lua_State *L) { ...@@ -62,19 +62,19 @@ static int ICACHE_FLASH_ATTR db_setfenv (lua_State *L) {
} }
static void ICACHE_FLASH_ATTR settabss (lua_State *L, const char *i, const char *v) { static void settabss (lua_State *L, const char *i, const char *v) {
lua_pushstring(L, v); lua_pushstring(L, v);
lua_setfield(L, -2, i); lua_setfield(L, -2, i);
} }
static void ICACHE_FLASH_ATTR settabsi (lua_State *L, const char *i, int v) { static void settabsi (lua_State *L, const char *i, int v) {
lua_pushinteger(L, v); lua_pushinteger(L, v);
lua_setfield(L, -2, i); lua_setfield(L, -2, i);
} }
static lua_State *ICACHE_FLASH_ATTR getthread (lua_State *L, int *arg) { static lua_State *getthread (lua_State *L, int *arg) {
if (lua_isthread(L, 1)) { if (lua_isthread(L, 1)) {
*arg = 1; *arg = 1;
return lua_tothread(L, 1); return lua_tothread(L, 1);
...@@ -86,7 +86,7 @@ static lua_State *ICACHE_FLASH_ATTR getthread (lua_State *L, int *arg) { ...@@ -86,7 +86,7 @@ static lua_State *ICACHE_FLASH_ATTR getthread (lua_State *L, int *arg) {
} }
static void ICACHE_FLASH_ATTR treatstackoption (lua_State *L, lua_State *L1, const char *fname) { static void treatstackoption (lua_State *L, lua_State *L1, const char *fname) {
if (L == L1) { if (L == L1) {
lua_pushvalue(L, -2); lua_pushvalue(L, -2);
lua_remove(L, -3); lua_remove(L, -3);
...@@ -97,7 +97,7 @@ static void ICACHE_FLASH_ATTR treatstackoption (lua_State *L, lua_State *L1, con ...@@ -97,7 +97,7 @@ static void ICACHE_FLASH_ATTR treatstackoption (lua_State *L, lua_State *L1, con
} }
static int ICACHE_FLASH_ATTR db_getinfo (lua_State *L) { static int db_getinfo (lua_State *L) {
lua_Debug ar; lua_Debug ar;
int arg; int arg;
lua_State *L1 = getthread(L, &arg); lua_State *L1 = getthread(L, &arg);
...@@ -142,7 +142,7 @@ static int ICACHE_FLASH_ATTR db_getinfo (lua_State *L) { ...@@ -142,7 +142,7 @@ static int ICACHE_FLASH_ATTR db_getinfo (lua_State *L) {
} }
static int ICACHE_FLASH_ATTR db_getlocal (lua_State *L) { static int db_getlocal (lua_State *L) {
int arg; int arg;
lua_State *L1 = getthread(L, &arg); lua_State *L1 = getthread(L, &arg);
lua_Debug ar; lua_Debug ar;
...@@ -163,7 +163,7 @@ static int ICACHE_FLASH_ATTR db_getlocal (lua_State *L) { ...@@ -163,7 +163,7 @@ static int ICACHE_FLASH_ATTR db_getlocal (lua_State *L) {
} }
static int ICACHE_FLASH_ATTR db_setlocal (lua_State *L) { static int db_setlocal (lua_State *L) {
int arg; int arg;
lua_State *L1 = getthread(L, &arg); lua_State *L1 = getthread(L, &arg);
lua_Debug ar; lua_Debug ar;
...@@ -177,7 +177,7 @@ static int ICACHE_FLASH_ATTR db_setlocal (lua_State *L) { ...@@ -177,7 +177,7 @@ static int ICACHE_FLASH_ATTR db_setlocal (lua_State *L) {
} }
static int ICACHE_FLASH_ATTR auxupvalue (lua_State *L, int get) { static int auxupvalue (lua_State *L, int get) {
const char *name; const char *name;
int n = luaL_checkint(L, 2); int n = luaL_checkint(L, 2);
luaL_checktype(L, 1, LUA_TFUNCTION); luaL_checktype(L, 1, LUA_TFUNCTION);
...@@ -190,12 +190,12 @@ static int ICACHE_FLASH_ATTR auxupvalue (lua_State *L, int get) { ...@@ -190,12 +190,12 @@ static int ICACHE_FLASH_ATTR auxupvalue (lua_State *L, int get) {
} }
static int ICACHE_FLASH_ATTR db_getupvalue (lua_State *L) { static int db_getupvalue (lua_State *L) {
return auxupvalue(L, 1); return auxupvalue(L, 1);
} }
static int ICACHE_FLASH_ATTR db_setupvalue (lua_State *L) { static int db_setupvalue (lua_State *L) {
luaL_checkany(L, 3); luaL_checkany(L, 3);
return auxupvalue(L, 0); return auxupvalue(L, 0);
} }
...@@ -205,7 +205,7 @@ static int ICACHE_FLASH_ATTR db_setupvalue (lua_State *L) { ...@@ -205,7 +205,7 @@ static int ICACHE_FLASH_ATTR db_setupvalue (lua_State *L) {
static const char KEY_HOOK = 'h'; static const char KEY_HOOK = 'h';
static void ICACHE_FLASH_ATTR hookf (lua_State *L, lua_Debug *ar) { static void hookf (lua_State *L, lua_Debug *ar) {
static const char *const hooknames[] = static const char *const hooknames[] =
{"call", "return", "line", "count", "tail return"}; {"call", "return", "line", "count", "tail return"};
lua_pushlightuserdata(L, (void *)&KEY_HOOK); lua_pushlightuserdata(L, (void *)&KEY_HOOK);
...@@ -223,7 +223,7 @@ static void ICACHE_FLASH_ATTR hookf (lua_State *L, lua_Debug *ar) { ...@@ -223,7 +223,7 @@ static void ICACHE_FLASH_ATTR hookf (lua_State *L, lua_Debug *ar) {
} }
static int ICACHE_FLASH_ATTR makemask (const char *smask, int count) { static int makemask (const char *smask, int count) {
int mask = 0; int mask = 0;
if (c_strchr(smask, 'c')) mask |= LUA_MASKCALL; if (c_strchr(smask, 'c')) mask |= LUA_MASKCALL;
if (c_strchr(smask, 'r')) mask |= LUA_MASKRET; if (c_strchr(smask, 'r')) mask |= LUA_MASKRET;
...@@ -233,7 +233,7 @@ static int ICACHE_FLASH_ATTR makemask (const char *smask, int count) { ...@@ -233,7 +233,7 @@ static int ICACHE_FLASH_ATTR makemask (const char *smask, int count) {
} }
static char *ICACHE_FLASH_ATTR unmakemask (int mask, char *smask) { static char *unmakemask (int mask, char *smask) {
int i = 0; int i = 0;
if (mask & LUA_MASKCALL) smask[i++] = 'c'; if (mask & LUA_MASKCALL) smask[i++] = 'c';
if (mask & LUA_MASKRET) smask[i++] = 'r'; if (mask & LUA_MASKRET) smask[i++] = 'r';
...@@ -243,7 +243,7 @@ static char *ICACHE_FLASH_ATTR unmakemask (int mask, char *smask) { ...@@ -243,7 +243,7 @@ static char *ICACHE_FLASH_ATTR unmakemask (int mask, char *smask) {
} }
static void ICACHE_FLASH_ATTR gethooktable (lua_State *L) { static void gethooktable (lua_State *L) {
lua_pushlightuserdata(L, (void *)&KEY_HOOK); lua_pushlightuserdata(L, (void *)&KEY_HOOK);
lua_rawget(L, LUA_REGISTRYINDEX); lua_rawget(L, LUA_REGISTRYINDEX);
if (!lua_istable(L, -1)) { if (!lua_istable(L, -1)) {
...@@ -256,7 +256,7 @@ static void ICACHE_FLASH_ATTR gethooktable (lua_State *L) { ...@@ -256,7 +256,7 @@ static void ICACHE_FLASH_ATTR gethooktable (lua_State *L) {
} }
static int ICACHE_FLASH_ATTR db_sethook (lua_State *L) { static int db_sethook (lua_State *L) {
int arg, mask, count; int arg, mask, count;
lua_Hook func; lua_Hook func;
lua_State *L1 = getthread(L, &arg); lua_State *L1 = getthread(L, &arg);
...@@ -280,7 +280,7 @@ static int ICACHE_FLASH_ATTR db_sethook (lua_State *L) { ...@@ -280,7 +280,7 @@ static int ICACHE_FLASH_ATTR db_sethook (lua_State *L) {
} }
static int ICACHE_FLASH_ATTR db_gethook (lua_State *L) { static int db_gethook (lua_State *L) {
int arg; int arg;
lua_State *L1 = getthread(L, &arg); lua_State *L1 = getthread(L, &arg);
char buff[5]; char buff[5];
...@@ -300,7 +300,7 @@ static int ICACHE_FLASH_ATTR db_gethook (lua_State *L) { ...@@ -300,7 +300,7 @@ static int ICACHE_FLASH_ATTR db_gethook (lua_State *L) {
} }
static int ICACHE_FLASH_ATTR db_debug (lua_State *L) { static int db_debug (lua_State *L) {
for (;;) { for (;;) {
char buffer[LUA_MAXINPUT]; char buffer[LUA_MAXINPUT];
#if defined(LUA_USE_STDIO) #if defined(LUA_USE_STDIO)
...@@ -329,7 +329,7 @@ static int ICACHE_FLASH_ATTR db_debug (lua_State *L) { ...@@ -329,7 +329,7 @@ static int ICACHE_FLASH_ATTR db_debug (lua_State *L) {
#define LEVELS1 12 /* size of the first part of the stack */ #define LEVELS1 12 /* size of the first part of the stack */
#define LEVELS2 10 /* size of the second part of the stack */ #define LEVELS2 10 /* size of the second part of the stack */
static int ICACHE_FLASH_ATTR db_errorfb (lua_State *L) { static int db_errorfb (lua_State *L) {
int level; int level;
int firstpart = 1; /* still before eventual `...' */ int firstpart = 1; /* still before eventual `...' */
int arg; int arg;
...@@ -401,6 +401,6 @@ const LUA_REG_TYPE dblib[] = { ...@@ -401,6 +401,6 @@ const LUA_REG_TYPE dblib[] = {
{LNILKEY, LNILVAL} {LNILKEY, LNILVAL}
}; };
LUALIB_API int ICACHE_FLASH_ATTR luaopen_debug (lua_State *L) { LUALIB_API int luaopen_debug (lua_State *L) {
LREGISTER(L, LUA_DBLIBNAME, dblib); LREGISTER(L, LUA_DBLIBNAME, dblib);
} }
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
#include "c_types.h" #include "c_types.h"
// Lua: read(id) , return system adc // Lua: read(id) , return system adc
static int ICACHE_FLASH_ATTR adc_sample( lua_State* L ) static int adc_sample( lua_State* L )
{ {
unsigned id = luaL_checkinteger( L, 1 ); unsigned id = luaL_checkinteger( L, 1 );
MOD_CHECK_ID( adc, id ); MOD_CHECK_ID( adc, id );
...@@ -31,7 +31,7 @@ const LUA_REG_TYPE adc_map[] = ...@@ -31,7 +31,7 @@ const LUA_REG_TYPE adc_map[] =
{ LNILKEY, LNILVAL } { LNILKEY, LNILVAL }
}; };
LUALIB_API int ICACHE_FLASH_ATTR luaopen_adc( lua_State *L ) LUALIB_API int luaopen_adc( lua_State *L )
{ {
#if LUA_OPTIMIZE_MEMORY > 0 #if LUA_OPTIMIZE_MEMORY > 0
return 0; return 0;
......
...@@ -34,13 +34,13 @@ typedef size_t lua_UInteger; ...@@ -34,13 +34,13 @@ typedef size_t lua_UInteger;
*/ */
#define MONADIC(name, op) \ #define MONADIC(name, op) \
static int ICACHE_FLASH_ATTR bit_ ## name(lua_State *L) { \ static int bit_ ## name(lua_State *L) { \
lua_pushinteger(L, op TOBIT(L, 1)); \ lua_pushinteger(L, op TOBIT(L, 1)); \
return 1; \ return 1; \
} }
#define VARIADIC(name, op) \ #define VARIADIC(name, op) \
static int ICACHE_FLASH_ATTR bit_ ## name(lua_State *L) { \ static int bit_ ## name(lua_State *L) { \
int n = lua_gettop(L), i; \ int n = lua_gettop(L), i; \
lua_Integer w = TOBIT(L, 1); \ lua_Integer w = TOBIT(L, 1); \
for (i = 2; i <= n; i++) \ for (i = 2; i <= n; i++) \
...@@ -50,14 +50,14 @@ typedef size_t lua_UInteger; ...@@ -50,14 +50,14 @@ typedef size_t lua_UInteger;
} }
#define LOGICAL_SHIFT(name, op) \ #define LOGICAL_SHIFT(name, op) \
static int ICACHE_FLASH_ATTR bit_ ## name(lua_State *L) { \ static int bit_ ## name(lua_State *L) { \
lua_pushinteger(L, (lua_UInteger)TOBIT(L, 1) op \ lua_pushinteger(L, (lua_UInteger)TOBIT(L, 1) op \
(unsigned)luaL_checknumber(L, 2)); \ (unsigned)luaL_checknumber(L, 2)); \
return 1; \ return 1; \
} }
#define ARITHMETIC_SHIFT(name, op) \ #define ARITHMETIC_SHIFT(name, op) \
static int ICACHE_FLASH_ATTR bit_ ## name(lua_State *L) { \ static int bit_ ## name(lua_State *L) { \
lua_pushinteger(L, (lua_Integer)TOBIT(L, 1) op \ lua_pushinteger(L, (lua_Integer)TOBIT(L, 1) op \
(unsigned)luaL_checknumber(L, 2)); \ (unsigned)luaL_checknumber(L, 2)); \
return 1; \ return 1; \
...@@ -72,14 +72,14 @@ LOGICAL_SHIFT(rshift, >>) ...@@ -72,14 +72,14 @@ LOGICAL_SHIFT(rshift, >>)
ARITHMETIC_SHIFT(arshift, >>) ARITHMETIC_SHIFT(arshift, >>)
// Lua: res = bit( position ) // Lua: res = bit( position )
static int ICACHE_FLASH_ATTR bit_bit( lua_State* L ) static int bit_bit( lua_State* L )
{ {
lua_pushinteger( L, ( lua_Integer )( 1 << luaL_checkinteger( L, 1 ) ) ); lua_pushinteger( L, ( lua_Integer )( 1 << luaL_checkinteger( L, 1 ) ) );
return 1; return 1;
} }
// Lua: res = isset( value, position ) // Lua: res = isset( value, position )
static int ICACHE_FLASH_ATTR bit_isset( lua_State* L ) static int bit_isset( lua_State* L )
{ {
lua_UInteger val = ( lua_UInteger )luaL_checkinteger( L, 1 ); lua_UInteger val = ( lua_UInteger )luaL_checkinteger( L, 1 );
unsigned pos = ( unsigned )luaL_checkinteger( L, 2 ); unsigned pos = ( unsigned )luaL_checkinteger( L, 2 );
...@@ -89,7 +89,7 @@ static int ICACHE_FLASH_ATTR bit_isset( lua_State* L ) ...@@ -89,7 +89,7 @@ static int ICACHE_FLASH_ATTR bit_isset( lua_State* L )
} }
// Lua: res = isclear( value, position ) // Lua: res = isclear( value, position )
static int ICACHE_FLASH_ATTR bit_isclear( lua_State* L ) static int bit_isclear( lua_State* L )
{ {
lua_UInteger val = ( lua_UInteger )luaL_checkinteger( L, 1 ); lua_UInteger val = ( lua_UInteger )luaL_checkinteger( L, 1 );
unsigned pos = ( unsigned )luaL_checkinteger( L, 2 ); unsigned pos = ( unsigned )luaL_checkinteger( L, 2 );
...@@ -99,7 +99,7 @@ static int ICACHE_FLASH_ATTR bit_isclear( lua_State* L ) ...@@ -99,7 +99,7 @@ static int ICACHE_FLASH_ATTR bit_isclear( lua_State* L )
} }
// Lua: res = set( value, pos1, pos2, ... ) // Lua: res = set( value, pos1, pos2, ... )
static int ICACHE_FLASH_ATTR bit_set( lua_State* L ) static int bit_set( lua_State* L )
{ {
lua_UInteger val = ( lua_UInteger )luaL_checkinteger( L, 1 ); lua_UInteger val = ( lua_UInteger )luaL_checkinteger( L, 1 );
unsigned total = lua_gettop( L ), i; unsigned total = lua_gettop( L ), i;
...@@ -111,7 +111,7 @@ static int ICACHE_FLASH_ATTR bit_set( lua_State* L ) ...@@ -111,7 +111,7 @@ static int ICACHE_FLASH_ATTR bit_set( lua_State* L )
} }
// Lua: res = clear( value, pos1, pos2, ... ) // Lua: res = clear( value, pos1, pos2, ... )
static int ICACHE_FLASH_ATTR bit_clear( lua_State* L ) static int bit_clear( lua_State* L )
{ {
lua_UInteger val = ( lua_UInteger )luaL_checkinteger( L, 1 ); lua_UInteger val = ( lua_UInteger )luaL_checkinteger( L, 1 );
unsigned total = lua_gettop( L ), i; unsigned total = lua_gettop( L ), i;
...@@ -140,6 +140,6 @@ const LUA_REG_TYPE bit_map[] = { ...@@ -140,6 +140,6 @@ const LUA_REG_TYPE bit_map[] = {
{ LNILKEY, LNILVAL} { LNILKEY, LNILVAL}
}; };
LUALIB_API int ICACHE_FLASH_ATTR luaopen_bit (lua_State *L) { LUALIB_API int luaopen_bit (lua_State *L) {
LREGISTER( L, "bit", bit_map ); LREGISTER( L, "bit", bit_map );
} }
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
static int file_fd = FS_OPEN_OK - 1; static int file_fd = FS_OPEN_OK - 1;
// Lua: open(filename, mode) // Lua: open(filename, mode)
static int ICACHE_FLASH_ATTR file_open( lua_State* L ) static int file_open( lua_State* L )
{ {
size_t len; size_t len;
if((FS_OPEN_OK - 1)!=file_fd){ if((FS_OPEN_OK - 1)!=file_fd){
...@@ -39,7 +39,7 @@ static int ICACHE_FLASH_ATTR file_open( lua_State* L ) ...@@ -39,7 +39,7 @@ static int ICACHE_FLASH_ATTR file_open( lua_State* L )
} }
// Lua: close() // Lua: close()
static int ICACHE_FLASH_ATTR file_close( lua_State* L ) static int file_close( lua_State* L )
{ {
if((FS_OPEN_OK - 1)!=file_fd){ if((FS_OPEN_OK - 1)!=file_fd){
fs_close(file_fd); fs_close(file_fd);
...@@ -50,7 +50,7 @@ static int ICACHE_FLASH_ATTR file_close( lua_State* L ) ...@@ -50,7 +50,7 @@ static int ICACHE_FLASH_ATTR file_close( lua_State* L )
#if defined(BUILD_WOFS) #if defined(BUILD_WOFS)
// Lua: list() // Lua: list()
static int ICACHE_FLASH_ATTR file_list( lua_State* L ) static int file_list( lua_State* L )
{ {
uint32_t start = 0; uint32_t start = 0;
size_t act_len = 0; size_t act_len = 0;
...@@ -64,7 +64,7 @@ static int ICACHE_FLASH_ATTR file_list( lua_State* L ) ...@@ -64,7 +64,7 @@ static int ICACHE_FLASH_ATTR file_list( lua_State* L )
} }
// Lua: format() // Lua: format()
static int ICACHE_FLASH_ATTR file_format( lua_State* L ) static int file_format( lua_State* L )
{ {
size_t len; size_t len;
file_close(L); file_close(L);
...@@ -84,7 +84,7 @@ static int ICACHE_FLASH_ATTR file_format( lua_State* L ) ...@@ -84,7 +84,7 @@ static int ICACHE_FLASH_ATTR file_format( lua_State* L )
extern spiffs fs; extern spiffs fs;
// Lua: list() // Lua: list()
static int ICACHE_FLASH_ATTR file_list( lua_State* L ) static int file_list( lua_State* L )
{ {
spiffs_DIR d; spiffs_DIR d;
struct spiffs_dirent e; struct spiffs_dirent e;
...@@ -101,7 +101,7 @@ static int ICACHE_FLASH_ATTR file_list( lua_State* L ) ...@@ -101,7 +101,7 @@ static int ICACHE_FLASH_ATTR file_list( lua_State* L )
return 1; return 1;
} }
static int ICACHE_FLASH_ATTR file_seek (lua_State *L) static int file_seek (lua_State *L)
{ {
static const int mode[] = {FS_SEEK_SET, FS_SEEK_CUR, FS_SEEK_END}; static const int mode[] = {FS_SEEK_SET, FS_SEEK_CUR, FS_SEEK_END};
static const char *const modenames[] = {"set", "cur", "end", NULL}; static const char *const modenames[] = {"set", "cur", "end", NULL};
...@@ -118,7 +118,7 @@ static int ICACHE_FLASH_ATTR file_seek (lua_State *L) ...@@ -118,7 +118,7 @@ static int ICACHE_FLASH_ATTR file_seek (lua_State *L)
} }
// Lua: remove(filename) // Lua: remove(filename)
static int ICACHE_FLASH_ATTR file_remove( lua_State* L ) static int file_remove( lua_State* L )
{ {
size_t len; size_t len;
const char *fname = luaL_checklstring( L, 1, &len ); const char *fname = luaL_checklstring( L, 1, &len );
...@@ -130,7 +130,7 @@ static int ICACHE_FLASH_ATTR file_remove( lua_State* L ) ...@@ -130,7 +130,7 @@ static int ICACHE_FLASH_ATTR file_remove( lua_State* L )
} }
// Lua: flush() // Lua: flush()
static int ICACHE_FLASH_ATTR file_flush( lua_State* L ) static int file_flush( lua_State* L )
{ {
if((FS_OPEN_OK - 1)==file_fd) if((FS_OPEN_OK - 1)==file_fd)
return luaL_error(L, "open a file first"); return luaL_error(L, "open a file first");
...@@ -142,7 +142,7 @@ static int ICACHE_FLASH_ATTR file_flush( lua_State* L ) ...@@ -142,7 +142,7 @@ static int ICACHE_FLASH_ATTR file_flush( lua_State* L )
} }
#if 0 #if 0
// Lua: check() // Lua: check()
static int ICACHE_FLASH_ATTR file_check( lua_State* L ) static int file_check( lua_State* L )
{ {
file_close(L); file_close(L);
lua_pushinteger(L, fs_check()); lua_pushinteger(L, fs_check());
...@@ -153,7 +153,7 @@ static int ICACHE_FLASH_ATTR file_check( lua_State* L ) ...@@ -153,7 +153,7 @@ static int ICACHE_FLASH_ATTR file_check( lua_State* L )
#endif #endif
// g_read() // g_read()
static int ICACHE_FLASH_ATTR file_g_read( lua_State* L, int n, int16_t end_char ) static int file_g_read( lua_State* L, int n, int16_t end_char )
{ {
if(n< 0 || n>LUAL_BUFFERSIZE) if(n< 0 || n>LUAL_BUFFERSIZE)
n = LUAL_BUFFERSIZE; n = LUAL_BUFFERSIZE;
...@@ -197,7 +197,7 @@ static int ICACHE_FLASH_ATTR file_g_read( lua_State* L, int n, int16_t end_char ...@@ -197,7 +197,7 @@ static int ICACHE_FLASH_ATTR file_g_read( lua_State* L, int n, int16_t end_char
// file.read() will read all byte in file // file.read() will read all byte in file
// file.read(10) will read 10 byte from file, or EOF is reached. // file.read(10) will read 10 byte from file, or EOF is reached.
// file.read('q') will read until 'q' or EOF is reached. // file.read('q') will read until 'q' or EOF is reached.
static int ICACHE_FLASH_ATTR file_read( lua_State* L ) static int file_read( lua_State* L )
{ {
unsigned need_len = LUAL_BUFFERSIZE; unsigned need_len = LUAL_BUFFERSIZE;
int16_t end_char = EOF; int16_t end_char = EOF;
...@@ -222,13 +222,13 @@ static int ICACHE_FLASH_ATTR file_read( lua_State* L ) ...@@ -222,13 +222,13 @@ static int ICACHE_FLASH_ATTR file_read( lua_State* L )
} }
// Lua: readline() // Lua: readline()
static int ICACHE_FLASH_ATTR file_readline( lua_State* L ) static int file_readline( lua_State* L )
{ {
return file_g_read(L, LUAL_BUFFERSIZE, '\n'); return file_g_read(L, LUAL_BUFFERSIZE, '\n');
} }
// Lua: write("string") // Lua: write("string")
static int ICACHE_FLASH_ATTR file_write( lua_State* L ) static int file_write( lua_State* L )
{ {
if((FS_OPEN_OK - 1)==file_fd) if((FS_OPEN_OK - 1)==file_fd)
return luaL_error(L, "open a file first"); return luaL_error(L, "open a file first");
...@@ -243,7 +243,7 @@ static int ICACHE_FLASH_ATTR file_write( lua_State* L ) ...@@ -243,7 +243,7 @@ static int ICACHE_FLASH_ATTR file_write( lua_State* L )
} }
// Lua: writeline("string") // Lua: writeline("string")
static int ICACHE_FLASH_ATTR file_writeline( lua_State* L ) static int file_writeline( lua_State* L )
{ {
if((FS_OPEN_OK - 1)==file_fd) if((FS_OPEN_OK - 1)==file_fd)
return luaL_error(L, "open a file first"); return luaL_error(L, "open a file first");
...@@ -290,7 +290,7 @@ const LUA_REG_TYPE file_map[] = ...@@ -290,7 +290,7 @@ const LUA_REG_TYPE file_map[] =
{ LNILKEY, LNILVAL } { LNILKEY, LNILVAL }
}; };
LUALIB_API int ICACHE_FLASH_ATTR luaopen_file( lua_State *L ) LUALIB_API int luaopen_file( lua_State *L )
{ {
#if LUA_OPTIMIZE_MEMORY > 0 #if LUA_OPTIMIZE_MEMORY > 0
return 0; return 0;
......
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
static int gpio_cb_ref[GPIO_PIN_NUM]; static int gpio_cb_ref[GPIO_PIN_NUM];
static lua_State* gL = NULL; static lua_State* gL = NULL;
void ICACHE_FLASH_ATTR lua_gpio_unref(unsigned pin){ void lua_gpio_unref(unsigned pin){
if(gpio_cb_ref[pin] != LUA_NOREF){ if(gpio_cb_ref[pin] != LUA_NOREF){
if(gL!=NULL) if(gL!=NULL)
luaL_unref(gL, LUA_REGISTRYINDEX, gpio_cb_ref[pin]); luaL_unref(gL, LUA_REGISTRYINDEX, gpio_cb_ref[pin]);
...@@ -31,7 +31,7 @@ void ICACHE_FLASH_ATTR lua_gpio_unref(unsigned pin){ ...@@ -31,7 +31,7 @@ void ICACHE_FLASH_ATTR lua_gpio_unref(unsigned pin){
gpio_cb_ref[pin] = LUA_NOREF; gpio_cb_ref[pin] = LUA_NOREF;
} }
void ICACHE_FLASH_ATTR gpio_intr_callback( unsigned pin, unsigned level ) void gpio_intr_callback( unsigned pin, unsigned level )
{ {
NODE_DBG("pin:%d, level:%d \n", pin, level); NODE_DBG("pin:%d, level:%d \n", pin, level);
if(gpio_cb_ref[pin] == LUA_NOREF) if(gpio_cb_ref[pin] == LUA_NOREF)
...@@ -44,7 +44,7 @@ void ICACHE_FLASH_ATTR gpio_intr_callback( unsigned pin, unsigned level ) ...@@ -44,7 +44,7 @@ void ICACHE_FLASH_ATTR gpio_intr_callback( unsigned pin, unsigned level )
} }
// Lua: trig( pin, type, function ) // Lua: trig( pin, type, function )
static int ICACHE_FLASH_ATTR lgpio_trig( lua_State* L ) static int lgpio_trig( lua_State* L )
{ {
unsigned type; unsigned type;
unsigned pin; unsigned pin;
...@@ -87,7 +87,7 @@ static int ICACHE_FLASH_ATTR lgpio_trig( lua_State* L ) ...@@ -87,7 +87,7 @@ static int ICACHE_FLASH_ATTR lgpio_trig( lua_State* L )
#endif #endif
// Lua: mode( pin, mode, pullup ) // Lua: mode( pin, mode, pullup )
static int ICACHE_FLASH_ATTR lgpio_mode( lua_State* L ) static int lgpio_mode( lua_State* L )
{ {
unsigned mode, pullup = FLOAT; unsigned mode, pullup = FLOAT;
unsigned pin; unsigned pin;
...@@ -119,7 +119,7 @@ static int ICACHE_FLASH_ATTR lgpio_mode( lua_State* L ) ...@@ -119,7 +119,7 @@ static int ICACHE_FLASH_ATTR lgpio_mode( lua_State* L )
} }
// Lua: read( pin ) // Lua: read( pin )
static int ICACHE_FLASH_ATTR lgpio_read( lua_State* L ) static int lgpio_read( lua_State* L )
{ {
unsigned pin; unsigned pin;
...@@ -132,7 +132,7 @@ static int ICACHE_FLASH_ATTR lgpio_read( lua_State* L ) ...@@ -132,7 +132,7 @@ static int ICACHE_FLASH_ATTR lgpio_read( lua_State* L )
} }
// Lua: write( pin, level ) // Lua: write( pin, level )
static int ICACHE_FLASH_ATTR lgpio_write( lua_State* L ) static int lgpio_write( lua_State* L )
{ {
unsigned level; unsigned level;
unsigned pin; unsigned pin;
...@@ -171,7 +171,7 @@ const LUA_REG_TYPE gpio_map[] = ...@@ -171,7 +171,7 @@ const LUA_REG_TYPE gpio_map[] =
{ LNILKEY, LNILVAL } { LNILKEY, LNILVAL }
}; };
LUALIB_API int ICACHE_FLASH_ATTR luaopen_gpio( lua_State *L ) LUALIB_API int luaopen_gpio( lua_State *L )
{ {
#ifdef GPIO_INTERRUPT_ENABLE #ifdef GPIO_INTERRUPT_ENABLE
int i; int i;
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
#include "lrotable.h" #include "lrotable.h"
// Lua: speed = i2c.setup( id, sda, scl, speed ) // Lua: speed = i2c.setup( id, sda, scl, speed )
static int ICACHE_FLASH_ATTR i2c_setup( lua_State *L ) static int i2c_setup( lua_State *L )
{ {
unsigned id = luaL_checkinteger( L, 1 ); unsigned id = luaL_checkinteger( L, 1 );
unsigned sda = luaL_checkinteger( L, 2 ); unsigned sda = luaL_checkinteger( L, 2 );
...@@ -29,7 +29,7 @@ static int ICACHE_FLASH_ATTR i2c_setup( lua_State *L ) ...@@ -29,7 +29,7 @@ static int ICACHE_FLASH_ATTR i2c_setup( lua_State *L )
} }
// Lua: i2c.start( id ) // Lua: i2c.start( id )
static int ICACHE_FLASH_ATTR i2c_start( lua_State *L ) static int i2c_start( lua_State *L )
{ {
unsigned id = luaL_checkinteger( L, 1 ); unsigned id = luaL_checkinteger( L, 1 );
...@@ -39,7 +39,7 @@ static int ICACHE_FLASH_ATTR i2c_start( lua_State *L ) ...@@ -39,7 +39,7 @@ static int ICACHE_FLASH_ATTR i2c_start( lua_State *L )
} }
// Lua: i2c.stop( id ) // Lua: i2c.stop( id )
static int ICACHE_FLASH_ATTR i2c_stop( lua_State *L ) static int i2c_stop( lua_State *L )
{ {
unsigned id = luaL_checkinteger( L, 1 ); unsigned id = luaL_checkinteger( L, 1 );
...@@ -49,7 +49,7 @@ static int ICACHE_FLASH_ATTR i2c_stop( lua_State *L ) ...@@ -49,7 +49,7 @@ static int ICACHE_FLASH_ATTR i2c_stop( lua_State *L )
} }
// Lua: status = i2c.address( id, address, direction ) // Lua: status = i2c.address( id, address, direction )
static int ICACHE_FLASH_ATTR i2c_address( lua_State *L ) static int i2c_address( lua_State *L )
{ {
unsigned id = luaL_checkinteger( L, 1 ); unsigned id = luaL_checkinteger( L, 1 );
int address = luaL_checkinteger( L, 2 ); int address = luaL_checkinteger( L, 2 );
...@@ -64,7 +64,7 @@ static int ICACHE_FLASH_ATTR i2c_address( lua_State *L ) ...@@ -64,7 +64,7 @@ static int ICACHE_FLASH_ATTR i2c_address( lua_State *L )
// Lua: wrote = i2c.write( id, data1, [data2], ..., [datan] ) // Lua: wrote = i2c.write( id, data1, [data2], ..., [datan] )
// data can be either a string, a table or an 8-bit number // data can be either a string, a table or an 8-bit number
static int ICACHE_FLASH_ATTR i2c_write( lua_State *L ) static int i2c_write( lua_State *L )
{ {
unsigned id = luaL_checkinteger( L, 1 ); unsigned id = luaL_checkinteger( L, 1 );
const char *pdata; const char *pdata;
...@@ -122,7 +122,7 @@ static int ICACHE_FLASH_ATTR i2c_write( lua_State *L ) ...@@ -122,7 +122,7 @@ static int ICACHE_FLASH_ATTR i2c_write( lua_State *L )
} }
// Lua: read = i2c.read( id, size ) // Lua: read = i2c.read( id, size )
static int ICACHE_FLASH_ATTR i2c_read( lua_State *L ) static int i2c_read( lua_State *L )
{ {
unsigned id = luaL_checkinteger( L, 1 ); unsigned id = luaL_checkinteger( L, 1 );
u32 size = ( u32 )luaL_checkinteger( L, 2 ), i; u32 size = ( u32 )luaL_checkinteger( L, 2 ), i;
...@@ -162,7 +162,7 @@ const LUA_REG_TYPE i2c_map[] = ...@@ -162,7 +162,7 @@ const LUA_REG_TYPE i2c_map[] =
{ LNILKEY, LNILVAL } { LNILKEY, LNILVAL }
}; };
LUALIB_API int ICACHE_FLASH_ATTR luaopen_i2c( lua_State *L ) LUALIB_API int luaopen_i2c( lua_State *L )
{ {
#if LUA_OPTIMIZE_MEMORY > 0 #if LUA_OPTIMIZE_MEMORY > 0
return 0; return 0;
......
...@@ -55,8 +55,7 @@ typedef struct lnet_userdata ...@@ -55,8 +55,7 @@ typedef struct lnet_userdata
#endif #endif
}lnet_userdata; }lnet_userdata;
static void ICACHE_FLASH_ATTR static void net_server_disconnected(void *arg) // for tcp server only
net_server_disconnected(void *arg) // for tcp server only
{ {
NODE_DBG("net_server_disconnected is called.\n"); NODE_DBG("net_server_disconnected is called.\n");
struct espconn *pesp_conn = arg; struct espconn *pesp_conn = arg;
...@@ -99,8 +98,7 @@ net_server_disconnected(void *arg) // for tcp server only ...@@ -99,8 +98,7 @@ net_server_disconnected(void *arg) // for tcp server only
lua_gc(gL, LUA_GCRESTART, 0); lua_gc(gL, LUA_GCRESTART, 0);
} }
static void ICACHE_FLASH_ATTR static void net_socket_disconnected(void *arg) // tcp only
net_socket_disconnected(void *arg) // tcp only
{ {
NODE_DBG("net_socket_disconnected is called.\n"); NODE_DBG("net_socket_disconnected is called.\n");
struct espconn *pesp_conn = arg; struct espconn *pesp_conn = arg;
...@@ -130,22 +128,19 @@ net_socket_disconnected(void *arg) // tcp only ...@@ -130,22 +128,19 @@ net_socket_disconnected(void *arg) // tcp only
lua_gc(gL, LUA_GCRESTART, 0); lua_gc(gL, LUA_GCRESTART, 0);
} }
static void ICACHE_FLASH_ATTR static void net_server_reconnected(void *arg, sint8_t err)
net_server_reconnected(void *arg, sint8_t err)
{ {
NODE_DBG("net_server_reconnected is called.\n"); NODE_DBG("net_server_reconnected is called.\n");
net_server_disconnected(arg); net_server_disconnected(arg);
} }
static void ICACHE_FLASH_ATTR static void net_socket_reconnected(void *arg, sint8_t err)
net_socket_reconnected(void *arg, sint8_t err)
{ {
NODE_DBG("net_socket_reconnected is called.\n"); NODE_DBG("net_socket_reconnected is called.\n");
net_socket_disconnected(arg); net_socket_disconnected(arg);
} }
static void ICACHE_FLASH_ATTR static void net_socket_received(void *arg, char *pdata, unsigned short len)
net_socket_received(void *arg, char *pdata, unsigned short len)
{ {
NODE_DBG("net_socket_received is called.\n"); NODE_DBG("net_socket_received is called.\n");
struct espconn *pesp_conn = arg; struct espconn *pesp_conn = arg;
...@@ -169,8 +164,7 @@ net_socket_received(void *arg, char *pdata, unsigned short len) ...@@ -169,8 +164,7 @@ net_socket_received(void *arg, char *pdata, unsigned short len)
lua_call(gL, 2, 0); lua_call(gL, 2, 0);
} }
static void ICACHE_FLASH_ATTR static void net_socket_sent(void *arg)
net_socket_sent(void *arg)
{ {
// NODE_DBG("net_socket_sent is called.\n"); // NODE_DBG("net_socket_sent is called.\n");
struct espconn *pesp_conn = arg; struct espconn *pesp_conn = arg;
...@@ -188,8 +182,7 @@ net_socket_sent(void *arg) ...@@ -188,8 +182,7 @@ net_socket_sent(void *arg)
lua_call(gL, 1, 0); lua_call(gL, 1, 0);
} }
static void ICACHE_FLASH_ATTR static void net_dns_found(const char *name, ip_addr_t *ipaddr, void *arg)
net_dns_found(const char *name, ip_addr_t *ipaddr, void *arg)
{ {
NODE_DBG("net_dns_found is called.\n"); NODE_DBG("net_dns_found is called.\n");
struct espconn *pesp_conn = arg; struct espconn *pesp_conn = arg;
...@@ -242,8 +235,7 @@ net_dns_found(const char *name, ip_addr_t *ipaddr, void *arg) ...@@ -242,8 +235,7 @@ net_dns_found(const char *name, ip_addr_t *ipaddr, void *arg)
} }
} }
static void ICACHE_FLASH_ATTR static void net_server_connected(void *arg) // for tcp only
net_server_connected(void *arg) // for tcp only
{ {
NODE_DBG("net_server_connected is called.\n"); NODE_DBG("net_server_connected is called.\n");
struct espconn *pesp_conn = arg; struct espconn *pesp_conn = arg;
...@@ -324,8 +316,7 @@ net_server_connected(void *arg) // for tcp only ...@@ -324,8 +316,7 @@ net_server_connected(void *arg) // for tcp only
lua_call(gL, 1, 0); // function(conn) lua_call(gL, 1, 0); // function(conn)
} }
static void ICACHE_FLASH_ATTR static void net_socket_connected(void *arg)
net_socket_connected(void *arg)
{ {
NODE_DBG("net_socket_connected is called.\n"); NODE_DBG("net_socket_connected is called.\n");
struct espconn *pesp_conn = arg; struct espconn *pesp_conn = arg;
...@@ -349,8 +340,7 @@ net_socket_connected(void *arg) ...@@ -349,8 +340,7 @@ net_socket_connected(void *arg)
} }
// Lua: s = net.create(type, secure/timeout, function(conn)) // Lua: s = net.create(type, secure/timeout, function(conn))
static int ICACHE_FLASH_ATTR static int net_create( lua_State* L, const char* mt )
net_create( lua_State* L, const char* mt )
{ {
NODE_DBG("net_create is called.\n"); NODE_DBG("net_create is called.\n");
struct espconn *pesp_conn = NULL; struct espconn *pesp_conn = NULL;
...@@ -496,8 +486,7 @@ net_create( lua_State* L, const char* mt ) ...@@ -496,8 +486,7 @@ net_create( lua_State* L, const char* mt )
// call close() first // call close() first
// server: disconnect server, unref everything // server: disconnect server, unref everything
// socket: unref everything // socket: unref everything
static int ICACHE_FLASH_ATTR static int net_delete( lua_State* L, const char* mt )
net_delete( lua_State* L, const char* mt )
{ {
NODE_DBG("net_delete is called.\n"); NODE_DBG("net_delete is called.\n");
bool isserver = false; bool isserver = false;
...@@ -571,7 +560,7 @@ net_delete( lua_State* L, const char* mt ) ...@@ -571,7 +560,7 @@ net_delete( lua_State* L, const char* mt )
return 0; return 0;
} }
static void ICACHE_FLASH_ATTR socket_connect(struct espconn *pesp_conn) static void socket_connect(struct espconn *pesp_conn)
{ {
if(pesp_conn == NULL) if(pesp_conn == NULL)
return; return;
...@@ -600,8 +589,7 @@ static void ICACHE_FLASH_ATTR socket_connect(struct espconn *pesp_conn) ...@@ -600,8 +589,7 @@ static void ICACHE_FLASH_ATTR socket_connect(struct espconn *pesp_conn)
static void socket_dns_found(const char *name, ip_addr_t *ipaddr, void *arg); static void socket_dns_found(const char *name, ip_addr_t *ipaddr, void *arg);
static dns_reconn_count = 0; static dns_reconn_count = 0;
static void ICACHE_FLASH_ATTR static void socket_dns_found(const char *name, ip_addr_t *ipaddr, void *arg)
socket_dns_found(const char *name, ip_addr_t *ipaddr, void *arg)
{ {
NODE_DBG("socket_dns_found is called.\n"); NODE_DBG("socket_dns_found is called.\n");
struct espconn *pesp_conn = arg; struct espconn *pesp_conn = arg;
...@@ -647,8 +635,7 @@ socket_dns_found(const char *name, ip_addr_t *ipaddr, void *arg) ...@@ -647,8 +635,7 @@ socket_dns_found(const char *name, ip_addr_t *ipaddr, void *arg)
// Lua: server:listen( port, ip, function(con) ) // Lua: server:listen( port, ip, function(con) )
// Lua: socket:connect( port, ip, function(con) ) // Lua: socket:connect( port, ip, function(con) )
static int ICACHE_FLASH_ATTR static int net_start( lua_State* L, const char* mt )
net_start( lua_State* L, const char* mt )
{ {
NODE_DBG("net_start is called.\n"); NODE_DBG("net_start is called.\n");
struct espconn *pesp_conn = NULL; struct espconn *pesp_conn = NULL;
...@@ -819,8 +806,7 @@ net_start( lua_State* L, const char* mt ) ...@@ -819,8 +806,7 @@ net_start( lua_State* L, const char* mt )
// Lua: server/socket:close() // Lua: server/socket:close()
// server disconnect everything, unref everything // server disconnect everything, unref everything
// client disconnect and unref itself // client disconnect and unref itself
static int ICACHE_FLASH_ATTR static int net_close( lua_State* L, const char* mt )
net_close( lua_State* L, const char* mt )
{ {
NODE_DBG("net_close is called.\n"); NODE_DBG("net_close is called.\n");
bool isserver = false; bool isserver = false;
...@@ -929,8 +915,7 @@ net_close( lua_State* L, const char* mt ) ...@@ -929,8 +915,7 @@ net_close( lua_State* L, const char* mt )
} }
// Lua: socket/udpserver:on( "method", function(s) ) // Lua: socket/udpserver:on( "method", function(s) )
static int ICACHE_FLASH_ATTR static int net_on( lua_State* L, const char* mt )
net_on( lua_State* L, const char* mt )
{ {
NODE_DBG("net_on is called.\n"); NODE_DBG("net_on is called.\n");
bool isserver = false; bool isserver = false;
...@@ -994,8 +979,7 @@ net_on( lua_State* L, const char* mt ) ...@@ -994,8 +979,7 @@ net_on( lua_State* L, const char* mt )
} }
// Lua: server/socket:send( string, function(sent) ) // Lua: server/socket:send( string, function(sent) )
static int ICACHE_FLASH_ATTR static int net_send( lua_State* L, const char* mt )
net_send( lua_State* L, const char* mt )
{ {
// NODE_DBG("net_send is called.\n"); // NODE_DBG("net_send is called.\n");
bool isserver = false; bool isserver = false;
...@@ -1061,8 +1045,7 @@ net_send( lua_State* L, const char* mt ) ...@@ -1061,8 +1045,7 @@ net_send( lua_State* L, const char* mt )
} }
// Lua: socket:dns( string, function(socket, ip) ) // Lua: socket:dns( string, function(socket, ip) )
static int ICACHE_FLASH_ATTR static int net_dns( lua_State* L, const char* mt )
net_dns( lua_State* L, const char* mt )
{ {
NODE_DBG("net_dns is called.\n"); NODE_DBG("net_dns is called.\n");
bool isserver = false; bool isserver = false;
...@@ -1115,111 +1098,98 @@ net_dns( lua_State* L, const char* mt ) ...@@ -1115,111 +1098,98 @@ net_dns( lua_State* L, const char* mt )
// Lua: s = net.createServer(type, function(server)) // Lua: s = net.createServer(type, function(server))
static int ICACHE_FLASH_ATTR net_createServer( lua_State* L ) static int net_createServer( lua_State* L )
{ {
const char *mt = "net.server"; const char *mt = "net.server";
return net_create(L, mt); return net_create(L, mt);
} }
// Lua: server:delete() // Lua: server:delete()
static int ICACHE_FLASH_ATTR static int net_server_delete( lua_State* L )
net_server_delete( lua_State* L )
{ {
const char *mt = "net.server"; const char *mt = "net.server";
return net_delete(L, mt); return net_delete(L, mt);
} }
// Lua: server:listen( port, ip ) // Lua: server:listen( port, ip )
static int ICACHE_FLASH_ATTR static int net_server_listen( lua_State* L )
net_server_listen( lua_State* L )
{ {
const char *mt = "net.server"; const char *mt = "net.server";
return net_start(L, mt); return net_start(L, mt);
} }
// Lua: server:close() // Lua: server:close()
static int ICACHE_FLASH_ATTR static int net_server_close( lua_State* L )
net_server_close( lua_State* L )
{ {
const char *mt = "net.server"; const char *mt = "net.server";
return net_close(L, mt); return net_close(L, mt);
} }
// Lua: udpserver:on( "method", function(udpserver) ) // Lua: udpserver:on( "method", function(udpserver) )
static int ICACHE_FLASH_ATTR static int net_udpserver_on( lua_State* L )
net_udpserver_on( lua_State* L )
{ {
const char *mt = "net.server"; const char *mt = "net.server";
return net_on(L, mt); return net_on(L, mt);
} }
// Lua: udpserver:send(string, function() ) // Lua: udpserver:send(string, function() )
static int ICACHE_FLASH_ATTR static int net_udpserver_send( lua_State* L )
net_udpserver_send( lua_State* L )
{ {
const char *mt = "net.server"; const char *mt = "net.server";
return net_send(L, mt);; return net_send(L, mt);;
} }
// Lua: s = net.createConnection(type, function(conn)) // Lua: s = net.createConnection(type, function(conn))
static int ICACHE_FLASH_ATTR static int net_createConnection( lua_State* L )
net_createConnection( lua_State* L )
{ {
const char *mt = "net.socket"; const char *mt = "net.socket";
return net_create(L, mt); return net_create(L, mt);
} }
// Lua: socket:delete() // Lua: socket:delete()
static int ICACHE_FLASH_ATTR static int net_socket_delete( lua_State* L )
net_socket_delete( lua_State* L )
{ {
const char *mt = "net.socket"; const char *mt = "net.socket";
return net_delete(L, mt); return net_delete(L, mt);
} }
// Lua: socket:connect( port, ip ) // Lua: socket:connect( port, ip )
static int ICACHE_FLASH_ATTR static int net_socket_connect( lua_State* L )
net_socket_connect( lua_State* L )
{ {
const char *mt = "net.socket"; const char *mt = "net.socket";
return net_start(L, mt); return net_start(L, mt);
} }
// Lua: socket:close() // Lua: socket:close()
static int ICACHE_FLASH_ATTR static int net_socket_close( lua_State* L )
net_socket_close( lua_State* L )
{ {
const char *mt = "net.socket"; const char *mt = "net.socket";
return net_close(L, mt); return net_close(L, mt);
} }
// Lua: socket:on( "method", function(socket) ) // Lua: socket:on( "method", function(socket) )
static int ICACHE_FLASH_ATTR static int net_socket_on( lua_State* L )
net_socket_on( lua_State* L )
{ {
const char *mt = "net.socket"; const char *mt = "net.socket";
return net_on(L, mt); return net_on(L, mt);
} }
// Lua: socket:send( string, function() ) // Lua: socket:send( string, function() )
static int ICACHE_FLASH_ATTR static int net_socket_send( lua_State* L )
net_socket_send( lua_State* L )
{ {
const char *mt = "net.socket"; const char *mt = "net.socket";
return net_send(L, mt); return net_send(L, mt);
} }
// Lua: socket:dns( string, function(ip) ) // Lua: socket:dns( string, function(ip) )
static int ICACHE_FLASH_ATTR static int net_socket_dns( lua_State* L )
net_socket_dns( lua_State* L )
{ {
const char *mt = "net.socket"; const char *mt = "net.socket";
return net_dns(L, mt); return net_dns(L, mt);
} }
#if 0 #if 0
static int ICACHE_FLASH_ATTR static int net_array_index( lua_State* L )
net_array_index( lua_State* L )
{ {
char** parray = luaL_checkudata(L, 1, "net.array"); char** parray = luaL_checkudata(L, 1, "net.array");
int index = luaL_checkint(L, 2); int index = luaL_checkint(L, 2);
...@@ -1227,8 +1197,7 @@ net_array_index( lua_State* L ) ...@@ -1227,8 +1197,7 @@ net_array_index( lua_State* L )
return 1; return 1;
} }
static int ICACHE_FLASH_ATTR static int net_array_newindex( lua_State* L )
net_array_newindex( lua_State* L )
{ {
char** parray = luaL_checkudata(L, 1, "net.array"); char** parray = luaL_checkudata(L, 1, "net.array");
int index = luaL_checkint(L, 2); int index = luaL_checkint(L, 2);
...@@ -1238,8 +1207,7 @@ net_array_newindex( lua_State* L ) ...@@ -1238,8 +1207,7 @@ net_array_newindex( lua_State* L )
} }
// expose an array to lua, by storing it in a userdata with the array metatable // expose an array to lua, by storing it in a userdata with the array metatable
static int ICACHE_FLASH_ATTR static int expose_array(lua_State* L, char *array, unsigned short len) {
expose_array(lua_State* L, char *array, unsigned short len) {
char** parray = lua_newuserdata(L, len); char** parray = lua_newuserdata(L, len);
*parray = array; *parray = array;
luaL_getmetatable(L, "net.array"); luaL_getmetatable(L, "net.array");
...@@ -1300,7 +1268,7 @@ const LUA_REG_TYPE net_map[] = ...@@ -1300,7 +1268,7 @@ const LUA_REG_TYPE net_map[] =
{ LNILKEY, LNILVAL } { LNILKEY, LNILVAL }
}; };
LUALIB_API int ICACHE_FLASH_ATTR luaopen_net( lua_State *L ) LUALIB_API int luaopen_net( lua_State *L )
{ {
int i; int i;
for(i=0;i<MAX_SOCKET;i++) for(i=0;i<MAX_SOCKET;i++)
......
...@@ -15,14 +15,14 @@ ...@@ -15,14 +15,14 @@
#include "flash_api.h" #include "flash_api.h"
// Lua: restart() // Lua: restart()
static int ICACHE_FLASH_ATTR node_restart( lua_State* L ) static int node_restart( lua_State* L )
{ {
system_restart(); system_restart();
return 0; return 0;
} }
// Lua: dsleep( us ) // Lua: dsleep( us )
static int ICACHE_FLASH_ATTR node_deepsleep( lua_State* L ) static int node_deepsleep( lua_State* L )
{ {
s32 us; s32 us;
us = luaL_checkinteger( L, 1 ); us = luaL_checkinteger( L, 1 );
...@@ -33,7 +33,7 @@ static int ICACHE_FLASH_ATTR node_deepsleep( lua_State* L ) ...@@ -33,7 +33,7 @@ static int ICACHE_FLASH_ATTR node_deepsleep( lua_State* L )
} }
// Lua: info() // Lua: info()
static int ICACHE_FLASH_ATTR node_info( lua_State* L ) static int node_info( lua_State* L )
{ {
lua_pushinteger(L, NODE_VERSION_MAJOR); lua_pushinteger(L, NODE_VERSION_MAJOR);
lua_pushinteger(L, NODE_VERSION_MINOR); lua_pushinteger(L, NODE_VERSION_MINOR);
...@@ -47,7 +47,7 @@ static int ICACHE_FLASH_ATTR node_info( lua_State* L ) ...@@ -47,7 +47,7 @@ static int ICACHE_FLASH_ATTR node_info( lua_State* L )
} }
// Lua: chipid() // Lua: chipid()
static int ICACHE_FLASH_ATTR node_chipid( lua_State* L ) static int node_chipid( lua_State* L )
{ {
uint32_t id = system_get_chip_id(); uint32_t id = system_get_chip_id();
lua_pushinteger(L, id); lua_pushinteger(L, id);
...@@ -55,7 +55,7 @@ static int ICACHE_FLASH_ATTR node_chipid( lua_State* L ) ...@@ -55,7 +55,7 @@ static int ICACHE_FLASH_ATTR node_chipid( lua_State* L )
} }
// Lua: flashid() // Lua: flashid()
static int ICACHE_FLASH_ATTR node_flashid( lua_State* L ) static int node_flashid( lua_State* L )
{ {
uint32_t id = spi_flash_get_id(); uint32_t id = spi_flash_get_id();
lua_pushinteger( L, id ); lua_pushinteger( L, id );
...@@ -63,7 +63,7 @@ static int ICACHE_FLASH_ATTR node_flashid( lua_State* L ) ...@@ -63,7 +63,7 @@ static int ICACHE_FLASH_ATTR node_flashid( lua_State* L )
} }
// Lua: flashsize() // Lua: flashsize()
static int ICACHE_FLASH_ATTR node_flashsize( lua_State* L ) static int node_flashsize( lua_State* L )
{ {
//uint32_t sz = 0; //uint32_t sz = 0;
//if(lua_type(L, 1) == LUA_TNUMBER) //if(lua_type(L, 1) == LUA_TNUMBER)
...@@ -80,7 +80,7 @@ static int ICACHE_FLASH_ATTR node_flashsize( lua_State* L ) ...@@ -80,7 +80,7 @@ static int ICACHE_FLASH_ATTR node_flashsize( lua_State* L )
} }
// Lua: heap() // Lua: heap()
static int ICACHE_FLASH_ATTR node_heap( lua_State* L ) static int node_heap( lua_State* L )
{ {
uint32_t sz = system_get_free_heap_size(); uint32_t sz = system_get_free_heap_size();
lua_pushinteger(L, sz); lua_pushinteger(L, sz);
...@@ -90,7 +90,7 @@ static int ICACHE_FLASH_ATTR node_heap( lua_State* L ) ...@@ -90,7 +90,7 @@ static int ICACHE_FLASH_ATTR node_heap( lua_State* L )
extern int led_high_count; // this is defined in lua.c extern int led_high_count; // this is defined in lua.c
extern int led_low_count; extern int led_low_count;
// Lua: led(low, high) // Lua: led(low, high)
static int ICACHE_FLASH_ATTR node_led( lua_State* L ) static int node_led( lua_State* L )
{ {
int low, high; int low, high;
if ( lua_isnumber(L, 1) ) if ( lua_isnumber(L, 1) )
...@@ -120,7 +120,7 @@ static int long_key_ref = LUA_NOREF; ...@@ -120,7 +120,7 @@ static int long_key_ref = LUA_NOREF;
static int short_key_ref = LUA_NOREF; static int short_key_ref = LUA_NOREF;
static lua_State *gL = NULL; static lua_State *gL = NULL;
void ICACHE_FLASH_ATTR default_long_press(void *arg){ void default_long_press(void *arg){
if(led_high_count == 12 && led_low_count == 12){ if(led_high_count == 12 && led_low_count == 12){
led_low_count = led_high_count = 6; led_low_count = led_high_count = 6;
} else { } else {
...@@ -131,11 +131,11 @@ void ICACHE_FLASH_ATTR default_long_press(void *arg){ ...@@ -131,11 +131,11 @@ void ICACHE_FLASH_ATTR default_long_press(void *arg){
// NODE_DBG("default_long_press is called. hc: %d, lc: %d\n", led_high_count, led_low_count); // NODE_DBG("default_long_press is called. hc: %d, lc: %d\n", led_high_count, led_low_count);
} }
void ICACHE_FLASH_ATTR default_short_press(void *arg){ void default_short_press(void *arg){
system_restart(); system_restart();
} }
void ICACHE_FLASH_ATTR key_long_press(void *arg){ void key_long_press(void *arg){
NODE_DBG("key_long_press is called.\n"); NODE_DBG("key_long_press is called.\n");
if(long_key_ref == LUA_NOREF){ if(long_key_ref == LUA_NOREF){
default_long_press(arg); default_long_press(arg);
...@@ -147,7 +147,7 @@ void ICACHE_FLASH_ATTR key_long_press(void *arg){ ...@@ -147,7 +147,7 @@ void ICACHE_FLASH_ATTR key_long_press(void *arg){
lua_call(gL, 0, 0); lua_call(gL, 0, 0);
} }
void ICACHE_FLASH_ATTR key_short_press(void *arg){ void key_short_press(void *arg){
NODE_DBG("key_short_press is called.\n"); NODE_DBG("key_short_press is called.\n");
if(short_key_ref == LUA_NOREF){ if(short_key_ref == LUA_NOREF){
default_short_press(arg); default_short_press(arg);
...@@ -160,7 +160,7 @@ void ICACHE_FLASH_ATTR key_short_press(void *arg){ ...@@ -160,7 +160,7 @@ void ICACHE_FLASH_ATTR key_short_press(void *arg){
} }
// Lua: key(type, function) // Lua: key(type, function)
static int ICACHE_FLASH_ATTR node_key( lua_State* L ) static int node_key( lua_State* L )
{ {
int *ref = NULL; int *ref = NULL;
size_t sl; size_t sl;
...@@ -196,7 +196,7 @@ extern lua_Load gLoad; ...@@ -196,7 +196,7 @@ extern lua_Load gLoad;
extern os_timer_t lua_timer; extern os_timer_t lua_timer;
extern void dojob(lua_Load *load); extern void dojob(lua_Load *load);
// Lua: input("string") // Lua: input("string")
static int ICACHE_FLASH_ATTR node_input( lua_State* L ) static int node_input( lua_State* L )
{ {
size_t l=0; size_t l=0;
const char *s = luaL_checklstring(L, 1, &l); const char *s = luaL_checklstring(L, 1, &l);
...@@ -221,7 +221,7 @@ static int ICACHE_FLASH_ATTR node_input( lua_State* L ) ...@@ -221,7 +221,7 @@ static int ICACHE_FLASH_ATTR node_input( lua_State* L )
static int output_redir_ref = LUA_NOREF; static int output_redir_ref = LUA_NOREF;
static int serial_debug = 1; static int serial_debug = 1;
void ICACHE_FLASH_ATTR output_redirect(const char *str){ void output_redirect(const char *str){
// if(c_strlen(str)>=TX_BUFF_SIZE){ // if(c_strlen(str)>=TX_BUFF_SIZE){
// NODE_ERR("output too long.\n"); // NODE_ERR("output too long.\n");
// return; // return;
...@@ -242,7 +242,7 @@ void ICACHE_FLASH_ATTR output_redirect(const char *str){ ...@@ -242,7 +242,7 @@ void ICACHE_FLASH_ATTR output_redirect(const char *str){
} }
// Lua: output(function(c), debug) // Lua: output(function(c), debug)
static int ICACHE_FLASH_ATTR node_output( lua_State* L ) static int node_output( lua_State* L )
{ {
gL = L; gL = L;
// luaL_checkanyfunction(L, 1); // luaL_checkanyfunction(L, 1);
...@@ -293,7 +293,7 @@ const LUA_REG_TYPE node_map[] = ...@@ -293,7 +293,7 @@ const LUA_REG_TYPE node_map[] =
{ LNILKEY, LNILVAL } { LNILKEY, LNILVAL }
}; };
LUALIB_API int ICACHE_FLASH_ATTR luaopen_node( lua_State *L ) LUALIB_API int luaopen_node( lua_State *L )
{ {
#if LUA_OPTIMIZE_MEMORY > 0 #if LUA_OPTIMIZE_MEMORY > 0
return 0; return 0;
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
#include "driver/onewire.h" #include "driver/onewire.h"
// Lua: ow.setup( id ) // Lua: ow.setup( id )
static int ICACHE_FLASH_ATTR ow_setup( lua_State *L ) static int ow_setup( lua_State *L )
{ {
unsigned id = luaL_checkinteger( L, 1 ); unsigned id = luaL_checkinteger( L, 1 );
...@@ -22,7 +22,7 @@ static int ICACHE_FLASH_ATTR ow_setup( lua_State *L ) ...@@ -22,7 +22,7 @@ static int ICACHE_FLASH_ATTR ow_setup( lua_State *L )
} }
// Lua: r = ow.reset( id ) // Lua: r = ow.reset( id )
static int ICACHE_FLASH_ATTR ow_reset( lua_State *L ) static int ow_reset( lua_State *L )
{ {
unsigned id = luaL_checkinteger( L, 1 ); unsigned id = luaL_checkinteger( L, 1 );
MOD_CHECK_ID( ow, id ); MOD_CHECK_ID( ow, id );
...@@ -31,7 +31,7 @@ static int ICACHE_FLASH_ATTR ow_reset( lua_State *L ) ...@@ -31,7 +31,7 @@ static int ICACHE_FLASH_ATTR ow_reset( lua_State *L )
} }
// Lua: ow.skip( id ) // Lua: ow.skip( id )
static int ICACHE_FLASH_ATTR ow_skip( lua_State *L ) static int ow_skip( lua_State *L )
{ {
unsigned id = luaL_checkinteger( L, 1 ); unsigned id = luaL_checkinteger( L, 1 );
MOD_CHECK_ID( ow, id ); MOD_CHECK_ID( ow, id );
...@@ -40,7 +40,7 @@ static int ICACHE_FLASH_ATTR ow_skip( lua_State *L ) ...@@ -40,7 +40,7 @@ static int ICACHE_FLASH_ATTR ow_skip( lua_State *L )
} }
// Lua: ow.select( id, buf[8]) // Lua: ow.select( id, buf[8])
static int ICACHE_FLASH_ATTR ow_select( lua_State *L ) static int ow_select( lua_State *L )
{ {
uint8_t rom[8]; uint8_t rom[8];
size_t datalen; size_t datalen;
...@@ -79,7 +79,7 @@ static int ICACHE_FLASH_ATTR ow_select( lua_State *L ) ...@@ -79,7 +79,7 @@ static int ICACHE_FLASH_ATTR ow_select( lua_State *L )
} }
// Lua: ow.write( id, v, power) // Lua: ow.write( id, v, power)
static int ICACHE_FLASH_ATTR ow_write( lua_State *L ) static int ow_write( lua_State *L )
{ {
int power = 0; int power = 0;
unsigned id = luaL_checkinteger( L, 1 ); unsigned id = luaL_checkinteger( L, 1 );
...@@ -99,7 +99,7 @@ static int ICACHE_FLASH_ATTR ow_write( lua_State *L ) ...@@ -99,7 +99,7 @@ static int ICACHE_FLASH_ATTR ow_write( lua_State *L )
} }
// Lua: ow.write_bytes( id, buf, power) // Lua: ow.write_bytes( id, buf, power)
static int ICACHE_FLASH_ATTR ow_write_bytes( lua_State *L ) static int ow_write_bytes( lua_State *L )
{ {
int power = 0; int power = 0;
size_t datalen; size_t datalen;
...@@ -119,7 +119,7 @@ static int ICACHE_FLASH_ATTR ow_write_bytes( lua_State *L ) ...@@ -119,7 +119,7 @@ static int ICACHE_FLASH_ATTR ow_write_bytes( lua_State *L )
} }
// Lua: r = ow.read( id ) // Lua: r = ow.read( id )
static int ICACHE_FLASH_ATTR ow_read( lua_State *L ) static int ow_read( lua_State *L )
{ {
unsigned id = luaL_checkinteger( L, 1 ); unsigned id = luaL_checkinteger( L, 1 );
MOD_CHECK_ID( ow, id ); MOD_CHECK_ID( ow, id );
...@@ -128,7 +128,7 @@ static int ICACHE_FLASH_ATTR ow_read( lua_State *L ) ...@@ -128,7 +128,7 @@ static int ICACHE_FLASH_ATTR ow_read( lua_State *L )
} }
// Lua: r = ow.read_bytes( id, size ) // Lua: r = ow.read_bytes( id, size )
static int ICACHE_FLASH_ATTR ow_read_bytes( lua_State *L ) static int ow_read_bytes( lua_State *L )
{ {
unsigned id = luaL_checkinteger( L, 1 ); unsigned id = luaL_checkinteger( L, 1 );
MOD_CHECK_ID( ow, id ); MOD_CHECK_ID( ow, id );
...@@ -148,7 +148,7 @@ static int ICACHE_FLASH_ATTR ow_read_bytes( lua_State *L ) ...@@ -148,7 +148,7 @@ static int ICACHE_FLASH_ATTR ow_read_bytes( lua_State *L )
} }
// Lua: ow.depower( id ) // Lua: ow.depower( id )
static int ICACHE_FLASH_ATTR ow_depower( lua_State *L ) static int ow_depower( lua_State *L )
{ {
unsigned id = luaL_checkinteger( L, 1 ); unsigned id = luaL_checkinteger( L, 1 );
MOD_CHECK_ID( ow, id ); MOD_CHECK_ID( ow, id );
...@@ -159,7 +159,7 @@ static int ICACHE_FLASH_ATTR ow_depower( lua_State *L ) ...@@ -159,7 +159,7 @@ static int ICACHE_FLASH_ATTR ow_depower( lua_State *L )
#if ONEWIRE_SEARCH #if ONEWIRE_SEARCH
// Clear the search state so that if will start from the beginning again. // Clear the search state so that if will start from the beginning again.
// Lua: ow.reset_search( id ) // Lua: ow.reset_search( id )
static int ICACHE_FLASH_ATTR ow_reset_search( lua_State *L ) static int ow_reset_search( lua_State *L )
{ {
unsigned id = luaL_checkinteger( L, 1 ); unsigned id = luaL_checkinteger( L, 1 );
MOD_CHECK_ID( ow, id ); MOD_CHECK_ID( ow, id );
...@@ -171,7 +171,7 @@ static int ICACHE_FLASH_ATTR ow_reset_search( lua_State *L ) ...@@ -171,7 +171,7 @@ static int ICACHE_FLASH_ATTR ow_reset_search( lua_State *L )
// Setup the search to find the device type 'family_code' on the next call // Setup the search to find the device type 'family_code' on the next call
// to search(*newAddr) if it is present. // to search(*newAddr) if it is present.
// Lua: ow.target_search( id, family_code) // Lua: ow.target_search( id, family_code)
static int ICACHE_FLASH_ATTR ow_target_search( lua_State *L ) static int ow_target_search( lua_State *L )
{ {
unsigned id = luaL_checkinteger( L, 1 ); unsigned id = luaL_checkinteger( L, 1 );
MOD_CHECK_ID( ow, id ); MOD_CHECK_ID( ow, id );
...@@ -193,7 +193,7 @@ static int ICACHE_FLASH_ATTR ow_target_search( lua_State *L ) ...@@ -193,7 +193,7 @@ static int ICACHE_FLASH_ATTR ow_target_search( lua_State *L )
// the same devices in the same order. // the same devices in the same order.
// Lua: r = ow.search( id ) // Lua: r = ow.search( id )
static int ICACHE_FLASH_ATTR ow_search( lua_State *L ) static int ow_search( lua_State *L )
{ {
unsigned id = luaL_checkinteger( L, 1 ); unsigned id = luaL_checkinteger( L, 1 );
MOD_CHECK_ID( ow, id ); MOD_CHECK_ID( ow, id );
...@@ -217,7 +217,7 @@ static int ICACHE_FLASH_ATTR ow_search( lua_State *L ) ...@@ -217,7 +217,7 @@ static int ICACHE_FLASH_ATTR ow_search( lua_State *L )
#if ONEWIRE_CRC #if ONEWIRE_CRC
// uint8_t onewire_crc8(const uint8_t *addr, uint8_t len); // uint8_t onewire_crc8(const uint8_t *addr, uint8_t len);
// Lua: r = ow.crc8( buf ) // Lua: r = ow.crc8( buf )
static int ICACHE_FLASH_ATTR ow_crc8( lua_State *L ) static int ow_crc8( lua_State *L )
{ {
size_t datalen; size_t datalen;
const uint8_t *pdata = luaL_checklstring( L, 1, &datalen ); const uint8_t *pdata = luaL_checklstring( L, 1, &datalen );
...@@ -230,7 +230,7 @@ static int ICACHE_FLASH_ATTR ow_crc8( lua_State *L ) ...@@ -230,7 +230,7 @@ static int ICACHE_FLASH_ATTR ow_crc8( lua_State *L )
#if ONEWIRE_CRC16 #if ONEWIRE_CRC16
// bool onewire_check_crc16(const uint8_t* input, uint16_t len, const uint8_t* inverted_crc, uint16_t crc); // bool onewire_check_crc16(const uint8_t* input, uint16_t len, const uint8_t* inverted_crc, uint16_t crc);
// Lua: b = ow.check_crc16( buf, inverted_crc0, inverted_crc1, crc ) // Lua: b = ow.check_crc16( buf, inverted_crc0, inverted_crc1, crc )
static int ICACHE_FLASH_ATTR ow_check_crc16( lua_State *L ) static int ow_check_crc16( lua_State *L )
{ {
size_t datalen; size_t datalen;
uint8_t inverted_crc[2]; uint8_t inverted_crc[2];
...@@ -262,7 +262,7 @@ static int ICACHE_FLASH_ATTR ow_check_crc16( lua_State *L ) ...@@ -262,7 +262,7 @@ static int ICACHE_FLASH_ATTR ow_check_crc16( lua_State *L )
// uint16_t onewire_crc16(const uint8_t* input, uint16_t len, uint16_t crc); // uint16_t onewire_crc16(const uint8_t* input, uint16_t len, uint16_t crc);
// Lua: r = ow.crc16( buf, crc ) // Lua: r = ow.crc16( buf, crc )
static int ICACHE_FLASH_ATTR ow_crc16( lua_State *L ) static int ow_crc16( lua_State *L )
{ {
size_t datalen; size_t datalen;
const uint8_t *pdata = luaL_checklstring( L, 1, &datalen ); const uint8_t *pdata = luaL_checklstring( L, 1, &datalen );
...@@ -313,7 +313,7 @@ const LUA_REG_TYPE ow_map[] = ...@@ -313,7 +313,7 @@ const LUA_REG_TYPE ow_map[] =
{ LNILKEY, LNILVAL } { LNILKEY, LNILVAL }
}; };
LUALIB_API int ICACHE_FLASH_ATTR luaopen_ow( lua_State *L ) LUALIB_API int luaopen_ow( lua_State *L )
{ {
#if LUA_OPTIMIZE_MEMORY > 0 #if LUA_OPTIMIZE_MEMORY > 0
return 0; return 0;
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
#include "c_types.h" #include "c_types.h"
// Lua: realfrequency = setup( id, frequency, duty ) // Lua: realfrequency = setup( id, frequency, duty )
static int ICACHE_FLASH_ATTR lpwm_setup( lua_State* L ) static int lpwm_setup( lua_State* L )
{ {
s32 freq; // signed, to error check for negative values s32 freq; // signed, to error check for negative values
unsigned duty; unsigned duty;
...@@ -35,7 +35,7 @@ static int ICACHE_FLASH_ATTR lpwm_setup( lua_State* L ) ...@@ -35,7 +35,7 @@ static int ICACHE_FLASH_ATTR lpwm_setup( lua_State* L )
} }
// Lua: close( id ) // Lua: close( id )
static int ICACHE_FLASH_ATTR lpwm_close( lua_State* L ) static int lpwm_close( lua_State* L )
{ {
unsigned id; unsigned id;
...@@ -46,7 +46,7 @@ static int ICACHE_FLASH_ATTR lpwm_close( lua_State* L ) ...@@ -46,7 +46,7 @@ static int ICACHE_FLASH_ATTR lpwm_close( lua_State* L )
} }
// Lua: start( id ) // Lua: start( id )
static int ICACHE_FLASH_ATTR lpwm_start( lua_State* L ) static int lpwm_start( lua_State* L )
{ {
unsigned id; unsigned id;
id = luaL_checkinteger( L, 1 ); id = luaL_checkinteger( L, 1 );
...@@ -56,7 +56,7 @@ static int ICACHE_FLASH_ATTR lpwm_start( lua_State* L ) ...@@ -56,7 +56,7 @@ static int ICACHE_FLASH_ATTR lpwm_start( lua_State* L )
} }
// Lua: stop( id ) // Lua: stop( id )
static int ICACHE_FLASH_ATTR lpwm_stop( lua_State* L ) static int lpwm_stop( lua_State* L )
{ {
unsigned id; unsigned id;
...@@ -67,7 +67,7 @@ static int ICACHE_FLASH_ATTR lpwm_stop( lua_State* L ) ...@@ -67,7 +67,7 @@ static int ICACHE_FLASH_ATTR lpwm_stop( lua_State* L )
} }
// Lua: realclock = setclock( id, clock ) // Lua: realclock = setclock( id, clock )
static int ICACHE_FLASH_ATTR lpwm_setclock( lua_State* L ) static int lpwm_setclock( lua_State* L )
{ {
unsigned id; unsigned id;
s32 clk; // signed to error-check for negative values s32 clk; // signed to error-check for negative values
...@@ -83,7 +83,7 @@ static int ICACHE_FLASH_ATTR lpwm_setclock( lua_State* L ) ...@@ -83,7 +83,7 @@ static int ICACHE_FLASH_ATTR lpwm_setclock( lua_State* L )
} }
// Lua: clock = getclock( id ) // Lua: clock = getclock( id )
static int ICACHE_FLASH_ATTR lpwm_getclock( lua_State* L ) static int lpwm_getclock( lua_State* L )
{ {
unsigned id; unsigned id;
u32 clk; u32 clk;
...@@ -96,7 +96,7 @@ static int ICACHE_FLASH_ATTR lpwm_getclock( lua_State* L ) ...@@ -96,7 +96,7 @@ static int ICACHE_FLASH_ATTR lpwm_getclock( lua_State* L )
} }
// Lua: realduty = setduty( id, duty ) // Lua: realduty = setduty( id, duty )
static int ICACHE_FLASH_ATTR lpwm_setduty( lua_State* L ) static int lpwm_setduty( lua_State* L )
{ {
unsigned id; unsigned id;
s32 duty; // signed to error-check for negative values s32 duty; // signed to error-check for negative values
...@@ -112,7 +112,7 @@ static int ICACHE_FLASH_ATTR lpwm_setduty( lua_State* L ) ...@@ -112,7 +112,7 @@ static int ICACHE_FLASH_ATTR lpwm_setduty( lua_State* L )
} }
// Lua: duty = getduty( id ) // Lua: duty = getduty( id )
static int ICACHE_FLASH_ATTR lpwm_getduty( lua_State* L ) static int lpwm_getduty( lua_State* L )
{ {
unsigned id; unsigned id;
u32 duty; u32 duty;
...@@ -143,7 +143,7 @@ const LUA_REG_TYPE pwm_map[] = ...@@ -143,7 +143,7 @@ const LUA_REG_TYPE pwm_map[] =
{ LNILKEY, LNILVAL } { LNILKEY, LNILVAL }
}; };
LUALIB_API int ICACHE_FLASH_ATTR luaopen_pwm( lua_State *L ) LUALIB_API int luaopen_pwm( lua_State *L )
{ {
#if LUA_OPTIMIZE_MEMORY > 0 #if LUA_OPTIMIZE_MEMORY > 0
return 0; return 0;
......
...@@ -12,57 +12,50 @@ ...@@ -12,57 +12,50 @@
static os_timer_t alarm_timer[NUM_TMR]; static os_timer_t alarm_timer[NUM_TMR];
static int alarm_timer_cb_ref[NUM_TMR] = {LUA_NOREF,LUA_NOREF,LUA_NOREF,LUA_NOREF,LUA_NOREF,LUA_NOREF,LUA_NOREF}; static int alarm_timer_cb_ref[NUM_TMR] = {LUA_NOREF,LUA_NOREF,LUA_NOREF,LUA_NOREF,LUA_NOREF,LUA_NOREF,LUA_NOREF};
void ICACHE_FLASH_ATTR alarm_timer_common(lua_State* L, unsigned id){ void alarm_timer_common(lua_State* L, unsigned id){
if(alarm_timer_cb_ref[id] == LUA_NOREF) if(alarm_timer_cb_ref[id] == LUA_NOREF)
return; return;
lua_rawgeti(L, LUA_REGISTRYINDEX, alarm_timer_cb_ref[id]); lua_rawgeti(L, LUA_REGISTRYINDEX, alarm_timer_cb_ref[id]);
lua_call(L, 0, 0); lua_call(L, 0, 0);
} }
void ICACHE_FLASH_ATTR void alarm_timer_cb0(void *arg){
alarm_timer_cb0(void *arg){
if( !arg ) if( !arg )
return; return;
alarm_timer_common((lua_State*)arg, 0); alarm_timer_common((lua_State*)arg, 0);
} }
void ICACHE_FLASH_ATTR void alarm_timer_cb1(void *arg){
alarm_timer_cb1(void *arg){
if( !arg ) if( !arg )
return; return;
alarm_timer_common((lua_State*)arg, 1); alarm_timer_common((lua_State*)arg, 1);
} }
void ICACHE_FLASH_ATTR void alarm_timer_cb2(void *arg){
alarm_timer_cb2(void *arg){
if( !arg ) if( !arg )
return; return;
alarm_timer_common((lua_State*)arg, 2); alarm_timer_common((lua_State*)arg, 2);
} }
void ICACHE_FLASH_ATTR void alarm_timer_cb3(void *arg){
alarm_timer_cb3(void *arg){
if( !arg ) if( !arg )
return; return;
alarm_timer_common((lua_State*)arg, 3); alarm_timer_common((lua_State*)arg, 3);
} }
void ICACHE_FLASH_ATTR void alarm_timer_cb4(void *arg){
alarm_timer_cb4(void *arg){
if( !arg ) if( !arg )
return; return;
alarm_timer_common((lua_State*)arg, 4); alarm_timer_common((lua_State*)arg, 4);
} }
void ICACHE_FLASH_ATTR void alarm_timer_cb5(void *arg){
alarm_timer_cb5(void *arg){
if( !arg ) if( !arg )
return; return;
alarm_timer_common((lua_State*)arg, 5); alarm_timer_common((lua_State*)arg, 5);
} }
void ICACHE_FLASH_ATTR void alarm_timer_cb6(void *arg){
alarm_timer_cb6(void *arg){
if( !arg ) if( !arg )
return; return;
alarm_timer_common((lua_State*)arg, 6); alarm_timer_common((lua_State*)arg, 6);
...@@ -72,7 +65,7 @@ typedef void (*alarm_timer_callback)(void *arg); ...@@ -72,7 +65,7 @@ typedef void (*alarm_timer_callback)(void *arg);
static alarm_timer_callback alarm_timer_cb[NUM_TMR] = {alarm_timer_cb0,alarm_timer_cb1,alarm_timer_cb2,alarm_timer_cb3,alarm_timer_cb4,alarm_timer_cb5,alarm_timer_cb6}; static alarm_timer_callback alarm_timer_cb[NUM_TMR] = {alarm_timer_cb0,alarm_timer_cb1,alarm_timer_cb2,alarm_timer_cb3,alarm_timer_cb4,alarm_timer_cb5,alarm_timer_cb6};
// Lua: delay( us ) // Lua: delay( us )
static int ICACHE_FLASH_ATTR tmr_delay( lua_State* L ) static int tmr_delay( lua_State* L )
{ {
s32 us; s32 us;
us = luaL_checkinteger( L, 1 ); us = luaL_checkinteger( L, 1 );
...@@ -91,7 +84,7 @@ static int ICACHE_FLASH_ATTR tmr_delay( lua_State* L ) ...@@ -91,7 +84,7 @@ static int ICACHE_FLASH_ATTR tmr_delay( lua_State* L )
} }
// Lua: now() , return system timer in us // Lua: now() , return system timer in us
static int ICACHE_FLASH_ATTR tmr_now( lua_State* L ) static int tmr_now( lua_State* L )
{ {
unsigned now = 0x7FFFFFFF & system_get_time(); unsigned now = 0x7FFFFFFF & system_get_time();
lua_pushinteger( L, now ); lua_pushinteger( L, now );
...@@ -99,7 +92,7 @@ static int ICACHE_FLASH_ATTR tmr_now( lua_State* L ) ...@@ -99,7 +92,7 @@ static int ICACHE_FLASH_ATTR tmr_now( lua_State* L )
} }
// Lua: alarm( id, interval, repeat, function ) // Lua: alarm( id, interval, repeat, function )
static int ICACHE_FLASH_ATTR tmr_alarm( lua_State* L ) static int tmr_alarm( lua_State* L )
{ {
s32 interval; s32 interval;
unsigned repeat = 0; unsigned repeat = 0;
...@@ -136,7 +129,7 @@ static int ICACHE_FLASH_ATTR tmr_alarm( lua_State* L ) ...@@ -136,7 +129,7 @@ static int ICACHE_FLASH_ATTR tmr_alarm( lua_State* L )
} }
// Lua: stop( id ) // Lua: stop( id )
static int ICACHE_FLASH_ATTR tmr_stop( lua_State* L ) static int tmr_stop( lua_State* L )
{ {
unsigned id = luaL_checkinteger( L, 1 ); unsigned id = luaL_checkinteger( L, 1 );
MOD_CHECK_ID( tmr, id ); MOD_CHECK_ID( tmr, id );
...@@ -147,7 +140,7 @@ static int ICACHE_FLASH_ATTR tmr_stop( lua_State* L ) ...@@ -147,7 +140,7 @@ static int ICACHE_FLASH_ATTR tmr_stop( lua_State* L )
// extern void update_key_led(); // extern void update_key_led();
// Lua: wdclr() // Lua: wdclr()
static int ICACHE_FLASH_ATTR tmr_wdclr( lua_State* L ) static int tmr_wdclr( lua_State* L )
{ {
WRITE_PERI_REG(0x60000914, 0x73); WRITE_PERI_REG(0x60000914, 0x73);
// update_key_led(); // update_key_led();
...@@ -155,7 +148,7 @@ static int ICACHE_FLASH_ATTR tmr_wdclr( lua_State* L ) ...@@ -155,7 +148,7 @@ static int ICACHE_FLASH_ATTR tmr_wdclr( lua_State* L )
} }
// Lua: time() , return rtc time in us // Lua: time() , return rtc time in us
static int ICACHE_FLASH_ATTR tmr_time( lua_State* L ) static int tmr_time( lua_State* L )
{ {
unsigned t = 0xFFFFFFFF & system_get_rtc_time(); unsigned t = 0xFFFFFFFF & system_get_rtc_time();
unsigned c = 0xFFFFFFFF & system_rtc_clock_cali_proc(); unsigned c = 0xFFFFFFFF & system_rtc_clock_cali_proc();
...@@ -181,7 +174,7 @@ const LUA_REG_TYPE tmr_map[] = ...@@ -181,7 +174,7 @@ const LUA_REG_TYPE tmr_map[] =
{ LNILKEY, LNILVAL } { LNILKEY, LNILVAL }
}; };
LUALIB_API int ICACHE_FLASH_ATTR luaopen_tmr( lua_State *L ) LUALIB_API int luaopen_tmr( lua_State *L )
{ {
int i = 0; int i = 0;
for(i=0;i<NUM_TMR;i++){ for(i=0;i<NUM_TMR;i++){
......
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
static lua_State *gL = NULL; static lua_State *gL = NULL;
static int uart_receive_rf = LUA_NOREF; static int uart_receive_rf = LUA_NOREF;
bool run_input = true; bool run_input = true;
bool ICACHE_FLASH_ATTR uart_on_data_cb(const char *buf, size_t len){ bool uart_on_data_cb(const char *buf, size_t len){
if(!buf || len==0) if(!buf || len==0)
return false; return false;
if(uart_receive_rf == LUA_NOREF) if(uart_receive_rf == LUA_NOREF)
...@@ -29,7 +29,7 @@ bool ICACHE_FLASH_ATTR uart_on_data_cb(const char *buf, size_t len){ ...@@ -29,7 +29,7 @@ bool ICACHE_FLASH_ATTR uart_on_data_cb(const char *buf, size_t len){
uint16_t need_len = 0; uint16_t need_len = 0;
int16_t end_char = -1; int16_t end_char = -1;
// Lua: uart.on("method", [number/char], function, [run_input]) // Lua: uart.on("method", [number/char], function, [run_input])
static int ICACHE_FLASH_ATTR uart_on( lua_State* L ) static int uart_on( lua_State* L )
{ {
size_t sl, el; size_t sl, el;
int32_t run = 1; int32_t run = 1;
...@@ -160,7 +160,7 @@ const LUA_REG_TYPE uart_map[] = ...@@ -160,7 +160,7 @@ const LUA_REG_TYPE uart_map[] =
{ LNILKEY, LNILVAL } { LNILKEY, LNILVAL }
}; };
LUALIB_API int ICACHE_FLASH_ATTR luaopen_uart( lua_State *L ) LUALIB_API int luaopen_uart( lua_State *L )
{ {
#if LUA_OPTIMIZE_MEMORY > 0 #if LUA_OPTIMIZE_MEMORY > 0
return 0; return 0;
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
static int wifi_smart_succeed = LUA_NOREF; static int wifi_smart_succeed = LUA_NOREF;
static void ICACHE_FLASH_ATTR wifi_smart_succeed_cb(void *arg){ static void wifi_smart_succeed_cb(void *arg){
NODE_DBG("wifi_smart_succeed_cb is called.\n"); NODE_DBG("wifi_smart_succeed_cb is called.\n");
if( !arg ) if( !arg )
return; return;
...@@ -34,8 +34,7 @@ static lua_State* gL = NULL; ...@@ -34,8 +34,7 @@ static lua_State* gL = NULL;
* @param status: scan over status * @param status: scan over status
* @retval None * @retval None
*/ */
static void ICACHE_FLASH_ATTR static void wifi_scan_done(void *arg, STATUS status)
wifi_scan_done(void *arg, STATUS status)
{ {
uint8 ssid[33]; uint8 ssid[33];
char temp[128]; char temp[128];
...@@ -82,7 +81,7 @@ wifi_scan_done(void *arg, STATUS status) ...@@ -82,7 +81,7 @@ wifi_scan_done(void *arg, STATUS status)
} }
// Lua: smart(channel, function succeed_cb) // Lua: smart(channel, function succeed_cb)
static int ICACHE_FLASH_ATTR wifi_start_smart( lua_State* L ) static int wifi_start_smart( lua_State* L )
{ {
unsigned channel; unsigned channel;
int stack = 1; int stack = 1;
...@@ -114,7 +113,7 @@ static int ICACHE_FLASH_ATTR wifi_start_smart( lua_State* L ) ...@@ -114,7 +113,7 @@ static int ICACHE_FLASH_ATTR wifi_start_smart( lua_State* L )
} }
// Lua: exit_smart(channel) // Lua: exit_smart(channel)
static int ICACHE_FLASH_ATTR wifi_exit_smart( lua_State* L ) static int wifi_exit_smart( lua_State* L )
{ {
smart_end(); smart_end();
if(wifi_smart_succeed != LUA_NOREF) if(wifi_smart_succeed != LUA_NOREF)
...@@ -124,7 +123,7 @@ static int ICACHE_FLASH_ATTR wifi_exit_smart( lua_State* L ) ...@@ -124,7 +123,7 @@ static int ICACHE_FLASH_ATTR wifi_exit_smart( lua_State* L )
} }
// Lua: realmode = setmode(mode) // Lua: realmode = setmode(mode)
static int ICACHE_FLASH_ATTR wifi_setmode( lua_State* L ) static int wifi_setmode( lua_State* L )
{ {
unsigned mode; unsigned mode;
...@@ -139,7 +138,7 @@ static int ICACHE_FLASH_ATTR wifi_setmode( lua_State* L ) ...@@ -139,7 +138,7 @@ static int ICACHE_FLASH_ATTR wifi_setmode( lua_State* L )
} }
// Lua: realmode = getmode() // Lua: realmode = getmode()
static int ICACHE_FLASH_ATTR wifi_getmode( lua_State* L ) static int wifi_getmode( lua_State* L )
{ {
unsigned mode; unsigned mode;
mode = (unsigned)wifi_get_opmode(); mode = (unsigned)wifi_get_opmode();
...@@ -149,7 +148,7 @@ static int ICACHE_FLASH_ATTR wifi_getmode( lua_State* L ) ...@@ -149,7 +148,7 @@ static int ICACHE_FLASH_ATTR wifi_getmode( lua_State* L )
// Lua: mac = wifi.xx.getmac() // Lua: mac = wifi.xx.getmac()
static int ICACHE_FLASH_ATTR wifi_getmac( lua_State* L, uint8_t mode ) static int wifi_getmac( lua_State* L, uint8_t mode )
{ {
char temp[64]; char temp[64];
uint8_t mac[6]; uint8_t mac[6];
...@@ -160,7 +159,7 @@ static int ICACHE_FLASH_ATTR wifi_getmac( lua_State* L, uint8_t mode ) ...@@ -160,7 +159,7 @@ static int ICACHE_FLASH_ATTR wifi_getmac( lua_State* L, uint8_t mode )
} }
// Lua: mac = wifi.xx.setmac() // Lua: mac = wifi.xx.setmac()
static int ICACHE_FLASH_ATTR wifi_setmac( lua_State* L, uint8_t mode ) static int wifi_setmac( lua_State* L, uint8_t mode )
{ {
unsigned len = 0; unsigned len = 0;
const char *mac = luaL_checklstring( L, 1, &len ); const char *mac = luaL_checklstring( L, 1, &len );
...@@ -172,7 +171,7 @@ static int ICACHE_FLASH_ATTR wifi_setmac( lua_State* L, uint8_t mode ) ...@@ -172,7 +171,7 @@ static int ICACHE_FLASH_ATTR wifi_setmac( lua_State* L, uint8_t mode )
} }
// Lua: ip = wifi.xx.getip() // Lua: ip = wifi.xx.getip()
static int ICACHE_FLASH_ATTR wifi_getip( lua_State* L, uint8_t mode ) static int wifi_getip( lua_State* L, uint8_t mode )
{ {
struct ip_info pTempIp; struct ip_info pTempIp;
char temp[64]; char temp[64];
...@@ -204,7 +203,7 @@ static uint32_t parse_key(lua_State* L, const char * key){ ...@@ -204,7 +203,7 @@ static uint32_t parse_key(lua_State* L, const char * key){
} }
// Lua: ip = wifi.xx.setip() // Lua: ip = wifi.xx.setip()
static int ICACHE_FLASH_ATTR wifi_setip( lua_State* L, uint8_t mode ) static int wifi_setip( lua_State* L, uint8_t mode )
{ {
struct ip_info pTempIp; struct ip_info pTempIp;
wifi_get_ip_info(mode, &pTempIp); wifi_get_ip_info(mode, &pTempIp);
...@@ -228,7 +227,7 @@ static int ICACHE_FLASH_ATTR wifi_setip( lua_State* L, uint8_t mode ) ...@@ -228,7 +227,7 @@ static int ICACHE_FLASH_ATTR wifi_setip( lua_State* L, uint8_t mode )
} }
// Lua: realtype = sleeptype(type) // Lua: realtype = sleeptype(type)
static int ICACHE_FLASH_ATTR wifi_sleeptype( lua_State* L ) static int wifi_sleeptype( lua_State* L )
{ {
unsigned type; unsigned type;
...@@ -248,27 +247,27 @@ static int ICACHE_FLASH_ATTR wifi_sleeptype( lua_State* L ) ...@@ -248,27 +247,27 @@ static int ICACHE_FLASH_ATTR wifi_sleeptype( lua_State* L )
} }
// Lua: wifi.sta.getmac() // Lua: wifi.sta.getmac()
static int ICACHE_FLASH_ATTR wifi_station_getmac( lua_State* L ){ static int wifi_station_getmac( lua_State* L ){
return wifi_getmac(L, STATION_IF); return wifi_getmac(L, STATION_IF);
} }
// Lua: wifi.sta.setmac() // Lua: wifi.sta.setmac()
static int ICACHE_FLASH_ATTR wifi_station_setmac( lua_State* L ){ static int wifi_station_setmac( lua_State* L ){
return wifi_setmac(L, STATION_IF); return wifi_setmac(L, STATION_IF);
} }
// Lua: wifi.sta.getip() // Lua: wifi.sta.getip()
static int ICACHE_FLASH_ATTR wifi_station_getip( lua_State* L ){ static int wifi_station_getip( lua_State* L ){
return wifi_getip(L, STATION_IF); return wifi_getip(L, STATION_IF);
} }
// Lua: wifi.sta.setip() // Lua: wifi.sta.setip()
static int ICACHE_FLASH_ATTR wifi_station_setip( lua_State* L ){ static int wifi_station_setip( lua_State* L ){
return wifi_setip(L, STATION_IF); return wifi_setip(L, STATION_IF);
} }
// Lua: wifi.sta.config(ssid, password) // Lua: wifi.sta.config(ssid, password)
static int ICACHE_FLASH_ATTR wifi_station_config( lua_State* L ) static int wifi_station_config( lua_State* L )
{ {
size_t sl, pl; size_t sl, pl;
struct station_config sta_conf; struct station_config sta_conf;
...@@ -301,21 +300,21 @@ static int ICACHE_FLASH_ATTR wifi_station_config( lua_State* L ) ...@@ -301,21 +300,21 @@ static int ICACHE_FLASH_ATTR wifi_station_config( lua_State* L )
} }
// Lua: wifi.sta.connect() // Lua: wifi.sta.connect()
static int ICACHE_FLASH_ATTR wifi_station_connect4lua( lua_State* L ) static int wifi_station_connect4lua( lua_State* L )
{ {
wifi_station_connect(); wifi_station_connect();
return 0; return 0;
} }
// Lua: wifi.sta.disconnect() // Lua: wifi.sta.disconnect()
static int ICACHE_FLASH_ATTR wifi_station_disconnect4lua( lua_State* L ) static int wifi_station_disconnect4lua( lua_State* L )
{ {
wifi_station_disconnect(); wifi_station_disconnect();
return 0; return 0;
} }
// Lua: wifi.sta.auto(true/false) // Lua: wifi.sta.auto(true/false)
static int ICACHE_FLASH_ATTR wifi_station_setauto( lua_State* L ) static int wifi_station_setauto( lua_State* L )
{ {
unsigned a; unsigned a;
...@@ -330,7 +329,7 @@ static int ICACHE_FLASH_ATTR wifi_station_setauto( lua_State* L ) ...@@ -330,7 +329,7 @@ static int ICACHE_FLASH_ATTR wifi_station_setauto( lua_State* L )
return 0; return 0;
} }
static int ICACHE_FLASH_ATTR wifi_station_listap( lua_State* L ) static int wifi_station_listap( lua_State* L )
{ {
if(wifi_get_opmode() == SOFTAP_MODE) if(wifi_get_opmode() == SOFTAP_MODE)
{ {
...@@ -352,7 +351,7 @@ static int ICACHE_FLASH_ATTR wifi_station_listap( lua_State* L ) ...@@ -352,7 +351,7 @@ static int ICACHE_FLASH_ATTR wifi_station_listap( lua_State* L )
} }
// Lua: wifi.sta.status() // Lua: wifi.sta.status()
static int ICACHE_FLASH_ATTR wifi_station_status( lua_State* L ) static int wifi_station_status( lua_State* L )
{ {
uint8_t status = wifi_station_get_connect_status(); uint8_t status = wifi_station_get_connect_status();
lua_pushinteger( L, status ); lua_pushinteger( L, status );
...@@ -360,27 +359,27 @@ static int ICACHE_FLASH_ATTR wifi_station_status( lua_State* L ) ...@@ -360,27 +359,27 @@ static int ICACHE_FLASH_ATTR wifi_station_status( lua_State* L )
} }
// Lua: wifi.ap.getmac() // Lua: wifi.ap.getmac()
static int ICACHE_FLASH_ATTR wifi_ap_getmac( lua_State* L ){ static int wifi_ap_getmac( lua_State* L ){
return wifi_getmac(L, SOFTAP_IF); return wifi_getmac(L, SOFTAP_IF);
} }
// Lua: wifi.ap.setmac() // Lua: wifi.ap.setmac()
static int ICACHE_FLASH_ATTR wifi_ap_setmac( lua_State* L ){ static int wifi_ap_setmac( lua_State* L ){
return wifi_setmac(L, SOFTAP_IF); return wifi_setmac(L, SOFTAP_IF);
} }
// Lua: wifi.ap.getip() // Lua: wifi.ap.getip()
static int ICACHE_FLASH_ATTR wifi_ap_getip( lua_State* L ){ static int wifi_ap_getip( lua_State* L ){
return wifi_getip(L, SOFTAP_IF); return wifi_getip(L, SOFTAP_IF);
} }
// Lua: wifi.ap.setip() // Lua: wifi.ap.setip()
static int ICACHE_FLASH_ATTR wifi_ap_setip( lua_State* L ){ static int wifi_ap_setip( lua_State* L ){
return wifi_setip(L, SOFTAP_IF); return wifi_setip(L, SOFTAP_IF);
} }
// Lua: wifi.ap.config(table) // Lua: wifi.ap.config(table)
static int ICACHE_FLASH_ATTR wifi_ap_config( lua_State* L ) static int wifi_ap_config( lua_State* L )
{ {
struct softap_config config; struct softap_config config;
size_t len; size_t len;
...@@ -495,7 +494,7 @@ const LUA_REG_TYPE wifi_map[] = ...@@ -495,7 +494,7 @@ const LUA_REG_TYPE wifi_map[] =
{ LNILKEY, LNILVAL } { LNILKEY, LNILVAL }
}; };
LUALIB_API int ICACHE_FLASH_ATTR luaopen_wifi( lua_State *L ) LUALIB_API int luaopen_wifi( lua_State *L )
{ {
#if LUA_OPTIMIZE_MEMORY > 0 #if LUA_OPTIMIZE_MEMORY > 0
return 0; return 0;
......
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
#include "c_string.h" #include "c_string.h"
#include "c_stdio.h" #include "c_stdio.h"
void ICACHE_FLASH_ATTR cmn_platform_init(void) void cmn_platform_init(void)
{ {
} }
...@@ -13,7 +13,7 @@ void ICACHE_FLASH_ATTR cmn_platform_init(void) ...@@ -13,7 +13,7 @@ void ICACHE_FLASH_ATTR cmn_platform_init(void)
// **************************************************************************** // ****************************************************************************
// GPIO functions // GPIO functions
int ICACHE_FLASH_ATTR platform_gpio_exists( unsigned pin ) int platform_gpio_exists( unsigned pin )
{ {
return pin < NUM_GPIO; return pin < NUM_GPIO;
} }
...@@ -21,7 +21,7 @@ int ICACHE_FLASH_ATTR platform_gpio_exists( unsigned pin ) ...@@ -21,7 +21,7 @@ int ICACHE_FLASH_ATTR platform_gpio_exists( unsigned pin )
// **************************************************************************** // ****************************************************************************
// CAN functions // CAN functions
int ICACHE_FLASH_ATTR platform_can_exists( unsigned id ) int platform_can_exists( unsigned id )
{ {
return id < NUM_CAN; return id < NUM_CAN;
} }
...@@ -30,7 +30,7 @@ int ICACHE_FLASH_ATTR platform_can_exists( unsigned id ) ...@@ -30,7 +30,7 @@ int ICACHE_FLASH_ATTR platform_can_exists( unsigned id )
// SPI functions // SPI functions
int ICACHE_FLASH_ATTR platform_spi_exists( unsigned id ) int platform_spi_exists( unsigned id )
{ {
return id < NUM_SPI; return id < NUM_SPI;
} }
...@@ -38,7 +38,7 @@ int ICACHE_FLASH_ATTR platform_spi_exists( unsigned id ) ...@@ -38,7 +38,7 @@ int ICACHE_FLASH_ATTR platform_spi_exists( unsigned id )
// **************************************************************************** // ****************************************************************************
// PWM functions // PWM functions
int ICACHE_FLASH_ATTR platform_pwm_exists( unsigned id ) int platform_pwm_exists( unsigned id )
{ {
return ((id < NUM_PWM) && (id > 0)); return ((id < NUM_PWM) && (id > 0));
} }
...@@ -46,7 +46,7 @@ int ICACHE_FLASH_ATTR platform_pwm_exists( unsigned id ) ...@@ -46,7 +46,7 @@ int ICACHE_FLASH_ATTR platform_pwm_exists( unsigned id )
// **************************************************************************** // ****************************************************************************
// ADC functions // ADC functions
int ICACHE_FLASH_ATTR platform_adc_exists( unsigned id ) int platform_adc_exists( unsigned id )
{ {
return id < NUM_ADC; return id < NUM_ADC;
} }
...@@ -54,7 +54,7 @@ int ICACHE_FLASH_ATTR platform_adc_exists( unsigned id ) ...@@ -54,7 +54,7 @@ int ICACHE_FLASH_ATTR platform_adc_exists( unsigned id )
// **************************************************************************** // ****************************************************************************
// UART functions // UART functions
int ICACHE_FLASH_ATTR platform_uart_exists( unsigned id ) int platform_uart_exists( unsigned id )
{ {
return id < NUM_UART; return id < NUM_UART;
} }
...@@ -62,7 +62,7 @@ int ICACHE_FLASH_ATTR platform_uart_exists( unsigned id ) ...@@ -62,7 +62,7 @@ int ICACHE_FLASH_ATTR platform_uart_exists( unsigned id )
// **************************************************************************** // ****************************************************************************
// OneWire functions // OneWire functions
int ICACHE_FLASH_ATTR platform_ow_exists( unsigned id ) int platform_ow_exists( unsigned id )
{ {
return ((id < NUM_OW) && (id > 0)); return ((id < NUM_OW) && (id > 0));
} }
...@@ -70,13 +70,13 @@ int ICACHE_FLASH_ATTR platform_ow_exists( unsigned id ) ...@@ -70,13 +70,13 @@ int ICACHE_FLASH_ATTR platform_ow_exists( unsigned id )
// **************************************************************************** // ****************************************************************************
// Timer functions // Timer functions
int ICACHE_FLASH_ATTR platform_tmr_exists( unsigned id ) int platform_tmr_exists( unsigned id )
{ {
return id < NUM_TMR; return id < NUM_TMR;
} }
// I2C support // I2C support
int ICACHE_FLASH_ATTR platform_i2c_exists( unsigned id ) int platform_i2c_exists( unsigned id )
{ {
#ifndef NUM_I2C #ifndef NUM_I2C
return 0; return 0;
...@@ -99,7 +99,7 @@ extern char _flash_used_end[]; ...@@ -99,7 +99,7 @@ extern char _flash_used_end[];
// Helper function: find the flash sector in which an address resides // Helper function: find the flash sector in which an address resides
// Return the sector number, as well as the start and end address of the sector // Return the sector number, as well as the start and end address of the sector
static uint32_t ICACHE_FLASH_ATTR flashh_find_sector( uint32_t address, uint32_t *pstart, uint32_t *pend ) static uint32_t flashh_find_sector( uint32_t address, uint32_t *pstart, uint32_t *pend )
{ {
address -= INTERNAL_FLASH_START_ADDRESS; address -= INTERNAL_FLASH_START_ADDRESS;
#ifdef INTERNAL_FLASH_SECTOR_SIZE #ifdef INTERNAL_FLASH_SECTOR_SIZE
...@@ -127,12 +127,12 @@ static uint32_t ICACHE_FLASH_ATTR flashh_find_sector( uint32_t address, uint32_t ...@@ -127,12 +127,12 @@ static uint32_t ICACHE_FLASH_ATTR flashh_find_sector( uint32_t address, uint32_t
#endif // #ifdef INTERNAL_FLASH_SECTOR_SIZE #endif // #ifdef INTERNAL_FLASH_SECTOR_SIZE
} }
uint32_t ICACHE_FLASH_ATTR platform_flash_get_sector_of_address( uint32_t addr ) uint32_t platform_flash_get_sector_of_address( uint32_t addr )
{ {
return flashh_find_sector( addr, NULL, NULL ); return flashh_find_sector( addr, NULL, NULL );
} }
uint32_t ICACHE_FLASH_ATTR platform_flash_get_num_sectors(void) uint32_t platform_flash_get_num_sectors(void)
{ {
#ifdef INTERNAL_FLASH_SECTOR_SIZE #ifdef INTERNAL_FLASH_SECTOR_SIZE
return INTERNAL_FLASH_SIZE / INTERNAL_FLASH_SECTOR_SIZE; return INTERNAL_FLASH_SIZE / INTERNAL_FLASH_SECTOR_SIZE;
...@@ -143,7 +143,7 @@ uint32_t ICACHE_FLASH_ATTR platform_flash_get_num_sectors(void) ...@@ -143,7 +143,7 @@ uint32_t ICACHE_FLASH_ATTR platform_flash_get_num_sectors(void)
#endif // #ifdef INTERNAL_FLASH_SECTOR_SIZE #endif // #ifdef INTERNAL_FLASH_SECTOR_SIZE
} }
uint32_t ICACHE_FLASH_ATTR platform_flash_get_first_free_block_address( uint32_t *psect ) uint32_t platform_flash_get_first_free_block_address( uint32_t *psect )
{ {
// Round the total used flash size to the closest flash block address // Round the total used flash size to the closest flash block address
uint32_t start, end, sect; uint32_t start, end, sect;
...@@ -162,7 +162,7 @@ uint32_t ICACHE_FLASH_ATTR platform_flash_get_first_free_block_address( uint32_t ...@@ -162,7 +162,7 @@ uint32_t ICACHE_FLASH_ATTR platform_flash_get_first_free_block_address( uint32_t
} }
} }
uint32_t ICACHE_FLASH_ATTR platform_flash_write( const void *from, uint32_t toaddr, uint32_t size ) uint32_t platform_flash_write( const void *from, uint32_t toaddr, uint32_t size )
{ {
#ifndef INTERNAL_FLASH_WRITE_UNIT_SIZE #ifndef INTERNAL_FLASH_WRITE_UNIT_SIZE
return platform_s_flash_write( from, toaddr, size ); return platform_s_flash_write( from, toaddr, size );
...@@ -212,7 +212,7 @@ uint32_t ICACHE_FLASH_ATTR platform_flash_write( const void *from, uint32_t toad ...@@ -212,7 +212,7 @@ uint32_t ICACHE_FLASH_ATTR platform_flash_write( const void *from, uint32_t toad
#endif // #ifndef INTERNAL_FLASH_WRITE_UNIT_SIZE #endif // #ifndef INTERNAL_FLASH_WRITE_UNIT_SIZE
} }
uint32_t ICACHE_FLASH_ATTR platform_flash_read( void *to, uint32_t fromaddr, uint32_t size ) uint32_t platform_flash_read( void *to, uint32_t fromaddr, uint32_t size )
{ {
#ifndef INTERNAL_FLASH_READ_UNIT_SIZE #ifndef INTERNAL_FLASH_READ_UNIT_SIZE
return platform_s_flash_read( to, fromaddr, size ); return platform_s_flash_read( to, fromaddr, size );
......
...@@ -7,37 +7,34 @@ ...@@ -7,37 +7,34 @@
#include "flash_api.h" #include "flash_api.h"
#include "spi_flash.h" #include "spi_flash.h"
SPIFlashInfo *ICACHE_FLASH_ATTR static volatile const uint8_t flash_init_data[128] ICACHE_STORE_ATTR ICACHE_FLASH_ATTR =
flash_get_info(void)
{ {
static SPIFlashInfo spi_flash_info NODE_STORE_ATTR; 0x05, 0x00, 0x04, 0x02, 0x05, 0x05, 0x05, 0x02, 0x05, 0x00, 0x04, 0x05, 0x05, 0x04, 0x05, 0x05,
static bool is_spi_flash_info_initialized = false; 0x04, 0xFE, 0xFD, 0xFF, 0xF0, 0xF0, 0xF0, 0xE0, 0xE0, 0xE0, 0xE1, 0x0A, 0xFF, 0xFF, 0xF8, 0x00,
// Make the code more fast 0xF8, 0xF8, 0x52, 0x4E, 0x4A, 0x44, 0x40, 0x38, 0x00, 0x00, 0x01, 0x01, 0x02, 0x03, 0x04, 0x05,
if (!is_spi_flash_info_initialized) 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
{ 0xE1, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x93, 0x43, 0x00, 0x00, 0x00,
SPIRead(0, &spi_flash_info, sizeof(spi_flash_info)); 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
is_spi_flash_info_initialized = true; 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
} 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
// return (SPIFlashInfo *)(0x40200000); };
return &spi_flash_info;
SPIFlashInfo flash_get_info(void)
{
volatile SPIFlashInfo spi_flash_info ICACHE_STORE_ATTR;
spi_flash_info = *((SPIFlashInfo *)(FLASH_MAP_START_ADDRESS));
return spi_flash_info;
} }
uint8_t ICACHE_FLASH_ATTR uint8_t flash_get_size(void)
flash_get_size(void)
{ {
SPIFlashInfo *p_spi_flash_info = flash_get_info(); return flash_get_info().size;
return p_spi_flash_info->size;
} }
uint32_t ICACHE_FLASH_ATTR uint32_t flash_get_size_byte(void)
flash_get_size_byte(void)
{ {
static uint32_t flash_size = 0; uint32_t flash_size = 0;
// Make the code more fast switch (flash_get_info().size)
if (flash_size == 0 )
{
SPIFlashInfo *p_spi_flash_info = flash_get_info();
switch (p_spi_flash_info->size)
{ {
case SIZE_2MBIT: case SIZE_2MBIT:
// 2Mbit, 256kByte // 2Mbit, 256kByte
...@@ -64,17 +61,15 @@ flash_get_size_byte(void) ...@@ -64,17 +61,15 @@ flash_get_size_byte(void)
flash_size = 512 * 1024; flash_size = 512 * 1024;
break; break;
} }
}
return flash_size; return flash_size;
} }
bool ICACHE_FLASH_ATTR bool flash_set_size(uint8_t size)
flash_set_size(uint8_t size)
{ {
// Dangerous, here are dinosaur infested!!!!! // Dangerous, here are dinosaur infested!!!!!
// Reboot required!!! // Reboot required!!!
// If you don't know what you're doing, your nodemcu may turn into stone ... // If you don't know what you're doing, your nodemcu may turn into stone ...
uint8_t data[SPI_FLASH_SEC_SIZE] NODE_STORE_ATTR; uint8_t data[SPI_FLASH_SEC_SIZE] ICACHE_STORE_ATTR;
SPIRead(0, data, sizeof(data)); SPIRead(0, data, sizeof(data));
SPIFlashInfo *p_spi_flash_info = (SPIFlashInfo *)(data); SPIFlashInfo *p_spi_flash_info = (SPIFlashInfo *)(data);
p_spi_flash_info->size = size; p_spi_flash_info->size = size;
...@@ -85,8 +80,7 @@ flash_set_size(uint8_t size) ...@@ -85,8 +80,7 @@ flash_set_size(uint8_t size)
return true; return true;
} }
bool ICACHE_FLASH_ATTR bool flash_set_size_byte(uint32_t size)
flash_set_size_byte(uint32_t size)
{ {
// Dangerous, here are dinosaur infested!!!!! // Dangerous, here are dinosaur infested!!!!!
// Reboot required!!! // Reboot required!!!
...@@ -128,23 +122,15 @@ flash_set_size_byte(uint32_t size) ...@@ -128,23 +122,15 @@ flash_set_size_byte(uint32_t size)
return result; return result;
} }
uint16_t ICACHE_FLASH_ATTR uint16_t flash_get_sec_num(void)
flash_get_sec_num(void)
{ {
static uint16_t result = 0; return flash_get_size_byte() / SPI_FLASH_SEC_SIZE;
// Make the code more fast
if (result == 0 )
{
result = flash_get_size_byte() / SPI_FLASH_SEC_SIZE;
}
return result;
} }
uint8_t ICACHE_FLASH_ATTR uint8_t flash_get_mode(void)
flash_get_mode(void)
{ {
SPIFlashInfo *p_spi_flash_info = flash_get_info(); SPIFlashInfo spi_flash_info = flash_get_info();
switch (p_spi_flash_info->mode) switch (spi_flash_info.mode)
{ {
// Reserved for future use // Reserved for future use
case MODE_QIO: case MODE_QIO:
...@@ -156,15 +142,14 @@ flash_get_mode(void) ...@@ -156,15 +142,14 @@ flash_get_mode(void)
case MODE_DOUT: case MODE_DOUT:
break; break;
} }
return p_spi_flash_info->mode; return spi_flash_info.mode;
} }
uint32_t ICACHE_FLASH_ATTR uint32_t flash_get_speed(void)
flash_get_speed(void)
{ {
uint32_t speed = 0; uint32_t speed = 0;
SPIFlashInfo *p_spi_flash_info = flash_get_info(); SPIFlashInfo spi_flash_info = flash_get_info();
switch (p_spi_flash_info->speed) switch (spi_flash_info.speed)
{ {
case SPEED_40MHZ: case SPEED_40MHZ:
// 40MHz // 40MHz
...@@ -186,8 +171,7 @@ flash_get_speed(void) ...@@ -186,8 +171,7 @@ flash_get_speed(void)
return speed; return speed;
} }
bool ICACHE_FLASH_ATTR bool flash_init_data_default(void)
flash_init_data_default(void)
{ {
// FLASH SEC - 4 // FLASH SEC - 4
// Dangerous, here are dinosaur infested!!!!! // Dangerous, here are dinosaur infested!!!!!
...@@ -195,12 +179,11 @@ flash_init_data_default(void) ...@@ -195,12 +179,11 @@ flash_init_data_default(void)
// It will init system data to default! // It will init system data to default!
SPIEraseSector((flash_get_sec_num() - 4)); SPIEraseSector((flash_get_sec_num() - 4));
SPIWrite((flash_get_sec_num() - 4) * SPI_FLASH_SEC_SIZE, 0x10000 - SPI_FLASH_SEC_SIZE + (0), 128); SPIWrite((flash_get_sec_num() - 4) * SPI_FLASH_SEC_SIZE, (uint32_t *)flash_init_data, 128);
return true; return true;
} }
bool ICACHE_FLASH_ATTR bool flash_init_data_blank(void)
flash_init_data_blank(void)
{ {
// FLASH SEC - 2 // FLASH SEC - 2
// Dangerous, here are dinosaur infested!!!!! // Dangerous, here are dinosaur infested!!!!!
...@@ -211,8 +194,7 @@ flash_init_data_blank(void) ...@@ -211,8 +194,7 @@ flash_init_data_blank(void)
return true; return true;
} }
bool ICACHE_FLASH_ATTR bool flash_self_destruct(void)
flash_self_destruct(void)
{ {
// Erase your flash. Good bye! // Erase your flash. Good bye!
SPIEraseChip(); SPIEraseChip();
......
...@@ -2,6 +2,8 @@ ...@@ -2,6 +2,8 @@
#define __FLASH_API_H__ #define __FLASH_API_H__
#include "ets_sys.h" #include "ets_sys.h"
#include "user_config.h" #include "user_config.h"
#include "cpu_esp8266.h"
#define FLASH_MAP_START_ADDRESS (INTERNAL_FLASH_START_ADDRESS)
typedef struct typedef struct
{ {
...@@ -29,9 +31,9 @@ typedef struct ...@@ -29,9 +31,9 @@ typedef struct
SIZE_16MBIT = 3, SIZE_16MBIT = 3,
SIZE_32MBIT = 4, SIZE_32MBIT = 4,
} size : 4; } size : 4;
} NODE_STORE_TYPEDEF_ATTR SPIFlashInfo; } ICACHE_STORE_TYPEDEF_ATTR SPIFlashInfo;
SPIFlashInfo *flash_get_info(void); SPIFlashInfo flash_get_info(void);
uint8_t flash_get_size(void); uint8_t flash_get_size(void);
uint32_t flash_get_size_byte(void); uint32_t flash_get_size_byte(void);
bool flash_set_size(uint8_t); bool flash_set_size(uint8_t);
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
#include "spiffs.h" #include "spiffs.h"
#endif #endif
int ICACHE_FLASH_ATTR fs_mode2flag(const char *mode){ int fs_mode2flag(const char *mode){
if(c_strlen(mode)==1){ if(c_strlen(mode)==1){
if(c_strcmp(mode,"w")==0) if(c_strcmp(mode,"w")==0)
return FS_WRONLY|FS_CREAT|FS_TRUNC; return FS_WRONLY|FS_CREAT|FS_TRUNC;
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
static void pwms_init(); static void pwms_init();
int ICACHE_FLASH_ATTR platform_init() int platform_init()
{ {
// Setup PWMs // Setup PWMs
pwms_init(); pwms_init();
...@@ -23,7 +23,7 @@ int ICACHE_FLASH_ATTR platform_init() ...@@ -23,7 +23,7 @@ int ICACHE_FLASH_ATTR platform_init()
// **************************************************************************** // ****************************************************************************
// KEY_LED functions // KEY_LED functions
uint8_t ICACHE_FLASH_ATTR platform_key_led( uint8_t level){ uint8_t platform_key_led( uint8_t level){
uint8_t temp; uint8_t temp;
gpio16_output_set(1); // set to high first, for reading key low level gpio16_output_set(1); // set to high first, for reading key low level
gpio16_input_conf(); gpio16_input_conf();
...@@ -38,7 +38,7 @@ uint8_t ICACHE_FLASH_ATTR platform_key_led( uint8_t level){ ...@@ -38,7 +38,7 @@ uint8_t ICACHE_FLASH_ATTR platform_key_led( uint8_t level){
#ifdef GPIO_INTERRUPT_ENABLE #ifdef GPIO_INTERRUPT_ENABLE
extern void lua_gpio_unref(unsigned pin); extern void lua_gpio_unref(unsigned pin);
#endif #endif
int ICACHE_FLASH_ATTR platform_gpio_mode( unsigned pin, unsigned mode, unsigned pull ) int platform_gpio_mode( unsigned pin, unsigned mode, unsigned pull )
{ {
// NODE_DBG("Function platform_gpio_mode() is called. pin_mux:%d, func:%d\n",pin_mux[pin],pin_func[pin]); // NODE_DBG("Function platform_gpio_mode() is called. pin_mux:%d, func:%d\n",pin_mux[pin],pin_func[pin]);
if (pin >= NUM_GPIO) if (pin >= NUM_GPIO)
...@@ -108,7 +108,7 @@ int ICACHE_FLASH_ATTR platform_gpio_mode( unsigned pin, unsigned mode, unsigned ...@@ -108,7 +108,7 @@ int ICACHE_FLASH_ATTR platform_gpio_mode( unsigned pin, unsigned mode, unsigned
return 1; return 1;
} }
int ICACHE_FLASH_ATTR platform_gpio_write( unsigned pin, unsigned level ) int platform_gpio_write( unsigned pin, unsigned level )
{ {
// NODE_DBG("Function platform_gpio_write() is called. pin:%d, level:%d\n",GPIO_ID_PIN(pin_num[pin]),level); // NODE_DBG("Function platform_gpio_write() is called. pin:%d, level:%d\n",GPIO_ID_PIN(pin_num[pin]),level);
if (pin >= NUM_GPIO) if (pin >= NUM_GPIO)
...@@ -122,7 +122,7 @@ int ICACHE_FLASH_ATTR platform_gpio_write( unsigned pin, unsigned level ) ...@@ -122,7 +122,7 @@ int ICACHE_FLASH_ATTR platform_gpio_write( unsigned pin, unsigned level )
GPIO_OUTPUT_SET(GPIO_ID_PIN(pin_num[pin]), level); GPIO_OUTPUT_SET(GPIO_ID_PIN(pin_num[pin]), level);
} }
int ICACHE_FLASH_ATTR platform_gpio_read( unsigned pin ) int platform_gpio_read( unsigned pin )
{ {
// NODE_DBG("Function platform_gpio_read() is called. pin:%d\n",GPIO_ID_PIN(pin_num[pin])); // NODE_DBG("Function platform_gpio_read() is called. pin:%d\n",GPIO_ID_PIN(pin_num[pin]));
if (pin >= NUM_GPIO) if (pin >= NUM_GPIO)
...@@ -138,7 +138,7 @@ int ICACHE_FLASH_ATTR platform_gpio_read( unsigned pin ) ...@@ -138,7 +138,7 @@ int ICACHE_FLASH_ATTR platform_gpio_read( unsigned pin )
} }
#ifdef GPIO_INTERRUPT_ENABLE #ifdef GPIO_INTERRUPT_ENABLE
static void ICACHE_FLASH_ATTR platform_gpio_intr_dispatcher( platform_gpio_intr_handler_fn_t cb){ static void platform_gpio_intr_dispatcher( platform_gpio_intr_handler_fn_t cb){
uint8 i, level; uint8 i, level;
uint32 gpio_status = GPIO_REG_READ(GPIO_STATUS_ADDRESS); uint32 gpio_status = GPIO_REG_READ(GPIO_STATUS_ADDRESS);
for (i = 0; i < GPIO_PIN_NUM; i++) { for (i = 0; i < GPIO_PIN_NUM; i++) {
...@@ -156,12 +156,12 @@ static void ICACHE_FLASH_ATTR platform_gpio_intr_dispatcher( platform_gpio_intr_ ...@@ -156,12 +156,12 @@ static void ICACHE_FLASH_ATTR platform_gpio_intr_dispatcher( platform_gpio_intr_
} }
} }
void ICACHE_FLASH_ATTR platform_gpio_init( platform_gpio_intr_handler_fn_t cb ) void platform_gpio_init( platform_gpio_intr_handler_fn_t cb )
{ {
ETS_GPIO_INTR_ATTACH(platform_gpio_intr_dispatcher, cb); ETS_GPIO_INTR_ATTACH(platform_gpio_intr_dispatcher, cb);
} }
int ICACHE_FLASH_ATTR platform_gpio_intr_init( unsigned pin, GPIO_INT_TYPE type ) int platform_gpio_intr_init( unsigned pin, GPIO_INT_TYPE type )
{ {
if (pin >= NUM_GPIO) if (pin >= NUM_GPIO)
return -1; return -1;
...@@ -181,7 +181,7 @@ int ICACHE_FLASH_ATTR platform_gpio_intr_init( unsigned pin, GPIO_INT_TYPE type ...@@ -181,7 +181,7 @@ int ICACHE_FLASH_ATTR platform_gpio_intr_init( unsigned pin, GPIO_INT_TYPE type
// UartDev is defined and initialized in rom code. // UartDev is defined and initialized in rom code.
extern UartDevice UartDev; extern UartDevice UartDev;
uint32_t ICACHE_FLASH_ATTR platform_uart_setup( unsigned id, uint32_t baud, int databits, int parity, int stopbits ) uint32_t platform_uart_setup( unsigned id, uint32_t baud, int databits, int parity, int stopbits )
{ {
switch( baud ) switch( baud )
{ {
...@@ -262,7 +262,7 @@ void platform_uart_send( unsigned id, u8 data ) ...@@ -262,7 +262,7 @@ void platform_uart_send( unsigned id, u8 data )
static uint16_t pwms_duty[NUM_PWM] = {0}; static uint16_t pwms_duty[NUM_PWM] = {0};
static void ICACHE_FLASH_ATTR pwms_init() static void pwms_init()
{ {
int i; int i;
for(i=0;i<NUM_PWM;i++){ for(i=0;i<NUM_PWM;i++){
...@@ -276,7 +276,7 @@ static void ICACHE_FLASH_ATTR pwms_init() ...@@ -276,7 +276,7 @@ static void ICACHE_FLASH_ATTR pwms_init()
// NOTE: Can't find a function to query for the period set for the timer, // NOTE: Can't find a function to query for the period set for the timer,
// therefore using the struct. // therefore using the struct.
// This may require adjustment if driver libraries are updated. // This may require adjustment if driver libraries are updated.
uint32_t ICACHE_FLASH_ATTR platform_pwm_get_clock( unsigned pin ) uint32_t platform_pwm_get_clock( unsigned pin )
{ {
// NODE_DBG("Function platform_pwm_get_clock() is called.\n"); // NODE_DBG("Function platform_pwm_get_clock() is called.\n");
if( pin >= NUM_PWM) if( pin >= NUM_PWM)
...@@ -288,7 +288,7 @@ uint32_t ICACHE_FLASH_ATTR platform_pwm_get_clock( unsigned pin ) ...@@ -288,7 +288,7 @@ uint32_t ICACHE_FLASH_ATTR platform_pwm_get_clock( unsigned pin )
} }
// Set the PWM clock // Set the PWM clock
uint32_t ICACHE_FLASH_ATTR platform_pwm_set_clock( unsigned pin, uint32_t clock ) uint32_t platform_pwm_set_clock( unsigned pin, uint32_t clock )
{ {
// NODE_DBG("Function platform_pwm_set_clock() is called.\n"); // NODE_DBG("Function platform_pwm_set_clock() is called.\n");
if( pin >= NUM_PWM) if( pin >= NUM_PWM)
...@@ -301,7 +301,7 @@ uint32_t ICACHE_FLASH_ATTR platform_pwm_set_clock( unsigned pin, uint32_t clock ...@@ -301,7 +301,7 @@ uint32_t ICACHE_FLASH_ATTR platform_pwm_set_clock( unsigned pin, uint32_t clock
return (uint32_t)pwm_get_freq( pin ); return (uint32_t)pwm_get_freq( pin );
} }
uint32_t ICACHE_FLASH_ATTR platform_pwm_get_duty( unsigned pin ) uint32_t platform_pwm_get_duty( unsigned pin )
{ {
// NODE_DBG("Function platform_pwm_get_duty() is called.\n"); // NODE_DBG("Function platform_pwm_get_duty() is called.\n");
if( pin < NUM_PWM){ if( pin < NUM_PWM){
...@@ -314,7 +314,7 @@ uint32_t ICACHE_FLASH_ATTR platform_pwm_get_duty( unsigned pin ) ...@@ -314,7 +314,7 @@ uint32_t ICACHE_FLASH_ATTR platform_pwm_get_duty( unsigned pin )
} }
// Set the PWM duty // Set the PWM duty
uint32_t ICACHE_FLASH_ATTR platform_pwm_set_duty( unsigned pin, uint32_t duty ) uint32_t platform_pwm_set_duty( unsigned pin, uint32_t duty )
{ {
// NODE_DBG("Function platform_pwm_set_duty() is called.\n"); // NODE_DBG("Function platform_pwm_set_duty() is called.\n");
if ( pin < NUM_PWM) if ( pin < NUM_PWM)
...@@ -330,7 +330,7 @@ uint32_t ICACHE_FLASH_ATTR platform_pwm_set_duty( unsigned pin, uint32_t duty ) ...@@ -330,7 +330,7 @@ uint32_t ICACHE_FLASH_ATTR platform_pwm_set_duty( unsigned pin, uint32_t duty )
return pwms_duty[pin]; return pwms_duty[pin];
} }
uint32_t ICACHE_FLASH_ATTR platform_pwm_setup( unsigned pin, uint32_t frequency, unsigned duty ) uint32_t platform_pwm_setup( unsigned pin, uint32_t frequency, unsigned duty )
{ {
uint32_t clock; uint32_t clock;
if ( pin < NUM_PWM) if ( pin < NUM_PWM)
...@@ -350,7 +350,7 @@ uint32_t ICACHE_FLASH_ATTR platform_pwm_setup( unsigned pin, uint32_t frequency, ...@@ -350,7 +350,7 @@ uint32_t ICACHE_FLASH_ATTR platform_pwm_setup( unsigned pin, uint32_t frequency,
return clock; return clock;
} }
void ICACHE_FLASH_ATTR platform_pwm_close( unsigned pin ) void platform_pwm_close( unsigned pin )
{ {
// NODE_DBG("Function platform_pwm_stop() is called.\n"); // NODE_DBG("Function platform_pwm_stop() is called.\n");
if ( pin < NUM_PWM) if ( pin < NUM_PWM)
...@@ -360,7 +360,7 @@ void ICACHE_FLASH_ATTR platform_pwm_close( unsigned pin ) ...@@ -360,7 +360,7 @@ void ICACHE_FLASH_ATTR platform_pwm_close( unsigned pin )
} }
} }
void ICACHE_FLASH_ATTR platform_pwm_start( unsigned pin ) void platform_pwm_start( unsigned pin )
{ {
// NODE_DBG("Function platform_pwm_start() is called.\n"); // NODE_DBG("Function platform_pwm_start() is called.\n");
if ( pin < NUM_PWM) if ( pin < NUM_PWM)
...@@ -372,7 +372,7 @@ void ICACHE_FLASH_ATTR platform_pwm_start( unsigned pin ) ...@@ -372,7 +372,7 @@ void ICACHE_FLASH_ATTR platform_pwm_start( unsigned pin )
} }
} }
void ICACHE_FLASH_ATTR platform_pwm_stop( unsigned pin ) void platform_pwm_stop( unsigned pin )
{ {
// NODE_DBG("Function platform_pwm_stop() is called.\n"); // NODE_DBG("Function platform_pwm_stop() is called.\n");
if ( pin < NUM_PWM) if ( pin < NUM_PWM)
...@@ -387,7 +387,7 @@ void ICACHE_FLASH_ATTR platform_pwm_stop( unsigned pin ) ...@@ -387,7 +387,7 @@ void ICACHE_FLASH_ATTR platform_pwm_stop( unsigned pin )
// ***************************************************************************** // *****************************************************************************
// I2C platform interface // I2C platform interface
uint32_t ICACHE_FLASH_ATTR platform_i2c_setup( unsigned id, uint8_t sda, uint8_t scl, uint32_t speed ){ uint32_t platform_i2c_setup( unsigned id, uint8_t sda, uint8_t scl, uint32_t speed ){
if (sda >= NUM_GPIO || scl >= NUM_GPIO) if (sda >= NUM_GPIO || scl >= NUM_GPIO)
return 0; return 0;
...@@ -402,15 +402,15 @@ uint32_t ICACHE_FLASH_ATTR platform_i2c_setup( unsigned id, uint8_t sda, uint8_t ...@@ -402,15 +402,15 @@ uint32_t ICACHE_FLASH_ATTR platform_i2c_setup( unsigned id, uint8_t sda, uint8_t
return PLATFORM_I2C_SPEED_SLOW; return PLATFORM_I2C_SPEED_SLOW;
} }
void ICACHE_FLASH_ATTR platform_i2c_send_start( unsigned id ){ void platform_i2c_send_start( unsigned id ){
i2c_master_start(); i2c_master_start();
} }
void ICACHE_FLASH_ATTR platform_i2c_send_stop( unsigned id ){ void platform_i2c_send_stop( unsigned id ){
i2c_master_stop(); i2c_master_stop();
} }
int ICACHE_FLASH_ATTR platform_i2c_send_address( unsigned id, uint16_t address, int direction ){ int platform_i2c_send_address( unsigned id, uint16_t address, int direction ){
// Convert enum codes to R/w bit value. // Convert enum codes to R/w bit value.
// If TX == 0 and RX == 1, this test will be removed by the compiler // If TX == 0 and RX == 1, this test will be removed by the compiler
if ( ! ( PLATFORM_I2C_DIRECTION_TRANSMITTER == 0 && if ( ! ( PLATFORM_I2C_DIRECTION_TRANSMITTER == 0 &&
...@@ -423,13 +423,13 @@ int ICACHE_FLASH_ATTR platform_i2c_send_address( unsigned id, uint16_t address, ...@@ -423,13 +423,13 @@ int ICACHE_FLASH_ATTR platform_i2c_send_address( unsigned id, uint16_t address,
return ! i2c_master_getAck(); return ! i2c_master_getAck();
} }
int ICACHE_FLASH_ATTR platform_i2c_send_byte( unsigned id, uint8_t data ){ int platform_i2c_send_byte( unsigned id, uint8_t data ){
i2c_master_writeByte(data); i2c_master_writeByte(data);
// Low-level returns nack (0=acked); we return ack (1=acked). // Low-level returns nack (0=acked); we return ack (1=acked).
return ! i2c_master_getAck(); return ! i2c_master_getAck();
} }
int ICACHE_FLASH_ATTR platform_i2c_recv_byte( unsigned id, int ack ){ int platform_i2c_recv_byte( unsigned id, int ack ){
uint8_t r = i2c_master_readByte(); uint8_t r = i2c_master_readByte();
i2c_master_setAck( !ack ); i2c_master_setAck( !ack );
return r; return r;
...@@ -438,7 +438,7 @@ int ICACHE_FLASH_ATTR platform_i2c_recv_byte( unsigned id, int ack ){ ...@@ -438,7 +438,7 @@ int ICACHE_FLASH_ATTR platform_i2c_recv_byte( unsigned id, int ack ){
// **************************************************************************** // ****************************************************************************
// Flash access functions // Flash access functions
uint32_t ICACHE_FLASH_ATTR platform_s_flash_write( const void *from, uint32_t toaddr, uint32_t size ) uint32_t platform_s_flash_write( const void *from, uint32_t toaddr, uint32_t size )
{ {
toaddr -= INTERNAL_FLASH_START_ADDRESS; toaddr -= INTERNAL_FLASH_START_ADDRESS;
SpiFlashOpResult r; SpiFlashOpResult r;
...@@ -462,7 +462,7 @@ uint32_t ICACHE_FLASH_ATTR platform_s_flash_write( const void *from, uint32_t to ...@@ -462,7 +462,7 @@ uint32_t ICACHE_FLASH_ATTR platform_s_flash_write( const void *from, uint32_t to
} }
} }
uint32_t ICACHE_FLASH_ATTR platform_s_flash_read( void *to, uint32_t fromaddr, uint32_t size ) uint32_t platform_s_flash_read( void *to, uint32_t fromaddr, uint32_t size )
{ {
fromaddr -= INTERNAL_FLASH_START_ADDRESS; fromaddr -= INTERNAL_FLASH_START_ADDRESS;
SpiFlashOpResult r; SpiFlashOpResult r;
...@@ -476,7 +476,7 @@ uint32_t ICACHE_FLASH_ATTR platform_s_flash_read( void *to, uint32_t fromaddr, u ...@@ -476,7 +476,7 @@ uint32_t ICACHE_FLASH_ATTR platform_s_flash_read( void *to, uint32_t fromaddr, u
} }
} }
int ICACHE_FLASH_ATTR platform_flash_erase_sector( uint32_t sector_id ) int platform_flash_erase_sector( uint32_t sector_id )
{ {
WRITE_PERI_REG(0x60000914, 0x73); WRITE_PERI_REG(0x60000914, 0x73);
return flash_erase( sector_id ) == SPI_FLASH_RESULT_OK ? PLATFORM_OK : PLATFORM_ERR; return flash_erase( sector_id ) == SPI_FLASH_RESULT_OK ? PLATFORM_OK : PLATFORM_ERR;
......
...@@ -32,7 +32,7 @@ static smart_succeed succeed = NULL; ...@@ -32,7 +32,7 @@ static smart_succeed succeed = NULL;
static void *smart_succeed_arg = NULL; static void *smart_succeed_arg = NULL;
void smart_end(); void smart_end();
int ICACHE_FLASH_ATTR smart_check(uint8_t *nibble, uint16_t len, uint8_t *dst, uint8_t *got){ int smart_check(uint8_t *nibble, uint16_t len, uint8_t *dst, uint8_t *got){
if(len == 0) if(len == 0)
return 0; return 0;
uint16_t dst_len = len/NIBBLE_PER_BYTE; uint16_t dst_len = len/NIBBLE_PER_BYTE;
...@@ -127,7 +127,7 @@ int ICACHE_FLASH_ATTR smart_check(uint8_t *nibble, uint16_t len, uint8_t *dst, u ...@@ -127,7 +127,7 @@ int ICACHE_FLASH_ATTR smart_check(uint8_t *nibble, uint16_t len, uint8_t *dst, u
return res; return res;
} }
void ICACHE_FLASH_ATTR detect(uint8 *buf, uint16 len){ void detect(uint8 *buf, uint16 len){
uint16_t seq; uint16_t seq;
int16_t seq_delta = 0; int16_t seq_delta = 0;
uint16_t byte_num = 0, bit_num = 0; uint16_t byte_num = 0, bit_num = 0;
...@@ -435,7 +435,7 @@ end: ...@@ -435,7 +435,7 @@ end:
return; return;
} }
void ICACHE_FLASH_ATTR reset_map(smart_addr_map **am, size_t num){ void reset_map(smart_addr_map **am, size_t num){
int i; int i;
for (i = 0; i < num; ++i) for (i = 0; i < num; ++i)
{ {
...@@ -461,15 +461,15 @@ void ICACHE_FLASH_ATTR reset_map(smart_addr_map **am, size_t num){ ...@@ -461,15 +461,15 @@ void ICACHE_FLASH_ATTR reset_map(smart_addr_map **am, size_t num){
} }
} }
void ICACHE_FLASH_ATTR smart_enable(void){ void smart_enable(void){
wifi_promiscuous_enable(1); wifi_promiscuous_enable(1);
} }
void ICACHE_FLASH_ATTR smart_disable(void){ void smart_disable(void){
wifi_promiscuous_enable(0); wifi_promiscuous_enable(0);
} }
void ICACHE_FLASH_ATTR smart_end(){ void smart_end(){
int i; int i;
os_timer_disarm(&smart_timer); os_timer_disarm(&smart_timer);
smart_disable(); smart_disable();
...@@ -532,7 +532,7 @@ void ICACHE_FLASH_ATTR smart_end(){ ...@@ -532,7 +532,7 @@ void ICACHE_FLASH_ATTR smart_end(){
// system_restart(); // restart to enable the mode // system_restart(); // restart to enable the mode
} }
void ICACHE_FLASH_ATTR smart_next_channel(){ void smart_next_channel(){
smart_disable(); smart_disable();
switch(cur_channel){ switch(cur_channel){
case 1: case 1:
...@@ -586,7 +586,7 @@ void ICACHE_FLASH_ATTR smart_next_channel(){ ...@@ -586,7 +586,7 @@ void ICACHE_FLASH_ATTR smart_next_channel(){
smart_enable(); smart_enable();
} }
void ICACHE_FLASH_ATTR smart_begin(int chnl, smart_succeed s, void *arg){ void smart_begin(int chnl, smart_succeed s, void *arg){
int i; int i;
alldone = 0; alldone = 0;
for (i = 0; i < ADDR_MAP_NUM; ++i) for (i = 0; i < ADDR_MAP_NUM; ++i)
...@@ -674,7 +674,7 @@ void ICACHE_FLASH_ATTR smart_begin(int chnl, smart_succeed s, void *arg){ ...@@ -674,7 +674,7 @@ void ICACHE_FLASH_ATTR smart_begin(int chnl, smart_succeed s, void *arg){
smart_enable(); smart_enable();
} }
void ICACHE_FLASH_ATTR station_check_connect(bool smart){ void station_check_connect(bool smart){
mode = wifi_get_opmode(); mode = wifi_get_opmode();
if( (STATION_MODE != mode) && (mode != STATIONAP_MODE) ){ if( (STATION_MODE != mode) && (mode != STATIONAP_MODE) ){
return; return;
......
...@@ -10,17 +10,17 @@ static u8_t spiffs_work_buf[LOG_PAGE_SIZE*2]; ...@@ -10,17 +10,17 @@ static u8_t spiffs_work_buf[LOG_PAGE_SIZE*2];
static u8_t spiffs_fds[32*4]; static u8_t spiffs_fds[32*4];
static u8_t spiffs_cache[(LOG_PAGE_SIZE+32)*4]; static u8_t spiffs_cache[(LOG_PAGE_SIZE+32)*4];
static s32_t ICACHE_FLASH_ATTR my_spiffs_read(u32_t addr, u32_t size, u8_t *dst) { static s32_t my_spiffs_read(u32_t addr, u32_t size, u8_t *dst) {
platform_flash_read(dst, addr, size); platform_flash_read(dst, addr, size);
return SPIFFS_OK; return SPIFFS_OK;
} }
static s32_t ICACHE_FLASH_ATTR my_spiffs_write(u32_t addr, u32_t size, u8_t *src) { static s32_t my_spiffs_write(u32_t addr, u32_t size, u8_t *src) {
platform_flash_write(src, addr, size); platform_flash_write(src, addr, size);
return SPIFFS_OK; return SPIFFS_OK;
} }
static s32_t ICACHE_FLASH_ATTR my_spiffs_erase(u32_t addr, u32_t size) { static s32_t my_spiffs_erase(u32_t addr, u32_t size) {
u32_t sect_first = platform_flash_get_sector_of_address(addr); u32_t sect_first = platform_flash_get_sector_of_address(addr);
u32_t sect_last = sect_first; u32_t sect_last = sect_first;
while( sect_first <= sect_last ) while( sect_first <= sect_last )
...@@ -42,7 +42,7 @@ The small 4KB sectors allow for greater flexibility in applications th ...@@ -42,7 +42,7 @@ The small 4KB sectors allow for greater flexibility in applications th
********************/ ********************/
void ICACHE_FLASH_ATTR spiffs_mount() { void spiffs_mount() {
spiffs_config cfg; spiffs_config cfg;
cfg.phys_addr = ( u32_t )platform_flash_get_first_free_block_address( NULL ); cfg.phys_addr = ( u32_t )platform_flash_get_first_free_block_address( NULL );
cfg.phys_size = INTERNAL_FLASH_SIZE - ( ( u32_t )cfg.phys_addr - INTERNAL_FLASH_START_ADDRESS ); cfg.phys_size = INTERNAL_FLASH_SIZE - ( ( u32_t )cfg.phys_addr - INTERNAL_FLASH_START_ADDRESS );
...@@ -69,7 +69,7 @@ void ICACHE_FLASH_ATTR spiffs_mount() { ...@@ -69,7 +69,7 @@ void ICACHE_FLASH_ATTR spiffs_mount() {
// FS formatting function // FS formatting function
// Returns 1 if OK, 0 for error // Returns 1 if OK, 0 for error
int ICACHE_FLASH_ATTR myspiffs_format( void ) int myspiffs_format( void )
{ {
SPIFFS_unmount(&fs); SPIFFS_unmount(&fs);
u32_t sect_first, sect_last; u32_t sect_first, sect_last;
...@@ -84,7 +84,7 @@ int ICACHE_FLASH_ATTR myspiffs_format( void ) ...@@ -84,7 +84,7 @@ int ICACHE_FLASH_ATTR myspiffs_format( void )
return 1; return 1;
} }
int ICACHE_FLASH_ATTR myspiffs_check( void ) int myspiffs_check( void )
{ {
// ets_wdt_disable(); // ets_wdt_disable();
// int res = (int)SPIFFS_check(&fs); // int res = (int)SPIFFS_check(&fs);
...@@ -92,15 +92,15 @@ int ICACHE_FLASH_ATTR myspiffs_check( void ) ...@@ -92,15 +92,15 @@ int ICACHE_FLASH_ATTR myspiffs_check( void )
// return res; // return res;
} }
int ICACHE_FLASH_ATTR myspiffs_open(const char *name, int flags){ int myspiffs_open(const char *name, int flags){
return (int)SPIFFS_open(&fs, name, (spiffs_flags)flags, 0); return (int)SPIFFS_open(&fs, name, (spiffs_flags)flags, 0);
} }
int ICACHE_FLASH_ATTR myspiffs_close( int fd ){ int myspiffs_close( int fd ){
SPIFFS_close(&fs, (spiffs_file)fd); SPIFFS_close(&fs, (spiffs_file)fd);
return 0; return 0;
} }
size_t ICACHE_FLASH_ATTR myspiffs_write( int fd, const void* ptr, size_t len ){ size_t myspiffs_write( int fd, const void* ptr, size_t len ){
#if 0 #if 0
if(fd==c_stdout || fd==c_stderr){ if(fd==c_stdout || fd==c_stderr){
uart0_tx_buffer((u8_t*)ptr, len); uart0_tx_buffer((u8_t*)ptr, len);
...@@ -109,39 +109,39 @@ size_t ICACHE_FLASH_ATTR myspiffs_write( int fd, const void* ptr, size_t len ){ ...@@ -109,39 +109,39 @@ size_t ICACHE_FLASH_ATTR myspiffs_write( int fd, const void* ptr, size_t len ){
#endif #endif
return SPIFFS_write(&fs, (spiffs_file)fd, (void *)ptr, len); return SPIFFS_write(&fs, (spiffs_file)fd, (void *)ptr, len);
} }
size_t ICACHE_FLASH_ATTR myspiffs_read( int fd, void* ptr, size_t len){ size_t myspiffs_read( int fd, void* ptr, size_t len){
return SPIFFS_read(&fs, (spiffs_file)fd, ptr, len); return SPIFFS_read(&fs, (spiffs_file)fd, ptr, len);
} }
int ICACHE_FLASH_ATTR myspiffs_lseek( int fd, int off, int whence ){ int myspiffs_lseek( int fd, int off, int whence ){
return SPIFFS_lseek(&fs, (spiffs_file)fd, off, whence); return SPIFFS_lseek(&fs, (spiffs_file)fd, off, whence);
} }
int ICACHE_FLASH_ATTR myspiffs_eof( int fd ){ int myspiffs_eof( int fd ){
return SPIFFS_eof(&fs, (spiffs_file)fd); return SPIFFS_eof(&fs, (spiffs_file)fd);
} }
int ICACHE_FLASH_ATTR myspiffs_tell( int fd ){ int myspiffs_tell( int fd ){
return SPIFFS_tell(&fs, (spiffs_file)fd); return SPIFFS_tell(&fs, (spiffs_file)fd);
} }
int ICACHE_FLASH_ATTR myspiffs_getc( int fd ){ int myspiffs_getc( int fd ){
char c = EOF; char c = EOF;
if(!myspiffs_eof(fd)){ if(!myspiffs_eof(fd)){
SPIFFS_read(&fs, (spiffs_file)fd, &c, 1); SPIFFS_read(&fs, (spiffs_file)fd, &c, 1);
} }
return (int)c; return (int)c;
} }
int ICACHE_FLASH_ATTR myspiffs_ungetc( int c, int fd ){ int myspiffs_ungetc( int c, int fd ){
return SPIFFS_lseek(&fs, (spiffs_file)fd, -1, SEEK_CUR); return SPIFFS_lseek(&fs, (spiffs_file)fd, -1, SEEK_CUR);
} }
int ICACHE_FLASH_ATTR myspiffs_flush( int fd ){ int myspiffs_flush( int fd ){
return SPIFFS_fflush(&fs, (spiffs_file)fd); return SPIFFS_fflush(&fs, (spiffs_file)fd);
} }
int ICACHE_FLASH_ATTR myspiffs_error( int fd ){ int myspiffs_error( int fd ){
return SPIFFS_errno(&fs); return SPIFFS_errno(&fs);
} }
void ICACHE_FLASH_ATTR myspiffs_clearerr( int fd ){ void myspiffs_clearerr( int fd ){
fs.errno = SPIFFS_OK; fs.errno = SPIFFS_OK;
} }
#if 0 #if 0
void ICACHE_FLASH_ATTR test_spiffs() { void test_spiffs() {
char buf[12]; char buf[12];
// Surely, I've mounted spiffs before entering here // Surely, I've mounted spiffs before entering here
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment