Beispiel #1
0
const LUA_REG_TYPE tmr_map[] = 
{
  { LSTRKEY( "delay" ), LFUNCVAL( tmr_delay ) },
  { LSTRKEY( "read" ), LFUNCVAL( tmr_read ) },
  { LSTRKEY( "start" ), LFUNCVAL( tmr_start ) },
  { LSTRKEY( "gettimediff" ), LFUNCVAL( tmr_gettimediff ) },
  { LSTRKEY( "getdiffnow" ), LFUNCVAL( tmr_getdiffnow ) },
  { LSTRKEY( "getmindelay" ), LFUNCVAL( tmr_getmindelay ) },
  { LSTRKEY( "getmaxdelay" ), LFUNCVAL( tmr_getmaxdelay ) },
  { LSTRKEY( "setclock" ), LFUNCVAL( tmr_setclock ) },
  { LSTRKEY( "getclock" ), LFUNCVAL( tmr_getclock ) },
#ifdef BUILD_LUA_INT_HANDLERS
  { LSTRKEY( "set_match_int" ), LFUNCVAL( tmr_set_match_int ) },
#endif  
#if LUA_OPTIMIZE_MEMORY > 0 && VTMR_NUM_TIMERS > 0
  { LSTRKEY( "__metatable" ), LROVAL( tmr_map ) },
#endif
#if VTMR_NUM_TIMERS > 0  
  { LSTRKEY( "__index" ), LFUNCVAL( tmr_mt_index ) },
#endif  
#if LUA_OPTIMIZE_MEMORY > 0
  { LSTRKEY( "SYS_TIMER" ), LNUMVAL( PLATFORM_TIMER_SYS_ID ) },
#endif
#if LUA_OPTIMIZE_MEMORY > 0 && defined( BUILD_LUA_INT_HANDLERS )
  { LSTRKEY( "INT_ONESHOT" ), LNUMVAL( PLATFORM_TIMER_INT_ONESHOT ) },
  { LSTRKEY( "INT_CYCLIC" ), LNUMVAL( PLATFORM_TIMER_INT_CYCLIC ) },
#endif
  { LNILKEY, LNILVAL }
};

LUALIB_API int luaopen_tmr( lua_State *L )
Beispiel #2
0
  { LSTRKEY( "setdir" ), LFUNCVAL( pio_port_setdir ) },
  { LSTRKEY( "output" ), LFUNCVAL( pio_port_output ) },
  { LSTRKEY( "input" ), LFUNCVAL( pio_port_input ) },
  { LSTRKEY( "setpull" ), LFUNCVAL( pio_port_setpull ) },
  { LSTRKEY( "setval" ), LFUNCVAL( pio_port_setval ) },
  { LSTRKEY( "sethigh" ), LFUNCVAL( pio_port_sethigh ) },
  { LSTRKEY( "setlow" ), LFUNCVAL( pio_port_setlow ) },
  { LSTRKEY( "getval" ), LFUNCVAL( pio_port_getval ) },
  { LNILKEY, LNILVAL }
};

const LUA_REG_TYPE pio_map[] =
{
  { LSTRKEY( "decode" ), LFUNCVAL( pio_decode ) },  
#if LUA_OPTIMIZE_MEMORY > 0
  { LSTRKEY( "pin" ), LROVAL( pio_pin_map ) },
  { LSTRKEY( "port" ), LROVAL( pio_port_map ) },
  { LSTRKEY( "INPUT" ), LNUMVAL( PIO_DIR_INPUT ) },
  { LSTRKEY( "OUTPUT" ), LNUMVAL( PIO_DIR_OUTPUT ) },
  { LSTRKEY( "PULLUP" ), LNUMVAL( PLATFORM_IO_PIN_PULLUP ) },
  { LSTRKEY( "PULLDOWN" ), LNUMVAL( PLATFORM_IO_PIN_PULLDOWN ) },
  { LSTRKEY( "NOPULL" ), LNUMVAL( PLATFORM_IO_PIN_NOPULL ) },
  { LSTRKEY( "__metatable" ), LROVAL( pio_map ) },
#endif
  { LSTRKEY( "__index" ), LFUNCVAL( pio_mt_index  ) },
  { LNILKEY, LNILVAL }
};

LUALIB_API int luaopen_pio( lua_State *L )
{
#if LUA_OPTIMIZE_MEMORY > 0
Beispiel #3
0
#undef MIN_OPT_LEVEL
#define MIN_OPT_LEVEL 1
#include "lrodefs.h"
const LUA_REG_TYPE flib[] = {
    {LSTRKEY("close"), LFUNCVAL(io_close)},
    {LSTRKEY("flush"), LFUNCVAL(f_flush)},
    {LSTRKEY("lines"), LFUNCVAL(f_lines)},
    {LSTRKEY("read"), LFUNCVAL(f_read)},
    {LSTRKEY("seek"), LFUNCVAL(f_seek)},
    {LSTRKEY("setvbuf"), LFUNCVAL(f_setvbuf)},
    {LSTRKEY("write"), LFUNCVAL(f_write)},
    {LSTRKEY("__gc"), LFUNCVAL(io_gc)},
    {LSTRKEY("__tostring"), LFUNCVAL(io_tostring)},
#if LUA_OPTIMIZE_MEMORY > 0
    {LSTRKEY("__index"), LROVAL(flib)},
#endif
    {LNILKEY, LNILVAL}
};

static void createmeta (lua_State *L) {
#if LUA_OPTIMIZE_MEMORY == 0
    luaL_newmetatable(L, LUA_FILEHANDLE);  /* create metatable for file handles */
    lua_pushvalue(L, -1);  /* push metatable */
    lua_setfield(L, -2, "__index");  /* metatable.__index = metatable */
    luaL_register(L, NULL, flib);  /* file methods */
#else
    luaL_rometatable(L, LUA_FILEHANDLE, (void *)flib); /* create metatable for file handles */
#endif
}
Beispiel #4
0
  if( sz == -1 )
    return 0;
  else
  {
    lua_pushinteger( L, sz );
    return 1;
  }
}

// Module function map
#define MIN_OPT_LEVEL 2
#include "lrodefs.h" 
const LUA_REG_TYPE mbed_pio_map[] =
{
#if LUA_OPTIMIZE_MEMORY > 0
  { LSTRKEY( "__metatable" ), LROVAL( mbed_pio_map ) },
  { LSTRKEY(  "RES_PULLUP" ), LNUMVAL( PINSEL_PINMODE_PULLUP )},
  { LSTRKEY(  "RES_TRISTATE" ), LNUMVAL( PINSEL_PINMODE_TRISTATE )},
  { LSTRKEY(  "RES_PULLDOWN" ), LNUMVAL( PINSEL_PINMODE_PULLDOWN )},
  { LSTRKEY(  "FUNCTION_0" ), LNUMVAL( PINSEL_FUNC_0 )},
  { LSTRKEY(  "FUNCTION_1" ), LNUMVAL( PINSEL_FUNC_1 )},
  { LSTRKEY(  "FUNCTION_2" ), LNUMVAL( PINSEL_FUNC_2 )},
  { LSTRKEY(  "FUNCTION_3" ), LNUMVAL( PINSEL_FUNC_3 )},
  { LSTRKEY(  "MODE_DEFAULT" ), LNUMVAL( PINSEL_PINMODE_NORMAL )},
  { LSTRKEY(  "MODE_OD" ), LNUMVAL( PINSEL_PINMODE_OPENDRAIN )},
#endif
  { LSTRKEY( "configpin" ),  LFUNCVAL( configpin ) },
  { LSTRKEY( "__index" ), LFUNCVAL( mbed_pio_mt_index ) },
  { LNILKEY, LNILVAL }
};
Beispiel #5
0
    { LSTRKEY( "getMrgn" ),      LFUNCVAL( llora_get_Mrgn ) }, 
    { LSTRKEY( "getGwNb" ),      LFUNCVAL( llora_nothing ) }, 
    { LSTRKEY( "getStatus" ),    LFUNCVAL( llora_nothing ) }, 
    { LSTRKEY( "getCha" ),       LFUNCVAL( llora_nothing ) }, 
    { LSTRKEY( "join" ),         LFUNCVAL( llora_join ) }, 
    { LSTRKEY( "tx" ),           LFUNCVAL( llora_tx ) },
    { LSTRKEY( "whenReceived" ), LFUNCVAL( llora_rx ) },
	
	// Constant definitions
    { LSTRKEY( "BAND868" ),		 LINTVAL( 868 ) },
    { LSTRKEY( "BAND433" ), 	 LINTVAL( 433 ) },
    { LSTRKEY( "OTAA" ), 		 LINTVAL( 1 ) },
    { LSTRKEY( "ABP" ), 		 LINTVAL( 2 ) },

	// Error definitions
	{LSTRKEY("error"), 			 LROVAL( lora_error_map )},
	
    {LNILKEY, LNILVAL}
};

