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
eaac369d
Unverified
Commit
eaac369d
authored
Jul 22, 2019
by
Johny Mattsson
Committed by
GitHub
Jul 22, 2019
Browse files
LFS support for ESP32 NodeMCU (#2801)
* Port LFS from ESP8266 to ESP32
parent
7cb61a27
Changes
116
Show whitespace changes
Inline
Side-by-side
components/modules/pulsecnt.c
View file @
eaac369d
...
...
@@ -678,47 +678,42 @@ static int pulsecnt_unregister(lua_State* L){
return
0
;
}
static
const
LUA_REG_TYPE
pulsecnt_dyn_map
[]
=
{
{
LSTRKEY
(
"getCnt"
),
LFUNCVAL
(
pulsecnt_getCnt
)},
{
LSTRKEY
(
"clear"
),
LFUNCVAL
(
pulsecnt_clear
)},
{
LSTRKEY
(
"testCb"
),
LFUNCVAL
(
pulsecnt_testCb
)},
{
LSTRKEY
(
"chan0Config"
),
LFUNCVAL
(
pulsecnt_channel0_config
)},
{
LSTRKEY
(
"chan1Config"
),
LFUNCVAL
(
pulsecnt_channel1_config
)},
{
LSTRKEY
(
"config"
),
LFUNCVAL
(
pulsecnt_config
)},
{
LSTRKEY
(
"setThres"
),
LFUNCVAL
(
pulsecnt_set_thres
)},
{
LSTRKEY
(
"setFilter"
),
LFUNCVAL
(
pulsecnt_set_filter
)},
{
LSTRKEY
(
"rawSetEventVal"
),
LFUNCVAL
(
pulsecnt_set_event_value
)},
{
LSTRKEY
(
"rawGetEventVal"
),
LFUNCVAL
(
pulsecnt_get_event_value
)},
// { LSTRKEY( "__tostring" ), LFUNCVAL( pulsecnt_tostring )},
{
LSTRKEY
(
"__gc"
),
LFUNCVAL
(
pulsecnt_unregister
)
},
{
LSTRKEY
(
"__index"
),
LROVAL
(
pulsecnt_dyn_map
)
},
{
LNILKEY
,
LNILVAL
}
};
static
const
LUA_REG_TYPE
pulsecnt_map
[]
=
{
{
LSTRKEY
(
"create"
),
LFUNCVAL
(
pulsecnt_create
)},
{
LSTRKEY
(
"PCNT_MODE_KEEP"
),
LNUMVAL
(
0
)
},
/*pcnt_ctrl_mode_t.PCNT_MODE_KEEP*/
{
LSTRKEY
(
"PCNT_MODE_REVERSE"
),
LNUMVAL
(
1
)
},
/*pcnt_ctrl_mode_t.PCNT_MODE_REVERSE*/
{
LSTRKEY
(
"PCNT_MODE_DISABLE"
),
LNUMVAL
(
2
)
},
/*pcnt_ctrl_mode_t.PCNT_MODE_DISABLE*/
{
LSTRKEY
(
"PCNT_COUNT_DIS"
),
LNUMVAL
(
0
)
},
/*pcnt_count_mode_t.PCNT_COUNT_DIS*/
{
LSTRKEY
(
"PCNT_COUNT_INC"
),
LNUMVAL
(
1
)
},
/*pcnt_count_mode_t.PCNT_COUNT_INC*/
{
LSTRKEY
(
"PCNT_COUNT_DEC"
),
LNUMVAL
(
2
)
},
/*pcnt_count_mode_t.PCNT_COUNT_DEC*/
// { LSTRKEY( "PCNT_COUNT_MAX " ), LNUMVAL( pcnt_count_mode_t.PCNT_COUNT_MAX ) },
{
LSTRKEY
(
"PCNT_H_LIM_VAL"
),
LNUMVAL
(
32767
)
},
{
LSTRKEY
(
"PCNT_L_LIM_VAL"
),
LNUMVAL
(
-
32768
)
},
{
LSTRKEY
(
"PCNT_EVT_L_LIM"
),
LNUMVAL
(
0
)
},
{
LSTRKEY
(
"PCNT_EVT_H_LIM"
),
LNUMVAL
(
1
)
},
{
LSTRKEY
(
"PCNT_EVT_THRES_0"
),
LNUMVAL
(
2
)
},
{
LSTRKEY
(
"PCNT_EVT_THRES_1"
),
LNUMVAL
(
3
)
},
{
LSTRKEY
(
"PCNT_EVT_ZERO"
),
LNUMVAL
(
4
)
},
{
LSTRKEY
(
"PCNT_PIN_NOT_USED"
),
LNUMVAL
(
-
1
)
},
/*PCNT_PIN_NOT_USED*/
{
LNILKEY
,
LNILVAL
}
};
LROT_BEGIN
(
pulsecnt_dyn
)
LROT_FUNCENTRY
(
getCnt
,
pulsecnt_getCnt
)
LROT_FUNCENTRY
(
clear
,
pulsecnt_clear
)
LROT_FUNCENTRY
(
testCb
,
pulsecnt_testCb
)
LROT_FUNCENTRY
(
chan0Config
,
pulsecnt_channel0_config
)
LROT_FUNCENTRY
(
chan1Config
,
pulsecnt_channel1_config
)
LROT_FUNCENTRY
(
config
,
pulsecnt_config
)
LROT_FUNCENTRY
(
setThres
,
pulsecnt_set_thres
)
LROT_FUNCENTRY
(
setFilter
,
pulsecnt_set_filter
)
LROT_FUNCENTRY
(
rawSetEventVal
,
pulsecnt_set_event_value
)
LROT_FUNCENTRY
(
rawGetEventVal
,
pulsecnt_get_event_value
)
// LROT_FUNCENTRY( __tostring, pulsecnt_tostring )
LROT_FUNCENTRY
(
__gc
,
pulsecnt_unregister
)
LROT_TABENTRY
(
__index
,
pulsecnt_dyn
)
LROT_END
(
pulsecnt_dyn
,
NULL
,
0
)
LROT_BEGIN
(
pulsecnt
)
LROT_FUNCENTRY
(
create
,
pulsecnt_create
)
LROT_NUMENTRY
(
PCNT_MODE_KEEP
,
0
)
/*pcnt_ctrl_mode_t.PCNT_MODE_KEEP*/
LROT_NUMENTRY
(
PCNT_MODE_REVERSE
,
1
)
/*pcnt_ctrl_mode_t.PCNT_MODE_REVERSE*/
LROT_NUMENTRY
(
PCNT_MODE_DISABLE
,
2
)
/*pcnt_ctrl_mode_t.PCNT_MODE_DISABLE*/
LROT_NUMENTRY
(
PCNT_COUNT_DIS
,
0
)
/*pcnt_count_mode_t.PCNT_COUNT_DIS*/
LROT_NUMENTRY
(
PCNT_COUNT_INC
,
1
)
/*pcnt_count_mode_t.PCNT_COUNT_INC*/
LROT_NUMENTRY
(
PCNT_COUNT_DEC
,
2
)
/*pcnt_count_mode_t.PCNT_COUNT_DEC*/
// LROT_NUMENTRY ( PCNT_COUNT_MAX , pcnt_count_mode_t.PCNT_COUNT_MAX )
LROT_NUMENTRY
(
PCNT_H_LIM_VAL
,
32767
)
LROT_NUMENTRY
(
PCNT_L_LIM_VAL
,
-
32768
)
LROT_NUMENTRY
(
PCNT_EVT_L_LIM
,
0
)
LROT_NUMENTRY
(
PCNT_EVT_H_LIM
,
1
)
LROT_NUMENTRY
(
PCNT_EVT_THRES_0
,
2
)
LROT_NUMENTRY
(
PCNT_EVT_THRES_1
,
3
)
LROT_NUMENTRY
(
PCNT_EVT_ZERO
,
4
)
LROT_NUMENTRY
(
PCNT_PIN_NOT_USED
,
-
1
)
/*PCNT_PIN_NOT_USED*/
LROT_END
(
pulsecnt
,
NULL
,
0
)
int
luaopen_pulsecnt
(
lua_State
*
L
)
{
...
...
@@ -729,4 +724,4 @@ int luaopen_pulsecnt(lua_State *L) {
return
0
;
}
NODEMCU_MODULE
(
PULSECNT
,
"pulsecnt"
,
pulsecnt
_map
,
luaopen_pulsecnt
);
NODEMCU_MODULE
(
PULSECNT
,
"pulsecnt"
,
pulsecnt
,
luaopen_pulsecnt
);
components/modules/qrcodegen.c
View file @
eaac369d
...
...
@@ -56,16 +56,15 @@ static int getPixel(lua_State *L)
return
1
;
}
static
const
LUA_REG_TYPE
qrcodegen_map
[]
=
{
{
LSTRKEY
(
"encodeText"
),
LFUNCVAL
(
encodeText
)
},
{
LSTRKEY
(
"getSize"
),
LFUNCVAL
(
getSize
)
},
{
LSTRKEY
(
"getPixel"
),
LFUNCVAL
(
getPixel
)
},
{
LSTRKEY
(
"LOW"
),
LNUMVAL
(
qrcodegen_Ecc_LOW
)
},
{
LSTRKEY
(
"MEDIUM"
),
LNUMVAL
(
qrcodegen_Ecc_MEDIUM
)
},
{
LSTRKEY
(
"QUARTILE"
),
LNUMVAL
(
qrcodegen_Ecc_QUARTILE
)
},
{
LSTRKEY
(
"HIGH"
),
LNUMVAL
(
qrcodegen_Ecc_HIGH
)
},
{
LSTRKEY
(
"AUTO"
),
LNUMVAL
(
qrcodegen_Mask_AUTO
)
},
{
LNILKEY
,
LNILVAL
}
};
LROT_BEGIN
(
qrcodegen
)
LROT_FUNCENTRY
(
encodeText
,
encodeText
)
LROT_FUNCENTRY
(
getSize
,
getSize
)
LROT_FUNCENTRY
(
getPixel
,
getPixel
)
LROT_NUMENTRY
(
LOW
,
qrcodegen_Ecc_LOW
)
LROT_NUMENTRY
(
MEDIUM
,
qrcodegen_Ecc_MEDIUM
)
LROT_NUMENTRY
(
QUARTILE
,
qrcodegen_Ecc_QUARTILE
)
LROT_NUMENTRY
(
HIGH
,
qrcodegen_Ecc_HIGH
)
LROT_NUMENTRY
(
AUTO
,
qrcodegen_Mask_AUTO
)
LROT_END
(
qrcodegen
,
NULL
,
0
)
NODEMCU_MODULE
(
QRCODEGEN
,
"qrcodegen"
,
qrcodegen
_map
,
NULL
);
NODEMCU_MODULE
(
QRCODEGEN
,
"qrcodegen"
,
qrcodegen
,
NULL
);
components/modules/sdmmc.c
View file @
eaac369d
...
...
@@ -327,30 +327,28 @@ static int lsdmmc_umount( lua_State *L )
return
luaL_error
(
L
,
err_msg
);
}
static
const
LUA_REG_TYPE
sdmmc_card_map
[]
=
{
{
LSTRKEY
(
"read"
),
LFUNCVAL
(
lsdmmc_read
)
},
{
LSTRKEY
(
"write"
),
LFUNCVAL
(
lsdmmc_write
)
},
{
LSTRKEY
(
"get_info"
),
LFUNCVAL
(
lsdmmc_get_info
)
},
{
LSTRKEY
(
"mount"
),
LFUNCVAL
(
lsdmmc_mount
)
},
{
LSTRKEY
(
"umount"
),
LFUNCVAL
(
lsdmmc_umount
)
},
{
LSTRKEY
(
"__index"
),
LROVAL
(
sdmmc_card_map
)
},
{
LNILKEY
,
LNILVAL
}
};
static
const
LUA_REG_TYPE
sdmmc_map
[]
=
{
{
LSTRKEY
(
"init"
),
LFUNCVAL
(
lsdmmc_init
)
},
{
LSTRKEY
(
"HS1"
),
LNUMVAL
(
SDMMC_HOST_SLOT_0
)
},
{
LSTRKEY
(
"HS2"
),
LNUMVAL
(
SDMMC_HOST_SLOT_1
)
},
{
LSTRKEY
(
"HSPI"
),
LNUMVAL
(
LSDMMC_HOST_HSPI
)
},
{
LSTRKEY
(
"VSPI"
),
LNUMVAL
(
LSDMMC_HOST_VSPI
)
},
{
LSTRKEY
(
"W1BIT"
),
LNUMVAL
(
SDMMC_HOST_FLAG_1BIT
)
},
{
LSTRKEY
(
"W4BIT"
),
LNUMVAL
(
SDMMC_HOST_FLAG_1BIT
|
SDMMC_HOST_FLAG_4BIT
)
},
{
LSTRKEY
(
"W8BIT"
),
LNUMVAL
(
SDMMC_HOST_FLAG_1BIT
|
LROT_BEGIN
(
sdmmc_card
)
LROT_FUNCENTRY
(
read
,
lsdmmc_read
)
LROT_FUNCENTRY
(
write
,
lsdmmc_write
)
LROT_FUNCENTRY
(
get_info
,
lsdmmc_get_info
)
LROT_FUNCENTRY
(
mount
,
lsdmmc_mount
)
LROT_FUNCENTRY
(
umount
,
lsdmmc_umount
)
LROT_TABENTRY
(
__index
,
sdmmc_card
)
LROT_END
(
sdmmc_card
,
NULL
,
0
)
LROT_BEGIN
(
sdmmc
)
LROT_FUNCENTRY
(
init
,
lsdmmc_init
)
LROT_NUMENTRY
(
HS1
,
SDMMC_HOST_SLOT_0
)
LROT_NUMENTRY
(
HS2
,
SDMMC_HOST_SLOT_1
)
LROT_NUMENTRY
(
HSPI
,
LSDMMC_HOST_HSPI
)
LROT_NUMENTRY
(
VSPI
,
LSDMMC_HOST_VSPI
)
LROT_NUMENTRY
(
W1BIT
,
SDMMC_HOST_FLAG_1BIT
)
LROT_NUMENTRY
(
W4BIT
,
SDMMC_HOST_FLAG_1BIT
|
SDMMC_HOST_FLAG_4BIT
)
LROT_NUMENTRY
(
W8BIT
,
SDMMC_HOST_FLAG_1BIT
|
SDMMC_HOST_FLAG_4BIT
|
SDMMC_HOST_FLAG_8BIT
)
},
{
LNILKEY
,
LNILVAL
}
};
SDMMC_HOST_FLAG_8BIT
)
LROT_END
(
sdmmc
,
NULL
,
0
)
static
int
luaopen_sdmmc
(
lua_State
*
L
)
{
...
...
@@ -364,4 +362,4 @@ static int luaopen_sdmmc( lua_State *L )
return
0
;
}
NODEMCU_MODULE
(
SDMMC
,
"sdmmc"
,
sdmmc
_map
,
luaopen_sdmmc
);
NODEMCU_MODULE
(
SDMMC
,
"sdmmc"
,
sdmmc
,
luaopen_sdmmc
);
components/modules/sigma_delta.c
View file @
eaac369d
...
...
@@ -77,14 +77,12 @@ static int sigma_delta_setduty( lua_State *L )
// Module function map
static
const
LUA_REG_TYPE
sigma_delta_map
[]
=
{
{
LSTRKEY
(
"setup"
),
LFUNCVAL
(
sigma_delta_setup
)
},
{
LSTRKEY
(
"close"
),
LFUNCVAL
(
sigma_delta_close
)
},
//{ LSTRKEY( "setpwmduty" ), LFUNCVAL( sigma_delta_setpwmduty ) },
{
LSTRKEY
(
"setprescale"
),
LFUNCVAL
(
sigma_delta_setprescale
)
},
{
LSTRKEY
(
"setduty"
),
LFUNCVAL
(
sigma_delta_setduty
)
},
{
LNILKEY
,
LNILVAL
}
};
NODEMCU_MODULE
(
SIGMA_DELTA
,
"sigma_delta"
,
sigma_delta_map
,
NULL
);
LROT_BEGIN
(
sigma_delta
)
LROT_FUNCENTRY
(
setup
,
sigma_delta_setup
)
LROT_FUNCENTRY
(
close
,
sigma_delta_close
)
//LROT_FUNCENTRY( setpwmduty, sigma_delta_setpwmduty )
LROT_FUNCENTRY
(
setprescale
,
sigma_delta_setprescale
)
LROT_FUNCENTRY
(
setduty
,
sigma_delta_setduty
)
LROT_END
(
sigma_delta
,
NULL
,
0
)
NODEMCU_MODULE
(
SIGMA_DELTA
,
"sigma_delta"
,
sigma_delta
,
NULL
);
components/modules/sjson.c
View file @
eaac369d
...
...
@@ -1014,29 +1014,26 @@ static const luaL_Reg sjsonlib[] = {
{
NULL
,
NULL
}
};
#else
static
const
LUA_REG_TYPE
sjson_encoder_map
[]
=
{
{
LSTRKEY
(
"read"
),
LFUNCVAL
(
sjson_encoder_read
)
},
{
LSTRKEY
(
"__gc"
),
LFUNCVAL
(
sjson_encoder_destructor
)
},
{
LSTRKEY
(
"__index"
),
LROVAL
(
sjson_encoder_map
)
},
{
LNILKEY
,
LNILVAL
}
};
static
const
LUA_REG_TYPE
sjson_decoder_map
[]
=
{
{
LSTRKEY
(
"write"
),
LFUNCVAL
(
sjson_decoder_write
)
},
{
LSTRKEY
(
"result"
),
LFUNCVAL
(
sjson_decoder_result
)
},
{
LSTRKEY
(
"__gc"
),
LFUNCVAL
(
sjson_decoder_destructor
)
},
{
LSTRKEY
(
"__index"
),
LROVAL
(
sjson_decoder_map
)
},
{
LNILKEY
,
LNILVAL
}
};
static
const
LUA_REG_TYPE
sjson_map
[]
=
{
{
LSTRKEY
(
"encode"
),
LFUNCVAL
(
sjson_encode
)
},
{
LSTRKEY
(
"decode"
),
LFUNCVAL
(
sjson_decode
)
},
{
LSTRKEY
(
"encoder"
),
LFUNCVAL
(
sjson_encoder
)
},
{
LSTRKEY
(
"decoder"
),
LFUNCVAL
(
sjson_decoder
)
},
{
LSTRKEY
(
"NULL"
),
LUDATA
(
0
)
},
{
LNILKEY
,
LNILVAL
}
};
LROT_BEGIN
(
sjson_encoder
)
LROT_FUNCENTRY
(
read
,
sjson_encoder_read
)
LROT_FUNCENTRY
(
__gc
,
sjson_encoder_destructor
)
LROT_TABENTRY
(
__index
,
sjson_encoder
)
LROT_END
(
sjson_encoder
,
NULL
,
0
)
LROT_BEGIN
(
sjson_decoder
)
LROT_FUNCENTRY
(
write
,
sjson_decoder_write
)
LROT_FUNCENTRY
(
result
,
sjson_decoder_result
)
LROT_FUNCENTRY
(
__gc
,
sjson_decoder_destructor
)
LROT_TABENTRY
(
__index
,
sjson_decoder
)
LROT_END
(
sjson_decoder
,
NULL
,
0
)
LROT_BEGIN
(
sjson
)
LROT_FUNCENTRY
(
encode
,
sjson_encode
)
LROT_FUNCENTRY
(
decode
,
sjson_decode
)
LROT_FUNCENTRY
(
encoder
,
sjson_encoder
)
LROT_FUNCENTRY
(
decoder
,
sjson_decoder
)
LROT_LUDENTRY
(
NULL
,
0
)
LROT_END
(
sjson
,
NULL
,
0
)
#endif
LUALIB_API
int
luaopen_sjson
(
lua_State
*
L
)
{
...
...
@@ -1061,5 +1058,5 @@ LUALIB_API int luaopen_sjson (lua_State *L) {
}
#ifndef LOCAL_LUA
NODEMCU_MODULE
(
SJSON
,
"sjson"
,
sjson
_map
,
luaopen_sjson
);
NODEMCU_MODULE
(
SJSON
,
"sjson"
,
sjson
,
luaopen_sjson
);
#endif
components/modules/sodium.c
View file @
eaac369d
...
...
@@ -129,24 +129,21 @@ static int l_crypto_box_seal_open(lua_State *L)
return
1
;
}
static
const
LUA_REG_TYPE
random_map
[]
=
{
{
LSTRKEY
(
"random"
),
LFUNCVAL
(
l_randombytes_random
)
},
{
LSTRKEY
(
"uniform"
),
LFUNCVAL
(
l_randombytes_uniform
)
},
{
LSTRKEY
(
"buf"
),
LFUNCVAL
(
l_randombytes_buf
)
},
{
LNILKEY
,
LNILVAL
}
};
static
const
LUA_REG_TYPE
crypto_box_map
[]
=
{
{
LSTRKEY
(
"keypair"
),
LFUNCVAL
(
l_crypto_box_keypair
)
},
{
LSTRKEY
(
"seal"
),
LFUNCVAL
(
l_crypto_box_seal
)
},
{
LSTRKEY
(
"seal_open"
),
LFUNCVAL
(
l_crypto_box_seal_open
)
},
{
LNILKEY
,
LNILVAL
}
};
static
const
LUA_REG_TYPE
sodium_map
[]
=
{
{
LSTRKEY
(
"random"
),
LROVAL
(
random_map
)
},
{
LSTRKEY
(
"crypto_box"
),
LROVAL
(
crypto_box_map
)
},
{
LNILKEY
,
LNILVAL
}
};
NODEMCU_MODULE
(
SODIUM
,
"sodium"
,
sodium_map
,
NULL
);
LROT_BEGIN
(
random
)
LROT_FUNCENTRY
(
random
,
l_randombytes_random
)
LROT_FUNCENTRY
(
uniform
,
l_randombytes_uniform
)
LROT_FUNCENTRY
(
buf
,
l_randombytes_buf
)
LROT_END
(
random
,
NULL
,
0
)
LROT_BEGIN
(
crypto_box
)
LROT_FUNCENTRY
(
keypair
,
l_crypto_box_keypair
)
LROT_FUNCENTRY
(
seal
,
l_crypto_box_seal
)
LROT_FUNCENTRY
(
seal_open
,
l_crypto_box_seal_open
)
LROT_END
(
crypto_box
,
NULL
,
0
)
LROT_BEGIN
(
sodium
)
LROT_TABENTRY
(
random
,
random
)
LROT_TABENTRY
(
crypto_box
,
crypto_box
)
LROT_END
(
sodium
,
NULL
,
0
)
NODEMCU_MODULE
(
SODIUM
,
"sodium"
,
sodium
,
NULL
);
components/modules/spi.c
View file @
eaac369d
...
...
@@ -7,18 +7,17 @@
#include "driver/spi_common.h"
static
const
LUA_REG_TYPE
lspi_map
[]
=
{
{
LSTRKEY
(
"master"
),
LFUNCVAL
(
lspi_master
)
},
// { LSTRKEY( "slave" ), LFUNCVAL( lspi_slave ) },
{
LSTRKEY
(
"SPI"
),
LNUMVAL
(
SPI_HOST
)
},
{
LSTRKEY
(
"HSPI"
),
LNUMVAL
(
HSPI_HOST
)
},
{
LSTRKEY
(
"VSPI"
),
LNUMVAL
(
VSPI_HOST
)
},
{
LNILKEY
,
LNILVAL
}
};
LROT_BEGIN
(
lspi
)
LROT_FUNCENTRY
(
master
,
lspi_master
)
// LROT_FUNCENTRY( slave, lspi_slave )
LROT_NUMENTRY
(
SPI
,
SPI_HOST
)
LROT_NUMENTRY
(
HSPI
,
HSPI_HOST
)
LROT_NUMENTRY
(
VSPI
,
VSPI_HOST
)
LROT_END
(
lspi
,
NULL
,
0
)
int
luaopen_spi
(
lua_State
*
L
)
{
luaopen_spi_master
(
L
);
return
0
;
}
NODEMCU_MODULE
(
SPI
,
"spi"
,
lspi
_map
,
luaopen_spi
);
NODEMCU_MODULE
(
SPI
,
"spi"
,
lspi
,
luaopen_spi
);
components/modules/spi_master.c
View file @
eaac369d
...
...
@@ -177,13 +177,12 @@ free_mem:
}
static
const
LUA_REG_TYPE
lspi_device_map
[]
=
{
{
LSTRKEY
(
"transfer"
),
LFUNCVAL
(
lspi_device_transfer
)
},
{
LSTRKEY
(
"remove"
),
LFUNCVAL
(
lspi_device_free
)
},
{
LSTRKEY
(
"__gc"
),
LFUNCVAL
(
lspi_device_free
)
},
{
LSTRKEY
(
"__index"
),
LROVAL
(
lspi_device_map
)
},
{
LNILKEY
,
LNILVAL
}
};
LROT_BEGIN
(
lspi_device
)
LROT_FUNCENTRY
(
transfer
,
lspi_device_transfer
)
LROT_FUNCENTRY
(
remove
,
lspi_device_free
)
LROT_FUNCENTRY
(
__gc
,
lspi_device_free
)
LROT_TABENTRY
(
__index
,
lspi_device
)
LROT_END
(
lspi_device
,
NULL
,
0
)
// ****************************************************************************
...
...
@@ -321,13 +320,12 @@ static int lspi_host_device( lua_State *L )
}
static
const
LUA_REG_TYPE
lspi_master_map
[]
=
{
{
LSTRKEY
(
"device"
),
LFUNCVAL
(
lspi_host_device
)
},
{
LSTRKEY
(
"close"
),
LFUNCVAL
(
lspi_host_free
)
},
{
LSTRKEY
(
"__gc"
),
LFUNCVAL
(
lspi_host_free
)
},
{
LSTRKEY
(
"__index"
),
LROVAL
(
lspi_master_map
)
},
{
LNILKEY
,
LNILVAL
}
};
LROT_BEGIN
(
lspi_master
)
LROT_FUNCENTRY
(
device
,
lspi_host_device
)
LROT_FUNCENTRY
(
close
,
lspi_host_free
)
LROT_FUNCENTRY
(
__gc
,
lspi_host_free
)
LROT_TABENTRY
(
__index
,
lspi_master
)
LROT_END
(
lspi_master
,
NULL
,
0
)
// ****************************************************************************
...
...
components/modules/struct.c
View file @
eaac369d
...
...
@@ -392,12 +392,11 @@ static int b_size (lua_State *L) {
static
const
LUA_REG_TYPE
thislib
[]
=
{
{
LSTRKEY
(
"pack"
),
LFUNCVAL
(
b_pack
)},
{
LSTRKEY
(
"unpack"
),
LFUNCVAL
(
b_unpack
)},
{
LSTRKEY
(
"size"
),
LFUNCVAL
(
b_size
)},
{
LNILKEY
,
LNILVAL
}
};
LROT_BEGIN
(
thislib
)
LROT_FUNCENTRY
(
pack
,
b_pack
)
LROT_FUNCENTRY
(
unpack
,
b_unpack
)
LROT_FUNCENTRY
(
size
,
b_size
)
LROT_END
(
thislib
,
NULL
,
0
)
NODEMCU_MODULE
(
STRUCT
,
"struct"
,
thislib
,
NULL
);
...
...
components/modules/time.c
View file @
eaac369d
...
...
@@ -143,17 +143,16 @@ static int time_cal2epoc(lua_State *L)
return
1
;
}
static
const
LUA_REG_TYPE
time_map
[]
=
{
{
LSTRKEY
(
"set"
),
LFUNCVAL
(
time_set
)
},
{
LSTRKEY
(
"get"
),
LFUNCVAL
(
time_get
)
},
{
LSTRKEY
(
"getlocal"
),
LFUNCVAL
(
time_getLocal
)
},
{
LSTRKEY
(
"settimezone"
),
LFUNCVAL
(
time_setTimezone
)
},
{
LSTRKEY
(
"initntp"
),
LFUNCVAL
(
time_initNTP
)
},
{
LSTRKEY
(
"ntpenabled"
),
LFUNCVAL
(
time_ntpEnabled
)
},
{
LSTRKEY
(
"ntpstop"
),
LFUNCVAL
(
time_ntpStop
)
},
{
LSTRKEY
(
"epoch2cal"
),
LFUNCVAL
(
time_epoch2cal
)
},
{
LSTRKEY
(
"cal2epoch"
),
LFUNCVAL
(
time_cal2epoc
)
},
{
LNILKEY
,
LNILVAL
}
};
NODEMCU_MODULE
(
TIME
,
"time"
,
time_map
,
NULL
);
LROT_BEGIN
(
time
)
LROT_FUNCENTRY
(
set
,
time_set
)
LROT_FUNCENTRY
(
get
,
time_get
)
LROT_FUNCENTRY
(
getlocal
,
time_getLocal
)
LROT_FUNCENTRY
(
settimezone
,
time_setTimezone
)
LROT_FUNCENTRY
(
initntp
,
time_initNTP
)
LROT_FUNCENTRY
(
ntpenabled
,
time_ntpEnabled
)
LROT_FUNCENTRY
(
ntpstop
,
time_ntpStop
)
LROT_FUNCENTRY
(
epoch2cal
,
time_epoch2cal
)
LROT_FUNCENTRY
(
cal2epoch
,
time_cal2epoc
)
LROT_END
(
time
,
NULL
,
0
)
NODEMCU_MODULE
(
TIME
,
"time"
,
time
,
NULL
);
components/modules/tmr.c
View file @
eaac369d
...
...
@@ -235,26 +235,24 @@ static int tmr_create( lua_State *L ) {
// 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
(
"interval"
),
LFUNCVAL
(
tmr_interval
)
},
{
LSTRKEY
(
"state"
),
LFUNCVAL
(
tmr_state
)
},
{
LSTRKEY
(
"__gc"
),
LFUNCVAL
(
tmr_unregister
)
},
{
LSTRKEY
(
"__index"
),
LROVAL
(
tmr_dyn_map
)
},
{
LNILKEY
,
LNILVAL
}
};
static
const
LUA_REG_TYPE
tmr_map
[]
=
{
{
LSTRKEY
(
"create"
),
LFUNCVAL
(
tmr_create
)
},
{
LSTRKEY
(
"ALARM_SINGLE"
),
LNUMVAL
(
TIMER_MODE_SINGLE
)
},
{
LSTRKEY
(
"ALARM_SEMI"
),
LNUMVAL
(
TIMER_MODE_SEMI
)
},
{
LSTRKEY
(
"ALARM_AUTO"
),
LNUMVAL
(
TIMER_MODE_AUTO
)
},
{
LNILKEY
,
LNILVAL
}
};
LROT_BEGIN
(
tmr_dyn
)
LROT_FUNCENTRY
(
register
,
tmr_register
)
LROT_FUNCENTRY
(
alarm
,
tmr_alarm
)
LROT_FUNCENTRY
(
start
,
tmr_start
)
LROT_FUNCENTRY
(
stop
,
tmr_stop
)
LROT_FUNCENTRY
(
unregister
,
tmr_unregister
)
LROT_FUNCENTRY
(
interval
,
tmr_interval
)
LROT_FUNCENTRY
(
state
,
tmr_state
)
LROT_FUNCENTRY
(
__gc
,
tmr_unregister
)
LROT_TABENTRY
(
__index
,
tmr_dyn
)
LROT_END
(
tmr_dyn
,
NULL
,
0
)
LROT_BEGIN
(
tmr
)
LROT_FUNCENTRY
(
create
,
tmr_create
)
LROT_NUMENTRY
(
ALARM_SINGLE
,
TIMER_MODE_SINGLE
)
LROT_NUMENTRY
(
ALARM_SEMI
,
TIMER_MODE_SEMI
)
LROT_NUMENTRY
(
ALARM_AUTO
,
TIMER_MODE_AUTO
)
LROT_END
(
tmr
,
NULL
,
0
)
static
int
luaopen_tmr
(
lua_State
*
L
){
luaL_rometatable
(
L
,
"tmr.timer"
,
(
void
*
)
tmr_dyn_map
);
...
...
@@ -264,4 +262,4 @@ static int luaopen_tmr( lua_State *L ){
return
0
;
}
NODEMCU_MODULE
(
TMR
,
"tmr"
,
tmr
_map
,
luaopen_tmr
);
NODEMCU_MODULE
(
TMR
,
"tmr"
,
tmr
,
luaopen_tmr
);
components/modules/u8g2.c
View file @
eaac369d
...
...
@@ -560,52 +560,51 @@ static int lu8g2_updateDisplayArea( lua_State *L )
}
static
const
LUA_REG_TYPE
lu8g2_display_map
[]
=
{
{
LSTRKEY
(
"clearBuffer"
),
LFUNCVAL
(
lu8g2_clearBuffer
)
},
{
LSTRKEY
(
"drawBox"
),
LFUNCVAL
(
lu8g2_drawBox
)
},
{
LSTRKEY
(
"drawCircle"
),
LFUNCVAL
(
lu8g2_drawCircle
)
},
{
LSTRKEY
(
"drawDisc"
),
LFUNCVAL
(
lu8g2_drawDisc
)
},
{
LSTRKEY
(
"drawEllipse"
),
LFUNCVAL
(
lu8g2_drawEllipse
)
},
{
LSTRKEY
(
"drawFilledEllipse"
),
LFUNCVAL
(
lu8g2_drawFilledEllipse
)
},
{
LSTRKEY
(
"drawFrame"
),
LFUNCVAL
(
lu8g2_drawFrame
)
},
{
LSTRKEY
(
"drawGlyph"
),
LFUNCVAL
(
lu8g2_drawGlyph
)
},
{
LSTRKEY
(
"drawHLine"
),
LFUNCVAL
(
lu8g2_drawHLine
)
},
{
LSTRKEY
(
"drawLine"
),
LFUNCVAL
(
lu8g2_drawLine
)
},
{
LSTRKEY
(
"drawPixel"
),
LFUNCVAL
(
lu8g2_drawPixel
)
},
{
LSTRKEY
(
"drawRBox"
),
LFUNCVAL
(
lu8g2_drawRBox
)
},
{
LSTRKEY
(
"drawRFrame"
),
LFUNCVAL
(
lu8g2_drawRFrame
)
},
{
LSTRKEY
(
"drawStr"
),
LFUNCVAL
(
lu8g2_drawStr
)
},
{
LSTRKEY
(
"drawTriangle"
),
LFUNCVAL
(
lu8g2_drawTriangle
)
},
{
LSTRKEY
(
"drawUTF8"
),
LFUNCVAL
(
lu8g2_drawUTF8
)
},
{
LSTRKEY
(
"drawVLine"
),
LFUNCVAL
(
lu8g2_drawVLine
)
},
{
LSTRKEY
(
"drawXBM"
),
LFUNCVAL
(
lu8g2_drawXBM
)
},
{
LSTRKEY
(
"getAscent"
),
LFUNCVAL
(
lu8g2_getAscent
)
},
{
LSTRKEY
(
"getDescent"
),
LFUNCVAL
(
lu8g2_getDescent
)
},
{
LSTRKEY
(
"getStrWidth"
),
LFUNCVAL
(
lu8g2_getStrWidth
)
},
{
LSTRKEY
(
"getUTF8Width"
),
LFUNCVAL
(
lu8g2_getUTF8Width
)
},
{
LSTRKEY
(
"sendBuffer"
),
LFUNCVAL
(
lu8g2_sendBuffer
)
},
{
LSTRKEY
(
"setBitmapMode"
),
LFUNCVAL
(
lu8g2_setBitmapMode
)
},
{
LSTRKEY
(
"setContrast"
),
LFUNCVAL
(
lu8g2_setContrast
)
},
{
LSTRKEY
(
"setDisplayRotation"
),
LFUNCVAL
(
lu8g2_setDisplayRotation
)
},
{
LSTRKEY
(
"setDrawColor"
),
LFUNCVAL
(
lu8g2_setDrawColor
)
},
{
LSTRKEY
(
"setFlipMode"
),
LFUNCVAL
(
lu8g2_setFlipMode
)
},
{
LSTRKEY
(
"setFont"
),
LFUNCVAL
(
lu8g2_setFont
)
},
{
LSTRKEY
(
"setFontDirection"
),
LFUNCVAL
(
lu8g2_setFontDirection
)
},
{
LSTRKEY
(
"setFontMode"
),
LFUNCVAL
(
lu8g2_setFontMode
)
},
{
LSTRKEY
(
"setFontPosBaseline"
),
LFUNCVAL
(
lu8g2_setFontPosBaseline
)
},
{
LSTRKEY
(
"setFontPosBottom"
),
LFUNCVAL
(
lu8g2_setFontPosBottom
)
},
{
LSTRKEY
(
"setFontPosTop"
),
LFUNCVAL
(
lu8g2_setFontPosTop
)
},
{
LSTRKEY
(
"setFontPosCenter"
),
LFUNCVAL
(
lu8g2_setFontPosCenter
)
},
{
LSTRKEY
(
"setFontRefHeightAll"
),
LFUNCVAL
(
lu8g2_setFontRefHeightAll
)
},
{
LSTRKEY
(
"setFontRefHeightExtendedText"
),
LFUNCVAL
(
lu8g2_setFontRefHeightExtendedText
)
},
{
LSTRKEY
(
"setFontRefHeightText"
),
LFUNCVAL
(
lu8g2_setFontRefHeightText
)
},
{
LSTRKEY
(
"setPowerSave"
),
LFUNCVAL
(
lu8g2_setPowerSave
)
},
{
LSTRKEY
(
"updateDispla"
),
LFUNCVAL
(
lu8g2_updateDisplay
)
},
{
LSTRKEY
(
"updateDisplayArea"
),
LFUNCVAL
(
lu8g2_updateDisplayArea
)
},
//{ LSTRKEY( "__gc" ), LFUNCVAL( lu8g2_display_free ) },
{
LSTRKEY
(
"__index"
),
LROVAL
(
lu8g2_display_map
)
},
{
LNILKEY
,
LNILVAL
}
};
LROT_BEGIN
(
lu8g2_display
)
LROT_FUNCENTRY
(
clearBuffer
,
lu8g2_clearBuffer
)
LROT_FUNCENTRY
(
drawBox
,
lu8g2_drawBox
)
LROT_FUNCENTRY
(
drawCircle
,
lu8g2_drawCircle
)
LROT_FUNCENTRY
(
drawDisc
,
lu8g2_drawDisc
)
LROT_FUNCENTRY
(
drawEllipse
,
lu8g2_drawEllipse
)
LROT_FUNCENTRY
(
drawFilledEllipse
,
lu8g2_drawFilledEllipse
)
LROT_FUNCENTRY
(
drawFrame
,
lu8g2_drawFrame
)
LROT_FUNCENTRY
(
drawGlyph
,
lu8g2_drawGlyph
)
LROT_FUNCENTRY
(
drawHLine
,
lu8g2_drawHLine
)
LROT_FUNCENTRY
(
drawLine
,
lu8g2_drawLine
)
LROT_FUNCENTRY
(
drawPixel
,
lu8g2_drawPixel
)
LROT_FUNCENTRY
(
drawRBox
,
lu8g2_drawRBox
)
LROT_FUNCENTRY
(
drawRFrame
,
lu8g2_drawRFrame
)
LROT_FUNCENTRY
(
drawStr
,
lu8g2_drawStr
)
LROT_FUNCENTRY
(
drawTriangle
,
lu8g2_drawTriangle
)
LROT_FUNCENTRY
(
drawUTF8
,
lu8g2_drawUTF8
)
LROT_FUNCENTRY
(
drawVLine
,
lu8g2_drawVLine
)
LROT_FUNCENTRY
(
drawXBM
,
lu8g2_drawXBM
)
LROT_FUNCENTRY
(
getAscent
,
lu8g2_getAscent
)
LROT_FUNCENTRY
(
getDescent
,
lu8g2_getDescent
)
LROT_FUNCENTRY
(
getStrWidth
,
lu8g2_getStrWidth
)
LROT_FUNCENTRY
(
getUTF8Width
,
lu8g2_getUTF8Width
)
LROT_FUNCENTRY
(
sendBuffer
,
lu8g2_sendBuffer
)
LROT_FUNCENTRY
(
setBitmapMode
,
lu8g2_setBitmapMode
)
LROT_FUNCENTRY
(
setContrast
,
lu8g2_setContrast
)
LROT_FUNCENTRY
(
setDisplayRotation
,
lu8g2_setDisplayRotation
)
LROT_FUNCENTRY
(
setDrawColor
,
lu8g2_setDrawColor
)
LROT_FUNCENTRY
(
setFlipMode
,
lu8g2_setFlipMode
)
LROT_FUNCENTRY
(
setFont
,
lu8g2_setFont
)
LROT_FUNCENTRY
(
setFontDirection
,
lu8g2_setFontDirection
)
LROT_FUNCENTRY
(
setFontMode
,
lu8g2_setFontMode
)
LROT_FUNCENTRY
(
setFontPosBaseline
,
lu8g2_setFontPosBaseline
)
LROT_FUNCENTRY
(
setFontPosBottom
,
lu8g2_setFontPosBottom
)
LROT_FUNCENTRY
(
setFontPosTop
,
lu8g2_setFontPosTop
)
LROT_FUNCENTRY
(
setFontPosCenter
,
lu8g2_setFontPosCenter
)
LROT_FUNCENTRY
(
setFontRefHeightAll
,
lu8g2_setFontRefHeightAll
)
LROT_FUNCENTRY
(
setFontRefHeightExtendedText
,
lu8g2_setFontRefHeightExtendedText
)
LROT_FUNCENTRY
(
setFontRefHeightText
,
lu8g2_setFontRefHeightText
)
LROT_FUNCENTRY
(
setPowerSave
,
lu8g2_setPowerSave
)
LROT_FUNCENTRY
(
updateDispla
,
lu8g2_updateDisplay
)
LROT_FUNCENTRY
(
updateDisplayArea
,
lu8g2_updateDisplayArea
)
//LROT_FUNCENTRY( __gc, lu8g2_display_free )
LROT_TABENTRY
(
__index
,
lu8g2_display
)
LROT_END
(
lu8g2_display
,
NULL
,
0
)
uint8_t
u8x8_d_overlay
(
u8x8_t
*
u8x8
,
uint8_t
msg
,
uint8_t
arg_int
,
void
*
arg_ptr
);
...
...
@@ -803,33 +802,32 @@ U8G2_DISPLAY_TABLE_SPI
#undef U8G2_FONT_TABLE_ENTRY
#undef U8G2_DISPLAY_TABLE_ENTRY
#define U8G2_DISPLAY_TABLE_ENTRY(function, binding) \
{ LSTRKEY( #binding ), LFUNCVAL(
l ## binding )
},
LROT_FUNCENTRY( #binding,
l ## binding )
static
const
LUA_REG_TYPE
lu8g2_map
[]
=
{
LROT_BEGIN
(
lu8g2
)
U8G2_DISPLAY_TABLE_I2C
U8G2_DISPLAY_TABLE_SPI
//
// Register fonts
#define U8G2_FONT_TABLE_ENTRY(font) \
{ LSTRKE
Y( #font
)
,
LUDATA(
(void *)(u8g2_ ## font) )
},
LROT_LUDENTR
Y( #font, (void *)(u8g2_ ## font) )
U8G2_FONT_TABLE
//
{
LSTRKEY
(
"DRAW_UPPER_RIGHT"
),
LNUMVAL
(
U8G2_DRAW_UPPER_RIGHT
)
},
{
LSTRKEY
(
"DRAW_UPPER_LEFT"
),
LNUMVAL
(
U8G2_DRAW_UPPER_LEFT
)
},
{
LSTRKEY
(
"DRAW_LOWER_RIGHT"
),
LNUMVAL
(
U8G2_DRAW_LOWER_RIGHT
)
},
{
LSTRKEY
(
"DRAW_LOWER_LEFT"
),
LNUMVAL
(
U8G2_DRAW_LOWER_LEFT
)
},
{
LSTRKEY
(
"DRAW_ALL"
),
LNUMVAL
(
U8G2_DRAW_ALL
)
},
{
LSTRKEY
(
"R0"
),
LUDATA
(
(
void
*
)
U8G2_R0
)
},
{
LSTRKEY
(
"R1"
),
LUDATA
(
(
void
*
)
U8G2_R1
)
},
{
LSTRKEY
(
"R2"
),
LUDATA
(
(
void
*
)
U8G2_R2
)
},
{
LSTRKEY
(
"R3"
),
LUDATA
(
(
void
*
)
U8G2_R3
)
},
{
LSTRKEY
(
"MIRROR"
),
LUDATA
(
(
void
*
)
U8G2_MIRROR
)
},
{
LNILKEY
,
LNILVAL
}
};
LROT_NUMENTRY
(
DRAW_UPPER_RIGHT
,
U8G2_DRAW_UPPER_RIGHT
)
LROT_NUMENTRY
(
DRAW_UPPER_LEFT
,
U8G2_DRAW_UPPER_LEFT
)
LROT_NUMENTRY
(
DRAW_LOWER_RIGHT
,
U8G2_DRAW_LOWER_RIGHT
)
LROT_NUMENTRY
(
DRAW_LOWER_LEFT
,
U8G2_DRAW_LOWER_LEFT
)
LROT_NUMENTRY
(
DRAW_ALL
,
U8G2_DRAW_ALL
)
LROT_LUDENTRY
(
R0
,
(
void
*
)
U8G2_R0
)
LROT_LUDENTRY
(
R1
,
(
void
*
)
U8G2_R1
)
LROT_LUDENTRY
(
R2
,
(
void
*
)
U8G2_R2
)
LROT_LUDENTRY
(
R3
,
(
void
*
)
U8G2_R3
)
LROT_LUDENTRY
(
MIRROR
,
(
void
*
)
U8G2_MIRROR
)
LROT_END
(
lu8g2
,
NULL
,
0
)
int
luaopen_u8g2
(
lua_State
*
L
)
{
luaL_rometatable
(
L
,
"u8g2.display"
,
(
void
*
)
lu8g2_display_map
);
return
0
;
}
NODEMCU_MODULE
(
U8G2
,
"u8g2"
,
lu8g2
_map
,
luaopen_u8g2
);
NODEMCU_MODULE
(
U8G2
,
"u8g2"
,
lu8g2
,
luaopen_u8g2
);
components/modules/ucg.c
View file @
eaac369d
...
...
@@ -684,82 +684,77 @@ UCG_DISPLAY_TABLE
// Module function map
static
const
LUA_REG_TYPE
lucg_display_map
[]
=
{
{
LSTRKEY
(
"begin"
),
LFUNCVAL
(
lucg_begin
)
},
{
LSTRKEY
(
"clearScreen"
),
LFUNCVAL
(
lucg_clearScreen
)
},
{
LSTRKEY
(
"draw90Line"
),
LFUNCVAL
(
lucg_draw90Line
)
},
{
LSTRKEY
(
"drawBox"
),
LFUNCVAL
(
lucg_drawBox
)
},
{
LSTRKEY
(
"drawCircle"
),
LFUNCVAL
(
lucg_drawCircle
)
},
{
LSTRKEY
(
"drawDisc"
),
LFUNCVAL
(
lucg_drawDisc
)
},
{
LSTRKEY
(
"drawFrame"
),
LFUNCVAL
(
lucg_drawFrame
)
},
{
LSTRKEY
(
"drawGlyph"
),
LFUNCVAL
(
lucg_drawGlyph
)
},
{
LSTRKEY
(
"drawGradientBox"
),
LFUNCVAL
(
lucg_drawGradientBox
)
},
{
LSTRKEY
(
"drawGradientLine"
),
LFUNCVAL
(
lucg_drawGradientLine
)
},
{
LSTRKEY
(
"drawHLine"
),
LFUNCVAL
(
lucg_drawHLine
)
},
{
LSTRKEY
(
"drawLine"
),
LFUNCVAL
(
lucg_drawLine
)
},
{
LSTRKEY
(
"drawPixel"
),
LFUNCVAL
(
lucg_drawPixel
)
},
{
LSTRKEY
(
"drawRBox"
),
LFUNCVAL
(
lucg_drawRBox
)
},
{
LSTRKEY
(
"drawRFrame"
),
LFUNCVAL
(
lucg_drawRFrame
)
},
{
LSTRKEY
(
"drawString"
),
LFUNCVAL
(
lucg_drawString
)
},
{
LSTRKEY
(
"drawTetragon"
),
LFUNCVAL
(
lucg_drawTetragon
)
},
{
LSTRKEY
(
"drawTriangle"
),
LFUNCVAL
(
lucg_drawTriangle
)
},
{
LSTRKEY
(
"drawVLine"
),
LFUNCVAL
(
lucg_drawVLine
)
},
{
LSTRKEY
(
"getFontAscent"
),
LFUNCVAL
(
lucg_getFontAscent
)
},
{
LSTRKEY
(
"getFontDescent"
),
LFUNCVAL
(
lucg_getFontDescent
)
},
{
LSTRKEY
(
"getHeight"
),
LFUNCVAL
(
lucg_getHeight
)
},
{
LSTRKEY
(
"getStrWidth"
),
LFUNCVAL
(
lucg_getStrWidth
)
},
{
LSTRKEY
(
"getWidth"
),
LFUNCVAL
(
lucg_getWidth
)
},
{
LSTRKEY
(
"print"
),
LFUNCVAL
(
lucg_print
)
},
{
LSTRKEY
(
"setClipRange"
),
LFUNCVAL
(
lucg_setClipRange
)
},
{
LSTRKEY
(
"setColor"
),
LFUNCVAL
(
lucg_setColor
)
},
{
LSTRKEY
(
"setFont"
),
LFUNCVAL
(
lucg_setFont
)
},
{
LSTRKEY
(
"setFontMode"
),
LFUNCVAL
(
lucg_setFontMode
)
},
{
LSTRKEY
(
"setFontPosBaseline"
),
LFUNCVAL
(
lucg_setFontPosBaseline
)
},
{
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
[]
=
{
LROT_BEGIN
(
lucg_display
)
LROT_FUNCENTRY
(
begin
,
lucg_begin
)
LROT_FUNCENTRY
(
clearScreen
,
lucg_clearScreen
)
LROT_FUNCENTRY
(
draw90Line
,
lucg_draw90Line
)
LROT_FUNCENTRY
(
drawBox
,
lucg_drawBox
)
LROT_FUNCENTRY
(
drawCircle
,
lucg_drawCircle
)
LROT_FUNCENTRY
(
drawDisc
,
lucg_drawDisc
)
LROT_FUNCENTRY
(
drawFrame
,
lucg_drawFrame
)
LROT_FUNCENTRY
(
drawGlyph
,
lucg_drawGlyph
)
LROT_FUNCENTRY
(
drawGradientBox
,
lucg_drawGradientBox
)
LROT_FUNCENTRY
(
drawGradientLine
,
lucg_drawGradientLine
)
LROT_FUNCENTRY
(
drawHLine
,
lucg_drawHLine
)
LROT_FUNCENTRY
(
drawLine
,
lucg_drawLine
)
LROT_FUNCENTRY
(
drawPixel
,
lucg_drawPixel
)
LROT_FUNCENTRY
(
drawRBox
,
lucg_drawRBox
)
LROT_FUNCENTRY
(
drawRFrame
,
lucg_drawRFrame
)
LROT_FUNCENTRY
(
drawString
,
lucg_drawString
)
LROT_FUNCENTRY
(
drawTetragon
,
lucg_drawTetragon
)
LROT_FUNCENTRY
(
drawTriangle
,
lucg_drawTriangle
)
LROT_FUNCENTRY
(
drawVLine
,
lucg_drawVLine
)
LROT_FUNCENTRY
(
getFontAscent
,
lucg_getFontAscent
)
LROT_FUNCENTRY
(
getFontDescent
,
lucg_getFontDescent
)
LROT_FUNCENTRY
(
getHeight
,
lucg_getHeight
)
LROT_FUNCENTRY
(
getStrWidth
,
lucg_getStrWidth
)
LROT_FUNCENTRY
(
getWidth
,
lucg_getWidth
)
LROT_FUNCENTRY
(
print
,
lucg_print
)
LROT_FUNCENTRY
(
setClipRange
,
lucg_setClipRange
)
LROT_FUNCENTRY
(
setColor
,
lucg_setColor
)
LROT_FUNCENTRY
(
setFont
,
lucg_setFont
)
LROT_FUNCENTRY
(
setFontMode
,
lucg_setFontMode
)
LROT_FUNCENTRY
(
setFontPosBaseline
,
lucg_setFontPosBaseline
)
LROT_FUNCENTRY
(
setFontPosBottom
,
lucg_setFontPosBottom
)
LROT_FUNCENTRY
(
setFontPosCenter
,
lucg_setFontPosCenter
)
LROT_FUNCENTRY
(
setFontPosTop
,
lucg_setFontPosTop
)
LROT_FUNCENTRY
(
setMaxClipRange
,
lucg_setMaxClipRange
)
LROT_FUNCENTRY
(
setPrintDir
,
lucg_setPrintDir
)
LROT_FUNCENTRY
(
setPrintPos
,
lucg_setPrintPos
)
LROT_FUNCENTRY
(
setRotate90
,
lucg_setRotate90
)
LROT_FUNCENTRY
(
setRotate180
,
lucg_setRotate180
)
LROT_FUNCENTRY
(
setRotate270
,
lucg_setRotate270
)
LROT_FUNCENTRY
(
setScale2x2
,
lucg_setScale2x2
)
LROT_FUNCENTRY
(
undoClipRange
,
lucg_setMaxClipRange
)
LROT_FUNCENTRY
(
undoRotate
,
lucg_undoRotate
)
LROT_FUNCENTRY
(
undoScale
,
lucg_undoScale
)
LROT_FUNCENTRY
(
__gc
,
lucg_close_display
)
LROT_TABENTRY
(
__index
,
lucg_display
)
LROT_END
(
lucg_display
,
NULL
,
0
)
LROT_BEGIN
(
lucg
)
#undef UCG_DISPLAY_TABLE_ENTRY
#define UCG_DISPLAY_TABLE_ENTRY(binding, device, extension)
{ LSTRKEY( #binding ), LFUNCVAL (
l ## binding )
},
#define UCG_DISPLAY_TABLE_ENTRY(binding, device, extension)
LROT_FUNCENTRY( #binding,
l ## binding )
UCG_DISPLAY_TABLE
// Register fonts
#undef UCG_FONT_TABLE_ENTRY
#define UCG_FONT_TABLE_ENTRY(font)
{ LSTRKEY( #font ), LUDATA(
(void *)(ucg_ ## font) )
},
#define UCG_FONT_TABLE_ENTRY(font)
LROT_LUDENTRY( #font,
(void *)(ucg_ ## font) )
UCG_FONT_TABLE
// Font modes
{
LSTRKE
Y
(
"
FONT_MODE_TRANSPARENT
"
),
LNUMVAL
(
UCG_FONT_MODE_TRANSPARENT
)
},
{
LSTRKE
Y
(
"
FONT_MODE_SOLID
"
)
,
LNUMVAL
(
UCG_FONT_MODE_SOLID
)
},
LROT_NUMENTR
Y
(
FONT_MODE_TRANSPARENT
,
UCG_FONT_MODE_TRANSPARENT
)
LROT_NUMENTR
Y
(
FONT_MODE_SOLID
,
UCG_FONT_MODE_SOLID
)
// Options for circle/ disc drawing
{
LSTRKE
Y
(
"
DRAW_UPPER_RIGHT
"
),
LNUMVAL
(
UCG_DRAW_UPPER_RIGHT
)
},
{
LSTRKE
Y
(
"
DRAW_UPPER_LEFT
"
),
LNUMVAL
(
UCG_DRAW_UPPER_LEFT
)
},
{
LSTRKE
Y
(
"
DRAW_LOWER_RIGHT
"
),
LNUMVAL
(
UCG_DRAW_LOWER_RIGHT
)
},
{
LSTRKE
Y
(
"
DRAW_LOWER_LEFT
"
),
LNUMVAL
(
UCG_DRAW_LOWER_LEFT
)
},
{
LSTRKE
Y
(
"
DRAW_ALL
"
)
,
LNUMVAL
(
UCG_DRAW_ALL
)
},
LROT_NUMENTR
Y
(
DRAW_UPPER_RIGHT
,
UCG_DRAW_UPPER_RIGHT
)
LROT_NUMENTR
Y
(
DRAW_UPPER_LEFT
,
UCG_DRAW_UPPER_LEFT
)
LROT_NUMENTR
Y
(
DRAW_LOWER_RIGHT
,
UCG_DRAW_LOWER_RIGHT
)
LROT_NUMENTR
Y
(
DRAW_LOWER_LEFT
,
UCG_DRAW_LOWER_LEFT
)
LROT_NUMENTR
Y
(
DRAW_ALL
,
UCG_DRAW_ALL
)
{
LSTRKEY
(
"__metatable"
),
LROVAL
(
lucg_map
)
},
{
LNILKEY
,
LNILVAL
}
};
LROT_TABENTRY
(
__metatable
,
lucg
)
LROT_END
(
lucg
,
NULL
,
0
)
int
luaopen_ucg
(
lua_State
*
L
)
{
...
...
@@ -767,4 +762,4 @@ int luaopen_ucg( lua_State *L )
return
0
;
}
NODEMCU_MODULE
(
UCG
,
"ucg"
,
lucg
_map
,
luaopen_ucg
);
NODEMCU_MODULE
(
UCG
,
"ucg"
,
lucg
,
luaopen_ucg
);
components/modules/wifi.c
View file @
eaac369d
...
...
@@ -108,37 +108,34 @@ static int wifi_init (lua_State *L)
}
extern
const
LUA_REG_TYPE
wifi_sta
_map
[]
;
extern
const
LUA_REG_TYPE
wifi_ap
_map
[]
;
LROT_EXTERN
(
wifi_sta
)
;
LROT_EXTERN
(
wifi_ap
)
;
static
const
LUA_REG_TYPE
wifi_map
[]
=
{
{
LSTRKEY
(
"getchannel"
),
LFUNCVAL
(
wifi_getchannel
)
},
{
LSTRKEY
(
"getmode"
),
LFUNCVAL
(
wifi_getmode
)
},
{
LSTRKEY
(
"mode"
),
LFUNCVAL
(
wifi_mode
)
},
{
LSTRKEY
(
"start"
),
LFUNCVAL
(
wifi_start
)
},
{
LSTRKEY
(
"stop"
),
LFUNCVAL
(
wifi_stop
)
},
{
LSTRKEY
(
"sta"
),
LROVAL
(
wifi_sta_map
)
},
{
LSTRKEY
(
"ap"
),
LROVAL
(
wifi_ap_map
)
},
LROT_BEGIN
(
wifi
)
LROT_FUNCENTRY
(
getchannel
,
wifi_getchannel
)
LROT_FUNCENTRY
(
getmode
,
wifi_getmode
)
LROT_FUNCENTRY
(
mode
,
wifi_mode
)
LROT_FUNCENTRY
(
start
,
wifi_start
)
LROT_FUNCENTRY
(
stop
,
wifi_stop
)
LROT_TABENTRY
(
sta
,
wifi_sta
)
LROT_TABENTRY
(
ap
,
wifi_ap
)
{
LSTRKEY
(
"NULLMODE"
),
LNUMVAL
(
WIFI_MODE_NULL
)
},
{
LSTRKEY
(
"STATION"
),
LNUMVAL
(
WIFI_MODE_STA
)
},
{
LSTRKEY
(
"SOFTAP"
),
LNUMVAL
(
WIFI_MODE_AP
)
},
{
LSTRKEY
(
"STATIONAP"
),
LNUMVAL
(
WIFI_MODE_APSTA
)
},
{
LSTRKEY
(
"AUTH_OPEN"
),
LNUMVAL
(
WIFI_AUTH_OPEN
)
},
{
LSTRKEY
(
"AUTH_WEP"
),
LNUMVAL
(
WIFI_AUTH_WEP
)
},
{
LSTRKEY
(
"AUTH_WPA_PSK"
),
LNUMVAL
(
WIFI_AUTH_WPA_PSK
)
},
{
LSTRKEY
(
"AUTH_WPA2_PSK"
),
LNUMVAL
(
WIFI_AUTH_WPA2_PSK
)
},
{
LSTRKEY
(
"AUTH_WPA_WPA2_PSK"
),
LNUMVAL
(
WIFI_AUTH_WPA_WPA2_PSK
)
},
LROT_NUMENTRY
(
NULLMODE
,
WIFI_MODE_NULL
)
LROT_NUMENTRY
(
STATION
,
WIFI_MODE_STA
)
LROT_NUMENTRY
(
SOFTAP
,
WIFI_MODE_AP
)
LROT_NUMENTRY
(
STATIONAP
,
WIFI_MODE_APSTA
)
{
LSTRKEY
(
STR_WIFI_SECOND_CHAN_NONE
),
LNUMVAL
(
WIFI_SECOND_CHAN_NONE
)
},
{
LSTRKEY
(
STR_WIFI_SECOND_CHAN_ABOVE
),
LNUMVAL
(
WIFI_SECOND_CHAN_ABOVE
)
},
{
LSTRKEY
(
STR_WIFI_SECOND_CHAN_BELOW
),
LNUMVAL
(
WIFI_SECOND_CHAN_BELOW
)
},
LROT_NUMENTRY
(
AUTH_OPEN
,
WIFI_AUTH_OPEN
)
LROT_NUMENTRY
(
AUTH_WEP
,
WIFI_AUTH_WEP
)
LROT_NUMENTRY
(
AUTH_WPA_PSK
,
WIFI_AUTH_WPA_PSK
)
LROT_NUMENTRY
(
AUTH_WPA2_PSK
,
WIFI_AUTH_WPA2_PSK
)
LROT_NUMENTRY
(
AUTH_WPA_WPA2_PSK
,
WIFI_AUTH_WPA_WPA2_PSK
)
{
LNILKEY
,
LNILVAL
}
};
LROT_NUMENTRY
(
STR_WIFI_SECOND_CHAN_NONE
,
WIFI_SECOND_CHAN_NONE
)
LROT_NUMENTRY
(
STR_WIFI_SECOND_CHAN_ABOVE
,
WIFI_SECOND_CHAN_ABOVE
)
LROT_NUMENTRY
(
STR_WIFI_SECOND_CHAN_BELOW
,
WIFI_SECOND_CHAN_BELOW
)
LROT_END
(
wifi
,
NULL
,
0
)
NODEMCU_MODULE
(
WIFI
,
"wifi"
,
wifi
_map
,
wifi_init
);
NODEMCU_MODULE
(
WIFI
,
"wifi"
,
wifi
,
wifi_init
);
components/modules/wifi_ap.c
View file @
eaac369d
...
...
@@ -170,11 +170,9 @@ static int wifi_ap_setip(lua_State *L)
str
=
luaL_optlstring
(
L
,
-
1
,
""
,
&
len
);
if
(
ipaddr_aton
(
str
,
&
dns
))
{
opt
=
1
;
dhcps_dns_setserver
(
&
dns
);
tcpip_adapter_dhcps_option
(
TCPIP_ADAPTER_OP_SET
,
DOMAIN_NAME_SERVER
,
&
opt
,
sizeof
(
opt
));
}
ESP_ERROR_CHECK
(
tcpip_adapter_dhcps_start
(
TCPIP_ADAPTER_IF_AP
));
...
...
@@ -255,13 +253,10 @@ static int wifi_ap_on (lua_State *L)
}
const
LUA_REG_TYPE
wifi_ap_map
[]
=
{
{
LSTRKEY
(
"setip"
),
LFUNCVAL
(
wifi_ap_setip
)
},
{
LSTRKEY
(
"sethostname"
),
LFUNCVAL
(
wifi_ap_sethostname
)
},
{
LSTRKEY
(
"config"
),
LFUNCVAL
(
wifi_ap_config
)
},
{
LSTRKEY
(
"on"
),
LFUNCVAL
(
wifi_ap_on
)
},
{
LSTRKEY
(
"getmac"
),
LFUNCVAL
(
wifi_ap_getmac
)
},
{
LNILKEY
,
LNILVAL
}
};
LROT_PUBLIC_BEGIN
(
wifi_ap
)
LROT_FUNCENTRY
(
setip
,
wifi_ap_setip
)
LROT_FUNCENTRY
(
sethostname
,
wifi_ap_sethostname
)
LROT_FUNCENTRY
(
config
,
wifi_ap_config
)
LROT_FUNCENTRY
(
on
,
wifi_ap_on
)
LROT_FUNCENTRY
(
getmac
,
wifi_ap_getmac
)
LROT_END
(
wifi_ap
,
NULL
,
0
)
components/modules/wifi_sta.c
View file @
eaac369d
...
...
@@ -453,19 +453,17 @@ static int wifi_sta_scan (lua_State *L)
}
const
LUA_REG_TYPE
wifi_sta_map
[]
=
{
{
LSTRKEY
(
"setip"
),
LFUNCVAL
(
wifi_sta_setip
)
},
{
LSTRKEY
(
"sethostname"
),
LFUNCVAL
(
wifi_sta_sethostname
)},
{
LSTRKEY
(
"config"
),
LFUNCVAL
(
wifi_sta_config
)
},
{
LSTRKEY
(
"connect"
),
LFUNCVAL
(
wifi_sta_connect
)
},
{
LSTRKEY
(
"disconnect"
),
LFUNCVAL
(
wifi_sta_disconnect
)
},
{
LSTRKEY
(
"getconfig"
),
LFUNCVAL
(
wifi_sta_getconfig
)
},
{
LSTRKEY
(
"getmac"
),
LFUNCVAL
(
wifi_sta_getmac
)
},
{
LSTRKEY
(
"on"
),
LFUNCVAL
(
wifi_sta_on
)
},
{
LSTRKEY
(
"scan"
),
LFUNCVAL
(
wifi_sta_scan
)
},
{
LNILKEY
,
LNILVAL
}
};
LROT_PUBLIC_BEGIN
(
wifi_sta
)
LROT_FUNCENTRY
(
setip
,
wifi_sta_setip
)
LROT_FUNCENTRY
(
sethostname
,
wifi_sta_sethostname
)
LROT_FUNCENTRY
(
config
,
wifi_sta_config
)
LROT_FUNCENTRY
(
connect
,
wifi_sta_connect
)
LROT_FUNCENTRY
(
disconnect
,
wifi_sta_disconnect
)
LROT_FUNCENTRY
(
getconfig
,
wifi_sta_getconfig
)
LROT_FUNCENTRY
(
getmac
,
wifi_sta_getmac
)
LROT_FUNCENTRY
(
on
,
wifi_sta_on
)
LROT_FUNCENTRY
(
scan
,
wifi_sta_scan
)
LROT_END
(
wifi_sta
,
NULL
,
0
)
// Currently no auto-connect, so do that in response to events
...
...
components/modules/ws2812.c
View file @
eaac369d
...
...
@@ -497,35 +497,31 @@ static int ws2812_buffer_tostring(lua_State* L) {
return
1
;
}
static
const
LUA_REG_TYPE
ws2812_buffer_map
[]
=
{
{
LSTRKEY
(
"dump"
),
LFUNCVAL
(
ws2812_buffer_dump
)},
{
LSTRKEY
(
"fade"
),
LFUNCVAL
(
ws2812_buffer_fade
)},
{
LSTRKEY
(
"fill"
),
LFUNCVAL
(
ws2812_buffer_fill
)},
{
LSTRKEY
(
"get"
),
LFUNCVAL
(
ws2812_buffer_get
)},
{
LSTRKEY
(
"replace"
),
LFUNCVAL
(
ws2812_buffer_replace
)},
{
LSTRKEY
(
"mix"
),
LFUNCVAL
(
ws2812_buffer_mix
)},
{
LSTRKEY
(
"power"
),
LFUNCVAL
(
ws2812_buffer_power
)},
{
LSTRKEY
(
"set"
),
LFUNCVAL
(
ws2812_buffer_set
)},
{
LSTRKEY
(
"shift"
),
LFUNCVAL
(
ws2812_buffer_shift
)},
{
LSTRKEY
(
"size"
),
LFUNCVAL
(
ws2812_buffer_size
)},
{
LSTRKEY
(
"sub"
),
LFUNCVAL
(
ws2812_buffer_sub
)},
{
LSTRKEY
(
"__concat"
),
LFUNCVAL
(
ws2812_buffer_concat
)},
{
LSTRKEY
(
"__index"
),
LROVAL
(
ws2812_buffer_map
)},
{
LSTRKEY
(
"__tostring"
),
LFUNCVAL
(
ws2812_buffer_tostring
)},
{
LNILKEY
,
LNILVAL
}
};
static
const
LUA_REG_TYPE
ws2812_map
[]
=
{
{
LSTRKEY
(
"newBuffer"
),
LFUNCVAL
(
ws2812_new_buffer
)},
{
LSTRKEY
(
"write"
),
LFUNCVAL
(
ws2812_write
)},
{
LSTRKEY
(
"FADE_IN"
),
LNUMVAL
(
FADE_IN
)
},
{
LSTRKEY
(
"FADE_OUT"
),
LNUMVAL
(
FADE_OUT
)
},
{
LSTRKEY
(
"SHIFT_LOGICAL"
),
LNUMVAL
(
SHIFT_LOGICAL
)
},
{
LSTRKEY
(
"SHIFT_CIRCULAR"
),
LNUMVAL
(
SHIFT_CIRCULAR
)
},
{
LNILKEY
,
LNILVAL
}
};
LROT_BEGIN
(
ws2812_buffer
)
LROT_FUNCENTRY
(
dump
,
ws2812_buffer_dump
)
LROT_FUNCENTRY
(
fade
,
ws2812_buffer_fade
)
LROT_FUNCENTRY
(
fill
,
ws2812_buffer_fill
)
LROT_FUNCENTRY
(
get
,
ws2812_buffer_get
)
LROT_FUNCENTRY
(
replace
,
ws2812_buffer_replace
)
LROT_FUNCENTRY
(
mix
,
ws2812_buffer_mix
)
LROT_FUNCENTRY
(
power
,
ws2812_buffer_power
)
LROT_FUNCENTRY
(
set
,
ws2812_buffer_set
)
LROT_FUNCENTRY
(
shift
,
ws2812_buffer_shift
)
LROT_FUNCENTRY
(
size
,
ws2812_buffer_size
)
LROT_FUNCENTRY
(
sub
,
ws2812_buffer_sub
)
LROT_FUNCENTRY
(
__concat
,
ws2812_buffer_concat
)
LROT_TABENTRY
(
__index
,
ws2812_buffer
)
LROT_FUNCENTRY
(
__tostring
,
ws2812_buffer_tostring
)
LROT_END
(
ws2812_buffer
,
NULL
,
0
)
LROT_BEGIN
(
ws2812
)
LROT_FUNCENTRY
(
newBuffer
,
ws2812_new_buffer
)
LROT_FUNCENTRY
(
write
,
ws2812_write
)
LROT_NUMENTRY
(
FADE_IN
,
FADE_IN
)
LROT_NUMENTRY
(
FADE_OUT
,
FADE_OUT
)
LROT_NUMENTRY
(
SHIFT_LOGICAL
,
SHIFT_LOGICAL
)
LROT_NUMENTRY
(
SHIFT_CIRCULAR
,
SHIFT_CIRCULAR
)
LROT_END
(
ws2812
,
NULL
,
0
)
int
luaopen_ws2812
(
lua_State
*
L
)
{
// TODO: Make sure that the GPIO system is initialized
...
...
@@ -533,4 +529,4 @@ int luaopen_ws2812(lua_State *L) {
return
0
;
}
NODEMCU_MODULE
(
WS2812
,
"ws2812"
,
ws2812
_map
,
luaopen_ws2812
);
NODEMCU_MODULE
(
WS2812
,
"ws2812"
,
ws2812
,
luaopen_ws2812
);
components/platform/Kconfig
View file @
eaac369d
...
...
@@ -108,6 +108,32 @@ config BUILD_SPIFFS
bool
default "y"
config LUA_EMBED_LFS
bool "Embed LFS as part of the NodeMCU firmware"
default "n"
help
The LFS (Lua Flash Store) normally has its own partition entry, and can
can be replaced at will. Optionally, the LFS can instead be permanently
embedded into the NodeMCU firmware image itself. This can be useful for
scenarios where over-the-air firmware upgrades are needed to also
bundle Lua code. The major downside is that once embedded, the LFS can
no longer be changed, as doing so would break the firmware checksums
and signatures and leave the system unable to boot.
The default option is to not embed the LFS, in which case LFS is
looked for in a partition of type 0xC2 and subtype 0x01.
To embed LFS data into firmware, use:
./tools/embed_lfs.sh /path/to/file1.lua /path/to/file2.lua ...
config LUA_EMBEDDED_FLASH_STORE
hex "Embedded LUA Flash Store size"
default 0x0
depends on LUA_EMBED_LFS
help
Embedded LUA Flash Store size. Set to zero to use an LFS partition instead
of embedding the LFS within the NodeMCU firmware itself.
config BUILD_FATFS
bool "Support for FAT filesystems"
default "n"
...
...
components/platform/include/cpu_esp32.h
View file @
eaac369d
...
...
@@ -2,6 +2,7 @@
#define _CPU_ESP32_H_
#include "sdkconfig.h"
#include "esp_spi_flash.h"
#define NUM_UART 3
...
...
components/platform/include/platform.h
View file @
eaac369d
...
...
@@ -246,6 +246,7 @@ int platform_flash_erase_sector( uint32_t sector_id );
#define PLATFORM_PARTITION_SUBTYPE_DATA_WIFI 0x02
#define PLATFORM_PARTITION_SUBTYPE_NODEMCU_SPIFFS 0x00
#define PLATFORM_PARTITION_SUBTYPE_NODEMCU_LFS 0x01
typedef
struct
{
uint8_t
label
[
16
];
...
...
Prev
1
2
3
4
5
6
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