LUALIB_API int luaopen_pio( lua_State *L ) { #if LUA_OPTIMIZE_MEMORY > 0 return 0; #else // #if LUA_OPTIMIZE_MEMORY > 0 luaL_register( L, AUXLIB_PIO, pio_map ); // Set it as its own metatable lua_pushvalue( L, -1 ); lua_setmetatable( L, -2 ); // Set constants for direction/pullups MOD_REG_NUMBER( L, "INPUT", PIO_DIR_INPUT ); MOD_REG_NUMBER( L, "OUTPUT", PIO_DIR_OUTPUT ); MOD_REG_NUMBER( L, "PULLUP", PLATFORM_IO_PIN_PULLUP ); MOD_REG_NUMBER( L, "PULLDOWN", PLATFORM_IO_PIN_PULLDOWN ); MOD_REG_NUMBER( L, "NOPULL", PLATFORM_IO_PIN_NOPULL ); // Setup the new tables (pin and port) inside pio lua_newtable( L ); luaL_register( L, NULL, pio_pin_map ); lua_setfield( L, -2, "pin" ); lua_newtable( L ); luaL_register( L, NULL, pio_port_map ); lua_setfield( L, -2, "port" ); return 1; #endif // #if LUA_OPTIMIZE_MEMORY > 0 }
LUALIB_API 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 #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 return 1; #endif // #if LUA_OPTIMIZE_MEMORY > 0 }
LUALIB_API int luaopen_elua( lua_State *L ) { #if LUA_OPTIMIZE_MEMORY > 0 return 0; #else luaL_register( L, AUXLIB_ELUA, elua_map ); MOD_REG_NUMBER( L, "EGC_NOT_ACTIVE", EGC_NOT_ACTIVE ); MOD_REG_NUMBER( L, "EGC_ON_ALLOC_FAILURE", EGC_ON_ALLOC_FAILURE ); MOD_REG_NUMBER( L, "EGC_ON_MEM_LIMIT", EGC_ON_MEM_LIMIT ); MOD_REG_NUMBER( L, "EGC_ALWAYS", EGC_ALWAYS ); return 1; #endif }
LUALIB_API int luaopen_wifi( lua_State *L ) { #if LUA_OPTIMIZE_MEMORY > 0 return 0; #else // #if LUA_OPTIMIZE_MEMORY > 0 luaL_register( L, AUXLIB_WIFI, wifi_map ); // Set it as its own metatable lua_pushvalue( L, -1 ); lua_setmetatable( L, -2 ); // Module constants // MOD_REG_NUMBER( L, "NULLMODE", NULL_MODE ); MOD_REG_NUMBER( L, "STATION", STATION_MODE ); MOD_REG_NUMBER( L, "SOFTAP", SOFTAP_MODE ); MOD_REG_NUMBER( L, "STATIONAP", STATIONAP_MODE ); MOD_REG_NUMBER( L, "NONE_SLEEP", NONE_SLEEP_T ); MOD_REG_NUMBER( L, "LIGHT_SLEEP", LIGHT_SLEEP_T ); MOD_REG_NUMBER( L, "MODEM_SLEEP", MODEM_SLEEP_T ); MOD_REG_NUMBER( L, "OPEN", AUTH_OPEN ); // MOD_REG_NUMBER( L, "WEP", AUTH_WEP ); MOD_REG_NUMBER( L, "WPA_PSK", AUTH_WPA_PSK ); MOD_REG_NUMBER( L, "WPA2_PSK", AUTH_WPA2_PSK ); MOD_REG_NUMBER( L, "WPA_WPA2_PSK", AUTH_WPA_WPA2_PSK ); // MOD_REG_NUMBER( L, "STA_IDLE", STATION_IDLE ); // MOD_REG_NUMBER( L, "STA_CONNECTING", STATION_CONNECTING ); // MOD_REG_NUMBER( L, "STA_WRONGPWD", STATION_WRONG_PASSWORD ); // MOD_REG_NUMBER( L, "STA_APNOTFOUND", STATION_NO_AP_FOUND ); // MOD_REG_NUMBER( L, "STA_FAIL", STATION_CONNECT_FAIL ); // MOD_REG_NUMBER( L, "STA_GOTIP", STATION_GOT_IP ); // Setup the new tables (station and ap) inside wifi lua_newtable( L ); luaL_register( L, NULL, wifi_station_map ); lua_setfield( L, -2, "sta" ); lua_newtable( L ); luaL_register( L, NULL, wifi_ap_map ); lua_setfield( L, -2, "ap" ); // Setup the new table (dhcp) inside ap lua_newtable( L ); luaL_register( L, NULL, wifi_ap_dhcp_map ); lua_setfield( L, -1, "dhcp" ); return 1; #endif // #if LUA_OPTIMIZE_MEMORY > 0 }
LUALIB_API int luaopen_can( lua_State *L ) { #if LUA_OPTIMIZE_MEMORY > 0 return 0; #else // #if LUA_OPTIMIZE_MEMORY > 0 luaL_register( L, AUXLIB_CAN, can_map ); // Module constants MOD_REG_NUMBER( L, "ID_STD", ELUA_CAN_ID_STD ); MOD_REG_NUMBER( L, "ID_EXT", ELUA_CAN_ID_EXT ); return 1; #endif // #if LUA_OPTIMIZE_MEMORY > 0 }
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 uart.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 }
LUALIB_API int luaopen_tmr( lua_State *L ) { #if LUA_OPTIMIZE_MEMORY > 0 return 0; #else // #if LUA_OPTIMIZE_MEMORY > 0 luaL_register( L, AUXLIB_TMR, tmr_map ); #if VTMR_NUM_TIMERS > 0 // Set this table as its own metatable lua_pushvalue( L, -1 ); lua_setmetatable( L, -2 ); #endif // #if VTMR_NUM_TIMERS > 0 MOD_REG_NUMBER( L, "SYS_TIMER", PLATFORM_TIMER_SYS_ID ); #ifdef BUILD_LUA_INT_HANDLERS MOD_REG_NUMBER( L, "INT_ONESHOT", PLATFORM_TIMER_INT_ONESHOT ); MOD_REG_NUMBER( L, "INT_CYCLIC", PLATFORM_TIMER_INT_CYCLIC ); #endif //#ifdef BUILD_LUA_INT_HANDLERS return 1; #endif // #if LUA_OPTIMIZE_MEMORY > 0 }
LUALIB_API int luaopen_net( lua_State *L ) { #if LUA_OPTIMIZE_MEMORY > 0 return 0; #else // #if LUA_OPTIMIZE_MEMORY > 0 luaL_register( L, AUXLIB_NET, net_map ); // Module constants MOD_REG_NUMBER( L, "SOCK_STREAM", ELUA_NET_SOCK_STREAM ); MOD_REG_NUMBER( L, "SOCK_DGRAM", ELUA_NET_SOCK_DGRAM ); MOD_REG_NUMBER( L, "ERR_OK", ELUA_NET_ERR_OK ); MOD_REG_NUMBER( L, "ERR_TIMEDOUT", ELUA_NET_ERR_TIMEDOUT ); MOD_REG_NUMBER( L, "ERR_CLOSED", ELUA_NET_ERR_CLOSED ); MOD_REG_NUMBER( L, "ERR_ABORTED", ELUA_NET_ERR_ABORTED ); MOD_REG_NUMBER( L, "ERR_OVERFLOW", ELUA_NET_ERR_OVERFLOW ); MOD_REG_NUMBER( L, "NO_TIMEOUT", 0 ); MOD_REG_NUMBER( L, "INF_TIMEOUT", PLATFORM_TIMER_INF_TIMEOUT ); return 1; #endif // #if LUA_OPTIMIZE_MEMORY > 0 }
LUALIB_API int luaopen_mbed_pio( lua_State *L ) { #if LUA_OPTIMIZE_MEMORY > 0 return 0; #else luaL_register( L, PS_LIB_TABLE_NAME, mbed_pio_map ); MOD_REG_NUMBER( L, "RES_PULLUP", PINSEL_PINMODE_PULLUP ); MOD_REG_NUMBER( L, "RES_TRISTATE", PINSEL_PINMODE_TRISTATE ); MOD_REG_NUMBER( L, "RES_PULLDOWN", PINSEL_PINMODE_PULLDOWN ); MOD_REG_NUMBER( L, "FUNCTION_0", PINSEL_FUNC_0 ); MOD_REG_NUMBER( L, "FUNCTION_1", PINSEL_FUNC_1 ); MOD_REG_NUMBER( L, "FUNCTION_2", PINSEL_FUNC_2 ); MOD_REG_NUMBER( L, "FUNCTION_3", PINSEL_FUNC_3 ); MOD_REG_NUMBER( L, "MODE_DEFAULT", PINSEL_PINMODE_NORMAL ); MOD_REG_NUMBER( L, "MODE_OD", PINSEL_PINMODE_OPENDRAIN ); // Set it as its own metatable lua_pushvalue( L, -1 ); lua_setmetatable( L, -2 ); return 1; #endif }
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 ); // Add the stop bits and parity constants (for uart.setup) 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 ); MOD_REG_NUMBER( L, "STOP_1", PLATFORM_UART_STOPBITS_1 ); MOD_REG_NUMBER( L, "STOP_1_5", PLATFORM_UART_STOPBITS_1_5 ); MOD_REG_NUMBER( L, "STOP_2", PLATFORM_UART_STOPBITS_2 ); // Add the "none" and "infinite" constant used in recv() MOD_REG_NUMBER( L, "NO_TIMEOUT", 0 ); MOD_REG_NUMBER( L, "INF_TIMEOUT", PLATFORM_UART_INFINITE_TIMEOUT ); return 1; #endif // #if LUA_OPTIMIZE_MEMORY > 0 }
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 ); MOD_REG_NUMBER( L, "PAR_EVEN", PLATFORM_UART_PARITY_MARK ); MOD_REG_NUMBER( L, "PAR_EVEN", PLATFORM_UART_PARITY_SPACE ); MOD_REG_NUMBER( L, "STOP_1", PLATFORM_UART_STOPBITS_1 ); MOD_REG_NUMBER( L, "STOP_1_5", PLATFORM_UART_STOPBITS_1_5 ); MOD_REG_NUMBER( L, "STOP_2", PLATFORM_UART_STOPBITS_2 ); MOD_REG_NUMBER( L, "NO_TIMEOUT", 0 ); MOD_REG_NUMBER( L, "INF_TIMEOUT", UART_INFINITE_TIMEOUT ); MOD_REG_NUMBER( L, "FLOW_NONE", PLATFORM_UART_FLOW_NONE ); MOD_REG_NUMBER( L, "FLOW_RTS", PLATFORM_UART_FLOW_RTS ); MOD_REG_NUMBER( L, "FLOW_CTS", PLATFORM_UART_FLOW_CTS ); return 1; #endif // #if LUA_OPTIMIZE_MEMORY > 0 }