Unverified Commit 1990f957 authored by Terry Ellison's avatar Terry Ellison Committed by GitHub
Browse files

Updated ROTables 1st tranch (#2742)

Updated ROTables
parent e0f3dbed
...@@ -61,13 +61,13 @@ static int adc_init107( lua_State *L ) ...@@ -61,13 +61,13 @@ static int adc_init107( lua_State *L )
} }
// Module function map // Module function map
static const LUA_REG_TYPE adc_map[] = { LROT_BEGIN(adc)
{ LSTRKEY( "read" ), LFUNCVAL( adc_sample ) }, LROT_FUNCENTRY( read, adc_sample )
{ LSTRKEY( "readvdd33" ), LFUNCVAL( adc_readvdd33 ) }, LROT_FUNCENTRY( readvdd33, adc_readvdd33 )
{ LSTRKEY( "force_init_mode" ), LFUNCVAL( adc_init107 ) }, LROT_FUNCENTRY( force_init_mode, adc_init107 )
{ LSTRKEY( "INIT_ADC" ), LNUMVAL( 0x00 ) }, LROT_NUMENTRY( INIT_ADC, 0x00 )
{ LSTRKEY( "INIT_VDD33" ),LNUMVAL( 0xff ) }, LROT_NUMENTRY( INIT_VDD33, 0xff )
{ LNILKEY, LNILVAL } LROT_END( adc, NULL, 0 )
};
NODEMCU_MODULE(ADC, "adc", adc_map, NULL);
NODEMCU_MODULE(ADC, "adc", adc, NULL);
...@@ -531,71 +531,68 @@ static int ads1115_lua_delete(lua_State *L) { ...@@ -531,71 +531,68 @@ static int ads1115_lua_delete(lua_State *L) {
return 0; return 0;
} }
static const LUA_REG_TYPE ads1115_map[] = { LROT_BEGIN(ads1115)
LROT_FUNCENTRY( ads1115, ads1115_lua_register_1115 )
{ LSTRKEY( "ads1115" ), LFUNCVAL(ads1115_lua_register_1115) }, LROT_FUNCENTRY( ads1015, ads1115_lua_register_1015 )
{ LSTRKEY( "ads1015" ), LFUNCVAL(ads1115_lua_register_1015) }, LROT_FUNCENTRY( reset, ads1115_lua_reset )
{ LSTRKEY( "reset" ), LFUNCVAL(ads1115_lua_reset) }, LROT_NUMENTRY( ADDR_GND, ADS1115_I2C_ADDR_GND )
{ LSTRKEY( "ADDR_GND" ), LNUMVAL(ADS1115_I2C_ADDR_GND) }, LROT_NUMENTRY( ADDR_VDD, ADS1115_I2C_ADDR_VDD )
{ LSTRKEY( "ADDR_VDD" ), LNUMVAL(ADS1115_I2C_ADDR_VDD) }, LROT_NUMENTRY( ADDR_SDA, ADS1115_I2C_ADDR_SDA )
{ LSTRKEY( "ADDR_SDA" ), LNUMVAL(ADS1115_I2C_ADDR_SDA) }, LROT_NUMENTRY( ADDR_SCL, ADS1115_I2C_ADDR_SCL )
{ LSTRKEY( "ADDR_SCL" ), LNUMVAL(ADS1115_I2C_ADDR_SCL) }, LROT_NUMENTRY( SINGLE_SHOT, ADS1115_MODE_SINGLE )
{ LSTRKEY( "SINGLE_SHOT" ), LNUMVAL(ADS1115_MODE_SINGLE) }, LROT_NUMENTRY( CONTINUOUS, ADS1115_MODE_CONTIN )
{ LSTRKEY( "CONTINUOUS" ), LNUMVAL(ADS1115_MODE_CONTIN) }, LROT_NUMENTRY( DIFF_0_1, ADS1115_MUX_DIFF_0_1 )
{ LSTRKEY( "DIFF_0_1" ), LNUMVAL(ADS1115_MUX_DIFF_0_1) }, LROT_NUMENTRY( DIFF_0_3, ADS1115_MUX_DIFF_0_3 )
{ LSTRKEY( "DIFF_0_3" ), LNUMVAL(ADS1115_MUX_DIFF_0_3) }, LROT_NUMENTRY( DIFF_1_3, ADS1115_MUX_DIFF_1_3 )
{ LSTRKEY( "DIFF_1_3" ), LNUMVAL(ADS1115_MUX_DIFF_1_3) }, LROT_NUMENTRY( DIFF_2_3, ADS1115_MUX_DIFF_2_3 )
{ LSTRKEY( "DIFF_2_3" ), LNUMVAL(ADS1115_MUX_DIFF_2_3) }, LROT_NUMENTRY( SINGLE_0, ADS1115_MUX_SINGLE_0 )
{ LSTRKEY( "SINGLE_0" ), LNUMVAL(ADS1115_MUX_SINGLE_0) }, LROT_NUMENTRY( SINGLE_1, ADS1115_MUX_SINGLE_1 )
{ LSTRKEY( "SINGLE_1" ), LNUMVAL(ADS1115_MUX_SINGLE_1) }, LROT_NUMENTRY( SINGLE_2, ADS1115_MUX_SINGLE_2 )
{ LSTRKEY( "SINGLE_2" ), LNUMVAL(ADS1115_MUX_SINGLE_2) }, LROT_NUMENTRY( SINGLE_3, ADS1115_MUX_SINGLE_3 )
{ LSTRKEY( "SINGLE_3" ), LNUMVAL(ADS1115_MUX_SINGLE_3) }, LROT_NUMENTRY( GAIN_6_144V, ADS1115_PGA_6_144V )
{ LSTRKEY( "GAIN_6_144V" ), LNUMVAL(ADS1115_PGA_6_144V) }, LROT_NUMENTRY( GAIN_4_096V, ADS1115_PGA_4_096V )
{ LSTRKEY( "GAIN_4_096V" ), LNUMVAL(ADS1115_PGA_4_096V) }, LROT_NUMENTRY( GAIN_2_048V, ADS1115_PGA_2_048V )
{ LSTRKEY( "GAIN_2_048V" ), LNUMVAL(ADS1115_PGA_2_048V) }, LROT_NUMENTRY( GAIN_1_024V, ADS1115_PGA_1_024V )
{ LSTRKEY( "GAIN_1_024V" ), LNUMVAL(ADS1115_PGA_1_024V) }, LROT_NUMENTRY( GAIN_0_512V, ADS1115_PGA_0_512V )
{ LSTRKEY( "GAIN_0_512V" ), LNUMVAL(ADS1115_PGA_0_512V) }, LROT_NUMENTRY( GAIN_0_256V, ADS1115_PGA_0_256V )
{ LSTRKEY( "GAIN_0_256V" ), LNUMVAL(ADS1115_PGA_0_256V) }, LROT_NUMENTRY( DR_8SPS, ADS1115_DR_8SPS )
{ LSTRKEY( "DR_8SPS" ), LNUMVAL(ADS1115_DR_8SPS) }, LROT_NUMENTRY( DR_16SPS, ADS1115_DR_16SPS )
{ LSTRKEY( "DR_16SPS" ), LNUMVAL(ADS1115_DR_16SPS) }, LROT_NUMENTRY( DR_32SPS, ADS1115_DR_32SPS )
{ LSTRKEY( "DR_32SPS" ), LNUMVAL(ADS1115_DR_32SPS) }, LROT_NUMENTRY( DR_64SPS, ADS1115_DR_64SPS )
{ LSTRKEY( "DR_64SPS" ), LNUMVAL(ADS1115_DR_64SPS) }, LROT_NUMENTRY( DR_128SPS, ADS1115_DR_128SPS )
{ LSTRKEY( "DR_128SPS" ), LNUMVAL(ADS1115_DR_128SPS) }, LROT_NUMENTRY( DR_250SPS, ADS1115_DR_250SPS )
{ LSTRKEY( "DR_250SPS" ), LNUMVAL(ADS1115_DR_250SPS) }, LROT_NUMENTRY( DR_475SPS, ADS1115_DR_475SPS )
{ LSTRKEY( "DR_475SPS" ), LNUMVAL(ADS1115_DR_475SPS) }, LROT_NUMENTRY( DR_490SPS, ADS1115_DR_490SPS )
{ LSTRKEY( "DR_490SPS" ), LNUMVAL(ADS1115_DR_490SPS) }, LROT_NUMENTRY( DR_860SPS, ADS1115_DR_860SPS )
{ LSTRKEY( "DR_860SPS" ), LNUMVAL(ADS1115_DR_860SPS) }, LROT_NUMENTRY( DR_920SPS, ADS1115_DR_920SPS )
{ LSTRKEY( "DR_920SPS" ), LNUMVAL(ADS1115_DR_920SPS) }, LROT_NUMENTRY( DR_1600SPS, ADS1115_DR_1600SPS )
{ LSTRKEY( "DR_1600SPS" ), LNUMVAL(ADS1115_DR_1600SPS) }, LROT_NUMENTRY( DR_2400SPS, ADS1115_DR_2400SPS )
{ LSTRKEY( "DR_2400SPS" ), LNUMVAL(ADS1115_DR_2400SPS) }, LROT_NUMENTRY( DR_3300SPS, ADS1115_DR_3300SPS )
{ LSTRKEY( "DR_3300SPS" ), LNUMVAL(ADS1115_DR_3300SPS) }, LROT_NUMENTRY( CONV_RDY_1, ADS1115_CQUE_1CONV )
{ LSTRKEY( "CONV_RDY_1" ), LNUMVAL(ADS1115_CQUE_1CONV) }, LROT_NUMENTRY( CONV_RDY_2, ADS1115_CQUE_2CONV )
{ LSTRKEY( "CONV_RDY_2" ), LNUMVAL(ADS1115_CQUE_2CONV) }, LROT_NUMENTRY( CONV_RDY_4, ADS1115_CQUE_4CONV )
{ LSTRKEY( "CONV_RDY_4" ), LNUMVAL(ADS1115_CQUE_4CONV) }, LROT_NUMENTRY( COMP_1CONV, ADS1115_CQUE_1CONV )
{ LSTRKEY( "COMP_1CONV" ), LNUMVAL(ADS1115_CQUE_1CONV) }, LROT_NUMENTRY( COMP_2CONV, ADS1115_CQUE_2CONV )
{ LSTRKEY( "COMP_2CONV" ), LNUMVAL(ADS1115_CQUE_2CONV) }, LROT_NUMENTRY( COMP_4CONV, ADS1115_CQUE_4CONV )
{ LSTRKEY( "COMP_4CONV" ), LNUMVAL(ADS1115_CQUE_4CONV) }, LROT_NUMENTRY( CMODE_TRAD, ADS1115_CMODE_TRAD )
{ LSTRKEY( "CMODE_TRAD"), LNUMVAL(ADS1115_CMODE_TRAD) }, LROT_NUMENTRY( CMODE_WINDOW, ADS1115_CMODE_WINDOW )
{ LSTRKEY( "CMODE_WINDOW"), LNUMVAL(ADS1115_CMODE_WINDOW) }, LROT_END(ads1115, NULL, 0 )
{ LNILKEY, LNILVAL }
}; LROT_BEGIN(ads1115_instance)
LROT_FUNCENTRY( setting, ads1115_lua_setting )
static const LUA_REG_TYPE ads1115_instance_map[] = { LROT_FUNCENTRY( startread, ads1115_lua_startread )
{ LSTRKEY( "setting" ), LFUNCVAL(ads1115_lua_setting) }, LROT_FUNCENTRY( read, ads1115_lua_read )
{ LSTRKEY( "startread" ), LFUNCVAL(ads1115_lua_startread) },
{ LSTRKEY( "read" ), LFUNCVAL(ads1115_lua_read) },
#ifdef ADS1115_INCLUDE_TEST_FUNCTION #ifdef ADS1115_INCLUDE_TEST_FUNCTION
{ LSTRKEY( "test_volt_conversion" ), LFUNCVAL(test_volt_conversion)}, LROT_FUNCENTRY( test_volt_conversion, test_volt_conversion )
#endif #endif
{ LSTRKEY( "__index" ), LROVAL(ads1115_instance_map) }, LROT_TABENTRY( "__index", ads1115_instance )
{ LSTRKEY( "__gc" ), LFUNCVAL(ads1115_lua_delete) }, LROT_FUNCENTRY( __gc, ads1115_lua_delete )
{ LNILKEY, LNILVAL } LROT_END(ads1115_instance, ads1115_instance, LROT_MASK_GC_INDEX )
};
int luaopen_ads1115(lua_State *L) { int luaopen_ads1115(lua_State *L) {
luaL_rometatable(L, metatable_name, (void *)ads1115_instance_map); luaL_rometatable(L, metatable_name, LROT_TABLEREF(ads1115_instance));
return 0; return 0;
} }
NODEMCU_MODULE(ADS1115, "ads1115", ads1115_map, luaopen_ads1115); NODEMCU_MODULE(ADS1115, "ads1115", ads1115, luaopen_ads1115);
...@@ -76,10 +76,10 @@ static int adxl345_read(lua_State* L) { ...@@ -76,10 +76,10 @@ static int adxl345_read(lua_State* L) {
return 3; return 3;
} }
static const LUA_REG_TYPE adxl345_map[] = { LROT_BEGIN(adxl345)
{ LSTRKEY( "read" ), LFUNCVAL( adxl345_read )}, LROT_FUNCENTRY( read, adxl345_read )
{ LSTRKEY( "setup" ), LFUNCVAL( adxl345_setup )}, LROT_FUNCENTRY( setup, adxl345_setup )
{ LNILKEY, LNILVAL} LROT_END( adxl345, NULL, 0 )
};
NODEMCU_MODULE(ADXL345, "adxl345", adxl345_map, NULL);
NODEMCU_MODULE(ADXL345, "adxl345", adxl345, NULL);
...@@ -129,10 +129,10 @@ static int am2320_read(lua_State* L) ...@@ -129,10 +129,10 @@ static int am2320_read(lua_State* L)
return 2; return 2;
} }
static const LUA_REG_TYPE am2320_map[] = { LROT_BEGIN(am2320)
{ LSTRKEY( "read" ), LFUNCVAL( am2320_read )}, LROT_FUNCENTRY( read, am2320_read )
{ LSTRKEY( "setup" ), LFUNCVAL( am2320_setup )}, LROT_FUNCENTRY( setup, am2320_setup )
{ LNILKEY, LNILVAL} LROT_END( am2320, NULL, 0 )
};
NODEMCU_MODULE(AM2320, "am2320", am2320_map, NULL);
NODEMCU_MODULE(AM2320, "am2320", am2320, NULL);
...@@ -101,15 +101,14 @@ static int apa102_write(lua_State* L) { ...@@ -101,15 +101,14 @@ static int apa102_write(lua_State* L) {
} }
const LUA_REG_TYPE apa102_map[] = LROT_PUBLIC_BEGIN(apa102)
{ LROT_FUNCENTRY( write, apa102_write )
{ LSTRKEY( "write" ), LFUNCVAL( apa102_write )}, LROT_END( apa102, NULL, 0 )
{ LNILKEY, LNILVAL}
};
LUALIB_API int luaopen_apa102(lua_State *L) { LUALIB_API int luaopen_apa102(lua_State *L) {
LREGISTER(L, "apa102", apa102_map); LREGISTER(L, "apa102", apa102_map);
return 0; return 0;
} }
NODEMCU_MODULE(APA102, "apa102", apa102_map, luaopen_apa102); NODEMCU_MODULE(APA102, "apa102", apa102, luaopen_apa102);
...@@ -119,20 +119,20 @@ static int bit_clear( lua_State* L ) ...@@ -119,20 +119,20 @@ static int bit_clear( lua_State* L )
return 1; return 1;
} }
static const LUA_REG_TYPE bit_map[] = { LROT_BEGIN(bit)
{ LSTRKEY( "bnot" ), LFUNCVAL( bit_bnot ) }, LROT_FUNCENTRY( bnot, bit_bnot )
{ LSTRKEY( "band" ), LFUNCVAL( bit_band ) }, LROT_FUNCENTRY( band, bit_band )
{ LSTRKEY( "bor" ), LFUNCVAL( bit_bor ) }, LROT_FUNCENTRY( bor, bit_bor )
{ LSTRKEY( "bxor" ), LFUNCVAL( bit_bxor ) }, LROT_FUNCENTRY( bxor, bit_bxor )
{ LSTRKEY( "lshift" ), LFUNCVAL( bit_lshift ) }, LROT_FUNCENTRY( lshift, bit_lshift )
{ LSTRKEY( "rshift" ), LFUNCVAL( bit_rshift ) }, LROT_FUNCENTRY( rshift, bit_rshift )
{ LSTRKEY( "arshift" ), LFUNCVAL( bit_arshift ) }, LROT_FUNCENTRY( arshift, bit_arshift )
{ LSTRKEY( "bit" ), LFUNCVAL( bit_bit ) }, LROT_FUNCENTRY( bit, bit_bit )
{ LSTRKEY( "set" ), LFUNCVAL( bit_set ) }, LROT_FUNCENTRY( set, bit_set )
{ LSTRKEY( "clear" ), LFUNCVAL( bit_clear ) }, LROT_FUNCENTRY( clear, bit_clear )
{ LSTRKEY( "isset" ), LFUNCVAL( bit_isset ) }, LROT_FUNCENTRY( isset, bit_isset )
{ LSTRKEY( "isclear" ), LFUNCVAL( bit_isclear ) }, LROT_FUNCENTRY( isclear, bit_isclear )
{ LNILKEY, LNILVAL} LROT_END( bit, NULL, 0 )
};
NODEMCU_MODULE(BIT, "bit", bit_map, NULL); NODEMCU_MODULE(BIT, "bit", bit, NULL);
...@@ -169,24 +169,24 @@ static int bloom_create(lua_State *L) { ...@@ -169,24 +169,24 @@ static int bloom_create(lua_State *L) {
return 1; return 1;
} }
static const LUA_REG_TYPE bloom_filter_map[] = { LROT_BEGIN(bloom_filter)
{ LSTRKEY( "add" ), LFUNCVAL( bloom_filter_add ) }, LROT_FUNCENTRY( add, bloom_filter_add )
{ LSTRKEY( "check" ), LFUNCVAL( bloom_filter_check ) }, LROT_FUNCENTRY( check, bloom_filter_check )
{ LSTRKEY( "reset" ), LFUNCVAL( bloom_filter_reset ) }, LROT_FUNCENTRY( reset, bloom_filter_reset )
{ LSTRKEY( "info" ), LFUNCVAL( bloom_filter_info ) }, LROT_FUNCENTRY( info, bloom_filter_info )
{ LSTRKEY( "__index" ), LROVAL( bloom_filter_map ) }, LROT_TABENTRY( __index, bloom_filter )
{ LNILKEY, LNILVAL } LROT_END( bloom_filter, bloom_filter, LROT_MASK_INDEX )
};
// Module function map // Module function map
static const LUA_REG_TYPE bloom_map[] = { LROT_BEGIN(bloom)
{ LSTRKEY( "create" ), LFUNCVAL( bloom_create ) }, LROT_FUNCENTRY( create, bloom_create )
{ LNILKEY, LNILVAL } LROT_END( bloom, NULL, 0 )
};
LUALIB_API int bloom_open(lua_State *L) { LUALIB_API int bloom_open(lua_State *L) {
luaL_rometatable(L, "bloom.filter", (void *)bloom_filter_map); luaL_rometatable(L, "bloom.filter", LROT_TABLEREF(bloom_filter));
return 1; return 1;
} }
NODEMCU_MODULE(BLOOM, "bloom", bloom_map, bloom_open); NODEMCU_MODULE(BLOOM, "bloom", bloom, bloom_open);
...@@ -470,17 +470,17 @@ static int bme280_lua_dewpoint(lua_State* L) { ...@@ -470,17 +470,17 @@ static int bme280_lua_dewpoint(lua_State* L) {
return 1; return 1;
} }
static const LUA_REG_TYPE bme280_map[] = { LROT_BEGIN(bme280)
{ LSTRKEY( "setup" ), LFUNCVAL(bme280_lua_setup)}, LROT_FUNCENTRY( setup, bme280_lua_setup )
{ LSTRKEY( "temp" ), LFUNCVAL(bme280_lua_temp)}, LROT_FUNCENTRY( temp, bme280_lua_temp )
{ LSTRKEY( "baro" ), LFUNCVAL(bme280_lua_baro)}, LROT_FUNCENTRY( baro, bme280_lua_baro )
{ LSTRKEY( "humi" ), LFUNCVAL(bme280_lua_humi)}, LROT_FUNCENTRY( humi, bme280_lua_humi )
{ LSTRKEY( "startreadout" ), LFUNCVAL(bme280_lua_startreadout)}, LROT_FUNCENTRY( startreadout, bme280_lua_startreadout )
{ LSTRKEY( "qfe2qnh" ), LFUNCVAL(bme280_lua_qfe2qnh)}, LROT_FUNCENTRY( qfe2qnh, bme280_lua_qfe2qnh )
{ LSTRKEY( "altitude" ), LFUNCVAL(bme280_lua_altitude)}, LROT_FUNCENTRY( altitude, bme280_lua_altitude )
{ LSTRKEY( "dewpoint" ), LFUNCVAL(bme280_lua_dewpoint)}, LROT_FUNCENTRY( dewpoint, bme280_lua_dewpoint )
{ LSTRKEY( "read" ), LFUNCVAL(bme280_lua_read)}, LROT_FUNCENTRY( read, bme280_lua_read )
{ LNILKEY, LNILVAL} LROT_END( bme280, NULL, 0 )
};
NODEMCU_MODULE(BME280, "bme280", bme280_map, NULL); NODEMCU_MODULE(BME280, "bme280", bme280, NULL);
...@@ -534,14 +534,14 @@ static int bme680_lua_dewpoint(lua_State* L) { ...@@ -534,14 +534,14 @@ static int bme680_lua_dewpoint(lua_State* L) {
return 1; return 1;
} }
static const LUA_REG_TYPE bme680_map[] = { LROT_BEGIN(bme680)
{ LSTRKEY( "setup" ), LFUNCVAL(bme680_lua_setup)}, LROT_FUNCENTRY( setup, bme680_lua_setup )
{ LSTRKEY( "startreadout" ), LFUNCVAL(bme680_lua_startreadout)}, LROT_FUNCENTRY( startreadout, bme680_lua_startreadout )
{ LSTRKEY( "qfe2qnh" ), LFUNCVAL(bme680_lua_qfe2qnh)}, LROT_FUNCENTRY( qfe2qnh, bme680_lua_qfe2qnh )
{ LSTRKEY( "altitude" ), LFUNCVAL(bme680_lua_altitude)}, LROT_FUNCENTRY( altitude, bme680_lua_altitude )
{ LSTRKEY( "dewpoint" ), LFUNCVAL(bme680_lua_dewpoint)}, LROT_FUNCENTRY( dewpoint, bme680_lua_dewpoint )
{ LSTRKEY( "read" ), LFUNCVAL(bme680_lua_read)}, LROT_FUNCENTRY( read, bme680_lua_read )
{ LNILKEY, LNILVAL} LROT_END( bme680, NULL, 0 )
};
NODEMCU_MODULE(BME680, "bme680", bme680_map, NULL); NODEMCU_MODULE(BME680, "bme680", bme680, NULL);
...@@ -169,12 +169,12 @@ static int bmp085_lua_pressure(lua_State* L) { ...@@ -169,12 +169,12 @@ static int bmp085_lua_pressure(lua_State* L) {
return 1; return 1;
} }
static const LUA_REG_TYPE bmp085_map[] = { LROT_BEGIN(bmp085)
{ LSTRKEY( "temperature" ), LFUNCVAL( bmp085_lua_temperature )}, LROT_FUNCENTRY( temperature, bmp085_lua_temperature )
{ LSTRKEY( "pressure" ), LFUNCVAL( bmp085_lua_pressure )}, LROT_FUNCENTRY( pressure, bmp085_lua_pressure )
{ LSTRKEY( "pressure_raw" ), LFUNCVAL( bmp085_lua_pressure_raw )}, LROT_FUNCENTRY( pressure_raw, bmp085_lua_pressure_raw )
{ LSTRKEY( "setup" ), LFUNCVAL( bmp085_setup )}, LROT_FUNCENTRY( setup, bmp085_setup )
{ LNILKEY, LNILVAL} LROT_END( bmp085, NULL, 0 )
};
NODEMCU_MODULE(BMP085, "bmp085", bmp085_map, NULL); NODEMCU_MODULE(BMP085, "bmp085", bmp085, NULL);
...@@ -556,48 +556,47 @@ static int coap_client_delete( lua_State* L ) ...@@ -556,48 +556,47 @@ static int coap_client_delete( lua_State* L )
} }
// Module function map // Module function map
static const LUA_REG_TYPE coap_server_map[] = { LROT_BEGIN(coap_server)
{ LSTRKEY( "listen" ), LFUNCVAL( coap_server_listen ) }, LROT_FUNCENTRY( listen, coap_server_listen )
{ LSTRKEY( "close" ), LFUNCVAL( coap_server_close ) }, LROT_FUNCENTRY( close, coap_server_close )
{ LSTRKEY( "var" ), LFUNCVAL( coap_server_var ) }, LROT_FUNCENTRY( var, coap_server_var )
{ LSTRKEY( "func" ), LFUNCVAL( coap_server_func ) }, LROT_FUNCENTRY( func, coap_server_func )
{ LSTRKEY( "__gc" ), LFUNCVAL( coap_server_delete ) }, LROT_FUNCENTRY( __gc, coap_server_delete )
{ LSTRKEY( "__index" ), LROVAL( coap_server_map ) }, LROT_TABENTRY( __index, coap_server )
{ LNILKEY, LNILVAL } LROT_END( coap_server, coap_server, 0 )
};
static const LUA_REG_TYPE coap_client_map[] = { LROT_BEGIN(coap_client)
{ LSTRKEY( "get" ), LFUNCVAL( coap_client_get ) }, LROT_FUNCENTRY( get, coap_client_get )
{ LSTRKEY( "post" ), LFUNCVAL( coap_client_post ) }, LROT_FUNCENTRY( post, coap_client_post )
{ LSTRKEY( "put" ), LFUNCVAL( coap_client_put ) }, LROT_FUNCENTRY( put, coap_client_put )
{ LSTRKEY( "delete" ), LFUNCVAL( coap_client_delete ) }, LROT_FUNCENTRY( delete, coap_client_delete )
{ LSTRKEY( "__gc" ), LFUNCVAL( coap_client_gcdelete ) }, LROT_FUNCENTRY( __gc, coap_client_gcdelete )
{ LSTRKEY( "__index" ), LROVAL( coap_client_map ) }, LROT_TABENTRY( __index, coap_client )
{ LNILKEY, LNILVAL } LROT_END( coap_client, coap_client, 0 )
};
static const LUA_REG_TYPE coap_map[] = LROT_BEGIN(coap)
{ LROT_FUNCENTRY( Server, coap_createServer )
{ LSTRKEY( "Server" ), LFUNCVAL( coap_createServer ) }, LROT_FUNCENTRY( Client, coap_createClient )
{ LSTRKEY( "Client" ), LFUNCVAL( coap_createClient ) }, LROT_NUMENTRY( CON, COAP_TYPE_CON )
{ LSTRKEY( "CON" ), LNUMVAL( COAP_TYPE_CON ) }, LROT_NUMENTRY( NON, COAP_TYPE_NONCON )
{ LSTRKEY( "NON" ), LNUMVAL( COAP_TYPE_NONCON ) }, LROT_NUMENTRY( TEXT_PLAIN, COAP_CONTENTTYPE_TEXT_PLAIN )
{ LSTRKEY( "TEXT_PLAIN"), LNUMVAL( COAP_CONTENTTYPE_TEXT_PLAIN ) }, LROT_NUMENTRY( LINKFORMAT, COAP_CONTENTTYPE_APPLICATION_LINKFORMAT )
{ LSTRKEY( "LINKFORMAT"), LNUMVAL( COAP_CONTENTTYPE_APPLICATION_LINKFORMAT ) }, LROT_NUMENTRY( XML, COAP_CONTENTTYPE_APPLICATION_XML )
{ LSTRKEY( "XML"), LNUMVAL( COAP_CONTENTTYPE_APPLICATION_XML ) }, LROT_NUMENTRY( OCTET_STREAM, COAP_CONTENTTYPE_APPLICATION_OCTET_STREAM )
{ LSTRKEY( "OCTET_STREAM"), LNUMVAL( COAP_CONTENTTYPE_APPLICATION_OCTET_STREAM ) }, LROT_NUMENTRY( EXI, COAP_CONTENTTYPE_APPLICATION_EXI )
{ LSTRKEY( "EXI"), LNUMVAL( COAP_CONTENTTYPE_APPLICATION_EXI ) }, LROT_NUMENTRY( JSON, COAP_CONTENTTYPE_APPLICATION_JSON )
{ LSTRKEY( "JSON"), LNUMVAL( COAP_CONTENTTYPE_APPLICATION_JSON) }, LROT_TABENTRY( __metatable, coap )
{ LSTRKEY( "__metatable" ), LROVAL( coap_map ) }, LROT_END( coap, coap, 0 )
{ LNILKEY, LNILVAL }
};
int luaopen_coap( lua_State *L ) int luaopen_coap( lua_State *L )
{ {
endpoint_setup(); endpoint_setup();
luaL_rometatable(L, "coap_server", (void *)coap_server_map); // create metatable for coap_server luaL_rometatable(L, "coap_server", LROT_TABLEREF(coap_server));
luaL_rometatable(L, "coap_client", (void *)coap_client_map); // create metatable for coap_client luaL_rometatable(L, "coap_client", LROT_TABLEREF(coap_client));
return 0; return 0;
} }
NODEMCU_MODULE(COAP, "coap", coap_map, luaopen_coap); NODEMCU_MODULE(COAP, "coap", coap, luaopen_coap);
...@@ -234,13 +234,12 @@ static int cu_grb2hsv(lua_State *L) { ...@@ -234,13 +234,12 @@ static int cu_grb2hsv(lua_State *L) {
} }
static const LUA_REG_TYPE color_utils_map[] = LROT_BEGIN(color_utils)
{ LROT_FUNCENTRY( hsv2grb, cu_hsv2grb )
{ LSTRKEY( "hsv2grb" ), LFUNCVAL( cu_hsv2grb )}, LROT_FUNCENTRY( hsv2grbw, cu_hsv2grbw )
{ LSTRKEY( "hsv2grbw" ), LFUNCVAL( cu_hsv2grbw )}, LROT_FUNCENTRY( colorWheel, cu_color_wheel )
{ LSTRKEY( "colorWheel" ), LFUNCVAL( cu_color_wheel )}, LROT_FUNCENTRY( grb2hsv, cu_grb2hsv )
{ LSTRKEY( "grb2hsv" ), LFUNCVAL( cu_grb2hsv )}, LROT_END( color_utils, NULL, 0 )
{ LNILKEY, LNILVAL}
};
NODEMCU_MODULE(COLOR_UTILS, "color_utils", color_utils, NULL);
NODEMCU_MODULE(COLOR_UTILS, "color_utils", color_utils_map, NULL);
...@@ -224,20 +224,20 @@ static void cron_handle_tmr() { ...@@ -224,20 +224,20 @@ static void cron_handle_tmr() {
cron_handle_time(tm.tm_mon + 1, tm.tm_mday, tm.tm_wday, tm.tm_hour, tm.tm_min); cron_handle_time(tm.tm_mon + 1, tm.tm_mday, tm.tm_wday, tm.tm_hour, tm.tm_min);
} }
static const LUA_REG_TYPE cronent_map[] = { LROT_BEGIN(cronent)
{ LSTRKEY( "schedule" ), LFUNCVAL( lcron_schedule ) }, LROT_FUNCENTRY( schedule, lcron_schedule )
{ LSTRKEY( "handler" ), LFUNCVAL( lcron_handler ) }, LROT_FUNCENTRY( handler, lcron_handler )
{ LSTRKEY( "unschedule" ), LFUNCVAL( lcron_unschedule ) }, LROT_FUNCENTRY( unschedule, lcron_unschedule )
{ LSTRKEY( "__gc" ), LFUNCVAL( lcron_delete ) }, LROT_FUNCENTRY( __gc, lcron_delete )
{ LSTRKEY( "__index" ), LROVAL( cronent_map ) }, LROT_TABENTRY( __index, cronent )
{ LNILKEY, LNILVAL } LROT_END( cronent, cronent, LROT_MASK_GC_INDEX )
};
LROT_BEGIN(cron)
LROT_FUNCENTRY( schedule, lcron_create )
LROT_FUNCENTRY( reset, lcron_reset )
LROT_END( cron, NULL, 0 )
static const LUA_REG_TYPE cron_map[] = {
{ LSTRKEY( "schedule" ), LFUNCVAL( lcron_create ) },
{ LSTRKEY( "reset" ), LFUNCVAL( lcron_reset ) },
{ LNILKEY, LNILVAL }
};
#include "pm/swtimer.h" #include "pm/swtimer.h"
int luaopen_cron( lua_State *L ) { int luaopen_cron( lua_State *L ) {
...@@ -247,8 +247,8 @@ int luaopen_cron( lua_State *L ) { ...@@ -247,8 +247,8 @@ int luaopen_cron( lua_State *L ) {
//cron_handle_tmr determines when to execute a scheduled cron job //cron_handle_tmr determines when to execute a scheduled cron job
//My guess: To be sure to give the other modules required by cron enough time to get to a ready state, restart cron_timer. //My guess: To be sure to give the other modules required by cron enough time to get to a ready state, restart cron_timer.
os_timer_arm(&cron_timer, 1000, 0); os_timer_arm(&cron_timer, 1000, 0);
luaL_rometatable(L, "cron.entry", (void *)cronent_map); luaL_rometatable(L, "cron.entry", LROT_TABLEREF(cronent));
return 0; return 0;
} }
NODEMCU_MODULE(CRON, "cron", cron_map, luaopen_cron); NODEMCU_MODULE(CRON, "cron", cron, luaopen_cron);
...@@ -383,34 +383,34 @@ static int lcrypto_decrypt (lua_State *L) ...@@ -383,34 +383,34 @@ static int lcrypto_decrypt (lua_State *L)
} }
// Hash function map // Hash function map
static const LUA_REG_TYPE crypto_hash_map[] = { LROT_BEGIN(crypto_hash)
{ LSTRKEY( "update" ), LFUNCVAL( crypto_hash_update ) }, LROT_FUNCENTRY( update, crypto_hash_update )
{ LSTRKEY( "finalize" ), LFUNCVAL( crypto_hash_finalize ) }, LROT_FUNCENTRY( finalize, crypto_hash_finalize )
{ LSTRKEY( "__index" ), LROVAL( crypto_hash_map ) }, LROT_TABENTRY( __index, crypto_hash )
{ LNILKEY, LNILVAL } LROT_END( crypto_hash, crypto_hash, LROT_MASK_INDEX )
};
// Module function map // Module function map
static const LUA_REG_TYPE crypto_map[] = { LROT_BEGIN(crypto)
{ LSTRKEY( "sha1" ), LFUNCVAL( crypto_sha1 ) }, LROT_FUNCENTRY( sha1, crypto_sha1 )
{ LSTRKEY( "toBase64" ), LFUNCVAL( crypto_base64_encode ) }, LROT_FUNCENTRY( toBase64, crypto_base64_encode )
{ LSTRKEY( "toHex" ), LFUNCVAL( crypto_hex_encode ) }, LROT_FUNCENTRY( toHex, crypto_hex_encode )
{ LSTRKEY( "mask" ), LFUNCVAL( crypto_mask ) }, LROT_FUNCENTRY( mask, crypto_mask )
{ LSTRKEY( "hash" ), LFUNCVAL( crypto_lhash ) }, LROT_FUNCENTRY( hash, crypto_lhash )
{ LSTRKEY( "fhash" ), LFUNCVAL( crypto_flhash ) }, LROT_FUNCENTRY( fhash, crypto_flhash )
{ LSTRKEY( "new_hash" ), LFUNCVAL( crypto_new_hash ) }, LROT_FUNCENTRY( new_hash, crypto_new_hash )
{ LSTRKEY( "hmac" ), LFUNCVAL( crypto_lhmac ) }, LROT_FUNCENTRY( hmac, crypto_lhmac )
{ LSTRKEY( "new_hmac" ), LFUNCVAL( crypto_new_hmac ) }, LROT_FUNCENTRY( new_hmac, crypto_new_hmac )
{ LSTRKEY( "encrypt" ), LFUNCVAL( lcrypto_encrypt ) }, LROT_FUNCENTRY( encrypt, lcrypto_encrypt )
{ LSTRKEY( "decrypt" ), LFUNCVAL( lcrypto_decrypt ) }, LROT_FUNCENTRY( decrypt, lcrypto_decrypt )
{ LNILKEY, LNILVAL } LROT_END( crypto, NULL, 0 )
};
int luaopen_crypto ( lua_State *L ) int luaopen_crypto ( lua_State *L )
{ {
luaL_rometatable(L, "crypto.hash", (void *)crypto_hash_map); // create metatable for crypto.hash luaL_rometatable(L, "crypto.hash", LROT_TABLEREF(crypto_hash));
return 0; return 0;
} }
NODEMCU_MODULE(CRYPTO, "crypto", crypto_map, luaopen_crypto); NODEMCU_MODULE(CRYPTO, "crypto", crypto, luaopen_crypto);
...@@ -99,14 +99,14 @@ static int dht_lapi_readxx( lua_State *L ) ...@@ -99,14 +99,14 @@ static int dht_lapi_readxx( lua_State *L )
// } // }
// Module function map // Module function map
static const LUA_REG_TYPE dht_map[] = { LROT_BEGIN(dht)
{ LSTRKEY( "read" ), LFUNCVAL( dht_lapi_read ) }, LROT_FUNCENTRY( read, dht_lapi_read )
{ LSTRKEY( "read11" ), LFUNCVAL( dht_lapi_read11 ) }, LROT_FUNCENTRY( read11, dht_lapi_read11 )
{ LSTRKEY( "readxx" ), LFUNCVAL( dht_lapi_readxx ) }, LROT_FUNCENTRY( readxx, dht_lapi_readxx )
{ LSTRKEY( "OK" ), LNUMVAL( DHTLIB_OK ) }, LROT_NUMENTRY( OK, DHTLIB_OK )
{ LSTRKEY( "ERROR_CHECKSUM" ), LNUMVAL( DHTLIB_ERROR_CHECKSUM ) }, LROT_NUMENTRY( ERROR_CHECKSUM, DHTLIB_ERROR_CHECKSUM )
{ LSTRKEY( "ERROR_TIMEOUT" ), LNUMVAL( DHTLIB_ERROR_TIMEOUT ) }, LROT_NUMENTRY( ERROR_TIMEOUT, DHTLIB_ERROR_TIMEOUT )
{ LNILKEY, LNILVAL } LROT_END( dht, NULL, 0 )
};
NODEMCU_MODULE(DHT, "dht", dht_map, NULL);
NODEMCU_MODULE(DHT, "dht", dht, NULL);
...@@ -153,12 +153,12 @@ static int do_func (lua_State *L, uint8 * (*conv_func)(lua_State *, const uint8 ...@@ -153,12 +153,12 @@ static int do_func (lua_State *L, uint8 * (*conv_func)(lua_State *, const uint8
DECLARE_FUNCTION(toHex); DECLARE_FUNCTION(toHex);
// Module function map // Module function map
static const LUA_REG_TYPE encoder_map[] = { LROT_BEGIN(encoder)
{ LSTRKEY("fromBase64"), LFUNCVAL(encoder_fromBase64) }, LROT_FUNCENTRY( fromBase64, encoder_fromBase64 )
{ LSTRKEY("toBase64"), LFUNCVAL(encoder_toBase64) }, LROT_FUNCENTRY( toBase64, encoder_toBase64 )
{ LSTRKEY("fromHex"), LFUNCVAL(encoder_fromHex) }, LROT_FUNCENTRY( fromHex, encoder_fromHex )
{ LSTRKEY("toHex"), LFUNCVAL(encoder_toHex) }, LROT_FUNCENTRY( toHex, encoder_toHex )
{ LNILKEY, LNILVAL } LROT_END( encoder, NULL, 0 )
};
NODEMCU_MODULE(ENCODER, "encoder", encoder_map, NULL); NODEMCU_MODULE(ENCODER, "encoder", encoder, NULL);
...@@ -1784,11 +1784,11 @@ static int enduser_setup_stop(lua_State* L) ...@@ -1784,11 +1784,11 @@ static int enduser_setup_stop(lua_State* L)
} }
static const LUA_REG_TYPE enduser_setup_map[] = { LROT_BEGIN(enduser_setup)
{ LSTRKEY( "manual" ), LFUNCVAL( enduser_setup_manual )}, LROT_FUNCENTRY( manual, enduser_setup_manual )
{ LSTRKEY( "start" ), LFUNCVAL( enduser_setup_start )}, LROT_FUNCENTRY( start, enduser_setup_start )
{ LSTRKEY( "stop" ), LFUNCVAL( enduser_setup_stop )}, LROT_FUNCENTRY( stop, enduser_setup_stop )
{ LNILKEY, LNILVAL} LROT_END( enduser_setup, NULL, 0 )
};
NODEMCU_MODULE(ENDUSER_SETUP, "enduser_setup", enduser_setup_map, NULL); NODEMCU_MODULE(ENDUSER_SETUP, "enduser_setup", enduser_setup, NULL);
...@@ -644,64 +644,68 @@ static int file_vol_umount( lua_State *L ) ...@@ -644,64 +644,68 @@ static int file_vol_umount( lua_State *L )
} }
static const LUA_REG_TYPE file_obj_map[] = LROT_BEGIN(file_obj)
{ LROT_FUNCENTRY( close, file_close )
{ LSTRKEY( "close" ), LFUNCVAL( file_close ) }, LROT_FUNCENTRY( read, file_read )
{ LSTRKEY( "read" ), LFUNCVAL( file_read ) }, LROT_FUNCENTRY( readline, file_readline )
{ LSTRKEY( "readline" ), LFUNCVAL( file_readline ) }, LROT_FUNCENTRY( write, file_write )
{ LSTRKEY( "write" ), LFUNCVAL( file_write ) }, LROT_FUNCENTRY( writeline, file_writeline )
{ LSTRKEY( "writeline" ), LFUNCVAL( file_writeline ) }, LROT_FUNCENTRY( seek, file_seek )
{ LSTRKEY( "seek" ), LFUNCVAL( file_seek ) }, LROT_FUNCENTRY( flush, file_flush )
{ LSTRKEY( "flush" ), LFUNCVAL( file_flush ) }, LROT_FUNCENTRY( __gc, file_obj_free )
{ LSTRKEY( "__gc" ), LFUNCVAL( file_obj_free ) }, LROT_TABENTRY( __index, file_obj )
{ LSTRKEY( "__index" ), LROVAL( file_obj_map ) }, LROT_END( file_obj, file_obj, LROT_MASK_GC_INDEX )
{ LNILKEY, LNILVAL }
};
LROT_BEGIN(file_vol)
static const LUA_REG_TYPE file_vol_map[] = LROT_FUNCENTRY( umount, file_vol_umount )
{ // LROT_FUNCENTRY( getfree, file_vol_getfree )
{ LSTRKEY( "umount" ), LFUNCVAL( file_vol_umount )}, // LROT_FUNCENTRY( getlabel, file_vol_getlabel )
//{ LSTRKEY( "getfree" ), LFUNCVAL( file_vol_getfree )}, // LROT_FUNCENTRY( __gc, file_vol_free )
//{ LSTRKEY( "getlabel" ), LFUNCVAL( file_vol_getlabel )}, LROT_TABENTRY( __index, file_vol )
//{ LSTRKEY( "__gc" ), LFUNCVAL( file_vol_free ) }, LROT_END( file_vol, file_vol, LROT_MASK_GC_INDEX )
{ LSTRKEY( "__index" ), LROVAL( file_vol_map ) },
{ LNILKEY, LNILVAL }
};
// Module function map
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 ) },
#ifdef BUILD_SPIFFS #ifdef BUILD_SPIFFS
{ LSTRKEY( "format" ), LFUNCVAL( file_format ) }, #define LROT_FUNCENTRY_S(n,f) LROT_FUNCENTRY(n,f)
{ LSTRKEY( "fscfg" ), LFUNCVAL( file_fscfg ) }, #else
#define LROT_FUNCENTRY_S(n,f)
#endif #endif
{ LSTRKEY( "remove" ), LFUNCVAL( file_remove ) },
{ LSTRKEY( "seek" ), LFUNCVAL( file_seek ) },
{ LSTRKEY( "flush" ), LFUNCVAL( file_flush ) },
{ LSTRKEY( "rename" ), LFUNCVAL( file_rename ) },
{ LSTRKEY( "exists" ), LFUNCVAL( file_exists ) },
{ LSTRKEY( "getcontents" ), LFUNCVAL( file_getfile ) },
{ LSTRKEY( "putcontents" ), LFUNCVAL( file_putfile ) },
{ LSTRKEY( "fsinfo" ), LFUNCVAL( file_fsinfo ) },
{ LSTRKEY( "on" ), LFUNCVAL( file_on ) },
{ LSTRKEY( "stat" ), LFUNCVAL( file_stat ) },
#ifdef BUILD_FATFS #ifdef BUILD_FATFS
{ LSTRKEY( "mount" ), LFUNCVAL( file_mount ) }, #define LROT_FUNCENTRY_F(n,f) LROT_FUNCENTRY(n,f)
{ LSTRKEY( "chdir" ), LFUNCVAL( file_chdir ) }, #else
#define LROT_FUNCENTRY_F(n,f)
#endif #endif
{ LNILKEY, LNILVAL }
}; // Module function map
LROT_BEGIN(file)
LROT_FUNCENTRY( list, file_list )
LROT_FUNCENTRY( open, file_open )
LROT_FUNCENTRY( close, file_close )
LROT_FUNCENTRY( write, file_write )
LROT_FUNCENTRY( writeline, file_writeline )
LROT_FUNCENTRY( read, file_read )
LROT_FUNCENTRY( readline, file_readline )
LROT_FUNCENTRY_S( format, file_format )
LROT_FUNCENTRY_S( fscfg, file_fscfg )
LROT_FUNCENTRY( remove, file_remove )
LROT_FUNCENTRY( seek, file_seek )
LROT_FUNCENTRY( flush, file_flush )
LROT_FUNCENTRY( rename, file_rename )
LROT_FUNCENTRY( exists, file_exists )
LROT_FUNCENTRY( getcontents, file_getfile )
LROT_FUNCENTRY( putcontents, file_putfile )
LROT_FUNCENTRY( fsinfo, file_fsinfo )
LROT_FUNCENTRY( on, file_on )
LROT_FUNCENTRY( stat, file_stat )
LROT_FUNCENTRY_F( mount, file_mount )
LROT_FUNCENTRY_F( chdir, file_chdir )
LROT_END( file, NULL, 0 )
int luaopen_file( lua_State *L ) { int luaopen_file( lua_State *L ) {
luaL_rometatable( L, "file.vol", (void *)file_vol_map ); luaL_rometatable( L, "file.vol", LROT_TABLEREF(file_vol));
luaL_rometatable( L, "file.obj", (void *)file_obj_map ); luaL_rometatable( L, "file.obj", LROT_TABLEREF(file_obj));
return 0; return 0;
} }
NODEMCU_MODULE(FILE, "file", file_map, luaopen_file); NODEMCU_MODULE(FILE, "file", file, luaopen_file);
...@@ -39,11 +39,11 @@ static int lgdbstub_open(lua_State *L) { ...@@ -39,11 +39,11 @@ static int lgdbstub_open(lua_State *L) {
} }
// Module function map // Module function map
static const LUA_REG_TYPE gdbstub_map[] = { LROT_BEGIN(gdbstub)
{ LSTRKEY( "brk" ), LFUNCVAL( lgdbstub_break ) }, LROT_FUNCENTRY( brk, lgdbstub_break )
{ LSTRKEY( "gdboutput" ), LFUNCVAL( lgdbstub_gdboutput) }, LROT_FUNCENTRY( gdboutput, lgdbstub_gdboutput )
{ LSTRKEY( "open" ), LFUNCVAL( lgdbstub_open) }, LROT_FUNCENTRY( open, lgdbstub_open )
{ LNILKEY, LNILVAL } LROT_END( gdbstub, NULL, 0 )
};
NODEMCU_MODULE(GDBSTUB, "gdbstub", gdbstub_map, NULL);
NODEMCU_MODULE(GDBSTUB, "gdbstub", gdbstub, NULL);
...@@ -319,32 +319,32 @@ static int lgpio_serout( lua_State* L ) ...@@ -319,32 +319,32 @@ static int lgpio_serout( lua_State* L )
#undef DELAY_TABLE_MAX_LEN #undef DELAY_TABLE_MAX_LEN
#ifdef LUA_USE_MODULES_GPIO_PULSE #ifdef LUA_USE_MODULES_GPIO_PULSE
extern const LUA_REG_TYPE gpio_pulse_map[]; LROT_EXTERN(gpio_pulse);
extern int gpio_pulse_init(lua_State *); extern int gpio_pulse_init(lua_State *);
#endif #endif
// Module function map // Module function map
static const LUA_REG_TYPE gpio_map[] = { LROT_BEGIN(gpio)
{ LSTRKEY( "mode" ), LFUNCVAL( lgpio_mode ) }, LROT_FUNCENTRY( mode, lgpio_mode )
{ LSTRKEY( "read" ), LFUNCVAL( lgpio_read ) }, LROT_FUNCENTRY( read, lgpio_read )
{ LSTRKEY( "write" ), LFUNCVAL( lgpio_write ) }, LROT_FUNCENTRY( write, lgpio_write )
{ LSTRKEY( "serout" ), LFUNCVAL( lgpio_serout ) }, LROT_FUNCENTRY( serout, lgpio_serout )
#ifdef LUA_USE_MODULES_GPIO_PULSE #ifdef LUA_USE_MODULES_GPIO_PULSE
{ LSTRKEY( "pulse" ), LROVAL( gpio_pulse_map ) }, //declared in gpio_pulse.c LROT_TABENTRY( pulse, gpio_pulse )
#endif #endif
#ifdef GPIO_INTERRUPT_ENABLE #ifdef GPIO_INTERRUPT_ENABLE
{ LSTRKEY( "trig" ), LFUNCVAL( lgpio_trig ) }, LROT_FUNCENTRY( trig, lgpio_trig )
{ LSTRKEY( "INT" ), LNUMVAL( INTERRUPT ) }, LROT_NUMENTRY( INT, INTERRUPT )
#endif #endif
{ LSTRKEY( "OUTPUT" ), LNUMVAL( OUTPUT ) }, LROT_NUMENTRY( OUTPUT, OUTPUT )
{ LSTRKEY( "OPENDRAIN" ), LNUMVAL( OPENDRAIN ) }, LROT_NUMENTRY( OPENDRAIN, OPENDRAIN )
{ LSTRKEY( "INPUT" ), LNUMVAL( INPUT ) }, LROT_NUMENTRY( INPUT, INPUT )
{ LSTRKEY( "HIGH" ), LNUMVAL( HIGH ) }, LROT_NUMENTRY( HIGH, HIGH )
{ LSTRKEY( "LOW" ), LNUMVAL( LOW ) }, LROT_NUMENTRY( LOW, LOW )
{ LSTRKEY( "FLOAT" ), LNUMVAL( FLOAT ) }, LROT_NUMENTRY( FLOAT, FLOAT )
{ LSTRKEY( "PULLUP" ), LNUMVAL( PULLUP ) }, LROT_NUMENTRY( PULLUP, PULLUP )
{ LNILKEY, LNILVAL } LROT_END( gpio, NULL, 0 )
};
int luaopen_gpio( lua_State *L ) { int luaopen_gpio( lua_State *L ) {
#ifdef LUA_USE_MODULES_GPIO_PULSE #ifdef LUA_USE_MODULES_GPIO_PULSE
...@@ -362,4 +362,4 @@ int luaopen_gpio( lua_State *L ) { ...@@ -362,4 +362,4 @@ int luaopen_gpio( lua_State *L ) {
return 0; return 0;
} }
NODEMCU_MODULE(GPIO, "gpio", gpio_map, luaopen_gpio); NODEMCU_MODULE(GPIO, "gpio", gpio, luaopen_gpio);
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