int luaopen_lora(lua_State* L) {
#if !LUA_USE_ROTABLE
	luaL_newlib(L, lora_map);
	return 1;
#else
	return 0;
#endif		   
}

LUA_OS_MODULE(LORA, lora, lora_map);
Beispiel #6
0
#if LUA_OPTIMIZE_MEMORY > 0 && defined(LUA_COMPAT_GFIND)
  {LSTRKEY("gfind"), LFUNCVAL(gmatch)},
#else
  {LSTRKEY("gfind"), LFUNCVAL(gfind_nodef)},
#endif
  {LSTRKEY("gmatch"), LFUNCVAL(gmatch)},
  {LSTRKEY("gsub"), LFUNCVAL(str_gsub)},
  {LSTRKEY("len"), LFUNCVAL(str_len)},
  {LSTRKEY("lower"), LFUNCVAL(str_lower)},
  {LSTRKEY("match"), LFUNCVAL(str_match)},
  {LSTRKEY("rep"), LFUNCVAL(str_rep)},
  {LSTRKEY("reverse"), LFUNCVAL(str_reverse)},
  {LSTRKEY("sub"), LFUNCVAL(str_sub)},
  {LSTRKEY("upper"), LFUNCVAL(str_upper)},
#if LUA_OPTIMIZE_MEMORY > 0
  {LSTRKEY("__index"), LROVAL(strlib)},
#endif
  {LNILKEY, LNILVAL}
};


#if LUA_OPTIMIZE_MEMORY != 2
static void createmetatable (lua_State *L) {
  lua_createtable(L, 0, 1);  /* create metatable for strings */
  lua_pushliteral(L, "");  /* dummy string */
  lua_pushvalue(L, -2);
  lua_setmetatable(L, -2);  /* set string metatable */
  lua_pop(L, 1);  /* pop dummy string */
  lua_pushvalue(L, -2);  /* string library... */
  lua_setfield(L, -2, "__index");  /* ...is the __index metamethod */
  lua_pop(L, 1);  /* pop metatable */
Beispiel #7
0
  { LSTRKEY( "heap" ), LFUNCVAL( node_heap ) },
#ifdef DEVKIT_VERSION_0_9
  { LSTRKEY( "key" ), LFUNCVAL( node_key ) },
  { LSTRKEY( "led" ), LFUNCVAL( node_led ) },
#endif
  { LSTRKEY( "input" ), LFUNCVAL( node_input ) },
  { LSTRKEY( "output" ), LFUNCVAL( node_output ) },
// Moved to adc module, use adc.readvdd33()
// { LSTRKEY( "readvdd33" ), LFUNCVAL( node_readvdd33) },
  { LSTRKEY( "compile" ), LFUNCVAL( node_compile) },
  { LSTRKEY( "CPU80MHZ" ), LNUMVAL( CPU80MHZ ) },
  { LSTRKEY( "CPU160MHZ" ), LNUMVAL( CPU160MHZ ) },
  { LSTRKEY( "setcpufreq" ), LFUNCVAL( node_setcpufreq) },
  { LSTRKEY( "bootreason" ), LFUNCVAL( node_bootreason) },
  { LSTRKEY( "restore" ), LFUNCVAL( node_restore) },
#ifdef LUA_OPTIMIZE_DEBUG
  { LSTRKEY( "stripdebug" ), LFUNCVAL( node_stripdebug ) },
#endif
  { LSTRKEY( "egc" ),  LROVAL( node_egc_map ) },
  { LSTRKEY( "task" ), LROVAL( node_task_map ) },
#ifdef DEVELOPMENT_TOOLS
  { LSTRKEY( "osprint" ), LFUNCVAL( node_osprint ) },
#endif

// Combined to dsleep(us, option)
// { LSTRKEY( "dsleepsetoption" ), LFUNCVAL( node_deepsleep_setoption) },
  { LNILKEY, LNILVAL }
};

