Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
ruanhaishen
Nodemcu Firmware
Commits
1462d00e
Commit
1462d00e
authored
Dec 19, 2015
by
Terry Ellison
Browse files
Merge pull request #842 from jmattsson/module-ltr-cleanup
Cleanup: LTR module registration
parents
4708b2ac
9003d3e8
Changes
48
Hide whitespace changes
Inline
Side-by-side
app/modules/enduser_setup.c
View file @
1462d00e
...
...
@@ -31,12 +31,9 @@
* @author Robert Foss <dev@robertfoss.se>
*/
#include "lualib.h"
#include "module.h"
#include "lauxlib.h"
#include "platform.h"
#include "auxmods.h"
#include "lrotable.h"
#include "c_stdlib.h"
#include "c_string.h"
#include "user_interface.h"
...
...
@@ -929,17 +926,10 @@ static int enduser_setup_stop(lua_State* L)
}
#define MIN_OPT_LEVEL 2
#include "lrodefs.h"
const
LUA_REG_TYPE
enduser_setup_map
[]
=
{
static
const
LUA_REG_TYPE
enduser_setup_map
[]
=
{
{
LSTRKEY
(
"start"
),
LFUNCVAL
(
enduser_setup_start
)},
{
LSTRKEY
(
"stop"
),
LFUNCVAL
(
enduser_setup_stop
)},
{
LNILKEY
,
LNILVAL
}
};
LUALIB_API
int
luaopen_enduser_setup
(
lua_State
*
L
)
{
LREGISTER
(
L
,
"enduser_setup"
,
enduser_setup_map
);
return
1
;
}
NODEMCU_MODULE
(
ENDUSER_SETUP
,
"enduser_setup"
,
enduser_setup_map
,
NULL
);
app/modules/file.c
View file @
1462d00e
// Module for interfacing with file system
#include "lua.h"
#include "lualib.h"
#include "module.h"
#include "lauxlib.h"
#include "platform.h"
#include "auxmods.h"
#include "lrotable.h"
#include "c_types.h"
#include "flash_fs.h"
...
...
@@ -299,42 +296,24 @@ static int file_writeline( lua_State* L )
}
// Module function map
#define MIN_OPT_LEVEL 2
#include "lrodefs.h"
const
LUA_REG_TYPE
file_map
[]
=
{
{
LSTRKEY
(
"list"
),
LFUNCVAL
(
file_list
)
},
{
LSTRKEY
(
"open"
),
LFUNCVAL
(
file_open
)
},
{
LSTRKEY
(
"close"
),
LFUNCVAL
(
file_close
)
},
{
LSTRKEY
(
"write"
),
LFUNCVAL
(
file_write
)
},
static
const
LUA_REG_TYPE
file_map
[]
=
{
{
LSTRKEY
(
"list"
),
LFUNCVAL
(
file_list
)
},
{
LSTRKEY
(
"open"
),
LFUNCVAL
(
file_open
)
},
{
LSTRKEY
(
"close"
),
LFUNCVAL
(
file_close
)
},
{
LSTRKEY
(
"write"
),
LFUNCVAL
(
file_write
)
},
{
LSTRKEY
(
"writeline"
),
LFUNCVAL
(
file_writeline
)
},
{
LSTRKEY
(
"read"
),
LFUNCVAL
(
file_read
)
},
{
LSTRKEY
(
"readline"
),
LFUNCVAL
(
file_readline
)
},
{
LSTRKEY
(
"format"
),
LFUNCVAL
(
file_format
)
},
#if defined(BUILD_WOFS)
#elif defined(BUILD_SPIFFS)
{
LSTRKEY
(
"remove"
),
LFUNCVAL
(
file_remove
)
},
{
LSTRKEY
(
"seek"
),
LFUNCVAL
(
file_seek
)
},
{
LSTRKEY
(
"flush"
),
LFUNCVAL
(
file_flush
)
},
// { LSTRKEY( "check" ), LFUNCVAL( file_check ) },
{
LSTRKEY
(
"rename"
),
LFUNCVAL
(
file_rename
)
},
{
LSTRKEY
(
"fsinfo"
),
LFUNCVAL
(
file_fsinfo
)
},
#endif
#if LUA_OPTIMIZE_MEMORY > 0
{
LSTRKEY
(
"read"
),
LFUNCVAL
(
file_read
)
},
{
LSTRKEY
(
"readline"
),
LFUNCVAL
(
file_readline
)
},
{
LSTRKEY
(
"format"
),
LFUNCVAL
(
file_format
)
},
#if defined(BUILD_SPIFFS) && !defined(BUILD_WOFS)
{
LSTRKEY
(
"remove"
),
LFUNCVAL
(
file_remove
)
},
{
LSTRKEY
(
"seek"
),
LFUNCVAL
(
file_seek
)
},
{
LSTRKEY
(
"flush"
),
LFUNCVAL
(
file_flush
)
},
//{ LSTRKEY( "check" ), LFUNCVAL( file_check ) },
{
LSTRKEY
(
"rename"
),
LFUNCVAL
(
file_rename
)
},
{
LSTRKEY
(
"fsinfo"
),
LFUNCVAL
(
file_fsinfo
)
},
#endif
{
LNILKEY
,
LNILVAL
}
};
LUALIB_API
int
luaopen_file
(
lua_State
*
L
)
{
#if LUA_OPTIMIZE_MEMORY > 0
return
0
;
#else // #if LUA_OPTIMIZE_MEMORY > 0
luaL_register
(
L
,
AUXLIB_FILE
,
file_map
);
// Add constants
return
1
;
#endif // #if LUA_OPTIMIZE_MEMORY > 0
}
NODEMCU_MODULE
(
FILE
,
"file"
,
file_map
,
NULL
);
app/modules/gpio.c
View file @
1462d00e
// Module for interfacing with GPIO
//#include "lua.h"
#include "lualib.h"
#include "module.h"
#include "lauxlib.h"
#include "platform.h"
#include "auxmods.h"
#include "lrotable.h"
#include "c_types.h"
#include "c_string.h"
...
...
@@ -223,33 +220,25 @@ static int lgpio_serout( lua_State* L )
#undef DELAY_TABLE_MAX_LEN
// Module function map
#define MIN_OPT_LEVEL 2
#include "lrodefs.h"
const
LUA_REG_TYPE
gpio_map
[]
=
{
{
LSTRKEY
(
"mode"
),
LFUNCVAL
(
lgpio_mode
)
},
{
LSTRKEY
(
"read"
),
LFUNCVAL
(
lgpio_read
)
},
{
LSTRKEY
(
"write"
),
LFUNCVAL
(
lgpio_write
)
},
static
const
LUA_REG_TYPE
gpio_map
[]
=
{
{
LSTRKEY
(
"mode"
),
LFUNCVAL
(
lgpio_mode
)
},
{
LSTRKEY
(
"read"
),
LFUNCVAL
(
lgpio_read
)
},
{
LSTRKEY
(
"write"
),
LFUNCVAL
(
lgpio_write
)
},
{
LSTRKEY
(
"serout"
),
LFUNCVAL
(
lgpio_serout
)
},
#ifdef GPIO_INTERRUPT_ENABLE
{
LSTRKEY
(
"trig"
),
LFUNCVAL
(
lgpio_trig
)
},
#endif
#if LUA_OPTIMIZE_MEMORY > 0
#ifdef GPIO_INTERRUPT_ENABLE
{
LSTRKEY
(
"INT"
),
LNUMVAL
(
INTERRUPT
)
},
{
LSTRKEY
(
"trig"
),
LFUNCVAL
(
lgpio_trig
)
},
{
LSTRKEY
(
"INT"
),
LNUMVAL
(
INTERRUPT
)
},
#endif
{
LSTRKEY
(
"OUTPUT"
),
LNUMVAL
(
OUTPUT
)
},
{
LSTRKEY
(
"INPUT"
),
LNUMVAL
(
INPUT
)
},
{
LSTRKEY
(
"HIGH"
),
LNUMVAL
(
HIGH
)
},
{
LSTRKEY
(
"LOW"
),
LNUMVAL
(
LOW
)
},
{
LSTRKEY
(
"FLOAT"
),
LNUMVAL
(
FLOAT
)
},
{
LSTRKEY
(
"INPUT"
),
LNUMVAL
(
INPUT
)
},
{
LSTRKEY
(
"HIGH"
),
LNUMVAL
(
HIGH
)
},
{
LSTRKEY
(
"LOW"
),
LNUMVAL
(
LOW
)
},
{
LSTRKEY
(
"FLOAT"
),
LNUMVAL
(
FLOAT
)
},
{
LSTRKEY
(
"PULLUP"
),
LNUMVAL
(
PULLUP
)
},
#endif
{
LNILKEY
,
LNILVAL
}
};
LUALIB_API
int
luaopen_gpio
(
lua_State
*
L
)
{
int
luaopen_gpio
(
lua_State
*
L
)
{
#ifdef GPIO_INTERRUPT_ENABLE
int
i
;
for
(
i
=
0
;
i
<
GPIO_PIN_NUM
;
i
++
){
...
...
@@ -257,21 +246,7 @@ LUALIB_API int luaopen_gpio( lua_State *L )
}
platform_gpio_init
(
gpio_intr_callback
);
#endif
#if LUA_OPTIMIZE_MEMORY > 0
return
0
;
#else // #if LUA_OPTIMIZE_MEMORY > 0
luaL_register
(
L
,
AUXLIB_GPIO
,
gpio_map
);
// Add constants
#ifdef GPIO_INTERRUPT_ENABLE
MOD_REG_NUMBER
(
L
,
"INT"
,
INTERRUPT
);
#endif
MOD_REG_NUMBER
(
L
,
"OUTPUT"
,
OUTPUT
);
MOD_REG_NUMBER
(
L
,
"INPUT"
,
INPUT
);
MOD_REG_NUMBER
(
L
,
"HIGH"
,
HIGH
);
MOD_REG_NUMBER
(
L
,
"LOW"
,
LOW
);
MOD_REG_NUMBER
(
L
,
"FLOAT"
,
FLOAT
);
MOD_REG_NUMBER
(
L
,
"PULLUP"
,
PULLUP
);
return
1
;
#endif // #if LUA_OPTIMIZE_MEMORY > 0
}
NODEMCU_MODULE
(
GPIO
,
"gpio"
,
gpio_map
,
luaopen_gpio
);
app/modules/hx711.c
View file @
1462d00e
// Module for HX711 load cell amplifier
// https://learn.sparkfun.com/tutorials/load-cell-amplifier-hx711-breakout-hookup-guide
#include "
lualib
.h"
#include "
module
.h"
#include "lauxlib.h"
#include "platform.h"
#include "auxmods.h"
#include "lrotable.h"
#include "c_stdlib.h"
#include "c_string.h"
#include "user_interface.h"
...
...
@@ -67,18 +65,16 @@ static int ICACHE_FLASH_ATTR hx711_read(lua_State* L) {
return
1
;
}
#define MIN_OPT_LEVEL 2
#include "lrodefs.h"
const
LUA_REG_TYPE
hx711_map
[]
=
{
// Module function map
static
const
LUA_REG_TYPE
hx711_map
[]
=
{
{
LSTRKEY
(
"init"
),
LFUNCVAL
(
hx711_init
)},
{
LSTRKEY
(
"read"
),
LFUNCVAL
(
hx711_read
)},
{
LNILKEY
,
LNILVAL
}
};
LUALIB_API
int
luaopen_hx711
(
lua_State
*
L
)
{
// TODO: the below todo was inherited from the ws2812 code but is still valid.
int
luaopen_hx711
(
lua_State
*
L
)
{
// TODO: Make sure that the GPIO system is initialized
LREGISTER
(
L
,
"hx711"
,
hx711_map
);
return
1
;
return
0
;
}
NODEMCU_MODULE
(
HX711
,
"hx711"
,
hx711_map
,
luaopen_hx711
);
app/modules/i2c.c
View file @
1462d00e
// Module for interfacing with the I2C interface
//#include "lua.h"
#include "lualib.h"
#include "module.h"
#include "lauxlib.h"
#include "platform.h"
#include "auxmods.h"
#include "lrotable.h"
// Lua: speed = i2c.setup( id, sda, scl, speed )
static
int
i2c_setup
(
lua_State
*
L
)
...
...
@@ -143,39 +140,18 @@ static int i2c_read( lua_State *L )
}
// Module function map
#define MIN_OPT_LEVEL 2
#include "lrodefs.h"
const
LUA_REG_TYPE
i2c_map
[]
=
{
{
LSTRKEY
(
"setup"
),
LFUNCVAL
(
i2c_setup
)
},
{
LSTRKEY
(
"start"
),
LFUNCVAL
(
i2c_start
)
},
{
LSTRKEY
(
"stop"
),
LFUNCVAL
(
i2c_stop
)
},
{
LSTRKEY
(
"address"
),
LFUNCVAL
(
i2c_address
)
},
{
LSTRKEY
(
"write"
),
LFUNCVAL
(
i2c_write
)
},
{
LSTRKEY
(
"read"
),
LFUNCVAL
(
i2c_read
)
},
#if LUA_OPTIMIZE_MEMORY > 0
// { LSTRKEY( "FAST" ), LNUMVAL( PLATFORM_I2C_SPEED_FAST ) },
{
LSTRKEY
(
"SLOW"
),
LNUMVAL
(
PLATFORM_I2C_SPEED_SLOW
)
},
static
const
LUA_REG_TYPE
i2c_map
[]
=
{
{
LSTRKEY
(
"setup"
),
LFUNCVAL
(
i2c_setup
)
},
{
LSTRKEY
(
"start"
),
LFUNCVAL
(
i2c_start
)
},
{
LSTRKEY
(
"stop"
),
LFUNCVAL
(
i2c_stop
)
},
{
LSTRKEY
(
"address"
),
LFUNCVAL
(
i2c_address
)
},
{
LSTRKEY
(
"write"
),
LFUNCVAL
(
i2c_write
)
},
{
LSTRKEY
(
"read"
),
LFUNCVAL
(
i2c_read
)
},
//{ LSTRKEY( "FAST" ), LNUMVAL( PLATFORM_I2C_SPEED_FAST ) },
{
LSTRKEY
(
"SLOW"
),
LNUMVAL
(
PLATFORM_I2C_SPEED_SLOW
)
},
{
LSTRKEY
(
"TRANSMITTER"
),
LNUMVAL
(
PLATFORM_I2C_DIRECTION_TRANSMITTER
)
},
{
LSTRKEY
(
"RECEIVER"
),
LNUMVAL
(
PLATFORM_I2C_DIRECTION_RECEIVER
)
},
#endif
{
LSTRKEY
(
"RECEIVER"
),
LNUMVAL
(
PLATFORM_I2C_DIRECTION_RECEIVER
)
},
{
LNILKEY
,
LNILVAL
}
};
LUALIB_API
int
luaopen_i2c
(
lua_State
*
L
)
{
#if LUA_OPTIMIZE_MEMORY > 0
return
0
;
#else // #if LUA_OPTIMIZE_MEMORY > 0
luaL_register
(
L
,
AUXLIB_I2C
,
i2c_map
);
// Add the stop bits and parity constants (for i2c.setup)
// MOD_REG_NUMBER( L, "FAST", PLATFORM_I2C_SPEED_FAST );
MOD_REG_NUMBER
(
L
,
"SLOW"
,
PLATFORM_I2C_SPEED_SLOW
);
MOD_REG_NUMBER
(
L
,
"TRANSMITTER"
,
PLATFORM_I2C_DIRECTION_TRANSMITTER
);
MOD_REG_NUMBER
(
L
,
"RECEIVER"
,
PLATFORM_I2C_DIRECTION_RECEIVER
);
return
1
;
#endif // #if LUA_OPTIMIZE_MEMORY > 0
}
NODEMCU_MODULE
(
I2C
,
"i2c"
,
i2c_map
,
NULL
);
app/modules/linit.c
View file @
1462d00e
...
...
@@ -13,124 +13,61 @@
#include "lualib.h"
#include "lauxlib.h"
#include "lrotable.h"
#include "luaconf.h"
#include "module.h"
#include "user_modules.h"
#if defined(LUA_USE_MODULES)
#include "modules.h"
#endif
#if defined(LUA_MODULES_ROM)
#undef _ROM
#define _ROM( name, openf, table ) extern int openf(lua_State *);
LUA_MODULES_ROM
#endif
BUILTIN_LIB_INIT
(
BASE
,
""
,
luaopen_base
);
BUILTIN_LIB_INIT
(
LOADLIB
,
LUA_LOADLIBNAME
,
luaopen_package
);
static
const
luaL_Reg
lualibs
[]
=
{
{
""
,
luaopen_base
},
{
LUA_LOADLIBNAME
,
luaopen_package
},
#if defined(LUA_USE_BUILTIN_IO)
{
LUA_IOLIBNAME
,
luaopen_io
},
BUILTIN_LIB_INIT
(
IO
,
LUA_IOLIBNAME
,
luaopen_io
);
#endif
#if defined(LUA_USE_BUILTIN_STRING)
{
LUA_STRLIBNAME
,
luaopen_string
},
#endif
#if LUA_OPTIMIZE_MEMORY == 0
#if defined(LUA_USE_BUILTIN_MATH)
{
LUA_MATHLIBNAME
,
luaopen_math
},
#endif
#if defined(LUA_USE_BUILTIN_TABLE)
{
LUA_TABLIBNAME
,
luaopen_table
},
#endif
#if defined(LUA_USE_BUILTIN_DEBUG) || defined(LUA_USE_BUILTIN_DEBUG_MINIMAL)
{
LUA_DBLIBNAME
,
luaopen_debug
},
#endif
#endif
#if defined(LUA_MODULES_ROM)
#undef _ROM
#define _ROM( name, openf, table ) { name, openf },
LUA_MODULES_ROM
#endif
{
NULL
,
NULL
}
};
#if defined(LUA_USE_BUILTIN_STRING)
#if defined (LUA_USE_BUILTIN_STRING)
extern
const
luaR_entry
strlib
[];
#endif
#if defined(LUA_USE_BUILTIN_OS)
extern
const
luaR_entry
syslib
[];
BUILTIN_LIB_INIT
(
STRING
,
LUA_STRLIBNAME
,
luaopen_string
);
BUILTIN_LIB
(
STRING
,
LUA_STRLIBNAME
,
strlib
);
#endif
#if defined(LUA_USE_BUILTIN_TABLE)
extern
const
luaR_entry
tab_funcs
[];
BUILTIN_LIB_INIT
(
TABLE
,
LUA_TABLIBNAME
,
luaopen_table
);
BUILTIN_LIB
(
TABLE
,
LUA_TABLIBNAME
,
tab_funcs
);
#endif
#if defined(LUA_USE_BUILTIN_DEBUG) || defined(LUA_USE_BUILTIN_DEBUG_MINIMAL)
extern
const
luaR_entry
dblib
[];
BUILTIN_LIB_INIT
(
DBG
,
LUA_DBLIBNAME
,
luaopen_debug
);
BUILTIN_LIB
(
DBG
,
LUA_DBLIBNAME
,
dblib
);
#endif
#if defined(LUA_USE_BUILTIN_OS)
extern
const
luaR_entry
syslib
[];
BUILTIN_LIB
(
OS
,
LUA_OSLIBNAME
,
syslib
);
#endif
#if defined(LUA_USE_BUILTIN_COROUTINE)
extern
const
luaR_entry
co_funcs
[];
BUILTIN_LIB
(
CO
,
LUA_COLIBNAME
,
co_funcs
);
#endif
#if defined(LUA_USE_BUILTIN_MATH)
extern
const
luaR_entry
math_map
[];
BUILTIN_LIB
(
MATH
,
LUA_MATHLIBNAME
,
math_map
);
#endif
#if defined(LUA_MODULES_ROM) && LUA_OPTIMIZE_MEMORY == 2
#undef _ROM
#define _ROM( name, openf, table ) extern const luaR_entry table[];
LUA_MODULES_ROM
#endif
const
luaR_table
lua_rotable
[]
=
{
#if LUA_OPTIMIZE_MEMORY > 0
#if defined(LUA_USE_BUILTIN_STRING)
{
LUA_STRLIBNAME
,
strlib
},
#endif
#if defined(LUA_USE_BUILTIN_TABLE)
{
LUA_TABLIBNAME
,
tab_funcs
},
#endif
#if defined(LUA_USE_BUILTIN_DEBUG) || defined(LUA_USE_BUILTIN_DEBUG_MINIMAL)
{
LUA_DBLIBNAME
,
dblib
},
#endif
#if defined(LUA_USE_BUILTIN_COROUTINE)
{
LUA_COLIBNAME
,
co_funcs
},
#endif
#if defined(LUA_USE_BUILTIN_MATH)
{
LUA_MATHLIBNAME
,
math_map
},
#endif
#if defined(LUA_USE_BUILTIN_OS)
{
LUA_OSLIBNAME
,
syslib
},
#endif
#if defined(LUA_MODULES_ROM) && LUA_OPTIMIZE_MEMORY == 2
#undef _ROM
#define _ROM( name, openf, table ) { name, table },
LUA_MODULES_ROM
#endif
#endif
{
NULL
,
NULL
}
};
LUALIB_API
void
luaL_openlibs
(
lua_State
*
L
)
{
const
luaL_Reg
*
lib
=
lualibs
;
for
(;
lib
->
func
;
lib
++
)
{
lua_pushcfunction
(
L
,
lib
->
func
);
lua_pushstring
(
L
,
lib
->
name
);
lua_call
(
L
,
1
,
0
);
extern
const
luaL_Reg
lua_libs
[];
void
luaL_openlibs
(
lua_State
*
L
)
{
const
luaL_Reg
*
lib
=
lua_libs
;
for
(;
lib
->
name
;
lib
++
)
{
if
(
lib
->
func
)
{
lua_pushcfunction
(
L
,
lib
->
func
);
lua_pushstring
(
L
,
lib
->
name
);
lua_call
(
L
,
1
,
0
);
}
}
}
app/modules/modules.h
deleted
100644 → 0
View file @
4708b2ac
/**
* External modules library
*/
#ifndef __MODULES_H__
#define __MODULES_H__
#if defined(LUA_USE_MODULES_GPIO)
#define MODULES_GPIO "gpio"
#define ROM_MODULES_GPIO \
_ROM(MODULES_GPIO, luaopen_gpio, gpio_map)
#else
#define ROM_MODULES_GPIO
#endif
#if defined(LUA_USE_MODULES_PWM)
#define MODULES_PWM "pwm"
#define ROM_MODULES_PWM \
_ROM(MODULES_PWM, luaopen_pwm, pwm_map)
#else
#define ROM_MODULES_PWM
#endif
#if defined(LUA_USE_MODULES_WIFI)
#define MODULES_WIFI "wifi"
#define ROM_MODULES_WIFI \
_ROM(MODULES_WIFI, luaopen_wifi, wifi_map)
#else
#define ROM_MODULES_WIFI
#endif
#if defined(LUA_USE_MODULES_NET)
#define MODULES_NET "net"
#define ROM_MODULES_NET \
_ROM(MODULES_NET, luaopen_net, net_map)
#else
#define ROM_MODULES_NET
#endif
#if defined(LUA_USE_MODULES_COAP)
#define MODULES_COAP "coap"
#define ROM_MODULES_COAP \
_ROM(MODULES_COAP, luaopen_coap, coap_map)
#else
#define ROM_MODULES_COAP
#endif
#if defined(LUA_USE_MODULES_MQTT)
#define MODULES_MQTT "mqtt"
#define ROM_MODULES_MQTT \
_ROM(MODULES_MQTT, luaopen_mqtt, mqtt_map)
#else
#define ROM_MODULES_MQTT
#endif
#if defined(LUA_USE_MODULES_U8G)
#define MODULES_U8G "u8g"
#define ROM_MODULES_U8G \
_ROM(MODULES_U8G, luaopen_u8g, lu8g_map)
#else
#define ROM_MODULES_U8G
#endif
#if defined(LUA_USE_MODULES_UCG)
#define MODULES_UCG "ucg"
#define ROM_MODULES_UCG \
_ROM(MODULES_UCG, luaopen_ucg, lucg_map)
#else
#define ROM_MODULES_UCG
#endif
#if defined(LUA_USE_MODULES_I2C)
#define MODULES_I2C "i2c"
#define ROM_MODULES_I2C \
_ROM(MODULES_I2C, luaopen_i2c, i2c_map)
#else
#define ROM_MODULES_I2C
#endif
#if defined(LUA_USE_MODULES_SPI)
#define MODULES_SPI "spi"
#define ROM_MODULES_SPI \
_ROM(MODULES_SPI, luaopen_spi, spi_map)
#else
#define ROM_MODULES_SPI
#endif
#if defined(LUA_USE_MODULES_TMR)
#define MODULES_TMR "tmr"
#define ROM_MODULES_TMR \
_ROM(MODULES_TMR, luaopen_tmr, tmr_map)
#else
#define ROM_MODULES_TMR
#endif
#if defined(LUA_USE_MODULES_NODE)
#define MODULES_NODE "node"
#define ROM_MODULES_NODE \
_ROM(MODULES_NODE, luaopen_node, node_map)
#else
#define ROM_MODULES_NODE
#endif
#if defined(LUA_USE_MODULES_FILE)
#define MODULES_FILE "file"
#define ROM_MODULES_FILE \
_ROM(MODULES_FILE, luaopen_file, file_map)
#else
#define ROM_MODULES_FILE
#endif
#if defined(LUA_USE_MODULES_ADC)
#define MODULES_ADC "adc"
#define ROM_MODULES_ADC \
_ROM(MODULES_ADC, luaopen_adc, adc_map)
#else
#define ROM_MODULES_ADC
#endif
#if defined(LUA_USE_MODULES_UART)
#define MODULES_UART "uart"
#define ROM_MODULES_UART \
_ROM(MODULES_UART, luaopen_uart, uart_map)
#else
#define ROM_MODULES_UART
#endif
#if defined(LUA_USE_MODULES_OW)
#define MODULES_OW "ow"
#define ROM_MODULES_OW \
_ROM(MODULES_OW, luaopen_ow, ow_map)
#else
#define ROM_MODULES_OW
#endif
#if defined(LUA_USE_MODULES_BIT)
#define MODULES_BIT "bit"
#define ROM_MODULES_BIT \
_ROM(MODULES_BIT, luaopen_bit, bit_map)
#else
#define ROM_MODULES_BIT
#endif
#if defined(LUA_USE_MODULES_WS2801)
#define MODULES_WS2801 "ws2801"
#define ROM_MODULES_WS2801 \
_ROM(MODULES_WS2801, luaopen_ws2801, ws2801_map)
#else
#define ROM_MODULES_WS2801
#endif
#if defined(LUA_USE_MODULES_WS2812)
#define MODULES_WS2812 "ws2812"
#define ROM_MODULES_WS2812 \
_ROM(MODULES_WS2812, luaopen_ws2812, ws2812_map)
#else
#define ROM_MODULES_WS2812
#endif
#if defined(LUA_USE_MODULES_ENDUSER_SETUP)
#define MODULES_ENDUSER_SETUP "enduser_setup"
#define ROM_MODULES_ENDUSER_SETUP \
_ROM(MODULES_ENDUSER_SETUP, luaopen_enduser_setup, enduser_setup_map)
#else
#define ROM_MODULES_ENDUSER_SETUP
#endif
#if defined(LUA_USE_MODULES_CJSON)
#define MODULES_CJSON "cjson"
#define ROM_MODULES_CJSON \
_ROM(MODULES_CJSON, luaopen_cjson, cjson_map)
#else
#define ROM_MODULES_CJSON
#endif
#if defined(LUA_USE_MODULES_CRYPTO)
#define MODULES_CRYPTO "crypto"
#define ROM_MODULES_CRYPTO \
_ROM(MODULES_CRYPTO, luaopen_crypto, crypto_map)
#else
#define ROM_MODULES_CRYPTO
#endif
#if defined(LUA_USE_MODULES_RC)
#define MODULES_RC "rc"
#define ROM_MODULES_RC \
_ROM(MODULES_RC, luaopen_rc, rc_map)
#else
#define ROM_MODULES_RC
#endif
#if defined(LUA_USE_MODULES_DHT)
#define MODULES_DHT "dht"
#define ROM_MODULES_DHT \
_ROM(MODULES_DHT, luaopen_dht, dht_map)
#else
#define ROM_MODULES_DHT
#endif
#if defined(LUA_USE_MODULES_RTCMEM)
#define MODULES_RTCMEM "rtcmem"
#define ROM_MODULES_RTCMEM \
_ROM(MODULES_RTCMEM, luaopen_rtcmem, rtcmem_map)
#else
#define ROM_MODULES_RTCMEM
#endif
#if defined(LUA_USE_MODULES_RTCTIME)
#define MODULES_RTCTIME "rtctime"
#define ROM_MODULES_RTCTIME \
_ROM(MODULES_RTCTIME, luaopen_rtctime, rtctime_map)
#else
#define ROM_MODULES_RTCTIME
#endif
#if defined(LUA_USE_MODULES_RTCFIFO)
#define MODULES_RTCFIFO "rtcfifo"
#define ROM_MODULES_RTCFIFO \
_ROM(MODULES_RTCFIFO, luaopen_rtcfifo, rtcfifo_map)
#else
#define ROM_MODULES_RTCFIFO
#endif
#if defined(LUA_USE_MODULES_SNTP)
#define MODULES_SNTP "sntp"
#define ROM_MODULES_SNTP \
_ROM(MODULES_SNTP, luaopen_sntp, sntp_map)
#else
#define ROM_MODULES_SNTP
#endif
#if defined(LUA_USE_MODULES_BMP085)
#define MODULES_BMP085 "bmp085"
#define ROM_MODULES_BMP085 \
_ROM(MODULES_BMP085, luaopen_bmp085, bmp085_map)
#else
#define ROM_MODULES_BMP085
#endif
#if defined(LUA_USE_MODULES_TSL2561)
#define MODULES_TSL2561 "tsl2561"
#define ROM_MODULES_TSL2561 \
_ROM(MODULES_TSL2561, luaopen_tsl2561, tsl2561_map)
#else
#define ROM_MODULES_TSL2561
#endif
#if defined(LUA_USE_MODULES_HX711)
#define MODULES_HX711 "hx711"
#define ROM_MODULES_HX711 \
_ROM(MODULES_HX711, luaopen_hx711, hx711_map)
#else
#define ROM_MODULES_HX711
#endif
#define LUA_MODULES_ROM \
ROM_MODULES_GPIO \
ROM_MODULES_PWM \
ROM_MODULES_WIFI \
ROM_MODULES_COAP \
ROM_MODULES_MQTT \
ROM_MODULES_U8G \
ROM_MODULES_UCG \
ROM_MODULES_I2C \
ROM_MODULES_SPI \
ROM_MODULES_TMR \
ROM_MODULES_NODE \
ROM_MODULES_FILE \
ROM_MODULES_NET \
ROM_MODULES_ADC \
ROM_MODULES_UART \
ROM_MODULES_OW \
ROM_MODULES_BIT \
ROM_MODULES_ENDUSER_SETUP \
ROM_MODULES_WS2801 \
ROM_MODULES_WS2812 \
ROM_MODULES_CJSON \
ROM_MODULES_CRYPTO \
ROM_MODULES_RC \
ROM_MODULES_DHT \
ROM_MODULES_RTCMEM \
ROM_MODULES_RTCTIME \
ROM_MODULES_RTCFIFO \
ROM_MODULES_SNTP \
ROM_MODULES_BMP085 \
ROM_MODULES_TSL2561 \
ROM_MODULES_HX711
#endif
app/modules/mqtt.c
View file @
1462d00e
// Module for mqtt
//#include "lua.h"
#include "lualib.h"
#include "module.h"
#include "lauxlib.h"
#include "platform.h"
#include "auxmods.h"
#include "lrotable.h"
#include "c_string.h"
#include "c_stdlib.h"
...
...
@@ -1392,59 +1389,28 @@ static int mqtt_socket_lwt( lua_State* L )
}
// Module function map
#define MIN_OPT_LEVEL 2
#include "lrodefs.h"
static
const
LUA_REG_TYPE
mqtt_socket_map
[]
=
{
{
LSTRKEY
(
"connect"
),
LFUNCVAL
(
mqtt_socket_connect
)
},
{
LSTRKEY
(
"close"
),
LFUNCVAL
(
mqtt_socket_close
)
},
{
LSTRKEY
(
"publish"
),
LFUNCVAL
(
mqtt_socket_publish
)
},
{
LSTRKEY
(
"subscribe"
),
LFUNCVAL
(
mqtt_socket_subscribe
)
},
{
LSTRKEY
(
"lwt"
),
LFUNCVAL
(
mqtt_socket_lwt
)
},
{
LSTRKEY
(
"on"
),
LFUNCVAL
(
mqtt_socket_on
)
},
{
LSTRKEY
(
"__gc"
),
LFUNCVAL
(
mqtt_delete
)
},
#if LUA_OPTIMIZE_MEMORY > 0
{
LSTRKEY
(
"__index"
),
LROVAL
(
mqtt_socket_map
)
},
#endif
static
const
LUA_REG_TYPE
mqtt_socket_map
[]
=
{
{
LSTRKEY
(
"connect"
),
LFUNCVAL
(
mqtt_socket_connect
)
},
{
LSTRKEY
(
"close"
),
LFUNCVAL
(
mqtt_socket_close
)
},
{
LSTRKEY
(
"publish"
),
LFUNCVAL
(
mqtt_socket_publish
)
},
{
LSTRKEY
(
"subscribe"
),
LFUNCVAL
(
mqtt_socket_subscribe
)
},
{
LSTRKEY
(
"lwt"
),
LFUNCVAL
(
mqtt_socket_lwt
)
},
{
LSTRKEY
(
"on"
),
LFUNCVAL
(
mqtt_socket_on
)
},
{
LSTRKEY
(
"__gc"
),
LFUNCVAL
(
mqtt_delete
)
},
{
LSTRKEY
(
"__index"
),
LROVAL
(
mqtt_socket_map
)
},
{
LNILKEY
,
LNILVAL
}
};
const
LUA_REG_TYPE
mqtt_map
[]
=
{
{
LSTRKEY
(
"Client"
),
LFUNCVAL
(
mqtt_socket_client
)
},
#if LUA_OPTIMIZE_MEMORY > 0
static
const
LUA_REG_TYPE
mqtt_map
[]
=
{
{
LSTRKEY
(
"Client"
),
LFUNCVAL
(
mqtt_socket_client
)
},
{
LSTRKEY
(
"__metatable"
),
LROVAL
(
mqtt_map
)
},
#endif
{
LNILKEY
,
LNILVAL
}
};
LUALIB_API
int
luaopen_mqtt
(
lua_State
*
L
)
int
luaopen_mqtt
(
lua_State
*
L
)
{
#if LUA_OPTIMIZE_MEMORY > 0
luaL_rometatable
(
L
,
"mqtt.socket"
,
(
void
*
)
mqtt_socket_map
);
// create metatable for mqtt.socket
return
0
;
#else // #if LUA_OPTIMIZE_MEMORY > 0
int
n
;
luaL_register
(
L
,
AUXLIB_MQTT
,
mqtt_map
);
// Set it as its own metatable
lua_pushvalue
(
L
,
-
1
);
lua_setmetatable
(
L
,
-
2
);
// Module constants
// MOD_REG_NUMBER( L, "TCP", TCP );
// create metatable
luaL_newmetatable
(
L
,
"mqtt.socket"
);
// metatable.__index = metatable
lua_pushliteral
(
L
,
"__index"
);
lua_pushvalue
(
L
,
-
2
);
lua_rawset
(
L
,
-
3
);
// Setup the methods inside metatable
luaL_register
(
L
,
NULL
,
mqtt_socket_map
);
return
1
;
#endif // #if LUA_OPTIMIZE_MEMORY > 0
}
NODEMCU_MODULE
(
MQTT
,
"mqtt"
,
mqtt_map
,
luaopen_mqtt
);
app/modules/net.c
View file @
1462d00e
// Module for network
//#include "lua.h"
#include "lualib.h"
#include "module.h"
#include "lauxlib.h"
#include "platform.h"
#include "auxmods.h"
#include "lrotable.h"
#include "c_string.h"
#include "c_stdlib.h"
...
...
@@ -1508,132 +1505,72 @@ static int expose_array(lua_State* L, char *array, unsigned short len) {
#endif
// Module function map
#define MIN_OPT_LEVEL 2
#include "lrodefs.h"
static
const
LUA_REG_TYPE
net_server_map
[]
=
{
{
LSTRKEY
(
"listen"
),
LFUNCVAL
(
net_server_listen
)
},
{
LSTRKEY
(
"close"
),
LFUNCVAL
(
net_server_close
)
},
{
LSTRKEY
(
"on"
),
LFUNCVAL
(
net_udpserver_on
)
},
{
LSTRKEY
(
"send"
),
LFUNCVAL
(
net_udpserver_send
)
},
// { LSTRKEY( "delete" ), LFUNCVAL ( net_server_delete ) },
{
LSTRKEY
(
"__gc"
),
LFUNCVAL
(
net_server_delete
)
},
#if LUA_OPTIMIZE_MEMORY > 0
{
LSTRKEY
(
"__index"
),
LROVAL
(
net_server_map
)
},
#endif
static
const
LUA_REG_TYPE
net_server_map
[]
=
{
{
LSTRKEY
(
"listen"
),
LFUNCVAL
(
net_server_listen
)
},
{
LSTRKEY
(
"close"
),
LFUNCVAL
(
net_server_close
)
},
{
LSTRKEY
(
"on"
),
LFUNCVAL
(
net_udpserver_on
)
},
{
LSTRKEY
(
"send"
),
LFUNCVAL
(
net_udpserver_send
)
},
//{ LSTRKEY( "delete" ), LFUNCVAL( net_server_delete ) },
{
LSTRKEY
(
"__gc"
),
LFUNCVAL
(
net_server_delete
)
},
{
LSTRKEY
(
"__index"
),
LROVAL
(
net_server_map
)
},
{
LNILKEY
,
LNILVAL
}
};
static
const
LUA_REG_TYPE
net_socket_map
[]
=
{
static
const
LUA_REG_TYPE
net_socket_map
[]
=
{
{
LSTRKEY
(
"connect"
),
LFUNCVAL
(
net_socket_connect
)
},
{
LSTRKEY
(
"close"
),
LFUNCVAL
(
net_socket_close
)
},
{
LSTRKEY
(
"on"
),
LFUNCVAL
(
net_socket_on
)
},
{
LSTRKEY
(
"send"
),
LFUNCVAL
(
net_socket_send
)
},
{
LSTRKEY
(
"hold"
),
LFUNCVAL
(
net_socket_hold
)
},
{
LSTRKEY
(
"unhold"
),
LFUNCVAL
(
net_socket_unhold
)
},
{
LSTRKEY
(
"dns"
),
LFUNCVAL
(
net_socket_dns
)
},
{
LSTRKEY
(
"getpeer"
),
LFUNCVAL
(
net_socket_getpeer
)
},
// { LSTRKEY( "delete" ), LFUNCVAL ( net_socket_delete ) },
{
LSTRKEY
(
"__gc"
),
LFUNCVAL
(
net_socket_delete
)
},
#if LUA_OPTIMIZE_MEMORY > 0
{
LSTRKEY
(
"__index"
),
LROVAL
(
net_socket_map
)
},
#endif
{
LSTRKEY
(
"close"
),
LFUNCVAL
(
net_socket_close
)
},
{
LSTRKEY
(
"on"
),
LFUNCVAL
(
net_socket_on
)
},
{
LSTRKEY
(
"send"
),
LFUNCVAL
(
net_socket_send
)
},
{
LSTRKEY
(
"hold"
),
LFUNCVAL
(
net_socket_hold
)
},
{
LSTRKEY
(
"unhold"
),
LFUNCVAL
(
net_socket_unhold
)
},
{
LSTRKEY
(
"dns"
),
LFUNCVAL
(
net_socket_dns
)
},
{
LSTRKEY
(
"getpeer"
),
LFUNCVAL
(
net_socket_getpeer
)
},
//{ LSTRKEY( "delete" ), LFUNCVAL( net_socket_delete ) },
{
LSTRKEY
(
"__gc"
),
LFUNCVAL
(
net_socket_delete
)
},
{
LSTRKEY
(
"__index"
),
LROVAL
(
net_socket_map
)
},
{
LNILKEY
,
LNILVAL
}
};
#if 0
static const LUA_REG_TYPE net_array_map[] =
{
{ LSTRKEY( "__index" ), LFUNCVAL( net_array_index ) },
static const LUA_REG_TYPE net_array_map[] = {
{ LSTRKEY( "__index" ), LFUNCVAL( net_array_index ) },
{ LSTRKEY( "__newindex" ), LFUNCVAL( net_array_newindex ) },
{ LNILKEY, LNILVAL }
};
#endif
static
const
LUA_REG_TYPE
net_dns_map
[]
=
{
{
LSTRKEY
(
"setdnsserver"
),
LFUNCVAL
(
net_setdnsserver
)
},
{
LSTRKEY
(
"getdnsserver"
),
LFUNCVAL
(
net_getdnsserver
)
},
{
LSTRKEY
(
"resolve"
),
LFUNCVAL
(
net_dns_static
)
},
static
const
LUA_REG_TYPE
net_dns_map
[]
=
{
{
LSTRKEY
(
"setdnsserver"
),
LFUNCVAL
(
net_setdnsserver
)
},
{
LSTRKEY
(
"getdnsserver"
),
LFUNCVAL
(
net_getdnsserver
)
},
{
LSTRKEY
(
"resolve"
),
LFUNCVAL
(
net_dns_static
)
},
{
LNILKEY
,
LNILVAL
}
};
const
LUA_REG_TYPE
net_map
[]
=
{
{
LSTRKEY
(
"createServer"
),
LFUNCVAL
(
net_createServer
)
},
{
LSTRKEY
(
"createConnection"
),
LFUNCVAL
(
net_createConnection
)
},
{
LSTRKEY
(
"multicastJoin"
),
LFUNCVAL
(
net_multicastJoin
)
},
{
LSTRKEY
(
"multicastLeave"
),
LFUNCVAL
(
net_multicastLeave
)
},
#if LUA_OPTIMIZE_MEMORY > 0
{
LSTRKEY
(
"dns"
),
LROVAL
(
net_dns_map
)
},
{
LSTRKEY
(
"TCP"
),
LNUMVAL
(
TCP
)
},
{
LSTRKEY
(
"UDP"
),
LNUMVAL
(
UDP
)
},
{
LSTRKEY
(
"__metatable"
),
LROVAL
(
net_map
)
},
#endif
static
const
LUA_REG_TYPE
net_map
[]
=
{
{
LSTRKEY
(
"createServer"
),
LFUNCVAL
(
net_createServer
)
},
{
LSTRKEY
(
"createConnection"
),
LFUNCVAL
(
net_createConnection
)
},
{
LSTRKEY
(
"multicastJoin"
),
LFUNCVAL
(
net_multicastJoin
)
},
{
LSTRKEY
(
"multicastLeave"
),
LFUNCVAL
(
net_multicastLeave
)
},
{
LSTRKEY
(
"dns"
),
LROVAL
(
net_dns_map
)
},
{
LSTRKEY
(
"TCP"
),
LNUMVAL
(
TCP
)
},
{
LSTRKEY
(
"UDP"
),
LNUMVAL
(
UDP
)
},
{
LSTRKEY
(
"__metatable"
),
LROVAL
(
net_map
)
},
{
LNILKEY
,
LNILVAL
}
};
LUALIB_API
int
luaopen_net
(
lua_State
*
L
)
{
int
luaopen_net
(
lua_State
*
L
)
{
int
i
;
for
(
i
=
0
;
i
<
MAX_SOCKET
;
i
++
)
{
socket
[
i
]
=
LUA_NOREF
;
}
#if LUA_OPTIMIZE_MEMORY > 0
luaL_rometatable
(
L
,
"net.server"
,
(
void
*
)
net_server_map
);
// create metatable for net.server
luaL_rometatable
(
L
,
"net.socket"
,
(
void
*
)
net_socket_map
);
// create metatable for net.socket
#if 0
luaL_rometatable(L, "net.array", (void *)net_array_map); // create metatable for net.array
luaL_rometatable(L, "net.array", (void *)net_array_map);
// create metatable for net.array
#endif
return
0
;
#else // #if LUA_OPTIMIZE_MEMORY > 0
int
n
;
luaL_register
(
L
,
AUXLIB_NET
,
net_map
);
// Set it as its own metatable
lua_pushvalue
(
L
,
-
1
);
lua_setmetatable
(
L
,
-
2
);
// Module constants
MOD_REG_NUMBER
(
L
,
"TCP"
,
TCP
);
MOD_REG_NUMBER
(
L
,
"UDP"
,
UDP
);
n
=
lua_gettop
(
L
);
// create metatable
luaL_newmetatable
(
L
,
"net.server"
);
// metatable.__index = metatable
lua_pushliteral
(
L
,
"__index"
);
lua_pushvalue
(
L
,
-
2
);
lua_rawset
(
L
,
-
3
);
// Setup the methods inside metatable
luaL_register
(
L
,
NULL
,
net_server_map
);
lua_settop
(
L
,
n
);
// create metatable
luaL_newmetatable
(
L
,
"net.socket"
);
// metatable.__index = metatable
lua_pushliteral
(
L
,
"__index"
);
lua_pushvalue
(
L
,
-
2
);
lua_rawset
(
L
,
-
3
);
// Setup the methods inside metatable
luaL_register
(
L
,
NULL
,
net_socket_map
);
#if 0
lua_settop(L, n);
// create metatable
luaL_newmetatable(L, "net.array");
// Setup the methods inside metatable
luaL_register( L, NULL, net_array_map );
#endif
lua_settop
(
L
,
n
);
lua_newtable
(
L
);
luaL_register
(
L
,
NULL
,
net_dns_map
);
lua_setfield
(
L
,
-
2
,
"dns"
);
return
1
;
#endif // #if LUA_OPTIMIZE_MEMORY > 0
return
0
;
}
NODEMCU_MODULE
(
NET
,
"net"
,
net_map
,
luaopen_net
);
app/modules/node.c
View file @
1462d00e
// Module for interfacing with system
#include "
lua
.h"
#include "
module
.h"
#include "lauxlib.h"
#include "ldebug.h"
...
...
@@ -15,14 +15,12 @@
#include "lundump.h"
#include "platform.h"
#include "auxmods.h"
#include "lrotable.h"
#include "lrodefs.h"
#include "c_types.h"
#include "romfs.h"
#include "c_string.h"
#include "driver/uart.h"
//#include "spi_flash.h"
#include "user_interface.h"
#include "flash_api.h"
#include "flash_fs.h"
...
...
@@ -550,9 +548,7 @@ static int node_stripdebug (lua_State *L) {
#endif
// Module function map
#define MIN_OPT_LEVEL 2
#include "lrodefs.h"
const
LUA_REG_TYPE
node_map
[]
=
static
const
LUA_REG_TYPE
node_map
[]
=
{
{
LSTRKEY
(
"restart"
),
LFUNCVAL
(
node_restart
)
},
{
LSTRKEY
(
"dsleep"
),
LFUNCVAL
(
node_deepsleep
)
},
...
...
@@ -581,20 +577,7 @@ const LUA_REG_TYPE node_map[] =
// Combined to dsleep(us, option)
// { LSTRKEY( "dsleepsetoption" ), LFUNCVAL( node_deepsleep_setoption) },
#if LUA_OPTIMIZE_MEMORY > 0
#endif
{
LNILKEY
,
LNILVAL
}
};
LUALIB_API
int
luaopen_node
(
lua_State
*
L
)
{
#if LUA_OPTIMIZE_MEMORY > 0
return
0
;
#else // #if LUA_OPTIMIZE_MEMORY > 0
luaL_register
(
L
,
AUXLIB_NODE
,
node_map
);
// Add constants
return
1
;
#endif // #if LUA_OPTIMIZE_MEMORY > 0
}
NODEMCU_MODULE
(
NODE
,
"node"
,
node_map
,
NULL
);
app/modules/ow.c
View file @
1462d00e
// Module for interfacing with the OneWire interface
//#include "lua.h"
#include "lualib.h"
#include "module.h"
#include "lauxlib.h"
#include "auxmods.h"
#include "lrotable.h"
#include "platform.h"
#include "driver/onewire.h"
// Lua: ow.setup( id )
...
...
@@ -282,46 +280,29 @@ static int ow_crc16( lua_State *L )
#endif
// Module function map
#define MIN_OPT_LEVEL 2
#include "lrodefs.h"
const
LUA_REG_TYPE
ow_map
[]
=
{
{
LSTRKEY
(
"setup"
),
LFUNCVAL
(
ow_setup
)
},
{
LSTRKEY
(
"reset"
),
LFUNCVAL
(
ow_reset
)
},
{
LSTRKEY
(
"skip"
),
LFUNCVAL
(
ow_skip
)
},
{
LSTRKEY
(
"select"
),
LFUNCVAL
(
ow_select
)
},
{
LSTRKEY
(
"write"
),
LFUNCVAL
(
ow_write
)
},
{
LSTRKEY
(
"write_bytes"
),
LFUNCVAL
(
ow_write_bytes
)
},
{
LSTRKEY
(
"read"
),
LFUNCVAL
(
ow_read
)
},
{
LSTRKEY
(
"read_bytes"
),
LFUNCVAL
(
ow_read_bytes
)
},
{
LSTRKEY
(
"depower"
),
LFUNCVAL
(
ow_depower
)
},
static
const
LUA_REG_TYPE
ow_map
[]
=
{
{
LSTRKEY
(
"setup"
),
LFUNCVAL
(
ow_setup
)
},
{
LSTRKEY
(
"reset"
),
LFUNCVAL
(
ow_reset
)
},
{
LSTRKEY
(
"skip"
),
LFUNCVAL
(
ow_skip
)
},
{
LSTRKEY
(
"select"
),
LFUNCVAL
(
ow_select
)
},
{
LSTRKEY
(
"write"
),
LFUNCVAL
(
ow_write
)
},
{
LSTRKEY
(
"write_bytes"
),
LFUNCVAL
(
ow_write_bytes
)
},
{
LSTRKEY
(
"read"
),
LFUNCVAL
(
ow_read
)
},
{
LSTRKEY
(
"read_bytes"
),
LFUNCVAL
(
ow_read_bytes
)
},
{
LSTRKEY
(
"depower"
),
LFUNCVAL
(
ow_depower
)
},
#if ONEWIRE_SEARCH
{
LSTRKEY
(
"reset_search"
),
LFUNCVAL
(
ow_reset_search
)
},
{
LSTRKEY
(
"reset_search"
),
LFUNCVAL
(
ow_reset_search
)
},
{
LSTRKEY
(
"target_search"
),
LFUNCVAL
(
ow_target_search
)
},
{
LSTRKEY
(
"search"
),
LFUNCVAL
(
ow_search
)
},
{
LSTRKEY
(
"search"
),
LFUNCVAL
(
ow_search
)
},
#endif
#if ONEWIRE_CRC
{
LSTRKEY
(
"crc8"
),
LFUNCVAL
(
ow_crc8
)
},
{
LSTRKEY
(
"crc8"
),
LFUNCVAL
(
ow_crc8
)
},
#if ONEWIRE_CRC16
{
LSTRKEY
(
"check_crc16"
),
LFUNCVAL
(
ow_check_crc16
)
},
{
LSTRKEY
(
"crc16"
),
LFUNCVAL
(
ow_crc16
)
},
#endif
{
LSTRKEY
(
"check_crc16"
),
LFUNCVAL
(
ow_check_crc16
)
},
{
LSTRKEY
(
"crc16"
),
LFUNCVAL
(
ow_crc16
)
},
#endif
#if LUA_OPTIMIZE_MEMORY > 0
#endif
{
LNILKEY
,
LNILVAL
}
};
LUALIB_API
int
luaopen_ow
(
lua_State
*
L
)
{
#if LUA_OPTIMIZE_MEMORY > 0
return
0
;
#else // #if LUA_OPTIMIZE_MEMORY > 0
luaL_register
(
L
,
AUXLIB_OW
,
ow_map
);
// Add the constants
return
1
;
#endif // #if LUA_OPTIMIZE_MEMORY > 0
}
NODEMCU_MODULE
(
OW
,
"ow"
,
ow_map
,
NULL
);
app/modules/pwm.c
View file @
1462d00e
// Module for interfacing with PWM
//#include "lua.h"
#include "lualib.h"
#include "module.h"
#include "lauxlib.h"
#include "platform.h"
#include "auxmods.h"
#include "lrotable.h"
#include "c_types.h"
// Lua: realfrequency = setup( id, frequency, duty )
...
...
@@ -125,30 +121,16 @@ static int lpwm_getduty( lua_State* L )
}
// Module function map
#define MIN_OPT_LEVEL 2
#include "lrodefs.h"
const
LUA_REG_TYPE
pwm_map
[]
=
{
{
LSTRKEY
(
"setup"
),
LFUNCVAL
(
lpwm_setup
)
},
{
LSTRKEY
(
"close"
),
LFUNCVAL
(
lpwm_close
)
},
{
LSTRKEY
(
"start"
),
LFUNCVAL
(
lpwm_start
)
},
{
LSTRKEY
(
"stop"
),
LFUNCVAL
(
lpwm_stop
)
},
static
const
LUA_REG_TYPE
pwm_map
[]
=
{
{
LSTRKEY
(
"setup"
),
LFUNCVAL
(
lpwm_setup
)
},
{
LSTRKEY
(
"close"
),
LFUNCVAL
(
lpwm_close
)
},
{
LSTRKEY
(
"start"
),
LFUNCVAL
(
lpwm_start
)
},
{
LSTRKEY
(
"stop"
),
LFUNCVAL
(
lpwm_stop
)
},
{
LSTRKEY
(
"setclock"
),
LFUNCVAL
(
lpwm_setclock
)
},
{
LSTRKEY
(
"getclock"
),
LFUNCVAL
(
lpwm_getclock
)
},
{
LSTRKEY
(
"setduty"
),
LFUNCVAL
(
lpwm_setduty
)
},
{
LSTRKEY
(
"getduty"
),
LFUNCVAL
(
lpwm_getduty
)
},
#if LUA_OPTIMIZE_MEMORY > 0
#endif
{
LSTRKEY
(
"setduty"
),
LFUNCVAL
(
lpwm_setduty
)
},
{
LSTRKEY
(
"getduty"
),
LFUNCVAL
(
lpwm_getduty
)
},
{
LNILKEY
,
LNILVAL
}
};
LUALIB_API
int
luaopen_pwm
(
lua_State
*
L
)
{
#if LUA_OPTIMIZE_MEMORY > 0
return
0
;
#else // #if LUA_OPTIMIZE_MEMORY > 0
luaL_register
(
L
,
AUXLIB_PWM
,
pwm_map
);
return
1
;
#endif // #if LUA_OPTIMIZE_MEMORY > 0
}
NODEMCU_MODULE
(
PWM
,
"pwm"
,
pwm_map
,
NULL
);
app/modules/rc.c
View file @
1462d00e
#include "
lualib
.h"
#include "
module
.h"
#include "lauxlib.h"
#include "platform.h"
#include "auxmods.h"
#include "lrotable.h"
//#include "driver/easygpio.h"
//static Ping_Data pingA;
#define defPulseLen 185
...
...
@@ -80,17 +78,16 @@ static int ICACHE_FLASH_ATTR rc_send(lua_State* L) {
return
1
;
}
#define MIN_OPT_LEVEL 2
#include "lrodefs.h"
const
LUA_REG_TYPE
rc_map
[]
=
{
// Module function map
static
const
LUA_REG_TYPE
rc_map
[]
=
{
{
LSTRKEY
(
"send"
),
LFUNCVAL
(
rc_send
)},
{
LNILKEY
,
LNILVAL
}
};
//LUALIB_API int luaopen_ultra(lua_State *L) {
LUALIB_API
int
luaopen_rc
(
lua_State
*
L
)
{
int
luaopen_rc
(
lua_State
*
L
)
{
// TODO: Make sure that the GPIO system is initialized
LREGISTER
(
L
,
"rc"
,
rc_map
);
return
1
;
return
0
;
}
NODEMCU_MODULE
(
RC
,
"rc"
,
rc_map
,
luaopen_rc
);
app/modules/rtcfifo.c
View file @
1462d00e
// Module for RTC sample FIFO storage
#include "module.h"
#include "lauxlib.h"
#include "user_modules.h"
#include "rtc/rtctime.h"
...
...
@@ -164,10 +165,7 @@ static int rtcfifo_dsleep_until_sample (lua_State *L)
#endif
// Module function map
#define MIN_OPT_LEVEL 2
#include "lrodefs.h"
const
LUA_REG_TYPE
rtcfifo_map
[]
=
{
static
const
LUA_REG_TYPE
rtcfifo_map
[]
=
{
{
LSTRKEY
(
"prepare"
),
LFUNCVAL
(
rtcfifo_prepare
)
},
{
LSTRKEY
(
"ready"
),
LFUNCVAL
(
rtcfifo_ready
)
},
{
LSTRKEY
(
"put"
),
LFUNCVAL
(
rtcfifo_put
)
},
...
...
@@ -181,12 +179,4 @@ const LUA_REG_TYPE rtcfifo_map[] =
{
LNILKEY
,
LNILVAL
}
};
LUALIB_API
int
luaopen_rtcfifo
(
lua_State
*
L
)
{
#if LUA_OPTIMIZE_MEMORY > 0
return
0
;
#else
luaL_register
(
L
,
AUXLIB_RTCFIFO
,
rtcfifo_map
);
return
1
;
#endif
}
NODEMCU_MODULE
(
RTCFIFO
,
"rtcfifo"
,
rtcfifo_map
,
NULL
);
app/modules/rtcmem.c
View file @
1462d00e
// Module for RTC user memory access
#include "module.h"
#include "lauxlib.h"
#include "rtc/rtcaccess.h"
...
...
@@ -40,21 +41,10 @@ static int rtcmem_write32 (lua_State *L)
// Module function map
#define MIN_OPT_LEVEL 2
#include "lrodefs.h"
const
LUA_REG_TYPE
rtcmem_map
[]
=
{
static
const
LUA_REG_TYPE
rtcmem_map
[]
=
{
{
LSTRKEY
(
"read32"
),
LFUNCVAL
(
rtcmem_read32
)
},
{
LSTRKEY
(
"write32"
),
LFUNCVAL
(
rtcmem_write32
)
},
{
LNILKEY
,
LNILVAL
}
};
LUALIB_API
int
luaopen_rtcmem
(
lua_State
*
L
)
{
#if LUA_OPTIMIZE_MEMORY > 0
return
0
;
#else
luaL_register
(
L
,
AUXLIB_RTCMEM
,
rtcmem_map
);
return
1
;
#endif
}
NODEMCU_MODULE
(
RTCMEM
,
"rtcmem"
,
rtcmem_map
,
NULL
);
app/modules/rtctime.c
View file @
1462d00e
// Module for RTC time keeping
#include "module.h"
#include "lauxlib.h"
#include "rtc/rtctime_internal.h"
...
...
@@ -115,23 +116,12 @@ static int rtctime_dsleep_aligned (lua_State *L)
// Module function map
#define MIN_OPT_LEVEL 2
#include "lrodefs.h"
const
LUA_REG_TYPE
rtctime_map
[]
=
{
{
LSTRKEY
(
"set"
),
LFUNCVAL
(
rtctime_set
)
},
{
LSTRKEY
(
"get"
),
LFUNCVAL
(
rtctime_get
)
},
{
LSTRKEY
(
"dsleep"
),
LFUNCVAL
(
rtctime_dsleep
)
},
static
const
LUA_REG_TYPE
rtctime_map
[]
=
{
{
LSTRKEY
(
"set"
),
LFUNCVAL
(
rtctime_set
)
},
{
LSTRKEY
(
"get"
),
LFUNCVAL
(
rtctime_get
)
},
{
LSTRKEY
(
"dsleep"
),
LFUNCVAL
(
rtctime_dsleep
)
},
{
LSTRKEY
(
"dsleep_aligned"
),
LFUNCVAL
(
rtctime_dsleep_aligned
)
},
{
LNILKEY
,
LNILVAL
}
};
LUALIB_API
int
luaopen_rtctime
(
lua_State
*
L
)
{
#if LUA_OPTIMIZE_MEMORY > 0
return
0
;
#else
luaL_register
(
L
,
AUXLIB_RTCTIME
,
rtctime_map
);
return
1
;
#endif
}
NODEMCU_MODULE
(
RTCTIME
,
"rtctime"
,
rtctime_map
,
NULL
);
app/modules/sntp.c
View file @
1462d00e
...
...
@@ -33,6 +33,7 @@
// Module for Simple Network Time Protocol (SNTP)
#include "module.h"
#include "lauxlib.h"
#include "os_type.h"
#include "osapi.h"
...
...
@@ -375,20 +376,9 @@ error:
// Module function map
#define MIN_OPT_LEVEL 2
#include "lrodefs.h"
const
LUA_REG_TYPE
sntp_map
[]
=
{
static
const
LUA_REG_TYPE
sntp_map
[]
=
{
{
LSTRKEY
(
"sync"
),
LFUNCVAL
(
sntp_sync
)
},
{
LNILKEY
,
LNILVAL
}
};
LUALIB_API
int
luaopen_sntp
(
lua_State
*
L
)
{
#if LUA_OPTIMIZE_MEMORY > 0
return
0
;
#else
luaL_register
(
L
,
AUXLIB_SNTP
,
sntp_map
);
return
1
;
#endif
}
NODEMCU_MODULE
(
SNTP
,
"sntp"
,
sntp_map
,
NULL
);
app/modules/spi.c
View file @
1462d00e
// Module for interfacing with the SPI interface
//#include "lua.h"
#include "lualib.h"
#include "module.h"
#include "lauxlib.h"
#include "platform.h"
#include "auxmods.h"
#include "lrotable.h"
#define SPI_HALFDUPLEX 0
#define SPI_FULLDUPLEX 1
...
...
@@ -313,48 +310,23 @@ static int spi_transaction( lua_State *L )
// Module function map
#define MIN_OPT_LEVEL 2
#include "lrodefs.h"
const
LUA_REG_TYPE
spi_map
[]
=
{
static
const
LUA_REG_TYPE
spi_map
[]
=
{
{
LSTRKEY
(
"setup"
),
LFUNCVAL
(
spi_setup
)
},
{
LSTRKEY
(
"send"
),
LFUNCVAL
(
spi_send_recv
)
},
{
LSTRKEY
(
"recv"
),
LFUNCVAL
(
spi_recv
)
},
{
LSTRKEY
(
"set_mosi"
),
LFUNCVAL
(
spi_set_mosi
)
},
{
LSTRKEY
(
"get_miso"
),
LFUNCVAL
(
spi_get_miso
)
},
{
LSTRKEY
(
"transaction"
),
LFUNCVAL
(
spi_transaction
)
},
#if LUA_OPTIMIZE_MEMORY > 0
{
LSTRKEY
(
"MASTER"
),
LNUMVAL
(
PLATFORM_SPI_MASTER
)
},
{
LSTRKEY
(
"SLAVE"
),
LNUMVAL
(
PLATFORM_SPI_SLAVE
)
},
{
LSTRKEY
(
"CPHA_LOW"
),
LNUMVAL
(
PLATFORM_SPI_CPHA_LOW
)
},
{
LSTRKEY
(
"CPHA_HIGH"
),
LNUMVAL
(
PLATFORM_SPI_CPHA_HIGH
)
},
{
LSTRKEY
(
"CPOL_LOW"
),
LNUMVAL
(
PLATFORM_SPI_CPOL_LOW
)
},
{
LSTRKEY
(
"CPOL_HIGH"
),
LNUMVAL
(
PLATFORM_SPI_CPOL_HIGH
)
},
{
LSTRKEY
(
"DATABITS_8"
),
LNUMVAL
(
8
)
},
{
LSTRKEY
(
"HALFDUPLEX"
),
LNUMVAL
(
SPI_HALFDUPLEX
)
},
{
LSTRKEY
(
"FULLDUPLEX"
),
LNUMVAL
(
SPI_FULLDUPLEX
)
},
#endif // #if LUA_OPTIMIZE_MEMORY > 0
{
LSTRKEY
(
"MASTER"
),
LNUMVAL
(
PLATFORM_SPI_MASTER
)
},
{
LSTRKEY
(
"SLAVE"
),
LNUMVAL
(
PLATFORM_SPI_SLAVE
)
},
{
LSTRKEY
(
"CPHA_LOW"
),
LNUMVAL
(
PLATFORM_SPI_CPHA_LOW
)
},
{
LSTRKEY
(
"CPHA_HIGH"
),
LNUMVAL
(
PLATFORM_SPI_CPHA_HIGH
)
},
{
LSTRKEY
(
"CPOL_LOW"
),
LNUMVAL
(
PLATFORM_SPI_CPOL_LOW
)
},
{
LSTRKEY
(
"CPOL_HIGH"
),
LNUMVAL
(
PLATFORM_SPI_CPOL_HIGH
)
},
{
LSTRKEY
(
"DATABITS_8"
),
LNUMVAL
(
8
)
},
{
LSTRKEY
(
"HALFDUPLEX"
),
LNUMVAL
(
SPI_HALFDUPLEX
)
},
{
LSTRKEY
(
"FULLDUPLEX"
),
LNUMVAL
(
SPI_FULLDUPLEX
)
},
{
LNILKEY
,
LNILVAL
}
};
LUALIB_API
int
luaopen_spi
(
lua_State
*
L
)
{
#if LUA_OPTIMIZE_MEMORY > 0
return
0
;
#else // #if LUA_OPTIMIZE_MEMORY > 0
luaL_register
(
L
,
AUXLIB_SPI
,
spi_map
);
// Add constants
MOD_REG_NUMBER
(
L
,
"MASTER"
,
PLATFORM_SPI_MASTER
);
MOD_REG_NUMBER
(
L
,
"SLAVE"
,
PLATFORM_SPI_SLAVE
);
MOD_REG_NUMBER
(
L
,
"CPHA_LOW"
,
PLATFORM_SPI_CPHA_LOW
);
MOD_REG_NUMBER
(
L
,
"CPHA_HIGH"
,
PLATFORM_SPI_CPHA_HIGH
);
MOD_REG_NUMBER
(
L
,
"CPOL_LOW"
,
PLATFORM_SPI_CPOL_LOW
);
MOD_REG_NUMBER
(
L
,
"CPOL_HIGH"
,
PLATFORM_SPI_CPOL_HIGH
);
MOD_REG_NUMBER
(
L
,
"DATABITS_8"
,
8
);
MOD_REG_NUMBER
(
L
,
"HALFDUPLEX"
,
SPI_HALFDUPLEX
);
MOD_REG_NUMBER
(
L
,
"FULLDUPLEX"
,
SPI_FULLDUPLEX
);
return
1
;
#endif // #if LUA_OPTIMIZE_MEMORY > 0
}
NODEMCU_MODULE
(
SPI
,
"spi"
,
spi_map
,
NULL
);
app/modules/tmr.c
View file @
1462d00e
...
...
@@ -48,14 +48,9 @@ tmr.softwd(int)
the timer units are seconds
*/
#define MIN_OPT_LEVEL 2
#include "lualib.h"
#include "module.h"
#include "lauxlib.h"
#include "platform.h"
#include "auxmods.h"
#include "lrotable.h"
#include "lrodefs.h"
#include "c_types.h"
#define TIMER_MODE_OFF 3
...
...
@@ -311,28 +306,26 @@ static int tmr_softwd( lua_State* L ){
// Module function map
const
LUA_REG_TYPE
tmr_map
[]
=
{
{
LSTRKEY
(
"delay"
),
LFUNCVAL
(
tmr_delay
)
},
{
LSTRKEY
(
"now"
),
LFUNCVAL
(
tmr_now
)
},
{
LSTRKEY
(
"wdclr"
),
LFUNCVAL
(
tmr_wdclr
)
},
{
LSTRKEY
(
"softwd"
),
LFUNCVAL
(
tmr_softwd
)
},
{
LSTRKEY
(
"time"
),
LFUNCVAL
(
tmr_time
)
},
{
LSTRKEY
(
"register"
),
LFUNCVAL
(
tmr_register
)
},
{
LSTRKEY
(
"alarm"
),
LFUNCVAL
(
tmr_alarm
)
},
{
LSTRKEY
(
"start"
),
LFUNCVAL
(
tmr_start
)
},
{
LSTRKEY
(
"stop"
),
LFUNCVAL
(
tmr_stop
)
},
{
LSTRKEY
(
"unregister"
),
LFUNCVAL
(
tmr_unregister
)
},
{
LSTRKEY
(
"state"
),
LFUNCVAL
(
tmr_state
)
},
{
LSTRKEY
(
"interval"
),
LFUNCVAL
(
tmr_interval
)
},
#if LUA_OPTIMIZE_MEMORY > 0
static
const
LUA_REG_TYPE
tmr_map
[]
=
{
{
LSTRKEY
(
"delay"
),
LFUNCVAL
(
tmr_delay
)
},
{
LSTRKEY
(
"now"
),
LFUNCVAL
(
tmr_now
)
},
{
LSTRKEY
(
"wdclr"
),
LFUNCVAL
(
tmr_wdclr
)
},
{
LSTRKEY
(
"softwd"
),
LFUNCVAL
(
tmr_softwd
)
},
{
LSTRKEY
(
"time"
),
LFUNCVAL
(
tmr_time
)
},
{
LSTRKEY
(
"register"
),
LFUNCVAL
(
tmr_register
)
},
{
LSTRKEY
(
"alarm"
),
LFUNCVAL
(
tmr_alarm
)
},
{
LSTRKEY
(
"start"
),
LFUNCVAL
(
tmr_start
)
},
{
LSTRKEY
(
"stop"
),
LFUNCVAL
(
tmr_stop
)
},
{
LSTRKEY
(
"unregister"
),
LFUNCVAL
(
tmr_unregister
)
},
{
LSTRKEY
(
"state"
),
LFUNCVAL
(
tmr_state
)
},
{
LSTRKEY
(
"interval"
),
LFUNCVAL
(
tmr_interval
)
},
{
LSTRKEY
(
"ALARM_SINGLE"
),
LNUMVAL
(
TIMER_MODE_SINGLE
)
},
{
LSTRKEY
(
"ALARM_SEMI"
),
LNUMVAL
(
TIMER_MODE_SEMI
)
},
{
LSTRKEY
(
"ALARM_AUTO"
),
LNUMVAL
(
TIMER_MODE_AUTO
)
},
#endif
{
LSTRKEY
(
"ALARM_SEMI"
),
LNUMVAL
(
TIMER_MODE_SEMI
)
},
{
LSTRKEY
(
"ALARM_AUTO"
),
LNUMVAL
(
TIMER_MODE_AUTO
)
},
{
LNILKEY
,
LNILVAL
}
};
LUALIB_API
int
luaopen_tmr
(
lua_State
*
L
){
int
luaopen_tmr
(
lua_State
*
L
){
int
i
;
for
(
i
=
0
;
i
<
NUM_TMR
;
i
++
){
alarm_timers
[
i
].
lua_ref
=
LUA_NOREF
;
...
...
@@ -343,17 +336,7 @@ LUALIB_API int luaopen_tmr( lua_State *L ){
ets_timer_disarm
(
&
rtc_timer
);
ets_timer_setfn
(
&
rtc_timer
,
rtc_callback
,
NULL
);
ets_timer_arm_new
(
&
rtc_timer
,
1000
,
1
,
1
);
#if LUA_OPTIMIZE_MEMORY > 0
return
0
;
#else
luaL_register
(
L
,
AUXLIB_TMR
,
tmr_map
);
lua_pushvalue
(
L
,
-
1
);
lua_setmetatable
(
L
,
-
2
);
MOD_REG_NUMBER
(
L
,
"ALARM_SINGLE"
,
TIMER_MODE_SINGLE
);
MOD_REG_NUMBER
(
L
,
"ALARM_SEMI"
,
TIMER_MODE_SEMI
);
MOD_REG_NUMBER
(
L
,
"ALARM_AUTO"
,
TIMER_MODE_AUTO
);
return
1
;
#endif
return
0
;
}
NODEMCU_MODULE
(
TMR
,
"tmr"
,
tmr_map
,
luaopen_tmr
);
app/modules/tsl2561.c
View file @
1462d00e
...
...
@@ -4,11 +4,9 @@
* Created on: Aug 21, 2015
* Author: Michael Lucas (Aeprox @github)
*/
#include "
lualib
.h"
#include "
module
.h"
#include "lauxlib.h"
#include "platform.h"
#include "auxmods.h"
#include "lrotable.h"
#include "../tsl2561/tsl2561.h"
static
uint16_t
ch0
;
...
...
@@ -102,38 +100,28 @@ static int ICACHE_FLASH_ATTR tsl2561_lua_getchannels(lua_State* L) {
return
3
;
}
#define MIN_OPT_LEVEL 2
#include "lrodefs.h"
const
LUA_REG_TYPE
tsl2561_map
[]
=
{
{
LSTRKEY
(
"settiming"
),
LFUNCVAL
(
tsl2561_lua_settiming
)},
{
LSTRKEY
(
"getlux"
),
LFUNCVAL
(
tsl2561_lua_calclux
)},
{
LSTRKEY
(
"getrawchannels"
),
LFUNCVAL
(
tsl2561_lua_getchannels
)},
{
LSTRKEY
(
"init"
),
LFUNCVAL
(
tsl2561_init
)},
{
LSTRKEY
(
"TSL2561_OK"
),
LNUMVAL
(
TSL2561_ERROR_OK
)},
// Module function map
static
const
LUA_REG_TYPE
tsl2561_map
[]
=
{
{
LSTRKEY
(
"settiming"
),
LFUNCVAL
(
tsl2561_lua_settiming
)},
{
LSTRKEY
(
"getlux"
),
LFUNCVAL
(
tsl2561_lua_calclux
)},
{
LSTRKEY
(
"getrawchannels"
),
LFUNCVAL
(
tsl2561_lua_getchannels
)},
{
LSTRKEY
(
"init"
),
LFUNCVAL
(
tsl2561_init
)},
{
LSTRKEY
(
"TSL2561_OK"
),
LNUMVAL
(
TSL2561_ERROR_OK
)},
{
LSTRKEY
(
"TSL2561_ERROR_I2CINIT"
),
LNUMVAL
(
TSL2561_ERROR_I2CINIT
)},
{
LSTRKEY
(
"TSL2561_ERROR_I2CBUSY"
),
LNUMVAL
(
TSL2561_ERROR_I2CBUSY
)},
{
LSTRKEY
(
"TSL2561_ERROR_NOINIT"
),
LNUMVAL
(
TSL2561_ERROR_NOINIT
)},
{
LSTRKEY
(
"TSL2561_ERROR_LAST"
),
LNUMVAL
(
TSL2561_ERROR_LAST
)},
{
LSTRKEY
(
"INTEGRATIONTIME_13MS"
),
LNUMVAL
(
TSL2561_INTEGRATIONTIME_13MS
)},
{
LSTRKEY
(
"TSL2561_ERROR_NOINIT"
),
LNUMVAL
(
TSL2561_ERROR_NOINIT
)},
{
LSTRKEY
(
"TSL2561_ERROR_LAST"
),
LNUMVAL
(
TSL2561_ERROR_LAST
)},
{
LSTRKEY
(
"INTEGRATIONTIME_13MS"
),
LNUMVAL
(
TSL2561_INTEGRATIONTIME_13MS
)},
{
LSTRKEY
(
"INTEGRATIONTIME_101MS"
),
LNUMVAL
(
TSL2561_INTEGRATIONTIME_101MS
)},
{
LSTRKEY
(
"INTEGRATIONTIME_402MS"
),
LNUMVAL
(
TSL2561_INTEGRATIONTIME_402MS
)},
{
LSTRKEY
(
"GAIN_1X"
),
LNUMVAL
(
TSL2561_GAIN_1X
)},
{
LSTRKEY
(
"GAIN_16X"
),
LNUMVAL
(
TSL2561_GAIN_16X
)},
{
LSTRKEY
(
"PACKAGE_CS"
),
LNUMVAL
(
TSL2561_PACKAGE_CS
)},
{
LSTRKEY
(
"PACKAGE_T_FN_CL"
),
LNUMVAL
(
TSL2561_PACKAGE_T_FN_CL
)},
{
LSTRKEY
(
"ADDRESS_GND"
),
LNUMVAL
(
TSL2561_ADDRESS_GND
)},
{
LSTRKEY
(
"ADDRESS_FLOAT"
),
LNUMVAL
(
TSL2561_ADDRESS_FLOAT
)},
{
LSTRKEY
(
"ADDRESS_VDD"
),
LNUMVAL
(
TSL2561_ADDRESS_VDD
)},
{
LSTRKEY
(
"GAIN_1X"
),
LNUMVAL
(
TSL2561_GAIN_1X
)},
{
LSTRKEY
(
"GAIN_16X"
),
LNUMVAL
(
TSL2561_GAIN_16X
)},
{
LSTRKEY
(
"PACKAGE_CS"
),
LNUMVAL
(
TSL2561_PACKAGE_CS
)},
{
LSTRKEY
(
"PACKAGE_T_FN_CL"
),
LNUMVAL
(
TSL2561_PACKAGE_T_FN_CL
)},
{
LSTRKEY
(
"ADDRESS_GND"
),
LNUMVAL
(
TSL2561_ADDRESS_GND
)},
{
LSTRKEY
(
"ADDRESS_FLOAT"
),
LNUMVAL
(
TSL2561_ADDRESS_FLOAT
)},
{
LSTRKEY
(
"ADDRESS_VDD"
),
LNUMVAL
(
TSL2561_ADDRESS_VDD
)},
{
LNILKEY
,
LNILVAL
}
};
LUALIB_API
int
luaopen_tsl2561
(
lua_State
*
L
)
{
LREGISTER
(
L
,
"tsl2561"
,
tsl2561_map
);
return
1
;
}
NODEMCU_MODULE
(
TSL2561
,
"tsl2561"
,
tsl2561_map
,
NULL
);
Prev
1
2
3
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment