nodemcu-firmware/tools/luacheck_config.lua

926 lines
20 KiB
Lua
Raw Normal View History

local empty = { }
local read_write = {read_only = false}
stds.nodemcu_libs = {
read_globals = {
adc = {
fields = {
INIT_ADC = empty,
INIT_VDD33 = empty,
force_init_mode = empty,
read = empty,
readvdd33 = empty
}
},
ads1115 = {
fields = {
ADDR_GND = empty,
ADDR_SCL = empty,
ADDR_SDA = empty,
ADDR_VDD = empty,
CMODE_TRAD = empty,
CMODE_WINDOW = empty,
COMP_1CONV = empty,
COMP_2CONV = empty,
COMP_4CONV = empty,
CONTINUOUS = empty,
CONV_RDY_1 = empty,
CONV_RDY_2 = empty,
CONV_RDY_4 = empty,
DIFF_0_1 = empty,
DIFF_0_3 = empty,
DIFF_1_3 = empty,
DIFF_2_3 = empty,
DR_128SPS = empty,
DR_1600SPS = empty,
DR_16SPS = empty,
DR_2400SPS = empty,
DR_250SPS = empty,
DR_32SPS = empty,
DR_3300SPS = empty,
DR_475SPS = empty,
DR_490SPS = empty,
DR_64SPS = empty,
DR_860SPS = empty,
DR_8SPS = empty,
DR_920SPS = empty,
GAIN_0_256V = empty,
GAIN_0_512V = empty,
GAIN_1_024V = empty,
GAIN_2_048V = empty,
GAIN_4_096V = empty,
GAIN_6_144V = empty,
SINGLE_0 = empty,
SINGLE_1 = empty,
SINGLE_2 = empty,
SINGLE_3 = empty,
SINGLE_SHOT = empty,
ads1015 = empty,
ads1115 = empty,
read = empty,
reset = empty,
}
},
adxl345 = {
fields = {
read = empty,
setup = empty
}
},
am2320 = {
fields = {
read = empty,
setup = empty
}
},
apa102 = {
fields = {
write = empty
}
},
bit = {
fields = {
arshift = empty,
band = empty,
bit = empty,
bnot = empty,
bor = empty,
bxor = empty,
clear = empty,
isclear = empty,
isset = empty,
lshift = empty,
rshift = empty,
set = empty
}
},
bloom = {
fields = {
create = empty
}
},
bme280 = {
fields = {
altitude = empty,
baro = empty,
dewpoint = empty,
humi = empty,
qfe2qnh = empty,
read = empty,
setup = empty,
startreadout = empty,
temp = empty
}
},
bme680 = {
fields = {
altitude = empty,
dewpoint = empty,
qfe2qnh = empty,
read = empty,
setup = empty,
startreadout = empty
}
},
bmp085 = {
fields = {
pressure = empty,
pressure_raw = empty,
setup = empty,
temperature = empty
}
},
coap = {
fields = {
CON = empty,
Client = empty,
EXI = empty,
JSON = empty,
LINKFORMAT = empty,
NON = empty,
OCTET_STREAM = empty,
Server = empty,
TEXT_PLAIN = empty,
XML = empty
}
},
color_utils = {
fields = {
colorWheel = empty,
grb2hsv = empty,
hsv2grb = empty,
hsv2grbw = empty
}
},
cron = {
fields = {
reset = empty,
schedule = empty
}
},
crypto = {
fields = {
decrypt = empty,
encrypt = empty,
fhash = empty,
hash = empty,
hmac = empty,
mask = empty,
new_hash = empty,
new_hmac = empty,
sha1 = empty,
toBase64 = empty,
toHex = empty
}
},
dcc = {
fields = {
CV_READ = empty,
CV_RESET = empty,
CV_VALID = empty,
CV_WRITE = empty,
DCC_ACCESSORY = empty,
DCC_FUNC = empty,
DCC_IDLE = empty,
DCC_RAW = empty,
DCC_RESET = empty,
DCC_SERVICEMODE = empty,
DCC_SPEED = empty,
DCC_SPEED_RAW = empty,
DCC_TURNOUT = empty,
FLAGS_AUTO_FACTORY_DEFAULT = empty,
FLAGS_DCC_ACCESSORY_DECODER = empty,
FLAGS_MY_ADDRESS_ONLY = empty,
FLAGS_OUTPUT_ADDRESS_MODE = empty,
MAN_ID_DIY = empty,
MAN_ID_JMRI = empty,
MAN_ID_SILICON_RAILWAY = empty,
close = empty,
setup = empty
}
},
dht = {
fields = {
ERROR_CHECKSUM = empty,
ERROR_TIMEOUT = empty,
OK = empty,
read = empty,
read11 = empty,
readxx = empty
}
},
encoder = {
fields = {
fromBase64 = empty,
fromHex = empty,
toBase64 = empty,
toHex = empty
}
},
enduser_setup = {
fields = {
manual = empty,
start = empty,
stop = empty
}
},
file = {
fields = {
chdir = empty,
close = empty,
exists = empty,
flush = empty,
format = empty,
fscfg = empty,
fsinfo = empty,
getcontents = empty,
list = empty,
mount = empty,
n = empty,
on = empty,
open = empty,
putcontents = empty,
read = empty,
readline = empty,
remove = empty,
rename = empty,
seek = empty,
stat = empty,
write = empty,
writeline = empty
}
},
gdbstub = {
fields = {
brk = empty,
gdboutput = empty,
open = empty
}
},
gpio = {
fields = {
FLOAT = empty,
HIGH = empty,
INPUT = empty,
INT = empty,
LOW = empty,
OPENDRAIN = empty,
OUTPUT = empty,
PULLUP = empty,
mode = empty,
read = empty,
serout = empty,
trig = empty,
write = empty,
pulse = {
fields = {
adjust = empty,
cancel = empty,
getstate = empty,
start = empty,
stop = empty,
update = empty
}
}
}
},
hdc1080 = {
fields = {
read = empty,
setup = empty
}
},
hmc5883 = {
fields = {
read = empty,
setup = empty
}
},
http = {
fields = {
ERROR = empty,
OK = empty,
delete = empty,
get = empty,
post = empty,
put = empty,
request = empty
}
},
hx711 = {
fields = {
init = empty,
read = empty
}
},
i2c = {
fields = {
FAST = empty,
FASTPLUS = empty,
RECEIVER = empty,
SLOW = empty,
TRANSMITTER = empty,
address = empty,
read = empty,
setup = empty,
start = empty,
stop = empty,
write = empty
}
},
l3g4200d = {
fields = {
read = empty,
setup = empty
}
},
mcp4725 = {
fields = {
PWRDN_100K = empty,
PWRDN_1K = empty,
PWRDN_500K = empty,
PWRDN_NONE = empty,
read = empty,
write = empty
}
},
mdns = {
fields = {
close = empty,
register = empty
}
},
mqtt = {
fields = {
CONNACK_ACCEPTED = empty,
CONNACK_REFUSED_BAD_USER_OR_PASS = empty,
CONNACK_REFUSED_ID_REJECTED = empty,
CONNACK_REFUSED_NOT_AUTHORIZED = empty,
CONNACK_REFUSED_PROTOCOL_VER = empty,
CONNACK_REFUSED_SERVER_UNAVAILABLE = empty,
CONN_FAIL_DNS = empty,
CONN_FAIL_NOT_A_CONNACK_MSG = empty,
CONN_FAIL_SERVER_NOT_FOUND = empty,
CONN_FAIL_TIMEOUT_RECEIVING = empty,
CONN_FAIL_TIMEOUT_SENDING = empty,
Client = empty
}
},
net = {
fields = {
TCP = empty,
UDP = empty,
cert = empty,
createConnection = empty,
createServer = empty,
createUDPSocket = empty,
dns = {
fields = {
getdnsserver = empty,
resolve = empty,
setdnsserver = empty
}
},
Networking rampage and accumulated fixes (#3060) * espconn: remove unused espconn code, take 1 This is the easiest part of https://github.com/nodemcu/nodemcu-firmware/issues/3004 . It removes a bunch of functions that were never called in our tree. * espconn: De-orbit espconn_gethostbyname Further work on https://github.com/nodemcu/nodemcu-firmware/issues/3004 While here, remove `mqtt`'s charming DNS-retry logic (which is neither shared with nor duplicated in other modules) and update its :connect() return value behavior and documentation. * espconn: remove scary global pktinfo A write-only global! How about that. * net: remove deprecated methods All the TLS stuff moved over there a long time ago, and net_createUDPSocket should just do what it says on the tin. * espconn_secure: remove ESPCONN_SERVER support We can barely function as a TLS client; being a TLS server seems like a real stretch. This code was never called from Lua anyway. * espconn_secure: more code removal * espconn_secure: simplify ssl options structure There is nothing "ssl_packet" about this structure. Get rid of the terrifying "pbuffer" pointer. Squash two structure types together and eliminate an unused field. * espconn_secure: refactor mbedtls_msg_info_load Split out espconn_mbedtls_parse, which we can use as part of our effort towards addressing https://github.com/nodemcu/nodemcu-firmware/issues/3032 * espconn_secure: introduce TLS cert/key callbacks The new feature part of https://github.com/nodemcu/nodemcu-firmware/issues/3032 Subsequent work will remove the old mechanism. * tls: add deprecation warnings * luacheck: net.ifinfo is a thing now * tls: remove use of espconn->reverse * mqtt: stop using espconn->reverse Instead, just place the espconn structure itself at the top of the user data. This enlarges the structure somewhat but removes one more layer of dynamic heap usage and NULL checks. While here, simplify the code a bit. * mqtt: remove redundant pointer to connect_info Everywhere we have the mqtt_state_t we also have the lmqtt_userdata. * mqtt: doc fixes * mqtt: note bug * tls: allow :on(...,nil) to unregister a callback
2020-04-07 14:06:27 +02:00
ifinfo = empty,
multicastJoin = empty,
multicastLeave = empty
}
},
node = {
fields = {
CPU160MHZ = empty,
CPU80MHZ = empty,
bootreason = empty,
chipid = empty,
compile = empty,
dsleep = empty,
dsleepMax = empty,
dsleepsetoption = empty,
flashid = empty,
flashindex = empty,
flashreload = empty,
flashsize = empty,
getcpufreq = empty,
getpartitiontable = empty,
heap = empty,
info = empty,
input = empty,
osprint = empty,
output = empty,
random = empty,
readrcr = empty,
readvdd33 = empty,
restart = empty,
restore = empty,
setcpufreq = empty,
setpartitiontable = empty,
sleep = empty,
stripdebug = empty,
writercr = empty,
egc = {
fields = {
setmode = empty,
meminfo = empty
}
},
task = {
fields = {
post = empty,
LOW_PRIORITY = empty,
MEDIUM_PRIORITY = empty,
HIGH_PRIORITY = empty
}
}
}
},
ow = {
fields = {
check_crc16 = empty,
crc16 = empty,
crc8 = empty,
depower = empty,
read = empty,
read_bytes = empty,
reset = empty,
reset_search = empty,
search = empty,
select = empty,
setup = empty,
skip = empty,
target_search = empty,
write = empty,
write_bytes = empty
}
},
pcm = {
fields = {
RATE_10K = empty,
RATE_12K = empty,
RATE_16K = empty,
RATE_1K = empty,
RATE_2K = empty,
RATE_4K = empty,
RATE_5K = empty,
RATE_8K = empty,
SD = empty,
new = empty
}
},
pwm = {
fields = {
close = empty,
getclock = empty,
getduty = empty,
setclock = empty,
setduty = empty,
setup = empty,
start = empty,
stop = empty
}
},
pwm2 = {
fields = {
get_pin_data = empty,
get_timer_data = empty,
release_pin = empty,
set_duty = empty,
setup_pin_hz = empty,
setup_pin_sec = empty,
start = empty,
stop = empty,
}
},
rc = {
fields = {
send = empty
}
},
rfswitch = {
fields = {
send = empty
}
},
rotary = {
fields = {
ALL = empty,
CLICK = empty,
DBLCLICK = empty,
LONGPRESS = empty,
PRESS = empty,
RELEASE = empty,
TURN = empty,
close = empty,
getpos = empty,
on = empty,
setup = empty
}
},
rtcfifo = {
fields = {
count = empty,
drop = empty,
dsleep_until_sample = empty,
peek = empty,
pop = empty,
prepare = empty,
put = empty,
ready = empty
}
},
rtcmem = {
fields = {
read32 = empty,
write32 = empty
}
},
rtctime = {
fields = {
adjust_delta = empty,
dsleep = empty,
dsleep_aligned = empty,
epoch2cal = empty,
get = empty,
set = empty
}
},
si7021 = {
fields = {
HEATER_DISABLE = empty,
HEATER_ENABLE = empty,
RH08_TEMP12 = empty,
RH10_TEMP13 = empty,
RH11_TEMP11 = empty,
RH12_TEMP14 = empty,
firmware = empty,
read = empty,
serial = empty,
setting = empty,
setup = empty
}
},
sigma_delta = {
fields = {
close = empty,
setprescale = empty,
setpwmduty = empty,
settarget = empty,
setup = empty
}
},
sjson = {
fields = {
decode = empty,
decoder = empty,
encode = empty,
encoder = empty
}
},
sntp = {
fields = {
getoffset = empty,
setoffset = empty,
sync = empty
}
},
somfy = {
fields = {
DOWN = empty,
PROG = empty,
STOP = empty,
UP = empty,
sendcommand = empty
}
},
spi = {
fields = {
CPHA_HIGH = empty,
CPHA_LOW = empty,
CPOL_HIGH = empty,
CPOL_LOW = empty,
DATABITS_8 = empty,
FULLDUPLEX = empty,
HALFDUPLEX = empty,
MASTER = empty,
SLAVE = empty,
get_miso = empty,
recv = empty,
send = empty,
set_clock_div = empty,
set_mosi = empty,
setup = empty,
transaction = empty
}
},
struct = {
fields = {
pack = empty,
size = empty,
unpack = empty
}
},
switec = {
fields = {
close = empty,
dequeue = empty,
getpos = empty,
moveto = empty,
reset = empty,
setup = empty
}
},
tcs34725 = {
fields = {
disable = empty,
enable = empty,
raw = empty,
setGain = empty,
setIntegrationTime = empty,
setup = empty
}
},
tls = {
fields = {
createConnection = empty,
setDebug = empty,
cert = {
fields = {
auth = empty,
verify = empty
}
}
}
},
tm1829 = {
fields = {
write = empty
}
},
tmr = {
fields = {
ALARM_AUTO = empty,
ALARM_SEMI = empty,
ALARM_SINGLE = empty,
create = empty,
delay = empty,
now = empty,
resume_all = empty,
softwd = empty,
suspend_all = empty,
time = empty,
wdclr = empty
}
},
tsl2561 = {
fields = {
ADDRESS_FLOAT = empty,
ADDRESS_GND = empty,
ADDRESS_VDD = empty,
GAIN_16X = empty,
GAIN_1X = empty,
INTEGRATIONTIME_101MS = empty,
INTEGRATIONTIME_13MS = empty,
INTEGRATIONTIME_402MS = empty,
PACKAGE_CS = empty,
PACKAGE_T_FN_CL = empty,
TSL2561_ERROR_I2CBUSY = empty,
TSL2561_ERROR_I2CINIT = empty,
TSL2561_ERROR_LAST = empty,
TSL2561_ERROR_NOINIT = empty,
TSL2561_OK = empty,
getlux = empty,
getrawchannels = empty,
init = empty,
settiming = empty
}
},
-- There would be too many fields for all the fonts and displays
u8g2 = {other_fields = true},
uart = {
fields = {
PARITY_EVEN = empty,
PARITY_NONE = empty,
PARITY_ODD = empty,
STOPBITS_1 = empty,
STOPBITS_1_5 = empty,
STOPBITS_2 = empty,
alt = empty,
getconfig = empty,
on = empty,
setup = empty,
write = empty
}
},
-- There would be too many fields for all the fonts and displays
ucg = {other_fields = true},
websocket = {
fields = {
createClient = empty
}
},
wifi = {
fields = {
COUNTRY_AUTO = empty,
COUNTRY_MANUAL = empty,
LIGHT_SLEEP = empty,
MODEM_SLEEP = empty,
NONE_SLEEP = empty,
NULLMODE = empty,
OPEN = empty,
PHYMODE_B = empty,
PHYMODE_G = empty,
PHYMODE_N = empty,
SOFTAP = empty,
STATION = empty,
STATIONAP = empty,
STA_APNOTFOUND = empty,
STA_CONNECTING = empty,
STA_FAIL = empty,
STA_GOTIP = empty,
STA_IDLE = empty,
STA_WRONGPWD = empty,
WEP = empty,
WPA2_PSK = empty,
WPA_PSK = empty,
WPA_WPA2_PSK = empty,
getchannel = empty,
getcountry = empty,
getdefaultmode = empty,
getmode = empty,
getphymode = empty,
nullmodesleep = empty,
resume = empty,
setcountry = empty,
setmaxtxpower = empty,
setmode = empty,
setphymode = empty,
sleeptype = empty,
startsmart = empty,
stopsmart = empty,
suspend = empty,
sta = {
fields = {
autoconnect = empty,
changeap = empty,
clearconfig = empty,
config = empty,
connect = empty,
disconnect = empty,
getap = empty,
getapindex = empty,
getapinfo = empty,
getbroadcast = empty,
getconfig = empty,
getdefaultconfig = empty,
gethostname = empty,
getip = empty,
getmac = empty,
getrssi = empty,
setaplimit = empty,
sethostname = empty,
setip = empty,
setmac = empty,
sleeptype = empty,
status = empty
}
},
ap = {
fields = {
config = empty,
deauth = empty,
getbroadcast = empty,
getclient = empty,
getconfig = empty,
getdefaultconfig = empty,
getip = empty,
getmac = empty,
setip = empty,
setmac = empty,
dhcp = {
fields = {
config = empty,
start = empty,
stop = empty
}
},
}
},
eventmon = {
fields = {
AP_PROBEREQRECVED = empty,
AP_STACONNECTED = empty,
AP_STADISCONNECTED = empty,
EVENT_MAX = empty,
STA_AUTHMODE_CHANGE = empty,
STA_CONNECTED = empty,
STA_DHCP_TIMEOUT = empty,
STA_DISCONNECTED = empty,
STA_GOT_IP = empty,
WIFI_MODE_CHANGED = empty,
register = empty,
unregister = empty,
reason = {
fields = {
["4WAY_HANDSHAKE_TIMEOUT"] = empty,
["802_1X_AUTH_FAILED"] = empty,
AKMP_INVALID = empty,
ASSOC_EXPIRE = empty,
ASSOC_FAIL = empty,
ASSOC_LEAVE = empty,
ASSOC_NOT_AUTHED = empty,
ASSOC_TOOMANY = empty,
AUTH_EXPIRE = empty,
AUTH_FAIL = empty,
AUTH_LEAVE = empty,
BEACON_TIMEOUT = empty,
CIPHER_SUITE_REJECTED = empty,
DISASSOC_PWRCAP_BAD = empty,
DISASSOC_SUPCHAN_BAD = empty,
GROUP_CIPHER_INVALID = empty,
GROUP_KEY_UPDATE_TIMEOUT = empty,
HANDSHAKE_TIMEOUT = empty,
IE_INVALID = empty,
IE_IN_4WAY_DIFFERS = empty,
INVALID_RSN_IE_CAP = empty,
MIC_FAILURE = empty,
NOT_ASSOCED = empty,
NOT_AUTHED = empty,
NO_AP_FOUND = empty,
PAIRWISE_CIPHER_INVALID = empty,
UNSPECIFIED = empty,
UNSUPP_RSN_IE_VERSION = empty
}
}
}
},
monitor = {
fields = {
channel = empty,
start = empty,
stop = empty
}
}
}
},
wps = {
fields = {
FAILED = empty,
SCAN_ERR = empty,
SUCCESS = empty,
TIMEOUT = empty,
WEP = empty,
disable = empty,
enable = empty,
start = empty
}
},
ws2801 = {
fields = {
init = empty,
write = empty
}
},
ws2812 = {
fields = {
FADE_IN = empty,
FADE_OUT = empty,
MODE_DUAL = empty,
MODE_SINGLE = empty,
SHIFT_CIRCULAR = empty,
SHIFT_LOGICAL = empty,
init = empty,
newBuffer = empty,
write = empty
}
},
ws2812_effects = {
fields = {
get_delay = empty,
get_speed = empty,
init = empty,
set_brightness = empty,
set_color = empty,
set_delay = empty,
set_mode = empty,
set_speed = empty,
start = empty,
stop = empty
}
},
xpt2046 = {
fields = {
getPosition = empty,
getPositionAvg = empty,
getRaw = empty,
init = empty,
isTouched = empty,
setCalibration = empty
}
},
pack = empty,
unpack = empty,
size = empty,
package = {fields = {seeall = read_write}}
}
}
std = "lua51+nodemcu_libs"