NODEMCU_MODULE(NODE, "node", node_map, NULL);
Beispiel #8
0
  UDL_FUNC_DECL;
  const char *parg = luaL_checkstring( L, 1 );

  printf( UDL_PTR( "Called with argument '%s'\n" ), parg );
  lua_pushinteger( L, 666 );
  return 1;
}

UDL_MOD_FUNC static int test_meta( lua_State *L )
{
  lua_pushinteger( L, 777 );
  return 1;
}

// Module function map
#define MIN_OPT_LEVEL 2
#include "lrodefs.h"
UDL_MOD_LTRMAP const LUA_REG_TYPE testmod_map[] = 
{
  { LSTRKEY( "testfunc" ), LFUNCVAL( test_func ) },
  { LSTRKEY( "__index" ), LFUNCVAL( test_meta ) },
  { LSTRKEY( "__metatable" ), LROVAL( testmod_map ) },
  { LNILKEY, LNILVAL }
};

UDL_MOD_FUNC int luaopen_testmod( lua_State *L )
{
  return 1;
}

Beispiel #9
0
}
#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
  { LNILKEY, LNILVAL }
};

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( "dns" ), LFUNCVAL ( net_socket_dns ) },
  // { LSTRKEY( "delete" ), LFUNCVAL ( net_socket_delete ) },
  { LSTRKEY( "__gc" ), LFUNCVAL ( net_socket_delete ) },
#if LUA_OPTIMIZE_MEMORY > 0
  { LSTRKEY( "__index" ), LROVAL ( net_socket_map ) },
Beispiel #10
0
  return 1;
}

#pragma mark - Tables

#ifdef TLS_MODULE_PRESENT
extern const LUA_REG_TYPE tls_cert_map[];
#endif

// Module function map
static const LUA_REG_TYPE net_tcpserver_map[] = {
  { LSTRKEY( "listen" ),  LFUNCVAL( net_listen ) },
  { LSTRKEY( "getaddr" ), LFUNCVAL( net_getaddr ) },
  { LSTRKEY( "close" ),   LFUNCVAL( net_close ) },
  { LSTRKEY( "__gc" ),    LFUNCVAL( net_delete ) },
  { LSTRKEY( "__index" ), LROVAL( net_tcpserver_map ) },
  { LNILKEY, LNILVAL }
};

static const LUA_REG_TYPE net_tcpsocket_map[] = {
  { LSTRKEY( "connect" ), LFUNCVAL( net_connect ) },
  { LSTRKEY( "close" ),   LFUNCVAL( net_close ) },
  { LSTRKEY( "on" ),      LFUNCVAL( net_on ) },
  { LSTRKEY( "send" ),    LFUNCVAL( net_send ) },
  { LSTRKEY( "hold" ),    LFUNCVAL( net_hold ) },
  { LSTRKEY( "unhold" ),  LFUNCVAL( net_unhold ) },
  { LSTRKEY( "dns" ),     LFUNCVAL( net_dns ) },
  { LSTRKEY( "ttl" ),     LFUNCVAL( net_ttl ) },
  { LSTRKEY( "getpeer" ), LFUNCVAL( net_getpeer ) },
  { LSTRKEY( "getaddr" ), LFUNCVAL( net_getaddr ) },
  { LSTRKEY( "__gc" ),    LFUNCVAL( net_delete ) },
Beispiel #11
0
{
  { LSTRKEY( "clrscr" ), LFUNCVAL( luaterm_clrscr ) },
  { LSTRKEY( "clreol" ), LFUNCVAL( luaterm_clreol ) },
  { LSTRKEY( "moveto" ), LFUNCVAL( luaterm_moveto ) },
  { LSTRKEY( "moveup" ), LFUNCVAL( luaterm_moveup ) },
  { LSTRKEY( "movedown" ), LFUNCVAL( luaterm_movedown ) },
  { LSTRKEY( "moveleft" ), LFUNCVAL( luaterm_moveleft ) },
  { LSTRKEY( "moveright" ), LFUNCVAL( luaterm_moveright ) },
  { LSTRKEY( "getlines" ), LFUNCVAL( luaterm_getlines ) },
  { LSTRKEY( "getcols" ), LFUNCVAL( luaterm_getcols ) },
  { LSTRKEY( "print" ), LFUNCVAL( luaterm_print ) },
  { LSTRKEY( "getcx" ), LFUNCVAL( luaterm_getcx ) },
  { LSTRKEY( "getcy" ), LFUNCVAL( luaterm_getcy ) },
  { LSTRKEY( "getchar" ), LFUNCVAL( luaterm_getchar ) },
#if LUA_OPTIMIZE_MEMORY > 0
  { LSTRKEY( "__metatable" ), LROVAL( term_map ) },
  { LSTRKEY( "NOWAIT" ), LNUMVAL( TERM_INPUT_DONT_WAIT ) },
  { LSTRKEY( "WAIT" ), LNUMVAL( TERM_INPUT_WAIT ) },
#endif
  { LSTRKEY( "__index" ), LFUNCVAL( term_mt_index ) },
  { LNILKEY, LNILVAL }
};

LUALIB_API int luaopen_term( lua_State* L )
{
#ifdef BUILD_TERM
#if LUA_OPTIMIZE_MEMORY > 0
  return 0;
#else // #if LUA_OPTIMIZE_MEMORY > 0
  // Register methods
  luaL_register( L, AUXLIB_TERM, term_map );  
Beispiel #12
0
const LUA_REG_TYPE cpu_map[] = 
{
  { LSTRKEY( "w32" ), LFUNCVAL( cpu_w32 ) },
  { LSTRKEY( "r32" ), LFUNCVAL( cpu_r32 ) },
  { LSTRKEY( "w16" ), LFUNCVAL( cpu_w16 ) },
  { LSTRKEY( "r16" ), LFUNCVAL( cpu_r16 ) },
  { LSTRKEY( "w8" ), LFUNCVAL( cpu_w8 ) },
  { LSTRKEY( "r8" ), LFUNCVAL( cpu_r8 ) },
  { LSTRKEY( "cli" ), LFUNCVAL( cpu_cli ) },
  { LSTRKEY( "sei" ), LFUNCVAL( cpu_sei ) },
  { LSTRKEY( "clock" ), LFUNCVAL( cpu_clock ) },
#ifdef BUILD_LUA_INT_HANDLERS
  { LSTRKEY( "set_int_handler" ), LFUNCVAL( cpu_set_int_handler ) },
#endif
#if defined( PLATFORM_CPU_CONSTANTS ) && LUA_OPTIMIZE_MEMORY > 0
  { LSTRKEY( "__metatable" ), LROVAL( cpu_map ) },
#endif
#ifdef PLATFORM_CPU_CONSTANTS
  { LSTRKEY( "__index" ), LFUNCVAL( cpu_mt_index ) },
#endif
  { LNILKEY, LNILVAL }
};

LUALIB_API int luaopen_cpu( lua_State *L )
{
#ifdef BUILD_LUA_INT_HANDLERS
  cpu_int_handler_active = 0;
#endif
#if LUA_OPTIMIZE_MEMORY > 0
  return 0;
#else // #if LUA_OPTIMIZE_MEMORY > 0
Beispiel #13
0
  { LSTRKEY( "stop" ), LFUNCVAL ( lwifi_ap_stop ) },
#if LUA_OPTIMIZE_MEMORY > 0
#endif        
  { LNILKEY, LNILVAL }
};
const LUA_REG_TYPE wifi_map[] =
{
  { LSTRKEY( "startap" ), LFUNCVAL( lwifi_startap )},
  { LSTRKEY( "startsta" ), LFUNCVAL( lwifi_startsta )},
  { LSTRKEY( "scan" ), LFUNCVAL( lwifi_scan ) },
  { LSTRKEY( "stop" ), LFUNCVAL( lwifi_stop ) },
  { LSTRKEY( "powersave" ), LFUNCVAL( lwifi_powersave ) },
  //{ LSTRKEY( "poweron" ), LFUNCVAL( lwifi_poweron ) },
  { LSTRKEY( "poweroff" ), LFUNCVAL( lwifi_poweroff ) },
#if LUA_OPTIMIZE_MEMORY > 0
  { LSTRKEY( "sta" ), LROVAL( wifi_station_map ) },
  { LSTRKEY( "ap" ), LROVAL( wifi_ap_map ) },
#endif        
  {LNILKEY, LNILVAL}
};

LUALIB_API int luaopen_wifi(lua_State *L)
{
#if LUA_OPTIMIZE_MEMORY > 0
    return 0;
#else
  luaL_register( L, EXLIB_WIFI, wifi_map );
  // Setup the new tables (station and ap) inside wifi
  lua_newtable( L );
  luaL_register( L, NULL, wifi_station_map );
  lua_setfield( L, -2, "sta" );
Beispiel #14
0
  // Send the buffer
  ws2812_write(buffer->values, buffer->colorsPerLed*buffer->size);

  return 0;
}

static const LUA_REG_TYPE ws2812_buffer_map[] =
{
  { LSTRKEY( "fade" ),  LFUNCVAL( ws2812_buffer_fade )},
  { LSTRKEY( "fill" ),  LFUNCVAL( ws2812_buffer_fill )},
  { LSTRKEY( "get" ),   LFUNCVAL( ws2812_buffer_get )},
  { LSTRKEY( "set" ),   LFUNCVAL( ws2812_buffer_set )},
  { LSTRKEY( "size" ),  LFUNCVAL( ws2812_buffer_size )},
  { LSTRKEY( "write" ), LFUNCVAL( ws2812_buffer_write )},
  { LSTRKEY( "__index" ), LROVAL ( ws2812_buffer_map )},
  { LNILKEY, LNILVAL}
};

static const LUA_REG_TYPE ws2812_map[] =
{
  { LSTRKEY( "write" ), LFUNCVAL( ws2812_writegrb )},
  { LSTRKEY( "newBuffer" ), LFUNCVAL( ws2812_new_buffer )},
  { LSTRKEY( "init" ),     LFUNCVAL( ws2812_init )},
  { LNILKEY, LNILVAL}
};

int luaopen_ws2812(lua_State *L) {
  // TODO: Make sure that the GPIO system is initialized
  luaL_rometatable(L, "ws2812.buffer", (void *)ws2812_buffer_map);  // create metatable for ws2812.buffer
  return 0;
Beispiel #15
0
  { LSTRKEY( "stop" ), LFUNCVAL( wifi_ap_dhcp_stop ) },
  { LNILKEY, LNILVAL }
};

static const LUA_REG_TYPE wifi_ap_map[] =
{
  { LSTRKEY( "config" ), LFUNCVAL( wifi_ap_config ) },
  { LSTRKEY( "getip" ), LFUNCVAL ( wifi_ap_getip ) },
  { LSTRKEY( "setip" ), LFUNCVAL ( wifi_ap_setip ) },
  { LSTRKEY( "getbroadcast" ), LFUNCVAL ( wifi_ap_getbroadcast) },
  { LSTRKEY( "getmac" ), LFUNCVAL ( wifi_ap_getmac ) },
  { LSTRKEY( "setmac" ), LFUNCVAL ( wifi_ap_setmac ) },
  { LSTRKEY( "getclient" ), LFUNCVAL ( wifi_ap_listclient ) },
  { LSTRKEY( "getconfig" ), LFUNCVAL( wifi_ap_getconfig ) },
#if LUA_OPTIMIZE_MEMORY > 0
  { LSTRKEY( "dhcp" ), LROVAL( wifi_ap_dhcp_map ) },

//  { LSTRKEY( "__metatable" ), LROVAL( wifi_ap_map ) },
#endif
  { LNILKEY, LNILVAL }
};

const LUA_REG_TYPE wifi_map[] = 
{
  { LSTRKEY( "setmode" ), LFUNCVAL( wifi_setmode ) },
  { LSTRKEY( "getmode" ), LFUNCVAL( wifi_getmode ) },
  { LSTRKEY( "getchannel" ), LFUNCVAL( wifi_getchannel ) },
  { LSTRKEY( "setphymode" ), LFUNCVAL( wifi_setphymode ) },
  { LSTRKEY( "getphymode" ), LFUNCVAL( wifi_getphymode ) },
  { LSTRKEY( "startsmart" ), LFUNCVAL( wifi_start_smart ) },
  { LSTRKEY( "stopsmart" ), LFUNCVAL( wifi_exit_smart ) },
Beispiel #16
0
    { LSTRKEY( "setFontPosBottom" ),   LFUNCVAL( lucg_setFontPosBottom ) },
    { LSTRKEY( "setFontPosCenter" ),   LFUNCVAL( lucg_setFontPosCenter ) },
    { LSTRKEY( "setFontPosTop" ),      LFUNCVAL( lucg_setFontPosTop ) },
    { LSTRKEY( "setMaxClipRange" ),    LFUNCVAL( lucg_setMaxClipRange ) },
    { LSTRKEY( "setPrintDir" ),        LFUNCVAL( lucg_setPrintDir ) },
    { LSTRKEY( "setPrintPos" ),        LFUNCVAL( lucg_setPrintPos ) },
    { LSTRKEY( "setRotate90" ),        LFUNCVAL( lucg_setRotate90 ) },
    { LSTRKEY( "setRotate180" ),       LFUNCVAL( lucg_setRotate180 ) },
    { LSTRKEY( "setRotate270" ),       LFUNCVAL( lucg_setRotate270 ) },
    { LSTRKEY( "setScale2x2" ),        LFUNCVAL( lucg_setScale2x2 ) },
    { LSTRKEY( "undoClipRange" ),      LFUNCVAL( lucg_setMaxClipRange ) },
    { LSTRKEY( "undoRotate" ),         LFUNCVAL( lucg_undoRotate ) },
    { LSTRKEY( "undoScale" ),          LFUNCVAL( lucg_undoScale ) },

    { LSTRKEY( "__gc" ),  LFUNCVAL( lucg_close_display ) },
    { LSTRKEY( "__index" ), LROVAL ( lucg_display_map ) },
    { LNILKEY, LNILVAL }
};

static const LUA_REG_TYPE lucg_map[] = 
{
#undef UCG_DISPLAY_TABLE_ENTRY
#define UCG_DISPLAY_TABLE_ENTRY(binding, device, extension) { LSTRKEY( #binding ), LFUNCVAL ( lucg_ ##binding ) },
    UCG_DISPLAY_TABLE

    // Register fonts
#undef UCG_FONT_TABLE_ENTRY
#define UCG_FONT_TABLE_ENTRY(font) { LSTRKEY( #font ), LUDATA( (void *)(ucg_ ## font) ) },
    UCG_FONT_TABLE

    // Font modes
Beispiel #17
0
  { LSTRKEY( "PAR_EVEN" ), LNUMVAL( PLATFORM_UART_PARITY_EVEN ) },
  { LSTRKEY( "PAR_ODD" ), LNUMVAL( PLATFORM_UART_PARITY_ODD ) },
  { LSTRKEY( "PAR_NONE" ), LNUMVAL( PLATFORM_UART_PARITY_NONE ) },
  { LSTRKEY( "PAR_MARK" ), LNUMVAL( PLATFORM_UART_PARITY_MARK ) },
  { LSTRKEY( "PAR_SPACE" ), LNUMVAL( PLATFORM_UART_PARITY_SPACE ) },
  { LSTRKEY( "STOP_1" ), LNUMVAL( PLATFORM_UART_STOPBITS_1 ) },
  { LSTRKEY( "STOP_1_5" ), LNUMVAL( PLATFORM_UART_STOPBITS_1_5 ) },
  { LSTRKEY( "STOP_2" ), LNUMVAL( PLATFORM_UART_STOPBITS_2 ) },
  { LSTRKEY( "NO_TIMEOUT" ), LNUMVAL( 0 ) },
  { LSTRKEY( "INF_TIMEOUT" ), LNUMVAL( UART_INFINITE_TIMEOUT ) },
  { LSTRKEY( "FLOW_NONE" ), LNUMVAL( PLATFORM_UART_FLOW_NONE ) },
  { LSTRKEY( "FLOW_RTS" ), LNUMVAL( PLATFORM_UART_FLOW_RTS ) },
  { LSTRKEY( "FLOW_CTS" ), LNUMVAL( PLATFORM_UART_FLOW_CTS ) },
#endif
#if LUA_OPTIMIZE_MEMORY > 0 && ( defined( BUILD_SERMUX ) || defined( BUILD_USB_CDC ) )
  { LSTRKEY( "__metatable" ), LROVAL( uart_map ) },
  { LSTRKEY( "__index" ), LFUNCVAL( uart_mt_index ) },  
#endif
  { LNILKEY, LNILVAL }
};

LUALIB_API int luaopen_uart( lua_State *L )
{
#if LUA_OPTIMIZE_MEMORY > 0
  return 0;
#else // #if LUA_OPTIMIZE_MEMORY > 0
  luaL_register( L, AUXLIB_UART, uart_map );
  
  MOD_REG_NUMBER( L, "PAR_EVEN", PLATFORM_UART_PARITY_EVEN );
  MOD_REG_NUMBER( L, "PAR_ODD", PLATFORM_UART_PARITY_ODD );
  MOD_REG_NUMBER( L, "PAR_NONE", PLATFORM_UART_PARITY_NONE );
Beispiel #18
0
    return 1;
  } else {
    pud->drv = NULL;
    return 0;
  }
}


static const LUA_REG_TYPE pcm_driver_map[] = {
  { LSTRKEY( "play" ),    LFUNCVAL( pcm_drv_play ) },
  { LSTRKEY( "pause" ),   LFUNCVAL( pcm_drv_pause ) },
  { LSTRKEY( "stop" ),    LFUNCVAL( pcm_drv_stop ) },
  { LSTRKEY( "close" ),   LFUNCVAL( pcm_drv_close ) },
  { LSTRKEY( "on" ),      LFUNCVAL( pcm_drv_on ) },
  { LSTRKEY( "__gc" ),    LFUNCVAL( pcm_drv_free ) },
  { LSTRKEY( "__index" ), LROVAL( pcm_driver_map ) },
  { LNILKEY, LNILVAL }
};

// Module function map
static const LUA_REG_TYPE pcm_map[] = {
  { LSTRKEY( "new" ),      LFUNCVAL( pcm_new ) },
  { LSTRKEY( "SD" ),       LNUMVAL( PCM_DRIVER_SD ) },
  { LSTRKEY( "RATE_1K" ),  LNUMVAL( PCM_RATE_1K ) },
  { LSTRKEY( "RATE_2K" ),  LNUMVAL( PCM_RATE_2K ) },
  { LSTRKEY( "RATE_4K" ),  LNUMVAL( PCM_RATE_4K ) },
  { LSTRKEY( "RATE_5K" ),  LNUMVAL( PCM_RATE_5K ) },
  { LSTRKEY( "RATE_8K" ),  LNUMVAL( PCM_RATE_8K ) },
  { LSTRKEY( "RATE_10K" ), LNUMVAL( PCM_RATE_10K ) },
  { LSTRKEY( "RATE_12K" ), LNUMVAL( PCM_RATE_12K ) },
  { LSTRKEY( "RATE_16K" ), LNUMVAL( PCM_RATE_16K ) },
Beispiel #19
0
// Module function map

static const LUA_REG_TYPE tmr_dyn_map[] = {
	{ 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) },
#ifdef TIMER_SUSPEND_ENABLE
	{ LSTRKEY( "suspend" ),      LFUNCVAL( tmr_suspend ) },
  { LSTRKEY( "resume" ),       LFUNCVAL( tmr_resume ) },
#endif
	{ LSTRKEY( "__gc" ),        LFUNCVAL( tmr_unregister ) },
	{ LSTRKEY( "__index" ),     LROVAL( tmr_dyn_map ) },
	{ LNILKEY, LNILVAL }
};

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 ) },
#ifdef TIMER_SUSPEND_ENABLE
  { LSTRKEY( "suspend" ),      LFUNCVAL( tmr_suspend ) },
Beispiel #20
0
// 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
  { LNILKEY, LNILVAL }
};

const LUA_REG_TYPE mqtt_map[] = 
{
  { LSTRKEY( "Client" ), LFUNCVAL ( mqtt_socket_client ) },
#if LUA_OPTIMIZE_MEMORY > 0

  { LSTRKEY( "__metatable" ), LROVAL( mqtt_map ) },
#endif
  { LNILKEY, LNILVAL }
};

LUALIB_API int luaopen_mqtt( lua_State *L )