-
-

iconv - iconv Operation#

+
+

iconv - Character encoding conversion#

Adapted Air101/Air103 Air601 Air105 ESP32C3 ESP32S3 Air780E/Air700E

-

Return Value

-
- - - + - - - - + +

return value type

explanation

fromcode$Source encoding format$gb2312/ucs2/ucs2be/utf8

userdata

The conversion handle of the encoding conversion function, which returns if it does not exist.nil

return

table$cd$The conversion handle of the encoding conversion function.$

+

Return Value

+

None

Examples

--unicode Big Endian Code Converts to utf8 Code
-local iconv = iconv.open("utf8", "ucs2be")
+local cd = iconv.open("utf8", "ucs2be")
 

-
-

iconv:iconv(inbuf)#

+
+

cd:iconv(inbuf)#

Character encoding conversion

Parameters

@@ -755,36 +747,28 @@

iconv:iconv(inbuf)

- - - -

string

Interpretation: String to be converted

-

Return Value

-
- - - + - - - - + +

return value type

explanation

inbuf$Enter the string $for example:ucs2s

number

Interpretation: return the result after code conversion
value: 0 success,-1 failure

return

number$result$Returns the result after code conversion $0 succeeded,-1 failed

+

Return Value

+

None

Examples

--unicode Big Endian Code Converts to utf8 Code
 function ucs2beToUtf8(ucs2s)
-    local iconv = iconv.open("utf8", "ucs2be")
-    return iconv:iconv(ucs2s)
+    local cd = iconv.open("utf8", "ucs2be")
+    return cd:iconv(ucs2s)
 end
 

-
-

iconv.open(tocode, fromcode)#

-

Open the corresponding character encoding conversion function

+
+

iconv.close(cd)#

+

Turn off character encoding conversion

Parameters

@@ -794,28 +778,26 @@

iconv.open(tocode, fromcode)

- - - - + - - + +

string

tocode$Target Encoding Format$gb2312/ucs2/ucs2be/utf8

string

fromcode$Source encoding format$gb2312/ucs2/ucs2be/utf8

cd$iconv.open Handle returned$

return

table$cd$The conversion handle of the encoding conversion function.$

return

Return Value

None

Examples

-
--unicode Big Endian Code Converts to utf8 Code
+
--Turn off character encoding conversion
 local cd = iconv.open("utf8", "ucs2be")
+iconv.close(cd)
 

-
-

cd:iconv(inbuf)#

-

Character encoding conversion

+
+

iconv.open(tocode, fromcode)#

+

Open the corresponding character encoding conversion function

Parameters

@@ -825,28 +807,36 @@

cd:iconv(inbuf)

- + - - + +

string

inbuf$Enter the string $for example:ucs2s

Interpretation: target encoding format
value:gb2312/ucs2/ucs2be/utf8

return

number$result$Returns the result after code conversion $0 succeeded,-1 failed

string

Interpretation: source encoding format
value:gb2312/ucs2/ucs2be/utf8

Return Value

-

None

+
+ + + + + + + + + + +

return value type

explanation

userdata

The conversion handle of the encoding conversion function, which returns if it does not exist.nil

Examples

--unicode Big Endian Code Converts to utf8 Code
-function ucs2beToUtf8(ucs2s)
-    local cd = iconv.open("utf8", "ucs2be")
-    return cd:iconv(ucs2s)
-end
+local iconv = iconv.open("utf8", "ucs2be")
 

-
-

iconv.close(cd)#

-

Turn off character encoding conversion

+
+

iconv:iconv(inbuf)#

+

Character encoding conversion

Parameters

@@ -856,19 +846,29 @@

iconv.close(cd)

- - - - +

string

cd$iconv.open Handle returned$

return

Interpretation: String to be converted

Return Value

-

None

+
+ + + + + + + + + + +

return value type

explanation

number

Interpretation: return the result after code conversion
value: 0 success,-1 failure

Examples

-
--Turn off character encoding conversion
-local cd = iconv.open("utf8", "ucs2be")
-iconv.close(cd)
+
--unicode Big Endian Code Converts to utf8 Code
+function ucs2beToUtf8(ucs2s)
+    local iconv = iconv.open("utf8", "ucs2be")
+    return iconv:iconv(ucs2s)
+end
 

@@ -931,12 +931,12 @@

iconv.close(cd)
-
  • iconv - iconv Operation
  • +
    iconv - Character encoding conversion

    diff --git a/docs/api/ioqueue.html b/docs/api/ioqueue.html index c24571e3f..30e65211f 100644 --- a/docs/api/ioqueue.html +++ b/docs/api/ioqueue.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/iotauth.html b/docs/api/iotauth.html index ebe515b8c..179bcef59 100644 --- a/docs/api/iotauth.html +++ b/docs/api/iotauth.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/ir.html b/docs/api/ir.html index b95265773..688e846a8 100644 --- a/docs/api/ir.html +++ b/docs/api/ir.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/json.html b/docs/api/json.html index 3241ce57f..e1e9e0c67 100644 --- a/docs/api/json.html +++ b/docs/api/json.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/keyboard.html b/docs/api/keyboard.html index 83e2a2571..48ebc9947 100644 --- a/docs/api/keyboard.html +++ b/docs/api/keyboard.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/lcd.html b/docs/api/lcd.html index 6e97d01d4..7ad78d1ff 100644 --- a/docs/api/lcd.html +++ b/docs/api/lcd.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/lcdseg.html b/docs/api/lcdseg.html index 5950bbd84..4eda4e617 100644 --- a/docs/api/lcdseg.html +++ b/docs/api/lcdseg.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/libcoap.html b/docs/api/libcoap.html index 78e058b6a..d14f46c46 100644 --- a/docs/api/libcoap.html +++ b/docs/api/libcoap.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/libgnss.html b/docs/api/libgnss.html index 9498d3bb1..b50abef84 100644 --- a/docs/api/libgnss.html +++ b/docs/api/libgnss.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/libs/ads1115.html b/docs/api/libs/ads1115.html index e83b9dae4..913a2ed54 100644 --- a/docs/api/libs/ads1115.html +++ b/docs/api/libs/ads1115.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/libs/adxl34x.html b/docs/api/libs/adxl34x.html index 26245675e..480c5788f 100644 --- a/docs/api/libs/adxl34x.html +++ b/docs/api/libs/adxl34x.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/libs/aht10.html b/docs/api/libs/aht10.html index dadf56310..d20301438 100644 --- a/docs/api/libs/aht10.html +++ b/docs/api/libs/aht10.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/libs/air153C_wtd.html b/docs/api/libs/air153C_wtd.html index 9421c85c7..90270647f 100644 --- a/docs/api/libs/air153C_wtd.html +++ b/docs/api/libs/air153C_wtd.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/libs/ak8963.html b/docs/api/libs/ak8963.html index ece2e8c86..ee8f147f6 100644 --- a/docs/api/libs/ak8963.html +++ b/docs/api/libs/ak8963.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/libs/am2320.html b/docs/api/libs/am2320.html index f4a52d873..5073766df 100644 --- a/docs/api/libs/am2320.html +++ b/docs/api/libs/am2320.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/libs/bh1750.html b/docs/api/libs/bh1750.html index d9bd390df..6f04d79b6 100644 --- a/docs/api/libs/bh1750.html +++ b/docs/api/libs/bh1750.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/libs/bmx.html b/docs/api/libs/bmx.html index e2cb9d52e..6405daee7 100644 --- a/docs/api/libs/bmx.html +++ b/docs/api/libs/bmx.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/libs/cht8305c.html b/docs/api/libs/cht8305c.html index 44009d8b3..3242519c8 100644 --- a/docs/api/libs/cht8305c.html +++ b/docs/api/libs/cht8305c.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/libs/ds3231.html b/docs/api/libs/ds3231.html index d2fe3d9df..7895a4a81 100644 --- a/docs/api/libs/ds3231.html +++ b/docs/api/libs/ds3231.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/libs/ec11.html b/docs/api/libs/ec11.html index 4b01a7393..b95856755 100644 --- a/docs/api/libs/ec11.html +++ b/docs/api/libs/ec11.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/libs/gt911.html b/docs/api/libs/gt911.html index 262fb2096..57b8a408c 100644 --- a/docs/api/libs/gt911.html +++ b/docs/api/libs/gt911.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/libs/httpdns.html b/docs/api/libs/httpdns.html index 5d2c7d3cf..be606a48e 100644 --- a/docs/api/libs/httpdns.html +++ b/docs/api/libs/httpdns.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/libs/ina226.html b/docs/api/libs/ina226.html index ffb762bf4..099f275ef 100644 --- a/docs/api/libs/ina226.html +++ b/docs/api/libs/ina226.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/libs/index.html b/docs/api/libs/index.html index 3a7520822..a019dc945 100644 --- a/docs/api/libs/index.html +++ b/docs/api/libs/index.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/libs/iotcloud.html b/docs/api/libs/iotcloud.html index 21165a10e..e911f2c9d 100644 --- a/docs/api/libs/iotcloud.html +++ b/docs/api/libs/iotcloud.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/libs/l3g4200d.html b/docs/api/libs/l3g4200d.html index e7755bc83..479d5ae03 100644 --- a/docs/api/libs/l3g4200d.html +++ b/docs/api/libs/l3g4200d.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/libs/lbsLoc.html b/docs/api/libs/lbsLoc.html index 424174a65..a150ea4c2 100644 --- a/docs/api/libs/lbsLoc.html +++ b/docs/api/libs/lbsLoc.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/libs/lbsLoc2.html b/docs/api/libs/lbsLoc2.html index a303a491c..851559304 100644 --- a/docs/api/libs/lbsLoc2.html +++ b/docs/api/libs/lbsLoc2.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/libs/libfota.html b/docs/api/libs/libfota.html index 8fef4877b..463d5c9eb 100644 --- a/docs/api/libs/libfota.html +++ b/docs/api/libs/libfota.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/libs/libnet.html b/docs/api/libs/libnet.html index 9ae1ba428..5090ad1c1 100644 --- a/docs/api/libs/libnet.html +++ b/docs/api/libs/libnet.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/libs/lis2dh12.html b/docs/api/libs/lis2dh12.html index 6c942026c..ab40a48ea 100644 --- a/docs/api/libs/lis2dh12.html +++ b/docs/api/libs/lis2dh12.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/libs/lm75.html b/docs/api/libs/lm75.html index af631743a..781331d31 100644 --- a/docs/api/libs/lm75.html +++ b/docs/api/libs/lm75.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • @@ -705,8 +705,7 @@

    lm75 - lm75 Temperature Sensor Support lm75a lm75bThis page document is automatically generated by this file. If there is any error, please submit issue or help modify pr, thank you!

    Example

    -
    --Note: due to the use of sys.wait() all apis need to be used in the coroutine
    --- Usage Examples
    +
    -- Usage Examples
     local lm75 = require "lm75"
     i2cid = 0
     i2c_speed = i2c.FAST
    diff --git a/docs/api/libs/mcp2515.html b/docs/api/libs/mcp2515.html
    index 37ef03b7d..a7b2380e8 100644
    --- a/docs/api/libs/mcp2515.html
    +++ b/docs/api/libs/mcp2515.html
    @@ -445,7 +445,7 @@
     
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/libs/mlx90614.html b/docs/api/libs/mlx90614.html index c36e7b422..90c83f437 100644 --- a/docs/api/libs/mlx90614.html +++ b/docs/api/libs/mlx90614.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • @@ -705,8 +705,7 @@

    mlx90614 - mlx90614 infrared temperaturethis file. If there is any error, please submit issue or help modify pr, thank you!

    Example

    -
    --Note: due to the use of sys.wait() all apis need to be used in the coroutine
    --- Usage Examples
    +
    -- Usage Examples
     local mlx90614 = require "mlx90614"
     
     
    diff --git a/docs/api/libs/mpu6xxx.html b/docs/api/libs/mpu6xxx.html
    index 47b4b36a6..eebcdc1f1 100644
    --- a/docs/api/libs/mpu6xxx.html
    +++ b/docs/api/libs/mpu6xxx.html
    @@ -445,7 +445,7 @@
     
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/libs/necir.html b/docs/api/libs/necir.html index 71cd098cf..407e512bc 100644 --- a/docs/api/libs/necir.html +++ b/docs/api/libs/necir.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/libs/netLed.html b/docs/api/libs/netLed.html index 6e80ac39d..fcb2bc337 100644 --- a/docs/api/libs/netLed.html +++ b/docs/api/libs/netLed.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/libs/pcf8563t.html b/docs/api/libs/pcf8563t.html index 6b73ca608..d43691220 100644 --- a/docs/api/libs/pcf8563t.html +++ b/docs/api/libs/pcf8563t.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/libs/pcf8574.html b/docs/api/libs/pcf8574.html index 2f86df55b..d1a340deb 100644 --- a/docs/api/libs/pcf8574.html +++ b/docs/api/libs/pcf8574.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/libs/qmc5883l.html b/docs/api/libs/qmc5883l.html index 00bb4f587..ef23f5c4c 100644 --- a/docs/api/libs/qmc5883l.html +++ b/docs/api/libs/qmc5883l.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/libs/rc522.html b/docs/api/libs/rc522.html index 4a41e41ea..9aaf17c45 100644 --- a/docs/api/libs/rc522.html +++ b/docs/api/libs/rc522.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/libs/rtkv.html b/docs/api/libs/rtkv.html index 112a3271b..c718d55f4 100644 --- a/docs/api/libs/rtkv.html +++ b/docs/api/libs/rtkv.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/libs/shift595.html b/docs/api/libs/shift595.html index 937e90c40..d49b185cb 100644 --- a/docs/api/libs/shift595.html +++ b/docs/api/libs/shift595.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/libs/si24r1.html b/docs/api/libs/si24r1.html index e30ef65e5..9d77042df 100644 --- a/docs/api/libs/si24r1.html +++ b/docs/api/libs/si24r1.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/libs/spl06.html b/docs/api/libs/spl06.html index 4c86e29c1..ed51e50d4 100644 --- a/docs/api/libs/spl06.html +++ b/docs/api/libs/spl06.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/libs/tcs3472.html b/docs/api/libs/tcs3472.html index d446d2287..8c6cfc37c 100644 --- a/docs/api/libs/tcs3472.html +++ b/docs/api/libs/tcs3472.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/libs/tm1637.html b/docs/api/libs/tm1637.html index e401242a6..86c201b5b 100644 --- a/docs/api/libs/tm1637.html +++ b/docs/api/libs/tm1637.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/libs/tm1640.html b/docs/api/libs/tm1640.html index 22e3af8f7..5b9757f59 100644 --- a/docs/api/libs/tm1640.html +++ b/docs/api/libs/tm1640.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/libs/tm1650.html b/docs/api/libs/tm1650.html index 0a1f1800f..ae3c914b5 100644 --- a/docs/api/libs/tm1650.html +++ b/docs/api/libs/tm1650.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/libs/tsl2561.html b/docs/api/libs/tsl2561.html index 967996682..a339d5393 100644 --- a/docs/api/libs/tsl2561.html +++ b/docs/api/libs/tsl2561.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/libs/udpsrv.html b/docs/api/libs/udpsrv.html index d291ea0ff..dedce6b0b 100644 --- a/docs/api/libs/udpsrv.html +++ b/docs/api/libs/udpsrv.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/libs/xmodem.html b/docs/api/libs/xmodem.html index 663125890..1cfb4f03d 100644 --- a/docs/api/libs/xmodem.html +++ b/docs/api/libs/xmodem.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/libs/ze08g_ch2o.html b/docs/api/libs/ze08g_ch2o.html index 6068f73fb..d464a51ba 100644 --- a/docs/api/libs/ze08g_ch2o.html +++ b/docs/api/libs/ze08g_ch2o.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/libs/zh07.html b/docs/api/libs/zh07.html index 530ce4a54..7f89e938a 100644 --- a/docs/api/libs/zh07.html +++ b/docs/api/libs/zh07.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/log.html b/docs/api/log.html index bec7633c4..8693c314e 100644 --- a/docs/api/log.html +++ b/docs/api/log.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/lora.html b/docs/api/lora.html index 46f69512d..a58930116 100644 --- a/docs/api/lora.html +++ b/docs/api/lora.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/lora2.html b/docs/api/lora2.html index b3eaa8f2a..34fd2e30a 100644 --- a/docs/api/lora2.html +++ b/docs/api/lora2.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/lpmem.html b/docs/api/lpmem.html index e1ea77d95..8db08dfc4 100644 --- a/docs/api/lpmem.html +++ b/docs/api/lpmem.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/lvgl.html b/docs/api/lvgl.html index ae7da9c78..eab3dff5e 100644 --- a/docs/api/lvgl.html +++ b/docs/api/lvgl.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • @@ -815,133 +815,6 @@

    lvgl.draw_mask_fade_param_t_free(fade) -
    -

    lvgl.font_get(name)#

    -

    Get Built-in Font

    -

    Parameters

    -
    - - - - - - - - - - -

    Incoming Value Type

    Explanation

    string

    Font name font size, for example opposans_m_10

    -

    Return Value

    -
    - - - - - - - - - - -

    return value type

    explanation

    userdata

    Font Pointer

    -

    Examples

    -
    local font = lvgl.font_get("opposans_m_12")
    -
    -
    -
    -
    -
    -

    lvgl.font_load(path/spi_device,size,bpp,thickness,cache_size,sty_zh,sty_en)#

    -

    Loading fonts from the file system

    -

    Parameters

    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

    Incoming Value Type

    Explanation

    string/userdata

    Font path/spi_device (spi_device to use an external Qualcomm vector font chip)

    number

    size Optional, font size 16-192 defaults to 16 (use Qualcomm vector font)

    number

    bpp Optional Depth Default 4 (Use Qualcomm Vector Font)

    number

    thickness Optional weight value Default size * bpp (use Qualcomm vector font)

    number

    cache_size Optional default 0 (use Qualcomm vector font)

    number

    sty_zh OPTIONAL SELECT FONT DEFAULT 1 (USING QUALCOMM VECTOR FONT)

    number

    sty_en OPTIONAL SELECT FONT DEFAULT 3 (USING QUALCOMM VECTOR FONT)

    -

    Return Value

    -
    - - - - - - - - - - -

    return value type

    explanation

    userdata

    Font Pointer

    -

    Examples

    -
    local font = lvgl.font_load("/font_32.bin")
    ---local font = lvgl.font_load(spi_device,16)(Qualcomm Vector Font)
    -
    -
    -
    -
    -
    -

    lvgl.font_free(font)#

    -

    Release the font and use it with caution!!! Only fonts loaded by font_load are allowed to be unloaded, and fonts obtained by font_get are not allowed to be unloaded

    -

    Parameters

    -
    - - - - - - - - - - -

    Incoming Value Type

    Explanation

    string

    Font Path

    -

    Return Value

    -
    - - - - - - - - - - -

    return value type

    explanation

    userdata

    Font Pointer

    -

    Examples

    -
    local font = lvgl.font_load("/font_32.bin")
    --- N N N N Operation
    --- Make sure the font is not used, not referenced, and the memory is tight and needs to be released.
    -lvgl.font_free(font)
    -
    -
    -
    -

    lvgl.obj_set_event_cb(obj, func)#

    Set event callbacks for components

    @@ -1170,9 +1043,9 @@

    lvgl.event_send(obj, ent) -
    -

    lvgl.scr_act()#

    -

    Get the currently active screen object

    +
    +

    lvgl.style_t()#

    +

    Create a style

    Parameters

    None

    Return Value

    @@ -1183,20 +1056,21 @@

    lvgl.scr_act()

    pointer

    -

    screen pointer

    +

    userdata

    +

    style Pointer

    Examples

    -
    local scr = lvgl.scr_act()
    +
    local style = lvgl.style_t()
    +lvgl.style_init(style)
     

    -
    -

    lvgl.layer_top()#

    -

    Get layer_top

    +
    +

    lvgl.style_create()#

    +

    Create a style and initialize

    Parameters

    None

    Return Value

    @@ -1207,18 +1081,20 @@

    lvgl.layer_top()

    pointer

    -

    layer pointer

    +

    userdata

    +

    style Pointer

    Examples

    -

    None

    +
    local style = lvgl.style_create()
    +
    +


    -
    -

    lvgl.layer_sys()#

    -

    Get layer_sys

    +
    +

    lvgl.style_list_create()#

    +

    Create a style_list

    Parameters

    None

    Return Value

    @@ -1229,18 +1105,44 @@

    lvgl.layer_sys()

    pointer

    -

    layer pointer

    +

    userdata

    +

    style Pointer

    Examples

    +
    local style_list = lvgl.style_list_create()
    +
    +
    +

    +
    +
    +

    lvgl.style_list_t()#

    +

    Create a style_list

    +

    Parameters

    None

    +

    Return Value

    +
    + + + + + + + + + + +

    return value type

    explanation

    userdata

    style Pointer

    +

    Examples

    +
    local style = lvgl.style_list_t()
    +
    +

    -
    -

    lvgl.scr_load(scr)#

    -

    Load the specified screen

    +
    +

    lvgl.style_delete(style)#

    +

    Delete style, use caution, usually do not perform delete operation

    Parameters

    @@ -1250,26 +1152,24 @@

    lvgl.scr_load(scr)

    - +

    userdata

    screen Pointer

    style Pointer

    Return Value

    None

    Examples

    -
        local scr = lvgl.obj_create(nil, nil)
    -    local btn = lvgl.btn_create(scr)
    -    lvgl.obj_align(btn, lvgl.scr_act(), lvgl.ALIGN_CENTER, 0, 0)
    -    local label = lvgl.label_create(btn)
    -    lvgl.label_set_text(label, "LuatOS!")
    -    lvgl.scr_load(scr)
    +
    local style = lvgl.style_create()
    +-- ...
    +-- ...
    +-- lvgl.style_delete(style)
     

    -
    -

    lvgl.scr_load_anim(scr)#

    -

    Load the specified screen and use the specified transition animation

    +
    +

    lvgl.style_list_delete(style)#

    +

    Delete style_list, use caution, usually do not perform delete operation

    Parameters

    @@ -1279,36 +1179,24 @@

    lvgl.scr_load_anim(scr)

    - +

    userdata

    screen Pointer

    style Pointer

    Return Value

    None

    Examples

    -
        local scr = lvgl.obj_create(nil, nil)
    -    local btn = lvgl.btn_create(scr)
    -    lvgl.obj_align(btn, lvgl.scr_act(), lvgl.ALIGN_CENTER, 0, 0)
    -    local label = lvgl.label_create(btn)
    -    lvgl.label_set_text(label, "LuatOS!")
    -
    -    local scr2 = lvgl.obj_create(nil,nil)
    -    local btn2 = lvgl.btn_create(scr2)
    -    lvgl.obj_align(btn, scr2, lvgl.ALIGN_CENTER, 0, 20)
    -    local label2 = lvgl.label_create(btn2)
    -    lvgl.label_set_text(label2, "Btn2")
    -    lvgl.scr_load(scr)
    -    --sys.wait(1000);
    -    lvgl.scr_load_anim(scr2,lvgl.SCR_LOAD_ANIM_OVER_LEFT,100,100,false)
    -primitive function:lv_scr_load_anim(lv_obj_t * new_scr, lv_scr_load_anim_t anim_type, uint32_t time, uint32_t delay, bool auto_del)
    -
    +
    local style_list = lvgl.style_list_create()
    +-- ...
    +-- ...
    +-- lvgl.style_list_delete(style_list)
     

    -
    -

    lvgl.theme_set_act(name)#

    -

    Set Theme

    +
    +

    lvgl.indev_drv_register(tp, dtp)#

    +

    Register Input Device Driver

    Parameters

    @@ -1318,7 +1206,10 @@

    lvgl.theme_set_act(name)

    - + + + +

    string

    Subject name, optional values are default/mono/empty/material_light/material_dark/material_no_transition/material_no_focus

    Device type, currently supports “pointer”, pointer class/touch class, “keyboard”, keyboard type

    string

    Device model, currently supports “emulator”, emulator type

    @@ -1331,47 +1222,19 @@

    lvgl.theme_set_act(name)

    bool

    -

    Returns true on success, otherwise nil

    +

    Returns true on success, otherwise false

    Examples

    -
    -- Black and White Theme
    -lvgl.theme_set_act("mono")
    --- Blank Theme
    -lvgl.theme_set_act("empty")
    +
    lvgl.indev_drv_register("pointer", "emulator")
     


    -
    -

    lvgl.sleep(enable)#

    -

    LVGL Sleep control, pause/resume refresh timer, currently only 105 and EC618 can be used

    -

    Parameters

    -
    - - - - - - - - - - -

    Incoming Value Type

    Explanation

    boolean

    true Pause False Resume

    -

    Return Value

    -

    None

    -

    Examples

    -
    lvgl.sleep(true)		--Pause refresh, system can sleep
    -lvgl.sleep(false)		--Resume refresh, system does not sleep
    -
    -
    -
    -
    -
    -

    lvgl.init(w, h, lcd, buff_size, buff_mode)#

    -

    Initialization LVGL

    +
    +

    lvgl.indev_point_emulator_update(x, y, state)#

    +

    Update coordinate data for analog input devices

    Parameters

    @@ -1381,81 +1244,16 @@

    lvgl.init(w, h, lcd, buff_size, buff_mode)

    - - - - - - - + - + - - - -

    int

    screen width, optional, taken from LCD by default

    int

    Screen height, optional, default from LCD

    userdata

    lcd pointer, optional, default value after LCD initialization, reserved multi-screen entry

    x Coordinates, with the upper left corner as 0 and the lower right corner as the maximum value

    int

    Buffer size, default width * 10, without color depth.

    y Coordinates, with the upper left corner as 0 and the lower right corner as the maximum value

    int

    Buffer mode, default 0, single buff mode, optional 1, double buff mode

    -

    Return Value

    -
    - - - - - - - - - - -

    return value type

    explanation

    bool

    Returns true on success, otherwise false

    -

    Examples

    -

    None

    -
    -
    -
    -

    lvgl.anim_create()#

    -

    Create and initialize a anim

    -

    Parameters

    -

    None

    -

    Return Value

    -
    - - - - - - - - +

    return value type

    explanation

    userdata

    anim Pointer

    State, 0 is released, 1 is pressed

    -

    Examples

    -
    local anim = lvgl.anim_create()
    -
    -
    -
    -
    -
    -

    lvgl.anim_free(anim)#

    -

    Release one.anim

    -

    Parameters

    -

    None

    -

    Return Value

    -

    None

    -

    Examples

    -
    local lvgl.anim_free(anim)
    -
    -
    -
    -
    -
    -

    lvgl.anim_path_t()#

    -

    Create a lv_anim_path_t

    -

    Parameters

    -

    None

    Return Value

    @@ -1464,33 +1262,25 @@

    lvgl.anim_path_t()

    - + +

    userdata

    lv_anim_path_t Pointer

    nil

    No return value

    Examples

    -
    local anim_path_t = lvgl.anim_path_t()
    -
    -
    -
    -
    -
    -

    lvgl.anim_path_t_free(anim_path_t)#

    -

    Release one.lv_anim_path_t

    -

    Parameters

    -

    None

    -

    Return Value

    -

    None

    -

    Examples

    -
    local lvgl.anim_path_t_free(anim_path_t)
    +
    -- Simulate clicks on the screen, simulate long and short presses through the timeout
    +sys.taskInit(function(x, y, timeout)
    +    lvgl.indev_point_emulator_update(x, y, 1)
    +    sys.wait(timeout)
    +    lvgl.indev_point_emulator_update(x, y, 0)
    +end, 240, 120, 50)
     

    -
    -

    lvgl.anim_set_path_str(anim, tp)#

    -

    Set the animation path method

    +
    +

    lvgl.indev_kb_update(key)#

    +

    Update key values for keyboard input devices

    Parameters

    @@ -1499,11 +1289,8 @@

    lvgl.anim_set_path_str(anim, tp)

    - - - - + +

    userdata

    Animated Pointer

    string

    types, support linear/ease_in/ease_out/ease_in_out/overshoot/bounce/step

    int

    Key value, default 0, key up

    @@ -1524,9 +1311,9 @@

    lvgl.anim_set_path_str(anim, tp) -
    -

    lvgl.qrcode_create(parent, size, dark_color, light_color)#

    -

    Create the qrcode component

    +
    +

    lvgl.font_get(name)#

    +

    Get Built-in Font

    Parameters

    @@ -1535,17 +1322,8 @@

    lvgl.qrcode_create(parent, size, dark_color, light_color)

    - - - - - - - - - - + +

    userdata

    Parent Component

    int

    length, because qrcode is square

    int

    Color of data points in QR code, RGB color, default 0x3333ff

    int

    The color of the back scenic spot in the two-dimensional code, RGB color, default 0xeeeeff

    string

    Font name font size, for example opposans_m_10

    @@ -1558,22 +1336,19 @@

    lvgl.qrcode_create(parent, size, dark_color, light_color)

    userdata

    -

    qrcode Components

    +

    Font Pointer

    Examples

    -
    -- Create and display qrcode
    -local qrcode = lvgl.qrcode_create(scr, 100)
    -lvgl.qrcode_update(qrcode, "https://luatos.com")
    -lvgl.obj_align(qrcode, lvgl.scr_act(), lvgl.ALIGN_CENTER, -100, -100)
    +
    local font = lvgl.font_get("opposans_m_12")
     


    -
    -

    lvgl.qrcode_update(qrcode, cnt)#

    -

    set the qrcode component’s qr code content and use it with the qrcode_create

    +
    +

    lvgl.font_load(path/spi_device,size,bpp,thickness,cache_size,sty_zh,sty_en)#

    +

    Loading fonts from the file system

    Parameters

    @@ -1582,11 +1357,26 @@

    lvgl.qrcode_update(qrcode, cnt)

    - + + - - + + + + + + + + + + + + + + + + +

    userdata

    qrcode components, created by qrcode_create

    string/userdata

    Font path/spi_device (spi_device to use an external Qualcomm vector font chip)

    string

    Content data of two-dimensional code

    number

    size Optional, font size 16-192 defaults to 16 (use Qualcomm vector font)

    number

    bpp Optional Depth Default 4 (Use Qualcomm Vector Font)

    number

    thickness Optional weight value Default size * bpp (use Qualcomm vector font)

    number

    cache_size Optional default 0 (use Qualcomm vector font)

    number

    sty_zh OPTIONAL SELECT FONT DEFAULT 1 (USING QUALCOMM VECTOR FONT)

    number

    sty_en OPTIONAL SELECT FONT DEFAULT 3 (USING QUALCOMM VECTOR FONT)

    @@ -1598,18 +1388,21 @@

    lvgl.qrcode_update(qrcode, cnt)

    bool

    -

    If the update is successful, it returns true, otherwise it returns false. It is usually returned only if the data is too long to accommodate.false

    +

    userdata

    +

    Font Pointer

    Examples

    -

    None

    +
    local font = lvgl.font_load("/font_32.bin")
    +--local font = lvgl.font_load(spi_device,16)(Qualcomm Vector Font)
    +
    +


    -
    -

    lvgl.qrcode_delete(qrcode)#

    -

    Remove qrcode component

    +
    +

    lvgl.font_free(font)#

    +

    Release the font and use it with caution!!! Only fonts loaded by font_load are allowed to be unloaded, and fonts obtained by font_get are not allowed to be unloaded

    Parameters

    @@ -1618,8 +1411,8 @@

    lvgl.qrcode_delete(qrcode)

    - + +

    userdata

    qrcode components, created by qrcode_create

    string

    Font Path

    @@ -1631,18 +1424,23 @@

    lvgl.qrcode_delete(qrcode)

    nil

    -

    No return value

    +

    userdata

    +

    Font Pointer

    Examples

    -

    None

    +
    local font = lvgl.font_load("/font_32.bin")
    +-- N N N N Operation
    +-- Make sure the font is not used, not referenced, and the memory is tight and needs to be released.
    +lvgl.font_free(font)
    +
    +


    -
    -

    lvgl.style_t()#

    -

    Create a style

    +
    +

    lvgl.anim_create()#

    +

    Create and initialize a anim

    Parameters

    None

    Return Value

    @@ -1654,20 +1452,32 @@

    lvgl.style_t()

    userdata

    -

    style Pointer

    +

    anim Pointer

    Examples

    -
    local style = lvgl.style_t()
    -lvgl.style_init(style)
    +
    local anim = lvgl.anim_create()
     


    -
    -

    lvgl.style_create()#

    -

    Create a style and initialize

    +
    +

    lvgl.anim_free(anim)#

    +

    Release one.anim

    +

    Parameters

    +

    None

    +

    Return Value

    +

    None

    +

    Examples

    +
    local lvgl.anim_free(anim)
    +
    +
    +
    +
    +
    +

    lvgl.anim_path_t()#

    +

    Create a lv_anim_path_t

    Parameters

    None

    Return Value

    @@ -1679,45 +1489,48 @@

    lvgl.style_create()

    userdata

    -

    style Pointer

    +

    lv_anim_path_t Pointer

    Examples

    -
    local style = lvgl.style_create()
    +
    local anim_path_t = lvgl.anim_path_t()
     


    -
    -

    lvgl.style_list_create()#

    -

    Create a style_list

    +
    +

    lvgl.anim_path_t_free(anim_path_t)#

    +

    Release one.lv_anim_path_t

    Parameters

    None

    Return Value

    +

    None

    +

    Examples

    +
    local lvgl.anim_path_t_free(anim_path_t)
    +
    +
    +
    +
    +
    +

    lvgl.anim_set_path_str(anim, tp)#

    +

    Set the animation path method

    +

    Parameters

    - - + + - + + + +

    return value type

    explanation

    Incoming Value Type

    Explanation

    userdata

    style Pointer

    Animated Pointer

    string

    types, support linear/ease_in/ease_out/ease_in_out/overshoot/bounce/step

    -

    Examples

    -
    local style_list = lvgl.style_list_create()
    -
    -
    -
    -
    -
    -

    lvgl.style_list_t()#

    -

    Create a style_list

    -

    Parameters

    -

    None

    Return Value

    @@ -1726,20 +1539,18 @@

    lvgl.style_list_t()

    - + +

    userdata

    style Pointer

    nil

    No return value

    Examples

    -
    local style = lvgl.style_list_t()
    -
    -
    +

    None


    -
    -

    lvgl.style_delete(style)#

    -

    Delete style, use caution, usually do not perform delete operation

    +
    +

    lvgl.init(w, h, lcd, buff_size, buff_mode)#

    +

    Initialization LVGL

    Parameters

    @@ -1748,47 +1559,38 @@

    lvgl.style_delete(style)

    + + + + + - + + + + + + +

    int

    screen width, optional, taken from LCD by default

    int

    Screen height, optional, default from LCD

    userdata

    style Pointer

    lcd pointer, optional, default value after LCD initialization, reserved multi-screen entry

    int

    Buffer size, default width * 10, without color depth.

    int

    Buffer mode, default 0, single buff mode, optional 1, double buff mode

    Return Value

    -

    None

    -

    Examples

    -
    local style = lvgl.style_create()
    --- ...
    --- ...
    --- lvgl.style_delete(style)
    -
    -
    -
    -
    -
    -

    lvgl.style_list_delete(style)#

    -

    Delete style_list, use caution, usually do not perform delete operation

    -

    Parameters

    - - + + - - + +

    Incoming Value Type

    Explanation

    return value type

    explanation

    userdata

    style Pointer

    bool

    Returns true on success, otherwise false

    -

    Return Value

    -

    None

    Examples

    -
    local style_list = lvgl.style_list_create()
    --- ...
    --- ...
    --- lvgl.style_list_delete(style_list)
    -
    -
    +

    None


    @@ -1935,15 +1737,131 @@

    lvgl.demo_widgets()
    lvgl.init()
    -lvgl.demo_widgets()
    -
    - +
    lvgl.init()
    +lvgl.demo_widgets()
    +
    +
    +

    +
    +
    +

    lvgl.qrcode_create(parent, size, dark_color, light_color)#

    +

    Create the qrcode component

    +

    Parameters

    +
    + + + + + + + + + + + + + + + + + + + +

    Incoming Value Type

    Explanation

    userdata

    Parent Component

    int

    length, because qrcode is square

    int

    Color of data points in QR code, RGB color, default 0x3333ff

    int

    The color of the back scenic spot in the two-dimensional code, RGB color, default 0xeeeeff

    +

    Return Value

    +
    + + + + + + + + + + +

    return value type

    explanation

    userdata

    qrcode Components

    +

    Examples

    +
    -- Create and display qrcode
    +local qrcode = lvgl.qrcode_create(scr, 100)
    +lvgl.qrcode_update(qrcode, "https://luatos.com")
    +lvgl.obj_align(qrcode, lvgl.scr_act(), lvgl.ALIGN_CENTER, -100, -100)
    +
    +
    +
    +
    +
    +

    lvgl.qrcode_update(qrcode, cnt)#

    +

    set the qrcode component’s qr code content and use it with the qrcode_create

    +

    Parameters

    +
    + + + + + + + + + + + + + +

    Incoming Value Type

    Explanation

    userdata

    qrcode components, created by qrcode_create

    string

    Content data of two-dimensional code

    +

    Return Value

    +
    + + + + + + + + + + +

    return value type

    explanation

    bool

    If the update is successful, it returns true, otherwise it returns false. It is usually returned only if the data is too long to accommodate.false

    +

    Examples

    +

    None

    +
    +
    +
    +

    lvgl.qrcode_delete(qrcode)#

    +

    Remove qrcode component

    +

    Parameters

    +
    + + + + + + + + + + +

    Incoming Value Type

    Explanation

    userdata

    qrcode components, created by qrcode_create

    +

    Return Value

    +
    + + + + + + + + + + +

    return value type

    explanation

    nil

    No return value

    +

    Examples

    +

    None


    -
    -

    lvgl.indev_drv_register(tp, dtp)#

    -

    Register Input Device Driver

    +
    +

    lvgl.gif_create(parent, path)#

    +

    create gif component

    Parameters

    @@ -1952,11 +1870,11 @@

    lvgl.indev_drv_register(tp, dtp)

    - + + - +

    string

    Device type, currently supports “pointer”, pointer class/touch class, “keyboard”, keyboard type

    userdata

    The parent component, which can be nil, but typically will not be nil

    string

    Device model, currently supports “emulator”, emulator type

    File Path

    @@ -1968,20 +1886,23 @@

    lvgl.indev_drv_register(tp, dtp)

    bool

    -

    Returns true on success, otherwise false

    +

    userdata

    +

    The component pointer. If it fails, nil is returned. We recommend that you check

    Examples

    -
    lvgl.indev_drv_register("pointer", "emulator")
    +
    local gif = lvgl.gif_create(scr, "S/emtry.gif")
    +if gif then
    +    log.info("gif", "create ok")
    +end
     


    -
    -

    lvgl.indev_point_emulator_update(x, y, state)#

    -

    Update coordinate data for analog input devices

    +
    +

    lvgl.gif_restart(gif)#

    +

    Replay the gif component

    Parameters

    @@ -1990,14 +1911,8 @@

    lvgl.indev_point_emulator_update(x, y, state)

    - - - - - - - + +

    int

    x Coordinates, with the upper left corner as 0 and the lower right corner as the maximum value

    int

    y Coordinates, with the upper left corner as 0 and the lower right corner as the maximum value

    int

    State, 0 is released, 1 is pressed

    userdata

    gif Component support, returned by the gif_create method

    @@ -2015,32 +1930,65 @@

    lvgl.indev_point_emulator_update(x, y, state)
    -- Simulate clicks on the screen, simulate long and short presses through the timeout
    -sys.taskInit(function(x, y, timeout)
    -    lvgl.indev_point_emulator_update(x, y, 1)
    -    sys.wait(timeout)
    -    lvgl.indev_point_emulator_update(x, y, 0)
    -end, 240, 120, 50)
    +
    local gif = lvgl.gif_create(scr, "S/emtry.gif")
    +if gif then
    +    log.info("gif", "create ok")
    +end
     


    -
    -

    lvgl.indev_kb_update(key)#

    -

    Update key values for keyboard input devices

    +
    +

    lvgl.scr_act()#

    +

    Get the currently active screen object

    +

    Parameters

    +

    None

    +

    Return Value

    +
    + + + + + + + + + + +

    return value type

    explanation

    pointer

    screen pointer

    +

    Examples

    +
    local scr = lvgl.scr_act()
    +
    +
    +
    +
    +
    +

    lvgl.layer_top()#

    +

    Get layer_top

    Parameters

    +

    None

    +

    Return Value

    - - + + - - + +

    Incoming Value Type

    Explanation

    return value type

    explanation

    int

    Key value, default 0, key up

    pointer

    layer pointer

    +

    Examples

    +

    None

    +
    +
    +
    +

    lvgl.layer_sys()#

    +

    Get layer_sys

    +

    Parameters

    +

    None

    Return Value

    @@ -2049,8 +1997,8 @@

    lvgl.indev_kb_update(key)

    - + +

    nil

    No return value

    pointer

    layer pointer

    @@ -2058,9 +2006,9 @@

    lvgl.indev_kb_update(key) -
    -

    lvgl.gif_create(parent, path)#

    -

    create gif component

    +
    +

    lvgl.scr_load(scr)#

    +

    Load the specified screen

    Parameters

    @@ -2070,38 +2018,65 @@

    lvgl.gif_create(parent, path)

    - - - - +

    userdata

    The parent component, which can be nil, but typically will not be nil

    string

    File Path

    screen Pointer

    Return Value

    +

    None

    +

    Examples

    +
        local scr = lvgl.obj_create(nil, nil)
    +    local btn = lvgl.btn_create(scr)
    +    lvgl.obj_align(btn, lvgl.scr_act(), lvgl.ALIGN_CENTER, 0, 0)
    +    local label = lvgl.label_create(btn)
    +    lvgl.label_set_text(label, "LuatOS!")
    +    lvgl.scr_load(scr)
    +
    +
    +
    +
    +
    +

    lvgl.scr_load_anim(scr)#

    +

    Load the specified screen and use the specified transition animation

    +

    Parameters

    - - + + - +

    return value type

    explanation

    Incoming Value Type

    Explanation

    userdata

    The component pointer. If it fails, nil is returned. We recommend that you check

    screen Pointer

    +

    Return Value

    +

    None

    Examples

    -
    local gif = lvgl.gif_create(scr, "S/emtry.gif")
    -if gif then
    -    log.info("gif", "create ok")
    -end
    +
        local scr = lvgl.obj_create(nil, nil)
    +    local btn = lvgl.btn_create(scr)
    +    lvgl.obj_align(btn, lvgl.scr_act(), lvgl.ALIGN_CENTER, 0, 0)
    +    local label = lvgl.label_create(btn)
    +    lvgl.label_set_text(label, "LuatOS!")
    +
    +    local scr2 = lvgl.obj_create(nil,nil)
    +    local btn2 = lvgl.btn_create(scr2)
    +    lvgl.obj_align(btn, scr2, lvgl.ALIGN_CENTER, 0, 20)
    +    local label2 = lvgl.label_create(btn2)
    +    lvgl.label_set_text(label2, "Btn2")
    +    lvgl.scr_load(scr)
    +    --sys.wait(1000);
    +    lvgl.scr_load_anim(scr2,lvgl.SCR_LOAD_ANIM_OVER_LEFT,100,100,false)
    +primitive function:lv_scr_load_anim(lv_obj_t * new_scr, lv_scr_load_anim_t anim_type, uint32_t time, uint32_t delay, bool auto_del)
    +
     

    -
    -

    lvgl.gif_restart(gif)#

    -

    Replay the gif component

    +
    +

    lvgl.theme_set_act(name)#

    +

    Set Theme

    Parameters

    @@ -2110,8 +2085,8 @@

    lvgl.gif_restart(gif)

    - - + +

    userdata

    gif Component support, returned by the gif_create method

    string

    Subject name, optional values are default/mono/empty/material_light/material_dark/material_no_transition/material_no_focus

    @@ -2123,16 +2098,41 @@

    lvgl.gif_restart(gif) -

    nil

    -

    No return value

    +

    bool

    +

    Returns true on success, otherwise nil

    Examples

    -
    local gif = lvgl.gif_create(scr, "S/emtry.gif")
    -if gif then
    -    log.info("gif", "create ok")
    -end
    +
    -- Black and White Theme
    +lvgl.theme_set_act("mono")
    +-- Blank Theme
    +lvgl.theme_set_act("empty")
    +
    +
    +

    +
    +
    +

    lvgl.sleep(enable)#

    +

    LVGL Sleep control, pause/resume refresh timer, currently only 105 and EC618 can be used

    +

    Parameters

    +
    + + + + + + + + + + +

    Incoming Value Type

    Explanation

    boolean

    true Pause False Resume

    +

    Return Value

    +

    None

    +

    Examples

    +
    lvgl.sleep(true)		--Pause refresh, system can sleep
    +lvgl.sleep(false)		--Resume refresh, system does not sleep
     

    @@ -2202,48 +2202,48 @@

    lvgl.gif_restart(gif)lvgl.draw_mask_line_param_t_free(line)
  • lvgl.draw_mask_fade_param_t()
  • lvgl.draw_mask_fade_param_t_free(fade)
  • -
  • lvgl.font_get(name)
  • -
  • lvgl.font_load(path/spi_device,size,bpp,thickness,cache_size,sty_zh,sty_en)
  • -
  • lvgl.font_free(font)
  • lvgl.obj_set_event_cb(obj, func)
  • lvgl.obj_set_signal_cb(obj, func)
  • lvgl.anim_set_exec_cb(anim, func)
  • lvgl.anim_set_ready_cb(anim, func)
  • lvgl.anim_path_set_cb(path, func)
  • lvgl.event_send(obj, ent)
  • -
  • lvgl.scr_act()
  • -
  • lvgl.layer_top()
  • -
  • lvgl.layer_sys()
  • -
  • lvgl.scr_load(scr)
  • -
  • lvgl.scr_load_anim(scr)
  • -
  • lvgl.theme_set_act(name)
  • -
  • lvgl.sleep(enable)
  • -
  • lvgl.init(w, h, lcd, buff_size, buff_mode)
  • -
  • lvgl.anim_create()
  • -
  • lvgl.anim_free(anim)
  • -
  • lvgl.anim_path_t()
  • -
  • lvgl.anim_path_t_free(anim_path_t)
  • -
  • lvgl.anim_set_path_str(anim, tp)
  • -
  • lvgl.qrcode_create(parent, size, dark_color, light_color)
  • -
  • lvgl.qrcode_update(qrcode, cnt)
  • -
  • lvgl.qrcode_delete(qrcode)
  • lvgl.style_t()
  • lvgl.style_create()
  • lvgl.style_list_create()
  • lvgl.style_list_t()
  • lvgl.style_delete(style)
  • lvgl.style_list_delete(style)
  • +
  • lvgl.indev_drv_register(tp, dtp)
  • +
  • lvgl.indev_point_emulator_update(x, y, state)
  • +
  • lvgl.indev_kb_update(key)
  • +
  • lvgl.font_get(name)
  • +
  • lvgl.font_load(path/spi_device,size,bpp,thickness,cache_size,sty_zh,sty_en)
  • +
  • lvgl.font_free(font)
  • +
  • lvgl.anim_create()
  • +
  • lvgl.anim_free(anim)
  • +
  • lvgl.anim_path_t()
  • +
  • lvgl.anim_path_t_free(anim_path_t)
  • +
  • lvgl.anim_set_path_str(anim, tp)
  • +
  • lvgl.init(w, h, lcd, buff_size, buff_mode)
  • lvgl.demo_benchmark()
  • lvgl.demo_keypad_encoder()
  • lvgl.demo_music()
  • lvgl.demo_printer()
  • lvgl.demo_stress()
  • lvgl.demo_widgets()
  • -
  • lvgl.indev_drv_register(tp, dtp)
  • -
  • lvgl.indev_point_emulator_update(x, y, state)
  • -
  • lvgl.indev_kb_update(key)
  • +
  • lvgl.qrcode_create(parent, size, dark_color, light_color)
  • +
  • lvgl.qrcode_update(qrcode, cnt)
  • +
  • lvgl.qrcode_delete(qrcode)
  • lvgl.gif_create(parent, path)
  • lvgl.gif_restart(gif)
  • +
  • lvgl.scr_act()
  • +
  • lvgl.layer_top()
  • +
  • lvgl.layer_sys()
  • +
  • lvgl.scr_load(scr)
  • +
  • lvgl.scr_load_anim(scr)
  • +
  • lvgl.theme_set_act(name)
  • +
  • lvgl.sleep(enable)
  • diff --git a/docs/api/max30102.html b/docs/api/max30102.html index 4565f98f6..b27876a3c 100644 --- a/docs/api/max30102.html +++ b/docs/api/max30102.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/mcu.html b/docs/api/mcu.html index 231c4668a..a89e5aee9 100644 --- a/docs/api/mcu.html +++ b/docs/api/mcu.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/miniz.html b/docs/api/miniz.html index 595462195..e3ca04009 100644 --- a/docs/api/miniz.html +++ b/docs/api/miniz.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/mlx90640.html b/docs/api/mlx90640.html index babd4c7b0..f3621752c 100644 --- a/docs/api/mlx90640.html +++ b/docs/api/mlx90640.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/mobile.html b/docs/api/mobile.html index 2221dbd8f..87740885b 100644 --- a/docs/api/mobile.html +++ b/docs/api/mobile.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/mqtt.html b/docs/api/mqtt.html index caef928a9..e6b1e98d0 100644 --- a/docs/api/mqtt.html +++ b/docs/api/mqtt.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/nbiot.html b/docs/api/nbiot.html index 3c5d16363..af99324f7 100644 --- a/docs/api/nbiot.html +++ b/docs/api/nbiot.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/nes.html b/docs/api/nes.html index 90c284ee6..9fe14ed5c 100644 --- a/docs/api/nes.html +++ b/docs/api/nes.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/nimble.html b/docs/api/nimble.html index 766dcd5be..aef203e11 100644 --- a/docs/api/nimble.html +++ b/docs/api/nimble.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/os.html b/docs/api/os.html index b483a0fa7..f7fe5120b 100644 --- a/docs/api/os.html +++ b/docs/api/os.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/otp.html b/docs/api/otp.html index c7836548c..dc92dd27d 100644 --- a/docs/api/otp.html +++ b/docs/api/otp.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/pack.html b/docs/api/pack.html index 5ccb8387c..42ef2ba67 100644 --- a/docs/api/pack.html +++ b/docs/api/pack.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/pin.html b/docs/api/pin.html index 4ce54af5f..147fa4139 100644 --- a/docs/api/pin.html +++ b/docs/api/pin.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/pm.html b/docs/api/pm.html index fa20ca233..1f07c5bc1 100644 --- a/docs/api/pm.html +++ b/docs/api/pm.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/protobuf.html b/docs/api/protobuf.html index f685caffe..171a906db 100644 --- a/docs/api/protobuf.html +++ b/docs/api/protobuf.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/pwm.html b/docs/api/pwm.html index fd837b853..3318fa8be 100644 --- a/docs/api/pwm.html +++ b/docs/api/pwm.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/repl.html b/docs/api/repl.html index 4c4ddeaeb..97ba41f82 100644 --- a/docs/api/repl.html +++ b/docs/api/repl.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/rsa.html b/docs/api/rsa.html index 19ec3b8f1..fc2bc028b 100644 --- a/docs/api/rsa.html +++ b/docs/api/rsa.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/rtc.html b/docs/api/rtc.html index dfca682b1..40017c2f8 100644 --- a/docs/api/rtc.html +++ b/docs/api/rtc.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/rtos.html b/docs/api/rtos.html index a759cf034..7444fa4d0 100644 --- a/docs/api/rtos.html +++ b/docs/api/rtos.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/sdio.html b/docs/api/sdio.html index bea59fc95..cd7158d06 100644 --- a/docs/api/sdio.html +++ b/docs/api/sdio.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/sensor.html b/docs/api/sensor.html index c6f6e7ea6..f7f34c4a5 100644 --- a/docs/api/sensor.html +++ b/docs/api/sensor.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/sfd.html b/docs/api/sfd.html index 7807b7222..d29d33ace 100644 --- a/docs/api/sfd.html +++ b/docs/api/sfd.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/sfud.html b/docs/api/sfud.html index 6c02c985e..445d878d5 100644 --- a/docs/api/sfud.html +++ b/docs/api/sfud.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/sms.html b/docs/api/sms.html index 660b8f065..b359715ff 100644 --- a/docs/api/sms.html +++ b/docs/api/sms.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/socket.html b/docs/api/socket.html index cbc4122ed..a2829a811 100644 --- a/docs/api/socket.html +++ b/docs/api/socket.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/softkeyboard.html b/docs/api/softkeyboard.html index b9e898097..0dfbbbd2b 100644 --- a/docs/api/softkeyboard.html +++ b/docs/api/softkeyboard.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/spi.html b/docs/api/spi.html index 524fe19e8..6b56ac64d 100644 --- a/docs/api/spi.html +++ b/docs/api/spi.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/sqlite3.html b/docs/api/sqlite3.html index 65840b7c9..8d259d307 100644 --- a/docs/api/sqlite3.html +++ b/docs/api/sqlite3.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/statem.html b/docs/api/statem.html index 1db975816..656c5c655 100644 --- a/docs/api/statem.html +++ b/docs/api/statem.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/string.html b/docs/api/string.html index 6f7834b9e..7fe8ab195 100644 --- a/docs/api/string.html +++ b/docs/api/string.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/supported.html b/docs/api/supported.html index 4650c24d2..c5c9c8f69 100644 --- a/docs/api/supported.html +++ b/docs/api/supported.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • @@ -965,7 +965,7 @@

    Adaptation status

    iconv

    -

    iconv Operation

    +

    Character encoding conversion

    Y

    Y

    Y

    diff --git a/docs/api/sys.html b/docs/api/sys.html index 62af35d28..43958565b 100644 --- a/docs/api/sys.html +++ b/docs/api/sys.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • diff --git a/docs/api/sys_pub.html b/docs/api/sys_pub.html index 2943a51a2..bf7b1f09b 100644 --- a/docs/api/sys_pub.html +++ b/docs/api/sys_pub.html @@ -445,7 +445,7 @@
  • httpsrv - http Server
  • i2c - I2C Operation
  • i2s - Digital Audio
  • -
  • iconv - iconv Operation
  • +
  • iconv - Character encoding conversion
  • io - io action (extended)
  • ioqueue - io Sequence operation
  • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
  • @@ -796,32 +796,75 @@

    Starts with 0x 01 as the first byte -
    -

    w5500#

    -

    w5500 Interface Documentation Page

    -
    -

    IP_READY#

    -

    Networked

    +
    +

    sms#

    +

    sms Interface Documentation Page

    +
    +

    SMS_INC#

    +

    SMS received

    Additional return parameters

    -

    None

    +
    + + + + + + + + + + + + + +

    return parameter type

    explanation

    string

    Mobile phone number

    string

    SMS content, UTF8 encoding

    Examples

    -
    -- This message will be sent once after networking.
    -sys.subscribe("IP_READY", function(ip, adapter)
    -    log.info("w5500", "IP_READY", ip, (adapter or -1) == socket.LWIP_GP)
    +
    --The example of use can be multi-line
    +-- Receive SMS, support a variety of ways, just choose one
    +-- 1. Set callback function
    +--sms.setNewSmsCb( function(phone,sms)
    +    log.info("sms",phone,sms)
    +end)
    +-- 2. Subscribe to system messages
    +--sys.subscribe("SMS_INC", function(phone,sms)
    +    log.info("sms",phone,sms)
     end)
     
    +

    -
    -

    IP_LOSE#

    -

    The network has been broken

    +
    +

    softkeyboard#

    +

    softkeyboard Interface Documentation Page

    +
    +

    SOFT_KB_INC#

    +

    Software Keyboard Matrix Messages

    Additional return parameters

    -

    None

    +
    + + + + + + + + + + + + + + + + +

    return parameter type

    explanation

    number

    port, keyboard id Currently fixed to 0, can be ignored

    number

    data, keyboard Keys need to be parsed in conjunction with init’s map.

    number

    state, Key state 1 is pressed, 0 is released

    Examples

    -
    -- This message will be sent once after the network is cut off.
    -sys.subscribe("IP_LOSE", function(adapter)
    -    log.info("w5500", "IP_LOSE", (adapter or -1) == socket.ETH0)
    +
    sys.subscribe("SOFT_KB_INC", function(port, data, state)
    +    -- port Currently fixed to 0, can be ignored
    +    -- data, Need to cooperate with init map for parsing
    +    -- state, 1 is pressed, 0 is released
    +    log.info("keyboard", port, data, state)
     end)
     
    @@ -849,6 +892,77 @@

    GNSS_STATE +
    +

    lora#

    +

    lora Interface Documentation Page

    +
    +

    LORA_TX_DONE#

    +

    LORA Send Complete

    +

    Additional return parameters

    +

    None

    +

    Examples

    +
    sys.subscribe("LORA_TX_DONE", function()
    +    lora.recive(1000)
    +end)
    +
    +
    +
    +
    +
    +

    LORA_RX_DONE#

    +

    LORA Receive Completed

    +

    Additional return parameters

    +

    None

    +

    Examples

    +
    sys.subscribe("LORA_RX_DONE", function(data, size, rssi, snr)
    +    -- rssi and snr were added on September 06, 2023
    +    log.info("LORA_RX_DONE: ", data, size, rssi, snr)
    +    lora.send("PING")
    +end)
    +
    +
    +
    +
    +
    +

    LORA_TX_TIMEOUT#

    +

    LORA Send Timeout

    +

    Additional return parameters

    +

    None

    +

    Examples

    +
    sys.subscribe("LORA_TX_TIMEOUT", function()
    +    lora.recive(1000)
    +end)
    +
    +
    +
    +
    +
    +

    LORA_RX_TIMEOUT#

    +

    LORA Receive Timeout

    +

    Additional return parameters

    +

    None

    +

    Examples

    +
    sys.subscribe("LORA_RX_TIMEOUT", function()
    +    lora.recive(1000)
    +end)
    +
    +
    +
    +
    +
    +

    LORA_RX_ERROR#

    +

    LORA Receive Error

    +

    Additional return parameters

    +

    None

    +

    Examples

    +
    sys.subscribe("LORA_RX_ERROR", function()
    +    lora.recive(1000)
    +end)
    +
    +
    +
    +
    +

    mobile#

    mobile Interface Documentation Page

    @@ -885,8 +999,8 @@

    CELL_INFO_UPDATE -
    -

    IP_READY#

    +
    +

    IP_READY#

    Networked

    Additional return parameters

    None

    @@ -899,8 +1013,8 @@

    IP_READY


    -
    -

    IP_LOSE#

    +
    +

    IP_LOSE#

    The network has been broken

    Additional return parameters

    None

    @@ -928,67 +1042,32 @@

    NTP_UPDATE -
    -

    softkeyboard#

    -

    softkeyboard Interface Documentation Page

    -
    -

    SOFT_KB_INC#

    -

    Software Keyboard Matrix Messages

    -

    Additional return parameters

    -
    - - - - - - - - - - - - - - - - -

    return parameter type

    explanation

    number

    port, keyboard id Currently fixed to 0, can be ignored

    number

    data, keyboard Keys need to be parsed in conjunction with init’s map.

    number

    state, Key state 1 is pressed, 0 is released

    -

    Examples

    -
    sys.subscribe("SOFT_KB_INC", function(port, data, state)
    -    -- port Currently fixed to 0, can be ignored
    -    -- data, Need to cooperate with init map for parsing
    -    -- state, 1 is pressed, 0 is released
    -    log.info("keyboard", port, data, state)
    -end)
    -
    -
    -
    -
    -
    -
    -

    socket#

    -

    socket Interface Documentation Page

    -
    -

    NTP_UPDATE#

    -

    Time has been synchronized

    +
    +

    w5500#

    +

    w5500 Interface Documentation Page

    +
    +

    IP_READY#

    +

    Networked

    Additional return parameters

    None

    Examples

    -
    sys.subscribe("NTP_UPDATE", function()
    -    log.info("socket", "sntp", os.date())
    +
    -- This message will be sent once after networking.
    +sys.subscribe("IP_READY", function(ip, adapter)
    +    log.info("w5500", "IP_READY", ip, (adapter or -1) == socket.LWIP_GP)
     end)
     

    -
    -

    NTP_ERROR#

    -

    Time synchronization failed

    +
    +

    IP_LOSE#

    +

    The network has been broken

    Additional return parameters

    None

    Examples

    -
    sys.subscribe("NTP_ERROR", function()
    -    log.info("socket", "sntp error")
    +
    -- This message will be sent once after the network is cut off.
    +sys.subscribe("IP_LOSE", function(adapter)
    +    log.info("w5500", "IP_LOSE", (adapter or -1) == socket.ETH0)
     end)
     
    @@ -1203,109 +1282,30 @@

    CTIOT_FOTA -
    -

    lora#

    -

    lora Interface Documentation Page

    -
    -

    LORA_TX_DONE#

    -

    LORA Send Complete

    -

    Additional return parameters

    -

    None

    -

    Examples

    -
    sys.subscribe("LORA_TX_DONE", function()
    -    lora.recive(1000)
    -end)
    -
    -
    -
    -
    -
    -

    LORA_RX_DONE#

    -

    LORA Receive Completed

    -

    Additional return parameters

    -

    None

    -

    Examples

    -
    sys.subscribe("LORA_RX_DONE", function(data, size, rssi, snr)
    -    -- rssi and snr were added on September 06, 2023
    -    log.info("LORA_RX_DONE: ", data, size, rssi, snr)
    -    lora.send("PING")
    -end)
    -
    -
    -
    -
    -
    -

    LORA_TX_TIMEOUT#

    -

    LORA Send Timeout

    -

    Additional return parameters

    -

    None

    -

    Examples

    -
    sys.subscribe("LORA_TX_TIMEOUT", function()
    -    lora.recive(1000)
    -end)
    -
    -
    -
    -
    -
    -

    LORA_RX_TIMEOUT#

    -

    LORA Receive Timeout

    +
    +

    socket#

    +

    socket Interface Documentation Page

    +
    +

    NTP_UPDATE#

    +

    Time has been synchronized

    Additional return parameters

    None

    Examples

    -
    sys.subscribe("LORA_RX_TIMEOUT", function()
    -    lora.recive(1000)
    +
    sys.subscribe("NTP_UPDATE", function()
    +    log.info("socket", "sntp", os.date())
     end)
     

    -
    -

    LORA_RX_ERROR#

    -

    LORA Receive Error

    +
    +

    NTP_ERROR#

    +

    Time synchronization failed

    Additional return parameters

    None

    Examples

    -
    sys.subscribe("LORA_RX_ERROR", function()
    -    lora.recive(1000)
    -end)
    -
    -
    -
    -
    -
    -
    -

    sms#

    -

    sms Interface Documentation Page

    -
    -

    SMS_INC#

    -

    SMS received

    -

    Additional return parameters

    -
    - - - - - - - - - - - - - -

    return parameter type

    explanation

    string

    Mobile phone number

    string

    SMS content, UTF8 encoding

    -

    Examples

    -
    --The example of use can be multi-line
    --- Receive SMS, support a variety of ways, just choose one
    --- 1. Set callback function
    ---sms.setNewSmsCb( function(phone,sms)
    -    log.info("sms",phone,sms)
    -end)
    --- 2. Subscribe to system messages
    ---sys.subscribe("SMS_INC", function(phone,sms)
    -    log.info("sms",phone,sms)
    +
    sys.subscribe("NTP_ERROR", function()
    +    log.info("socket", "sntp error")
     end)
     
    @@ -1383,30 +1383,37 @@

    SMS_INCStarts with 0x 01 as the first byte -
  • w5500
      -
    • IP_READY
    • -
    • IP_LOSE
    • +
    • sms +
    • +
    • softkeyboard
    • libgnss
    • +
    • lora +
    • mobile
    • -
    • softkeyboard -
    • -
    • socket
        -
      • NTP_UPDATE
      • -
      • NTP_ERROR
      • +
      • w5500
      • ctiot
      • -
      • lora -
      • -
      • sms diff --git a/docs/api/sysplus.html b/docs/api/sysplus.html index 963f81c9f..afc75e505 100644 --- a/docs/api/sysplus.html +++ b/docs/api/sysplus.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/api/timer.html b/docs/api/timer.html index 2029d551a..7cf0e630f 100644 --- a/docs/api/timer.html +++ b/docs/api/timer.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/api/touchkey.html b/docs/api/touchkey.html index 7b11b79da..8e65ff834 100644 --- a/docs/api/touchkey.html +++ b/docs/api/touchkey.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/api/u8g2.html b/docs/api/u8g2.html index f76d2d397..7f87b301f 100644 --- a/docs/api/u8g2.html +++ b/docs/api/u8g2.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/api/uart.html b/docs/api/uart.html index 7ba5ab1be..28f4557cd 100644 --- a/docs/api/uart.html +++ b/docs/api/uart.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/api/ufont.html b/docs/api/ufont.html index 92aa1a62a..46ada417e 100644 --- a/docs/api/ufont.html +++ b/docs/api/ufont.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/api/usbapp.html b/docs/api/usbapp.html index e6fc96f98..daf11daeb 100644 --- a/docs/api/usbapp.html +++ b/docs/api/usbapp.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/api/w5500.html b/docs/api/w5500.html index f00f89e83..133ddaf06 100644 --- a/docs/api/w5500.html +++ b/docs/api/w5500.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/api/wdt.html b/docs/api/wdt.html index 31279af8e..38df2154d 100644 --- a/docs/api/wdt.html +++ b/docs/api/wdt.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/api/websocket.html b/docs/api/websocket.html index c2347b06c..ddeede210 100644 --- a/docs/api/websocket.html +++ b/docs/api/websocket.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/api/wlan.html b/docs/api/wlan.html index 2c7f90a08..1fb7a75f6 100644 --- a/docs/api/wlan.html +++ b/docs/api/wlan.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/api/ymodem.html b/docs/api/ymodem.html index 8d2f31efe..9644d3ffb 100644 --- a/docs/api/ymodem.html +++ b/docs/api/ymodem.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/api/zbuff.html b/docs/api/zbuff.html index 5619e0c8c..5fa705f72 100644 --- a/docs/api/zbuff.html +++ b/docs/api/zbuff.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/api/zlib.html b/docs/api/zlib.html index 790551b54..7b9a0b87b 100644 --- a/docs/api/zlib.html +++ b/docs/api/zlib.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/appDevelopment/index.html b/docs/appDevelopment/index.html index 99b6ff34a..45ffaaf36 100644 --- a/docs/appDevelopment/index.html +++ b/docs/appDevelopment/index.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/appDevelopment/iotcloud/aliyun/code.html b/docs/appDevelopment/iotcloud/aliyun/code.html index e4b43eb69..c1209681e 100644 --- a/docs/appDevelopment/iotcloud/aliyun/code.html +++ b/docs/appDevelopment/iotcloud/aliyun/code.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/appDevelopment/iotcloud/aliyun/device.html b/docs/appDevelopment/iotcloud/aliyun/device.html index bd15c0712..abd0b4c5a 100644 --- a/docs/appDevelopment/iotcloud/aliyun/device.html +++ b/docs/appDevelopment/iotcloud/aliyun/device.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/appDevelopment/iotcloud/aliyun/index.html b/docs/appDevelopment/iotcloud/aliyun/index.html index f9ab081fd..75cd673aa 100644 --- a/docs/appDevelopment/iotcloud/aliyun/index.html +++ b/docs/appDevelopment/iotcloud/aliyun/index.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/appDevelopment/iotcloud/aliyun/intro.html b/docs/appDevelopment/iotcloud/aliyun/intro.html index 56cf382f7..51bb4e0dc 100644 --- a/docs/appDevelopment/iotcloud/aliyun/intro.html +++ b/docs/appDevelopment/iotcloud/aliyun/intro.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/appDevelopment/iotcloud/aliyun/project.html b/docs/appDevelopment/iotcloud/aliyun/project.html index e18190b15..85de272bf 100644 --- a/docs/appDevelopment/iotcloud/aliyun/project.html +++ b/docs/appDevelopment/iotcloud/aliyun/project.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/appDevelopment/iotcloud/aliyun/test.html b/docs/appDevelopment/iotcloud/aliyun/test.html index 5feb6f1c1..5d58542e2 100644 --- a/docs/appDevelopment/iotcloud/aliyun/test.html +++ b/docs/appDevelopment/iotcloud/aliyun/test.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/appDevelopment/iotcloud/basic/index.html b/docs/appDevelopment/iotcloud/basic/index.html index e0d881155..5aa3da45f 100644 --- a/docs/appDevelopment/iotcloud/basic/index.html +++ b/docs/appDevelopment/iotcloud/basic/index.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/appDevelopment/iotcloud/basic/intro.html b/docs/appDevelopment/iotcloud/basic/intro.html index 56cf382f7..51bb4e0dc 100644 --- a/docs/appDevelopment/iotcloud/basic/intro.html +++ b/docs/appDevelopment/iotcloud/basic/intro.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/appDevelopment/iotcloud/basic/json.html b/docs/appDevelopment/iotcloud/basic/json.html index 8a64d7367..5e3780594 100644 --- a/docs/appDevelopment/iotcloud/basic/json.html +++ b/docs/appDevelopment/iotcloud/basic/json.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/appDevelopment/iotcloud/basic/protocol.html b/docs/appDevelopment/iotcloud/basic/protocol.html index 8a64d7367..5e3780594 100644 --- a/docs/appDevelopment/iotcloud/basic/protocol.html +++ b/docs/appDevelopment/iotcloud/basic/protocol.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/appDevelopment/iotcloud/index.html b/docs/appDevelopment/iotcloud/index.html index 46f61fd42..2c4a3a1eb 100644 --- a/docs/appDevelopment/iotcloud/index.html +++ b/docs/appDevelopment/iotcloud/index.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/appDevelopment/iotcloud/onenet/code.html b/docs/appDevelopment/iotcloud/onenet/code.html index e4b43eb69..c1209681e 100644 --- a/docs/appDevelopment/iotcloud/onenet/code.html +++ b/docs/appDevelopment/iotcloud/onenet/code.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/appDevelopment/iotcloud/onenet/device.html b/docs/appDevelopment/iotcloud/onenet/device.html index bd15c0712..abd0b4c5a 100644 --- a/docs/appDevelopment/iotcloud/onenet/device.html +++ b/docs/appDevelopment/iotcloud/onenet/device.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/appDevelopment/iotcloud/onenet/index.html b/docs/appDevelopment/iotcloud/onenet/index.html index 08b3d2af6..f0b31ddd1 100644 --- a/docs/appDevelopment/iotcloud/onenet/index.html +++ b/docs/appDevelopment/iotcloud/onenet/index.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/appDevelopment/iotcloud/onenet/intro.html b/docs/appDevelopment/iotcloud/onenet/intro.html index 56cf382f7..51bb4e0dc 100644 --- a/docs/appDevelopment/iotcloud/onenet/intro.html +++ b/docs/appDevelopment/iotcloud/onenet/intro.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/appDevelopment/iotcloud/onenet/project.html b/docs/appDevelopment/iotcloud/onenet/project.html index e18190b15..85de272bf 100644 --- a/docs/appDevelopment/iotcloud/onenet/project.html +++ b/docs/appDevelopment/iotcloud/onenet/project.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/appDevelopment/iotcloud/onenet/test.html b/docs/appDevelopment/iotcloud/onenet/test.html index 5feb6f1c1..5d58542e2 100644 --- a/docs/appDevelopment/iotcloud/onenet/test.html +++ b/docs/appDevelopment/iotcloud/onenet/test.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/appDevelopment/iotcloud/qcloud/code.html b/docs/appDevelopment/iotcloud/qcloud/code.html index e4b43eb69..c1209681e 100644 --- a/docs/appDevelopment/iotcloud/qcloud/code.html +++ b/docs/appDevelopment/iotcloud/qcloud/code.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/appDevelopment/iotcloud/qcloud/device.html b/docs/appDevelopment/iotcloud/qcloud/device.html index bd15c0712..abd0b4c5a 100644 --- a/docs/appDevelopment/iotcloud/qcloud/device.html +++ b/docs/appDevelopment/iotcloud/qcloud/device.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/appDevelopment/iotcloud/qcloud/index.html b/docs/appDevelopment/iotcloud/qcloud/index.html index 922ddde60..8beb7cef3 100644 --- a/docs/appDevelopment/iotcloud/qcloud/index.html +++ b/docs/appDevelopment/iotcloud/qcloud/index.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/appDevelopment/iotcloud/qcloud/intro.html b/docs/appDevelopment/iotcloud/qcloud/intro.html index 56cf382f7..51bb4e0dc 100644 --- a/docs/appDevelopment/iotcloud/qcloud/intro.html +++ b/docs/appDevelopment/iotcloud/qcloud/intro.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/appDevelopment/iotcloud/qcloud/project.html b/docs/appDevelopment/iotcloud/qcloud/project.html index e18190b15..85de272bf 100644 --- a/docs/appDevelopment/iotcloud/qcloud/project.html +++ b/docs/appDevelopment/iotcloud/qcloud/project.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/appDevelopment/iotcloud/qcloud/test.html b/docs/appDevelopment/iotcloud/qcloud/test.html index 5feb6f1c1..5d58542e2 100644 --- a/docs/appDevelopment/iotcloud/qcloud/test.html +++ b/docs/appDevelopment/iotcloud/qcloud/test.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/appDevelopment/lvgl/LVGL_for_LuatOS/LVGL_for_LuatOS.html b/docs/appDevelopment/lvgl/LVGL_for_LuatOS/LVGL_for_LuatOS.html index fab903df7..d6fd87400 100644 --- a/docs/appDevelopment/lvgl/LVGL_for_LuatOS/LVGL_for_LuatOS.html +++ b/docs/appDevelopment/lvgl/LVGL_for_LuatOS/LVGL_for_LuatOS.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/appDevelopment/lvgl/index.html b/docs/appDevelopment/lvgl/index.html index aa69e6cac..ca4cd5ece 100644 --- a/docs/appDevelopment/lvgl/index.html +++ b/docs/appDevelopment/lvgl/index.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/appDevelopment/peripheral/index.html b/docs/appDevelopment/peripheral/index.html index e7954a368..28100528f 100644 --- a/docs/appDevelopment/peripheral/index.html +++ b/docs/appDevelopment/peripheral/index.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/appDevelopment/peripheral/ws2812/ws2812.html b/docs/appDevelopment/peripheral/ws2812/ws2812.html index 2e0fbafbf..643368b3f 100644 --- a/docs/appDevelopment/peripheral/ws2812/ws2812.html +++ b/docs/appDevelopment/peripheral/ws2812/ws2812.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/appDevelopment/video_play/105/video_play.html b/docs/appDevelopment/video_play/105/video_play.html index b08e5a71f..bf98e0e9f 100644 --- a/docs/appDevelopment/video_play/105/video_play.html +++ b/docs/appDevelopment/video_play/105/video_play.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/appDevelopment/video_play/index.html b/docs/appDevelopment/video_play/index.html index b07bc3cac..5fa00545e 100644 --- a/docs/appDevelopment/video_play/index.html +++ b/docs/appDevelopment/video_play/index.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/archives.html b/docs/archives.html index 1f0524b83..ca9e39711 100644 --- a/docs/archives.html +++ b/docs/archives.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/boardGuide/common/adc/index.html b/docs/boardGuide/common/adc/index.html index 323e3d53c..b77cdff6d 100644 --- a/docs/boardGuide/common/adc/index.html +++ b/docs/boardGuide/common/adc/index.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/boardGuide/common/crypto.html b/docs/boardGuide/common/crypto.html index 0aca41720..8dd1713dd 100644 --- a/docs/boardGuide/common/crypto.html +++ b/docs/boardGuide/common/crypto.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/boardGuide/common/disp.html b/docs/boardGuide/common/disp.html index 90e3f6fff..ad46d9bc0 100644 --- a/docs/boardGuide/common/disp.html +++ b/docs/boardGuide/common/disp.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/boardGuide/common/fdb.html b/docs/boardGuide/common/fdb.html index 0044e47b5..7366020d9 100644 --- a/docs/boardGuide/common/fdb.html +++ b/docs/boardGuide/common/fdb.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/boardGuide/common/i2c/air101.html b/docs/boardGuide/common/i2c/air101.html index 40ef2eed8..a2107b955 100644 --- a/docs/boardGuide/common/i2c/air101.html +++ b/docs/boardGuide/common/i2c/air101.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/boardGuide/common/i2c/air103.html b/docs/boardGuide/common/i2c/air103.html index 66bf4147f..f95140d1e 100644 --- a/docs/boardGuide/common/i2c/air103.html +++ b/docs/boardGuide/common/i2c/air103.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/boardGuide/common/i2c/air105.html b/docs/boardGuide/common/i2c/air105.html index efc6f4e80..34ad8ebe7 100644 --- a/docs/boardGuide/common/i2c/air105.html +++ b/docs/boardGuide/common/i2c/air105.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/boardGuide/common/i2c/index.html b/docs/boardGuide/common/i2c/index.html index c90ccb4f1..1a0e80054 100644 --- a/docs/boardGuide/common/i2c/index.html +++ b/docs/boardGuide/common/i2c/index.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/boardGuide/common/index.html b/docs/boardGuide/common/index.html index 981000aa1..0a3abd054 100644 --- a/docs/boardGuide/common/index.html +++ b/docs/boardGuide/common/index.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/boardGuide/common/lcd.html b/docs/boardGuide/common/lcd.html index 167873a91..4ab374f1d 100644 --- a/docs/boardGuide/common/lcd.html +++ b/docs/boardGuide/common/lcd.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/boardGuide/common/log.html b/docs/boardGuide/common/log.html index d6fa212c8..2b1c7f11f 100644 --- a/docs/boardGuide/common/log.html +++ b/docs/boardGuide/common/log.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/boardGuide/common/mcu/air101.html b/docs/boardGuide/common/mcu/air101.html index c019a818a..175e14473 100644 --- a/docs/boardGuide/common/mcu/air101.html +++ b/docs/boardGuide/common/mcu/air101.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/boardGuide/common/mcu/air103.html b/docs/boardGuide/common/mcu/air103.html index 401698d06..d72a6d5ae 100644 --- a/docs/boardGuide/common/mcu/air103.html +++ b/docs/boardGuide/common/mcu/air103.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/boardGuide/common/mcu/air105.html b/docs/boardGuide/common/mcu/air105.html index e58735172..ce1e61b34 100644 --- a/docs/boardGuide/common/mcu/air105.html +++ b/docs/boardGuide/common/mcu/air105.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/boardGuide/common/mcu/index.html b/docs/boardGuide/common/mcu/index.html index 7baa7b52c..21e2a79be 100644 --- a/docs/boardGuide/common/mcu/index.html +++ b/docs/boardGuide/common/mcu/index.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/boardGuide/common/pm.html b/docs/boardGuide/common/pm.html index 9ee278158..80e6fcba5 100644 --- a/docs/boardGuide/common/pm.html +++ b/docs/boardGuide/common/pm.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/boardGuide/common/pwm/air101.html b/docs/boardGuide/common/pwm/air101.html index 258d0cffc..62877c658 100644 --- a/docs/boardGuide/common/pwm/air101.html +++ b/docs/boardGuide/common/pwm/air101.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/boardGuide/common/pwm/air103.html b/docs/boardGuide/common/pwm/air103.html index b74da701e..ebf279e53 100644 --- a/docs/boardGuide/common/pwm/air103.html +++ b/docs/boardGuide/common/pwm/air103.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/boardGuide/common/pwm/air105.html b/docs/boardGuide/common/pwm/air105.html index d19237453..deb192f2b 100644 --- a/docs/boardGuide/common/pwm/air105.html +++ b/docs/boardGuide/common/pwm/air105.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/boardGuide/common/pwm/index.html b/docs/boardGuide/common/pwm/index.html index 6df530a15..33211ca75 100644 --- a/docs/boardGuide/common/pwm/index.html +++ b/docs/boardGuide/common/pwm/index.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/boardGuide/common/rtc.html b/docs/boardGuide/common/rtc.html index effe8bb31..c00040ac2 100644 --- a/docs/boardGuide/common/rtc.html +++ b/docs/boardGuide/common/rtc.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/boardGuide/common/sfd.html b/docs/boardGuide/common/sfd.html index b6214900c..1481712a1 100644 --- a/docs/boardGuide/common/sfd.html +++ b/docs/boardGuide/common/sfd.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/boardGuide/common/sfud/air101.html b/docs/boardGuide/common/sfud/air101.html index 8f8c039e3..b6705f36d 100644 --- a/docs/boardGuide/common/sfud/air101.html +++ b/docs/boardGuide/common/sfud/air101.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/boardGuide/common/sfud/air103.html b/docs/boardGuide/common/sfud/air103.html index 33f24a37d..62b521e41 100644 --- a/docs/boardGuide/common/sfud/air103.html +++ b/docs/boardGuide/common/sfud/air103.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/boardGuide/common/sfud/air105.html b/docs/boardGuide/common/sfud/air105.html index 34425a374..4c0ac8123 100644 --- a/docs/boardGuide/common/sfud/air105.html +++ b/docs/boardGuide/common/sfud/air105.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/boardGuide/common/sfud/index.html b/docs/boardGuide/common/sfud/index.html index 19b10a508..d52cb01d6 100644 --- a/docs/boardGuide/common/sfud/index.html +++ b/docs/boardGuide/common/sfud/index.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/boardGuide/common/spi.html b/docs/boardGuide/common/spi.html index abaa21495..f154667ff 100644 --- a/docs/boardGuide/common/spi.html +++ b/docs/boardGuide/common/spi.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/boardGuide/common/spi/air101.html b/docs/boardGuide/common/spi/air101.html index 3d24aba9a..a07f79355 100644 --- a/docs/boardGuide/common/spi/air101.html +++ b/docs/boardGuide/common/spi/air101.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/boardGuide/common/spi/air103.html b/docs/boardGuide/common/spi/air103.html index 6b25612ff..615e4aa99 100644 --- a/docs/boardGuide/common/spi/air103.html +++ b/docs/boardGuide/common/spi/air103.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/boardGuide/common/spi/air105.html b/docs/boardGuide/common/spi/air105.html index 3891ed01c..f4e010090 100644 --- a/docs/boardGuide/common/spi/air105.html +++ b/docs/boardGuide/common/spi/air105.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/boardGuide/common/spi/index.html b/docs/boardGuide/common/spi/index.html index f10b1141a..c9d0bc6cd 100644 --- a/docs/boardGuide/common/spi/index.html +++ b/docs/boardGuide/common/spi/index.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/boardGuide/common/sys.html b/docs/boardGuide/common/sys.html index 4829aafd3..837d9b751 100644 --- a/docs/boardGuide/common/sys.html +++ b/docs/boardGuide/common/sys.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/boardGuide/common/timer.html b/docs/boardGuide/common/timer.html index 58b13c63e..b4b59b37a 100644 --- a/docs/boardGuide/common/timer.html +++ b/docs/boardGuide/common/timer.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/boardGuide/common/uart.html b/docs/boardGuide/common/uart.html index ae0918640..7c856daa3 100644 --- a/docs/boardGuide/common/uart.html +++ b/docs/boardGuide/common/uart.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/boardGuide/common/uart/air101.html b/docs/boardGuide/common/uart/air101.html index 4a03863ea..70e726d39 100644 --- a/docs/boardGuide/common/uart/air101.html +++ b/docs/boardGuide/common/uart/air101.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/boardGuide/common/uart/air103.html b/docs/boardGuide/common/uart/air103.html index 75ad0acd2..66c2ce87d 100644 --- a/docs/boardGuide/common/uart/air103.html +++ b/docs/boardGuide/common/uart/air103.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/boardGuide/common/uart/air105.html b/docs/boardGuide/common/uart/air105.html index 7f9b87888..61c700471 100644 --- a/docs/boardGuide/common/uart/air105.html +++ b/docs/boardGuide/common/uart/air105.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/boardGuide/common/uart/index.html b/docs/boardGuide/common/uart/index.html index 7e966615e..887504787 100644 --- a/docs/boardGuide/common/uart/index.html +++ b/docs/boardGuide/common/uart/index.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/boardGuide/flash.html b/docs/boardGuide/flash.html index 62ee2df8e..4bd3393ab 100644 --- a/docs/boardGuide/flash.html +++ b/docs/boardGuide/flash.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/boardGuide/index.html b/docs/boardGuide/index.html index 82564ff2b..bfced5569 100644 --- a/docs/boardGuide/index.html +++ b/docs/boardGuide/index.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/boardGuide/roadmap.html b/docs/boardGuide/roadmap.html index e73e147c9..bd352eebe 100644 --- a/docs/boardGuide/roadmap.html +++ b/docs/boardGuide/roadmap.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/boardGuide/vscode.html b/docs/boardGuide/vscode.html index b33fc9701..4961efa18 100644 --- a/docs/boardGuide/vscode.html +++ b/docs/boardGuide/vscode.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/AirWatch.html b/docs/chips/AirWatch.html index 56aedbe0a..b3d7ef784 100644 --- a/docs/chips/AirWatch.html +++ b/docs/chips/AirWatch.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/W806.html b/docs/chips/W806.html index 7d36b82a3..6278f24ec 100644 --- a/docs/chips/W806.html +++ b/docs/chips/W806.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/air001/Air001-Arduino.html b/docs/chips/air001/Air001-Arduino.html index 8a00e7e3f..4e586fc63 100644 --- a/docs/chips/air001/Air001-Arduino.html +++ b/docs/chips/air001/Air001-Arduino.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/air001/Air001-MDK.html b/docs/chips/air001/Air001-MDK.html index 3597d3a38..d5be5e955 100644 --- a/docs/chips/air001/Air001-MDK.html +++ b/docs/chips/air001/Air001-MDK.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/air001/board.html b/docs/chips/air001/board.html index f7b6492ca..be9df4209 100644 --- a/docs/chips/air001/board.html +++ b/docs/chips/air001/board.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/air001/hardware.html b/docs/chips/air001/hardware.html index be9ebfbde..2b2823e6b 100644 --- a/docs/chips/air001/hardware.html +++ b/docs/chips/air001/hardware.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/air001/index.html b/docs/chips/air001/index.html index e190cc413..7ddb48584 100644 --- a/docs/chips/air001/index.html +++ b/docs/chips/air001/index.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/air001/mcu.html b/docs/chips/air001/mcu.html index 626093c1b..8c6ae39b9 100644 --- a/docs/chips/air001/mcu.html +++ b/docs/chips/air001/mcu.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/air001/power_dissipation.html b/docs/chips/air001/power_dissipation.html index abc0ac94d..35abccb18 100644 --- a/docs/chips/air001/power_dissipation.html +++ b/docs/chips/air001/power_dissipation.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/air101/Air101-Hard-design.html b/docs/chips/air101/Air101-Hard-design.html index 4c96f41e2..fed84c41a 100644 --- a/docs/chips/air101/Air101-Hard-design.html +++ b/docs/chips/air101/Air101-Hard-design.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/air101/Air101.html b/docs/chips/air101/Air101.html index c0f7964aa..26ea1aecd 100644 --- a/docs/chips/air101/Air101.html +++ b/docs/chips/air101/Air101.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/air101/board.html b/docs/chips/air101/board.html index 236422813..1991c187a 100644 --- a/docs/chips/air101/board.html +++ b/docs/chips/air101/board.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/air101/hardware.html b/docs/chips/air101/hardware.html index 6fc011b83..bddcf72ac 100644 --- a/docs/chips/air101/hardware.html +++ b/docs/chips/air101/hardware.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/air101/index.html b/docs/chips/air101/index.html index 8e6c71f95..7c74fc8a5 100644 --- a/docs/chips/air101/index.html +++ b/docs/chips/air101/index.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/air101/mcu.html b/docs/chips/air101/mcu.html index babeaf194..25d93d54f 100644 --- a/docs/chips/air101/mcu.html +++ b/docs/chips/air101/mcu.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/air101/power_dissipation.html b/docs/chips/air101/power_dissipation.html index 231763791..def38cb33 100644 --- a/docs/chips/air101/power_dissipation.html +++ b/docs/chips/air101/power_dissipation.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/air103/board.html b/docs/chips/air103/board.html index 896f3e8ba..d06d411ce 100644 --- a/docs/chips/air103/board.html +++ b/docs/chips/air103/board.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/air103/hardware.html b/docs/chips/air103/hardware.html index 5373fe8e9..929dc0b7c 100644 --- a/docs/chips/air103/hardware.html +++ b/docs/chips/air103/hardware.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/air103/index.html b/docs/chips/air103/index.html index 47b5ddc4d..66bea95e5 100644 --- a/docs/chips/air103/index.html +++ b/docs/chips/air103/index.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/air103/lcdseg.html b/docs/chips/air103/lcdseg.html index c7c5524cd..d0f6a84fb 100644 --- a/docs/chips/air103/lcdseg.html +++ b/docs/chips/air103/lcdseg.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/air103/mcu.html b/docs/chips/air103/mcu.html index fb74c0672..30bf7e653 100644 --- a/docs/chips/air103/mcu.html +++ b/docs/chips/air103/mcu.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/air103/power_dissipation.html b/docs/chips/air103/power_dissipation.html index 548748def..e86f00ac0 100644 --- a/docs/chips/air103/power_dissipation.html +++ b/docs/chips/air103/power_dissipation.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/air103/touchkey.html b/docs/chips/air103/touchkey.html index 88697947a..3c24190f7 100644 --- a/docs/chips/air103/touchkey.html +++ b/docs/chips/air103/touchkey.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/air105/board.html b/docs/chips/air105/board.html index f26b4dded..ba9499fae 100644 --- a/docs/chips/air105/board.html +++ b/docs/chips/air105/board.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/air105/encrypt.html b/docs/chips/air105/encrypt.html index f6564ff46..5e14d1ca2 100644 --- a/docs/chips/air105/encrypt.html +++ b/docs/chips/air105/encrypt.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/air105/hardware.html b/docs/chips/air105/hardware.html index 1babd9a9e..5e3cf7044 100644 --- a/docs/chips/air105/hardware.html +++ b/docs/chips/air105/hardware.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/air105/index.html b/docs/chips/air105/index.html index 6c471572d..3223c8131 100644 --- a/docs/chips/air105/index.html +++ b/docs/chips/air105/index.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/air105/mcu.html b/docs/chips/air105/mcu.html index 7f042761f..702947af0 100644 --- a/docs/chips/air105/mcu.html +++ b/docs/chips/air105/mcu.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/air105/power_dissipation.html b/docs/chips/air105/power_dissipation.html index ea2f7c0a6..3e11218ea 100644 --- a/docs/chips/air105/power_dissipation.html +++ b/docs/chips/air105/power_dissipation.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/air106/board.html b/docs/chips/air106/board.html index a6a78d4c7..6ce3659f1 100644 --- a/docs/chips/air106/board.html +++ b/docs/chips/air106/board.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/air106/hardware.html b/docs/chips/air106/hardware.html index 94c29829e..77398c902 100644 --- a/docs/chips/air106/hardware.html +++ b/docs/chips/air106/hardware.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/air106/index.html b/docs/chips/air106/index.html index 0fdde8cd5..0e0f0ccf9 100644 --- a/docs/chips/air106/index.html +++ b/docs/chips/air106/index.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/air106/mcu.html b/docs/chips/air106/mcu.html index 3324449e7..d94c23515 100644 --- a/docs/chips/air106/mcu.html +++ b/docs/chips/air106/mcu.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/air302/board.html b/docs/chips/air302/board.html index df1469380..a9386c437 100644 --- a/docs/chips/air302/board.html +++ b/docs/chips/air302/board.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/air302/hardware.html b/docs/chips/air302/hardware.html index 1f6eddece..d54e313aa 100644 --- a/docs/chips/air302/hardware.html +++ b/docs/chips/air302/hardware.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/air302/index.html b/docs/chips/air302/index.html index 1abc0d354..fadc8b293 100644 --- a/docs/chips/air302/index.html +++ b/docs/chips/air302/index.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/air302/mcu.html b/docs/chips/air302/mcu.html index 4fbee4fea..d2e8c025f 100644 --- a/docs/chips/air302/mcu.html +++ b/docs/chips/air302/mcu.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/air32f103/Air32f103.html b/docs/chips/air32f103/Air32f103.html index 6ae323b4b..2c92698ee 100644 --- a/docs/chips/air32f103/Air32f103.html +++ b/docs/chips/air32f103/Air32f103.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/air32f103/board.html b/docs/chips/air32f103/board.html index eb6437860..e586053ce 100644 --- a/docs/chips/air32f103/board.html +++ b/docs/chips/air32f103/board.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/air32f103/daplink.html b/docs/chips/air32f103/daplink.html index 4ea20e53b..f878e0d77 100644 --- a/docs/chips/air32f103/daplink.html +++ b/docs/chips/air32f103/daplink.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/air32f103/enhancement.html b/docs/chips/air32f103/enhancement.html index 572215ab2..8ac076c8d 100644 --- a/docs/chips/air32f103/enhancement.html +++ b/docs/chips/air32f103/enhancement.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/air32f103/hardware.html b/docs/chips/air32f103/hardware.html index 7e58f1a56..bfdc61a68 100644 --- a/docs/chips/air32f103/hardware.html +++ b/docs/chips/air32f103/hardware.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/air32f103/index.html b/docs/chips/air32f103/index.html index a022233e7..8a3118d72 100644 --- a/docs/chips/air32f103/index.html +++ b/docs/chips/air32f103/index.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/air32f103/mcu.html b/docs/chips/air32f103/mcu.html index 231499f2e..9967e0c7d 100644 --- a/docs/chips/air32f103/mcu.html +++ b/docs/chips/air32f103/mcu.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/air32f103/switchFromSxx.html b/docs/chips/air32f103/switchFromSxx.html index 524aea4af..baee47979 100644 --- a/docs/chips/air32f103/switchFromSxx.html +++ b/docs/chips/air32f103/switchFromSxx.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/air601/board.html b/docs/chips/air601/board.html index 2380ea890..ce415b391 100644 --- a/docs/chips/air601/board.html +++ b/docs/chips/air601/board.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/air601/changelog.html b/docs/chips/air601/changelog.html index 81573aff4..7f5772969 100644 --- a/docs/chips/air601/changelog.html +++ b/docs/chips/air601/changelog.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/air601/hardware.html b/docs/chips/air601/hardware.html index b089022f9..3e8c89b6a 100644 --- a/docs/chips/air601/hardware.html +++ b/docs/chips/air601/hardware.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/air601/index.html b/docs/chips/air601/index.html index 0a405f5e6..e1218dcaf 100644 --- a/docs/chips/air601/index.html +++ b/docs/chips/air601/index.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/air601/mcu.html b/docs/chips/air601/mcu.html index a8fa4a2a2..d8f0279b3 100644 --- a/docs/chips/air601/mcu.html +++ b/docs/chips/air601/mcu.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/air640w/board.html b/docs/chips/air640w/board.html index 3b7fe0466..518f2238e 100644 --- a/docs/chips/air640w/board.html +++ b/docs/chips/air640w/board.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/air640w/hardware.html b/docs/chips/air640w/hardware.html index c5e2a4628..8b0894544 100644 --- a/docs/chips/air640w/hardware.html +++ b/docs/chips/air640w/hardware.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/air640w/index.html b/docs/chips/air640w/index.html index a4dbe8af5..c3b2d5caa 100644 --- a/docs/chips/air640w/index.html +++ b/docs/chips/air640w/index.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/air640w/mcu.html b/docs/chips/air640w/mcu.html index c2b9e388b..ac6186f30 100644 --- a/docs/chips/air640w/mcu.html +++ b/docs/chips/air640w/mcu.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/air780e/air700e.html b/docs/chips/air780e/air700e.html index 00c76e51f..f8451efb0 100644 --- a/docs/chips/air780e/air700e.html +++ b/docs/chips/air780e/air700e.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/air780e/air780eg.html b/docs/chips/air780e/air780eg.html index b48104ae2..5b240d0f1 100644 --- a/docs/chips/air780e/air780eg.html +++ b/docs/chips/air780e/air780eg.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/air780e/board.html b/docs/chips/air780e/board.html index 51e8ee46e..de3c763c0 100644 --- a/docs/chips/air780e/board.html +++ b/docs/chips/air780e/board.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/air780e/changelog.html b/docs/chips/air780e/changelog.html index f0ba39c0e..74d791d70 100644 --- a/docs/chips/air780e/changelog.html +++ b/docs/chips/air780e/changelog.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/air780e/firmware.html b/docs/chips/air780e/firmware.html index 34567520e..27da5e8fe 100644 --- a/docs/chips/air780e/firmware.html +++ b/docs/chips/air780e/firmware.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/air780e/hardware.html b/docs/chips/air780e/hardware.html index 51f3d9010..d5ce10d3c 100644 --- a/docs/chips/air780e/hardware.html +++ b/docs/chips/air780e/hardware.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/air780e/index.html b/docs/chips/air780e/index.html index eaa7286f3..27d7a3408 100644 --- a/docs/chips/air780e/index.html +++ b/docs/chips/air780e/index.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/air780e/iomux.html b/docs/chips/air780e/iomux.html index a4d2d0605..b5da6aef8 100644 --- a/docs/chips/air780e/iomux.html +++ b/docs/chips/air780e/iomux.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/air780e/mcu.html b/docs/chips/air780e/mcu.html index 396bbea4b..37e20051c 100644 --- a/docs/chips/air780e/mcu.html +++ b/docs/chips/air780e/mcu.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/air780e/multiownload.html b/docs/chips/air780e/multiownload.html index d4e7141cc..356252ed8 100644 --- a/docs/chips/air780e/multiownload.html +++ b/docs/chips/air780e/multiownload.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/air780e/network.html b/docs/chips/air780e/network.html index f4bfd6eb4..1b4d2d4cb 100644 --- a/docs/chips/air780e/network.html +++ b/docs/chips/air780e/network.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/air780e/pwrkey.html b/docs/chips/air780e/pwrkey.html index 916ad4bb6..f6d3e2fcd 100644 --- a/docs/chips/air780e/pwrkey.html +++ b/docs/chips/air780e/pwrkey.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/air780e/tts.html b/docs/chips/air780e/tts.html index eb92d0489..851accdc3 100644 --- a/docs/chips/air780e/tts.html +++ b/docs/chips/air780e/tts.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/air901/board.html b/docs/chips/air901/board.html index a81b397ef..815379276 100644 --- a/docs/chips/air901/board.html +++ b/docs/chips/air901/board.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/air901/hardware.html b/docs/chips/air901/hardware.html index 94c29829e..77398c902 100644 --- a/docs/chips/air901/hardware.html +++ b/docs/chips/air901/hardware.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/air901/index.html b/docs/chips/air901/index.html index 0517f171d..e7cdfcf9c 100644 --- a/docs/chips/air901/index.html +++ b/docs/chips/air901/index.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/air901/mcu.html b/docs/chips/air901/mcu.html index 6c1b8d59f..c844d4e14 100644 --- a/docs/chips/air901/mcu.html +++ b/docs/chips/air901/mcu.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/chips.html b/docs/chips/chips.html index 961a94a1c..27bceeaec 100644 --- a/docs/chips/chips.html +++ b/docs/chips/chips.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/coremark/README.html b/docs/chips/coremark/README.html index 4034d151b..e18b81240 100644 --- a/docs/chips/coremark/README.html +++ b/docs/chips/coremark/README.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/esp32c3/board.html b/docs/chips/esp32c3/board.html index ccf039976..f4e1dcf8d 100644 --- a/docs/chips/esp32c3/board.html +++ b/docs/chips/esp32c3/board.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/esp32c3/change_flash.html b/docs/chips/esp32c3/change_flash.html index b60faa661..209433f86 100644 --- a/docs/chips/esp32c3/change_flash.html +++ b/docs/chips/esp32c3/change_flash.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/esp32c3/hardware.html b/docs/chips/esp32c3/hardware.html index ea07c7b14..293163428 100644 --- a/docs/chips/esp32c3/hardware.html +++ b/docs/chips/esp32c3/hardware.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/esp32c3/index.html b/docs/chips/esp32c3/index.html index 29636ec9a..688355853 100644 --- a/docs/chips/esp32c3/index.html +++ b/docs/chips/esp32c3/index.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/esp32c3/power_dissipation.html b/docs/chips/esp32c3/power_dissipation.html index 961d38cbe..78eceecb1 100644 --- a/docs/chips/esp32c3/power_dissipation.html +++ b/docs/chips/esp32c3/power_dissipation.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/esp32s3/board.html b/docs/chips/esp32s3/board.html index 746ea18ff..12ebd366b 100644 --- a/docs/chips/esp32s3/board.html +++ b/docs/chips/esp32s3/board.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/esp32s3/hardware.html b/docs/chips/esp32s3/hardware.html index fd1643b86..f0cdcff1a 100644 --- a/docs/chips/esp32s3/hardware.html +++ b/docs/chips/esp32s3/hardware.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/esp32s3/index.html b/docs/chips/esp32s3/index.html index ca4e663ce..7c30acec1 100644 --- a/docs/chips/esp32s3/index.html +++ b/docs/chips/esp32s3/index.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/esp32s3/mifi.html b/docs/chips/esp32s3/mifi.html index 28004ddfe..36a6b2406 100644 --- a/docs/chips/esp32s3/mifi.html +++ b/docs/chips/esp32s3/mifi.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/index.html b/docs/chips/index.html index b4ea0ef7c..c999798f8 100644 --- a/docs/chips/index.html +++ b/docs/chips/index.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/question.html b/docs/chips/question.html index 67921b9cd..5501055a9 100644 --- a/docs/chips/question.html +++ b/docs/chips/question.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/rp2040/index.html b/docs/chips/rp2040/index.html index af10859a1..df9ad248a 100644 --- a/docs/chips/rp2040/index.html +++ b/docs/chips/rp2040/index.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/supported.html b/docs/chips/supported.html index 855118fa9..8fe64e93e 100644 --- a/docs/chips/supported.html +++ b/docs/chips/supported.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/swm181/board.html b/docs/chips/swm181/board.html index 31b981c03..dd079064f 100644 --- a/docs/chips/swm181/board.html +++ b/docs/chips/swm181/board.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/swm181/hardware.html b/docs/chips/swm181/hardware.html index 6a96a98c6..42b769e68 100644 --- a/docs/chips/swm181/hardware.html +++ b/docs/chips/swm181/hardware.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/swm181/index.html b/docs/chips/swm181/index.html index 9ffe71f9a..3ebd54478 100644 --- a/docs/chips/swm181/index.html +++ b/docs/chips/swm181/index.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/swm181/mcu.html b/docs/chips/swm181/mcu.html index 36163be96..9ff221ec5 100644 --- a/docs/chips/swm181/mcu.html +++ b/docs/chips/swm181/mcu.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/swm181/swm181.html b/docs/chips/swm181/swm181.html index 5f75d89ff..0f36e6407 100644 --- a/docs/chips/swm181/swm181.html +++ b/docs/chips/swm181/swm181.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/chips/win32.html b/docs/chips/win32.html index b4d7b3df7..8da1e3939 100644 --- a/docs/chips/win32.html +++ b/docs/chips/win32.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/develop/add_lua_module.html b/docs/develop/add_lua_module.html index 24ce0eddd..139bc93b1 100644 --- a/docs/develop/add_lua_module.html +++ b/docs/develop/add_lua_module.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/develop/add_myapi_5min.html b/docs/develop/add_myapi_5min.html index b031620e1..70a14017a 100644 --- a/docs/develop/add_myapi_5min.html +++ b/docs/develop/add_myapi_5min.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/develop/c_wait.html b/docs/develop/c_wait.html index 03ce3d751..b5be70518 100644 --- a/docs/develop/c_wait.html +++ b/docs/develop/c_wait.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/develop/cli/README.html b/docs/develop/cli/README.html index 91b4975bc..5561a28ce 100644 --- a/docs/develop/cli/README.html +++ b/docs/develop/cli/README.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/develop/cli/cmd_base.html b/docs/develop/cli/cmd_base.html index 8d5b9d774..4ed940ec9 100644 --- a/docs/develop/cli/cmd_base.html +++ b/docs/develop/cli/cmd_base.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/develop/cli/cmd_burn.html b/docs/develop/cli/cmd_burn.html index 30ec53a85..9c4437d9e 100644 --- a/docs/develop/cli/cmd_burn.html +++ b/docs/develop/cli/cmd_burn.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/develop/cli/cmd_pkg.html b/docs/develop/cli/cmd_pkg.html index 2f9f851bd..5227e206b 100644 --- a/docs/develop/cli/cmd_pkg.html +++ b/docs/develop/cli/cmd_pkg.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/develop/cli/cmd_prj.html b/docs/develop/cli/cmd_prj.html index 40a2e0062..1d886d1f4 100644 --- a/docs/develop/cli/cmd_prj.html +++ b/docs/develop/cli/cmd_prj.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/develop/cli/frontend.html b/docs/develop/cli/frontend.html index 25369fc04..787daf6e0 100644 --- a/docs/develop/cli/frontend.html +++ b/docs/develop/cli/frontend.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/develop/cli/project.html b/docs/develop/cli/project.html index a43a6d840..b90a17b37 100644 --- a/docs/develop/cli/project.html +++ b/docs/develop/cli/project.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/develop/compile.html b/docs/develop/compile.html index 153658568..0351b54fd 100644 --- a/docs/develop/compile.html +++ b/docs/develop/compile.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/develop/compile/Air101.html b/docs/develop/compile/Air101.html index 3849822af..4d9fe596f 100644 --- a/docs/develop/compile/Air101.html +++ b/docs/develop/compile/Air101.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/develop/compile/Air105.html b/docs/develop/compile/Air105.html index 90a84a145..6362a3975 100644 --- a/docs/develop/compile/Air105.html +++ b/docs/develop/compile/Air105.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/develop/compile/Air302.html b/docs/develop/compile/Air302.html index 70def114b..161016149 100644 --- a/docs/develop/compile/Air302.html +++ b/docs/develop/compile/Air302.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/develop/compile/Air640w.html b/docs/develop/compile/Air640w.html index 9d9e3b998..ca75eeb2a 100644 --- a/docs/develop/compile/Air640w.html +++ b/docs/develop/compile/Air640w.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/develop/compile/Air780E.html b/docs/develop/compile/Air780E.html index f76778acf..88b99d797 100644 --- a/docs/develop/compile/Air780E.html +++ b/docs/develop/compile/Air780E.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/develop/compile/Cloud_compilation.html b/docs/develop/compile/Cloud_compilation.html index d9b1989ae..3b69d75c7 100644 --- a/docs/develop/compile/Cloud_compilation.html +++ b/docs/develop/compile/Cloud_compilation.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/develop/compile/ESP32C3.html b/docs/develop/compile/ESP32C3.html index 3dd5320e0..a92adfe20 100644 --- a/docs/develop/compile/ESP32C3.html +++ b/docs/develop/compile/ESP32C3.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/develop/compile/Linux.html b/docs/develop/compile/Linux.html index 337a119c3..3fab1b1b8 100644 --- a/docs/develop/compile/Linux.html +++ b/docs/develop/compile/Linux.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/develop/compile/Win32.html b/docs/develop/compile/Win32.html index 6140f2279..8c5f97e5c 100644 --- a/docs/develop/compile/Win32.html +++ b/docs/develop/compile/Win32.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/develop/contribute/add_module.html b/docs/develop/contribute/add_module.html index cd580c719..f807c5327 100644 --- a/docs/develop/contribute/add_module.html +++ b/docs/develop/contribute/add_module.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/develop/contribute/dev_doc/core/index.html b/docs/develop/contribute/dev_doc/core/index.html index 5164a0e8b..4006b4381 100644 --- a/docs/develop/contribute/dev_doc/core/index.html +++ b/docs/develop/contribute/dev_doc/core/index.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/develop/contribute/dev_doc/core/luat_core.html b/docs/develop/contribute/dev_doc/core/luat_core.html index 71bff55ae..32d370c76 100644 --- a/docs/develop/contribute/dev_doc/core/luat_core.html +++ b/docs/develop/contribute/dev_doc/core/luat_core.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/develop/contribute/dev_doc/core/luat_debugger.html b/docs/develop/contribute/dev_doc/core/luat_debugger.html index 12433f2f9..8f3deef65 100644 --- a/docs/develop/contribute/dev_doc/core/luat_debugger.html +++ b/docs/develop/contribute/dev_doc/core/luat_debugger.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/develop/contribute/dev_doc/core/luat_font.html b/docs/develop/contribute/dev_doc/core/luat_font.html index e69be2fcf..aa1bde79a 100644 --- a/docs/develop/contribute/dev_doc/core/luat_font.html +++ b/docs/develop/contribute/dev_doc/core/luat_font.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/develop/contribute/dev_doc/core/luat_fs.html b/docs/develop/contribute/dev_doc/core/luat_fs.html index 8676fcbf7..b03466602 100644 --- a/docs/develop/contribute/dev_doc/core/luat_fs.html +++ b/docs/develop/contribute/dev_doc/core/luat_fs.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/develop/contribute/dev_doc/core/luat_memory.html b/docs/develop/contribute/dev_doc/core/luat_memory.html index b72e17b15..51e984749 100644 --- a/docs/develop/contribute/dev_doc/core/luat_memory.html +++ b/docs/develop/contribute/dev_doc/core/luat_memory.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/develop/contribute/dev_doc/core/luat_msgbus.html b/docs/develop/contribute/dev_doc/core/luat_msgbus.html index 7d27eb0d2..d657b21ed 100644 --- a/docs/develop/contribute/dev_doc/core/luat_msgbus.html +++ b/docs/develop/contribute/dev_doc/core/luat_msgbus.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/develop/contribute/dev_doc/core/luat_platform.html b/docs/develop/contribute/dev_doc/core/luat_platform.html index b1ad61be8..4519fcdc2 100644 --- a/docs/develop/contribute/dev_doc/core/luat_platform.html +++ b/docs/develop/contribute/dev_doc/core/luat_platform.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/develop/contribute/dev_doc/core/luat_pm.html b/docs/develop/contribute/dev_doc/core/luat_pm.html index 335dac2af..0252cb4f3 100644 --- a/docs/develop/contribute/dev_doc/core/luat_pm.html +++ b/docs/develop/contribute/dev_doc/core/luat_pm.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/develop/contribute/dev_doc/core/luat_timer.html b/docs/develop/contribute/dev_doc/core/luat_timer.html index 78f2f5981..3c7c3edb2 100644 --- a/docs/develop/contribute/dev_doc/core/luat_timer.html +++ b/docs/develop/contribute/dev_doc/core/luat_timer.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/develop/contribute/dev_doc/core/luat_zbuff.html b/docs/develop/contribute/dev_doc/core/luat_zbuff.html index b3eba1ba2..d27682654 100644 --- a/docs/develop/contribute/dev_doc/core/luat_zbuff.html +++ b/docs/develop/contribute/dev_doc/core/luat_zbuff.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/develop/contribute/dev_doc/core/luat_zstruct.html b/docs/develop/contribute/dev_doc/core/luat_zstruct.html index de08425d9..ae7c64062 100644 --- a/docs/develop/contribute/dev_doc/core/luat_zstruct.html +++ b/docs/develop/contribute/dev_doc/core/luat_zstruct.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/develop/contribute/dev_doc/core/sys_wait_pub.html b/docs/develop/contribute/dev_doc/core/sys_wait_pub.html index f79469146..9b52ed381 100644 --- a/docs/develop/contribute/dev_doc/core/sys_wait_pub.html +++ b/docs/develop/contribute/dev_doc/core/sys_wait_pub.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/develop/contribute/dev_doc/index.html b/docs/develop/contribute/dev_doc/index.html index 618b833fc..ba361d82f 100644 --- a/docs/develop/contribute/dev_doc/index.html +++ b/docs/develop/contribute/dev_doc/index.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/develop/contribute/dev_doc/peripherals/index.html b/docs/develop/contribute/dev_doc/peripherals/index.html index 0a4f1ff67..e32eab5a8 100644 --- a/docs/develop/contribute/dev_doc/peripherals/index.html +++ b/docs/develop/contribute/dev_doc/peripherals/index.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/develop/contribute/dev_doc/peripherals/luat_fonts.html b/docs/develop/contribute/dev_doc/peripherals/luat_fonts.html index cfefda884..90821f2b9 100644 --- a/docs/develop/contribute/dev_doc/peripherals/luat_fonts.html +++ b/docs/develop/contribute/dev_doc/peripherals/luat_fonts.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/develop/contribute/dev_doc/peripherals/luat_gpio.html b/docs/develop/contribute/dev_doc/peripherals/luat_gpio.html index 9cd3ad534..5b306faf4 100644 --- a/docs/develop/contribute/dev_doc/peripherals/luat_gpio.html +++ b/docs/develop/contribute/dev_doc/peripherals/luat_gpio.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/develop/contribute/dev_doc/peripherals/luat_ir.html b/docs/develop/contribute/dev_doc/peripherals/luat_ir.html index 26d5f677d..b8d6eb260 100644 --- a/docs/develop/contribute/dev_doc/peripherals/luat_ir.html +++ b/docs/develop/contribute/dev_doc/peripherals/luat_ir.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/develop/contribute/dev_doc/peripherals/luat_spi.html b/docs/develop/contribute/dev_doc/peripherals/luat_spi.html index 234d9f658..160bdc0a1 100644 --- a/docs/develop/contribute/dev_doc/peripherals/luat_spi.html +++ b/docs/develop/contribute/dev_doc/peripherals/luat_spi.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/develop/contribute/dev_doc/peripherals/luat_usart.html b/docs/develop/contribute/dev_doc/peripherals/luat_usart.html index 9ad6d1709..3eceede7c 100644 --- a/docs/develop/contribute/dev_doc/peripherals/luat_usart.html +++ b/docs/develop/contribute/dev_doc/peripherals/luat_usart.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/develop/contribute/dev_doc/peripherals/luat_wlan.html b/docs/develop/contribute/dev_doc/peripherals/luat_wlan.html index f6b0d59ea..d8f7e4de9 100644 --- a/docs/develop/contribute/dev_doc/peripherals/luat_wlan.html +++ b/docs/develop/contribute/dev_doc/peripherals/luat_wlan.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/develop/contribute/index.html b/docs/develop/contribute/index.html index 01fb9f8ec..8ec4530ff 100644 --- a/docs/develop/contribute/index.html +++ b/docs/develop/contribute/index.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/develop/contribute/luadb.html b/docs/develop/contribute/luadb.html index 12795c316..5b61a361d 100644 --- a/docs/develop/contribute/luadb.html +++ b/docs/develop/contribute/luadb.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/develop/contribute/soc_format.html b/docs/develop/contribute/soc_format.html index ba0943b82..33ad009f2 100644 --- a/docs/develop/contribute/soc_format.html +++ b/docs/develop/contribute/soc_format.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/develop/contribute/style.html b/docs/develop/contribute/style.html index fc92fc5a9..84f0167f0 100644 --- a/docs/develop/contribute/style.html +++ b/docs/develop/contribute/style.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/develop/docs.html b/docs/develop/docs.html index 28cd866cc..0b7ce0463 100644 --- a/docs/develop/docs.html +++ b/docs/develop/docs.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/develop/docs_design.html b/docs/develop/docs_design.html index 57fac01b2..e39d403e4 100644 --- a/docs/develop/docs_design.html +++ b/docs/develop/docs_design.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/develop/docs_use.html b/docs/develop/docs_use.html index 8b5aee127..32d55e06a 100644 --- a/docs/develop/docs_use.html +++ b/docs/develop/docs_use.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/develop/filesystems.html b/docs/develop/filesystems.html index 2bc3cc290..1fc842dc4 100644 --- a/docs/develop/filesystems.html +++ b/docs/develop/filesystems.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/develop/hex_string.html b/docs/develop/hex_string.html index bc6cfe82f..6333ba9f2 100644 --- a/docs/develop/hex_string.html +++ b/docs/develop/hex_string.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/develop/soc_download.html b/docs/develop/soc_download.html index 750ab7809..b12ff782b 100644 --- a/docs/develop/soc_download.html +++ b/docs/develop/soc_download.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/genindex.html b/docs/genindex.html index 0f599767d..d5cb57973 100644 --- a/docs/genindex.html +++ b/docs/genindex.html @@ -442,7 +442,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/index.html b/docs/index.html index 1ac656df4..813ba945d 100644 --- a/docs/index.html +++ b/docs/index.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/iotpower/cc/index-en.html b/docs/iotpower/cc/index-en.html index e19ad4bf8..c06581d10 100644 --- a/docs/iotpower/cc/index-en.html +++ b/docs/iotpower/cc/index-en.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/iotpower/cc/index.html b/docs/iotpower/cc/index.html index 369b6fb9c..6d8ed6a65 100644 --- a/docs/iotpower/cc/index.html +++ b/docs/iotpower/cc/index.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/iotpower/cc/parts-en.html b/docs/iotpower/cc/parts-en.html index a5aad8da8..8f9d43a7c 100644 --- a/docs/iotpower/cc/parts-en.html +++ b/docs/iotpower/cc/parts-en.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/iotpower/cc/parts.html b/docs/iotpower/cc/parts.html index 8d9b66275..e447b3b6f 100644 --- a/docs/iotpower/cc/parts.html +++ b/docs/iotpower/cc/parts.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/iotpower/cc/question.html b/docs/iotpower/cc/question.html index b5224e599..94946f6e2 100644 --- a/docs/iotpower/cc/question.html +++ b/docs/iotpower/cc/question.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/iotpower/cc/tech-en.html b/docs/iotpower/cc/tech-en.html index 5e95cbc7d..64fb59b90 100644 --- a/docs/iotpower/cc/tech-en.html +++ b/docs/iotpower/cc/tech-en.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/iotpower/cc/tech.html b/docs/iotpower/cc/tech.html index c83f9cba3..6d93c3ba2 100644 --- a/docs/iotpower/cc/tech.html +++ b/docs/iotpower/cc/tech.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/iotpower/cc/usage-en.html b/docs/iotpower/cc/usage-en.html index b5f309e2b..82a9afb81 100644 --- a/docs/iotpower/cc/usage-en.html +++ b/docs/iotpower/cc/usage-en.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/iotpower/cc/usage.html b/docs/iotpower/cc/usage.html index 4327e5d26..d7087c07a 100644 --- a/docs/iotpower/cc/usage.html +++ b/docs/iotpower/cc/usage.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/iotpower/cc/wrong.html b/docs/iotpower/cc/wrong.html index bf36252f1..e48f23508 100644 --- a/docs/iotpower/cc/wrong.html +++ b/docs/iotpower/cc/wrong.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/iotpower/devices.html b/docs/iotpower/devices.html index 4cc1ad75b..0ccb14229 100644 --- a/docs/iotpower/devices.html +++ b/docs/iotpower/devices.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/iotpower/index-en.html b/docs/iotpower/index-en.html index 585fa43f0..fc161564f 100644 --- a/docs/iotpower/index-en.html +++ b/docs/iotpower/index-en.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/iotpower/index.html b/docs/iotpower/index.html index f16d217cc..42a3008e1 100644 --- a/docs/iotpower/index.html +++ b/docs/iotpower/index.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/iotpower/pc-en.html b/docs/iotpower/pc-en.html index 7f45fee9f..a31674759 100644 --- a/docs/iotpower/pc-en.html +++ b/docs/iotpower/pc-en.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/iotpower/pc.html b/docs/iotpower/pc.html index c70ae327a..d6c57ce0d 100644 --- a/docs/iotpower/pc.html +++ b/docs/iotpower/pc.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/iotpower/power/english.html b/docs/iotpower/power/english.html index 2dfb35413..8db0ad4c2 100644 --- a/docs/iotpower/power/english.html +++ b/docs/iotpower/power/english.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/iotpower/power/index.html b/docs/iotpower/power/index.html index c293b8eb4..78620d47c 100644 --- a/docs/iotpower/power/index.html +++ b/docs/iotpower/power/index.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/iotpower/pro/connect.html b/docs/iotpower/pro/connect.html index cf0f25752..ac83be4e6 100644 --- a/docs/iotpower/pro/connect.html +++ b/docs/iotpower/pro/connect.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/iotpower/pro/index.html b/docs/iotpower/pro/index.html index eb17c9203..9507e43ae 100644 --- a/docs/iotpower/pro/index.html +++ b/docs/iotpower/pro/index.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/iotpower/pro/tech.html b/docs/iotpower/pro/tech.html index 3da0b051d..dab574a91 100644 --- a/docs/iotpower/pro/tech.html +++ b/docs/iotpower/pro/tech.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/iotpower/pro/usage.html b/docs/iotpower/pro/usage.html index 50a4297b0..c46897f11 100644 --- a/docs/iotpower/pro/usage.html +++ b/docs/iotpower/pro/usage.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/luaGuide/index.html b/docs/luaGuide/index.html index 65aae64a2..5ff9fc6a6 100644 --- a/docs/luaGuide/index.html +++ b/docs/luaGuide/index.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/luaGuide/introduction.html b/docs/luaGuide/introduction.html index 13b42476a..0c35f6615 100644 --- a/docs/luaGuide/introduction.html +++ b/docs/luaGuide/introduction.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/luaGuide/luaReference.html b/docs/luaGuide/luaReference.html index 275485f8f..35a1a670c 100644 --- a/docs/luaGuide/luaReference.html +++ b/docs/luaGuide/luaReference.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/luaGuide/luatFramework.html b/docs/luaGuide/luatFramework.html index b2323c623..6f2162d37 100644 --- a/docs/luaGuide/luatFramework.html +++ b/docs/luaGuide/luatFramework.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/luaGuide/luatFramework_exts.html b/docs/luaGuide/luatFramework_exts.html index 5565d8107..875137acc 100644 --- a/docs/luaGuide/luatFramework_exts.html +++ b/docs/luaGuide/luatFramework_exts.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/luaGuide/luatask.html b/docs/luaGuide/luatask.html index 679463db5..c64fbe127 100644 --- a/docs/luaGuide/luatask.html +++ b/docs/luaGuide/luatask.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/objects.inv b/docs/objects.inv index da2a038f75aa33ed5ae15152f61a105e2a754580..8e1cde8cf8ab66954a1f7b1a044775df15552aec 100644 GIT binary patch delta 4943 zcmV-V6R_<4J%c{5j01nzs=B%B72sMy0^JCDeXBtXp*}nrNSG**{`jjO|AAeVZt-sI ztlzCfo1AZ5FJR}XSH@sA?Mnj3^pAP;HNl2FCVVsGMzWQ8Mnpd`{euxPP|Pk^3YZ=%1=N*;gs3_84Bkf4HqWnf2e zE-)N6f9wIGg|y_%i_+3(Sp@AOG>WqFhq;k~oOI`+Z`gtkfQKGA1!O3XB2ObB`Xz@< zw1hEDiVLbEA8%yFut2fnh3s*Bmmd%YGAHkY=S>P#qYbIjC2Ymzuus(MwOi!jlK_c4 zLmrZ(DAFA9|9NB{K0x(L{W1!a7!P(9Nl2}Pk;8$~+@T*~f)oumUg{cEmy$`CcpN4k z*pRX;Pd)74sD}iWUBbBq29qlo!Q-&E*B579FdRZxKAlb%7OaYE0`R5-UYF! zc-U8oxUY;u=odj-knmLht}vf2=BxY1!nbRv>7+*!5WOwq>9!DU`=eWUdmlnN6<}fo zg^1<>eaFio^pjo%7=MNV#>d37`K-fIf<%y#%~3C-jkVcNUoPzUl0+jH$>yjR)jLGt zZeKw20xc`I!pC<1f^-6o(Xa6TyM2Hq!9=`>`IcBVx7x(n^kjmMnRo>BSi<8mjBu1z zfJw25jX>_p(%%IP8eJGVJcM3QXV2RgC-cd|v*u9|Y0RKloqzguw3U56pUtOMEs{h- z0mggn#qh4Bhw0{O2HAO`pzx@rnpg^G-j`hVK5+N;QuWW@UVigNWR;PYlHF|Uv5wI8J z@PYqb207Y2l?iqJ(A_@6A87(Tash7VJ_aF?U{tZ)!f=89+_<4%(t8S30AdMQLn5B4 z3ME31Z3%gUiWd-FHtiUO5Eo+~)gK(qcgM5I#QwpGNPpd(Vs+}*yFH9k9npuVmgLQI zo^lUjE5pm94Zlk5RaBBlk7RSy3&4oj^A(JB*jknt1A=_H#b}NfZ7s7NH8Wk$3|lQk z=7gN3Tny4s<-<(F4L7ziqE4&A0vax=H}Ri7PE#*f;f6Qoh+xvb{#|{C4Y+5sb8zOzNkM<1JBCk)04f;BN{;y zqf@=D!zW?#Bk<>j@vGJVITw@3xA8eyi0A1Ho}m}dCd-o@y-ZI0Izvg|nFE!YA~PeI z9D2UJSYdE14XF)dydZpNM9bjgSApLFjwFRH*c|opHYgrbF_Q_#zrd^n44A0gf?Y=&euXc{t4TTU8)0%z3MdK;VU#yt;?!PQ6;Yy9tWN#<@_+c_6+Ww3ASoBlj&pltBuNA)*&OxK3Oslg zP3+N&pb&;&a^&-VGG%9GC|pAp9-kk-v=<7|B&=d|s<%}dVY}A`jHk=_OFNz*5u9Xm z)Qjr8i*ge*!Hy@LV8@dh?07<8$CCz_2&bBKs@>TrKS&XY_&fZOS;As>_XR)OKF_C};-KpnoS-J%+ zkB*$R$8bx$Iez+>FyKugHWL9DO-MZK%+3JP2py?lrO)16u}f(AgT|sp?0-JZC)0`X z-71};2F2yDj{_G%f?FId$e!-S_1PDKC_gs#N(0L)Rq#~e05$R4jF*x8RKcIZ$dG3c z1vFMfC0>|>#yXTpBuqhf*ad{B>??3D=Cu~0WC&%pQYu}KxkMvn3$?)PF1F7&B7AXu z^@ZT2FHSeORMSQmse~;#9DlY7q6j`bSFwnc|4z;34Ik?nWyOv(~NnniQAxT9~T!c;>0>l^#i|S(%#vAi%WhzNZ4u`#p%AiPLD9T=4 zUDQKeqSGpYv|(ywB&B?$m<{-^xu}tvOE0Nfc}c~>%e%Xqj<3#K&wp5A#Wae-km|4- zmxedcca%v+f61ju5YAOVnuW%UIwTQPi1X<;@c&ykM)7M`b~~BT8f4TIWY`Yeh-!cB zCQw;pRp25r-jrKIlF~_DaXE5K@~Yf!IjfiRvqw|)qtg8-lz)D$hp>5&8Ep%uQM86s zhkgBnf4GIv&j}vfsDFf(!AZ*^D+^4I(o}wP&W&~%k_d)lt9-jY!?wY`{x2~KV{QPF zRN&}|xUn&fMpCACVVaT?9(H^8ZVd%pE#BJK)wyNI2(LDbaJgTEt5q~LjB4?VRFaS! zjvAxd9hPs6!44!5!WKt3>zhmV`s!@`aVJ7)fha4CvI!y*)_-bZ9GxFLQ3Az=DItkq zVl?FXdM!ESR6?6sq!Pd6aH@e>HTOmU+oEfQNvA0=joYbb^{cd4EIF|k^&E4W)Dz9n z*l(W2>cC_nTO^)^hSn@p5qv1(_pr;{A0ik78LI=7Oc=!DRBvje(_Zbz@v0d=$W+3T z9B6zo{RLgK3x6?gLWUHrl_`&@N?ve)ynKPCC(Kj_{kpN=rnXlbPZ1>KneS#aT_(rd zQu^6+pJ(Mh&*(n*f5Vi|{5~r;7AZ_tGr2$ey%40`64%iAgTq!Tv#7MG#pFu0;F0Rj z&>pE+%8s*0w7|F&g!5y1TY!6|jLIz%X|y2dRa6Ifh<~t2iz1CBQNpC9w-=+6780cs znBsES9loMp%kL{sc1G}qX*9Axsv{q}+|Bl($F&v6#s`%c*tL-$jgXKE1`2Wv(!{)w zy^SnwyE4jpQ$|U9GCobhZ3up(@3UbqL=%jQH$jwUXnI*2OTKY4qsy161S>fJcm1mJ zSv{N-IDe0e#l#2%MWRHJbcdc7IE#)ms@g=xqi=j1B$2d_A66|S+8c+*U}J9^D*}O4 ze2(_6g@BKdYs4OyM&d{XNicFNc6zoBD4(^l0g z=0QaiLlv>?-Dp#Edx)65jRt81hEzvBv>j$g=YN3~<~KLdW#_f`*p`A!x>WV`kAC;R z|Me4gmSvIJu%U4pz_g-s9Md&wHTZYfy>3r1K_2ARB-X33`c#!psj5D zP1`{+K_5n|T&`wGf4n6_oI*b+8^ABKafz>f>5;GZia{&*W#APDC?W}|>PG%Cq@@V> zA%7~6UE<%#B`Z7k2DcQCFE5R~QCzZ^Zq#C=+^Bp5LA_fw7yW=E3rb@@pq!+Xxo2sJ zTdMez1iI|7h=M;IP*5#7j8>u~Mk^X!P=iI((KxXemx+v4Y)zm-mutwQTPlrxL`y~7 z<6EkRz}S|Gghm@w=Wp2cT@t{suetmti2z)D)Aj|CQS;e%!m411v}E`bp8W;j>Hb|xu(Q8 zpCg&EKBuvF`y9@2AL0D=J+zVcax-!J?;d4i#HDgEhmQMm2@_)4(v7Uy8FHGMsehiO zZv#Qp9%e8CafjjBtW+3PD(}I5sx}l9=7VZn+3}}bk)T}?d|QK-Q2yi z0JV=a**PT0`Q`e?0?|6gV`Zog^;qP?nJ2dLPNw}ZHDA5kcQWk*oR0*YYk>1Uz{NRqJXNtkznVl|jni-mNV1twkX#L$yR?mB(3!5#^^b z4isR`IUfr-RD?C>Vl3oPA%62TW!ZwIhL2$~doRe$D*HNNS~LgU!T z&wkmMdb45Wsq4pXSJ+HcwS@w|FTg7y0yj_OqFfT_Xb-$Si((MfoJqoqT#oZ`51BUU z&VuA2%+o~7G~oV6egvbX&vB_r2X0cTQ56$^lHBJf%{{Jlshz04rOSgMSI`la*Pl7OFkT|5l*ppyV zX*{GAz$;8{;_TJA@-8UFAknI0=s1vUA{owWQdQyn{U7Lan+UCadu>|7PGakHgG203 zyoZ4x4>PsuZ^tq?8_06UqX&Lm#&R2wSLP2vt!yewuhmLg$bZ_5z?8iS3b6veE?lv9 z;ks3*wU~oOcKm>cyJSFv&f3scmy?94T8IWnw-ZfAJJEE=iKb(nXxi&U)3y^q4VNF= zMCfv&Y0HVGh7(OkJJGb)iKgS6Xx?l7`DpXchs-}8YyNq!`R8`?&zlJ5p?C{fVyGPw z=%Zd9W~$3jhkxbQV#t2f{IjX8yRhf2!k!z2Js(}z^WMUqk1K53CL1dQO)`ruHga>G zB(Y6d6luc%i(VI6=q^O_lD(d^IHJ9eoq$AdK(0mEY1bw-AqSjuG1fU3z0SF?JLjT_ z(CsdZmb)wrcUg>fmqo9;EXKIYvbSKDM!_!o3wAkF3V+M7rLgQRg{8d|mQ952QdqW1 zVc9B$`DE5(n2I{sXd-8?MRbNZQXoV`Ywb}&NxJ+{^uhRrRReK(6*SBrJ95aQX*74mmvE=cxn;>o>{J&+n3 zExO7Czkj}DBdmuk+)&f+CrzGySCPCu-l8#7Rp{U9QZk@A-KHW_IbYsVIk&2lo2}&XLi{eXfB(9=9x%wrnA?54uwJ@#{r9;~~9wcji{M{f-foIMt)$SspVdJCk}C`7ES(vW?5G6}?UGO>S)&QM{% z9~b(qc=qO^5{2ik9~?Pq^pnZOo00I{C0dgQOH{D-*PbQ|HJjdYdV(iI!+;OgB>}Ki zOn;p!6i2IqYU6pXaCSRlO>XwvSX3`AR+=5;9c9r+ZRj*E`=F7mZ&|=o z_TtcH76ngqgWWdVm9%wRZb(RVBsIL$?N*|Lbb$gsn=Tg4c7|z8m z7yJEb^AFqPCEr7;JRQ;mORD=3I>khw;1CA5R;o3xefx= zA)xIaF*;OM<_CY}lVTdV0V=Z`8*BmrHIs=QGk-hmO?~??yO+O6JYcOhpO|oNrw(VCSh< z#$YH7%Ww?k7Q!juKUeex>_zZY1fawJh~z$$K^d6BB3U6w9s#os;Ex3IkT$;sDs@@x zO&pP|a3l}dKD`4Q7JK*v=-c&1`P;1IfzP0e+XV?K2w3Lk&_#d4r;7%UJwSYrmYjJ} zTKX)Dpe2N6P*(RaH!_fu?p*W+ThIaU&so z@>Dn}^U6F2lSa>sml*~MocI^?Txz=a#dKoVj1hcE1+l1j*gJ_xuZ%7F{VU_?wh*oPqg!};AA&d)Qep*#80GHp${W^cz%08dZ z=2NQ{NuuCivN`JIHUJaf!GH_GgVcKujaCyj@TPW9Bv1&CERKBKLN^4%3FyRN?54r& ziqj4pK~aIysX&rX(e%~`7=-u|r^(Ow)M}|rW3%vsmNEIBiIqHQ! zC*D3!6O14?*qVqiE(?FfSNJ%UgbgGI0x(xGshP&Yf(Ox-VfU|NCTZg6xO#^9%->Ht zOiM(SX<~KiSLrJ*`bxW5jpCQ~@CXTnh%AnL=*_isGPWk)M!GBh-_-E2m(3O(0T|Jw z62<6LZ>zJn>?Ti()Jr3_lF>F)C)p-xUl2!6r<3LM*sg%cT1)HN@-Uh{ED&{W1cpNnN zI4;wjEc3P}i{*dZUgH!|f>*3g{VIFzYi*EH$-O-8#(a6KLB2dzi12p#PIged(F1*m zy~WANJhCDxqJ*qio%*#e1kJt0%wBl~MS@Buhn{btF~Bh<488TqI}e9>eya-Pg*j7I z5eU2x(^a=}@cPMT)vQ&G!uR2}Se)7`t0GFYiq)xKUmkydyuxQS?<3{H*>P@TPIDRQk5*J&h!RiOpf3p5N#be1h>Q zh7dlsVn~w2AT~$6v^?{xU~;m%_x7{Yid2&&n#S(1?_W$#-Z-m|XYUxUm_P^T?Soh> zSc%#B$Pf0c8lfWmqJYL4sKg7C&{%mAiG(TW4!eL5m3;;7#k|(ilMJEER!XJoF_&nhY@rsI z-Np79M}#k~uf7nx^u_507iZe&B9*Wuhr@qXK@`D<=PDMF@*fH#;=nYLMXDno+R8z) zv8;58L<)X3a;5X_D+d=hYuC~XKM9O+JS3^;iHp#QLx31#VNrcd!gynTtxP3J$>Fe9 zQ5h5|3`NluHG zs+dMm7*ZW} zGNWz5G>X=c>aeeW@DH~T`Z>Xa85jQrb(MZblE=*H$!ozOw-mRgatL0kzN;(5t8p@DP7tlNLo9OQM8H zOK&emCoLpOCosk3useK3zn0%up6ra^4by03fmBC6cDbAFLyv1Kkc|&2F|cbRK^h?; z6$}*Q7^I1LA$uEH+V)|T^)`%>c42&)gxe7ONZ(n*UWg_b7jJ?n&Cv9+HkN$jW=5AU zQwdgb0Pgx#<+FM?DR6%t7mJAz2#Q3BBIyo2FK`weXH>O`j7Q)2I7lLCA3v;GNVGQ& zkHN;?HdX`ztN0x4T?+vpBiD#MFpb2K3X)*tR_yd_9Z)`NW65VVmZX=nT^`ht$X5_w z7-5J=q%obKJIsTMD26Ix*}KuE==KmXdm9bX2n?x?d}w>hj?RArEzECjo6F8?@3Acf znRKb@>mU8@fB)+z>@3S7wP8c!G=OPE=g5t4fkteh?9*dmmufLM8v>V$nFqj20jc2P zLm7_xgh5-`_?xzaVuC)5R=HfwlKyy0hB$?OP&R;HX5$iH{n8^}?-heq@XNp}4p2lA zQq_(8V@OL8@I!x8AiKoBlS@{1?hS4t9$#J>d!x8yG2N)eNVzrn27-FGYA*T#M;4UE zen2@%DRa-#5VutECkb@fVG#v?I-sChau}^dNsLxBx}XM&sH1UWFD?@qt=O7Cg)Y~S zN4HcO`-ql`xW~6t4S}&O6$y$@a?VaLIZeT9EF((`rx16-fP4rrp9662aE zk{R1XY3w7Ks1Ncn*4Z@n5za>3fV|`9z@Af&I;XcCo?R#h=@8xFV_TN3q#)wPhVh$bm=MpBww51za zvoqv0HB)~*OWy{9s6EVJ1mX_EwOOe!s#M;C{m5r0(-}R+>1c?MZDl?v&m#BvXgXPFfA(adQ-&rT#QY8W43lw>)$_&`bAVkKLso6GN-b^p z+}p$VHfIJfMZmQ^O1lPN0^ z!jJJN+t+*pwyzlHBLRnOUokF50uI?88AsT@Vyo8GELg3zEGvVQzr9;oV;m^JnsYuDa;OMv&c#^Bp+bKYoFhuH=Bro9Y;etWA}fOgSl?XQ<;N96 z#Wz$6ig7*?aIg#%<6

        UN?bYka_ z7@wZq-gQ8Xas-WWz!PfD`B=yyU#K}3VxZeqVr>Km=}{$VIs%(9s@vdltnYsyUN{ z7r7kg;~p|?(wzm#Lzt(Dm}$WMkNgNmOP}LXl@8pbRHG^;{v^52PnvsN>r`c-U;doo zpTrL(KbcGs6dul5?w4VbngCX|DhGcP+$Ss39C?hP#NC3i9D&;quFpRiQUWXu1)l_A z#2|4~_`pLh=gK^|sm)!&X~a5j+Tjzn`uf>r4sQG78TX$j4TZKJ03VS}fu;;ynJs(%twoNux z2AX6RTWsX!JV|1kvMADq0T#V3w9s9M<|TVQX>mk*A3Fhw-hf<-vePa~YC;Y;=VGjL zE_$7FVRz0&6QSE(7A<#K81Awd?JkR6cUg>amt}9kE{%d+_807Os1$#eV@qM#TMA2i zDJ+`^-KDT>mBO-B3iHXV$1oLju+c=$UW@1qy%s^nZi`gZDsKM|{4hvvB6L}VXq83a zZ?!SH=9z7=^*B>+cAyqhjW~OaGVNf5_D1=Yp_Ey!L+Y;g2CqTuXy#G2gfx3Q>RT&y%Z$UDlSkJ`{_ zT=qdDS>LjNr|iX{%`6I@#OdHP*@nB4wrB?9wU0qc{5gU$1(E}Ux6(UFJV-lrq zkJIT~%J&+>x!C1mzdvpMVVk_b0UWa;8*BmrE|ZTPGYZS=O?~??yO+N~lgu3%2DYqA;g6V;>m3{d VpI4I!9vuR2c#|j|*923anQqMuB`p8| diff --git a/docs/pages/emulator.html b/docs/pages/emulator.html index fbd17cf4a..f7de24f66 100644 --- a/docs/pages/emulator.html +++ b/docs/pages/emulator.html @@ -445,7 +445,7 @@

      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/pages/supports.html b/docs/pages/supports.html index 7e3d5d50b..4422532b6 100644 --- a/docs/pages/supports.html +++ b/docs/pages/supports.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/pages/tools.html b/docs/pages/tools.html index f1bbfdd2c..5cbe1f8d0 100644 --- a/docs/pages/tools.html +++ b/docs/pages/tools.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/peripherals/camera_gc032a/demos.html b/docs/peripherals/camera_gc032a/demos.html index b1ad4309c..ad1242ffe 100644 --- a/docs/peripherals/camera_gc032a/demos.html +++ b/docs/peripherals/camera_gc032a/demos.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/peripherals/camera_gc032a/hardware.html b/docs/peripherals/camera_gc032a/hardware.html index 098e7582c..a3b8ebf74 100644 --- a/docs/peripherals/camera_gc032a/hardware.html +++ b/docs/peripherals/camera_gc032a/hardware.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/peripherals/camera_gc032a/index.html b/docs/peripherals/camera_gc032a/index.html index 939856d99..e20dc40ab 100644 --- a/docs/peripherals/camera_gc032a/index.html +++ b/docs/peripherals/camera_gc032a/index.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/peripherals/chip_gtfont/demos.html b/docs/peripherals/chip_gtfont/demos.html index 49ade20ac..df8818d0a 100644 --- a/docs/peripherals/chip_gtfont/demos.html +++ b/docs/peripherals/chip_gtfont/demos.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/peripherals/chip_gtfont/hardware.html b/docs/peripherals/chip_gtfont/hardware.html index fdb629bca..7da3a8eca 100644 --- a/docs/peripherals/chip_gtfont/hardware.html +++ b/docs/peripherals/chip_gtfont/hardware.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/peripherals/chip_gtfont/index.html b/docs/peripherals/chip_gtfont/index.html index 99f77c978..ec29c59fa 100644 --- a/docs/peripherals/chip_gtfont/index.html +++ b/docs/peripherals/chip_gtfont/index.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/peripherals/eink_1.54/hardware.html b/docs/peripherals/eink_1.54/hardware.html index 6983e7cbd..cf45a4db5 100644 --- a/docs/peripherals/eink_1.54/hardware.html +++ b/docs/peripherals/eink_1.54/hardware.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/peripherals/eink_1.54/index.html b/docs/peripherals/eink_1.54/index.html index 33f7a7e71..77f653cee 100644 --- a/docs/peripherals/eink_1.54/index.html +++ b/docs/peripherals/eink_1.54/index.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/peripherals/eink_1.54/software.html b/docs/peripherals/eink_1.54/software.html index 52c757d98..56a901f11 100644 --- a/docs/peripherals/eink_1.54/software.html +++ b/docs/peripherals/eink_1.54/software.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/peripherals/index.html b/docs/peripherals/index.html index 375920f0e..a585a5420 100644 --- a/docs/peripherals/index.html +++ b/docs/peripherals/index.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/peripherals/lcd_1in54_240x240/demos.html b/docs/peripherals/lcd_1in54_240x240/demos.html index e09d56564..4cf1ff005 100644 --- a/docs/peripherals/lcd_1in54_240x240/demos.html +++ b/docs/peripherals/lcd_1in54_240x240/demos.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/peripherals/lcd_1in54_240x240/hardware.html b/docs/peripherals/lcd_1in54_240x240/hardware.html index 097330384..c6b118a0d 100644 --- a/docs/peripherals/lcd_1in54_240x240/hardware.html +++ b/docs/peripherals/lcd_1in54_240x240/hardware.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/peripherals/lcd_1in54_240x240/index.html b/docs/peripherals/lcd_1in54_240x240/index.html index 8930545b8..2971b12b6 100644 --- a/docs/peripherals/lcd_1in54_240x240/index.html +++ b/docs/peripherals/lcd_1in54_240x240/index.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/peripherals/lcd_1in8_128x160/demos.html b/docs/peripherals/lcd_1in8_128x160/demos.html index 2ec030484..95a07d5ff 100644 --- a/docs/peripherals/lcd_1in8_128x160/demos.html +++ b/docs/peripherals/lcd_1in8_128x160/demos.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/peripherals/lcd_1in8_128x160/hardware.html b/docs/peripherals/lcd_1in8_128x160/hardware.html index 094f8fb26..a0388f99a 100644 --- a/docs/peripherals/lcd_1in8_128x160/hardware.html +++ b/docs/peripherals/lcd_1in8_128x160/hardware.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/peripherals/lcd_1in8_128x160/index.html b/docs/peripherals/lcd_1in8_128x160/index.html index 4bb93be97..095597dc1 100644 --- a/docs/peripherals/lcd_1in8_128x160/index.html +++ b/docs/peripherals/lcd_1in8_128x160/index.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/peripherals/lcd_2in4_320x240/demos.html b/docs/peripherals/lcd_2in4_320x240/demos.html index 83df297fb..8b52df1e7 100644 --- a/docs/peripherals/lcd_2in4_320x240/demos.html +++ b/docs/peripherals/lcd_2in4_320x240/demos.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/peripherals/lcd_2in4_320x240/hardware.html b/docs/peripherals/lcd_2in4_320x240/hardware.html index e4826ccc4..47db34e40 100644 --- a/docs/peripherals/lcd_2in4_320x240/hardware.html +++ b/docs/peripherals/lcd_2in4_320x240/hardware.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/peripherals/lcd_2in4_320x240/index.html b/docs/peripherals/lcd_2in4_320x240/index.html index c232cab56..137e60e57 100644 --- a/docs/peripherals/lcd_2in4_320x240/index.html +++ b/docs/peripherals/lcd_2in4_320x240/index.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/peripherals/lcd_air10x/demos.html b/docs/peripherals/lcd_air10x/demos.html index f822ec4b1..3d0e76d45 100644 --- a/docs/peripherals/lcd_air10x/demos.html +++ b/docs/peripherals/lcd_air10x/demos.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/peripherals/lcd_air10x/hardware.html b/docs/peripherals/lcd_air10x/hardware.html index 962b45273..85629cab5 100644 --- a/docs/peripherals/lcd_air10x/hardware.html +++ b/docs/peripherals/lcd_air10x/hardware.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/peripherals/lcd_air10x/index.html b/docs/peripherals/lcd_air10x/index.html index 0ba46521d..06472b819 100644 --- a/docs/peripherals/lcd_air10x/index.html +++ b/docs/peripherals/lcd_air10x/index.html @@ -445,7 +445,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/search.html b/docs/search.html index 8e156f579..c3e33c7d6 100644 --- a/docs/search.html +++ b/docs/search.html @@ -441,7 +441,7 @@
      • httpsrv - http Server
      • i2c - I2C Operation
      • i2s - Digital Audio
      • -
      • iconv - iconv Operation
      • +
      • iconv - Character encoding conversion
      • io - io action (extended)
      • ioqueue - io Sequence operation
      • iotauth - IoT Authentication library, used to generate parameters for various cloud platforms
      • diff --git a/docs/searchindex.js b/docs/searchindex.js index 6be8f63e4..bb64ca605 100644 --- a/docs/searchindex.js +++ b/docs/searchindex.js @@ -1 +1 @@ -Search.setIndex({docnames:["api/adc","api/audio","api/bit64","api/camera","api/codec","api/coremark","api/crypto","api/ctiot","api/dac","api/disp","api/eink","api/errDump","api/fastlz","api/fatfs","api/fdb","api/fonts","api/fota","api/fs","api/fskv","api/ftp","api/gmssl","api/gpio","api/gtfont","api/hmeta","api/http","api/httpsrv","api/i2c","api/i2s","api/iconv","api/index","api/io","api/ioqueue","api/iotauth","api/ir","api/json","api/keyboard","api/lcd","api/lcdseg","api/libcoap","api/libgnss","api/libs/ads1115","api/libs/adxl34x","api/libs/aht10","api/libs/air153C_wtd","api/libs/ak8963","api/libs/am2320","api/libs/bh1750","api/libs/bmx","api/libs/cht8305c","api/libs/ds3231","api/libs/ec11","api/libs/gt911","api/libs/httpdns","api/libs/ina226","api/libs/index","api/libs/iotcloud","api/libs/l3g4200d","api/libs/lbsLoc","api/libs/lbsLoc2","api/libs/libfota","api/libs/libnet","api/libs/lis2dh12","api/libs/lm75","api/libs/mcp2515","api/libs/mlx90614","api/libs/mpu6xxx","api/libs/necir","api/libs/netLed","api/libs/pcf8563t","api/libs/pcf8574","api/libs/qmc5883l","api/libs/rc522","api/libs/rtkv","api/libs/shift595","api/libs/si24r1","api/libs/spl06","api/libs/tcs3472","api/libs/tm1637","api/libs/tm1640","api/libs/tm1650","api/libs/tsl2561","api/libs/udpsrv","api/libs/xmodem","api/libs/ze08g_ch2o","api/libs/zh07","api/log","api/lora","api/lora2","api/lpmem","api/lvgl","api/max30102","api/mcu","api/miniz","api/mlx90640","api/mobile","api/mqtt","api/nbiot","api/nes","api/nimble","api/os","api/otp","api/pack","api/pin","api/pm","api/protobuf","api/pwm","api/repl","api/rsa","api/rtc","api/rtos","api/sdio","api/sensor","api/sfd","api/sfud","api/sms","api/socket","api/softkeyboard","api/spi","api/sqlite3","api/statem","api/string","api/supported","api/sys","api/sys_pub","api/sysplus","api/timer","api/touchkey","api/u8g2","api/uart","api/ufont","api/usbapp","api/w5500","api/wdt","api/websocket","api/wlan","api/ymodem","api/zbuff","api/zlib","appDevelopment/index","appDevelopment/iotcloud/aliyun/code","appDevelopment/iotcloud/aliyun/device","appDevelopment/iotcloud/aliyun/index","appDevelopment/iotcloud/aliyun/intro","appDevelopment/iotcloud/aliyun/project","appDevelopment/iotcloud/aliyun/test","appDevelopment/iotcloud/basic/index","appDevelopment/iotcloud/basic/intro","appDevelopment/iotcloud/basic/json","appDevelopment/iotcloud/basic/protocol","appDevelopment/iotcloud/index","appDevelopment/iotcloud/onenet/code","appDevelopment/iotcloud/onenet/device","appDevelopment/iotcloud/onenet/index","appDevelopment/iotcloud/onenet/intro","appDevelopment/iotcloud/onenet/project","appDevelopment/iotcloud/onenet/test","appDevelopment/iotcloud/qcloud/code","appDevelopment/iotcloud/qcloud/device","appDevelopment/iotcloud/qcloud/index","appDevelopment/iotcloud/qcloud/intro","appDevelopment/iotcloud/qcloud/project","appDevelopment/iotcloud/qcloud/test","appDevelopment/lvgl/LVGL_for_LuatOS/LVGL_for_LuatOS","appDevelopment/lvgl/index","appDevelopment/peripheral/index","appDevelopment/peripheral/ws2812/ws2812","appDevelopment/video_play/105/video_play","appDevelopment/video_play/index","archives","boardGuide/common/adc/index","boardGuide/common/crypto","boardGuide/common/disp","boardGuide/common/fdb","boardGuide/common/i2c/air101","boardGuide/common/i2c/air103","boardGuide/common/i2c/air105","boardGuide/common/i2c/index","boardGuide/common/index","boardGuide/common/lcd","boardGuide/common/log","boardGuide/common/mcu/air101","boardGuide/common/mcu/air103","boardGuide/common/mcu/air105","boardGuide/common/mcu/index","boardGuide/common/pm","boardGuide/common/pwm/air101","boardGuide/common/pwm/air103","boardGuide/common/pwm/air105","boardGuide/common/pwm/index","boardGuide/common/rtc","boardGuide/common/sfd","boardGuide/common/sfud/air101","boardGuide/common/sfud/air103","boardGuide/common/sfud/air105","boardGuide/common/sfud/index","boardGuide/common/spi","boardGuide/common/spi/air101","boardGuide/common/spi/air103","boardGuide/common/spi/air105","boardGuide/common/spi/index","boardGuide/common/sys","boardGuide/common/timer","boardGuide/common/uart","boardGuide/common/uart/air101","boardGuide/common/uart/air103","boardGuide/common/uart/air105","boardGuide/common/uart/index","boardGuide/flash","boardGuide/index","boardGuide/roadmap","boardGuide/vscode","chips/AirWatch","chips/W806","chips/air001/Air001-Arduino","chips/air001/Air001-MDK","chips/air001/board","chips/air001/hardware","chips/air001/index","chips/air001/mcu","chips/air001/power_dissipation","chips/air101/Air101","chips/air101/Air101-Hard-design","chips/air101/board","chips/air101/hardware","chips/air101/index","chips/air101/mcu","chips/air101/power_dissipation","chips/air103/board","chips/air103/hardware","chips/air103/index","chips/air103/lcdseg","chips/air103/mcu","chips/air103/power_dissipation","chips/air103/touchkey","chips/air105/board","chips/air105/encrypt","chips/air105/hardware","chips/air105/index","chips/air105/mcu","chips/air105/power_dissipation","chips/air106/board","chips/air106/hardware","chips/air106/index","chips/air106/mcu","chips/air302/board","chips/air302/hardware","chips/air302/index","chips/air302/mcu","chips/air32f103/Air32f103","chips/air32f103/board","chips/air32f103/daplink","chips/air32f103/enhancement","chips/air32f103/hardware","chips/air32f103/index","chips/air32f103/mcu","chips/air32f103/switchFromSxx","chips/air601/board","chips/air601/changelog","chips/air601/hardware","chips/air601/index","chips/air601/mcu","chips/air640w/board","chips/air640w/hardware","chips/air640w/index","chips/air640w/mcu","chips/air780e/air700e","chips/air780e/air780eg","chips/air780e/board","chips/air780e/changelog","chips/air780e/firmware","chips/air780e/hardware","chips/air780e/index","chips/air780e/iomux","chips/air780e/mcu","chips/air780e/multiownload","chips/air780e/network","chips/air780e/pwrkey","chips/air780e/tts","chips/air901/board","chips/air901/hardware","chips/air901/index","chips/air901/mcu","chips/chips","chips/coremark/README","chips/esp32c3/board","chips/esp32c3/change_flash","chips/esp32c3/hardware","chips/esp32c3/index","chips/esp32c3/power_dissipation","chips/esp32s3/board","chips/esp32s3/hardware","chips/esp32s3/index","chips/esp32s3/mifi","chips/index","chips/question","chips/rp2040/index","chips/supported","chips/swm181/board","chips/swm181/hardware","chips/swm181/index","chips/swm181/mcu","chips/swm181/swm181","chips/win32","develop/add_lua_module","develop/add_myapi_5min","develop/c_wait","develop/cli/README","develop/cli/cmd_base","develop/cli/cmd_burn","develop/cli/cmd_pkg","develop/cli/cmd_prj","develop/cli/frontend","develop/cli/project","develop/compile","develop/compile/Air101","develop/compile/Air105","develop/compile/Air302","develop/compile/Air640w","develop/compile/Air780E","develop/compile/Cloud_compilation","develop/compile/ESP32C3","develop/compile/Linux","develop/compile/Win32","develop/contribute/add_module","develop/contribute/dev_doc/core/index","develop/contribute/dev_doc/core/luat_core","develop/contribute/dev_doc/core/luat_debugger","develop/contribute/dev_doc/core/luat_font","develop/contribute/dev_doc/core/luat_fs","develop/contribute/dev_doc/core/luat_memory","develop/contribute/dev_doc/core/luat_msgbus","develop/contribute/dev_doc/core/luat_platform","develop/contribute/dev_doc/core/luat_pm","develop/contribute/dev_doc/core/luat_timer","develop/contribute/dev_doc/core/luat_zbuff","develop/contribute/dev_doc/core/luat_zstruct","develop/contribute/dev_doc/core/sys_wait_pub","develop/contribute/dev_doc/index","develop/contribute/dev_doc/peripherals/index","develop/contribute/dev_doc/peripherals/luat_fonts","develop/contribute/dev_doc/peripherals/luat_gpio","develop/contribute/dev_doc/peripherals/luat_ir","develop/contribute/dev_doc/peripherals/luat_spi","develop/contribute/dev_doc/peripherals/luat_usart","develop/contribute/dev_doc/peripherals/luat_wlan","develop/contribute/index","develop/contribute/luadb","develop/contribute/soc_format","develop/contribute/style","develop/docs","develop/docs_design","develop/docs_use","develop/filesystems","develop/hex_string","develop/soc_download","index","iotpower/cc/index","iotpower/cc/index-en","iotpower/cc/parts","iotpower/cc/parts-en","iotpower/cc/question","iotpower/cc/tech","iotpower/cc/tech-en","iotpower/cc/usage","iotpower/cc/usage-en","iotpower/cc/wrong","iotpower/devices","iotpower/index","iotpower/index-en","iotpower/pc","iotpower/pc-en","iotpower/power/english","iotpower/power/index","iotpower/pro/connect","iotpower/pro/index","iotpower/pro/tech","iotpower/pro/usage","luaGuide/index","luaGuide/introduction","luaGuide/luaReference","luaGuide/luatFramework","luaGuide/luatFramework_exts","luaGuide/luatask","pages/emulator","pages/supports","pages/tools","peripherals/camera_gc032a/demos","peripherals/camera_gc032a/hardware","peripherals/camera_gc032a/index","peripherals/chip_gtfont/demos","peripherals/chip_gtfont/hardware","peripherals/chip_gtfont/index","peripherals/eink_1.54/hardware","peripherals/eink_1.54/index","peripherals/eink_1.54/software","peripherals/index","peripherals/lcd_1in54_240x240/demos","peripherals/lcd_1in54_240x240/hardware","peripherals/lcd_1in54_240x240/index","peripherals/lcd_1in8_128x160/demos","peripherals/lcd_1in8_128x160/hardware","peripherals/lcd_1in8_128x160/index","peripherals/lcd_2in4_320x240/demos","peripherals/lcd_2in4_320x240/hardware","peripherals/lcd_2in4_320x240/index","peripherals/lcd_air10x/demos","peripherals/lcd_air10x/hardware","peripherals/lcd_air10x/index"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":4,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":3,"sphinx.domains.rst":2,"sphinx.domains.std":2,sphinx:56},filenames:["api/adc.md","api/audio.md","api/bit64.md","api/camera.md","api/codec.md","api/coremark.md","api/crypto.md","api/ctiot.md","api/dac.md","api/disp.md","api/eink.md","api/errDump.md","api/fastlz.md","api/fatfs.md","api/fdb.md","api/fonts.md","api/fota.md","api/fs.md","api/fskv.md","api/ftp.md","api/gmssl.md","api/gpio.md","api/gtfont.md","api/hmeta.md","api/http.md","api/httpsrv.md","api/i2c.md","api/i2s.md","api/iconv.md","api/index.md","api/io.md","api/ioqueue.md","api/iotauth.md","api/ir.md","api/json.md","api/keyboard.md","api/lcd.md","api/lcdseg.md","api/libcoap.md","api/libgnss.md","api/libs/ads1115.md","api/libs/adxl34x.md","api/libs/aht10.md","api/libs/air153C_wtd.md","api/libs/ak8963.md","api/libs/am2320.md","api/libs/bh1750.md","api/libs/bmx.md","api/libs/cht8305c.md","api/libs/ds3231.md","api/libs/ec11.md","api/libs/gt911.md","api/libs/httpdns.md","api/libs/ina226.md","api/libs/index.md","api/libs/iotcloud.md","api/libs/l3g4200d.md","api/libs/lbsLoc.md","api/libs/lbsLoc2.md","api/libs/libfota.md","api/libs/libnet.md","api/libs/lis2dh12.md","api/libs/lm75.md","api/libs/mcp2515.md","api/libs/mlx90614.md","api/libs/mpu6xxx.md","api/libs/necir.md","api/libs/netLed.md","api/libs/pcf8563t.md","api/libs/pcf8574.md","api/libs/qmc5883l.md","api/libs/rc522.md","api/libs/rtkv.md","api/libs/shift595.md","api/libs/si24r1.md","api/libs/spl06.md","api/libs/tcs3472.md","api/libs/tm1637.md","api/libs/tm1640.md","api/libs/tm1650.md","api/libs/tsl2561.md","api/libs/udpsrv.md","api/libs/xmodem.md","api/libs/ze08g_ch2o.md","api/libs/zh07.md","api/log.md","api/lora.md","api/lora2.md","api/lpmem.md","api/lvgl.md","api/max30102.md","api/mcu.md","api/miniz.md","api/mlx90640.md","api/mobile.md","api/mqtt.md","api/nbiot.md","api/nes.md","api/nimble.md","api/os.md","api/otp.md","api/pack.md","api/pin.md","api/pm.md","api/protobuf.md","api/pwm.md","api/repl.md","api/rsa.md","api/rtc.md","api/rtos.md","api/sdio.md","api/sensor.md","api/sfd.md","api/sfud.md","api/sms.md","api/socket.md","api/softkeyboard.md","api/spi.md","api/sqlite3.md","api/statem.md","api/string.md","api/supported.md","api/sys.md","api/sys_pub.md","api/sysplus.md","api/timer.md","api/touchkey.md","api/u8g2.md","api/uart.md","api/ufont.md","api/usbapp.md","api/w5500.md","api/wdt.md","api/websocket.md","api/wlan.md","api/ymodem.md","api/zbuff.md","api/zlib.md","appDevelopment/index.md","appDevelopment/iotcloud/aliyun/code.md","appDevelopment/iotcloud/aliyun/device.md","appDevelopment/iotcloud/aliyun/index.md","appDevelopment/iotcloud/aliyun/intro.md","appDevelopment/iotcloud/aliyun/project.md","appDevelopment/iotcloud/aliyun/test.md","appDevelopment/iotcloud/basic/index.md","appDevelopment/iotcloud/basic/intro.md","appDevelopment/iotcloud/basic/json.md","appDevelopment/iotcloud/basic/protocol.md","appDevelopment/iotcloud/index.md","appDevelopment/iotcloud/onenet/code.md","appDevelopment/iotcloud/onenet/device.md","appDevelopment/iotcloud/onenet/index.md","appDevelopment/iotcloud/onenet/intro.md","appDevelopment/iotcloud/onenet/project.md","appDevelopment/iotcloud/onenet/test.md","appDevelopment/iotcloud/qcloud/code.md","appDevelopment/iotcloud/qcloud/device.md","appDevelopment/iotcloud/qcloud/index.md","appDevelopment/iotcloud/qcloud/intro.md","appDevelopment/iotcloud/qcloud/project.md","appDevelopment/iotcloud/qcloud/test.md","appDevelopment/lvgl/LVGL_for_LuatOS/LVGL_for_LuatOS.md","appDevelopment/lvgl/index.md","appDevelopment/peripheral/index.md","appDevelopment/peripheral/ws2812/ws2812.md","appDevelopment/video_play/105/video_play.md","appDevelopment/video_play/index.md","archives.md","boardGuide/common/adc/index.md","boardGuide/common/crypto.md","boardGuide/common/disp.md","boardGuide/common/fdb.md","boardGuide/common/i2c/air101.md","boardGuide/common/i2c/air103.md","boardGuide/common/i2c/air105.md","boardGuide/common/i2c/index.md","boardGuide/common/index.md","boardGuide/common/lcd.md","boardGuide/common/log.md","boardGuide/common/mcu/air101.md","boardGuide/common/mcu/air103.md","boardGuide/common/mcu/air105.md","boardGuide/common/mcu/index.md","boardGuide/common/pm.md","boardGuide/common/pwm/air101.md","boardGuide/common/pwm/air103.md","boardGuide/common/pwm/air105.md","boardGuide/common/pwm/index.md","boardGuide/common/rtc.md","boardGuide/common/sfd.md","boardGuide/common/sfud/air101.md","boardGuide/common/sfud/air103.md","boardGuide/common/sfud/air105.md","boardGuide/common/sfud/index.md","boardGuide/common/spi.md","boardGuide/common/spi/air101.md","boardGuide/common/spi/air103.md","boardGuide/common/spi/air105.md","boardGuide/common/spi/index.md","boardGuide/common/sys.md","boardGuide/common/timer.md","boardGuide/common/uart.md","boardGuide/common/uart/air101.md","boardGuide/common/uart/air103.md","boardGuide/common/uart/air105.md","boardGuide/common/uart/index.md","boardGuide/flash.md","boardGuide/index.md","boardGuide/roadmap.md","boardGuide/vscode.md","chips/AirWatch.md","chips/W806.md","chips/air001/Air001-Arduino.md","chips/air001/Air001-MDK.md","chips/air001/board.md","chips/air001/hardware.md","chips/air001/index.md","chips/air001/mcu.md","chips/air001/power_dissipation.md","chips/air101/Air101.md","chips/air101/Air101-Hard-design.md","chips/air101/board.md","chips/air101/hardware.md","chips/air101/index.md","chips/air101/mcu.md","chips/air101/power_dissipation.md","chips/air103/board.md","chips/air103/hardware.md","chips/air103/index.md","chips/air103/lcdseg.md","chips/air103/mcu.md","chips/air103/power_dissipation.md","chips/air103/touchkey.md","chips/air105/board.md","chips/air105/encrypt.md","chips/air105/hardware.md","chips/air105/index.md","chips/air105/mcu.md","chips/air105/power_dissipation.md","chips/air106/board.md","chips/air106/hardware.md","chips/air106/index.md","chips/air106/mcu.md","chips/air302/board.md","chips/air302/hardware.md","chips/air302/index.md","chips/air302/mcu.md","chips/air32f103/Air32f103.md","chips/air32f103/board.md","chips/air32f103/daplink.md","chips/air32f103/enhancement.md","chips/air32f103/hardware.md","chips/air32f103/index.md","chips/air32f103/mcu.md","chips/air32f103/switchFromSxx.md","chips/air601/board.md","chips/air601/changelog.md","chips/air601/hardware.md","chips/air601/index.md","chips/air601/mcu.md","chips/air640w/board.md","chips/air640w/hardware.md","chips/air640w/index.md","chips/air640w/mcu.md","chips/air780e/air700e.md","chips/air780e/air780eg.md","chips/air780e/board.md","chips/air780e/changelog.md","chips/air780e/firmware.md","chips/air780e/hardware.md","chips/air780e/index.md","chips/air780e/iomux.md","chips/air780e/mcu.md","chips/air780e/multiownload.md","chips/air780e/network.md","chips/air780e/pwrkey.md","chips/air780e/tts.md","chips/air901/board.md","chips/air901/hardware.md","chips/air901/index.md","chips/air901/mcu.md","chips/chips.md","chips/coremark/README.md","chips/esp32c3/board.md","chips/esp32c3/change_flash.md","chips/esp32c3/hardware.md","chips/esp32c3/index.md","chips/esp32c3/power_dissipation.md","chips/esp32s3/board.md","chips/esp32s3/hardware.md","chips/esp32s3/index.md","chips/esp32s3/mifi.md","chips/index.md","chips/question.md","chips/rp2040/index.md","chips/supported.md","chips/swm181/board.md","chips/swm181/hardware.md","chips/swm181/index.md","chips/swm181/mcu.md","chips/swm181/swm181.md","chips/win32.md","develop/add_lua_module.md","develop/add_myapi_5min.md","develop/c_wait.md","develop/cli/README.md","develop/cli/cmd_base.md","develop/cli/cmd_burn.md","develop/cli/cmd_pkg.md","develop/cli/cmd_prj.md","develop/cli/frontend.md","develop/cli/project.md","develop/compile.md","develop/compile/Air101.md","develop/compile/Air105.md","develop/compile/Air302.rst","develop/compile/Air640w.rst","develop/compile/Air780E.md","develop/compile/Cloud_compilation.md","develop/compile/ESP32C3.md","develop/compile/Linux.md","develop/compile/Win32.md","develop/contribute/add_module.md","develop/contribute/dev_doc/core/index.md","develop/contribute/dev_doc/core/luat_core.md","develop/contribute/dev_doc/core/luat_debugger.md","develop/contribute/dev_doc/core/luat_font.md","develop/contribute/dev_doc/core/luat_fs.md","develop/contribute/dev_doc/core/luat_memory.md","develop/contribute/dev_doc/core/luat_msgbus.md","develop/contribute/dev_doc/core/luat_platform.md","develop/contribute/dev_doc/core/luat_pm.md","develop/contribute/dev_doc/core/luat_timer.md","develop/contribute/dev_doc/core/luat_zbuff.md","develop/contribute/dev_doc/core/luat_zstruct.md","develop/contribute/dev_doc/core/sys_wait_pub.md","develop/contribute/dev_doc/index.md","develop/contribute/dev_doc/peripherals/index.md","develop/contribute/dev_doc/peripherals/luat_fonts.md","develop/contribute/dev_doc/peripherals/luat_gpio.md","develop/contribute/dev_doc/peripherals/luat_ir.md","develop/contribute/dev_doc/peripherals/luat_spi.md","develop/contribute/dev_doc/peripherals/luat_usart.md","develop/contribute/dev_doc/peripherals/luat_wlan.md","develop/contribute/index.md","develop/contribute/luadb.md","develop/contribute/soc_format.md","develop/contribute/style.md","develop/docs.md","develop/docs_design.md","develop/docs_use.md","develop/filesystems.md","develop/hex_string.md","develop/soc_download.md","index.md","iotpower/cc/index.md","iotpower/cc/index-en.md","iotpower/cc/parts.md","iotpower/cc/parts-en.md","iotpower/cc/question.md","iotpower/cc/tech.md","iotpower/cc/tech-en.md","iotpower/cc/usage.md","iotpower/cc/usage-en.md","iotpower/cc/wrong.md","iotpower/devices.md","iotpower/index.md","iotpower/index-en.md","iotpower/pc.md","iotpower/pc-en.md","iotpower/power/english.md","iotpower/power/index.md","iotpower/pro/connect.md","iotpower/pro/index.md","iotpower/pro/tech.md","iotpower/pro/usage.md","luaGuide/index.md","luaGuide/introduction.md","luaGuide/luaReference.md","luaGuide/luatFramework.md","luaGuide/luatFramework_exts.md","luaGuide/luatask.md","pages/emulator.md","pages/supports.md","pages/tools.md","peripherals/camera_gc032a/demos.md","peripherals/camera_gc032a/hardware.md","peripherals/camera_gc032a/index.md","peripherals/chip_gtfont/demos.md","peripherals/chip_gtfont/hardware.md","peripherals/chip_gtfont/index.md","peripherals/eink_1.54/hardware.md","peripherals/eink_1.54/index.md","peripherals/eink_1.54/software.md","peripherals/index.md","peripherals/lcd_1in54_240x240/demos.md","peripherals/lcd_1in54_240x240/hardware.md","peripherals/lcd_1in54_240x240/index.md","peripherals/lcd_1in8_128x160/demos.md","peripherals/lcd_1in8_128x160/hardware.md","peripherals/lcd_1in8_128x160/index.md","peripherals/lcd_2in4_320x240/demos.md","peripherals/lcd_2in4_320x240/hardware.md","peripherals/lcd_2in4_320x240/index.md","peripherals/lcd_air10x/demos.md","peripherals/lcd_air10x/hardware.md","peripherals/lcd_air10x/index.md"],objects:{},objnames:{},objtypes:{},terms:{"0":[0,1,3,4,6,7,8,10,11,13,14,16,17,21,24,25,26,27,28,30,31,32,33,34,35,36,37,39,40,41,42,44,45,46,47,48,49,50,51,53,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,84,85,86,87,88,89,90,91,93,94,95,96,97,98,99,100,102,103,105,107,108,109,110,111,112,113,115,116,117,118,119,120,122,123,126,127,128,130,131,133,134,135,136,162,165,166,169,171,172,173,174,175,178,179,180,181,182,184,185,186,187,190,191,192,193,195,196,197,198,200,201,203,204,205,212,213,216,220,221,222,223,228,233,234,236,238,243,245,247,249,250,252,253,258,267,268,269,271,272,273,274,275,284,289,293,294,301,302,304,305,307,309,311,316,317,323,325,326,329,330,333,334,335,336,340,342,343,344,348,352,354,356,361,366,369,374,375,378,379,380,381,382,390,407],"00":[12,26,39,53,92,115,136,186,255,318,378],"000":[360,379],"0000":354,"00000000":[347,354],"000000000000":134,"00008000":354,"0000ff":162,"0001":[191,192,193],"00010000":354,"0002":[191,192,193],"000287":182,"0003":[191,192,193],"0004":[191,192,193],"0005":[191,192,193],"0006":[191,192,193],"0007":[191,192,193],"0008":[191,192,193],"0009":[191,192,193],"000\u03bca":360,"000a":376,"000bc":379,"0010":53,"002f0200":347,"00380000":354,"00390000":347,"0060ma":226,"00ff0200":354,"01":[0,26,32,39,111,112,115,133,134,136,255,284,326,335,343,344,352],"0100":53,"01000000":16,"01001000":354,"0101":96,"01010000":354,"0102":26,"010203":120,"0107ma":226,"0111":53,"0123":378,"0123456789":162,"01300000":354,"01380000":354,"02":[10,26,39,53,98,127,196,197,198,268,284,318,326,336,354],"02d":378,"02x":[6,79],"03":[16,26,98,134,268,284,327,334,342],"03083333":39,"031":57,"03272018":[196,197,198],"0335":39,"03_event":162,"03_overview":162,"04":[26,96,98,133,284,311,384],"0455":39,"04923":379,"04_widget":162,"05":[12,21,125,129,284,335],"05\u03bca":374,"05_btnmatrix":162,"05_indev":162,"05v":238,"06":[6,26,94,98,123,134,268,284,335],"07":[6,14,15,26,57,98,284,297,298,300,341,378],"08":[129,284],"09":[11,284],"0921ma":232,"092v":212,"09_chart":162,"0_":379,"0a":300,"0b":300,"0m":1,"0u":214,"0v":[221,238,255,361,372,375],"0x":[12,16,26,31,53,57,74,92,98,115,117,127,130,136,196,197,198,334,339,353,354,378,379],"0x0":379,"0x00":[2,6,10,26,36,63,66,71,127,136,162,173,174,175,191,192,193,196,197,198,217,251,293,340,344,346,378],"0x0000":[36,339],"0x000000":165,"0x00000000":347,"0x000080":[191,192,193],"0x0000ff":[36,111,165],"0x0001":339,"0x0002":339,"0x0003":339,"0x0004":339,"0x001f":[36,178,212,220,293],"0x00300000":16,"0x00ff00":[36,165],"0x00ffff":111,"0x00u":214,"0x01":[10,26,36,63,71,91,127,136,196,197,198,217,293,334,335,340,344,346,378],"0x01001000":238,"0x0105":335,"0x0190":335,"0x02":[10,36,63,98,127,196,197,198,217,293,340,344,346,378],"0x03":[37,63,128,196,197,198,217,293,340,344,346,378],"0x04":[10,36,63,127,196,197,198,217,251,293,340,344,346],"0x05":[63,217,293,344],"0x06":[63,78,79,196,197,198,212,217,220,293,335,344],"0x07":[63,71,78,79,191,192,193,217,293,344],"0x08":[10,36,127,191,192,193,217,293,344],"0x09":[217,293,344],"0x0a":[53,344,378],"0x0b":57,"0x0c":[57,191,192,193],"0x0ce0":[212,220],"0x0f":[10,26,36,127,173,174,175,191,192,193],"0x1":379,"0x10":[10,36,127,191,192,193],"0x100":[112,173,174,175,190],"0x10000":[173,174,175],"0x11":[26,33,57,98],"0x12":[30,57,136,334,341],"0x1234":[130,136,334],"0x12345678":[180,181,182],"0x13":[30,98],"0x14":35,"0x18":[191,192,193],"0x1a":136,"0x1a5a5bbx":255,"0x1a5a5ccx":255,"0x1a6a5cdx":255,"0x1a8a6ddx":255,"0x1a8a6edx":255,"0x1a9a6ddx":255,"0x1ba01477":255,"0x1f":35,"0x1f450":162,"0x1f451":162,"0x1f470":162,"0x1ff":[35,63],"0x1fffffe6":63,"0x20":[10,36,74,127,191,192,193,196,197,198,378],"0x20000000":[217,293],"0x2009fffc":91,"0x21":[36,334],"0x22":33,"0x2603":127,"0x2ba01477":255,"0x2c":[212,220],"0x2c06":[212,220],"0x2f":26,"0x30":[57,136,162,378],"0x31":[6,98,136,353,378],"0x3132":353,"0x32":[98,136,334,353,378],"0x33":[98,117,136,173,174,175,334,378],"0x3333ff":89,"0x34":[98,341],"0x35":98,"0x38":[173,174,175],"0x39":162,"0x3b":[57,191,192,193],"0x3ba00477":255,"0x3f":[78,79,126],"0x40":[10,36,127,191,192,193],"0x4001244e":255,"0x41":[162,378],"0x411fc231":255,"0x412fc230":255,"0x42":[191,192,193,378],"0x44":[26,191,192,193,212,220,378],"0x4567":[136,334],"0x48":[10,36,127],"0x4b":128,"0x4ba00477":255,"0x4e00":162,"0x4f":[78,79],"0x52":[191,192,193],"0x55":[128,136,255],"0x5678":130,"0x5a":[98,162,346],"0x5b":[78,79],"0x5c":26,"0x60":[10,36,127],"0x61":[162,378],"0x62":378,"0x65":378,"0x66":[78,79],"0x67":378,"0x68":[26,378],"0x69":378,"0x6b":[191,192,193],"0x6c":378,"0x6d":[78,79],"0x6e":378,"0x6f":[78,79,378],"0x70":378,"0x72":378,"0x74":378,"0x75":[26,378],"0x79":378,"0x7a":162,"0x7d":[78,79],"0x7f":[78,79],"0x7ff":63,"0x7fff":162,"0x80":[10,36,71,127,162],"0x81e0000":347,"0x82":73,"0x83":[10,36,127],"0x84":[10,36,127],"0x86":128,"0x90":[66,196,197,198],"0x9f":[117,195,212,220],"0x9fff":162,"0xa23p":379,"0xa3":98,"0xa5":346,"0xa9":21,"0xaa":[98,128,136,255],"0xac":[173,174,175],"0xbb":[98,191,192,193],"0xbebada":379,"0xc":136,"0xc5":339,"0xc8":136,"0xcc":98,"0xd8":[191,192,193],"0xdd":98,"0xe5":[6,191,192,193],"0xeb":[191,192,193],"0xeeeeff":89,"0xef":[191,192,193],"0xef15":66,"0xef16":66,"0xef17":[196,197,198],"0xef4018":[212,220],"0xf":35,"0xf0":[35,173,174,175],"0xf005":162,"0xf2":26,"0xf33":162,"0xf8":[10,36,127],"0xf800":[136,212,220],"0xf9":[191,192,193],"0xfe":[191,192,193,339,346],"0xff":[6,33,35,36,37,74,78,162,191,192,193,330,333,354,378,379],"0xff0000":36,"0xffff":[6,36,37,67,136,253,293,333],"0xffffff":[212,220],"0xffffffff":[37,91,128,254,333],"0y":127,"1":[0,1,3,6,9,10,12,13,14,16,18,19,21,23,24,25,26,27,28,30,31,34,35,36,37,39,40,41,42,43,44,45,46,47,48,49,50,51,53,55,56,57,58,59,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,82,83,84,85,86,87,89,91,93,94,95,96,97,98,99,100,101,102,103,105,106,108,109,111,112,113,115,116,117,118,119,120,122,123,124,126,127,128,130,131,133,134,135,136,137,162,165,166,168,169,171,172,173,174,175,178,179,180,181,182,185,186,187,190,191,192,193,195,196,197,198,200,201,202,203,204,205,209,211,212,213,216,217,218,220,221,223,228,231,233,234,235,236,237,243,245,247,249,250,252,253,254,258,260,266,267,268,269,271,272,273,274,275,282,287,291,293,299,300,303,305,307,309,311,320,325,326,330,332,333,334,335,336,339,342,343,344,347,348,349,351,353,355,358,360,361,363,372,374,375,380,381,382,385,388,395],"10":[0,2,6,10,11,20,24,30,31,32,36,43,63,65,71,74,77,87,89,90,94,96,98,103,115,119,122,125,127,128,136,162,168,179,185,186,187,196,197,198,201,211,212,220,221,223,228,230,233,238,243,250,254,255,268,269,272,277,284,300,318,320,333,341,342,354,369,378,381,382,384],"100":[1,10,16,21,24,27,37,42,44,48,65,75,78,89,94,103,105,111,128,162,173,174,175,185,186,187,196,197,198,212,220,250,255,268,318,343,361,376,378,379,381],"1000":[1,10,13,24,40,41,42,45,46,47,48,49,51,53,56,59,61,62,63,64,66,67,70,71,72,73,74,75,76,77,78,79,80,82,83,84,86,87,89,91,103,105,111,113,118,122,123,124,134,162,166,169,171,178,180,181,182,184,185,186,187,190,191,192,193,195,196,197,198,200,202,212,213,214,220,268,302,321,322,347,353,379,380,381,382],"10000":[31,66,94,105,109,132,179,201,380,382],"100000":66,"1000000":[182,354],"1000000hz":105,"1000hz":[212,220],"1000m":[380,381],"100\u03c9":238,"100ask":162,"100k":[250,251,254,329],"100khz":[214,218],"100ksp":284,"100m":[1,21,26,212,220],"100mbp":294,"100mv":37,"100u":[131,214,221,361,375],"101":[170,293,314,378],"101_lua_lod":207,"1024":[4,12,30,39,88,91,94,110,113,117,128,136,191,192,193,203,204,205,212,220,243,282,329,334,346,353,379],"1024m":125,"1027923658":384,"102a3b4c5d6":131,"103":[294,349,351],"103336":169,"103348":169,"103372":169,"103_lua_lod":207,"105":[16,26,89,117,243,293,315],"105_lua_lod":207,"106":95,"1061":169,"1061642968":[212,218,225,231,247,304,384],"1063":169,"107":39,"10885":266,"108mhz":238,"109":94,"10_anim":162,"10k":[254,255,367],"10khz":[105,356,361,372,374,375],"10m":13,"10ma":372,"10mbp":294,"10mhz":214,"10mil":[222,227,234,256,265,266,267],"10mm":238,"10mv":[361,375],"10u":[119,255],"10v":358,"10w":211,"10x":293,"11":[6,15,68,94,98,115,120,127,134,162,168,211,212,220,221,223,226,228,230,232,233,238,255,266,268,272,284,325,328,329,330,332,333,354,369,378,381],"110":277,"110m":33,"11100":35,"11111":35,"112":347,"1120":94,"112kb":212,"113":39,"114":[94,115,378],"114514":378,"115":94,"115200":[39,82,128,135,180,181,202,205,212,213,220,221,266,343,354],"1152000":354,"1173":169,"1174":169,"1175":169,"11898":289,"11b":260,"11bit":300,"11g":39,"11th":[57,378],"12":[6,10,15,21,30,36,39,53,85,94,96,102,103,108,119,120,127,136,162,171,228,230,233,238,243,245,255,266,272,284,289,300,334,340,352,353,354,361,372,375,378,379],"120":[36,89,95,96,162,178,212,220,282],"1200":[91,268,354],"120000":[381,382],"12010126":32,"120kb":300,"120mhz":238,"121":57,"122":120,"1222":19,"12222":19,"123":[6,18,20,24,29,85,95,104,117,133,136,269,277,304,334,378,379],"12312121212":277,"123123":378,"123321456654":[136,334],"1234":[18,94,120,130,378],"12341234":292,"12345":[348,378],"123456":[6,72,95,115,120,378],"1234567":[95,378],"12345678":[11,95,134,292,378],"1234567812345678":20,"123456789":[32,95,378],"1234567890":[6,107,170,212,220],"12345678901234":170,"1234567890123456":[6,20,170],"1234567890666666":[6,20,170],"12345678910":378,"1234567891011":378,"123487651234876512348765123487651234876512348765":98,"123abc":120,"123jfoiq4hlkfjbnasdilfhuqwo":[12,92],"124":30,"124045331":94,"124045360":94,"12411":[57,58],"1248":91,"124999":255,"125":238,"125000":255,"126":98,"1262":169,"126322567":[381,382],"1264":169,"127":[21,126],"128":[6,20,30,82,98,107,136,162,166,170,178,212,220,255,268,275,282,334,374,401],"128035":255,"1280m":94,"128hz":277,"128k":[253,254,273,355],"128kb":269,"128m":[196,197,198],"128mb":285,"128x160":395,"1298":318,"12awsaslwlaawsllslllswasllalssawwlawslaw":378,"12awslawslaw":378,"12bit":[128,218],"12f":[34,258,259,293],"12f\u4f7f\u7528\u8bf4\u660e":258,"12f_\u6a21\u5757\u4ea7\u54c1\u89c4\u683c\u4e66":258,"12f_modul":258,"12f_wifi":258,"12f_wifi\u6a21\u5757\u786c\u4ef6\u8bbe\u8ba1\u624b\u518c":258,"12m":[238,293],"12mhz":238,"12x":127,"12x12":171,"13":[10,68,115,119,134,226,228,230,232,233,238,245,262,268,272,282,284,354,378],"132":381,"1328565":318,"132mhz":238,"133":381,"133a":96,"134":381,"1348":169,"135":381,"1350":169,"1354":169,"135hello":378,"136":381,"137":[95,381],"138":381,"139":381,"13m":267,"14":[34,39,68,115,119,221,226,228,230,233,238,245,262,268,272,284,343,344,354,379],"140":[94,381],"141":381,"1415926":378,"1416":[378,379],"142":[169,381],"144":169,"144mhz":238,"145":169,"1460":115,"14bit":300,"15":[29,31,68,72,94,95,96,112,126,127,136,162,182,203,204,205,211,221,228,230,233,238,255,262,268,272,282,284,327,354,361],"150":[162,293],"15000":[58,94,133,134],"1500000":[106,207,234,294],"150m":238,"150mbp":260,"152":10,"15200":354,"156mhz":238,"15\u03bca":[356,361],"15dbm":94,"16":[1,2,4,6,10,13,21,27,36,37,39,71,89,91,93,94,96,98,108,120,127,128,130,136,162,191,192,193,212,220,223,228,230,238,243,245,253,254,255,260,272,282,284,289,293,299,300,334,353,354,379,398,401,404],"160":[10,36,136,162,166,178,180,181,212,282,401],"1600":169,"16000":1,"16000000":255,"1601":169,"160kb":264,"160khz":185,"160m":[287,293],"160mhz":[180,181,243],"160x":166,"16384":[4,212,220],"1650":103,"1652230554":108,"165kb":92,"16777216":[191,192,193],"168":[131,134],"168mhz":238,"16bit":218,"16byte":[115,255],"16e":379,"16k":355,"16kb":[4,300],"16ksp":300,"16m":[126,255,285],"16mb":[191,192,193,284,285,289],"16mflash":211,"16px":327,"16x":[10,36,127],"17":[10,20,21,36,72,94,96,108,111,112,113,117,189,196,197,198,212,221,222,223,227,228,230,234,238,245,250,256,262,265,266,267,272,284,288,348,384],"1709":169,"1712":169,"1712mv":169,"1713":169,"172":162,"176":[347,374],"1776":169,"1777":169,"177x177":[10,36,127],"17955":378,"18":[10,21,36,57,64,72,98,125,171,172,212,223,228,230,238,245,260,262,282,284,304,336,340,384],"180":[10,36,127,134,162],"1800":103,"180d":98,"180mhz":238,"182970020":384,"1850":94,"1884":95,"18k":137,"18khz":73,"19":[10,20,26,36,39,64,94,212,223,228,230,238,245,262,282,284,304,318],"190":162,"1900":108,"1919810":378,"192":[36,89,127,131,134,182,283],"19200":128,"1926":378,"192kb":247,"192m":[237,293],"192mhz":238,"194":39,"1999":[255,318],"1\u03bca":[372,375],"1_":379,"1_20211022":228,"1_layer":379,"1a":[22,360],"1a_v1":390,"1byte":[31,115],"1cg28rk":317,"1e":379,"1f":378,"1fp":3,"1k":[82,260,268],"1kb":[88,203,204,205],"1khz":[105,185,186,187,212,220],"1m":[1,91,268,282,354],"1ma":372,"1mb":260,"1mbyte":[302,321,322],"1msp":300,"1mv":[372,375],"1nf":221,"1s":[180,181,182,200,382],"1st":[36,379],"1u":[91,182],"1ua":[300,361,375],"1uf":[221,238],"1us_tick":31,"1v":255,"1x":127,"1y":127,"2":[0,1,3,9,10,12,13,14,18,21,23,24,25,26,27,34,35,36,37,39,45,55,57,58,59,66,68,72,73,77,78,79,82,85,89,91,93,94,95,96,98,99,100,101,103,106,111,112,115,117,118,120,122,123,124,126,127,128,131,134,136,162,165,166,168,169,173,174,175,179,180,181,186,191,192,193,196,197,198,203,204,207,209,211,212,213,217,218,220,221,222,223,226,227,228,232,233,234,235,237,243,245,247,250,253,254,256,258,260,265,266,267,269,272,273,274,275,277,282,287,291,292,293,299,300,302,303,305,309,311,320,323,326,332,334,336,339,346,348,349,351,353,358,361,363,369,375,376,380,381,395],"20":[10,36,39,63,89,94,96,98,113,117,127,136,162,166,173,174,175,178,180,181,186,190,191,192,193,195,196,197,212,220,223,228,230,238,260,262,268,272,282,284,289,293,334,339,358,363,378,379,384],"200":[1,10,24,25,38,59,66,72,78,134,162,173,174,175,283,336,372,375,379],"2000":[36,57,68,79,99,103,105,111,131,162,189,200,203,204,205,212,220,380,381],"20000":[57,336],"2000000":[36,113,117,128,195,212,220,348,354],"20000000":[10,117,342],"2000m":381,"20034598":172,"200345a8":172,"200\u03bca":[372,375],"200k":[12,273],"200kb":[247,264],"200m":[125,293],"200ma":[238,372],"200mhz":243,"201":36,"2015":[378,379],"2017":57,"2018":[32,162,318,378],"2019":[318,325,328,329,330,332,333,340,378],"2020":[248,254,284,289,301,342,343,344],"2021":[49,108,189,212,250,318,326,334,341],"20211011092353":319,"20211011092608787_qq\u622a\u56fe":319,"20211202193519160_air103_\u6838\u5fc3\u677f\u8bbe\u8ba1\u624b\u518c":228,"20211202193606476_air103_mcu\u8bbe\u8ba1\u624b\u518c":228,"2022":[0,6,14,15,21,39,103,129,162,269,311,318,327,335,336],"20220114193313925_air105\u82af\u7247\u6570\u636e\u624b\u518c":236,"20220303111656608_air105\u6838\u5fc3\u677f\u4f7f\u7528\u624b\u518c":236,"20220419_220202":307,"20220420_223344":309,"20220511":235,"20220513112445291_air105_mcu\u8bbe\u8ba1\u624b\u518c":236,"20220605164850945_air32f103\u82af\u7247\u6570\u636e\u624b\u518c":[249,252],"20220612160340":238,"20220612160407604_qq":238,"20220721163511464_\u534e\u82af\u5fae\u7279swm181\u6570\u636e\u624b\u518c":[297,298,300],"20221028114557272_air780e\u5f00\u53d1\u677f\u539f\u7406\u56fev1":267,"20221104135203881_780x\u5f00\u53d1\u677f\u539f\u7406\u56fe\u548cpcb":267,"20221110145812309_air780e\u5f00\u53d1\u677f\u5587\u53ed\u6269\u5c55\u677fv1":267,"20221219":272,"2023":[2,6,11,13,16,18,20,21,26,29,30,39,64,68,94,98,112,120,123,125,127,133,134,250,268,352],"20230330":272,"20230619165631229_air601":258,"20230626161923628_\u5f00\u53d1\u677fevb_air601":258,"20230721175506039_air001\u82af\u7247\u6570\u636e\u624b\u518c":216,"20230726105503590_air601":258,"2048":107,"2048bit":107,"204mhz":238,"205":38,"20_list":162,"20bit":255,"20k":[162,254],"20khz":78,"20m":[117,342],"20ma":375,"20mhz":243,"20mv":361,"20ppm":[361,375],"20v":[356,358,366],"21":[19,39,128,162,212,223,228,230,238,262,272,284,318,352,378,384],"211013":300,"216m":250,"216mhz":251,"21mm":[284,289],"21v":361,"21x21":[10,36,127],"22":[10,11,36,39,72,86,87,103,111,201,223,226,228,230,232,238,248,260,262,272,284],"220":[36,162],"2200":32,"223":378,"227096712":94,"227857":255,"23":[6,14,16,39,94,96,109,111,134,162,223,228,230,238,262,272,284,378,379],"230":378,"230400":128,"231":39,"233":378,"2333":378,"233333":120,"2334ma":226,"23423":72,"23456":303,"235":162,"239":255,"24":[10,36,39,68,96,111,165,171,196,197,198,221,223,228,230,238,243,272,284,300,334,335],"240":[3,55,89,91,95,136,162,180,181,212,220,282,283,334,374,398,404],"2400":[128,268],"24000000":[13,131,166],"24000000u":214,"240m":[211,289],"240mhz":[91,180,181,260],"240x240":395,"240x320":[294,395],"2425864":57,"244":115,"2452":94,"248kb":300,"2490":318,"24_page":162,"24bit":36,"24m":[238,282],"24mhz":[196,197,198,300],"24v":[356,361,366],"25":[1,39,96,98,127,134,221,223,228,230,238,245,266,272,284,301,325,329,330,333],"250":93,"2500":[212,220],"2549515":318,"255":[13,14,18,39,57,115,131,134,162,166,196,197,198,344,354,378,379],"255tick":31,"256":[20,98,105,112,128,162,185,196,197,198,212,220,275,378,379],"2560m":94,"256k":[211,254,282],"256kb":264,"256m":[253,254,293],"26":[10,18,36,39,223,228,230,238,245,262,272,284],"2603":127,"2650":103,"2670":169,"2673":169,"2675":169,"26_slider":162,"26m":294,"27":[2,6,21,37,39,53,67,72,127,173,174,175,223,228,230,232,238,245,251,255,262,272,284,342],"270":[10,36,127],"270k":137,"278":39,"2793ma":232,"28":[6,43,96,98,162,228,230,238,245,262,272,284,328,332],"280":374,"281":162,"288":347,"288k":[260,282],"29":[26,37,162,226,228,230,238,245,262,272,284,378],"292":26,"2999":32,"29bit":300,"2a":[366,367,372,374,375],"2bia":300,"2byte":255,"2d":39,"2d\u52a0\u901f":282,"2f":[48,173,174,175,257,292],"2g":[273,275,320,384],"2k":268,"2m":[91,117,212,224,229,282,293,347,354],"2ma":372,"2mbp":260,"2mhz":[91,180,181],"2msram":211,"2nd":[36,162,378,379],"2u":255,"2v":[0,238,255,372],"2x":[127,162],"2y":127,"3":[0,3,9,10,14,18,23,24,34,35,36,37,39,45,49,54,57,58,59,66,71,72,73,77,78,79,85,89,94,96,98,100,103,106,108,109,114,115,117,118,120,124,127,134,136,162,166,168,169,173,174,175,191,192,193,195,196,197,198,202,207,209,211,212,217,220,221,223,228,233,234,237,245,250,253,254,267,268,272,275,282,287,291,293,299,300,317,318,323,326,330,331,334,339,347,348,349,351,353,355,358,361,363,375,380,381,393],"30":[10,36,94,95,96,111,127,136,162,166,178,187,207,209,228,230,238,245,255,262,266,272,284,288,300,311,379,382],"300":[59,103,111,165,184,187,326],"3000":[23,58,72,86,87,94,96,109,115,132,133,200,380],"30000":[59,122],"3000000":354,"3000m":[95,133],"3000u":125,"300k":273,"300mah":211,"301":111,"302":294,"305419896":[180,181,182],"30kb":247,"30ma":300,"30mil":221,"30u":255,"30w":[294,388],"31":[32,37,39,94,98,105,108,120,130,134,136,162,189,212,221,228,230,238,255,262,272,282,284,353,378,379],"31249":255,"3132":353,"313233616263":120,"31393033535138385400000000617603":182,"314":379,"31416e1":379,"3149ma":232,"32":[6,10,20,29,36,91,92,96,103,108,119,120,121,127,130,136,162,182,190,228,230,238,243,254,255,260,262,272,284,289,300,334,347,353,379],"320":[3,136,162,212,220,282,404],"3200":27,"32000u":214,"320480":99,"320m":94,"32472115200":32,"3250ma":232,"3269ua":239,"32765":277,"32768u":214,"32_textarea":162,"32bit":[2,91,253,293],"32k":[12,91,92,238,254],"32kb":[92,191,192,193,300],"32kbyte":218,"32khz":[238,300],"32mhz":300,"33":[37,96,117,120,130,136,162,228,230,238,272,331],"330":283,"3300":103,"330uf":221,"332kb":247,"34":[130,228,230,238,272,378],"3400":103,"3432":266,"345":[318,378,379],"34e1":379,"35":[39,96,180,181,223,228,238,272,379],"36":[39,96,223,228,238,250,272,379],"360":[162,369],"3600":[11,59,72],"3600000":269,"36khz":341,"37":[228,230,238,378],"37524839":302,"38":[96,228,230,238],"380d":98,"38400":128,"388":94,"3882":169,"3889":169,"3898":169,"38k":[33,341],"39":[115,238,272],"3\u7248\u672c":317,"3a":[361,366],"3bia":300,"3cm":250,"3d":[39,394],"3duti":300,"3g":[273,275],"3gpp":96,"3hz":185,"3m":[294,358],"3rd":[36,378,379],"3v":[103,173,174,175,191,192,193,196,197,198,202,211,238,250,267,284,300,393],"3v3":[284,289],"3x":162,"3yn5g_tr":228,"4":[0,6,9,10,14,18,21,23,24,34,35,36,37,39,57,59,71,72,73,77,78,79,85,86,87,89,93,94,96,98,100,103,106,108,111,113,115,117,120,124,127,134,136,162,168,169,173,174,175,180,181,182,191,192,193,196,197,198,205,209,211,212,216,220,221,223,228,233,237,243,245,250,253,254,255,260,266,267,268,272,282,287,291,293,300,301,326,330,331,335,339,343,346,353,354,355,358,361,363,369,372,375,376,380,381,395],"40":[10,36,94,96,119,127,162,178,179,180,181,212,220,228,230,238,243,294,334,379],"400":[12,13,92,166],"400001004":[223,228],"400k":282,"400ma":238,"40123":115,"404":[25,38],"4067":39,"4095":18,"4096":[4,18,27,100,191,192,193],"4096bit":107,"40k":[162,221,251,254],"40kb":264,"40m":221,"40mhz":[180,181,221,243,260],"40u":[119,372,374],"41":[179,228,230,238,294],"4126ma":232,"4193":72,"42":[179,228,230,238,294],"42009":378,"43":[108,179,189,212,228,230,238,272],"4305ma":288,"433000000":[86,87],"4344ma":232,"4375":[212,220],"4392ma":288,"44":[94,118,238,239,272,282],"44000":8,"44100":27,"448":347,"448k":273,"448kb":269,"45":[162,207,238,272,379],"4500":[212,220],"45000":133,"456":[120,133],"458":162,"46":[91,179,192,193,198,238,239],"460800":[128,354],"47":[53,179,238,272],"472":283,"4736522":57,"47uf":221,"48":[57,96,162,166,179,182,238],"480":[162,211,294],"4800":[128,268],"48000000":31,"4804ma":239,"480k":[271,293],"480kb":269,"4846ma":226,"485":[128,209,268],"48m":[211,299],"48mhz":[251,300],"49":[179,238,378,379],"492":169,"494":169,"49k":221,"4_20210909":223,"4byte":[31,115],"4duti":300,"4e":379,"4f":378,"4g":[11,72,94,207,211,273,275,284,289,292,355,385],"4gmodem":211,"4hz":93,"4k":[12,16,196,197,198,209,255],"4kb":[11,191,192,193],"4kbyte":218,"4m":[238,282],"4mb":[284,285],"4mflash":211,"4mm":[224,225,355],"4th":[36,173,174,175,378,379],"4v":[169,212,220,221,238,300],"5":[6,10,14,18,24,26,29,31,34,37,39,53,57,59,64,67,68,72,78,79,84,85,92,94,96,103,105,111,115,120,127,128,131,136,162,165,166,168,169,172,173,174,175,182,184,185,187,191,192,193,197,198,209,211,212,218,220,228,233,237,243,245,250,253,255,260,267,277,282,284,289,293,294,316,326,331,333,347,354,355,358,361,363,372,373,375,376,378,380,381,382,407],"50":[30,39,89,105,118,127,162,173,174,175,185,186,187,238,268,378],"500":[21,67,71,73,79,93,122,162,173,174,175,187,212,214,220,361,382],"5000":[24,49,72,94,109,111,132,173,174,175,180,181,182,200,201,380],"5000m":[24,201],"5000u":214,"500792601":384,"500\u03bca":361,"500m":[21,382],"500ma":221,"5016":182,"5023":201,"5037":[180,181],"50736":169,"50788":169,"5080":67,"50832":169,"50hz":21,"50kb":264,"50ksp":300,"50ma":361,"50mv":103,"51":[173,174,175,238,277,372],"510":106,"512":[13,30,72,88,110,135,162,268],"5120m":94,"512k":[282,289],"512kb":243,"514":378,"51k\u03c9":238,"51mm":[284,289],"52":[238,277,378],"520":165,"53":[235,238,277],"5370ma":232,"5383ma":226,"54":[10,238,277,395],"54mm":[222,227,234,256,265,266,267],"55":[94,95,238,277],"5576ua":226,"56":[96,238,282,300],"560177349780":401,"57":238,"57600":128,"58":238,"587923556178":264,"59":[26,39,57,238,379],"591":26,"592":169,"593":169,"595":[73,169],"5\u03bca":372,"5a":[356,361,366,374],"5d":211,"5g":[273,275,318],"5k":[253,254,293],"5kb":266,"5m":[111,243],"5ma":361,"5mbp":165,"5msp":243,"5s":[180,181,182,200],"5th":[173,174,175,378],"5ua":300,"5v":[238,250,255,284,289,292,356,363,366,367,373,374,375,376],"5v2a":372,"5v\u00b2":366,"6":[1,14,18,24,30,34,37,39,50,57,77,78,79,94,96,98,103,111,115,120,134,136,162,168,169,173,174,175,203,204,212,220,228,230,233,234,237,245,282,293,300,326,354,358,363,369,378],"60":[37,72,94,96,127,162,238,255,268],"600":[11,95,268],"60000":[94,98,115],"600000":269,"6050accel":65,"6050gyro":65,"6050temp":65,"6055f9779010":72,"606":283,"60fp":211,"60hz":37,"60kb":247,"61":[120,238,379],"6100n":255,"6115ma":232,"6132ma":288,"618":64,"618_lua_lod":207,"61984":169,"62":[115,120,238],"6203cc94c7fb24029b110408_88888888":32,"62052":169,"62060":169,"6228":266,"625m":98,"63":[18,39,71,120,127,173,174,175,238],"64":[18,20,29,71,91,100,121,130,162,191,192,193,212,220,238,305,347,379],"6406ma":226,"640k":[238,282],"640m":94,"640x":294,"649926645":384,"64bit":[2,91,112,268],"64hz":277,"64k":[16,112,254,277,282,329],"64kb":[191,192,193,243,264,269,300],"64mb":285,"65":[10,162,238],"65525":81,"6553":277,"65535":[98,128],"65535u":31,"65536":[98,172],"65555":21,"656786354871":404,"6584ma":239,"65k":[401,404],"66":[10,162,212,220,238,354],"660335018289":398,"661835138573":407,"665811924219":387,"666":378,"67":[94,238],"6703ma":239,"6721ua":226,"6728ma":226,"68":[96,238],"6808454646333a0cbb8":[180,181],"682":96,"688":67,"69":238,"6byte":131,"6c95875d0f5ba69607nzfl":32,"6mm":[212,231],"6th":[173,174,175],"6v":[169,221,238,255,300,358,363,373,376],"7":[4,10,14,21,24,26,35,36,37,39,50,57,68,69,77,78,79,94,96,98,103,111,119,126,127,128,134,162,168,169,173,174,175,198,205,221,223,228,230,233,236,237,245,255,293,314,315,316,318,354,369,378,381],"70":[162,212,220,238,266],"700":111,"700mil":[222,227,234,256,265,266,267],"70ua":300,"71":[238,255],"72":[96,238],"7258089600":32,"7260ma":226,"72m":254,"72mhz":251,"73":238,"74":[238,282],"74hc595":54,"75":[94,173,174,175,238],"750k":277,"754":379,"757ccd0cdc5c90eadbeeecf638dd0000":6,"75hc595":73,"76":238,"767":93,"767427989":384,"768":[93,282],"76v":0,"77":238,"78":[173,174,175,238],"780e":[266,268],"789":[120,133,378],"78kb":247,"78mm":[222,227,234,256,265,266,267],"79":238,"7956ua":232,"7g":34,"7k":238,"7mm":388,"7s":238,"7th":[255,378],"7uf":221,"7v":[37,238,300],"7z":[226,232,239,258,288,318,347,354,369],"8":[2,4,10,13,14,21,24,27,36,37,39,58,63,64,66,67,71,74,78,79,86,87,91,93,94,96,103,106,108,111,112,113,115,117,127,128,130,131,136,162,165,166,168,178,187,189,191,192,193,195,196,197,198,202,203,204,205,211,212,220,228,230,233,238,245,251,255,275,282,289,293,300,318,335,342,343,348,354,358,363,378,380,381,395],"80":[10,25,36,59,91,162,178,180,181,238],"8000000":[27,214],"8000000u":214,"800k":[111,165],"802":260,"80300":169,"80364":169,"806":[282,378],"80m":[224,229,293],"80mhz":[91,180,181],"81":238,"810":378,"81e0000":347,"82":238,"8222ua":232,"827963649":384,"83":[10,238,354],"84":[96,238,292],"85":[94,238,329],"86":238,"861":239,"864040064024194":2,"86784":169,"86844":169,"86852":169,"87":238,"877164555":384,"88":238,"8883":95,"88v":0,"89":134,"898989898989899898":96,"8b":292,"8bit":[36,117,255],"8d":292,"8f":292,"8k":[255,268],"8m":[27,282,285],"8mb":[212,243,285,289],"8n1":[39,128,221],"8th":255,"8ua":211,"8v":[0,103,169,234,267,358,363,372,373,376],"9":[2,10,24,31,35,39,77,78,79,86,87,91,94,103,108,136,162,168,221,228,230,233,238,245,318,354,378,381],"90":[1,10,36,111,127,162,238,268,292,335],"9000":[132,255],"90000":162,"91":274,"911cha":378,"92":96,"921600":[106,128,203,204,207,212,225,231,284,289,294,347,354],"921fb54442d18p":379,"922u":255,"92k":257,"94k":260,"95":[212,266,292,331],"9501":266,"96":[96,171,407],"9600":[128,268],"967368887":384,"96k":[250,253,254],"96m":282,"97":379,"9731":127,"97656":169,"97672":169,"977":247,"97700":169,"97lo":379,"99":[39,318,335,378],"993":255,"999":378,"9a":292,"9b":292,"9m":255,"9th":378,"9u":31,"\u00b2":366,"\u00b9":366,"\u00df":162,"\u00e1":162,"\u03bca":[260,356,361,372,375],"\u03bcvision":[214,248,301],"\u03c0":379,"\u03c9":250,"\u2460":[207,358,363,369,372],"\u2460burn":209,"\u2460compil":209,"\u2460pc":[358,363],"\u2461":[210,358,363,369,372],"\u2461creat":209,"\u2461develop":209,"\u2462":[358,363,369,372,382],"\u2462first":209,"\u2462luatask":209,"\u2463":[209,358,363,372],"\u2463manipul":209,"\u2464":[209,358,363,372],"\u2465":[209,358,363,372],"\u2465\u2466":358,"\u2466":[209,358,363],"\u2467":[209,358,363],"\u2468":[209,358,363],"\u2469":[358,363],"\u247e":[358,363],"\u247f":[358,363],"\u4e0a\u8ff0\u76ee\u5f55\u7ed3\u6784\u4e2d\u7684makefile\u6587\u4ef6":316,"\u4e0b\u8f7d":317,"\u4e0b\u8f7d\u5e76\u89e3\u538b\u5230\u524d\u6b3e\u7684\u76ee\u5f55":317,"\u4e0b\u8f7dair302_sdk\u7684\u538b\u7f29\u5305":316,"\u4e0b\u8f7dluatos\u7684\u6e90\u7801":316,"\u4e0b\u8f7drtt\u7684\u73af\u5883\u5de5\u5177":317,"\u4e0b\u9762\u6211\u4eec\u5c31\u663e\u793a":165,"\u4e0d\u5efa\u8bae\u76f4\u63a5\u4e0b\u8f7dzip":316,"\u4e0d\u8981\u653e\u5728c\u76d8":317,"\u4e0d\u8981\u6709\u4e2d\u6587\u8def\u5f84":317,"\u4e0d\u9700\u8981\u540c\u6b65\u5b50\u6a21\u5757":316,"\u4e2dkeil\u7684\u8def\u5f84":316,"\u4f46\u6b22\u8fce\u62a5issu":316,"\u4f4d":300,"\u4f8b\u5982":317,"\u4fee\u6539":316,"\u4fee\u6539\u6216\u521b\u5efalocal":316,"\u5148\u542f\u52a8env":317,"\u5207\u6362\u5230rtt\u76844":317,"\u5382\u5546\u8981\u6c42":316,"\u53cc\u51fb":317,"\u53ef\u5355\u72ec\u6267\u884c":316,"\u53ef\u80fd\u6027\u4f4e":317,"\u5408\u5b99air001\u662f\u4e00\u6b3etssop20\u5c01\u88c5\u7684mcu":218,"\u542f\u52a8env\u7a97\u53e3":317,"\u5728":[316,317],"\u5730\u5740":317,"\u5927\u5927\u7684":316,"\u5982\u679c\u4f60\u662f\u5728\u627e\u5237\u673a":316,"\u5982\u679c\u53d1\u73b0\u7f16\u8bd1\u5931\u8d25":317,"\u5982\u679c\u7f16\u8bd1\u5931\u8d25":316,"\u5982\u679ckeil\u5b89\u88c5\u76ee\u5f55\u4e0d\u662f":316,"\u5982\u679cluatos\u4e0d\u5728":316,"\u5b89\u88c5\u80fd\u89e3\u538b7zip\u683c\u5f0f\u7684\u89e3\u538b\u7f29\u8f6f\u4ef6":316,"\u5b89\u88c5git":317,"\u5e76\u5efa\u597d":317,"\u5e76\u81ea\u52a8\u6253\u5305\u751f\u6210\u56fa\u4ef6\u538b\u7f29\u5305":316,"\u5f53\u524d\u7248\u672c\u4ec5\u652f\u6301keil\u7f16\u8bd1":316,"\u5f97\u5230\u7684\u76ee\u5f55\u7ed3\u6784\u662f\u8fd9\u6837\u7684":316,"\u5f97\u5230luatos\u76ee\u5f55":317,"\u5f97\u5230rt":317,"\u6211\u4eec\u63d0\u4f9b\u7684\u56fa\u4ef6\u5305\u5c31\u5305\u542b\u7f16\u8bd1\u597d\u7684\u56fa\u4ef6":316,"\u6216":317,"\u6267\u884c\u547d\u4ee4":317,"\u6267\u884c\u7f16\u8bd1":317,"\u62a5issue\u6216\u8005\u5230\u7fa4\u91cc\u558a\u4e00\u558a":317,"\u6307\u5411":316,"\u6309\u9ed8\u8ba4\u914d\u7f6e\u5c31\u5f88\u597d":317,"\u63a8\u8350\u76ee\u5f55\u4e3a":316,"\u6444\u50cf\u5934":282,"\u6572\u5165\u547d\u4ee4":317,"\u662f\u4e0d\u662fapi\u5f88\u7b80\u5355":165,"\u666e\u901a\u7528\u6237\u4e00\u822c\u4e0d\u9700\u8981\u7528\u5230\u672c\u6587\u7ae0":317,"\u66f4\u65b0\u8f6f\u4ef6\u5305":317,"\u672c\u6587\u8bb2\u8ff0\u7684\u662f\u81ea\u884c\u7f16\u8bd1\u56fa\u4ef6\u6587\u4ef6":317,"\u6bcf\u6b21luatos\u53d1\u65b0\u7248\u90fd\u4f1a\u628a\u7f16\u8bd1\u597d\u7684fls\u653e\u5230":317,"\u70e6\u8bf7\u53cd\u9988":317,"\u7248\u6743\u6240\u6709":379,"\u76ee\u5f55":316,"\u76ee\u5f55\u53ef\u4ee5\u770b\u5230":317,"\u76ee\u5f55\u6267\u884c":316,"\u770b\u770b\u5177\u4f53\u7684\u62a5\u9519\u539f\u56e0":316,"\u786c\u4ef6\u52a0\u901f":282,"\u786c\u72d7":282,"\u7b49\u5f85\u7f16\u8bd1\u5b8c\u6210":317,"\u7f16\u8bd1\u51fa\u7684\u56fa\u4ef6\u4f9d\u7136\u662fluatos\u56fa\u4ef6":316,"\u7f16\u8bd1\u6210\u529f\u4f1a\u663e\u793a":316,"\u7f16\u8bd1lua\u811a\u672c\u4e4b\u7c7b\u7684\u5e94\u7528\u578b\u6587\u6863":316,"\u83b7\u53d6luatos\u6e90\u7801":317,"\u83b7\u53d6rtt\u6e90\u7801":317,"\u89e3\u538b\u5230":316,"\u8bbe\u7f6ertt_root\u73af\u5883\u53d8\u91cf\u7684\u503c":317,"\u8be5sdk\u4e0d\u662fc":316,"\u8bf7\u4f7f\u7528":316,"\u8bf7\u786e\u4fdd\u6709\u6b63\u7248keil":316,"\u8bf7\u786e\u8ba4\u6240\u5728\u7684\u7f51\u7edc\u6ca1\u6709\u5c4f\u853dgitee\u7684\u8bbf\u95ee":317,"\u8d44\u6e90\u7ba1\u7406\u5668":317,"\u8d77\u7801\u9884\u75592gb\u7684\u78c1\u76d8\u7a7a\u95f4":316,"\u8dd1lua\u811a\u672c":316,"\u8df3\u8f6c\u4e00\u4e0b\u76ee\u5f55":317,"\u8df3\u8f6c\u76ee\u5f55":317,"\u8fd9\u4e2a\u6587\u6863\u4e0d\u662f\u4f60\u9700\u8981\u67e5\u770b\u7684\u5185\u5bb9":316,"\u8fd9\u4e2a\u8def\u5f84\u540e\u9762\u90fd\u4f1a\u7528\u5230":317,"\u8fd9\u662f\u7528\u4e8e\u81ea\u884c\u6269\u5c55\u56fa\u4ef6\u7684\u9ad8\u7ea7\u6587\u6863":316,"\u8fdb\u5165env\u6240\u5728\u76ee\u5f55":317,"\u8fdb\u5165rtt\u76ee\u5f55":317,"\u90091m\u7684\u56fa\u4ef6\u6587\u4ef6":317,"\u9009\u4e00\u4e2a\u7b80\u77ed\u7684\u76ee\u5f55":317,"\u901a\u5e38\u4e3a7zip\u683c\u5f0f":316,"\u901a\u5e38\u4f60\u4e0d\u9700\u8981\u8fd9\u4efd\u6587\u6863":316,"\u914d\u5408zbuff\u66f4\u7b80\u5355":165,"\u91c7\u7528\u9ad8\u6027\u80fd\u768432\u4f4darm":218,"abstract":[172,177,190,191,192,193,199,208,212,220,323,326,331,332,340,342,343,344,348,352,381],"air302_sdk\u5230":316,"boolean":[0,1,2,3,4,6,7,10,11,14,16,17,18,20,21,22,26,27,30,31,39,60,68,72,88,89,91,94,95,96,98,103,105,110,111,112,115,117,118,122,127,133,135,136,209,379],"break":[14,16,18,27,31,39,131,135,162,212,217,220,255,293,326,336,358,378,379,381],"byte":[2,3,4,12,13,14,17,18,20,26,27,30,36,57,63,71,72,73,74,88,91,92,94,96,98,100,101,106,107,109,112,115,117,134,136,162,166,168,172,173,174,175,180,181,182,191,192,193,196,197,198,212,220,238,253,254,277,293,300,318,330,334,335,339,342,352,353],"case":[1,5,25,58,72,91,93,109,128,162,214,255,268,269,272,282,305,323,330,337,338,344,345,379,381],"catch":379,"char":[10,12,26,30,36,66,92,98,101,117,118,127,128,136,162,168,173,174,175,195,196,197,198,212,220,304,328,331,335,336,353],"class":[89,136,168,207,212,269,324,334,335,337,345,353],"const":[162,304,328,331,335,348,379],"default":[1,2,3,4,6,7,8,10,11,12,13,15,17,18,19,20,21,23,24,25,26,27,30,31,32,33,34,36,37,39,45,53,55,57,58,59,67,68,72,73,78,81,82,85,86,87,89,90,91,92,93,94,95,96,98,101,103,105,106,108,109,110,111,113,114,115,117,119,120,127,128,130,131,133,134,135,136,138,163,166,179,207,208,212,214,221,223,228,238,245,248,249,257,262,266,268,269,271,272,273,275,284,285,289,292,293,301,302,311,312,314,315,318,321,322,333,334,335,339,340,342,347,348,354,360,376,378,379],"do":[3,7,10,14,16,18,23,26,27,30,36,39,40,41,42,44,45,46,47,48,49,51,53,56,57,58,59,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,82,83,84,85,89,93,94,95,98,102,105,106,109,111,114,115,118,120,122,123,131,133,134,135,137,162,165,166,169,170,171,172,173,174,175,179,185,186,187,190,191,192,193,195,196,197,198,200,201,210,212,218,220,221,238,248,250,255,266,267,273,275,277,282,284,289,292,293,302,305,318,319,320,321,322,323,324,325,329,330,336,337,343,345,349,351,352,354,355,356,358,372,378,379,380,381,382,384],"ec\u540e\u7f00":316,"enum":251,"esp32s3\u91c7\u7528xtensa":289,"export":379,"final":[18,29,133,207,247,248,264,269,305,318,363,372,379,381],"float":[2,34,39,72,93,101,136,255,268,334,335,369,378,379],"fls\u6587\u4ef6":317,"fls\u7ed3\u5c3e\u7684\u56fa\u4ef6\u6587\u4ef6":317,"function":[0,1,3,5,11,16,18,21,23,24,25,26,27,28,29,35,36,39,40,41,42,44,45,46,47,48,49,50,51,53,54,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,82,83,84,86,87,89,91,92,94,95,98,99,102,106,108,109,110,111,114,115,116,117,118,121,122,123,124,126,127,128,133,134,135,138,163,165,166,168,169,170,171,172,173,174,175,176,177,180,181,182,183,185,186,187,188,190,191,192,193,194,195,196,197,198,199,202,203,204,205,206,207,208,209,211,213,217,220,229,233,238,243,245,246,248,249,253,254,257,262,263,268,269,271,272,275,287,291,293,296,300,301,302,303,312,318,320,321,322,323,324,325,330,331,333,337,340,341,343,344,345,348,349,351,352,355,356,366,367,372,374,381,382,385],"git\u5b98\u7f51":317,"goto":379,"import":[124,162,202,203,204,205,211,212,220,255,268,303,304,356,358,361,372,374,375,379,380,381,382],"ini\u4e2d\u7684plat_root\u8def\u5f84":316,"int":[0,1,2,3,4,6,7,8,9,10,11,12,13,14,16,17,18,19,21,24,25,26,27,29,30,31,33,35,36,37,38,39,43,45,54,59,60,68,81,85,88,89,91,92,93,94,95,96,98,99,100,101,102,103,104,105,107,108,109,110,111,112,113,114,115,116,117,118,119,122,124,125,126,127,128,130,131,132,133,134,135,136,162,213,214,248,255,301,304,305,323,328,330,335,336,340,344,348,379],"long":[1,11,89,94,101,102,103,104,114,125,136,138,163,165,202,203,204,205,212,220,266,268,277,305,326,328,331,333,372,378,379,380,384,385],"luatos\u6e90\u7801\u76ee\u5f55\u4e0b\u7684":316,"m\u00b3":[84,378],"new":[6,10,11,20,21,26,29,54,60,91,94,114,115,119,127,134,136,138,163,177,196,197,198,200,206,207,208,209,212,217,220,249,250,253,268,284,285,286,293,299,302,311,318,319,321,322,330,331,335,336,345,349,351,366,367,369,372,378,379,381],"null":[60,118,162,268,305,329,331,378,379],"public":[20,94,107,268,380,393],"return":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,162,169,172,173,174,175,191,192,193,196,197,198,207,212,220,250,255,268,285,303,304,318,323,327,329,330,334,336,342,343,345,349,351,353,363,372,379,380,381,382],"s\u03bcg":84,"sdk\u672c\u8eab\u4e0d\u5f00\u6e90":316,"short":[39,89,98,101,114,136,162,169,212,220,221,238,250,255,268,292,310,320,348,361,372,374,375,378,379],"static":[25,94,131,162,213,214,221,268,305,336,344,348,349,351,372,379],"switch":[1,10,21,31,68,71,91,94,95,103,115,128,133,134,138,163,211,220,238,268,285,289,292,356,358,361,373,374,375,379,381],"swm181cbt6\u91c7\u752832":300,"thread\u76ee\u5f55":317,"throw":[250,379],"true":[1,2,3,4,6,7,8,10,11,13,14,16,17,18,19,20,21,22,25,26,30,31,32,33,36,37,39,40,41,42,44,46,48,49,51,53,56,58,60,62,63,64,65,66,67,68,69,70,72,74,75,76,77,80,83,84,86,87,88,89,90,91,93,94,95,96,97,98,99,100,103,105,107,108,110,111,112,113,114,115,117,118,120,122,124,126,127,128,130,132,133,134,135,136,162,169,172,173,174,175,179,180,181,185,186,187,191,192,193,196,197,198,200,201,203,204,205,210,212,220,266,272,302,303,304,319,321,322,336,343,347,348,378,379,380,381,382],"try":[1,4,11,13,16,91,115,162,166,207,212,220,250,255,267,285,289,323,327,339,348,354,360,372,378,379],"var":379,"void":[213,214,248,251,255,301,304,305,325,329,330,331,336,344,348,379],"while":[14,16,18,23,27,39,40,41,42,44,45,46,47,48,49,51,53,56,61,62,64,65,66,67,70,71,72,73,74,75,76,77,78,79,80,82,83,84,93,94,98,105,111,115,122,133,134,135,162,165,166,169,171,173,174,175,179,185,186,187,190,195,200,201,202,203,204,205,212,214,220,248,250,255,268,271,293,301,302,305,321,322,325,330,336,343,348,355,356,358,379,380,381,382],"windows\u5b89\u88c5\u5305\u53ef\u4ee5\u5728":317,"x64\u53ca\u4ee5\u4e0a":316,"y\u0101o":277,"y\u012b":277,A:[26,29,31,39,50,73,94,98,99,101,109,115,119,120,121,122,135,136,162,170,171,178,184,189,190,195,196,197,198,202,207,208,211,212,214,220,221,238,250,255,294,304,319,323,326,329,332,335,336,349,350,351,363,372,376,378,379,380,382,388],AND:[214,379],AT:[94,103,207,217,260,265,266,272,277,292,293,319],And:[66,103,162,224,251,254,268,293,339,348,379,381],As:[39,66,71,103,115,134,162,190,191,192,193,202,212,220,253,292,293,305,318,331,333,334,360,372,378,379],At:[66,162,189,195,207,212,220,250,289,295,304,305,318,320,323,327,341,346,348,354,356,360,376,378,379,380,381,383],Be:[212,220,269,319],But:[18,162,212,220,221,378,379],By:[115,162,238,304,323,378,379],For:[1,3,4,13,18,35,36,57,68,91,98,99,103,106,107,108,110,123,126,127,134,162,166,168,172,202,203,204,205,210,212,218,220,221,227,228,230,231,238,251,254,255,266,268,270,272,295,300,311,320,326,331,336,339,352,360,369,372,377,378,380,387],If:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,122,124,125,126,127,128,129,130,131,132,133,134,135,136,137,162,166,178,202,207,212,213,214,218,220,221,226,232,235,248,250,254,255,268,269,272,275,284,289,292,301,302,303,304,309,310,311,313,315,318,319,320,325,329,331,348,349,351,354,356,358,360,363,369,378,379,381],In:[1,5,10,36,57,58,66,72,94,95,102,109,127,162,170,171,190,196,197,198,207,212,214,218,220,221,238,243,250,255,266,268,272,277,282,284,289,296,303,304,305,306,309,318,320,323,325,326,328,331,339,344,347,348,358,360,366,369,372,377,378,379,380,381],Is:[4,7,96,136,173,174,175,196,197,198,202,203,204,205,212,220,267,268,293,356,374,378,379],It:[1,12,15,16,39,60,66,68,72,89,92,94,108,109,114,115,122,124,128,129,130,133,162,165,173,174,175,190,191,192,193,195,196,197,198,207,210,211,212,213,214,238,250,253,255,260,264,266,267,268,269,272,274,277,293,303,304,305,314,315,318,320,323,326,330,331,336,346,349,351,352,355,358,363,367,372,373,374,376,377,378,379,381],Its:[66,162,253,268,330,379],NO:213,NOT:[118,379],Near:348,No:[1,3,5,6,7,10,11,13,21,25,26,27,36,37,39,59,67,68,72,85,87,89,91,94,95,98,103,104,105,106,109,111,115,117,122,123,125,126,127,128,130,133,162,165,207,209,212,220,224,229,237,244,253,254,261,265,266,268,269,278,284,286,287,293,304,311,330,331,348,374,378,379],Not:[1,25,94,96,99,102,126,162,255,275,282,294,296,304,314,346,353,360,366,378,379],ON:[162,214],OR:[127,162],Of:[162,165,210,235,369,378,379],On:[1,39,72,103,162,207,210,212,243,250,352,360,372,376,379,382],One:[138,163,169,180,181,182,202,203,204,205,212,220,221,269,323,379,381],Or:[115,117,250,255,272,293,305,318,341,379],Such:[103,348,378,379],That:[99,162,212,220,277,318,319,331,379],The:[0,1,3,4,5,6,7,8,9,10,11,12,13,14,16,17,18,19,20,21,23,24,26,27,28,30,31,32,34,35,36,37,38,39,40,41,42,44,45,46,48,49,50,53,54,56,57,59,62,63,64,65,66,67,68,69,70,72,73,75,76,78,79,80,81,85,86,87,89,91,92,93,94,95,96,98,99,101,102,103,104,107,109,110,111,112,113,114,115,117,118,119,120,122,123,124,125,127,128,130,131,133,134,135,136,162,165,166,168,169,170,172,173,174,175,179,180,181,182,185,186,187,189,191,192,193,195,196,197,198,200,201,202,203,204,205,207,209,210,211,212,213,214,218,220,221,238,243,247,248,249,251,253,254,262,264,265,266,267,268,269,272,273,274,275,277,282,283,284,285,289,292,293,295,296,299,300,301,302,303,304,305,306,311,314,315,318,319,320,321,322,323,324,326,327,328,329,330,333,334,337,339,340,341,342,343,344,345,346,348,349,350,351,353,355,358,360,361,363,366,369,373,374,375,376,380,381,382,385],Then:[162,165,166,207,212,220,221,235,305,314,315,323,358,378,379,381],There:[0,21,39,72,91,101,106,115,117,122,128,136,162,169,173,174,175,180,181,182,196,197,198,202,203,204,205,207,212,220,221,226,232,253,255,264,266,267,272,282,293,304,311,319,352,360,378,379,380,381,382,384],These:[162,255,353,378,379],To:[10,24,26,29,30,54,66,91,94,95,99,103,106,107,127,162,214,229,255,257,349,351,374,379],WITH:275,Will:[5,95,170,171,184,213,220,293,379],With:[162,250,266,294,300,319,344,379,381],_1:236,_1_:379,_:[5,6,26,101,102,162,275,304,334,355,379,381,382],__:379,____:66,________:66,____________________:66,____s________:66,__add:379,__air001_assert_h:214,__air001f0xx_it_h:214,__air001xx_hal_conf_default_h:214,__air001xx_it_h:214,__band:379,__bnot:379,__bor:379,__bxor:379,__call:379,__concat:379,__cplusplu:[162,214],__div:379,__eq:379,__ev_:379,__file__:214,__gc:379,__hal_afio_remap_swj_en:255,__hal_afio_remap_swj_nojtag:255,__hal_rcc_afio_clk_en:255,__hal_rcc_gpiob_clk_en:214,__hal_rcc_pwr_clk_en:255,__idiv:379,__index:[336,379],__ipair:379,__le:379,__len:379,__line__:214,__lt:379,__main_h:214,__metat:379,__mod:379,__mode:379,__mul:379,__name:379,__newindex:379,__pair:379,__pow:379,__shl:379,__shr:379,__sub:379,__tostr:379,__unm:379,_alloc:379,_arg_:379,_args_:379,_at_0x20000000:[217,293],_block_:379,_body_:379,_boolean_i:379,_c:379,_call:379,_chunkname_:379,_close:379,_cnt:381,_currentline_:379,_d_:379,_ddd_:379,_debug:379,_e1_:379,_e2_:379,_e3_:379,_env:379,_error:379,_explist_:379,_extramsg_:379,_f_:379,_filenam:[328,331],_filename_:379,_funcname_:379,_function:379,_functioncall_:379,_g:[59,72,106,168,269,304,378,382],_getendpoint:255,_getfield:379,_getglob:379,_getinfo:379,_getistr:255,_gettop:379,_init:162,_isnumb:379,_kcontext:379,_lightweight:379,_limit_:379,_loadfil:379,_loadstr:379,_luato:269,_mod_:379,_mode:[328,331],_multret:379,_n_:379,_n_i:379,_newlibt:379,_next:379,_nil_i:379,_number:379,_number_repres:379,_o_:379,_param_t:162,_params_:379,_pcall:379,_pcallk:379,_pop:379,_pushcclosur:379,_pushcfunct:379,_pushinteg:379,_pushliter:379,_pushnil:379,_pushnumb:379,_regist:379,_remov:379,_repeat:[29,333],_s_:379,_set_:379,_setfunc:379,_setglob:379,_stat_:379,_state:379,_step_:379,_string_:379,_string_repres:379,_t:[335,379],_temp:354,_tonumb:379,_type:379,_typenam:379,_v1:[169,258],_v2:10,_v3:10,_valid:379,_var:379,_var_:379,_version:[168,171],_x_:379,_x_form:379,_xxx:207,_xxx_:379,a1:168,a2:168,a7:292,a8xza9cqs3cu79b:32,a_binari:379,a_c:379,a_cod:379,a_continu:379,a_dynam:379,a_find:379,a_garbag:379,a_long:379,a_messag:379,a_meta:379,a_pseudo:379,a_reference_in:379,a_registry_i:379,a_sequ:379,a_tail:379,a_temporari:379,a_vari:379,a_virtu:379,a_x_:379,a_y_:379,aa:379,aaa:378,aabb:98,aabbccdd:98,aabbccddeeff:134,aabcdefg:378,ab:[168,378],abandon:[109,137,379],abbrevi:[98,102,128,185,186,187,195,196,197,198,212,220],abc:[6,11,15,24,25,27,29,30,72,85,104,107,110,118,133,162,170,305,320,348,352,378],abcabcabc:378,abcd123:32,abcd:378,abcdabcd1234:162,abcdabcd:8,abcdefg:[32,136,303],abcdefgg:133,abcderg:133,abid:162,abil:[172,221,267,272,304],abl:[162,218,378],abmfa1ucw:32,abnorm:[11,103,250,255,268,369,379,381],abort:[255,379],about:[14,17,18,25,58,72,90,137,162,166,169,207,209,224,227,228,229,231,238,247,250,264,271,285,293,300,324,336,337,344,345,349,350,355,378,379],abov:[13,59,73,117,127,136,162,179,189,207,221,248,250,253,254,265,266,268,272,274,275,284,285,289,292,293,301,303,305,314,315,318,331,334,346,358,360,369,372,373,376,378,379,381,382],abroad:268,abscissa:[36,127],absolut:[30,135,162,369,378,379],abwifi:292,ac5:301,accel:65,acceler:[54,65,94,211,260,294],acceleromet:[54,65],accept:[21,29,109,162,168],access:[103,162,253,293,303,320,332,339,378,379],access_mod:339,accesskei:55,accid:372,accommod:89,accompani:323,accord:[2,14,18,21,23,31,40,45,53,71,73,79,83,84,91,95,101,114,128,131,132,133,134,136,162,169,172,173,174,175,186,197,212,214,220,221,238,248,250,255,269,284,285,289,293,301,303,304,305,314,315,320,326,334,348,354,358,361,369,372,375,376,378,379,380,405],accordingli:[136,162,334],account:[31,95,292,319,355],accumul:[6,363,378],accur:[125,189,211,212,372,379],accuraci:[39,58,99,105,162,185,186,187,238,243,268,300,358,361,372,375],accustom:380,achiev:[11,98,171,184,211,212,220,238,300,323,324,337,345,348,355,366,378,381,407],ack:[38,135],acknowledg:133,aco:168,acquir:[21,94],acquisit:[17,49,134,169,173,174,175,182,212,220,234,268,379],act:[66,134,162,334,346,379],action1:162,action2:162,action:[29,67,121,133,162,210,255,294,354,374],activ:[36,68,89,94,96,103,115,122,134,162,210,214,248,266,268,284,289,292,301,312,372,379,384],activelin:379,activetim:29,acttyp:29,actual:[0,21,30,31,39,45,50,83,84,125,128,131,134,136,162,165,172,209,212,214,220,221,238,248,250,255,269,272,283,284,285,289,292,301,303,305,318,336,346,347,348,352,356,358,361,363,375,378,379,381],acyv3qdjrra0fw5ue58knq:32,ad:[2,4,6,11,13,14,15,16,18,20,21,26,30,31,39,85,94,98,123,124,125,127,129,133,134,162,165,196,197,198,217,221,238,248,267,268,269,289,293,301,304,324,326,337,345,348,379,381],adapt:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,116,117,118,119,120,122,123,124,125,126,127,128,129,130,131,132,134,135,136,137,162,212,250,268,272,314,315,322,326,347,348,349,351,355,363,367,369,372],adapter_index:29,adc0:[0,212,220,223,228,245],adc1:[0,169,223,228,255],adc2:[0,228],adc3:228,adc:[1,29,121,177,208,218,223,224,228,234,238,243,246,253,254,260,268,269,273,282,284,289,293,296,299,300,348,361,372,375,383],adc_0:[228,284],adc_1:[228,284],adc_2:[228,284],adc_3:[228,284],adc_4:284,adc_5:284,adc_clk:255,adc_cmd:255,adc_flag_eoc:255,adc_getconversionvalu:255,adc_getflagstatu:255,adc_in1:238,adc_in2:238,adc_in4:238,adc_in5:238,adc_in6:238,adc_initstructur:255,adc_range_1_2:0,adc_range_1_8:0,adc_range_3_6:0,adc_range_3_8:0,adc_scanconvmod:255,adc_softwarestartconvcmd:255,adc_temp:[212,220],adcgetconversionvalu:255,add:[13,29,30,31,54,85,103,127,138,163,184,189,207,210,212,217,220,238,248,251,254,255,266,268,269,272,274,293,301,305,309,314,315,318,320,327,328,336,345,347,348,349,351,360,377,378,379,384],add_btn:162,add_myap_5min:305,add_opt:162,add_tab:162,addb:378,addit:[2,10,22,24,29,36,66,85,94,95,109,121,123,133,162,202,212,214,220,224,229,237,238,243,254,269,271,273,287,289,292,293,311,314,315,318,328,329,360,378,379],addr:[29,54,57,66,117,212,220,327,335],address:[16,19,24,26,29,52,54,58,59,66,72,95,98,104,113,115,131,134,136,166,173,174,175,177,194,199,208,212,217,220,238,250,255,257,268,293,300,320,327,339,344,347,348,354,356,379,384,394],adhes:[358,372],adipisc:162,adjac:[94,162,269],adjust:[1,12,26,53,77,111,127,128,136,138,163,169,185,186,187,212,220,221,238,248,250,255,267,268,272,277,283,301,358,363,372,373,374,379],adjust_period:29,adler:92,administr:384,adon:[253,293],adopt:[212,220,284,361,375,379],ads1115:[54,269],ads1115_conf_hcmd:40,ads1115_conf_lcmd:40,ads1115_data:40,adv_fre:98,advanc:[93,138,163,168,209,214,238,248,301,320,358,379],advantag:[165,378,381],advdata:29,advic:379,advparam:29,adxl345:54,adxl346:54,adxl34x:54,adxl34x_data:41,ae:[6,170,268,275,344],af:[54,292],affect:[18,78,79,108,136,162,212,220,250,255,266,363,378,379],affix:348,afford:217,after:[0,1,3,7,10,11,12,15,16,21,26,28,29,30,31,32,34,36,39,57,64,66,72,86,89,91,92,94,95,96,98,103,106,107,108,109,110,112,114,115,117,118,120,122,123,127,128,131,133,134,135,136,162,165,169,173,174,175,177,183,184,191,192,193,196,197,198,201,207,208,210,211,212,214,218,220,221,226,232,234,235,238,248,250,253,254,266,267,268,269,272,274,282,284,285,289,292,293,300,301,302,304,305,311,314,315,319,320,326,333,336,347,348,352,356,363,369,373,374,376,378,379,380,381,382],afterward:39,ag:[18,72,172,304],again:[3,4,10,11,14,21,31,66,98,109,127,131,134,162,166,172,203,204,205,210,221,235,250,255,266,268,356,363,369,372,376,378,379,381],against:[358,379],agent:326,aggress:379,agp:266,agpio3:272,agpio4:272,agpio5:272,agpio:128,agr2:29,agre:162,agreement:[29,121,339,349,350],ah:[36,127,363,374],ahb:214,aht10:[54,176,177,208,309,312],aht10_data:42,aht20:309,aht:309,aie:54,air001:[215,216,293],air001_assert:214,air001_dev:214,air001_pcb:[217,293],air001dev:214,air001xx_hal:214,air001xx_hal_conf:214,air001xx_hal_cortex:214,air001xx_hal_driv:214,air001xx_hal_flash:214,air001xx_hal_gpio:214,air001xx_hal_pwr:214,air001xx_hal_pwr_ex:214,air001xx_hal_rcc:214,air001xx_hal_rcc_ex:214,air001xx_it:214,air001xx_ll_bu:214,air001xx_ll_cortex:214,air001xx_ll_dma:214,air001xx_ll_gpio:214,air001xx_ll_pwr:214,air001xx_ll_rcc:214,air001xx_ll_system:214,air001xx_ll_util:214,air101:[0,1,4,5,6,9,10,11,12,13,14,15,17,18,19,20,21,22,24,25,26,27,28,30,32,33,34,36,37,39,66,72,73,78,81,85,86,89,90,91,92,93,95,97,98,100,101,102,103,104,105,106,107,108,109,110,111,113,115,117,119,120,121,122,124,126,127,128,131,132,133,134,135,136,137,165,166,169,170,171,176,177,178,183,184,188,189,190,194,195,199,202,206,207,208,212,222,231,232,233,282,293,296,304,310,311,312,315,319,347,349,351,355,385,405],air101_chip:[169,185,196],air101_core_bom_b_air101_core_a10_v1:223,air101_flash:354,air101_mcu:[203,223],air101_pcb:[224,293],air103:[0,1,4,5,6,9,10,11,12,13,14,15,17,18,19,20,21,22,24,25,26,27,28,30,32,33,34,36,37,39,66,72,81,85,86,89,90,91,92,93,95,97,98,100,101,102,103,104,105,106,107,108,109,110,111,113,115,117,119,120,121,122,124,126,127,128,131,132,133,134,135,136,137,165,169,176,177,183,188,194,199,206,207,208,212,221,226,227,228,233,282,293,296,304,310,319,354,355,385,405],air103_:228,air103_bom_b_air103_a10_v1:228,air103_cor:228,air103_mcu:[169,186,197,204,228],air103_pcb:[229,293],air105:[0,1,2,3,4,5,6,8,9,10,13,14,15,16,17,18,19,20,21,22,24,26,28,29,30,31,32,34,35,36,39,66,72,81,85,86,89,90,91,92,93,95,97,100,101,102,103,104,105,106,107,108,109,111,112,113,115,117,119,120,121,122,124,127,128,130,131,132,133,135,136,137,138,165,167,169,176,177,183,188,194,199,206,207,208,236,282,293,296,310,319,349,351,355,385,386,387,395,405],air105_cor:236,air105_download:354,air105_mcu:[198,205,236],air105_pcb:[237,293],air106:282,air107:310,air10x:[66,354,395],air112:211,air153c_wtd:54,air202:[247,384],air302:[282,293,355],air302_sdk:316,air32:[52,57,72,133,248,250,253,257,292,293,374,384],air32cbt6:[249,252],air32f103:[227,228,229,231,249,251,252,293,301,405],air32f103_pcb:[253,293],air32f103cbt6:[248,250,253,254,255,293],air32f103cct6:[254,255],air32f103cxt6:249,air32f103rpt6:255,air32f103vet6:255,air32f103vgt6:255,air32f103zet6:255,air32f103zgt6:255,air510u:[266,273],air5xx:384,air600:[23,103,114,134,207,272,273,274,318,319,355,384],air601:[0,1,4,5,6,9,10,11,12,13,14,15,17,18,19,20,21,22,24,25,26,27,28,30,32,33,34,36,37,39,72,81,85,86,89,90,91,92,93,95,97,98,100,101,102,103,104,105,106,107,108,109,110,111,113,115,117,119,120,121,122,124,126,127,128,131,132,133,134,135,136,137,257,293,319],air640w:[282,293,355],air700:[0,1,2,4,5,6,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,30,32,33,34,36,39,72,81,85,86,87,89,90,91,92,93,94,95,97,100,101,103,104,105,106,107,108,109,111,112,113,115,117,119,120,121,122,124,127,128,131,132,133,134,135,136,207,271,273,292,293,318],air722:[384,385],air724:[94,384,385],air724ug:[293,385],air72xux:385,air780:[0,1,2,4,5,6,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,30,32,33,34,36,39,72,81,85,86,87,89,90,91,92,93,94,95,97,100,101,102,103,104,105,106,107,108,109,111,112,113,114,115,117,119,120,121,122,124,127,128,131,132,133,134,135,136,207,265,266,267,268,270,272,274,292,293,296,319,355,385],air780e_cdcpppdemo:292,air780e_pcb:[271,293],air780eg:[39,91,103,114,134,207,265,268,269,271,272,273,274,292,293,318,355],air780ex:318,air800:384,air820:385,air820ug:293,air:[54,213,220,260,360,378,385,407],air_jlink_keil:248,air_rcc_pllconfig:251,airisp:218,airkiss:[134,257],airm2m:[214,284],airm2m_all_crc:346,airmcu:213,airplan:96,airpsm:103,airtun:[133,269],ak8963:[54,268],alarm:[54,103,115,226,232,369],alarm_int:68,alert:[363,373,376],algorithm:[6,29,53,121,170,214,248,253,254,269,293,301,304,379],ali:54,alia:255,alias:162,alibaba:[32,52,55,149,268],align:[6,138,163,253,293,330,358,379],align_cent:[89,162,212,220],align_in_bottom_mid:162,align_in_top_mid:162,align_in_top_right:162,align_out_bottom_mid:162,align_out_left_mid:162,align_out_right_mid:162,aliot:59,aliqua:162,aliquip:162,aliyun:[29,55,99,115],all:[1,6,9,10,12,30,36,37,39,40,41,42,44,46,47,48,49,51,53,55,56,57,58,59,61,62,63,64,65,67,68,69,70,71,74,75,76,77,78,79,80,82,83,84,91,92,94,98,101,103,104,113,115,117,127,128,130,136,162,165,166,179,191,192,193,210,211,212,214,220,221,226,232,238,248,250,253,266,268,269,274,275,283,293,301,303,319,330,331,334,346,348,352,354,360,363,369,378,379,382,384],all_dead:379,all_don:135,allig:[358,360,373],alloc:[115,136,162,268,302,304,321,322,323,324,329,337,345,379,381],allow:[36,89,122,162,268,272,305,348,372,379,380],almost:[122,250,378,379],alo:379,alon:[218,293,379],aloud:277,alpha:[138,163],alphabet:379,alphanumer:379,alreadi:[4,9,115,127,162,210,269,344,356,378,379],also:[15,21,25,54,68,72,78,79,91,94,101,103,107,115,117,122,124,128,134,136,162,165,170,171,178,191,192,193,207,212,218,220,221,238,243,250,255,262,266,267,268,272,273,277,303,304,305,318,319,326,327,331,334,352,354,355,358,361,366,369,374,375,378,379,381,383],alt:[29,268],alt_fun:29,alt_func:[21,268],altern:[57,162,247,255,294,379],altfun:29,although:[66,266,272,285,346,358,378,379],altitud:39,altogeth:327,alwai:[21,67,103,104,108,111,122,162,165,221,250,269,277,304,325,333,339,353,356,369,378,379],am2320:54,am:[203,204,205,277,378],ambient:54,ambigu:[378,379],amd:218,amend:39,amet:162,among:[326,330,360],amount:[16,72,117,128,130,136,196,197,198,268,329,369,378,379],amp:372,amper:363,amplif:162,amplifi:267,amplitud:[212,220],amr:[4,268,273],amr_:4,amr_cod:4,amr_nb:4,amr_wb:4,an:[1,2,4,10,11,14,18,19,20,22,24,25,31,34,36,59,63,66,68,72,85,86,88,89,91,93,95,96,98,99,103,115,118,120,122,124,127,134,135,136,138,163,165,166,169,170,184,190,191,192,193,195,196,197,198,202,207,209,211,212,213,217,220,221,230,238,243,250,254,255,266,268,269,272,284,285,289,293,300,301,304,305,314,315,318,319,320,323,325,326,329,330,331,334,336,339,344,348,353,354,355,363,367,372,378,379,380,381,383],an_error:379,an_index_to:379,an_iterator_funct:379,an_state_:379,analog:[29,54,89,121,169,171,185,186,187,212,220,238,243,289,300,348,374,381],analysi:[212,220,323,324,337,345,367,369,379,380],analyz:[128,255,306,356,361,372,374,375,379,381],anchor:379,and_hooks_:379,and_table_:379,angl:[39,138,163,165,300,339,379],angular:162,ani:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,116,117,118,119,120,122,124,125,126,127,128,129,130,131,132,133,134,135,136,137,162,172,179,200,201,207,212,214,220,221,250,260,268,269,284,289,293,303,314,315,319,348,352,356,361,369,372,374,375,378,379],anim:[29,138,163,212],anim_cr:29,anim_fre:29,anim_on:162,anim_ono:162,anim_path_set_cb:29,anim_path_t:29,anim_path_t_fre:29,anim_set_exec_cb:29,anim_set_path_str:29,anim_set_ready_cb:29,anim_tim:162,anim_time_m:162,anim_typ:89,annot:[345,378,379],anod:73,anom_on:162,anonym:[122,379],anoth:[15,66,94,117,162,202,203,204,205,212,220,248,255,301,331,378,379,381],answer:[294,384],antenna:[39,71,103,260,266,284,289,293],antenna_on:54,anti:[21,36,71,103,162,207,221,268],anticol:54,anxieti:211,anyth:[162,165,379],anywai:372,anywher:[378,379],ao3400:66,aon_gpio:[103,267],aon_gpio_2:245,aon_gpio_4:245,aongpio:272,ap:[19,95,115,133,134,269,318,326,344],ap_readi:344,ap_start:344,ap_stop:344,apb1:214,apb:[253,293],api:[0,1,2,3,6,9,10,13,14,15,16,18,20,21,24,25,30,36,40,41,42,44,46,47,48,49,51,53,54,55,56,57,58,59,61,62,63,64,65,67,69,70,71,72,74,75,76,77,80,82,83,84,91,94,98,99,103,107,109,117,125,127,129,134,138,163,165,168,171,191,192,193,201,208,212,220,229,266,268,272,277,293,294,305,322,324,337,345,352,355,385],apiurl:72,apn:[29,268],app:[304,314,315,316,347,354],app_addr:347,appar:36,appear:[94,109,162,207,250,268,292,294,320,352,356,358,360,369,374,379],append:[30,379],appl:[162,378],appli:[115,162,165,273,329,353,379,381],applic:[24,26,73,91,98,115,162,164,165,167,202,203,204,205,211,212,220,243,255,268,274,294,314,315,320,329,369,378,379,381],appropri:[15,221,285,314,315,379],approx:[247,264],approxim:[99,243,379],april:162,apsta:134,apt:[166,314,315,321],ar:[0,1,4,9,11,13,14,16,18,21,23,25,26,30,31,34,36,37,39,53,57,60,66,68,72,73,86,87,89,91,94,95,98,99,101,102,103,109,111,112,115,117,122,123,127,128,130,134,136,162,165,166,169,170,173,174,175,177,178,180,181,182,190,196,197,198,202,203,204,205,207,211,213,214,220,221,223,226,227,228,229,231,232,234,238,246,249,250,253,254,263,265,266,267,268,269,271,272,274,275,277,282,283,284,285,293,302,303,305,306,311,314,315,318,319,320,322,323,331,336,339,343,344,345,347,348,349,350,351,352,354,355,356,361,363,367,369,372,375,378,379,380,381,382,384,391],arab:162,arbitr:238,arbitrari:[106,300,346,378,379],arc:[138,163],arc_creat:162,arc_get_adjust:162,arc_get_angle_end:162,arc_get_angle_start:162,arc_get_bg_angle_end:162,arc_get_bg_angle_start:162,arc_get_max_valu:162,arc_get_min_valu:162,arc_get_typ:162,arc_get_valu:162,arc_is_drag:162,arc_part_ind:162,arc_part_knob:162,arc_part_main:162,arc_set_adjust:162,arc_set_angl:162,arc_set_bg_angl:162,arc_set_bg_end_angl:162,arc_set_bg_start:162,arc_set_bg_start_angl:162,arc_set_chg_r:162,arc_set_end_angl:162,arc_set_rang:162,arc_set_rot:162,arc_set_start:162,arc_set_start_angl:162,arc_set_typ:162,arc_set_valu:162,arc_type_norm:162,arc_type_revers:162,arc_type_symmetr:162,arc_type_t:162,architectur:[162,283,289],archiv:[55,95,318],arcsin:379,arctan:300,arctang:379,arduino:[217,218,284,293,295],are_first:379,area:[3,10,36,71,100,112,117,127,136,138,163,253,269,277,293,327,328,329,334,339,346,378,379],area_t:162,arg1:[29,168,326],arg2:[29,326],arg3:29,arg4:29,arg:[29,123,168,200,380,381],argn:29,argp:379,argument:[89,348,379,380,381],aris:378,arithmet:[29,121,379],ariyun:54,arm:[211,217,243,250,255,293,300,318],armcc:316,armink:[172,191,192,193],armmb:250,around:[127,162,211,356],arrai:[6,94,96,98,138,163,165,177,206,208,212,268,334,335,353,379],arrang:[162,282,289,339,360,378],array_id:71,array_len:162,arrear:268,arriv:330,arrow:162,artboard:10,articl:[99,162,235,247,268,285,304,326,381],as_identifier_:379,ascend:379,ascii:[334,339,353,378,379],asd8938kjjsidiajdl:378,asdfassdfasdfass:6,asdicagydausckfugdaflgscdabgsdbahhacbshbsd:378,asfb:334,asid:221,asin:168,ask:[138,163,349,351,381],aspect:[331,379],assembl:356,assert:[168,169,381],assert_fail:214,assert_param:214,assign:[67,94,115,127,138,163,168,250,334,381],assist:[255,311],associ:[162,312,348,379,381],assum:[21,85,269,304,318,331,379],assumpt:[311,379],asymmetr:[162,170,358],async:[29,336],asyncget:336,asynchron:[10,54,94,98,134,202,203,204,205,212,220,268,305,348],atan2:379,atan:168,ate:378,ath10:311,ath20:311,ath:311,atla:162,atom:255,attach:[11,36,94,212,216,220,228,236,238,249,250,252,258,267,297,298,300,336,363],attach_fil:317,attempt:379,attent:[26,58,59,66,68,73,78,79,100,115,123,162,210,212,220,238,248,250,255,272,274,287,291,293,323,349,351,352,358,372,393],attribut:[98,162,268,379],audio:[4,29,103,121,238,265,268,273,277,381],audio_format:[4,29],audio_id:1,audio_play_stop:268,august:162,aut:162,auth:[29,133],auth_password:29,auth_user_nam:29,authent:[24,29,94,95,121,268,344],author:[210,348,379],authstat:54,auto:[29,95,133,134,138,163,376],auto_del:89,auto_format:29,auto_phone_fix:[29,268],auto_reconnect:29,auto_reset_stack:29,autocollectmem:29,autofit:162,autoflush:29,autoguessencod:210,autohint:162,autolong:29,automat:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,122,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,163,207,211,212,217,218,220,221,226,232,248,250,253,268,269,272,277,293,301,302,311,321,326,344,348,358,360,361,363,369,372,374,375,376,378,379],autoreconn:29,autosav:369,aux_rx:272,aux_tx:272,aux_uart:266,auxiliari:[94,168,271,293],avail:[0,1,10,14,18,21,57,73,92,96,98,103,109,117,120,128,129,130,134,162,201,212,238,247,251,260,264,267,268,272,273,282,284,294,311,312,314,315,347,355,363,369,378,379],avd33:238,averag:[93,221,363,372,374,379],average_temp:29,avoid:[66,238,250,255,268,272,284,289,312,348,358,372,379],awai:[59,165,221,238,250,379],await:336,awaken:[103,122,226,232,381],awar:255,awem:384,awsl:378,axi:[54,127,162,369],azimuth:39,azur:210,b2:353,b5:292,b6:292,b6_esp32s3:292,b:[10,29,39,50,71,76,94,99,101,109,120,122,124,136,212,220,314,315,320,334,335,348,353,355,378,379,380,381,382],b_hd:10,b_v2:10,b_v3:10,b_xy_:379,ba:292,bacground:162,back:[1,3,29,89,95,128,136,162,203,204,205,212,220,268,289,293,320,334,348,360,372,378,379],background:[36,72,119,127,162,217,243,253,268,293,299,349,350,379],backlight:36,backparenthes:379,backslash:[378,379],backspac:379,backtrac:379,backtrack:379,backup:266,backward:[128,130,136,162,243,334,376,378,379],bad:[24,336,379],bai:250,baidu:[29,39,54,214,248,301,317,320],baiduyun:[55,268],balabala:[305,382],balanc:[103,379],banana:[162,358,363,373,378],band:[29,96,134,243,379],bandrat:29,bandwidth:[86,87,260],bandwidthafc:[86,87],baobao:277,bar1:162,bar:[138,163,212,214,248,301,376,379],bar_creat:162,bar_part_bg:162,bar_part_ind:162,bar_set_anim_tim:162,bar_set_rang:162,bar_set_start_valu:162,bar_set_typ:162,bar_set_valu:162,bar_type_symmetr:162,barabala:[305,336,348],bare:[93,331],base32:[6,120],base64:[6,120],base64_decod:29,base64_encod:29,base:[14,18,29,54,66,68,94,96,108,118,123,138,163,168,172,209,210,212,217,218,238,247,250,255,264,266,268,269,284,289,293,294,295,302,306,318,321,322,325,333,347,352,354,372,378,385],base_year:29,bash:321,basi:[347,381],basic:[11,16,29,121,130,133,149,162,166,168,177,191,192,193,208,238,243,247,255,268,273,277,293,304,323,324,331,337,338,339,345,348,349,351,358,363,373,374,380],bat:[29,316,317,318],batch:[72,248,250,268,269,274,289,356,379],batt:376,batteri:[10,162,189,211,212,238,369,372,373,374,385],baud:[13,54,82,106,117,128,180,181,202,203,204,205,207,212,220,221,225,231,234,260,266,268,284,289,294,343,347,354],baud_rat:29,bb:292,bbb:378,bbbbbb:[212,220],bc:10,bd09:39,bd:39,bdata:6,beacon:98,beauti:[162,212,220],becaus:[4,24,58,64,66,89,109,117,162,170,178,212,220,250,255,266,268,277,284,294,305,339,353,360,369,372,377,378,379,381,393],becom:[39,98,100,103,162,210,268,376,377,378,379,381],been:[4,9,11,16,27,31,39,58,66,89,94,95,98,109,110,115,123,133,134,137,162,170,255,268,272,284,285,294,305,309,355,356,378,379],befor:[1,10,11,12,13,26,36,66,91,92,94,95,98,103,108,115,117,127,134,162,166,172,191,192,193,196,197,198,201,207,212,218,220,221,226,232,234,235,248,250,255,266,268,269,272,277,284,285,289,304,314,315,346,348,354,363,369,378,379,381,394],began:[212,220],begin:[4,26,29,31,101,103,136,162,203,204,205,207,212,213,220,226,232,250,255,304,318,323,334,348,363,378,379,381],beginn:[355,381],behalf:[24,238],behav:379,behavior:[162,326,348,379],behind:379,beidou:[211,266],being:[25,128,162,169,210,220,221,250,255,292,330,331,363,372,376,378,379,381],believ:212,bell:379,belong:[27,162,266,282,330,348,379,381],below:[66,127,162,169,212,220,221,238,250,255,314,315,330,361,363,369,372,374,378,379,381],benchmark:[68,89],benefit:381,besid:162,best:[318,323,326,358,378,379],better:[11,12,94,162,212,220,304,378,380,381],between:[1,36,58,66,91,127,136,162,173,174,175,177,183,196,197,198,203,204,205,208,211,212,222,227,234,250,253,256,265,266,267,268,269,289,293,300,319,326,335,339,341,356,358,363,369,376,378,379,381],bg_drag_dir:162,bg_grad_stop:162,bg_main_stop:162,bg_opa:162,bh1750:54,bh1750_data:46,bh1750_read_light:46,bi:[2,212,273],bia:29,bias_onefourth:37,bias_onehalf:37,bias_onethird:37,bias_stat:37,bidirect:[162,173,174,175,212,220],bif:[253,293],big:[28,101,115,117,128,136,162,210,266,294,378,379],bigd:18,bigdata:[12,92],bigger:285,biggest:379,bilater:340,bilibili:209,bilingu:[363,376],bin:[15,16,24,82,89,99,162,255,312,317,318,346,347,354,379],binari:[30,35,38,96,98,104,107,120,162,202,209,354,379],bind:[29,379],binfil:[59,250,354],binop:379,binpkg:274,bit0:91,bit32:379,bit64:[29,91,121,268],bit7:26,bit:[1,4,6,10,20,21,26,27,29,35,36,37,66,71,73,78,79,91,96,107,121,127,128,162,165,168,173,174,175,196,197,198,202,203,204,205,212,220,243,253,254,260,284,289,293,299,300,305,335,342,343,361,372,375,378,398,401,404],bit_ord:29,bitdict:29,bitmap:[10,36,127,162],bits_per_sampl:[4,29],bitw:[29,347],bitwis:379,biu:378,biubiu:378,biubiubiu:378,bl:[212,220,347,354],bl_addr:347,black:[10,89,268,303,360],blackbodi:327,blank:[89,91,94,115,120,131,136,334,378,379],ble:[29,121,260,282],blend:162,bless:266,blink:[138,163],blob:[269,292,352],block:[16,17,26,27,29,54,71,92,117,121,125,162,168,177,191,192,193,208,248,253,268,293,305,329,336,343,348,378,381,382],block_:379,blood:90,blue:[36,301],bluepil:[248,249],bluepill_pcb:[253,293],bluetooth:[29,121,211,257,289,293,356,374],bme280:54,bme680:54,bmp180:54,bmp280:54,bmp:268,bmx:54,bmx_data:47,bmx_data_data:47,bnf:379,boad:284,board:[1,10,73,78,169,170,171,172,173,174,175,178,179,180,181,182,184,185,186,187,189,190,191,192,193,195,196,197,198,200,201,202,203,204,205,207,208,209,212,217,218,220,221,223,224,228,229,236,237,242,246,248,252,253,258,259,263,268,271,280,285,286,287,290,291,292,295,298,299,301,331,355,358,360,363,372,385,387,393,394,395,405],board_v1:222,boardguid:[273,294],bodi:[25,29,38,59,330,378,379,381],body_len:24,bold:348,bom:[223,228,236,392],bond:379,book:[218,268,379,393,395],bool:[10,13,14,18,19,25,26,30,32,33,36,37,39,40,41,42,44,46,48,49,51,53,56,57,58,62,63,64,65,66,67,69,70,71,72,74,75,76,77,80,82,83,84,89,90,91,93,94,95,96,97,98,99,100,104,106,107,108,110,113,114,120,123,124,126,128,130,132,133,134,136,137,172],boom:91,boost:393,boot0:[218,255],boot1:255,boot:[94,103,130,207,212,218,220,221,223,228,245,248,255,262,265,266,267,268,284,289,300,311],bootim:30,bootload:[218,347,354],bootmod:[282,284],bootstrap:[253,293],boottim:30,border:[127,162],border_sid:162,bore:379,born:250,boss:293,both:[21,31,94,162,207,221,238,255,266,267,272,311,318,320,343,348,358,379],bottom:[1,10,16,24,29,36,39,59,73,78,95,96,103,106,109,115,121,127,162,207,212,235,269,272,330,358,363,369,372,378,379,382],bottom_fit_typ:162,bounc:89,bound:[136,162,379],boundari:[162,323,324,337,338,345],box:[36,127,138,163,303],boyfriend:165,bpp:[29,162],brace:379,bracket:[378,379],bracket_:379,bracketpair:210,bracketpaircolor:210,brackets_ar:379,brain:[311,320],brake:[253,293],branch:[209,348,379],brand:[358,363,372,373,376],breakpoint:[326,379],breath:[67,177,188,208,212,220],bri:54,bridg:292,briefli:[212,220],bright1:[78,79],bright3:78,bright5:78,bright8:[78,79],bright:[77,78,79,138,163,165,185,186,187,212,220,360,374],brightest:162,bring:[162,382],broadcast:[98,134,344],broken:[123,360],brought:[26,212,220],browser:25,brush:[10,78,79,96,99,207,212,217,224,229,235,237,246,250,263,266,269,271,282,287,291,293,304,310,314,315,318,320,347,349,351,356,369],bs:57,bsd:379,bsp:[23,26,29,102,118,121,134,166,169,229,268,273,293,302,316,317,318,321,322,347],bssid:[134,344],bt:[122,355,379],bt_cb:122,bt_readi:122,btn1:162,btn2:[89,162],btn3:162,btn:[89,138,163,212,220],btn_bw0:127,btn_bw1:127,btn_bw2:127,btn_bw3:127,btn_creat:[89,162,212,220],btn_get_stat:162,btn_hcenter:127,btn_id:162,btn_index:162,btn_inv:127,btn_part_main:162,btn_set_check:162,btn_set_fit2:162,btn_set_fit:162,btn_set_layout:162,btn_set_stat:162,btn_shadow0:127,btn_shadow1:127,btn_shadow2:127,btn_state_:162,btn_state_checked_dis:162,btn_state_checked_press:162,btn_state_checked_releas:162,btn_state_dis:162,btn_state_pr:162,btn_state_press:162,btn_state_releas:162,btn_state_t:162,btn_str:162,btn_toggl:162,btn_xframe:127,btna:162,btnb:162,btnm1:162,btnm:162,btnm_ctrl:162,btnm_ctrl_:162,btnm_ctrl_no_repeat:162,btnm_ctrl_tgl_enabl:162,btnm_map:162,btnmatrix:[138,163],btnmatrix_:162,btnmatrix_clear_btn_ctrl_al:162,btnmatrix_cr:162,btnmatrix_ctrl_check:162,btnmatrix_ctrl_check_st:162,btnmatrix_ctrl_click_trig:162,btnmatrix_ctrl_dis:162,btnmatrix_ctrl_hidden:162,btnmatrix_ctrl_no_repeat:162,btnmatrix_demo:162,btnmatrix_get_active_btn_text:162,btnmatrix_part_bg:162,btnmatrix_part_btn:162,btnmatrix_set_btn_ctrl:162,btnmatrix_set_btn_width:162,btnmatrix_set_map:162,bu:[1,26,36,40,41,42,44,45,46,48,49,53,56,62,64,65,66,69,70,75,76,80,90,91,93,110,111,112,173,174,175,195,196,197,198,202,203,204,205,212,220,238,243,250,253,293,324,325,331,333,336,337,345,363],bucket:378,buf:[16,128,162],buf_siz:162,buff2:29,buff:[4,11,27,29,31,36,54,63,71,89,94,111,117,165,166,334,335,379],buff_mod:29,buff_siz:[29,166],buffer:[3,10,29,36,60,89,115,127,128,162,203,204,205,212,220,255,268,324,337,343,345,379],buffer_offset:268,bug:[162,250,255,360,367,369],bui:[250,356,358,363,366,372,374],build:[162,209,210,217,269,293,302,307,309,311,314,315,316,318,321,322,347,379,384],build_at:347,build_bi:347,build_cmak:302,build_host:347,build_system:347,builddat:29,built:[13,59,89,103,109,115,162,171,178,179,200,211,212,218,220,238,243,251,255,260,266,268,269,284,289,299,300,323,328,336,339,352,379,381],bulk:387,bullet:162,bunch:[266,348],buoi:[138,163],burden:238,burn:[169,208,209,217,221,224,229,235,237,246,249,250,253,263,271,285,287,289,293,299,300,310,311,358,363,373,374,376],burner:[253,293],bus_dac:1,bus_i2:1,bus_soft_dac:1,bus_typ:29,bus_voltag:53,busi:[10,36,86,87,95,112,132,134,253,269,293,303,305,381,394],button:[126,127,138,163,207,210,212,213,214,218,220,221,229,238,248,250,265,266,267,284,292,293,301,358,360,363,369,373,376],bv1vf4y1l7rb:209,bv2:10,by_clean:379,bypass:379,byte0:354,byte1:354,byte2:354,byte3:354,c1:162,c1c2c3:[20,268],c1c3c2:20,c3:[284,286,293,349,351],c3_pcb:[287,293],c99:162,c:[10,29,36,47,76,99,101,109,120,121,122,128,162,168,208,212,217,220,238,248,255,284,289,292,293,301,314,315,318,320,324,331,337,338,345,349,351,353,354,356,358,363,367,372,374,377,378,395,407],c_n_:379,ca:[19,24,59,95,115],ca_fil:29,cabl:[207,212,220,292,358,360,363,373,388],cach:[11,16,27,60,114,115,128,243,255,268,343,379],cache_s:29,cal:54,calchum:[173,174,175],calctemp:[173,174,175],calcul:[0,6,20,71,91,92,136,162,177,183,208,212,220,254,268,300,378,379],calculate_crc:54,calendar:[138,163,393,395],calendar_:162,calendar_cr:162,calendar_date_t:162,calendar_get_pressed_d:162,calendar_part_bg:162,calendar_part_d:162,calendar_part_day_nam:162,calendar_part_head:162,calendar_set_highlighted_d:162,calendar_set_showed_d:162,calendar_set_shown_d:162,calendar_set_today_d:162,calibr:[53,255,361,372,375],call:[1,3,16,26,30,36,39,43,57,59,66,72,73,95,98,103,104,106,109,122,124,127,134,162,168,191,192,193,207,211,229,249,250,253,268,272,277,293,301,303,304,305,323,330,331,332,336,340,342,343,344,347,348,352,381,382],call_:379,callabl:348,callback:[1,3,24,25,26,27,39,57,59,66,79,87,89,95,98,114,115,117,122,123,124,128,133,162,177,202,206,208,212,220,268,272,305,325,330,336,340,343,344,348,380,381],callbacktest:380,called_cal:379,called_catch_:379,called_collabor:379,called_empti:379,called_environ:379,called_glob:379,called_iter:379,called_objects_in:379,called_terminator_:379,called_upp:379,caller:379,calorif:372,cam:91,cam_vcc:[103,268],camera:[29,103,121,289,293,348,355,386,395],camera_id:3,can:[0,1,2,3,5,6,8,10,11,12,13,15,16,18,19,21,22,23,26,27,30,31,32,35,36,39,54,55,57,58,59,60,66,68,72,73,78,79,85,86,89,91,92,94,95,96,98,99,102,103,106,107,108,109,111,112,114,115,116,117,122,123,124,127,128,130,131,133,134,136,138,163,165,166,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,210,211,212,213,214,217,218,220,221,226,232,235,238,243,247,248,249,250,251,253,254,257,260,262,266,267,268,269,272,273,274,275,277,282,284,285,289,292,293,295,300,301,302,303,305,310,311,312,313,314,315,318,319,320,321,322,323,326,327,330,331,332,335,336,339,341,346,348,349,351,352,353,354,355,356,358,361,363,366,367,369,372,374,375,376,377,378,379,380,381,382,385,388,393,394],can_500kbp:63,can_rx:255,can_tdhxr:255,can_tdtxr:255,can_tx:255,cancel:[66,94,108,130,272,358,363],cannot:[11,12,14,18,25,26,31,63,66,68,72,92,94,99,100,103,107,109,111,115,117,122,132,162,170,202,208,212,218,220,221,235,238,250,253,254,266,268,269,272,273,274,277,284,289,293,294,304,305,314,315,318,320,330,336,348,353,358,360,363,369,378,379,380,381],canva:[138,163],cap:[221,358],capabl:[23,115,162,211,238,266,272,284,294,345,378],capac:[115,191,192,193,212,220,238,255,268,376],capacit:[221,238],capacitor:[221,238,372],capend:29,capit:162,captur:[29,162,168,255,356,361,363,369,372,374,375],capture_buff:29,capture_cnt:31,card:[1,13,15,24,54,60,94,109,110,114,115,123,130,162,166,212,220,238,253,268,273,289,292,293,319,328,352,378],care:[72,94,221,355,372,379],carefulli:[91,94,360,372,378,379,381],carri:[39,284,289,356,367,372,374,379],carriag:[106,378,379],carrier:33,carry_method:379,casual:[212,220,380],cat1:91,cat:[266,273,275,355,385],catalog:[210,320],catalogu:312,categori:[168,269,391],caught:[287,293,379],cauliflow:381,caus:[11,13,18,26,94,115,162,221,250,255,257,268,284,289,305,306,319,358,360,378,379],caution:[43,89],cb:[29,79,138,163,305,335,336,381],cb_is_inact:162,cbc:[6,20,170,275],cbfnc:[54,382],cbfun:29,cbt6:250,cc1:360,cc2:360,cc:[358,361,363,366,367,369],ccc:[221,378],ccccc:221,ccitt:6,ccm:275,cd:[29,302,317,320,378],cdata:[12,92],cdc:[207,250,273,284,289],cdma2000:275,cdn:[210,216,228,236,238,249,252,258,267,297,298,300,319],cdup:19,ce:[54,96],cede:379,ceil:168,cele:379,celevel:29,cell:[94,96,123,138,163,268],cell_info_ind:96,cell_info_upd:94,cell_typ:[138,163],cellid:[29,268],cellinfo:268,cellular:[29,115,121,356,374],celsiu:[0,26,45,111,268],cen:255,center:[10,36,127,136,162,266,277],central:[98,300],certain:[31,50,67,103,136,162,170,207,212,220,292,358,378,379],certainli:[378,381],certif:[19,24,55,59,95,115,268],cf:379,cfg_addr_ord:98,ch0:8,ch2o:54,ch340:[294,385],ch343:[106,207,284,289,385],ch343p:289,ch:29,ch_cpu:0,ch_vbat:0,chain:[213,269,306,322],chang:[21,37,86,91,94,103,123,127,131,136,138,163,168,170,171,178,208,212,220,250,255,257,266,268,271,272,285,293,304,309,311,314,315,320,324,331,337,345,348,356,363,366,369,376,378,380,381,405],changelog:[271,293],changelog_luato:269,changer:162,channel1:255,channel3:[253,293],channel4:255,channel:[0,1,4,8,29,31,86,87,98,110,122,131,162,169,173,174,175,177,185,186,187,199,203,204,205,208,212,218,234,243,254,255,260,267,272,289,294,300,326,344,348,356,361,374,375],channel_map:29,chapter:[169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,212,220,255,323,360,378,379],char_arrai:162,charact:[28,71,72,91,92,94,96,98,99,104,120,127,130,134,136,138,163,168,202,203,204,205,212,220,221,268,314,315,318,319,339],character_:379,character_x_:379,character_x_itself:379,characterist:[1,98,202,203,204,205,212,220,233,238,271,293,347,379],charg:[36,103,162,211,237,250,293,356,358,363,366,372,373,374,381],charge_vbat:238,charge_vcc:238,charger:[356,360],charpattern:168,chart:[72,138,163,217,224,293],chart_add_cursor:162,chart_add_seri:162,chart_axis_:162,chart_creat:162,chart_cursor_non:162,chart_cursor_t:162,chart_get_nearest_index_from_coord:162,chart_get_point_count:162,chart_get_point_id:162,chart_get_series_area:162,chart_get_typ:162,chart_get_x_from_index:162,chart_get_x_start_point:162,chart_get_y_from_index:162,chart_init_point:162,chart_part_bg:162,chart_part_cursor:162,chart_part_seri:162,chart_part_series_bg:162,chart_point_def:162,chart_refresh:162,chart_set_cursor_point:162,chart_set_div_line_count:162,chart_set_ext_arrai:162,chart_set_next:162,chart_set_point:162,chart_set_point_count:162,chart_set_point_id:162,chart_set_rang:162,chart_set_typ:162,chart_set_update_mod:162,chart_set_x_start_point:162,chart_set_x_tick_length:162,chart_set_x_tick_text:162,chart_set_y_tick_length:162,chart_set_y_tick_text:162,chart_type_:162,chart_type_column:162,chart_type_lin:162,chart_type_non:162,chart_u:162,chart_update_mode_:162,chart_update_mode_circular:162,chart_update_mode_shift:162,chat:106,cheat:[358,360],check:[1,6,10,12,20,26,29,31,36,72,89,92,94,106,107,111,112,115,120,127,128,138,163,191,192,193,203,204,205,207,210,212,214,220,221,234,235,248,249,250,255,289,294,301,307,308,309,311,314,315,318,322,328,343,346,353,360,372,378,379,381],check_sim_period:29,check_valu:29,checkbox:[138,163],checkbox_:162,checkbox_cr:162,checkbox_is_check:162,checkbox_part_bg:162,checkbox_part_bullet:162,checkbox_set_dis:162,checkbox_set_text:162,checkout:317,checkpoint:[314,315,320],checksum:[29,128],chef:381,cheng:165,chenxuuu:[327,336,341,342,343],chestnut:330,chi:66,child:162,children:162,china:[29,32,55,121,266,268,273,275,299],chines:[10,36,127,162,171,210,212,220,271,293,294,318,320,334,363,376,378],chip:[0,13,16,21,26,29,36,54,59,66,89,103,106,112,121,127,169,176,183,187,188,189,190,191,192,193,194,196,197,198,199,202,206,207,209,211,212,213,216,217,220,221,224,226,227,229,232,237,242,248,249,250,252,253,259,262,264,266,272,273,280,284,286,289,296,297,298,299,301,318,319,320,341,347,348,352,354,355,358,360,361,366,375,380,385,390,395],chip_check:54,chip_id:66,chiperas:29,chipid:[196,197,198],chmod:379,choic:[214,248,301,326,378],choos:[78,79,123,162,197,198,207,212,217,220,221,243,255,268,293,355,379],chooser:[138,163],chr:98,chr_f_notifi:98,chr_f_read:98,chr_f_write:98,chr_f_write_no_rsp:98,chr_uuid:29,chrome:162,cht8305c:54,chuang:267,chunk:[168,268],chunknam:168,ci:[213,302],cid1:268,cid:29,cillum:162,cipher:[6,271,293],cipher_decrypt:[29,170],cipher_encrypt:[29,170],cipher_list:29,cipher_suit:[29,275],circl:[29,36,127,136,162,212,220,356,379],circuit:[78,79,169,185,186,187,212,220,224,237,251,254,255,289,292,293,358,361,372,374,375,379,393],circular:162,circularli:162,circumst:[221,292],circumv:[378,379],citizen:379,citizens_:379,citron:162,cjk:162,ck:6,clamp:358,class_i:379,classic:[162,207,284,385],classif:[271,293,321,355,379],classmat:210,clean:[114,120,138,163,268,379],cleanmsg:29,cleansess:29,cleanup:[120,336],clear:[11,14,29,54,68,71,91,94,95,96,114,124,127,128,162,171,209,253,268,282,293,334,363,369,372,379,381],clear_bit_mask:54,clear_btn_ctrl:162,clearbuff:29,cleardownlink:29,clearli:[162,212,220,268,356],clearlong:[29,268],clearuplink:29,cli:312,click:[0,1,2,3,4,6,7,8,9,10,11,13,14,16,17,18,19,20,21,23,24,25,26,27,28,29,30,31,32,33,34,35,36,38,39,45,54,58,81,86,87,89,94,95,98,100,101,103,104,105,107,108,113,114,115,117,118,119,120,122,127,128,130,131,132,133,134,136,162,207,210,212,213,214,235,248,250,274,301,302,311,313,314,315,318,320,360,367,369,372,377,379,406],clickabl:162,client:[25,29,59,60,98,115,121,134,306,356,358,360,361,363,367,370,372,374,375,376,379],client_ca:29,client_cert:[19,29,54,95],client_id:[29,32],client_kei:[19,29,54,95],client_password:[19,29,54,95],clientid:95,clip:[120,162,358,360,373],clk:[29,54,191,192,193,196,197,198,212,220],clk_24m:238,clk_27p12:238,clock:[29,31,54,73,78,79,91,103,111,121,127,128,162,168,180,181,189,196,197,198,212,214,218,220,221,226,232,237,243,248,250,253,254,272,284,293,300,301,333],clock_source_to_output_on_mco_pin:251,clockwis:[39,50,162],clone:[314,315,316,317,318],close:[12,29,30,39,43,54,68,90,94,98,106,130,138,163,166,168,169,173,174,175,191,192,193,196,197,198,212,220,221,238,251,253,268,293,326,331,340,342,343,344,348,369,372,374,382],close_btn:162,close_watch_dog:54,closef:379,closest:162,closur:[21,168,305],closure_:379,cloud:[1,5,10,15,29,36,54,121,207,212,220,257,268,269,272,277,314,315,320,385],cloud_compil:36,cloudc:54,clutter:268,cmake:302,cmakelist:320,cmd:[29,31,162,251,254,311,318,320,326,341],cmd_cnt:29,cmi_mm_disable_edrx:96,cmi_mm_disable_psm:96,cmi_mm_discard_edrx:96,cmi_mm_discard_psm:96,cmi_mm_edrx_nb_iot:96,cmi_mm_edrx_no_act_or_not_use_edrx:96,cmi_mm_enable_edrx_and_disable_ind:96,cmi_mm_enable_edrx_and_enable_ind:96,cmi_mm_enable_psm:96,cmiot:94,cmsi:[217,248,249,250,255,293,301],cn:[24,52,57,68,72,103,133,210,257,270,272,292,320],cnt:[29,136,162,253,293,380,381],co:[59,162,168,266,269,300,381,382],coap:[29,121],coapdata:29,code:[3,5,7,22,24,25,26,28,29,33,36,37,43,59,66,72,78,79,85,89,94,95,98,103,104,107,109,111,115,117,122,123,125,127,131,141,149,152,158,162,166,168,169,171,172,173,174,175,177,179,180,181,182,184,185,186,187,189,190,194,195,199,200,201,202,206,208,209,210,212,214,217,220,226,229,232,250,253,255,266,268,269,277,292,293,299,306,312,314,315,321,323,327,331,332,334,335,336,339,340,342,343,344,347,349,351,353,358,360,363,380,381,382,388],codec:[29,103,121,265],codepoint:168,coder:[29,86,87],col:162,col_cnt:162,col_id:162,cold:[212,289],collabor:381,collat:379,colleagu:162,collect:[86,87,109,168,169,250,255,291,293,330,378],collectgarbag:168,collector:379,collector_to:379,collis:71,colon:[77,378],colon_syntax:379,color:[29,54,89,127,138,163,165,212,277,293,395,398,401],color_arrai:162,color_blu:162,color_hex3:162,color_mak:162,color_mode_hu:162,color_orang:162,color_purpl:162,color_transp:162,colro:162,column:[138,163,348],com0:[37,230,354],com1:[37,230],com2:230,com3:230,com8:311,com:[11,24,29,36,39,54,57,59,68,89,99,104,106,115,162,172,191,192,193,196,197,198,207,209,210,212,213,214,216,225,228,231,236,238,247,248,249,250,252,258,264,266,267,269,273,277,292,297,298,300,302,304,313,314,315,317,318,319,320,352,378,384,386,387,394,396,398,399,401,402,404,407],com_mark:29,com_numb:29,combat:209,combin:[98,197,212,214,221,255,268,282,318,354,360,378,379,381,385],come:[66,123,162,212,238,243,284,318,326,374,378,379,381],comfort:374,comma:[54,210,326,378,379],command:[3,10,29,31,36,54,86,103,104,127,162,168,176,177,191,192,193,208,212,220,266,285,302,318,326,349,351,356,361,369,372,374,375],comment:[136,212,220,255,314,315,320,348,379],comment_:379,commerci:[162,269],commiss:[324,337,345],commit:[268,348],commodo:162,common:[24,64,73,78,79,91,95,98,115,131,133,138,163,170,207,218,223,228,255,267,273,284,300,319,331,341,349,350,354,356,378,379,383],commonli:[128,134,165,178,212,220,221,255,268,282,378],commun:[66,71,103,133,162,173,174,175,195,196,197,198,202,203,204,205,211,212,218,220,243,249,255,260,273,284,293,324,337,342,343,345,353,355,358,363,373,374,376,379],comp:168,compact:378,compar:[91,136,218,255,300,358,378,379],comparison:[18,136,168,238,253,293,300],compat:[18,20,66,68,91,92,98,128,162,190,207,212,220,243,247,253,254,255,257,260,268,273,289,295,296,379,393,405],compens:372,competit:372,compil:[0,5,10,15,36,39,64,98,103,106,109,134,162,207,209,214,217,220,248,257,268,269,272,277,283,284,285,293,301,304,339,349,351,378,379,385],complain:363,complement:[29,121,378,379],complementari:[243,300],complet:[1,5,16,18,26,31,60,66,72,87,94,95,98,102,103,110,115,117,123,128,135,162,173,174,175,202,203,204,205,212,214,218,220,221,227,228,229,231,248,250,255,266,268,269,285,292,300,301,302,305,308,311,320,331,343,349,351,354,356,369,378,379,380,405],complex:[211,268,378],compliant:243,complic:[178,212,220,381],complimentari:373,compon:[36,89,138,163,169,212,220,248,269,292,318,320,345,355],compos:[120,162,378],composit:[250,354,379],compound:379,compress:[3,25,29,121,162,166,268,269,300,318,319,347,354],compressor:92,compromis:379,comput:[107,207,212,218,220,249,253,257,268,292,293,314,315,318,319,327,356,358,363,369,372,374,378],compute_adler32:92,comxx:250,con:[7,38],con_rel:7,conack:[95,133],concat:[168,212,220],concaten:[168,378],conced:379,concentr:83,concept:[138,163,168,336,378],concess:379,concis:[306,377,378],concord:122,concorout:122,concret:16,concurr:268,cond:379,condit:[162,165,238,255,268,277,300,326,379,381,382],condition:220,conf:[29,54,162,217,293,312,323],conf_ce_mod:94,conf_psm_mod:94,conf_qualityfirst:94,conf_reseltoweakncel:94,conf_sim_wc_mod:94,conf_staticconfig:94,conf_t3324maxvalu:94,conf_userdrxcycl:94,conf_xxx:94,confess:165,confid:360,confidenti:282,config:[29,54,168,268,285],configassert:255,configprio_bit:255,configur:[1,8,9,11,21,24,25,35,39,40,53,55,63,65,67,72,74,86,87,91,94,95,98,103,109,115,126,127,128,131,133,162,178,208,214,220,221,223,228,238,243,248,253,254,266,267,268,269,271,284,287,289,293,300,301,305,312,313,314,335,336,342,343,379],confirm:[255,285,289,311,320,360],conflict:[94,268,272,319,379],conform:[104,162,274,318,379],conjunct:[123,381],conn:29,conn_mod:29,connect:[11,19,24,29,32,54,57,59,66,68,78,79,85,86,94,96,111,138,141,149,152,158,162,164,167,169,171,173,174,175,178,190,195,202,203,204,205,207,211,212,213,214,218,220,221,238,248,249,253,255,257,260,266,268,272,284,289,292,293,301,318,326,344,354,356,363,369,374,376,378,379],connect_config:54,connector:360,connok:29,conscienti:356,consectetur:162,consecut:[162,253,293],consequ:372,consequat:162,consid:[1,212,220,238,269,292,311,331,378,379],consider:[253,277,293],consist:[27,60,98,162,173,174,175,196,197,198,302,323,356,369,378,379],consol:[5,349,351],consola:210,consolid:162,constant:[18,29,54,162,268,324,337,338,339,345,348,379],constant_:379,constantli:379,constel:266,constraint:378,construct:[162,168,208,209,217,224,253,293,299,349,351],constructor:379,consult:[99,250,318],consum:[3,4,15,162,321,330,352,360],consumpt:[0,12,30,94,103,180,181,211,224,229,237,268,271,282,287,293,300,332,333,344,356,363,366,374,376,378,385],cont:[138,163,379],cont_creat:162,cont_part_main:162,cont_set_fit2:162,cont_set_fit4:162,cont_set_fit:162,cont_set_layout:162,contact:[54,94,221,255,319,356,384,387],contain:[30,36,91,94,95,96,98,101,104,123,138,163,173,174,175,221,243,250,268,269,314,315,318,320,325,378,379],contamin:250,content:[1,10,13,24,36,59,89,104,114,122,123,124,127,136,138,163,178,179,210,212,214,220,250,268,271,293,302,307,312,318,321,322,325,331,334,346,348,349,350,353,363,376,379],content_len:24,context:[72,98,210,305,379],continu:[0,1,3,27,29,103,105,115,162,185,186,187,209,212,220,221,226,232,253,266,268,293,305,313,329,332,339,358,363,369,378,379,381],contract:289,contrari:[207,212,378],contrast:[29,162,254,293],contribut:26,control:[1,13,26,29,43,54,66,67,69,71,72,89,103,117,121,128,138,163,165,168,173,174,175,177,185,186,187,199,208,212,220,221,238,243,248,249,250,253,254,266,268,272,287,291,293,294,299,300,306,341,344,354,356,373,374,378,381,383],convei:162,conveni:[162,196,197,198,212,220,284,289,335,344,355,358,369,379],convent:[25,168,267,305],convers:[2,13,20,28,29,98,104,120,121,128,138,163,168,169,180,181,182,202,212,238,243,253,268,289,293,294,348,349,350,385],convert:[0,2,28,34,39,54,57,72,91,104,107,120,134,136,162,165,166,169,173,174,175,177,183,196,197,198,202,208,212,220,255,268,326,353,378,379],cook:381,cool:[21,304],cooper:[35,36,116,123,361,372,375],coord_min:162,coord_t:162,coordin:[10,30,36,39,57,58,72,89,93,127,136,162,266,268,300,369,374,379,385],copi:[29,127,162,210,214,250,302,304,311,320,321,322,323,330,331,378,379],coprocess:379,coprogram:381,copybuff:[29,268],copyright:[162,166,318],core:[73,78,103,117,169,211,217,228,236,237,242,247,248,250,255,273,285,286,287,290,291,293,296,299,300,301,328,329,330,332,333,334,337,340,345,347,354,360,363,374,379,380,381,382,387,394,405,407],core_addr:347,core_v1103:268,coremark:[29,121,293,296],corner:[10,36,89,93,127,162,207,210,212,213,248,358,372],corout:[379,381],coroutag:379,coroutet:[379,382],corouti:379,coroutin:[40,41,42,44,46,47,48,49,51,53,55,56,57,58,59,61,62,63,64,65,67,69,70,71,74,75,76,77,80,82,83,84,168,378,381],correct:[10,21,26,36,39,108,127,268,304,314,315,318,320,360,378,379,381],correctli:[16,26,117,268,272,378,379],correl:[271,293],correspond:[1,3,6,10,14,18,20,21,28,35,36,37,39,50,57,72,78,79,85,93,96,102,103,106,112,122,126,127,131,162,169,172,176,177,180,181,182,183,188,194,199,206,207,208,214,218,221,229,238,247,249,250,255,262,268,272,277,284,289,292,293,294,304,321,324,325,331,337,339,345,353,358,363,376,378,379,380,381,394,407],correspondingli:21,cortex:[218,250,300],cortextm:243,cosh:379,cosin:379,cost:[162,260,366],could:379,count:[29,50,77,96,123,126,136,168,195,200,213,253,268,293,339,363],counter:[94,123,126,255,289,300],counterclockwis:[50,162],coupon:250,courier:210,cours:[39,136,162,165,210,235,250,369,378,379,381],cover:[11,358],cp2102:[369,372],cp210x_windows_driv:369,cp:269,cpath:168,cpha:[13,29,66,166,342],cpicker:[138,163],cpicker_:162,cpicker_cr:162,cpicker_part_bg:162,cpicker_part_knob:162,cpicker_set_knob_color:162,cpin_is_readi:94,cpol:[13,29,66,166,342],cpp:104,cpp_out:104,cpu:[0,99,103,212,220,223,228,238,245,268,330,379,381],cr2:255,cr:[255,378],cr_opter_set:255,cr_strt_set:255,crash:[54,91,255,268,379],crc16:[29,101,254,346],crc16_modbu:29,crc32:29,crc7:[29,268],crc8:29,crc:[6,71,111,254,335],crc_modbu:335,crcon:[86,87],creat:[6,26,27,29,30,32,36,38,54,55,57,60,89,94,111,117,118,122,124,127,162,165,166,168,169,177,191,192,193,201,206,207,208,210,212,214,220,248,301,302,310,318,321,322,334,344,349,351,367,378,381,382],createap:29,createsoft:[29,64,268],creation:[95,133,134,136,162,191,192,193,268,311],creativ:355,critic:[138,163],crop:[138,163],cross:[138,163,269,324,337,345,379],crossov:255,crt:95,crypto:[29,98,101,107,121,177,208,268,275,296,335],crystal:[91,189,212,217,223,224,228,238,255,293,300],cs:[10,13,29,54,66,86,127,131,166,177,191,192,193,199,208,212,220,342],cs_gpio:[196,197,198],cs_pin:29,csdk:[207,267,272,277,294,295,319],csfb_not_preferred_regist:94,csfb_not_preferred_registered_roam:94,csk:63,cspin:[191,192,193],csq:29,css:162,csv:[285,369],ctiot:[29,121],ctr_lp:255,ctrip:169,ctrl:[29,210,369],ctrl_map:162,ctwing:268,ctx1:379,ctx2:379,ctx:[305,379],ctype:379,cubemx:[254,255],cuboid:378,culpa:162,cumul:[94,369],cupidatat:162,cur:379,cur_timestamp:29,curli:[378,379],current:[0,1,3,4,6,7,10,11,13,14,19,21,23,25,26,27,29,35,36,39,50,53,54,57,58,85,86,87,89,91,92,94,96,98,103,107,108,109,112,115,117,121,123,128,130,131,134,136,138,163,173,174,175,207,210,212,218,220,221,238,249,250,255,260,268,294,300,304,311,324,326,330,337,339,340,341,345,346,354,356,358,361,366,367,373,374,375,377,378,379,381,384,387],currentlin:379,cursor:[136,138,163,372],curv:[224,229,237,287,293,369,374],custom:[7,10,11,15,21,24,36,59,96,99,109,115,127,130,138,163,207,212,221,250,268,269,285,300,305,306,311,327,330,339,349,351,352,378,379],custom_id:29,custom_init:304,customiz:162,cut:[123,250,268],cute:379,cvcc:238,cwait:[124,305],cwait_id:305,cwait_mt:336,cwaitcreat:336,cwd:19,cycl:[7,31,37,94,95,98,105,109,128,133,162,177,179,185,186,187,201,202,206,208,209,212,220,253,293,300,331,333,372,379,380,381,382],cyclic:[224,229,237,287,293],d0:[251,254],d3102512a40000a:[223,228],d3:[251,254],d4:284,d5:284,d:[10,29,39,66,72,85,99,101,109,136,162,171,172,179,191,192,193,212,213,220,304,314,315,316,317,318,320,348,353,366,378,379],dac:[1,29,121,238,243,254,265,268,273,282,296],dac_en:[103,272],dacdelai:29,dacen:1,daclevel:29,dacpin:29,dactimedelai:29,dai:[39,57,68,99,108,162,189,211,212,314,315,320,377,378,379],daili:[190,212,220],dam:255,damag:[221,306,360,369,372],dap:[214,248,249,253,255,293,301,326],daplink:[213,214,248,249,253,254,293,301],daquan:395,dark_color:29,darken:162,darker:162,darkest:162,dat:[54,266],data0:255,data1:[29,172,200,255],data2:[6,29,172,200,255],data2_decrypt:170,data2_encrypt:170,data32bit:29,data3:[172,200],data4:[172,200],data5:200,data64bit:29,data6:255,data7:255,data:[3,11,13,16,19,22,23,24,29,31,33,35,40,41,42,44,45,46,47,48,49,53,54,56,57,58,59,60,61,62,63,65,66,68,70,73,74,75,76,78,79,80,81,83,84,88,89,93,101,103,116,118,121,122,123,134,138,163,164,166,169,170,173,174,175,177,178,187,191,192,193,195,196,197,198,200,202,206,208,209,210,211,212,217,218,220,221,224,229,237,242,246,249,250,253,254,259,263,266,268,269,271,272,277,280,284,287,291,293,297,299,300,303,305,318,323,324,325,326,327,331,334,336,337,341,342,343,345,346,347,348,349,350,352,354,355,356,361,367,372,374,375,379,380,381,388,391,393,398,401,404,407],data_bit:29,data_len:115,data_mod:29,data_repres:379,data_w:165,dataa:330,datab:330,databas:[29,54,121,177,208,294,346,379],databook:216,datal:255,datar:[86,87],datasheet:[223,228],datasheet_1:236,datatraff:29,dataw:29,date:[29,39,54,68,108,109,115,123,133,138,163,168,171,189,212,268,302,321,322,325,326,327,328,329,330,332,333,334,335,336,340,341,342,343,344,348],date_t:162,day_nam:162,daylight:379,db:29,dbg:[267,326],dbg_rx:272,dbg_tx:272,dc2dc:238,dc:[10,127,212,220],dcdc:372,dcim:294,dcmi:238,dcmis_data0:238,dcmis_data10:238,dcmis_data11:238,dcmis_data12:238,dcmis_data13:238,dcmis_data1:238,dcmis_data2:238,dcmis_data3:238,dcmis_data4:238,dcmis_data5:238,dcmis_data6:238,dcmis_data7:238,dcmis_data8:238,dcmis_data9:238,dcmis_hsync:238,dcmis_pix_clk:238,dcmis_vsync:238,dd:39,ddd:378,ddddd:39,ddddddd:39,ddddddddd:39,ddlist:162,ddmm:39,de:[264,379],dead:[243,268,300,356,378,379,381],deal:[353,379,381],dealer:94,death:221,debounc:[29,268],debug:[8,24,27,29,72,91,104,162,166,168,179,212,214,217,220,224,248,249,253,284,289,293,301,318,324,326,331,337,345,347,354,378,381,383,385],debugg:[213,214,218,248,249,250,255,301,324,337,345,379],debugge:249,dec:127,decemb:[57,162],decept:366,decid:[16,91],decim:[39,57,91,162,177,183,208,300,378,379],decis:361,declar:[162,168,304,335,378],decod:[1,3,6,29,107,120,162,196,197,198,243,255,268,334],decoi:[356,363,366,367,369],decompos:[353,379],decomposit:39,decompress:[12,29,92,121,166,207,269,294,314,315,318,319,354],decor:127,decoupl:272,decreas:[26,94,162,185,186,187],decrement:162,decrypt:[20,29,121,170,268],dedic:[55,91,117,162,211,267,268],deep:[103,224,229,237,266,268,272,293,300,318,334,379],def:[85,118,120,378,379],def_event_cb:162,defect:268,defens:268,defgroup:251,defin:[6,57,66,73,78,79,95,104,106,127,130,162,196,197,198,214,255,268,303,304,312,314,324,330,331,333,335,337,339,340,344,345,347,379,380,381,382],define_method_:379,definit:[104,136,162,168,211,212,217,220,221,229,237,248,287,291,293,300,304,314,331,348,349,350],defocus:162,deg:[65,162,168],degrad:221,degre:[0,10,26,39,45,111,162,220,268],deinit:29,del:29,del_len:136,delai:[1,29,39,67,89,111,122,128,131,162,173,174,175,177,180,181,182,189,201,208,212,213,220,253,268,293,325,330,333,341,343,356,361,374,375,381,382],delay1248:91,delay_u:255,dele:19,delet:[11,14,18,25,30,38,89,94,99,116,124,136,138,163,177,208,250,324,328,331,337,345,348,352,379,381],delimit:[29,379],deliv:[95,250],deliveri:[72,250,268],delta:[162,300],demand:[0,132,212,220,268,293,349,351,379],demo1:162,demo:[0,1,2,3,4,6,7,8,9,10,11,13,14,16,17,18,19,20,21,23,24,25,26,27,28,30,31,32,33,34,35,36,38,39,45,50,58,66,81,86,87,89,91,94,95,98,100,103,104,105,107,108,113,114,115,117,118,119,120,127,128,130,131,132,133,134,136,162,165,166,178,201,207,209,212,220,229,254,268,269,277,284,289,293,294,305,312,348,352,386,393,395,396,399,402,405,407],demo_benchmark:29,demo_keypad_encod:29,demo_mus:29,demo_print:29,demo_stress:29,demo_widget:29,demonstr:[23,57,107,134,162,201,203,204,205,214,235,305,360,378],deni:94,denot:379,densiti:378,depart:268,depend:[10,23,26,37,91,94,98,99,103,115,128,162,238,248,266,294,306,321,331,333,346,379],deploi:72,deprec:379,depth:[89,136,378,379],der:20,dereg:123,deriv:[96,162,379],describ:[138,141,149,152,158,162,163,164,172,173,174,175,177,180,181,182,185,186,187,191,192,193,196,197,198,200,201,203,204,205,208,257,272,307,323,326,356,369,374,379,381],descript:[7,72,109,115,127,138,163,165,210,212,220,221,229,238,247,251,253,254,266,271,287,291,293,325,339,345,349,350,353,363,378,379,381,394],descriptor:162,deselect:162,deseri:34,deserunt:162,design:[53,169,186,190,197,198,203,204,205,212,220,223,224,228,229,236,237,250,251,253,254,255,258,266,269,272,282,284,289,293,295,324,325,327,331,336,338,345,350,361,372,375,378,379,394],desir:[39,162,379],despit:379,destroi:[162,378,379],destruct:306,detach:94,detail:[14,27,32,35,57,72,96,98,103,115,116,127,134,162,165,218,238,250,254,255,266,268,269,284,300,331,339,356,374,379,381],detect:[74,79,86,94,212,220,238,243,268,272,300,311,360,378,379,381,383],determin:[26,27,30,59,65,66,94,95,96,103,109,114,133,162,212,220,255,327,330,331,341,348,358,366,369,378,379,381,382],dev:[118,321],develop:[5,23,26,29,36,39,72,99,118,121,145,162,163,164,167,169,170,171,172,173,174,175,177,178,179,180,181,182,184,185,186,187,189,190,191,192,193,195,196,197,198,200,201,202,203,204,205,207,211,212,214,217,218,221,223,224,228,229,236,237,242,246,248,252,253,254,258,259,260,263,268,271,272,273,280,286,287,290,291,292,295,298,299,301,306,344,345,348,355,378,380,381,382,383,385,393,394],deviat:294,devic:[0,4,5,10,11,13,21,22,26,32,36,54,55,65,66,68,72,74,86,87,89,91,95,96,98,103,105,106,107,109,110,111,113,128,130,132,134,138,163,166,173,174,175,177,183,194,199,207,208,211,212,217,220,238,248,249,251,253,255,268,269,277,293,301,311,312,326,331,342,343,344,347,352,354,355,356,358,361,363,366,373,374,375,376,379],device_clos:[196,197,198],device_id:[29,133],device_kei:29,device_nam:[29,55],device_secret:29,device_setup:117,devicesetup:[10,29,36,87,113,166,191,192,193,196,197,198,212,220],devlog:11,dfp:[253,293],dfu:363,dgps_age:39,dhcp:[131,134,344],dhcp_enabl:29,dhe:275,dht11:111,dht12:[26,111],dht1x:29,dht30:26,di:[191,192,193,196,197,198],diagram:[66,169,171,173,174,175,178,202,212,217,220,221,224,238,248,249,250,267,293,295,301,358,381,393,395,407],dial:[358,360,363],did:[104,255,293,327,381],didn:378,diff_tick:91,differ:[10,12,18,21,23,36,39,83,84,85,91,94,95,98,99,103,111,127,128,136,162,177,179,183,185,186,187,197,208,212,220,221,227,228,229,231,238,253,254,265,266,268,269,272,273,277,284,289,293,294,296,305,306,314,315,319,320,323,326,331,336,339,346,347,352,354,356,363,369,372,376,378,379],differenti:[23,39,238,271,274,293,385],difficult:[327,372,378,379,381],difficulti:326,difftim:[29,168],dig1:79,dig4:79,dig:54,digit:[6,29,39,54,57,73,120,121,128,138,163,169,185,186,187,196,197,198,212,220,223,228,238,243,269,271,273,274,293,343,348,373,378,379,380],digit_count:162,digitalwrit:213,dim:162,dimens:[162,284,286],dimension:[10,36,89,127],dingd:268,dingtalk:268,dinner:381,dio1:[86,87],dio:284,diod:238,dipper:266,dir:[162,255],dir_forward:162,dir_path:29,direct:[2,10,21,32,33,35,36,39,50,98,103,110,112,127,128,134,138,163,165,166,168,178,212,213,214,220,238,255,268,284,289,326,332,334,358,360,379,385],directli:[0,1,5,6,10,14,18,21,86,91,94,98,102,103,110,117,122,135,136,162,169,177,190,194,199,202,203,204,205,207,208,211,212,213,214,220,221,238,248,250,255,266,268,269,274,284,289,292,294,301,302,303,304,305,309,313,314,315,318,319,321,322,323,327,330,334,336,341,353,356,358,369,378,379,380],directori:[30,99,113,162,212,214,268,269,277,301,302,304,312,314,315,318,320,321,322,352,379],dirti:18,disabl:[36,37,66,92,94,96,106,114,127,134,138,163,177,199,208,251,255,268,275,376,379],disablepwm:29,disadvantag:[162,358],disappear:250,disassembl:372,disburs:330,disc:[138,163],disc_mod:29,discard:[0,226,232,379],discchr:29,discdsc:29,discharg:[369,372,374],discon:29,disconnect:[24,29,54,59,60,115,133,211,250,255,268,344,363],discoveri:98,discrep:282,discsvr:29,discuss:[277,331,379],disguis:366,dish:381,disk:[130,249,250,318,320,369],disp:[29,121,127,177,208,212,269],disp_get_default:162,disp_get_hor_r:162,disp_get_ver_r:162,disp_set_bg_color:[212,220],dispatch:381,displac:2,displai:[2,9,10,36,77,78,79,89,104,115,127,138,163,165,167,171,178,184,189,190,195,202,212,220,243,249,253,268,269,273,283,293,319,326,334,339,356,358,363,367,376,378,379,405],display_str:171,dist:[162,330],dist_px:162,distanc:[136,162,222,227,234,256,265,266,267,358],distinguish:[58,253,272,293,360,378,379],distort:358,distribut:[134,162,257,269,379,381],district:108,divid:[0,53,105,162,169,170,195,212,220,221,253,254,293,300,303,323,378,379],divis:[2,105,185,186,187,221,234,253,255,293,300,378,379],djtr:[257,292],dl:[320,354],dlfcn:379,dll:[302,369,379],dma1_channel1_irqhandl:255,dma1_it_tc1:255,dma:[238,253,268,289,293,300],dma_clearflag:255,dma_clearitpendingbit:255,dma_cmd:255,dma_getitstatu:255,dn:[52,115,238,268],dnp:6,dns_index:29,doc:[68,162,247],dock:[268,336,352,407],document:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,116,117,118,119,120,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,141,145,149,152,158,162,163,164,167,169,170,171,172,173,174,175,178,179,180,181,182,184,185,186,187,189,190,191,192,193,195,196,197,198,200,201,202,203,204,205,208,209,212,214,217,218,220,221,224,233,234,237,248,250,255,257,271,272,273,292,293,301,307,311,312,314,315,318,326,345,348,350,351,355,369,379],doe:[4,13,15,26,28,29,30,34,36,39,64,66,67,68,78,79,86,89,91,94,96,98,102,103,105,106,109,115,118,121,123,128,130,131,132,136,162,191,192,193,207,211,221,234,248,253,254,265,266,268,269,272,273,275,284,289,293,296,301,310,313,314,315,318,319,325,330,332,335,336,339,348,352,353,356,363,378,379,381],doesn:[25,210,253,293,379],dofil:[168,303],dog:[5,43,132,179,201,325],dolor:162,domain:[24,54,57,58,60,95,115,210,268,284,379],domain_nam:54,domest:39,domin:[250,254,299],don:[10,13,59,72,91,94,112,115,162,166,203,204,205,212,220,248,269,292,293,301,302,305,314,315,320,348,356,358,363,378,379],donald:277,done:[1,27,29,107,162,169,212,220,269,285,294,304,378,379,380],doom:272,door:360,dormanc:119,dormant:[211,372],dot:[36,127,162,171,178,212,214,220,327,379],doubl:[89,101,136,162,214,243,248,249,250,301,302,311,318,320,369,378,379],double64:334,down:[1,13,21,23,29,31,103,121,138,163,177,189,199,208,211,212,221,226,232,238,248,250,251,254,255,266,268,272,277,284,300,301,319,326,332,340,356,358,360,363,369,372,376,379,381],downgrad:250,downlink:94,downlinkb:94,downlinkgb:94,download:[14,18,19,24,72,103,104,162,166,169,203,204,205,207,210,212,217,220,222,224,225,227,231,234,235,238,246,249,253,257,264,266,267,268,271,274,284,289,292,293,299,302,307,308,309,311,314,315,319,320,321,347,354,360,385,395,407],downstream:94,downward:358,dp:[79,238,251,254,255],dp_puup:251,dpi:162,dr:[253,293],draft:[325,326,327,328,329,330,332,333,334,335,336,340,341,342,343,344],drag:[162,250,322,369],drain:[238,300,340],draw2lcd:29,draw:[29,93,127,136,162,166,178,212,220,250,268,334,358],draw_al:127,draw_lower_left:127,draw_lower_right:127,draw_mask_:162,draw_mask_fade_init:162,draw_mask_fade_param_t:[29,162],draw_mask_fade_param_t_fre:29,draw_mask_line_param_t:[29,162],draw_mask_line_param_t_fre:29,draw_mask_line_points_init:162,draw_mask_line_side_top:162,draw_mask_radius_init:162,draw_mask_radius_param_t:[29,162],draw_mask_radius_param_t_fre:29,draw_upper_left:127,draw_upper_right:127,drawbox:29,drawbuttonutf8:[29,268],drawcircl:[29,178,212,220],drawdisc:29,drawdrcod:29,drawellips:29,drawfilledellips:29,drawfram:29,drawglyph:29,drawgtfontgb2312:29,drawgtfontgb2312grai:29,drawgtfontutf8:29,drawgtfontutf8grai:29,drawlin:[29,111,178,212,220,293,334],drawn:[162,381],drawpixel:29,drawpoint:29,drawqrcod:29,drawrbox:29,drawrect:[29,334],drawrectangl:[29,178,212,220],drawrfram:29,drawstr:[29,127,171,212,220,334],drawtriangl:29,drawutf8:29,drawxbm:29,drawxxx:10,drink:[314,315,320],drive:[29,54,66,73,78,79,111,121,127,162,165,171,177,207,208,212,220,238,249,253,267,268,272,284,289,293,318,369,385,401,405],driven:[73,178,212,220,379,393],driver:[10,29,54,79,89,103,121,138,162,164,171,178,191,192,193,207,212,220,243,248,253,254,268,269,284,289,293,300,301,311,318,360,369,385,394,398,404],driver_usart:318,drop:[21,138,163,221,238,248,250,301,358,361,372,375,376,379],dropdown:[138,163],dropdown_:162,dropdown_add_opt:162,dropdown_cr:162,dropdown_dir_left:162,dropdown_down:162,dropdown_get_selected_str:162,dropdown_open:162,dropdown_part_list:162,dropdown_part_main:162,dropdown_part_scrlbar:162,dropdown_part_select:162,dropdown_set_dir:162,dropdown_set_opt:162,dropdown_set_show_select:162,dropdown_set_symbol:162,dropdown_set_text:162,drum:162,drv:[29,190],drxcycl:94,ds18b20:[29,72,212,311],ds18b20_temp:72,ds3231:54,ds3231_read_tim:49,ds:354,dsp:[211,294],dst:[24,72,107],dtick64:[29,182],dtick64data:182,dtick64r:182,dtimer:[103,226,232],dtimercheck:29,dtimerstart:[29,184],dtimerstop:[29,184],dtimerwkid:29,dtl:268,dtp:29,dtr:[218,250],dual:[27,73,94,211,253,273,289,293,300,366,374],duck:277,due:[26,40,41,42,44,46,47,48,49,51,53,55,56,57,59,61,62,63,64,65,66,67,69,70,71,74,75,76,77,80,82,83,84,117,233,250,255,269,272,273,289,358,360,369,378,379],dui:162,duino:213,dummi:[162,379],dump:[29,162,168],dup:95,duplex:[66,117,191,192,193,195,196,197,198,212,220,253,293,342],duplic:[95,162,268,381],dupont:[250,292],durat:[21,67,94,103,109,122,125,132,162,182,201,277,333],dure:[1,21,24,26,30,39,66,73,99,106,125,128,162,173,174,175,201,207,212,220,221,255,268,272,284,289,318,360,369,379,382],dust:54,duti:[29,98,105,185,186,187,212,220],duty_oneeighth:37,duty_onefifth:37,duty_onefourth:37,duty_onehalf:37,duty_oneseventh:37,duty_onesixth:37,duty_onethird:37,duty_stat:37,dvp:289,dynam:[6,26,55,117,131,136,162,221,268,369,378,379],e4:292,e5:292,e6:292,e7:292,e8:292,e9:292,e:[1,10,53,85,94,117,134,162,168,179,212,218,220,255,266,277,314,315,318,320,348,354,378],ea:162,eabi:318,each:[10,16,23,26,29,36,54,71,94,95,111,127,162,178,202,203,204,205,210,212,214,218,220,238,243,253,254,255,272,293,314,315,319,336,337,354,356,363,372,374,376,378,379,381],earfcn:[29,94],earli:[248,254,284,289,301],earlier:[212,220,269,378,379],eas:379,ease_in:89,ease_in_out:89,ease_out:89,easi:[29,104,115,121,162,250,289,305,306,335,336,367,379,381],easier:[162,268],easili:[250,327,336,358,377,378,379],east:[39,58,96,108],eat:378,ec11:54,ec11_callback:50,ec616:247,ec616_0h00:316,ec618:[0,1,16,21,89,91,94,102,103,108,207,269,272,274,292,293,318,319],ec618_lua_lod:277,ecb:[6,20,268],ecdh:275,ecdsa:275,ecg:162,echo:[133,361,372,375],eci:29,ed:162,eda:[221,267],edg:[21,36,127,136,138,163,284,289,293,300],edit:[72,162,168,207,208,269,286,349,351,373,376,385],editor:[210,318],edrx:96,edx:96,eeprom:[18,26,196,197,198],ef17:[196,197,198],ef4018:[212,220],ef:[196,197,198,378],effect:[50,91,94,102,103,115,136,138,163,165,167,177,184,188,208,212,220,235,255,266,268,277,293,300,305,318,349,351,360,366,376,379],effect_match:268,effici:[39,162,211,212,248,250,255,268,301,355,377,381],egg:356,eigenvalu:98,eight:[162,379],eighth:108,eink1:395,eink:[29,121,212,269,273,294,296,319,339,394],einkbook:394,either:[162,217,293,347,353,379],eiusmod:162,elaps:379,electr:[211,237,293,358,360,363],electrochem:54,electrolyt:221,electron:[169,212,220,393,395],eleg:305,element:[18,138,163,266,378,379],elev:39,elf:318,elig:378,elimin:[21,35,248,268,379],elit:162,ellips:127,ellipsoid:39,ello:378,els:[13,15,26,27,30,39,48,50,59,90,93,103,117,122,162,165,166,191,192,193,203,204,205,212,213,214,220,304,325,329,333,336,378,379,381],elseif:[25,87,162,378,379,381],elsewher:[162,379],email:104,emb:211,embed:[162,212,243,255,277,344,355,377,378,379],emerg:94,emergency_regist:94,emit:268,emot:339,emphas:221,empti:[1,3,11,14,16,18,20,31,68,77,89,91,94,101,109,120,127,128,135,136,162,177,208,212,220,250,255,268,272,293,330,334,378,379],emptyselectionclipboard:210,emtri:89,emul:[89,214,253,293,355],en:[29,162],enabl:[0,1,10,18,21,29,35,66,73,96,103,115,117,127,132,134,162,169,171,177,199,208,210,214,234,238,250,251,253,257,268,269,271,272,293,348,349,351,358,360,363,376],enbid:29,encapsul:[29,121,171,178,180,181,182,196,197,198,212,220,282,303,323,331,352,378,379,381],enclos:[378,379],encod:[6,13,15,18,25,28,29,30,39,54,58,68,94,96,99,101,108,114,118,120,123,129,133,134,162,166,170,189,212,220,268,327,379],encodestr:29,encount:[31,94,109,115,162,210,221,255,268,284,326,378,379,381],encrypt:[19,20,24,29,32,55,59,60,95,115,121,133,170,237,257,260,268,275,293,344],end:[0,1,3,6,8,10,11,12,13,14,15,16,18,21,23,24,25,26,27,28,30,31,35,37,39,40,41,42,43,44,45,46,47,48,49,50,51,53,56,57,58,59,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,82,83,84,86,87,89,90,92,93,94,95,96,98,100,101,103,104,105,106,107,110,111,112,114,115,116,117,118,122,123,124,126,128,133,134,135,136,162,165,166,169,171,172,173,174,175,179,180,181,182,185,186,187,190,191,192,193,195,196,197,198,200,201,202,203,204,205,212,220,221,238,250,254,255,268,269,272,275,293,300,303,318,321,322,325,333,336,340,342,343,344,346,348,349,351,358,360,369,372,373,378,379,380,381,382],end_angl:162,endian:[28,54,101,115,117,128,130,136,379],endif:[162,214],endless:330,endpoint:255,endswith:29,endur:211,energi:[66,103,165,211,255,374],engin:[162,249,251,297,355,378,393,395],english:[72,127,162,185,186,187,196,197,198,210,268,271,293,319,326,363,376],enhanc:[124,243,253,255,293],enim:162,enjoi:377,enlarg:[1,128,162],enodeb:94,enough:[4,13,26,94,107,115,117,128,130,162,212,220,285,294,314,335,378,379],ensur:[11,26,117,162,212,220,221,238,255,269,285,294,318,369,372,379],ent:29,enter:[10,13,28,31,63,71,72,94,96,103,106,109,135,162,166,184,207,213,214,218,221,226,232,235,255,272,284,285,289,302,310,311,314,315,318,320,324,326,337,338,345,354,356,358,360,369,372,373,376,378,379,381],enterpris:[162,384],enthusiasm:379,entir:[14,18,30,113,135,136,162,177,201,208,221,238,269,273,305,378,379],entireti:379,entiti:[30,81,324,337,345],entranc:221,entri:[86,87,89,168,212,312,330,378],entries_can:379,enumer:[30,162,251,254,268,379],env:[14,168,172,317],environ:[57,91,168,208,209,212,217,224,249,250,253,268,293,299,302,313,318,319,352,355,372],environment:165,envisag:[323,335],eoc:255,eof:106,eol:355,ep:[29,94],ep_ctr_rx:255,ep_ctr_tx:255,ep_id:255,epat:268,ephemer:266,ephemeri:[271,293],epindex:255,epoch:379,eq:379,equal:[18,91,127,136,162,212,220,251,254,378,379],equip:[0,27,36,83,84,91,131,138,141,149,152,158,163,195,197,211,212,220,250,255,266,284,293,344,356,358,360,363,366,367,369,373,374,376],equival:[9,10,12,14,18,73,92,94,96,102,128,136,250,326,335,353,378,379,381],eras:[14,18,29,177,191,192,193,199,208,248,253,268,293,354,372],erasetimeout:255,erasewrit:29,erp:319,err:[13,34,166,336],errdump:[29,121,268],errio:30,errno:379,error:[0,1,2,3,4,5,6,7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,86,87,88,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,168,169,172,173,174,175,179,191,192,193,196,197,198,212,217,220,253,255,267,268,293,304,305,318,342,343,354,356,363,374,381],error_cod:[26,117,123],error_handl:214,errstop:29,ersrq:96,es7149:27,es8311:268,esc:285,escap:[120,379],esd:[221,250],esp32:[98,102,134,284,285,286,289,290,293,349,351,355,385],esp32_download:354,esp32c2:[106,296,320],esp32c3:[0,2,5,6,9,10,13,14,15,17,18,19,21,24,25,26,28,30,32,33,34,36,39,72,81,85,86,87,89,90,91,93,95,98,101,103,104,105,106,107,108,109,111,113,115,117,119,120,121,122,124,127,128,131,132,133,134,135,136,207,282,285,287,293,296,310,319,320,355,385,394,405],esp32c3_lua_lod:207,esp32s2:106,esp32s3:[0,2,5,6,9,10,13,14,15,17,18,19,21,24,25,26,28,30,32,33,34,36,39,72,81,85,86,87,89,90,91,93,95,98,101,103,104,105,106,107,108,109,111,113,115,117,119,120,121,122,124,127,128,131,132,133,134,135,136,207,291,292,293,319,320,355],esp32s3_lua_lod:207,esp:[102,103,292,320],especi:[117,268,277,379],esphttp:336,esphttp_evt:336,espressif:[292,320],esptouch:[134,257],esptouch_v2:134,ess:[26,162],essenc:309,essenti:[162,331],est:162,establish:[95,98,115,133,134,314,315,381],estim:319,et:162,etc:[0,86,87,102,103,117,128,135,136,162,221,255,268,305,311,319,326,347,355,356,363,374,378,379,381],eth0:[19,95,115,123,131,133],ethernet:[29,115,121,268,294],eu:162,ev:379,evalu:[29,121,379],evb:[228,258],evb_air601:258,even:[4,103,128,162,170,266,331,339,343,356,363,378,379],event:[27,29,39,60,87,89,95,103,115,122,123,130,133,138,163,177,202,206,208,212,220,253,266,268,293,324,337,344,345,348,379,380,381,382],event_appli:162,event_cancel:162,event_click:162,event_delet:162,event_handl:162,event_insert:162,event_long_press:162,event_long_pressed_repeat:162,event_on_data:336,event_press:[89,162],event_press_lost:162,event_releas:162,event_send:29,event_short_click:162,event_value_chang:162,eventu:72,everi:[11,21,72,162,248,255,301,312,314,315,320,333,378,379,380,384],everyon:[162,171,250,277,383],everyth:[162,318,378,379],evok:382,evt:344,evt_ap_associ:344,evt_ap_disassoci:344,evt_ap_start:344,evt_ap_stop:344,evt_readi:344,evt_scan_don:344,evt_scan_report:344,evt_sta_connect:344,evt_sta_connected_fail:344,evt_sta_disconnect:344,ex:[104,162,166,207,212,302,318,322,354,369,379],exact:379,exactli:[96,125,305,360,369,379],examin:379,exampl:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,163,166,170,172,178,207,209,212,213,214,220,248,251,254,255,266,269,272,285,301,304,305,311,312,314,315,320,323,333,334,336,339,348,352,354,358,363,372,378,379,380,381,382,384,388,391,393,395,398,401,404,407],example_h:214,example_l:214,exce:[16,91,94,100,107,109,125,128,130,136,169,212,220,221,253,269,293,379,381,382],exceed:[212,220,238,271,293,358,363,372,373,376],except:[6,11,16,24,60,103,115,162,212,220,253,262,268,284,293,348,372,378,379],excepteur:162,excerpt:381,excess:[369,378,379],exchang:[369,378],exclud:[36,162],exclus:[5,66,247,264,379],exec:[29,119],execut:[5,14,18,21,31,58,66,72,99,103,118,119,122,125,136,168,169,196,197,198,200,201,255,268,285,293,304,305,311,314,315,321,322,325,326,330,333,348,369,378,381,382],exercis:378,exercit:162,exhaust:376,exist:[2,14,18,25,28,29,34,39,96,102,118,129,136,162,172,191,192,193,208,212,220,226,232,255,268,304,309,310,314,315,318,320,324,327,330,334,337,345,348,352,358,360,378,379,381],exit:[11,60,94,96,124,162,168,207,285,325,326,331,373,376,378,381],exit_failur:379,exit_success:379,exp1:379,exp2:379,exp:168,expand:[4,115,128,130,136,162,250,305,314,315,379],expans:[136,208,243,269,271,289,293,320,349,351,379],expect:[162,212,220,255,327,349,351,379],expens:372,experi:[162,304,326],experiment:379,expir:333,explain:[318,349,350,363,376,379,381],explan:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,212,220,271,293,348,379],explicit:[379,381],explicitli:[162,348,379],explist:379,explor:[210,379],expon:379,exponenti:[93,379],expos:[162,303,323],exposur:380,expr:214,express:[35,165,168,324,337,345,378],ext:[162,326],extend:[23,29,33,63,121,223,228,268,324,337,345,349,351,379],extens:[54,339,378,379,382],extent:378,extern:[1,16,31,33,72,89,91,98,103,115,123,138,163,165,169,190,214,217,221,224,238,243,248,249,250,251,253,254,265,266,267,269,272,277,282,287,293,323,326,328,340,341,342,343,347,358,363,372,378,379,380,381],exti:29,extinguish:[185,186,187],extra:[4,22,127,162,333,379],extra_param:347,extract:[115,162,212,220,255,378],extramsg:379,extranet:115,extrem:[94,103,212,260,277,321],f01122334455:134,f103:[253,254],f1:[162,168,277],f2:168,f32:136,f5:[29,54],f64:136,f:[10,27,30,34,101,110,136,168,212,220,277,348,352,378],face:211,facil:[324,337,345,379],facilit:[372,378,379,383],fact:[162,171,212,220,267,340,378],factor:[39,162,379],factor_:379,factor_of:379,factori:[94,221,248,249,284,289,292,294,301],fade:[29,162],fail:[0,1,2,4,6,13,17,20,24,26,28,30,34,38,45,48,57,68,74,81,89,90,91,93,94,95,103,104,106,107,111,115,117,120,123,128,134,136,166,191,192,193,207,253,257,268,284,289,293,304,305,314,315,320,329,333,344,379,382],failur:[1,4,7,9,13,16,19,24,28,29,30,34,40,46,59,60,94,99,105,111,112,115,121,123,126,127,128,135,137,255,266,268,305,318,319,344,348,379],fake:[250,268,360],fal:[14,172],fall:[21,31,358,379],fals:[1,2,3,4,6,7,8,10,11,13,14,16,17,18,20,21,22,25,26,30,31,32,33,36,37,39,57,60,63,67,68,72,86,87,88,89,90,91,93,94,95,96,97,98,100,103,105,106,107,108,110,111,112,113,114,115,117,120,122,124,126,127,130,132,133,134,135,136,137,162,172,191,192,193,203,204,205,207,210,272,304,369,372,378,379,381,382],famili:[196,197,198],familiar:[91,177,208,314,315,383],fanci:374,faq:[217,253,291,293,356],far:[238,355,378],fast:[12,26,40,41,42,44,45,46,48,49,51,53,56,61,62,65,68,69,70,75,76,80,92,107,162,173,174,175,211,212,220,238,253,277,292,293,300,356,358,363,366,372,373,376],faster:[162,210,250,269,366],fastest:221,fastlz:[29,121,137,268],fat32:352,fatal:[85,268,318,379],fatf:[29,110,121,166,268,328,352],fault:[94,253,293],favor:356,favorit:213,fb803786602df760:32,fbd:172,fd:30,fdb:[18,29,112,121,177,208,268,293,296],fdb_kv_set_blob:14,fdd:265,fdev:[86,87],feasibl:269,featur:[98,106,162,170,171,184,189,190,195,202,212,220,223,228,238,245,250,251,268,269,272,273,293,323,324,337,345,348,369,379],feature_xxx:348,februari:162,fed:268,feed:[29,43,106,162,179,201,325,360,378,379],feed_dog:54,feedback:[24,106,162,275,384],feel:[162,323,378],feet:[37,103,221,262,294],feichuang:264,feishu:268,felt:378,feng:379,feof:331,ferror:331,fetch:[268,334,379],few:[99,162,212,220,250,294,303,360,378,379],ff0000:162,ff00ff:162,ff01:98,ff02:98,ff03:98,ff31:98,ff32:98,ff:162,fff1:98,fff2:98,ffffffff:[347,354],ffmpeg:166,fft:293,fg_color:29,fi:[260,385],field:[37,68,96,162,165,255,335,349,351,379],fieldlist:379,fieldsep:379,fifo:[253,293,300,381],fifth:[57,378,379],figueiredo:379,figur:[5,196,197,198,202,212,213,214,220,238,248,249,250,255,267,301,358,360,369,378],file:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,18,19,20,21,22,23,24,25,26,27,29,30,31,32,33,34,35,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,116,117,118,119,120,121,122,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,163,167,168,177,194,196,197,198,207,208,210,211,212,213,217,220,224,229,237,247,248,250,255,264,266,268,269,274,285,287,293,294,301,302,306,309,311,312,314,315,318,319,322,323,324,325,327,331,334,337,339,345,347,349,350,351,354,369,380,394],file_cnt:166,file_don:135,file_no:1,file_path:[29,54],file_s:166,file_tld:[349,350],file_tld_t:346,filenam:168,files:29,filesystem:331,fill:[0,1,7,8,18,19,20,26,29,32,35,45,57,58,59,68,69,72,86,94,95,98,115,116,117,118,127,130,133,162,166,253,268,272,274,293,304,330,334,348,354,378,379],film:[66,272,292,358],filter:[54,92,98,103,138,163,221,238,253,268,293,379],filter_match:92,filter_polici:29,fin:29,find:[13,115,162,166,168,191,192,193,207,210,212,214,220,229,248,250,292,293,301,304,354,360,363,381],finder:379,fine:[31,128],finish:[1,29,119,212,307,310,379],fint2:162,fire:379,firmwar:[0,5,6,10,15,29,36,39,64,66,94,98,102,103,106,112,115,120,121,129,134,162,208,209,220,221,222,225,227,231,234,235,238,246,248,249,253,255,259,263,265,266,271,274,275,284,285,289,291,293,296,301,304,306,312,313,318,319,346,349,350,351,352,354,356,363,380,384,385],first:[1,10,13,18,21,25,30,36,37,57,91,94,95,99,101,103,111,127,136,145,162,165,166,169,173,174,175,180,181,182,196,197,198,207,212,218,220,221,238,248,250,253,254,266,268,269,272,285,289,293,304,305,320,335,341,346,348,353,358,360,363,372,376,379,380,381,382,393],first_exp_until:379,first_y_that:379,firsttck:182,firsttick:182,fit2:162,fit4:162,fit:[138,163,211,314,315,377],fit_:162,fit_max:162,fit_non:162,fit_par:162,fit_tight:162,five:[136,162,289,379],fix:[8,12,13,16,21,35,39,94,98,116,123,162,203,204,205,238,250,255,257,268,272,283,304,320,327,330,335,348,349,350,352,356,358,361,363,374,375,376,379,391],fix_qual:39,fix_typ:39,fixlen:[86,87],fixtur:221,fl:[347,354],flaaap:379,flag1:29,flag2:29,flag:[29,54,60,68,135,179,253,268,293,344,354,378],flah:[212,220],flash:[4,15,16,18,29,67,117,121,138,163,172,177,190,194,195,199,207,208,209,213,214,218,224,234,238,243,248,249,253,254,260,268,269,273,277,282,287,289,293,294,296,300,301,311,319,328,352,354,355],flash_c:284,flash_ck:284,flash_d0:284,flash_d1:284,flash_eraseoptionbyt:[253,293],flash_spi_mast:255,flash_spi_rx_dma_channel:255,flash_spi_tx_dma_channel:255,flash_waitforlastoper:255,flashdb:[14,172,294],flasher:285,flashtool:274,flat:277,flex:162,flexibl:[162,254,300,378,381],flicker:[138,163],flight:[67,94,96,103,162,266],flip:[36,254,379],float32:334,floor:168,flow:[71,381],flower:268,fluctuat:125,fluenci:369,flush:[10,29,168,352],fly:[162,212,268,294],flymcu:255,flymod:[29,67],fmod:168,fmt:[29,168],fn:[29,379],fname:379,focal:388,focu:[138,163,266],focus:[138,163],fold:29,folder1:162,folder:[30,135,207,210,212,214,220,248,268,285,301,314,315,321,322,324,337,345,348,352,380],follow:[12,15,16,18,21,26,30,57,59,68,72,73,95,96,98,99,101,102,106,107,115,124,127,134,136,162,165,169,172,173,174,175,179,180,181,182,185,186,187,191,192,193,196,197,198,200,201,203,204,205,210,212,217,220,221,238,248,249,250,254,255,266,268,269,273,275,284,289,293,301,302,304,305,311,314,315,318,320,321,322,330,331,335,336,339,348,349,351,353,358,360,363,369,373,374,375,378,379,380,381],following_keywords_ar:379,font:[29,121,138,163,171,178,212,220,268,312,390,395],font_32:89,font_:36,font_data:339,font_data_count:339,font_fre:29,font_get:[29,162],font_info:162,font_load:[29,162],font_map:339,font_open_iconic_weather_6x_t:[10,36],font_opposansm10:[10,36,127],font_opposansm10_chines:[10,36],font_opposansm12:[10,36,127],font_opposansm12_chines:[10,36,127,319],font_opposansm14_chines:10,font_opposansm16:[10,36,127],font_opposansm16_chines:[10,36,127,212,220],font_opposansm18:[10,36,127],font_opposansm18_chines:[10,36],font_opposansm20:[10,36,127],font_opposansm20_chines:[10,36],font_opposansm22:[10,36,127],font_opposansm22_chines:[10,36],font_opposansm24:[10,36],font_opposansm24_chines:[10,36,127],font_opposansm32:[10,36,127],font_opposansm32_chines:[10,36,127],font_opposansm8:[10,36,127],font_opposansm8_chines:[10,36],font_unifont_t_symbol:[10,36,127],font_w:339,font_xxx:36,fontfamili:210,fontnam:162,foo:[379,381],foot:[86,117,131,221,284],footprint:[3,109,162,369,377],fopen:331,forc:[2,29,60,115,134,136,162,168,266,268,348,358,360,363,372],force_all_raw_block:92,force_all_static_block:92,force_br:347,force_level:29,forcibl:[135,268],fore:29,foreground:[36,162],foreign:385,forev:[124,379],foreword:[138,164,167,253,293],forget:[162,212,220],form:[4,24,31,36,57,59,96,102,128,130,133,134,136,138,163,274,326,331,335,349,351,353,378,379,382],form_g:106,formal:[162,379],formaldehyd:54,format:[1,2,4,6,20,28,29,30,39,48,79,84,99,106,107,109,114,115,121,130,138,163,168,172,173,174,175,191,192,193,212,243,247,267,269,271,293,326,335,348,349,350,351,352,354,381],format_len:347,formatstr:[168,378],former:326,formula:[173,174,175,212,220,378],forth:162,forum:[162,355],forward:[39,136,376,379],fota:[24,29,54,121,123,260,268,269,274,385],fota_cb:269,fotademo:269,fotadon:16,found:[6,14,25,169,172,190,195,196,197,198,200,202,203,204,205,207,212,220,255,269,272,307,309,314,315,318,320,356,374,378,379,381,382],foundat:[138,163,209],four:[36,39,66,127,162,173,174,175,196,197,198,250,255,356,360,363,372,378,379],fourth:[57,173,174,175,378,379,381],fpc:388,fps16hz:93,fps1hz:93,fps2hz:93,fps32hz:93,fps4hz:93,fps64hz:93,fps8hz:93,fraction:[5,162,379],fragment:[16,114,115,120,379],frame:[63,66,93,127,133,212,220,334,379],framebuff:[36,136,162,334],frametab:66,framework:[123,168,209,344,355,369,379],fread:331,free:[13,36,162,221,250,268,319,327,369,379],free_count:329,free_kb:13,free_sector:13,freed:379,freeli:[211,358,369,372,379],freerto:[255,293,323,329,330,381],freertosconfig:255,freestrong:344,freq:29,freqhopon:[86,87],frequenc:[1,4,5,8,13,27,36,66,73,78,86,87,91,105,111,113,162,165,166,177,183,185,186,187,208,211,212,220,221,224,229,237,238,250,253,254,255,260,267,277,287,289,293,299,300,341,342],frequent:[94,202,203,204,205,212,220,318],fresh_rat:29,frexp:379,friend:[285,394],friendli:[38,212,330,355,379],from:[0,1,4,8,10,15,16,20,26,30,31,36,39,66,89,94,95,98,103,104,106,110,111,113,115,117,118,122,127,128,133,136,138,163,169,170,179,185,186,187,203,204,205,207,211,217,220,221,226,232,238,243,247,250,253,254,257,266,268,272,273,277,293,294,300,302,304,306,318,320,321,322,325,326,327,331,334,335,339,346,352,354,356,358,363,366,369,378,379,380,381,382],frombase32:29,frombase64:[6,29],fromcod:29,fromhex:[8,29,98,107,131,134,268,353],fromidx:379,front:[21,162,342,360,378,379],fruit:162,fs:[29,30,113,121,166,191,192,193,212,220,347,352],fs_addr:347,fseek:331,fsize:[29,30,166,212,220],fskv:[29,112,121,268],fsstat:[29,113,191,192,193,212,220],ftp:[29,121,268,273,275],ftp_login:19,fugiat:162,full:[11,27,29,31,60,66,99,115,117,127,128,162,168,177,194,195,199,206,207,208,209,212,213,220,243,247,250,253,266,268,269,289,293,302,313,321,322,333,339,342,348,349,351,352,369,384,393],fullclean:320,fulli:[162,211,212,220,238,243,268,311,348,356,367,372,374,379],fun:[29,344,381],func:[29,212,220,335,379],funcbodi:379,funcindex1:379,funcindex2:379,funcindex:379,funclist:378,funcnam:168,function_:379,function_given:379,functioncal:379,functiondef:379,functionon:378,functions_:379,fundament:277,funni:381,further:[162,361,375],futil:[314,315,320],futur:[91,122,328,347,379],fuzzi:311,fwqltvqo:384,g0:277,g:[29,34,66,76,117,162,212,220,255,260,277,314,315,318,348,378,379,380],ga:83,galileo:211,gap:[66,127,379],garbag:168,garbl:[234,293],gatewai:[29,115,344],gaug:[138,163],gauge1:162,gauge_cr:162,gauge_part_main:162,gauge_part_major:162,gauge_part_needl:162,gauge_set_angle_offset:162,gauge_set_critical_valu:162,gauge_set_needle_count:162,gauge_set_needle_img:162,gauge_set_rang:162,gauge_set_scal:162,gauge_set_valu:162,gb2312:[28,36,127,339],gb:94,gbk:268,gbr:165,gc032a:[294,395],gc032a_initreg:3,gc9106l:36,gc9306:[220,268,294,404],gc9306x:36,gc9a01:36,gc:268,gcc:[302,318,321],gcc_mcu:318,gcc_path:318,gcj02:[39,58],gcm:275,gdma:289,gear:[356,361,363,369,375],gener:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,29,30,31,33,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,162,166,180,181,190,212,214,220,238,243,248,253,266,269,274,277,282,289,293,294,300,302,305,314,315,320,321,322,323,325,326,327,330,336,339,342,348,354,363,372,378,379,385],genrsa:107,genuin:255,geograph:266,geomagnet:54,gestur:211,get:[1,6,10,12,13,14,15,16,17,23,24,25,27,29,30,36,38,39,40,41,42,44,46,47,48,52,54,56,59,61,62,64,65,66,70,75,76,80,83,85,88,89,91,92,93,94,96,98,99,109,111,115,123,127,128,134,136,138,163,166,168,170,172,177,183,189,191,192,193,207,208,212,214,224,250,255,268,289,293,304,305,314,315,319,321,327,329,330,331,334,336,340,344,348,355,358,378,379],get_accel:54,get_cell_period:29,get_data:54,get_device_t:113,get_gyro:54,get_left_valu:162,get_lux:54,get_mag:54,get_numb:123,get_pressed_d:162,get_rgb:54,get_select:162,get_selected_str:162,get_stat:162,get_temp:54,get_temperatur:54,get_text:162,get_val:54,get_vdd:29,get_xxx:162,getaht10data:[173,174,175],getapinfo:344,getapnet:344,getband:29,getbootcfun:29,getc:331,getcellinfo:[29,123],getclk:[29,180,181,182],getdevic:29,getdevicenum:[29,212,220],getdevicet:[29,191,192,193,212,220],getdisplayheight:29,getdisplaywidth:29,getedrx:29,getedrxptw:29,getenv:168,geterror:29,getfre:[29,166],getgga:29,getgll:29,getgsa:29,getgsv:29,gethook:168,getinfo:[29,168,344],getintloc:[29,268],getip:29,getjionapinfo:344,getlevel:[29,179],getloc:168,getloccb:57,getmac:29,getmetat:168,getnumberlist:378,getpm_10:54,getpm_1:54,getpm_2_5:54,getppb:54,getppm:54,getpsm:29,getpw:344,getraw:29,getregistri:168,getrmc:29,getrssi:344,getsiz:29,getstanet:344,gettable_ev:379,gettxt:29,gettz:29,getupvalu:168,getuservalu:168,getvtg:29,getwin:29,getzda:29,gga:39,gif:29,gif_creat:29,gif_restart:29,gift:282,girlfriend:165,git:[268,304,306,312,314,315,316,317,318,320,321,345],gite:[11,36,207,214,225,231,247,248,269,273,277,312,313,314,315,317,318,320,348,349,351,352,369,386,394,396,399,402],github:[104,172,191,192,193,213,250,292,302,316,318,320,348,352],gitignor:312,gitxxx:310,give:[4,94,162,168,221,275,304,330,360,378],given:[73,102,162,212,220,269,305,346,378,379],glb:379,gll:39,global:[106,122,124,162,168,255,304,329,331,369],glonass:211,glossari:[324,337,345],glow:[185,186,187],glu:162,glue:[138,163],glyph:162,gmatch:[168,378],gmssl:[29,121,268],gmtime:379,gnd:[66,169,173,174,175,185,186,187,191,192,193,196,197,198,202,203,204,205,218,220,238,250,284,289,292],gnss:[39,123,211,266,268,272,273],gnss_state:39,go:[0,10,71,162,207,212,226,232,243,250,270,284,289,305,326,356,360,363,369,372,374,378,379,381,406],goal:[18,26,324,337,345],god:[212,220,250,381],goe:[162,325],gold:250,gone:379,good:[210,221,238,250,266,268,293,319,378,379,384],goodgoodstudi:[14,18],googl:162,got:122,govern:[250,379],gp:[39,72,103,211,266,272,273],gpio02:284,gpio03:284,gpio04:284,gpio05:284,gpio06:284,gpio07:284,gpio08:284,gpio09:284,gpio0:[265,266,267,284,289],gpio10:[128,238,245,266,267,272,284,289],gpio11:[245,267,272,284,289,394],gpio12:[91,102,245,272,284],gpio13:[91,245,266,272,284],gpio14:[245,268,272,284],gpio15:[245,272,284],gpio16:[21,91,238,245,272,284],gpio17:[21,91,111,238,245,284],gpio18:[21,191,196,197,238,245,272,284],gpio19:[191,196,197,238,245,272,284,289],gpio1:[67,173,174,245,272,284],gpio20:[191,196,197,238,272,284],gpio21:[191,196,197,238,245,265,284],gpio22:[72,203,204],gpio23:[203,204,245,272],gpio24:272,gpio25:[1,272],gpio27:[21,72,265,266,267,272],gpio28:238,gpio29:[238,272],gpio2:[238,245,272],gpio30:[238,272],gpio31:238,gpio32:[205,238],gpio33:[205,238],gpio35:238,gpio36:238,gpio37:238,gpio38:238,gpio39:238,gpio3:245,gpio3uart0_rt:238,gpio40:238,gpio41:238,gpio44:[192,193,198,238],gpio45:[192,193,198,238],gpio46:[192,193,198,238],gpio47:[192,193,198,238],gpio49:238,gpio4:[67,91,94,173,174,245],gpio50:238,gpio51:238,gpio54:238,gpio55:238,gpio56:238,gpio57:238,gpio58:238,gpio59:238,gpio5:[91,238,245],gpio60:238,gpio61:238,gpio62:238,gpio63:238,gpio64:238,gpio65:238,gpio66:238,gpio67:238,gpio6:[50,91,238],gpio70:[175,238],gpio71:[175,238],gpio72:238,gpio73:238,gpio74:238,gpio75:238,gpio7:[50,91,238,245],gpio8:[238,245,272],gpio9:[238,245,272,284],gpio:[13,23,26,29,31,33,50,63,66,67,68,72,86,91,102,103,111,112,119,121,127,128,165,166,177,198,199,207,208,209,223,224,226,228,230,232,233,238,245,248,253,254,260,262,265,266,267,268,269,271,273,282,284,289,293,296,300,301,312,330,331,332,337,338,341,345],gpio_01:228,gpio_02:228,gpio_03:228,gpio_04:228,gpio_05:228,gpio_06:228,gpio_07:228,gpio_08:228,gpio_09:228,gpio_0:348,gpio_10:228,gpio_11:228,gpio_12:228,gpio_13:228,gpio_14:228,gpio_15:228,gpio_16:228,gpio_17:228,gpio_18:228,gpio_19:228,gpio_20:228,gpio_21:228,gpio_22:[212,220,228],gpio_23:[212,220,228],gpio_24:[212,220,228],gpio_25:[212,220,228],gpio_26:[212,220,228],gpio_27:[212,220,228],gpio_28:228,gpio_29:228,gpio_30:228,gpio_31:228,gpio_32:228,gpio_33:228,gpio_34:228,gpio_37:228,gpio_38:228,gpio_40:228,gpio_41:228,gpio_42:228,gpio_43:228,gpio_a:54,gpio_b:54,gpio_fal:340,gpio_forcepullupconfig:251,gpio_forcepupdcmd:251,gpio_init:301,gpio_inittypedef:214,gpio_invbit:301,gpio_l:214,gpio_mode_output_pp:214,gpio_pin_0:214,gpio_pin_8:251,gpio_pin_9:251,gpio_pinremapconfig:255,gpio_remap_swj_jtagdis:255,gpio_remap_swjjtagdis:255,gpio_ris:340,gpio_rising_fal:340,gpio_set:119,gpiob:[214,251],gpiod:301,gpr:[67,115],gps_ant:[103,266],gptxt:39,gpu:162,grab:[360,369],grad_dir_v:162,grade:[115,269],gradient:162,gradual:[220,269],graffiti:[32,54,268],grai:[29,162,327],gram:378,grammar:[209,294,379],grammat:379,grandpar:162,grant:379,granular:[191,192,193],grape:162,graph:[162,379],graphic:[29,121,162,212,220,306],grayscal:[3,36,162],great:250,greater:[33,63,81,91,92,94,122,127,136,220,333,358,363,373,376,378,379],greatli:[162,250,268,355,369],greedi:92,greedy_parsing_flag:92,green:[36,249],grid16:78,grid1:78,grid:[54,162],ground:[39,66,212,220,238,255,284,356],group:[31,162,212,214,218,225,231,243,247,248,255,301,331,349,351,360,363,372,379,394],grow:[162,379],gsa:39,gsm:[67,96],gsub:168,gsv:39,gt5slcd1e:22,gt5sucd2:390,gt911:54,gt911_i2c:54,gt911_int:54,gt911_re:54,gt911callback:51,gtfont:[29,36,121,127,268,296],guangdong:162,guarante:[57,66,109,269,300,379],guest:381,gui:[162,306],guid:[210,233,251,255,285,312,349,351],guidelin:379,gw:134,gyro:65,gyroscop:[54,65],gz:[25,379],h:[26,29,39,45,99,101,111,136,162,166,171,178,212,214,220,255,294,301,304,314,315,318,320,323,353,354,378,379],ha:[0,1,2,3,4,6,7,8,9,10,11,13,14,16,17,18,19,20,21,23,24,25,26,27,28,30,31,32,33,34,35,36,38,39,45,58,60,66,71,79,81,86,87,89,91,94,95,98,100,102,103,104,105,107,108,109,110,113,114,115,117,118,119,120,123,127,128,130,131,132,133,134,136,137,162,165,169,170,178,185,186,187,190,196,197,198,203,204,205,211,212,220,221,238,247,248,249,253,254,255,260,264,268,272,277,284,289,293,294,301,303,304,309,314,315,334,344,349,351,352,354,358,360,366,369,372,378,379,381],habit:[348,379],had:[166,379],hal:[217,254,293,331],hal_cortex_module_en:214,hal_delai:214,hal_flash_module_en:214,hal_gpio_init:214,hal_gpio_module_en:214,hal_gpio_togglepin:214,hal_inctick:214,hal_init:214,hal_ll:214,hal_module_en:214,hal_mspinit:255,hal_pwr_module_en:214,hal_rcc_module_en:214,half:[107,117,162,191,192,193,196,197,198,212,220,248,277,339,342,377,378],hall:300,halt:54,hand:[213,289,311,336,356,367,372,374,379],handheld:356,handl:[28,29,30,125,128,135,138,163,168,211,268,300,305,336,380],handler:[29,162,305,324,330,337,344,345,379,381],handler_on:379,handler_to:379,handshak:[60,268],hang:[29,121,255],hanlder:330,happen:[125,162,379],happi:5,happili:[349,351],hard:[5,125,177,208,243,369],hardfault:29,hardfault_handl:[214,255],hardwar:[1,21,26,29,31,36,64,66,71,73,91,100,103,109,115,117,121,126,127,128,131,162,165,176,177,183,188,194,199,206,208,217,224,229,237,242,246,247,253,254,259,260,263,266,268,271,272,280,282,287,291,293,294,299,300,324,331,333,337,345,352,374,388,391,393,395,398,401,404,407],harmless:306,has_more_input:92,has_n_el:379,hash:[20,29,121,170,268],hash_finish:29,hash_init:29,hash_upd:29,hashjeremi:394,hashresult:6,have:[9,10,31,36,71,72,86,94,98,101,102,106,115,128,131,134,136,162,185,186,187,191,192,193,210,212,248,250,254,255,265,266,268,273,284,285,289,293,301,304,311,318,319,320,331,352,353,354,355,356,372,378,379,380,383],haven:[72,165],hclk:251,hcode:29,hd:10,hdiv_num:162,hdop:39,he:[217,220,378,393],head:[30,39,66,70,120,136,326,334,346,356,358,363,366,372,373,376,379,381],headach:72,header:[25,29,92,162,191,192,193,217,293,304,305,323,336,346,379,381],header_tld:[349,350],header_tld_t:346,headingdegre:70,heap:[36,268,329],heap_4:329,heard:268,heart:[29,121,211],heartbeat:[55,95,115,268,333],hebrew:162,heet:339,height:[3,29,36,39,89,127,138,163,327,378],held:[162,367,372,374],hello:[209,210,213,277,378,379],helloworld:[138,163],help:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,116,117,118,119,120,122,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,163,212,220,251,255,266,311,319,349,351,372],helper:379,henc:379,henriqu:379,here:[0,4,11,16,39,57,103,107,115,123,134,162,165,166,178,191,192,193,196,197,198,207,210,212,213,214,220,248,250,266,269,285,293,301,304,305,314,315,318,319,321,330,331,334,337,349,350,351,356,358,363,367,369,378,379,380,381,382,391],here_x_and_y_ar:379,here_x_cannot:379,here_x_i:379,herebi:268,heshuo:231,heterogen:[211,379],hex:[6,12,20,29,91,92,107,127,134,170,202,224,225,250,255,346,349,350,354],hexadecim:[35,57,91,128,134,162,177,183,208,349,350,354,378,379],hexstr:[29,353],hezhou:238,hfashfp9qw38hrfaio:[12,92],hfiuoaghfluaeisw:[12,92],hi:[11,112,190,203,204,205,302,321,322,380],hib:[103,184,266,332],hibern:[5,103],hid:[130,250,273],hid_mod:29,hid_rx:29,hid_tx:29,hidden:[162,344],hide:[138,163],hierarchi:379,high:[1,10,21,26,31,36,39,47,66,73,91,98,103,117,119,165,169,173,174,175,177,179,183,185,186,187,189,195,196,197,198,208,211,212,213,214,220,221,223,228,238,243,250,253,254,255,268,272,282,284,289,292,293,294,300,314,315,332,334,340,342,343,356,358,361,363,369,373,374,376,379],high_duty_cycl:29,high_irq:21,higher:[0,4,5,12,18,162,212,220,221,250,255,366,367,379],highest:[3,5,13,91,93,95,131,162,212,220,243,255,267,273,282,284,293,356,374,377],highlight:[138,163],highlighted_d:162,highlighted_dai:162,highlighted_days1:162,highlighted_days2:162,highlighted_days3:162,hij:118,himself:29,hint:[16,379],histor:[39,58,268,385],histori:[72,109,271,293],hit:162,hizhou:[218,225,231,254,294,300,384],hmac:[20,29,170],hmac_md5:[29,170],hmac_sha1:[29,170],hmac_sha256:[29,170],hmac_sha512:[29,170],hmacmd5:32,hmacsha1:32,hmacsha256:32,hmeta:[29,121],hold:[103,162,207,226,232,248,266,363,369,372,378,379],hole:[162,221,238,284,289,358,363],hollow:127,home:[250,379],homepag:[72,369],hook:168,hope:[305,372],hopperiod:[86,87],hor:162,hor_fit_typ:162,hor_r:162,horizont:[36,39,162,379],horn:1,host:[29,54,55,98,117,173,174,175,195,212,220,255,268,272,273,289,325,327,335,379],hostnam:29,hot:[212,220,292,344,393],hotspot:[257,344],hour:[11,26,39,57,68,72,99,108,189,212,266,363,369,379],hour_offset:39,hous:356,how:[1,4,23,31,104,111,120,128,141,149,152,158,162,172,173,174,175,177,178,179,180,181,182,185,186,187,191,192,193,196,197,198,201,203,204,205,207,212,220,221,235,248,250,285,292,293,301,304,320,323,324,327,337,345,374,378,379,380,381,385],howev:[103,162,212,220,221,360,369,378,379],hozhou:59,hpa:47,hse:255,hse_startup_timeout:214,hse_valu:214,hsi:214,hsi_startup_timeout:214,hsi_valu:214,hspi:[198,234,238],hspi_0:117,hspi_clk:[192,193,198],hspi_csn:[192,193,198],hspi_miso:[192,193,198],hspi_mosi:[192,193,198],hsv:162,htm:[264,387,398,401,404,407],html:[5,10,25,36,39,162,165,212,213,220,273,294,384],http:[5,10,11,16,29,36,38,39,54,59,68,72,89,99,103,104,121,124,162,165,172,191,192,193,196,197,198,207,209,210,212,213,214,216,220,225,228,231,236,238,247,248,249,252,257,258,264,266,267,268,269,272,273,275,277,292,294,296,297,298,300,302,304,305,306,311,313,314,315,317,318,319,320,321,336,352,378,384,386,387,394,396,398,399,401,402,404,407],http_error_bodi:24,http_error_clos:24,http_error_connect:24,http_error_download:24,http_error_fota:24,http_error_head:24,http_error_rx:24,http_error_st:24,http_error_timeout:24,httpbin:24,httpc:336,httpdn:54,httpsrv:[29,121,268],httptest:24,huacon:[297,298],huawei:[32,54,268,358,363,372,373,376],huaxin:300,hue:162,huffman:92,huge:[72,168],huge_v:379,hum:47,human:379,humid:[26,54,72,111,173,174,175,209,212,220],humiditybit:[173,174,175],hump:348,hungri:381,hw:333,hwtimer:212,hwtimer_id:29,hwver:29,hx711:29,hxxt_gps_bds_agnss_data:266,hz:[8,29,180,181,182,214],i16:136,i2:[1,29,91,121,243,268,273,289],i2c0:[26,91,212,220,265,272],i2c0_scl:[238,245,272],i2c0_sda:[238,245,272],i2c1:[26,91,265,268,272],i2c1_scl:272,i2c1_sda:272,i2c2:26,i2c:[23,29,40,41,42,44,45,46,47,48,49,51,53,56,61,62,64,65,68,69,70,75,76,80,90,91,121,127,171,177,208,224,237,243,260,268,271,273,282,284,289,293,296,300,311,348],i2c_hw:127,i2c_id:[26,29,47,51,54,61,127],i2c_scl:[77,127,173,174,175,223,228,262,284],i2c_sda:[77,127,173,174,175,223,228,262,284],i2c_spe:[40,41,42,44,46,47,48,49,51,56,61,62,64,65,69,70,75,76,80,93],i2c_sw:[127,171],i2cdon:26,i2cid:[40,41,42,44,46,47,48,49,51,53,54,56,61,62,64,65,68,69,70,76,80,93,173,174,175],i2cslaveaddr:[173,174,175],i2s0:27,i2s1:[27,268],i2s:[253,293],i2s_bclk:272,i2s_lrck:272,i2s_mclk:272,i2smod:255,i32:136,i64:136,i8080:289,i8:136,i:[1,3,6,19,31,51,53,69,71,72,73,74,78,79,85,101,128,134,136,162,165,166,168,169,172,173,174,175,178,179,180,181,182,185,186,187,191,192,193,196,197,198,200,201,203,204,205,207,212,218,220,221,238,250,255,277,293,314,336,349,351,353,356,378,381],i_:379,i_n_:379,iap:[243,250],iar:[249,250],ibeacon:29,ibid:[162,238,360,380],ibm:6,ic:[29,36,127,238,398,401,404],iccid:29,icm20608d:54,icm2068g:54,icon:[10,162,210],icon_img:162,iconv:[29,121,268],id15:162,id1:10,id2:162,id4:213,id:[11,13,29,31,32,40,41,42,44,45,46,48,49,53,54,55,56,62,64,65,66,69,70,72,75,76,80,85,86,89,90,91,93,95,104,113,115,118,123,124,135,162,166,173,174,175,177,183,184,190,194,195,199,202,203,204,205,208,212,217,220,233,255,264,268,272,293,305,306,313,325,333,342,343,348,353,354,381,387,398,401,404,407],idcod:255,iddpd:238,idea:[212,220,268,269,311,324,337,338,345,378,379,383],ideal:[356,367,372,374],ident:[11,378,379],identif:[11,72,94,98,250,353],identifi:[23,39,94,98,210,218,250,300,306,379,382],ideograph:162,idf5:[285,319,320],idf:[285,292,320],idiom:379,idl:[67,103,109,112,115,330,332],idp:305,idx:379,ie:379,ieee:379,ierusalimschi:379,if_n_i:379,ifdef:[162,214],ifndef:[162,214],ignor:[2,6,26,35,39,94,103,111,115,116,123,131,162,255,268,272,274,312,318,378,379],igor:318,ii:[253,293],iic:[212,218,251,254,284],iic_inttransmit:251,iih:334,iiha10:136,iiha:136,ili9341:[212,220,293],ili9486:36,illeg:[24,162,268,379],illumin:250,illustr:[98,293,366,379,381],imag:[3,10,29,121,127,138,163,211,212,220,243,319,354],image_recolor:162,image_recolor_opa:162,imagin:335,imei:[7,11,29,32,55,72,269],img1:[162,293],img2:162,img:[138,163,293,347],img_btn_part_main:162,img_cf_alpha_:162,img_cf_indexed_:162,img_cogwheel_argb:162,img_creat:162,img_dsc_t:162,img_part_main:162,img_set_angl:162,img_set_antialia:162,img_set_auto_s:162,img_set_offset_i:162,img_set_offset_x:162,img_set_pivot:162,img_set_src:[162,293],img_set_zoom:162,img_src:162,img_src_left:162,img_src_mid:162,img_src_right:162,img_zoom_non:162,imgbtn1:162,imgbtn:[138,163],imgbtn_:162,imgbtn_blu:162,imgbtn_creat:162,imgbtn_green:[162,293],imgbtn_part_main:162,imgbtn_set_check:162,imgbtn_set_src:162,imgbtn_til:162,imgbtn_toggl:162,imit:[212,220,304],immedi:[10,21,26,39,66,67,95,103,133,134,248,255,305,376,378,379],immut:[378,379],impact:268,imped:[21,66,238,340,372],implement:[18,20,66,94,102,162,170,209,220,255,268,269,273,304,324,327,330,331,335,337,341,345,346,348,349,351,352,355,378,379,380,381,382],implements_ful:379,impli:[196,197,198,372],implicit:379,implicitli:325,imposs:[122,331],improv:[117,162,170,185,186,187,221,248,250,268,301,355,372,378,379],imsecret0i1m2jkl:32,imsi:29,in0_process:255,in2bc:10,in_buff:29,in_protect:379,in_set:379,in_set_:379,in_set_repres:379,in_set_to:379,ina226:[54,268],ina226_data:53,ina226_i2c:54,inaccess:379,inact:162,inappropri:381,inbuf:[4,29],inc_cmsi:318,inch:[10,171,211,293,395,407],incident:122,incididunt:162,includ:[5,11,12,13,24,26,87,92,94,95,125,133,162,173,174,175,179,201,207,211,214,243,250,255,269,273,274,282,301,304,314,315,320,324,328,331,337,345,347,352,356,360,378,379,381,382,407],inclus:379,incom:[0,1,2,3,4,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,24,25,26,27,28,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,48,49,50,51,52,53,55,56,57,58,59,60,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,122,124,125,126,127,128,129,130,131,132,133,134,135,136,137,345,378,379,382],incompat:[168,268],incomplet:[221,268],inconsist:[356,369,378],inconst:379,inconveni:320,incorrect:[24,191,192,193,255,268,360,379],incorrectli:[221,268],increas:[26,36,94,111,162,185,186,187,212,221,268,269,284,369,378,379],increment:[162,379],indata:[38,39],indefinit:[10,36,127,212,220,325,379,380],indent:[348,379],independ:[103,162,168,211,243,253,254,293,300,302,329,369,372,378],indetermin:[380,381],indev:162,indev_drv_regist:29,indev_kb_upd:29,indev_point_emulator_upd:29,index1:379,index2:379,index:[25,29,37,39,138,163,168,172,335,378],index_:379,index_n_ref:379,index_ref:379,indic:[1,11,16,54,57,59,66,94,95,98,103,111,115,124,133,136,162,249,250,266,284,293,305,320,342,343,356,369,374,376,378,379,381],indirectli:379,individu:[162,238],indivis:379,induc:372,induct:372,industri:[260,293],ineffici:293,inf_timeout:381,infin:379,infinit:[31,162,325,382],info:[0,1,2,6,8,10,12,13,14,15,16,17,18,20,23,24,25,26,27,29,30,36,38,39,40,41,42,44,45,46,47,48,49,50,52,53,56,57,58,59,61,62,64,65,66,67,68,70,72,75,76,77,79,80,83,84,86,87,89,90,92,93,94,95,96,98,99,100,101,103,104,105,107,108,109,111,112,113,114,115,117,118,120,122,123,126,128,129,131,133,134,162,166,169,170,171,172,173,174,175,178,179,180,181,182,189,190,191,192,193,195,196,197,198,200,201,202,203,204,205,212,220,269,275,302,304,305,321,322,334,335,336,344,349,350,354,380,382],inform:[1,4,9,10,11,13,17,24,39,57,68,72,85,91,94,95,96,109,113,115,123,127,131,133,134,138,163,166,170,173,174,175,177,189,194,208,212,213,217,220,224,227,228,229,231,246,250,255,258,264,268,270,271,287,291,292,293,311,320,323,324,337,338,345,347,348,349,351,355,356,360,363,367,379,395,407],infrar:[29,54,121,341],inher:379,inherit:162,init:[29,47,54,61,123,162,166,168,171,178,179,190,191,192,193,201,212,220,255,304,310,311,336,378],init_level:29,initi:[3,7,9,10,11,13,14,16,18,21,22,26,27,29,31,35,36,37,40,41,42,43,44,46,47,48,49,50,51,53,56,61,62,63,64,65,66,68,69,70,71,72,73,74,75,76,77,78,79,80,83,84,86,87,89,90,92,94,95,97,98,110,112,113,116,117,126,127,128,131,132,134,135,136,162,166,171,172,176,177,179,194,199,201,202,206,208,212,220,221,255,257,268,293,305,308,311,329,342,343,348,379,381],initr:[191,192,193],initreg:29,inject:[253,293],ink:[29,121,212,293,395],inlai:[138,163],inlet:221,inlin:[282,379],inner:[162,379],innermost:379,innov:250,input:[4,6,7,21,29,35,72,86,89,91,94,116,120,137,138,163,166,168,169,191,192,193,209,221,223,224,228,238,254,255,266,268,272,284,293,300,311,324,331,337,340,345,356,358,363,366,367,372,378,383],input_buff:29,input_cnt:31,input_fil:29,input_pulldown:340,input_pullup:340,inreversem:29,insert:[1,118,162,168,212,220,250,272,292,311,336,363,378,381],insertfinalnewlin:210,insid:[78,79,123,136,162,266,293,324,326,330,337,345,360,378,379],inspect:162,instal:[162,166,207,208,212,217,250,253,254,284,289,293,299,302,314,315,318,320,321,322,358,360,369],instanc:[39,50,95,112,127,133,250,379],instant:272,instantan:[358,363,369,372,373,376],instead:[11,18,21,162,214,284,323,330,353,379,381,382],instruct:[72,119,162,173,174,175,178,190,196,197,198,212,214,220,221,234,250,253,258,260,267,271,273,292,293,318,326,356,358,360,374,378,379,381],instrument:[138,163],insuffici:[4,9,30,127,130,136,268,319,369],int16_t:335,int32:335,int32_t:[162,335],int64:334,int8:334,int8_t:[335,342,343],intact:378,integ:[2,26,57,72,89,111,119,120,268,277,300,334,378,379,382],integer_and_flo:379,integer_n_i:379,integr:[29,66,121,162,165,191,192,193,212,214,220,238,260,268,300,303,306,366],intens:[40,54,162],inter:[212,220,238],interact:[130,162,255,268,293,300,306,345,379,383,392],interchang:[162,212,231],interconnect:162,interf:66,interfac:[15,26,36,66,91,111,121,123,131,136,138,163,168,169,170,171,172,173,174,175,178,179,180,181,182,184,185,186,187,189,190,191,192,193,195,196,197,198,200,201,202,203,204,205,207,209,211,212,214,220,221,235,238,243,248,253,260,268,269,273,274,284,289,292,293,300,306,318,324,326,331,337,341,345,349,351,352,355,358,363,373,376,377,378,381,383,393,394],interfer:[66,221,238,358,360],interg:26,intermedi:[162,214,248,269,301,320,378],intermitt:379,intern:[0,16,20,21,23,72,103,115,123,138,163,169,212,220,223,228,234,238,253,254,255,268,271,293,294,300,303,336,378,379,380,381,382],internet:[32,96,115,292,318,344],interpret:[28,162,354,378,379],interrupt:[21,31,51,66,68,74,79,86,103,128,201,209,212,217,220,221,238,253,268,272,293,300,301,305,330,331,340,344,369,379],interv:[1,92,94,96,98,115,126,131,213,253,268,293,329,379],interval_:379,inton:[271,293],intptr_t:379,intranet:[115,268],introduc:[24,145,162,167,169,170,171,176,179,183,184,188,189,190,194,195,199,200,202,206,212,214,220,293,304,344,381],introduct:[35,103,116,121,138,141,145,149,152,158,163,164,168,176,177,183,188,194,199,206,208,209,224,230,271,287,291,293,349,351,380],introductori:378,intuit:[98,162,335],invalid:[10,39,43,73,94,122,162,266,372,379,381],inventori:320,invers:[66,162,378,379],invert:[138,163,379],invis:[91,94,98,104,202,220,378,379],invoff:29,involv:[39,329,330,331,353,379],invon:29,io00:284,io01:284,io02:284,io03:284,io04:284,io05:284,io06:284,io07:284,io08:284,io09:284,io10:[284,289],io11:289,io12:284,io13:284,io18:284,io19:284,io:[1,13,27,29,54,66,91,94,95,103,104,107,110,121,162,165,166,168,190,191,192,193,212,220,238,251,253,254,255,262,267,268,271,293,300,321,324,328,337,345,352,355,378,380],ioh:238,iol:238,iomux:[29,268,272],ioqueu:[29,121],iosel:103,iot:[11,29,55,57,59,121,134,141,152,158,247,269,274,292,294,355,358,366,369,373,376,380],iot_bridg:292,iot_config:54,iot_core_id:29,iotauth:[29,121,268],iotcloud:[54,268],iotcloudc:55,iotda:29,iotpl:369,iotpow:[363,367,372],iotpower_cc_usb_driv:369,iotpowerpro:369,iovl:103,iovol:[29,268],iovol_all_gpio:103,ip1:115,ip2:115,ip3:115,ip4:115,ip:[29,52,55,60,94,95,123,268,344,374],ip_addr:29,ip_los:268,ip_readi:[58,72],ip_typ:29,ipair:168,ipc:326,ipsum:162,ipv4:[94,115,134],ipv4v6:94,ipv6:[24,29,95,115,268,385],iqinvert:[86,87],ir:[6,29,66,121,337,338,345],iron:[212,220],irq:[29,54,131],irq_27:21,irq_mod:29,irq_pin:[29,54],irregular:209,irrevers:170,irrig:238,irtu:[384,385],irur:162,is_comment_:379,is_default:29,is_don:336,is_drag:162,is_e_:379,is_en:29,is_function_:379,is_input:29,is_instantiated_:379,is_ok:29,is_short:379,is_sign:[4,29],is_tl:29,is_udp:29,is_weak:379,isbigend:29,isclos:54,isdecod:29,isdelet:29,isdon:29,isdst:379,isend:29,isequ:29,isexist:348,isfix:29,isfloat:29,isipv6:29,isn:[162,378],isnum:379,iso14443_a:71,iso:[289,379],isol:[221,238,325,331,352,360],isp:[243,248,253,293,300],isreadi:[29,115],isrun:379,issign:29,issu:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,116,117,118,119,120,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,162,250,266,319,348,367,379],issue_xxx:348,istailcal:379,istl:32,istr_ctr:255,istr_dir:255,istr_ep_id:255,isvararg:379,isyield:168,item:[29,55,72,91,127,162,208,264,266,285,312,363,379,387,398,401,404,407],iter:[29,268,324,337,345,378,379],its:[0,1,2,3,4,6,7,8,9,10,11,13,14,16,17,18,19,20,21,23,24,25,26,27,28,30,31,32,33,34,35,36,38,39,45,58,66,81,86,87,89,94,95,98,100,103,104,105,107,108,113,114,115,117,118,119,120,127,128,130,131,132,133,134,136,162,196,197,198,238,254,266,275,305,331,352,353,372,377,378,379,381],itself:[36,54,58,123,162,220,266,267,277,307,318,319,347,349,351,358,360,363,377,378,379],itvl_max:29,itvl_min:29,iv:29,j16:317,j:[165,168,378],januari:162,japanes:162,java:353,jedec:[191,192,193],jeremi:172,jlink:255,job:[238,379],join:[344,355,378,379],joint:[59,260],jointli:312,joystick:369,jpeg:[3,36,243,282],jpg:[3,6,36],json:[6,13,15,18,25,29,30,39,58,68,94,96,99,108,114,118,120,121,123,129,133,134,162,166,189,210,212,213,268,296,312,335,349,350,354],jt808:268,jtag:[253,289,293],jtdo:255,jtrst:[253,293],jubj62lnbb:32,judg:[16,54,68,115,221,253,268,269,293],judgment:[67,120,209,268,277,330],juli:[18,57,98,134,162],jump:[162,363,379],june:[162,250],junior:[214,248,301],just:[16,31,72,86,98,110,123,136,162,172,201,207,210,212,213,220,250,268,285,292,293,304,305,314,315,320,330,334,348,378,379],k:[14,18,63,106,118,134,172,378,379],kb:[13,162,191,192,193],kb_creat:162,kb_event_cb:162,kb_inc:35,kcu:238,keep:[5,103,115,120,162,189,207,212,221,314,315,372,378,379],keep_cnt:29,keep_idl:29,keep_interv:29,keepal:[29,55],keepemtri:29,kei:[11,19,24,29,54,55,57,59,95,103,115,116,118,121,123,134,138,163,177,207,208,210,224,238,265,266,267,268,272,287,291,292,293,303,356,358,369,373,376,378,379,381,383,407],keil:[217,218,248,249,253,293,301,316],keil_v5:316,keilbuild:316,kept:[107,379],kere:162,kern:162,kernel:[218,250,282,379],key_b:71,key_cb:54,key_cod:79,key_down:162,key_ent:162,key_in:29,key_left:162,key_out:29,key_right:162,key_up:162,keyboard0:[35,238],keyboard1:238,keyboard2:238,keyboard3:238,keyboard4:[35,238],keyboard5:238,keyboard6:238,keyboard7:238,keyboard8:238,keyboard:[29,89,121,130,138,163,282,293,296],keyboard_:162,keyboard_cr:162,keyboard_def_event_cb:162,keyboard_mode_num:162,keyboard_mode_text_low:162,keyboard_mode_text_speci:162,keyboard_mode_text_upp:162,keyboard_part_bg:162,keyboard_part_btn:162,keyboard_set_cursor_manag:162,keyboard_set_textarea:162,keypad_encod:89,keystrok:162,keyword:[162,303,379],khz:238,kib:318,kicad7:250,kicad:[221,250,267,392],kick:95,kill:369,kind:[0,67,115,202,203,204,205,212,220,323,379,381],kindli:250,km:39,knob:[138,163],knock:[130,311],knot:39,know:[125,170,212,220,305,320,377,378,379,380],knowledg:[145,208,324,337,338,345,349,351,360,380],known:[221,247,300,378,379,381],korean:162,kp:79,kt6368a:98,kuf3nt:32,kv:[29,54,121,294],kv_clr:[29,172],kv_count:[14,18],kv_del:[29,172],kv_get:[18,29,172],kv_iter:29,kv_next:14,kv_set:[29,172],kv_stat:29,kvdb:172,kvdb_init:[18,29,172],kword:379,l1:[162,379],l3g4200d:54,l3g4200d_data:56,l6985e:[217,293],l:[30,101,136,162,221,304,305,323,325,330,335,336,348,378,379],l_alloc:331,l_font:327,l_gpio_handl:330,l_module_funct:348,l_mylib_abc:305,l_rtos_recv:325,l_xxxx_block:[305,336],l_xxxx_cb:305,la:379,label1:162,label2:[89,162],label:[89,138,163,212,220,284,379],label_align_cent:162,label_align_left:162,label_align_let:162,label_align_right:162,label_cnt:162,label_cr:[89,162,212,220],label_demo:162,label_label:162,label_long_:162,label_long_break:162,label_long_crop:162,label_long_dot:162,label_long_expand:162,label_long_mode_break:162,label_long_srol:162,label_long_sroll_circ:162,label_long_txt_hint:162,label_part_main:162,label_set_align:162,label_set_array_text:162,label_set_long_mod:162,label_set_recolor:162,label_set_static_text:162,label_set_text:[89,162,212,220],label_set_text_fmt:162,labor:162,labori:162,laborum:162,lac:94,lack:248,ladder:162,lamp:[165,185,186,187,212,220,294],languag:[92,128,162,168,210,212,271,292,293,304,331,353,355,369,372,376,377,378,395,407],language_:379,larg:[4,58,117,162,165,211,212,214,218,220,221,225,231,247,248,250,268,272,285,293,301,318,320,355,360,369,372,378,379],larger:[4,12,92,94,162,191,192,193,257,367,378,379],largest:[3,379],laser:54,last:[3,11,16,19,57,94,95,103,115,133,136,162,173,174,175,191,192,193,196,197,198,212,220,221,255,266,268,269,340,346,378,379,381,382,385],lastlinedefin:379,lastreson:[29,268],lat:[39,57,58],latch:54,later:[31,115,119,162,212,220,250,269,272,305,339,378,379,382],latest:[1,134,162,172,191,192,193,207,212,213,214,220,225,231,248,253,269,293,302,320],latitud:[39,57,58],latter:[0,162,212,220,303,326,379],lau:268,launch:[95,133,260,273],lauxlib:379,layer:[1,16,39,59,73,78,89,95,96,106,109,115,127,133,162,172,207,212,221,235,238,243,250,269,272,304,305,318,323,325,327,330,335,337,338,345,379,382],layer_si:29,layer_top:29,layout:[138,163,196,197,198,216,269,272,277,349,350,356,369,374,379],layout_:162,layout_cent:162,layout_column_left:162,layout_column_mid:162,layout_column_right:162,layout_grid:162,layout_off:162,layout_pretti:162,layout_pretty_bottom:162,layout_pretty_mid:162,layout_pretty_top:162,layout_row_bottom:162,layout_row_mid:162,layout_row_top:162,lb:58,lbsloc2:54,lbsloc:[54,266,268],lbsyun:39,lc:379,lcc:282,lcd:[29,91,93,117,121,162,166,177,208,224,230,243,267,268,269,273,289,293,296,300,314,319,339,393,395,396,399,402,405],lcd_rst:272,lcdi:238,lcdseg:[29,121,230,282,296],lcoal:348,lcsloc:268,ld0:238,ld8s5j1l07:32,ld:318,ldata:328,ldexp:379,ldo:[221,228,237,250,293,300,372],ldo_ctl:272,le:379,lead:[162,169,220,266,272,369,378,379],leak:[21,268,323],learn:[162,208,212,220,250,320,355,356,367,374,377,378],least:[4,162,214,221,318,320,341,379],leav:[94,117,162,221,289,369,379],led1:[162,212,220],led2:162,led3:162,led:[21,25,54,67,72,79,138,163,165,185,186,187,212,213,214,220,234,250,265,266,267,287,291,293,301,310,311,326,331,383],led_creat:162,led_demo:162,led_off:162,led_on:162,led_part_main:162,led_set_bright:162,led_toggl:162,leda:[25,67,289],ledb:289,ledblinktim:67,ledpin:54,ledpinsetfunc:54,left:[2,10,27,29,36,50,54,68,89,91,93,94,115,127,131,136,162,207,210,212,213,248,255,313,356,358,360,363,367,369,372,373,378,379],left_fit_typ:162,leftmost:[136,162],legal:379,legend:293,legitim:24,len:[29,39,54,63,71,74,135,168,191,192,193,196,197,198,202,203,204,205,304,327,329,334,343,346,352,353],length:[3,6,12,14,16,18,20,21,24,26,27,29,30,55,63,71,72,74,89,92,95,96,100,101,104,109,110,111,112,115,117,120,122,128,130,131,134,138,163,168,191,192,193,212,220,268,284,327,330,334,335,339,342,343,346,348,353,354,378,381,388],less:[3,4,12,24,30,58,81,91,92,112,115,136,162,221,243,251,253,254,260,266,268,293,304,355,358,360,372,374,378,379],lesson:162,let:[162,165,166,212,220,235,330,339,353,354,355,372,378,379,380,381],letter:[6,72,162,326,348,378,379],level:[1,4,10,13,24,29,33,36,39,55,69,95,96,115,125,127,128,162,168,177,202,208,211,212,220,221,238,250,255,267,269,272,277,284,300,301,314,315,324,335,337,338,341,344,345,354,369],lever:369,lexer:379,lexic:168,lexin:[284,289,294],lf:[17,113,177,194,208,352,378],lfs2:109,lfs_mount:[191,192,193],lgc:[314,315,320],li:267,liansheng:264,lianshengd:[231,282,296],lib:[269,296,304,380],lib_xx:304,libcoap:[29,121,296],libcool:304,libemqtt:268,libfota:[54,268,269,274],libfota_cb:59,libfota_timeout:54,libgnss:[29,121,268,296],libgt:304,libluato:318,libnam:168,libnet:[54,124,269],librari:[0,1,2,3,4,5,6,7,8,11,12,13,14,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,33,35,36,37,38,39,45,58,66,73,78,81,86,87,91,92,94,95,101,102,103,104,105,107,108,110,113,114,115,118,119,120,121,130,131,133,134,135,137,162,168,169,170,171,172,173,174,175,178,179,180,181,182,184,185,186,187,189,190,191,192,193,195,196,197,198,200,201,202,203,204,205,209,212,217,220,233,248,254,262,268,269,272,273,277,293,301,302,306,312,318,319,327,331,334,335,345,347,348,349,351,353,355,377,380],library_provid:379,libsdl2:321,licens:379,lichuang:372,life:[7,165,352],lifetim:29,lifftef:352,lift:[97,268],light:[40,54,67,103,162,165,177,188,207,208,210,214,224,229,249,250,265,266,267,272,284,289,293,300,301,310,311,312,356],light_color:29,lightweight:[162,378,379],like:[126,136,162,207,212,214,220,250,285,293,301,311,360,372,378,379],limit:[4,98,112,128,130,135,136,162,212,220,238,247,250,255,268,269,273,274,294,318,334,349,350,366,372,374,378,379],line1:162,line:[18,29,30,36,73,78,79,85,99,106,123,127,136,138,163,168,178,179,195,196,197,198,202,203,204,205,208,212,214,220,221,238,250,255,266,285,292,294,302,318,325,326,334,336,348,349,351,355,356,361,363,369,372,374,375,378,380,381,382],line_color:162,line_cr:162,line_demo:162,line_num:162,line_part_main:162,line_point:162,line_ref:379,line_set_auto_s:162,line_set_point:162,line_set_y_invert:162,linear:89,linedefin:379,linemet:162,linemeter_:162,linemeter_cr:162,linemeter_part_main:162,linemeter_set_rang:162,linemeter_set_scal:162,linemeter_set_valu:162,linetyp:162,link:[0,1,2,3,4,6,7,8,9,10,11,13,14,16,17,18,19,20,21,23,24,25,26,27,28,30,31,32,33,34,35,36,38,39,45,58,81,86,87,89,94,95,98,100,101,103,104,105,107,108,113,114,115,117,118,119,120,122,127,128,130,131,132,133,134,136,210,214,221,229,247,257,258,271,287,291,292,293,295,314,315,318,320,324,337,345,349,351,379,388,393,395,398,401,404,407],link_pin:29,linkag:60,linker:379,linkup:29,linkv2:255,linkv3:255,linux:[138,167,212,220,318,326,352,356,361,372,374,375,379],lion:165,lis2dh12:54,lis2dh12_data:61,list1:162,list:[6,19,24,29,30,54,98,123,138,163,168,178,212,214,220,248,253,255,293,301,303,310,311,312,313,323,346,348,356,374,378,381],list_add_btn:162,list_btn:162,list_clean:162,list_creat:162,list_demo:162,list_down:162,list_focu:162,list_get_btn_img:162,list_get_btn_index:162,list_get_btn_label:162,list_get_btn_text:162,list_of_valu:162,list_part_bg:162,list_part_edge_flash:162,list_part_scrl:162,list_part_scrlbar:162,list_part_scrollbar:162,list_remov:162,list_set_anim_tim:162,list_set_btn_select:162,list_set_edge_flash:162,list_set_layout:162,list_set_scroll_propag:162,list_set_scrollbar_mod:162,list_up:162,listchr:29,listen:[25,29,54,363],listsvr:29,lit:[185,186,187,360],liter:379,literalstr:379,lithium:238,littl:[101,115,117,128,130,162,185,186,187,304,349,351,379],littlef:[17,212,247,352],littlevgl:162,live:[115,379],ll:[165,166,212,217,220,293],ll_apb1_grp1_enableclock:214,ll_apb1_grp1_periph_pwr:214,ll_apb1_grp2_enableclock:214,ll_apb1_grp2_periph_syscfg:214,ll_gpio_mode_output:214,ll_gpio_pin_0:214,ll_gpio_setpinmod:214,ll_gpio_togglepin:214,ll_init1mstick:214,ll_iop_grp1_enableclock:214,ll_iop_grp1_periph_gpiob:214,ll_mdelai:214,ll_rcc_apb1_div_1:214,ll_rcc_getsysclksourc:214,ll_rcc_hsi_en:214,ll_rcc_hsi_isreadi:214,ll_rcc_setahbprescal:214,ll_rcc_setapb1prescal:214,ll_rcc_setsysclksourc:214,ll_rcc_sys_clksource_hsisi:214,ll_rcc_sys_clksource_status_hsisi:214,ll_rcc_sysclk_div_1:214,ll_setsystemcoreclock:214,llcc68:[86,87],llogd:304,llvm:[321,322],lm75:54,lm75_data:[54,74],lm75a:54,lm75b:54,lmathlib:323,lmeter:[138,163],lmeter_demo:162,lng:[39,57,58],lnk:318,lo:378,load:[15,29,89,109,162,168,210,221,224,229,237,238,253,268,287,292,293,303,314,315,327,331,360,378],loader:379,loader_:379,loadfil:[168,331],loadlib:168,loc:39,local:[1,2,4,6,11,12,13,14,16,18,19,20,24,26,27,28,30,31,32,36,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,56,57,58,59,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,82,83,84,88,89,91,92,94,95,98,99,100,101,103,104,105,107,108,109,110,111,112,113,115,117,118,119,120,122,127,128,131,133,134,135,136,162,165,166,168,170,171,173,174,175,182,189,190,191,192,193,195,196,197,198,200,202,203,204,205,212,220,268,269,275,302,303,304,305,311,321,322,325,327,328,330,331,333,334,335,336,342,343,344,348,352,353,380,381,382],local_nam:29,local_port:29,localip:29,localtim:379,locat:[10,15,30,39,54,58,66,85,90,91,93,112,117,127,136,162,191,192,193,207,302,304,314,315,330,331,379,380],lock:29,locstr:29,loctyp:57,lod:312,log:[0,1,2,5,6,8,10,11,12,13,14,15,16,17,18,20,23,24,25,26,27,29,30,36,38,39,40,41,42,44,45,46,47,48,49,50,52,53,56,57,58,59,61,62,64,65,66,67,68,70,72,75,76,77,79,80,83,84,86,87,89,90,92,93,94,95,96,98,99,100,101,103,104,105,107,108,109,111,112,113,114,115,117,118,120,121,122,123,126,127,128,129,131,133,134,166,168,169,170,171,172,173,174,175,177,178,180,181,182,184,189,190,191,192,193,195,196,197,198,200,201,202,203,204,205,208,213,221,224,234,245,255,267,268,269,272,275,282,284,289,293,302,304,305,306,311,319,321,322,326,334,335,336,380,381,382,383,385],log_br:347,log_debug:85,log_error:85,log_info:85,log_level:29,log_sil:85,log_warn:85,logarithm:[369,379],logger:369,logic:[16,29,66,109,121,128,168,211,268,269,303,305,325,330],login:[29,95],logo:[6,36,207,312],logstor:[29,121],longer:[11,57,95,106,133,162,211,212,247,264,268,348,379],longest:379,longitud:[39,57],longjmp:379,longlong:2,look:[16,25,91,115,162,165,166,185,187,196,197,198,203,204,205,207,212,220,304,314,315,320,323,339,353,354,355,360,378,379,380,381],lookup:379,loop:[29,31,121,122,169,177,202,208,212,213,220,255,268,325,330,333,358,379,380,381,382],loopback:[212,220],loopid:382,loosen:[162,372],lora2:[29,121,268],lora:[29,87,121,268],lora_devic:29,lora_init:86,lora_rx_don:[86,87],loraconfig:29,lorem:162,lose:[29,39,121,123,212,220,266],loss:[220,372],lost:[39,103,123,226,232,266,268],lot:[178,212,220,304,335,347,381,384],love:165,low:[21,24,26,29,66,91,102,103,115,119,121,162,165,179,211,212,213,214,221,238,243,250,254,255,260,266,268,277,282,284,289,294,300,324,331,337,340,342,343,345,355,356,358,360,374,379,381,385],low_irq:21,lower:[13,18,36,89,127,166,168,173,174,175,180,181,210,211,214,218,221,250,255,320,356,358,369,378],lowercas:[162,348,378,379],lowest:[93,103,162],lpmem:[29,121,293,332],lpt:250,lpuart:268,lqfp100:282,lqlq666lqlq946:20,lsat:277,lsb:[27,73,117,128,191,192,193,342,343],lsdir:[29,268,328],lse:214,lse_startup_timeout:214,lse_valu:214,lsi_valu:214,lsmount:29,lst:379,lt:379,ltd:162,lte:[67,94,273],ltepin:54,ltrim:29,lua:[5,12,14,15,18,30,31,39,57,67,72,85,89,92,99,101,106,109,117,122,124,136,162,168,171,178,179,190,191,192,193,201,207,209,212,220,221,226,232,247,257,264,266,268,269,273,274,302,304,305,309,312,314,315,318,320,321,322,324,326,330,335,337,338,345,347,349,350,351,352,355,369,380,381,382,384],lua_32bit:379,lua_:379,lua_absindex:168,lua_alloc:168,lua_api:348,lua_arith:168,lua_atpan:168,lua_cal:[168,336,348],lua_callk:168,lua_cfunct:168,lua_checkint:325,lua_checkstack:168,lua_clos:168,lua_compar:168,lua_concat:168,lua_copi:168,lua_cpath:379,lua_cpath_5_3:379,lua_createt:168,lua_debug:168,lua_dump:168,lua_errerr:379,lua_errfil:379,lua_errgcmm:379,lua_errmem:379,lua_error:168,lua_errrun:379,lua_errsyntax:379,lua_extraspac:379,lua_fil:331,lua_filehandl:379,lua_gc:168,lua_gccollect:379,lua_gccount:379,lua_gccountb:379,lua_gcisrun:379,lua_gcrestart:379,lua_gcsetpaus:379,lua_gcsetstepmul:379,lua_gcstep:379,lua_gcstop:379,lua_getallocf:168,lua_getctx:379,lua_getextraspac:168,lua_getfield:168,lua_getglob:[168,336,348],lua_gethook:168,lua_gethookcount:168,lua_gethookmask:168,lua_geti:168,lua_getinfo:168,lua_getloc:168,lua_getmetat:168,lua_getstack:168,lua_gett:[168,336],lua_gettop:168,lua_getupvalu:168,lua_getuservalu:168,lua_hook:168,lua_hookcal:379,lua_hookcount:379,lua_hooklin:379,lua_hookret:379,lua_hooktailcal:379,lua_ids:379,lua_init:379,lua_init_5_3:379,lua_insert:168,lua_int:379,lua_integ:168,lua_isboolean:168,lua_iscfunct:168,lua_isfunct:168,lua_isinteg:168,lua_islightuserdata:168,lua_isnil:168,lua_isnon:168,lua_isnoneornil:168,lua_isnumb:168,lua_isstr:168,lua_ist:168,lua_isthread:168,lua_isuserdata:168,lua_isyield:168,lua_kcontext:168,lua_kfunct:168,lua_len:168,lua_load:168,lua_maskcal:379,lua_maskcount:379,lua_masklin:379,lua_maskret:379,lua_maxinteg:379,lua_mininteg:379,lua_minstack:379,lua_multret:379,lua_newst:[168,331],lua_newt:168,lua_newthread:168,lua_newuserdata:168,lua_next:168,lua_noref:379,lua_numb:168,lua_numbertointeg:168,lua_ok:379,lua_opadd:379,lua_opband:379,lua_opbnot:379,lua_opbor:379,lua_opbxor:379,lua_opdiv:379,lua_opeq:379,lua_opidiv:379,lua_opl:379,lua_oplt:379,lua_opmod:379,lua_opmul:379,lua_oppow:379,lua_opshl:379,lua_opshr:379,lua_opsub:379,lua_opunm:379,lua_path:379,lua_path_5_3:379,lua_pcal:168,lua_pcallk:168,lua_pop:168,lua_pushboolean:[168,304],lua_pushcclosur:168,lua_pushcfunct:[168,304],lua_pushfstr:[168,304],lua_pushglobalt:168,lua_pushinteg:[168,305,330,336],lua_pushlightuserdata:[162,168],lua_pushliter:168,lua_pushlstr:168,lua_pushnil:[168,305],lua_pushnumb:168,lua_pushstr:[168,305,336,348],lua_pushthread:168,lua_pushunsign:379,lua_pushvalu:168,lua_pushvfstr:168,lua_rawequ:168,lua_rawget:168,lua_rawgeti:168,lua_rawgetp:168,lua_rawlen:168,lua_rawset:168,lua_rawseti:168,lua_rawsetp:168,lua_read:168,lua_real:379,lua_refnil:379,lua_regist:168,lua_registryindex:379,lua_remov:168,lua_replac:168,lua_resum:168,lua_ridx_glob:379,lua_ridx_mainthread:379,lua_rot:168,lua_setallocf:168,lua_setfield:168,lua_setglob:[168,304],lua_sethook:168,lua_seti:168,lua_setloc:168,lua_setmetat:168,lua_sett:168,lua_settop:168,lua_setupvalu:168,lua_setuservalu:168,lua_stat:[162,168,304,305,323,335,336,348],lua_statu:168,lua_stringtonumb:168,lua_sys_xxx:323,lua_tboolean:379,lua_tfunct:379,lua_tlightuserdata:379,lua_tnil:379,lua_tnon:379,lua_tnumb:379,lua_toboolean:168,lua_tocfunct:168,lua_tointeg:168,lua_tointegerx:168,lua_tolstr:168,lua_tonumb:168,lua_tonumberx:168,lua_topoint:168,lua_tostr:168,lua_tothread:168,lua_tounsign:379,lua_tounsignedx:379,lua_touserdata:168,lua_tstr:379,lua_ttabl:379,lua_tthread:379,lua_tuserdata:379,lua_typ:168,lua_typenam:168,lua_unsign:168,lua_upvalueid:168,lua_upvalueindex:168,lua_upvaluejoin:168,lua_use_apicheck:379,lua_valu:331,lua_vers:168,lua_writ:168,lua_writestr:331,lua_xmov:168,lua_yield:168,lua_yieldk:168,luac:[17,109,347,379],luaconf:379,luadb:[6,15,25,27,30,36,82,95,97,99,104,107,294,347,349,350,352],luadb_t:346,luahelp:210,luai_throw:379,lual:379,lual_:379,lual_add:379,lual_addchar:168,lual_addlstr:168,lual_adds:168,lual_addstr:168,lual_addvalu:168,lual_argcheck:168,lual_argerror:168,lual_buff:168,lual_buffers:379,lual_buffinit:168,lual_buffinits:168,lual_callmeta:168,lual_check:379,lual_checkani:168,lual_checkint:379,lual_checkinteg:[168,304],lual_checklong:379,lual_checklstr:[168,304],lual_checknumb:168,lual_checkopt:168,lual_checkstack:168,lual_checkstr:[162,168],lual_checktyp:168,lual_checkudata:168,lual_checkunsign:379,lual_checkvers:168,lual_checkxxx:323,lual_dofil:168,lual_dostr:168,lual_error:168,lual_execresult:168,lual_fileresult:168,lual_getmetafield:168,lual_getmetat:168,lual_getsubt:168,lual_gsub:168,lual_len:168,lual_loadbuff:168,lual_loadbufferx:168,lual_loadfil:168,lual_loadfilex:168,lual_loadstr:168,lual_newlib:168,lual_newlibt:168,lual_newmetat:168,lual_newst:168,lual_openlib:168,lual_optint:379,lual_optinteg:168,lual_optlong:379,lual_optlstr:168,lual_optnumb:168,lual_optstr:168,lual_optunsign:379,lual_prepbuff:168,lual_prepbuffs:168,lual_pushresult:168,lual_pushresults:168,lual_pushxxxx:323,lual_ref:168,lual_reg:168,lual_requiref:168,lual_setfunc:168,lual_setmetat:168,lual_stream:168,lual_testudata:168,lual_tolstr:168,lual_traceback:168,lual_typenam:168,lual_unref:168,lual_wher:168,lualib:379,luao:260,luaopen_:379,luaopen_a_:379,luaopen_a_b_c:379,luaopen_bas:379,luaopen_coroutin:379,luaopen_debug:379,luaopen_io:379,luaopen_math:379,luaopen_packag:379,luaopen_str:379,luaopen_t:379,luaopen_utf8:379,luaopen_xxx:304,luaoto:320,luastat:[325,330],luat:[36,125,168,171,201,304,316,318,320,324,328,329,332,334,337,340,345],luat_:348,luat_bas:[162,304],luat_base_xxx:304,luat_cbcwait:305,luat_cbcwait_noarg:305,luat_conf_bsp:[162,294,304,314,315,320],luat_custom_init:304,luat_custom_sayhi:304,luat_demo_xxx:323,luat_fil:328,luat_font:327,luat_font_data:339,luat_font_data_t:339,luat_font_get:327,luat_font_t:327,luat_fs_fclos:328,luat_fs_fopen:[268,328,331],luat_fs_fseek:328,luat_fs_ftel:328,luat_fs_getc:328,luat_gpio_callback:330,luat_gpio_clos:340,luat_gpio_default:272,luat_gpio_fal:340,luat_gpio_get:340,luat_gpio_high:340,luat_gpio_input:340,luat_gpio_input_pulldown:340,luat_gpio_input_pullup:340,luat_gpio_low:340,luat_gpio_output:340,luat_gpio_output_od:340,luat_gpio_ris:340,luat_gpio_rising_fal:340,luat_gpio_rtt:330,luat_gpio_set:340,luat_gpio_setup:[323,331,340],luat_gpio_t:[323,330,340],luat_has_custom_lib_init:304,luat_heap_alloc:[329,331,348],luat_heap_calloc:329,luat_heap_fre:[305,329],luat_heap_getfre:329,luat_heap_init:329,luat_heap_mallac:323,luat_heap_malloc:[305,329,331],luat_heap_realloc:329,luat_lib_:36,luat_lib_fonts_h:162,luat_lib_gpio:330,luat_lib_sys_run:323,luat_lib_xxx:[304,323],luat_log:304,luat_log_tag:304,luat_lv_font_get:162,luat_lvgl_font:162,luat_malloc:304,luat_malloc_heap_s:329,luat_msg_hanld:330,luat_msgbu:318,luat_msgbus_data:[325,330],luat_msgbus_frees:330,luat_msgbus_get:[325,330],luat_msgbus_init:330,luat_msgbus_itemcount:330,luat_msgbus_put:[305,330],luat_os_get_tim:331,luat_pm_mod:332,luat_pushcwait:305,luat_pushcwait_error:305,luat_spi_clos:342,luat_spi_recv:342,luat_spi_send:342,luat_spi_setup:342,luat_spi_t:342,luat_spi_transf:342,luat_struct_map:335,luat_timer_maxid:333,luat_timer_start:333,luat_timer_stop:333,luat_timer_t:[305,333],luat_uart_clos:343,luat_uart_read:343,luat_uart_setup:[268,343],luat_uart_t:343,luat_uart_writ:343,luat_use_adc:348,luat_websocket_p:268,luat_wlan_ap_get_info:344,luat_wlan_ap_get_stainfo:344,luat_wlan_ap_is_act:344,luat_wlan_ap_stop:344,luat_wlan_connect:344,luat_wlan_evt_ap_associ:344,luat_wlan_evt_ap_disassoci:344,luat_wlan_evt_ap_start:344,luat_wlan_evt_ap_stop:344,luat_wlan_evt_readi:344,luat_wlan_evt_scan_don:344,luat_wlan_evt_scan_report:344,luat_wlan_evt_sta_connect:344,luat_wlan_evt_sta_connected_fail:344,luat_wlan_evt_sta_disconnect:344,luat_wlan_get_apnet:344,luat_wlan_get_info:344,luat_wlan_get_powersav:344,luat_wlan_get_rssi:344,luat_wlan_get_stanet:344,luat_wlan_info_t:344,luat_wlan_is_readi:344,luat_wlan_net_t:344,luat_wlan_register_event_handl:344,luat_wlan_scan_with_info:344,luat_wlan_security_open:344,luat_wlan_security_wep_psk:344,luat_wlan_security_wep_shar:344,luat_wlan_security_wpa2_aes_psk:344,luat_wlan_security_wpa2_mixed_psk:344,luat_wlan_security_wpa2_tkip_psk:344,luat_wlan_security_wpa_aes_psk:344,luat_wlan_security_wpa_tkip_psk:344,luat_wlan_security_wps_open:344,luat_wlan_security_wps_secur:344,luat_wlan_set_apnet:344,luat_wlan_set_powersav:344,luat_wlan_set_stanet:344,luat_wlan_start_ap:344,luat_wlan_unregister_event_handl:344,luat_xxx:323,luat_xxx_freerto:323,luat_xxx_rtt:323,luatask:[168,209,212,369,381],luatcommun:[216,228,236,238,249,252,258,267,297,298,300,319],luatgpiopin:331,luatgpiopul:331,luatid:[284,289,347,352,384],luato:[5,10,11,30,36,66,73,78,89,95,112,115,123,138,163,164,166,167,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,201,202,203,204,205,206,207,208,210,211,213,214,218,220,221,223,225,226,228,231,232,234,238,239,245,246,248,257,260,263,265,266,267,269,271,274,275,285,288,292,293,294,295,302,304,305,311,313,314,315,316,317,318,319,320,321,322,324,337,345,346,348,349,350,351,353,354,355,377,382,384,386,393,394,395,396,399,402,407],luatool:[59,106,207,212,221,235,269,274,277,284,289,294,318,320,326,347,352,354,384,385],luatos_0022eecc2399:134,luatos_:[109,134],luatos_esp32:354,luatos_root:320,luatos_vers:109,luavm:[1,11,92,109,302,321,322],luiz:379,lure:360,lux:[76,80],lux_dat:76,luxuri:289,lv:162,lv_anim_path_t:89,lv_at:162,lv_conf:162,lv_draw_mask_fade_param_t:89,lv_draw_mask_line_param_t:89,lv_draw_mask_radius_param_t:89,lv_font:162,lv_font_:162,lv_font_conv:162,lv_font_declar:162,lv_font_dejavu_16_persian_hebrew:162,lv_font_montserrat_10:162,lv_font_montserrat_12:162,lv_font_montserrat_12_subpx:162,lv_font_montserrat_14:162,lv_font_montserrat_16:162,lv_font_montserrat_18:162,lv_font_montserrat_20:162,lv_font_montserrat_22:162,lv_font_montserrat_24:162,lv_font_montserrat_26:162,lv_font_montserrat_28:162,lv_font_montserrat_28_compress:162,lv_font_montserrat_30:162,lv_font_montserrat_32:162,lv_font_montserrat_34:162,lv_font_montserrat_36:162,lv_font_montserrat_38:162,lv_font_montserrat_40:162,lv_font_montserrat_42:162,lv_font_montserrat_44:162,lv_font_montserrat_46:162,lv_font_montserrat_48:162,lv_font_montserrat_8:162,lv_font_opposans_m_10:162,lv_font_opposans_m_12:162,lv_font_opposans_m_14:162,lv_font_opposans_m_16:162,lv_font_opposans_m_18:162,lv_font_opposans_m_20:162,lv_font_opposans_m_22:162,lv_font_opposans_m_8:162,lv_font_simsun_16_cjk:162,lv_font_simsun_48:162,lv_font_t:162,lv_font_unscii_16:162,lv_font_unscii_8:162,lv_obj_t:89,lv_scr_load_anim:89,lv_scr_load_anim_t:89,lvgl:[15,29,121,138,211,224,268,269,273,293,296,314,339,405],lvglfonttool:162,lvl:379,lwip:[115,268,331],lwip_ap:115,lwip_eth:115,lwip_gp:[115,123],lwip_sta:115,lx7:289,ly:360,ly_key_ent:162,m0:[211,218,299,300],m1:71,m33:[211,243,250,282],m3:[255,282,283],m4f:[282,283],m52:277,m85:250,m:[29,47,99,162,165,168,171,221,277,378],m_cannot:379,ma:[238,372,375,376],mac:[29,72,257,344,356,361,372,374,375,379],machin:[29,96,109,121,173,174,175,207,212,217,224,229,235,237,246,268,271,272,287,292,293,294,304,310,314,315,318,320,323,325,328,329,330,335,347,349,351,352,360,372,378,379],maco:326,macro:[217,293,304,348,379],made:[94,107,162,166,212,220,268,304,348,360,379,381],mag:44,magic:[214,248,250,301,339,346,379],magna:162,magnet:39,magnetic_track_degre:39,magnif:[93,379],magnitud:378,mai:[1,6,26,31,91,94,98,101,103,111,122,134,136,162,210,213,218,220,221,238,250,255,268,311,323,328,330,333,348,358,360,363,366,369,372,373,376,378,379],mailbox:[255,268],main:[5,14,17,18,26,57,66,72,85,91,122,124,162,177,179,183,189,207,208,209,211,212,213,217,224,229,237,238,248,253,254,266,267,268,269,273,274,284,287,293,294,301,302,303,305,312,314,315,320,321,322,332,342,352,355,379,380,381,382,394],main_ct:272,main_dcd:272,main_ri:[265,272],main_rx:272,main_rxd:272,main_tx:272,mainli:[1,11,107,196,197,198,214,248,269,292,301,323,326,372,379,384,391],mainstream:[253,254,260],maintain:[21,103,162,211,238,255,272,379],mainten:250,major:[29,109,162,356,374],major_tick_len:162,make:[35,89,94,98,103,162,178,185,186,187,208,211,212,220,235,250,302,311,321,327,347,349,351,363,378,379,381],makefil:316,malici:379,mall:[218,225,231,254,300,356,372,384],mall_id:384,mall_pag:384,malloc:[331,379],man:384,manag:[29,121,162,168,207,212,213,235,253,274,292,293,306,307,311,312,324,337,338,340,342,343,345,360,363,381,385],mandarin:277,mandatori:[92,95],mani:[4,23,30,31,111,115,120,128,162,212,220,221,238,250,255,272,277,293,305,306,319,323,327,339,344,349,351,352,355,378,379,380],manipul:[29,121,162,379],manner:[2,358,379],manual:[1,11,91,117,138,163,168,169,173,174,175,177,186,199,203,204,205,207,208,212,217,218,223,224,228,233,236,253,254,255,258,266,267,268,272,282,284,289,293,299,300,314,315,320,336,343,348,354,355,356,360,369,378,381,382],manual_v1:258,manufactur:[177,191,192,193,199,208,212,220,221,238,250,331,347,363],maopi:111,map0:339,map1:339,map:[9,25,29,39,116,121,123,162,197,212,224,229,246,263,267,268,272,293,303,339,360,379],map_typ:339,march:[134,162],margin:162,mark:[101,136,162,255,267,277,303,347,378,379,382],markdown:162,marker:[101,379],market:[253,254,255,352],mask:[29,35,37,54,63,115,131,134,138,163,168,326,344],mask_p:162,mask_param:162,maskabl:255,mass:[57,59,221,271,293,378],massiv:369,master:[27,36,66,117,127,173,174,175,195,212,214,220,221,238,243,253,269,284,292,293,300,312,314,315,318,320,342,347,348,352,366,374,377,386,396,399,402],match:[68,168,169,202,203,204,205,212,220,293,318,358,363,383],materi:[266,295],material_dark:89,material_light:89,material_no_focu:89,material_no_transit:89,math:[168,378],mathemat:[168,378],matic:162,matrix:[29,93,121,123,138,163,171,327],matter:[210,378,379],max30102:[29,121],max:[14,27,29,162,168,214,218,250,378],max_char_num:162,max_h:162,max_temp:29,max_tick:29,maxbuff:343,maxim:[6,66],maximum:[11,12,16,21,30,31,59,74,89,93,94,98,107,109,125,128,130,131,138,163,180,181,182,185,196,197,198,211,212,238,260,268,277,293,299,300,342,356,361,367,369,374,375,378,379,381,382],maxinteg:168,maxout:29,maxsiz:29,mbedtl:115,mbox1:162,mbox:162,mbox_set_anim_tim:162,mbox_stop_auto_clos:162,mbp:[243,294],mc68hcxx:[196,197,198],mcc:[29,94],mclk:29,mco:[253,254,293],mco_plldiv:251,mcp25125:269,mcp2515:54,mcp2515_c:63,mcp2515_int:63,mcp2515_spi:63,mcpwm:289,mcu:[11,29,31,63,72,94,99,121,128,131,137,165,177,180,181,182,184,201,208,212,213,217,221,224,225,231,238,250,255,268,272,294,300,328,332,347,348,355],mcu_font:162,mcuisp:255,md5:[29,32,170,209,282,346],md5_stream:6,md:[29,292,312,318],md_file:29,md_sha1:107,md_sha256:107,mdeb:250,mdelai:[29,201],mdh201808109:[223,228],mdk5:[214,248,301],mdk:[217,218,249,250,293],me:[207,212,406],meal:277,mean:[1,13,16,18,31,36,57,67,91,94,115,117,119,124,128,136,162,170,173,174,175,214,255,266,272,293,313,326,349,350,354,363,366,372,376,378,379,381],meaning:[57,102,115,134,333,379],meaningless:[57,94,98,272],meanwhil:326,measur:[0,29,36,90,121,169,176,177,208,212,220,221,266,327,333,356,358,360,361,363,367,374,375,379],measured_pow:29,mechan:[18,94,109,124,125,133,168,201,212,220,255,269,325,328,329,330,332,333,334,340,372,379,380],medium:[185,186,187],meet:[212,220,221,250,260,269,272,294,306,339,355,356,366,372,374,378,379,381],megabyt:293,melon:162,mem:[109,329],member:379,memcmp:136,memcpi:136,meminfo:[29,171,302,321,322],memori:[4,9,12,15,29,30,36,78,79,89,92,109,115,117,121,127,137,162,191,192,193,211,212,220,247,250,255,257,264,268,273,300,302,304,321,322,323,324,330,332,334,337,339,345,347,352,355,369,378,379],memset:136,mention:[212,220,255,330,369,378,379,381],menu:[106,210,214,248,269,301,319,320],menuconfig:285,merg:[9,114,136,138,163,268,355],messag:[1,26,34,55,59,63,94,95,98,102,109,114,115,117,122,124,125,133,134,138,163,168,177,179,201,208,211,212,220,250,253,268,293,324,325,331,333,336,337,345,348,349,351,369,380,381,382],messagequeu:381,met:[68,326,378,379],meta:[95,114,168,312,336,378],metabl:379,metadata:[29,95,114,121],metat:168,meter:[39,44,138,163,356,360,361,372,374,375,378],method:[1,3,13,19,20,25,27,29,67,89,95,106,111,117,122,125,128,133,162,165,168,170,172,201,203,204,205,212,214,220,238,248,249,250,253,254,266,268,293,301,304,305,313,318,319,324,327,329,330,331,336,337,343,345,348,349,350,354,358,360,378,380,381,382],method_:379,metr:39,mg:65,mhz:[29,162,211,238],micro:[297,298,300],microchip:299,microcomput:380,microcontrol:[66,162,238,255,381],microprocessor:[185,186,187],micropython:162,microsoft:[210,248,254,284,289,301,326,369],middl:[10,36,127,162,210,249,277,304,376,379],middlewar:[337,338,345],midlin:162,might:[162,379],migrat:[251,255,379],mile:39,millisecond:[21,57,58,59,67,72,94,96,103,109,122,132,162,173,174,175,277,333,382],millivolt:[10,103],min:[39,68,99,108,162,168,189,212,378],min_temp:29,mingw32:302,mingw64:302,mini:255,miniatur:260,minim:[162,369],minimum:[12,31,93,94,96,98,127,162,212,214,224,238,268,293,320,355,369,379],mininteg:168,miniz:[12,29,121,137,268],minor:29,minor_tick_len:162,minu:[29,30,57,162,379],minut:[11,24,39,57,68,72,98,103,134,184,189,209,211,212,269,287,293,333,381],minute_offset:39,mipp:356,mirror:[138,163],misalign:255,miscellan:378,miso:[29,66,212,220,272],misrecogn:[358,363,372,373,376],miss:[210,211,248,318,379],mission:60,mistak:128,mistakenli:372,mix:[94,112,134,162,243,379],mkd:19,mkdir:29,mkf:29,mlx90614:[26,54,268],mlx90614_ambient:64,mlx90640:[29,121],mmm:39,mnc:[29,94],mo:[162,372],mobil:[29,32,55,58,67,114,115,121,162,211,257,265,266,268,269,273,292,355,356,358,363,384],mock:311,mod:379,mod_typ:169,modbu:[6,101,324,337,345],modbus_slav:335,modbus_t:335,mode2:29,mode:[1,3,10,23,24,29,31,32,33,34,36,43,54,64,66,67,73,85,89,92,94,95,109,110,111,115,128,138,163,165,168,171,184,191,192,193,196,197,198,207,209,211,212,214,220,221,226,232,238,243,249,253,254,260,266,267,268,269,272,273,275,284,289,293,300,319,326,332,339,340,342,344,354,356,360,374,376,381],mode_ble_cli:98,mode_i2:27,mode_key_input:79,mode_led_output:79,mode_lsb:27,mode_msb:27,mode_norm:162,mode_rx:74,mode_tx:74,model:[22,26,29,66,86,87,89,103,109,111,117,138,163,196,197,198,207,212,214,220,253,254,255,269,284,289,293,320,355,366,372,394,405],model_1in02d:10,model_1in54:[10,394],model_1in54_v2:10,model_1in54_v3:10,model_1in54b:10,model_1in54b_v2:10,model_1in54c:10,model_1in54r:10,model_2in13:10,model_2in13_v2:10,model_2in13bc:10,model_2in13d:10,model_2in54b_v3:10,model_2in66:10,model_2in66b:10,model_2in7:10,model_2in7b:10,model_2in9:10,model_2in9_v2:10,model_2in9b_v3:10,model_2in9bc:10,model_2in9d:10,model_3in7:10,model_4:10,model_4in2:10,model_4in2b_v2:10,model_4in2bc:10,model_5in65f:10,model_5in83:10,model_5in83_v2:10,model_5in83b_v2:10,model_5in83bc:10,model_7in5:10,model_7in5_hd:10,model_7in5_v2:10,model_7in5b_hd:10,model_7in5b_v2:10,model_7in5bc:10,moder:378,modev:29,modf:168,modif:[162,255,268,331,376,379],modifi:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,116,117,118,119,120,122,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,163,177,178,207,208,217,253,268,272,293,303,304,309,313,318,320,328,348,349,351,354,372,374,378,379],modnam:168,modul:[13,23,29,30,37,54,66,67,73,94,103,106,108,115,121,123,124,134,162,168,170,184,185,186,187,202,203,204,205,207,208,212,218,220,221,223,224,228,229,237,243,245,246,251,253,259,263,267,268,270,271,272,274,283,285,292,293,299,318,326,328,330,331,345,348,352,355,356,374,381,382,398,404],moduledemo:[214,251],modulo_264_:379,modulu:379,mold:[10,127],mollit:162,moment:[93,379],mon:[68,99,108,189,212,268],monetari:379,monitor:[211,213,385],monkei:378,mono:89,monochrom:[10,162],monospac:[162,210],month:[39,57,68,138,163,189,212,378,379],month_names_arrai:162,montserrat:162,montserrat_14:162,more:[0,1,4,5,11,31,38,39,72,91,92,94,98,115,162,173,174,175,180,181,182,207,211,212,218,220,221,250,254,255,266,268,269,270,303,305,318,319,326,331,344,348,352,354,355,356,358,363,366,367,369,372,374,378,379,381],more_a_:379,more_data:1,morn:378,mosi:[29,212,220],most:[5,24,25,103,115,118,128,132,137,162,189,201,202,203,204,205,212,220,255,269,302,311,324,331,337,345,352,363,372,377,378,379,381],mostli:[115,162],mother:[213,214],motion:211,motiv:[324,337,345],moto6800:289,motor:293,motorola:[196,197,198],moun:[191,192,193],mount:[29,30,53,109,110,130,166,177,190,194,208,212,220,268,284,328,352,356],mount_flash:[191,192,193],mount_point:29,mous:[162,293,369],mouth:[250,363],move:[30,91,128,130,136,138,163,168,203,204,205,255,334,369,372,378],movement:[162,211],mp3:[4,268,273,277],mp4:166,mpram:211,mpu6050:54,mpu6500:54,mpu6xxx:54,mpu9250:[54,268],mpu:243,mqtt:[29,32,55,72,121,268,269,273,275,296],mqtt_client:95,mqttc:29,mr122:4,mr475:4,ms:[13,24,29,86,87,94,95,125,133,214,277,381],msb:[10,27,36,63,66,71,73,74,87,113,117,128,166,178,191,192,193,195,196,197,198,212,220,342,343,348],msc:250,msdbox:[138,163],msdbox_demo:162,msg:[1,29,66,124,133,304,305,324,330,337,345,379,381],msg_gpio:330,msg_timer:381,msgbox:162,msgbox_:162,msgbox_add_btn:162,msgbox_creat:162,msgbox_get_active_btn_text:162,msgbox_part_btn:162,msgbox_part_btn_bg:162,msgbox_part_main:162,msgbox_set_text:162,msgbu:[305,324,337,345],msgbuf_send:330,msgbus_clear:330,msgbus_current_s:330,msgbus_list:330,msgdata:[325,330],msgh:168,msgid:[29,109,330],msgtype:[325,330],msp:255,mspinit:255,msy:302,mtu:98,much:[12,23,115,162,212,220,266,269,331,358,372,378,379,381],muid:29,muldownload:274,multi:[10,29,66,89,106,121,123,162,209,211,218,238,260,293,336,348,356,361,374,375,379,381],multimedia:[27,29,121],multimet:[221,356],multipl:[0,1,2,27,36,93,94,95,98,100,103,110,127,136,162,212,213,226,232,238,254,255,260,268,271,272,277,293,294,300,303,332,339,347,348,352,353,369,379,380,381],multiplex:[21,91,212,238,251,254,255,266,267,268,271,282,284,293],multipli:[243,379],multitask:[294,305,383],multithread:381,multithreading_:379,music:89,must:[2,3,4,7,13,16,20,21,26,27,30,31,59,66,68,71,72,73,81,85,93,94,95,96,98,100,104,110,115,118,122,131,162,169,202,203,204,205,207,210,212,220,221,238,254,255,265,269,274,277,284,289,303,304,311,314,315,318,320,323,330,331,336,348,354,358,360,363,379,380,381],must_mark_it:379,mutat:[221,372],mute:[271,293],mutual:[324,337,345],mv:[0,169],mwsy:166,my:[96,134,162,212,220,356],my_img:162,my_ir_cb:66,my_map:162,myabc:303,myap:134,myapi:[269,304],myblib:305,myctx:305,myctx_t:305,mydevic:32,myfil:352,myflib:303,myfont:312,myfontd:162,myfunc:[303,312],myid:303,mykei:303,mykv:18,mylib:305,myself:[221,250],myserv:269,mytabl:18,mytim:29,n123:379,n1:[168,277,378],n2:[168,378],n60:162,n:[21,26,29,39,68,71,89,91,101,111,120,122,128,130,133,162,168,203,204,205,213,226,232,260,266,277,309,334,378,380,381],n_refer:379,na:238,nabc:120,name:[1,3,6,10,18,19,23,24,29,32,54,57,58,60,94,95,104,113,115,118,121,124,128,134,138,163,168,172,196,197,198,202,203,204,205,210,212,214,220,223,228,238,245,248,250,262,268,269,272,284,285,301,304,305,310,312,314,315,318,319,320,328,336,345,346,347,352,354,372,378,382,385],name_font:319,name_wil:379,namelist:379,namespac:312,namewhat:379,namework:379,nan:379,narg:379,narr:379,nation:[29,121,254,266,268],nativ:[30,134,212,220,302,322,328,355,379],natur:[162,378,379],navig:[138,163,304],nb:[4,29,121,247],nbio:96,nbiot:[29,121,282,355],nc:[238,284,294],ne:[29,121],nearbi:220,nearest:[162,379],nec:[33,54,341],necessari:[1,36,91,102,109,133,217,221,250,255,266,293,303,304,306,323,347,358,363,372,378,379],necessarili:[103,123,325,378,379],necir:54,need:[0,1,2,3,4,5,6,10,12,13,15,21,22,24,26,27,29,30,34,35,36,38,39,40,41,42,44,45,46,47,48,49,51,53,55,56,57,58,59,61,62,63,64,65,66,67,69,70,71,72,74,75,76,77,80,82,83,84,89,91,94,95,96,98,102,103,104,112,114,115,116,117,123,124,126,127,128,131,134,135,162,166,171,173,174,175,180,181,191,192,193,196,197,198,207,210,212,214,218,220,221,238,248,250,251,254,255,257,260,267,268,269,272,284,285,289,292,294,301,304,305,311,313,314,315,318,319,323,324,326,327,335,336,337,338,339,341,345,348,352,354,355,358,360,363,366,369,372,374,376,378,379,380,382,384],need_ipv6_dn:29,needl:[138,163,289],needle_color:162,needle_id:162,needle_num:162,neg:[36,39,78,79,91,162,258,348,358,363,372,373,376,378,379,381],neighbor:123,neither:379,nest:[300,335,379],net:[96,162,344,369],net_l:245,net_readi:122,net_status_ind:[381,382],netc:[38,54],netcom:273,netl:[54,272],netlab:115,netmask:[29,344],network:[24,29,32,54,57,58,60,72,81,95,96,103,121,123,131,134,135,170,211,257,265,266,268,269,271,272,273,292,293,318,324,330,333,337,344,345,379,385],network_check_period:29,network_ctrl:115,network_force_close_socket:268,never:[162,185,186,187,325,379],nevertheless:379,new_apn_nam:29,new_data:130,new_nam:29,new_netc:115,new_param:162,new_path:29,new_scr:89,new_valu:162,newcnt:255,newer:162,newindex:379,newli:379,newlin:[162,378,379],newnam:168,next:[13,14,29,31,115,135,162,168,210,212,220,248,255,268,269,292,326,358,360,373,377,378,380,381,406],next_id:29,nexti:353,nfc:211,nic:115,nice:162,nightli:213,nil:[0,1,3,4,5,6,7,10,11,12,13,14,15,16,18,19,20,21,23,24,25,26,27,28,30,34,36,38,39,40,43,45,46,57,58,59,63,66,67,68,71,72,74,81,85,87,88,89,90,92,93,94,95,96,98,99,100,103,104,105,106,107,108,109,110,111,112,113,114,115,117,118,119,122,123,124,125,126,127,128,129,130,131,133,136,162,172,209,212,220,305,344,348,379,380,381,382],nimbl:[29,121,296],nine:54,nisi:162,nline2:162,nline4:162,nmea:[29,121],nmi_handl:214,nmo:66,no_autoat:[217,293],no_error:135,no_n:379,no_readi:130,noclear:29,node:255,nodebug:72,nodej:162,nois:[39,94],nojtag:255,nomin:[98,361,372,375],non:[6,7,18,20,26,29,38,39,54,66,72,91,94,98,106,117,121,122,124,162,191,192,193,211,253,267,268,269,272,292,293,305,306,312,335,343,348,356,363,378,379],non_rel:7,nondeterministic_parsing_flag:92,none:[0,1,2,4,5,6,7,10,12,13,14,16,18,19,20,23,25,27,28,30,31,33,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,53,55,56,57,59,60,61,62,63,64,65,66,67,68,70,71,73,74,75,76,77,78,79,80,81,83,84,85,86,87,88,89,90,91,93,94,95,96,98,99,100,103,104,106,108,109,110,111,113,114,115,116,118,120,122,123,124,127,128,129,130,131,132,133,134,135,136,162,171,203,204,205,254,272,318,327,341,343,348,354,379,381,382],nonsens:209,noop:19,nop:[29,111],nor:[103,275,379],nordi:123,norm:221,normal:[3,9,63,86,87,94,95,96,103,127,133,134,137,162,191,192,193,202,203,204,205,207,210,212,213,218,220,221,226,232,235,238,248,250,255,266,267,268,272,284,285,289,292,300,301,305,314,315,318,363,369,372,373,378,379,381,393,394],north:39,nostrud:162,notat:379,note:[0,1,3,10,11,12,13,18,21,26,27,29,30,36,40,41,42,44,46,47,48,49,51,53,55,56,57,59,61,62,63,64,65,67,68,69,70,71,72,74,75,76,77,80,82,83,84,91,94,98,99,103,104,106,107,108,114,115,117,118,122,124,127,130,134,135,136,162,169,173,174,175,202,214,220,225,227,228,229,231,234,235,238,255,259,266,269,271,272,273,274,277,284,289,293,296,301,304,305,311,314,315,318,319,320,325,326,334,335,348,349,351,353,354,356,358,369,378,379,381,394,405],noth:[109,305,329,356,379],notic:162,notif:[115,300],notifi:[95,98,162,250],novel:383,novemb:[162,212],now:[132,162,294,306,334,377,378,379,381],nparam:379,npm:162,npn:[191,192,193],nr:39,nrec:379,nresult:379,nrst:255,nsec:162,nsecond:162,nsize:[329,331,348,379],nstinput:29,nstonoff:29,nstr:255,nth:101,nthird:162,ntp1:115,ntp2:115,ntp:[115,266,273],ntp_error:115,ntp_updat:[115,266],nulla:162,num:[29,114,162,344,378],num_channel:[4,29],num_table_ax:[78,79],num_tick_mark:162,numa:353,numb:353,number:[0,1,2,4,6,7,8,10,11,13,14,17,18,19,21,23,25,26,27,28,29,30,31,32,33,34,36,37,39,40,41,42,44,45,46,48,49,50,51,53,55,56,57,58,59,62,63,64,65,66,67,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,89,90,91,93,95,97,98,101,102,103,105,107,109,111,113,114,115,117,119,120,123,124,127,128,130,131,133,136,138,163,171,172,177,178,179,183,207,208,212,220,223,228,230,238,245,255,262,268,269,271,272,274,282,284,289,293,304,318,323,326,333,334,339,341,342,344,346,347,348,353,354,356,358,363,372,373,376,379,380,381,382,393],number_:379,numbl:57,numer:[21,85,99,103,127,162,274,277,325,330,333,353,378,379],nup:379,nvic:300,nvm:[293,347],nvm_addr:347,nxp:68,nyou:162,o1:277,o2:5,o3:[5,283],o:[3,31,162,217,238,277,293,321,358,363,378,379],obj:[29,138,163,168],obj_add_styl:162,obj_align:[89,162,212,220],obj_align_origo:162,obj_clean:162,obj_creat:[89,162,212,220],obj_del:162,obj_get_height:162,obj_get_st:162,obj_get_width:162,obj_l:162,obj_part_main:162,obj_set_adv_hittest:162,obj_set_auto_realign:162,obj_set_click:162,obj_set_drag:162,obj_set_event_cb:[29,162],obj_set_height:162,obj_set_po:162,obj_set_s:162,obj_set_signal_cb:29,obj_set_style_local_bg_color:162,obj_set_style_local_text_font:162,obj_set_style_local_value_str:162,obj_set_width:162,obj_xxx:162,object:[26,34,36,55,64,68,87,89,93,113,117,122,128,130,136,138,163,168,191,192,193,203,204,205,212,220,330,349,351,378,381],object_:379,objects_:379,objmask:[138,163],objmask_add_mask:162,objmask_cr:162,objmask_demo:162,objmask_mask_t:162,objmask_part_bg:162,objmask_remove_mask:162,objmask_update_mask:162,observ:[128,169,212,213,220,221],obsolet:[29,94,121,379],obtain:[6,14,16,17,18,32,39,44,49,52,53,57,65,72,84,89,90,91,93,94,96,98,99,102,111,113,115,118,128,131,134,136,162,177,183,194,207,208,211,212,220,255,268,271,274,293,305,311,327,328,344,354,378,379,381,382],obvious:[165,378,381],occaecat:162,occas:[293,372],occasion:379,occup:[319,374],occupi:[15,115,117,221,266,284,289,352,379],occur:[1,115,221,255,360,372,379,381],occurr:379,octal:378,octob:[20,134,162],octuari:379,odd:[128,343,378],oe:73,of_ex_:379,of_intermitt:379,of_set_:379,of_step:379,of_templates_separ:379,off:[0,1,5,8,11,21,26,28,29,31,39,54,68,71,72,78,79,94,95,103,105,109,115,118,122,123,126,127,130,132,134,162,169,177,184,199,207,208,212,220,237,250,253,268,292,293,300,301,324,326,337,340,341,345,356,358,363,369,373,374,379,382],offend:162,offici:[5,73,78,91,162,207,208,210,212,220,247,250,273,295,302,318,360,379],officia:162,offlin:[162,253,277,293,318,320],offset:[20,29,36,39,111,127,138,163,168,221,238,294,328,334,347],often:[170,378,379],ohm:238,ok:[6,25,26,39,85,89,90,93,103,115,117,162,191,192,193,248,250,304,305,318,319,323,334,336,343,354,358,363,378,379],okai:162,ol:171,old:[11,20,86,91,98,136,162,212,220,268,379],old_path:29,oldnam:168,om:162,omit:[305,335,339,378],on_lin:[115,268],on_off:29,onboard:[211,212,220,260,284,289,393],onc:[7,11,21,33,72,98,100,103,104,123,132,162,212,213,255,266,333,378,379,380,381],onchip:112,onchip_fdb:[14,172],one:[0,2,16,27,66,72,73,89,114,115,123,128,130,136,162,165,169,191,192,193,196,197,198,200,202,203,204,205,207,212,217,220,221,247,250,253,260,266,267,268,272,277,282,285,289,293,303,304,311,313,325,346,348,358,360,372,378,379,381,382],one_and_zero:6,onenet:[29,54,85,149,268],oneself:250,onet:55,onff:29,onheap:29,onlevel:29,onli:[0,1,2,3,4,10,11,12,13,14,18,19,21,22,26,27,29,30,31,33,34,36,37,39,57,58,60,65,66,67,68,72,89,91,92,94,95,96,98,99,100,102,103,104,106,107,108,109,110,112,115,117,120,121,122,127,128,130,131,133,134,136,138,163,169,173,174,175,182,191,192,193,195,196,197,198,207,212,214,220,221,223,228,233,238,250,253,265,266,267,268,269,272,273,274,277,284,289,292,293,294,296,303,304,305,306,318,323,326,329,330,331,332,335,339,341,346,348,352,354,355,360,363,369,378,379,380,381,382,387,393],onlin:[162,212,269,314,315,320,392],only_references_to:379,onoff:[1,29],onto:[323,379],op:[372,379],opa_30:162,opa_cov:162,opa_transp:162,opac:162,opaqu:379,opcod:133,open:[11,13,21,24,27,29,30,39,43,54,66,68,71,86,87,91,94,95,103,106,110,115,133,138,163,166,168,169,185,186,187,191,192,193,207,210,211,212,213,214,220,221,235,238,251,253,268,269,273,274,284,289,292,293,295,300,304,314,315,318,320,340,342,343,344,348,352,356,360,363,369,372,376,377,378],openf:379,openluat:[11,36,39,57,59,106,207,214,216,225,228,231,236,238,247,248,249,252,258,266,267,269,273,277,297,298,300,304,312,313,314,315,317,318,319,320,352,384,386,396,399,402],openocd:[253,293],openssl:107,oper:[5,11,13,29,30,39,71,78,79,89,103,110,115,121,127,136,162,168,180,181,182,184,191,192,193,196,197,198,201,207,210,212,218,220,221,226,232,243,250,255,266,268,277,289,294,300,302,304,318,324,326,328,330,334,337,345,348,352,353,355,356,358,360,372,373,374,377,380,394],operand:379,operson:104,oppo12:15,oppo:162,oppo_8:15,oppo_bold_12:319,oppo_bold_8:15,opposan:162,opposans_m_10:[89,162],opposans_m_12:[89,162],opposans_m_14:162,opposans_m_16:162,opposans_m_18:162,opposans_m_20:162,opposans_m_22:162,opposans_m_8:162,opposansm8_chines:15,opposit:[115,128,378,379],opt:[29,168],optim:[92,94,268,323,355],option:[2,6,10,12,13,14,17,18,20,21,24,26,27,32,33,36,38,39,55,57,59,69,73,78,81,89,91,94,95,96,98,103,107,115,117,120,122,126,127,128,130,133,134,136,138,163,210,212,217,253,254,268,293,300,302,303,310,321,322,323,335,342,347,348,354,358,363,378,379,385],optional_a_:379,or_closed_:379,or_closure_:379,or_ful:379,or_numer:379,or_out:379,orang:162,order:[36,66,117,162,179,189,212,220,221,250,255,268,284,304,305,306,320,325,326,331,339,342,344,346,348,369,372,377,378,379,380,381,383],ordin:[136,363,369],ordinari:[96,103,162,221,272,305,372,379,393],org:[5,10,36,162,165,212,213,220,273,294,379],organ:[162,352,381],orient:[162,268,314,315,320,379],origin:[0,1,3,4,12,14,18,38,39,92,94,136,162,169,170,254,268,271,284,285,289,293,318,319,326,328,331,347,369,378,379],originstr:29,os:[5,29,30,68,108,115,121,123,133,168,171,189,212,302,321,322,331,333,378],osc:238,oscil:[91,189,212,214,223,224,228,238,255,293,300],oscilloscop:[128,221],osiz:[329,331,348,379],ota:[55,59,72,109,271,293],ota_port:54,ota_url:[54,72,269],ota_vers:72,otf:162,otg:[243,289],other:[1,11,13,16,22,39,54,60,66,72,91,92,94,95,98,103,105,106,109,123,124,128,130,162,189,191,192,193,196,197,198,211,212,213,214,218,220,221,223,228,238,246,248,249,250,253,257,262,266,268,272,284,289,292,293,294,300,301,303,305,306,318,320,323,328,331,335,341,344,346,347,348,353,354,356,358,363,372,373,376,378,379,380,381],otherwis:[1,3,4,6,7,8,10,11,12,13,14,15,17,18,20,21,22,23,25,26,30,34,36,37,43,55,58,68,72,87,88,89,90,91,92,93,94,95,96,97,98,99,100,103,107,108,110,111,112,113,114,115,117,118,119,122,124,127,129,130,132,133,134,135,162,169,202,203,204,205,210,212,218,220,234,255,266,267,268,304,305,314,358,360,372,378,379,380,382],otp:[6,29,121,282,296],otpdata:100,our:[162,165,212,235,248,301,314,315,320,323,378,379],ourselv:378,out0_process:255,out:[11,18,54,66,68,94,107,114,115,117,130,136,162,166,169,173,174,175,196,197,198,212,214,220,255,268,287,289,293,305,311,314,315,318,323,334,369,378,379,381,393],out_buff:29,out_path:29,outbuf:4,outdoor:211,outer:[162,207,379],outermost:325,outlin:162,output:[1,2,3,4,5,7,8,10,20,21,26,29,35,37,39,66,73,79,85,91,94,102,103,105,111,115,116,121,134,136,137,162,165,168,169,170,177,183,188,191,192,193,208,214,217,221,224,238,253,254,265,267,268,272,273,284,293,300,301,311,318,323,324,331,335,337,340,341,345,353,356,358,361,363,367,374,375,380,381,383],output_fil:29,output_od:340,outrevers:29,outsid:[162,207,251,254,268,379],over:[103,109,120,162,255,348,378,379],overal:[162,212,220,221,248,249,269,301,326,378],overflow:[91,300,314,379],overflow_:379,overlap:379,overli:162,overload:379,overrid:[138,163,379],oversea:213,overshoot:89,overview:[138,163,237,253,293,356,388,395],overwrit:[26,309,379],overwritten:18,own:[0,1,2,3,4,6,7,8,9,10,11,13,14,16,17,18,19,20,21,23,24,25,26,27,28,30,31,32,33,34,35,36,38,39,45,53,58,81,86,87,89,94,95,98,100,103,104,105,107,108,109,113,114,115,117,118,119,120,127,128,130,131,132,133,134,136,162,207,211,212,266,301,303,312,341,352,356,363,372,378,379],owner:360,oxygen:90,p0_1:67,p0_4:67,p100:255,p2000:277,p7zip:321,p:[75,101,221,238,277,378,379],p_index:162,pa00:[51,220],pa01:102,pa04:169,pa06:230,pa07:[51,66,230],pa08:230,pa09:230,pa0:[212,220,221,223,238,255],pa10:[230,238],pa11:[230,255],pa12:[102,230,255],pa13:[214,218,230],pa14:[214,218,230],pa15:[230,255],pa1:[127,173,174,212,220,221,223,228,238,255],pa2:[218,228,238,248,249,255,301],pa3:[218,228,238,248,249,255,301],pa4:[127,173,174,212,220,221,223,228],pa5:238,pa6:238,pa7:[21,126,223,238],pa8:238,pa9:238,pa:[1,268],pa_00:[228,262],pa_01:[228,262],pa_02:228,pa_03:228,pa_04:[228,262],pa_05:[228,262],pa_06:228,pa_07:[228,233],pa_08:228,pa_09:[228,233],pa_10:[228,233],pa_11:228,pa_12:[228,233],pa_13:228,pa_14:[228,233],pa_15:228,pac:347,pack:[6,29,121,168,209,213,214,248,250,253,268,293,296,301,334,335,353],packag:[16,23,24,29,72,121,166,168,184,210,212,217,224,225,231,237,247,253,255,258,260,263,268,271,273,282,293,296,299,300,306,307,312,314,315,318,319,320,330,331,334,339,346,347,353,354,360,369,372,381,385],package_air_cn_index:213,package_air_index:213,packet:[38,104,115,212,220,271,274,293,385],packsiz:168,pacman:[314,315],pad12:266,pad28:266,pad:[29,91,103,162,221,258,268,272,289,292,379],pad_bottom:162,pad_index:29,pad_inn:162,pad_left:162,pad_right:162,pad_top:162,padaddr:266,padd_inn:162,padd_left:162,padd_right:162,padd_top:162,padding_bottom:162,padding_inn:162,padding_top:162,paddr:272,padelai:29,page:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,116,117,118,119,120,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,163,196,197,198,207,210,214,227,228,229,231,247,250,253,273,284,285,293,311,319,348,356,358,360,367,369,373,374,377,379,406],page_clean:162,page_cr:162,page_demo:162,page_focu:162,page_get_scrl:162,page_get_width_fit:162,page_glue_obj:162,page_part_bg:162,page_part_scrl:162,page_scroll_hor:162,page_scroll_v:162,page_set_anim_tim:162,page_set_edge_flash:162,page_set_scrl_fit:162,page_set_scrl_fit_height:162,page_set_scrl_fit_width:162,page_set_scrl_height:162,page_set_scrl_layout:162,page_set_scrl_width:162,page_set_scrlbar_mod:162,page_set_scroll_propag:162,pai:[59,68,115,123,210,212,220,238,250,255,272,274,284,323,352,358,372,393],paid:[212,220,238,248,284,289],paint:[36,136],pair:[14,18,63,72,106,118,134,168,172,268,275,381],palett:[138,163],pan:[257,292,317],panel:[300,356],panic:379,panicf:379,paper:[10,379,393,395],papin:29,par:162,para:[29,381],paragraph:[127,304],parallel:289,param1:[29,54],param:[29,123,381,382],paramet:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,162,166,191,192,193,196,197,198,202,203,204,205,212,220,238,255,268,269,271,283,293,294,304,305,306,311,323,326,330,331,335,340,342,343,348,349,351,356,363,372,374,376,379,380,381,382],parametr:162,paraphras:[381,382],parasit:372,parent:[29,162],parenthes:[282,378,379],parenthesi:379,parenthet:379,pariatur:162,pariti:[128,202,203,204,205,212,220],parlist:379,pars:[4,29,35,92,116,121,123,209,325,326,341,378,379],parse_zlib_head:92,parser:379,part:[11,36,57,127,136,138,163,171,176,177,183,188,194,199,206,208,209,212,220,234,266,268,269,277,305,312,314,323,325,331,335,356,360,363,369,372,374,376,378,379,381],parti:[162,253,293,352,363],partial:[0,10,169,255,268,272,282,296,334],particular:[238,378,379],particularli:379,partii:29,partit:[17,29,220,285,347,354],partition_addr:347,partli:378,pascal:379,pass:[1,4,13,16,21,27,36,39,40,41,42,44,46,47,48,49,56,57,59,61,62,65,66,68,69,70,75,76,80,85,86,96,108,109,114,122,128,134,162,191,192,193,203,204,205,221,238,305,316,323,325,330,331,333,335,348,353,356,378,379,381],passag:378,passthrough:16,passwd:29,password:[6,24,29,32,59,71,107,115,138,163,235,292,344,384],past:[6,304,358],patch:[268,284],path:[3,4,24,29,36,82,97,109,135,162,168,211,214,248,250,257,268,292,294,301,302,314,315,318,320,321,322,352,354,381],patha:29,pathb:29,pathc:29,pathd:29,patient:213,pattern:[39,96,98,107,127,162,168,211],pattern_:379,patters_ref:379,paus:[29,89,103,226,232,326,363,374],pavlov:318,payload:[29,133,268,330],payloadlen:[86,87],pb00:[74,86,220,230],pb01:[31,63,71,74,86,127,220,230],pb02:230,pb03:[66,127,220,230],pb04:[63,71,74,86,127,220,230],pb05:230,pb06:[21,78,79,86,230],pb07:[78,79,230],pb08:[73,79,220,230],pb09:[73,230],pb0:[212,214,220,223,238,248,249,301],pb10:[73,220,223,230,255],pb11:[223,230,255],pb12:[102,230,238],pb13:[131,230,238,248,249,301],pb14:[230,238,248,249,301],pb15:[230,238],pb16:230,pb17:230,pb18:230,pb19:223,pb1:[212,220,223,238],pb20:223,pb21:230,pb22:230,pb24:230,pb25:230,pb26:230,pb27:230,pb2:[212,220,223,238],pb3:[13,166,212,220,223,238,255],pb4:[212,220,223,238],pb5:[212,220,223,238],pb6:[212,220,223],pb7:[212,220,223],pb8:[220,223,251],pb9:[223,251],pb:104,pb_00:[228,233],pb_01:[228,233],pb_02:[228,233],pb_03:[228,233],pb_04:[228,233],pb_05:[228,233],pb_06:[212,220,228,233,262],pb_07:[212,220,228,233,262],pb_08:[212,220,228,233,262],pb_09:[212,220,228,233,262],pb_0:213,pb_10:[212,220,228,262],pb_11:[212,220,228,262,284],pb_12:[228,262],pb_13:[228,262],pb_14:[228,262],pb_15:[228,262],pb_16:[228,262],pb_17:[228,262],pb_18:[228,262],pb_19:228,pb_20:228,pb_21:228,pb_22:228,pb_24:228,pb_25:228,pb_26:228,pb_27:228,pbdata:29,pbtxt:104,pc05:90,pc08:131,pc09:131,pc0:[1,169,238],pc12:[166,238],pc13:238,pc14:[166,238],pc15:238,pc1:238,pc3:[234,238],pc4:238,pc5:238,pc6:238,pc7:238,pc8:238,pc9:238,pc:[162,203,204,205,293,356,358,360,361,363,366,367,370,372,373,374,375,376],pcall:168,pcb:[196,197,198,216,233,250,251,254,258,260,267,284,372,392],pcf8563:68,pcf8563t:54,pcf8574:54,pci:94,pclose:331,pcm:[1,4,253,293],pctolcd2002:[10,36,127],pd10:[116,238],pd11:238,pd12:[116,238],pd13:[116,238],pd14:[116,234,238],pd15:[116,234,238],pd1:238,pd2:238,pd3:238,pd6:238,pd7:238,pd8:238,pd9:238,pd:[356,358,361,366,367],pdf:[68,162,169,185,186,187,196,197,198,203,204,205,215,216,218,222,223,228,233,234,236,249,252,258,267,295,297,298,300,379,390],pdn_type:29,pdop:39,pe00:116,pe01:116,pe02:116,pe08:166,pe09:166,pe0:238,pe10:238,pe11:238,pe1:238,pe2:238,pe3:238,pe6:[175,238],pe7:[175,238],pe8:238,pe9:238,peach:378,peak:[268,363,369,372],pear:378,peer:115,pelulamu:162,pem:[95,107],pend:[255,268,339,379,381],pendsv_handl:214,penetr:72,penultim:378,peopl:[250,353,378],per:[39,50,72,91,162,177,183,208,268,380,382],percent:354,percentag:[1,162,376,379],percept:379,perfect:[72,98,162,268,378],perfectli:[210,377],perform:[30,31,67,89,94,103,109,207,211,212,221,237,250,253,268,269,293,311,314,326,333,336,356,363,374,378,379,380],perhap:[352,378],perimet:378,period:[21,26,29,91,94,98,115,123,124,125,162,201,212,220,221,255,266,268,272,293,319,369,381],peripher:[91,98,103,117,138,173,174,175,177,195,199,208,212,217,218,220,237,243,248,253,254,255,260,268,269,273,282,289,293,294,301,302,311,324,337,345,355],perisan:162,perman:[24,109,221,382],permiss:379,perpendicular:162,perpetu:119,persian:162,persist:319,person:[104,381],perspect:[267,272,306],phase:[354,360,366],phenomena:360,phenomenon:[220,253,293,360,369,372],philip:[173,174,175,212,220],phone:[29,94,123,211,257,292,356,358,363],photo:3,photograph:[3,388],php:39,phycellid:29,physic:[106,272],pi:[168,295],piao:250,pick:[266,369,378],picker:162,pico:295,pictur:[3,36,138,163,210,212,220,268,312],pid:29,pide:29,pie:[295,356,361,372,374,375],piec:[1,113,136,212,220,352,379],pilot:33,pin0:[171,301],pin1:[29,171],pin2:29,pin2pin:407,pin33:21,pin:[1,10,13,26,29,35,36,43,50,51,54,63,66,67,68,71,73,74,78,79,86,90,94,112,116,117,121,123,127,128,131,138,163,165,166,171,177,178,199,208,212,213,214,218,220,221,222,224,226,227,229,232,234,237,246,247,248,249,250,253,256,260,263,265,266,267,268,272,287,291,293,296,300,301,330,331,340,360,363,394],pin_busi:[29,87],pin_c:[29,87,178],pin_chang:94,pin_clk:29,pin_dat:29,pin_dc:[29,36,166,178,212,220],pin_dio1:87,pin_dis:94,pin_en:94,pin_pwr:[10,36,166,178,212,220],pin_reset:[29,87],pin_rst:[10,36,166,178,212,220],pin_unblock:94,pin_verifi:94,pin_xxxx:94,ping:[86,87,123,277],pinmod:213,pinout:[217,220,224,229,237,253,259,271,293,299],pio:67,pipelin:289,pivot:162,pivot_i:162,pivot_x:162,pix_fmt:166,pixel:[10,29,36,93,127,162,165,293,334,388],pkcs5:20,pkcs5pad:20,pkcs7:[6,20,170,268],pkg:[307,311,312,316,317],pkgid:268,pkx:29,pky:29,place:[26,107,127,162,166,179,212,217,220,221,238,250,266,293,305,314,315,320,352,358,378,379,393],placehold:[138,163],placement:221,plai:[29,138,167,268,277],plain:[168,277,378],plan:[162,250,255],plat:[316,318],plate:[358,372],platform:[1,11,16,19,20,21,29,54,59,91,94,95,103,115,121,128,133,138,141,152,158,167,250,255,260,268,269,273,274,292,313,319,323,324,330,337,338,345,352,369,379,380],playback:[1,138,268,273],playstop:29,pld_0204:250,pleas:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,116,117,118,119,120,122,124,125,126,127,128,129,130,131,132,133,134,135,136,137,145,162,207,210,212,213,217,220,225,227,228,229,231,233,234,235,238,248,250,254,255,266,268,269,270,272,273,284,285,289,293,295,300,301,305,311,313,318,319,320,349,351,356,358,360,363,367,369,372,378,379,384,387,393],pll:[91,238,243,253,254,293],pllclk:251,plot:162,plu:[29,162,196,197,198,255,366,378,379,381],plug:[190,207,210,211,212,220,249,253,268,292,293,356],plural:162,pm10:84,pm1:84,pm2:84,pm:[29,109,121,177,207,208,212,226,232,266,268,272,332],png:[162,238,268,293,319],pnum:29,po:[162,168,378],point:[2,10,13,29,30,34,36,39,71,72,89,93,99,121,127,136,138,163,168,191,192,193,207,221,268,324,337,338,345,369,378,379,406],point_arrai:162,point_cnt:162,point_num:162,point_t:162,pointer:[10,13,14,15,18,22,27,30,36,89,111,117,118,119,128,129,130,136,162,191,192,193,203,204,205,327,330,331,334,335,339,379],pole:[358,363],poli:29,polici:[162,271,293],poll:343,polygon:127,polynomi:[6,254],pong:378,pool:[324,331,337,345],pop:[162,250,268,304,311,363,369,379],popen:[168,331],popul:[136,329,334,379],popular:360,popup:318,porridg:[250,314,315,320],port:[3,10,13,24,26,29,36,39,54,59,63,71,77,82,94,106,111,121,123,135,166,177,178,180,181,202,206,207,208,209,212,214,217,220,221,234,248,249,250,254,266,267,268,272,284,289,293,301,308,311,314,315,326,342,343,344,348,354,356,358,361,363,366,372,373,374,375,380,385,398,404],portabl:[249,291,293],portal:[207,249,284,289,297],portcon:300,portion:[162,379],posit:[16,27,30,36,39,54,57,59,88,93,101,111,119,123,127,128,130,136,138,163,211,214,248,253,258,268,269,271,273,277,293,301,334,346,348,353,358,361,363,369,372,373,375,376,378,379,381,385],posix:[115,321,331,352,379],possibl:[87,95,162,190,221,238,250,255,266,268,269,293,303,304,320,336,358,360,372,378,379],post:[24,25,38,106,200,212,220,349,351,355],potenti:379,pour:268,pow:379,power:[0,1,13,29,53,66,86,87,91,94,96,98,121,123,127,134,162,165,169,180,181,189,207,212,220,224,229,237,250,255,260,265,267,268,271,272,282,287,291,293,300,311,324,337,338,344,345,355,363,366,369,378,379,385,393],power_kei:238,power_on_delai:29,power_pin:29,powerkei:[103,268],powerlevel:29,poweroff:268,powersav:29,powershel:[166,318,320],pp:[356,361,363,366,369],ppb:83,ppm:83,pr:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,116,117,118,119,120,122,124,125,126,127,128,129,130,131,132,133,134,135,136,137],practic:[162,212,224,293,349,378,379],pre:[208,253,293,379],preamblelen:[86,87],precaut:[106,138,163,253,287,293,360],preced:[20,94,103,348,379],precis:[29,34,39,91,162,177,183,189,208,212,221,243,300,341,356,361,372,374,375,379],precompil:[302,379],predefin:[162,379],prefac:379,prefer:[78,115,128,213],preferenti:[284,289],prefilt:162,prefix:[29,162,336,348,379],prefixexp:379,preliminari:380,preload:[162,168],prematur:24,premis:[134,360,372],prepar:[12,92,138,149,167,176,177,183,188,194,199,206,207,208,217,224,253,271,293,299,305,352,378,379],preparatori:[349,351],prepend:379,presenc:272,present:[111,162,189,195,212,295,305,323,327,354,379],preset:372,press:[35,47,79,89,97,103,116,123,162,171,178,207,210,212,218,220,238,248,284,285,289,292,301,304,363,369,373,376,379],press_sta:51,pressur:[0,54,111,268,372,379],presuppos:379,prevail:[39,282],prevent:[5,54,66,128,169,220,221,238,250,323,369,372,379],preview:[162,235,356,369],previou:[13,26,106,134,162,166,168,172,212,217,220,250,268,293,311,346,372,378],previous:[36,162,172,255,293,379],price:[162,212,356,378],primari:[94,98,118,162,272],primit:[89,379],principl:[162,166,168,202,203,204,205,212,220,331,379],print:[2,3,5,17,18,19,20,21,29,32,51,54,63,64,69,71,74,85,91,96,102,104,106,107,109,115,120,122,133,162,166,168,169,170,172,179,182,184,189,195,201,202,203,204,205,207,212,213,220,234,245,268,284,289,293,304,305,307,342,343,347,349,351,353,376,378,380,381],printabl:379,printer:89,printf:[162,213,253,293,378,379],printout:378,prioriti:[94,103,109,168,214,253,268,293,300],privat:[19,24,29,59,95,107,115,162,323,331,358,363,372,373,376,379],privkei:107,prj:[307,308,310,311],prlh:255,prll:255,pro:[366,369,373,375],proactiv:106,probabl:[103,111,214,253,268,289,292,293,320,358],probe:[115,308,379],problem:[24,95,102,162,207,214,221,248,250,254,255,257,268,289,294,301,305,306,314,315,319,320,324,331,337,339,345,369,378,379,381],proce:379,procedur:[255,268,379,381],proceed:166,process:[1,6,12,13,16,26,29,66,91,92,94,95,98,103,105,106,109,114,117,120,121,135,162,168,190,191,192,193,201,202,203,204,205,207,211,212,213,220,221,250,255,268,271,293,300,302,305,311,324,331,335,336,337,345,348,353,380,381,382,383],processor:[162,196,197,198,218,260,289,325,379],produc:[189,212,299,330,333,372,379],product:[32,55,57,59,91,138,162,167,221,237,250,258,271,287,291,293,356,366,367,369,378],product_id:29,product_kei:[29,57,269],product_secret:55,productkei:54,produt_id:[29,55],profil:[259,293,379],prog:168,program:[99,103,104,162,165,168,177,208,221,234,235,243,247,255,264,289,292,293,300,304,311,324,337,345,353,354,377,381],program_:379,programm:[162,253,293,379],progress:[138,163,212,268,282,296,348,354,376],prohibit:[33,221,238,348,358,363,372,373,376],proident:162,project:[32,40,57,72,94,141,149,152,158,169,172,173,174,175,179,180,181,182,185,186,187,191,192,193,196,197,198,200,201,203,204,205,207,209,210,212,214,235,248,250,251,255,269,274,287,292,293,294,295,301,306,307,316,318,347,352,372,380,393,395],prompt:[10,20,36,102,105,127,162,248,255,268,304,309,310,318,320,354,369,379],pronunci:[271,293],proof:250,propag:[138,163,379],proper:378,properli:[162,255,268,379],properti:[23,36,98,136,162,250,268,379],proport:162,proportion:162,prosecut:162,protect:[136,165,212,250,253,292,293,358,374,379],protobuf:[29,121,268],protobuff:[29,121],protoc:104,protocol:[29,54,111,115,133,173,174,175,196,197,198,202,203,204,205,211,212,220,238,249,260,268,271,293,300,324,337,341,345,354,358,360,363,372,373,376,379],protocolbuff:104,prototyp:[304,329,331,379],prove:[162,207,360,363],provid:[6,14,18,73,106,127,162,170,172,173,174,175,177,189,196,197,198,208,211,221,238,243,246,250,263,266,268,271,293,300,305,306,312,314,315,318,320,323,327,328,329,330,331,332,334,340,342,343,344,347,348,352,355,356,358,360,363,369,372,373,376,378,379,381,383],proxi:[9,326],ps:[134,260,272],ps_max_modem:134,ps_min_modem:134,ps_none:134,pseudo:379,psk:[115,275],psm:[94,96,103,268,385],psmmode:29,psram:[212,243,282,289,294,355],psram_c:228,psram_clk:228,psram_d0:228,psram_d1:228,psram_d2:228,psram_d3:228,ptr:[305,325,329,330,331,348,379],ptrdiff_t:379,ptw:96,pub:[124,380],publish:[26,29,54,117,133,200,212,220,257,268,336,345,349,351,380,381],pubout:107,puc:379,puk:94,pull:[1,13,23,29,31,117,196,197,198,212,218,220,221,226,232,238,253,254,255,268,272,284,293,300,340,356,360,379],pull_mod:29,pulldown:[21,31],pullup:[21,31,67,68,72,119,212,220,272,331],puls:[29,50,73,185,186,187,212,220,255,272,289],punctiv:255,punctuat:[378,379],purchas:[209,213,214,217,224,229,250,253,263,293,299,355,356,372,388,393,395,398,401,404,407],pure:[127,208,323,348,363,366,367,374,378],purpos:[23,66,94,135,162,238,253,289,293,300,348,379],push:[29,238,300,304,305,323,340,348,379],put:[24,25,38,94,162,207,212,213,220,268,277,304,305,319,320,330,358,378,379],puzzl:319,pw:344,pwb:284,pwd:[19,29],pwk_mode:[103,207],pwlink:250,pwm00:186,pwm0:[105,185,220,223,238],pwm11:272,pwm1:[223,238,272],pwm2:[223,238],pwm3:[223,238,272],pwm4:[223,238],pwm5:[105,187,238,272],pwm6:238,pwm7:238,pwm:[29,31,33,91,111,121,165,177,208,224,243,260,267,268,271,273,282,284,289,293,296,300,341,383],pwm_00:228,pwm_01:228,pwm_02:228,pwm_03:228,pwm_04:228,pwm_10:228,pwm_11:228,pwm_12:228,pwm_13:228,pwm_14:228,pwm_20:228,pwm_21:228,pwm_22:228,pwm_23:228,pwm_24:228,pwm_30:228,pwm_31:228,pwm_32:228,pwm_33:228,pwm_34:228,pwm_captur:105,pwmh:105,pwml:105,pwr:[207,214,265,266,267],pwrkei:[103,272,292],pxxx:102,py:[285,316,320],pyocd:[249,250],python:316,q2:372,q:[285,302,379],qa:73,qcloud:29,qfn32:[224,225,282,296],qfn56:[212,231,282,296],qfn88:[238,282],qh:73,qio:284,qmc5883l:54,qmc5883l_data:70,qo:[29,54,268],qos0:95,qos1:95,qos2:[95,268],qq:[104,212,218,225,231,247,319,349,351],qr:89,qrcode:[29,36,127],qrcode_cr:29,qrcode_delet:29,qrcode_upd:29,qspi:211,qszz:39,quadrant:379,qualcomm:[29,89,121,268,390,395],qualifi:318,qualiti:[4,29,94,162,356],quantiti:[94,255,282,379],quantity_:379,quantiz:255,quasi:269,queri:[29,30,57,66,72,94,118,123,177,183,196,197,198,208,268,275,311,326,329,379,382,385],question:[106,162,250,372,379,384],queu:331,queue:[31,109,124,305,325,330,331,381,382],qui:162,quick:[138,163,208,255,304,312,355],quickli:[92,103,162,171,211,268,355,356,366,378,379,383],quiescent:300,quit:[220,335],quot:[162,305,354,378,379,381],quotat:[378,379],quotient:379,qwer:19,r1:162,r:[6,29,39,76,111,120,128,133,162,166,191,192,193,195,212,220,336,352,366,378,379,381],rad:[29,168],radial:162,radian:379,radic:162,radiu:[29,36,127,136,162],radius_circl:162,rais:268,ram:[4,13,91,103,118,136,162,211,218,226,232,238,250,253,254,268,282,347,352,355],ramrun:354,random:[6,168],randomli:95,randomse:168,rang:[29,94,95,98,103,126,127,136,138,163,169,185,212,220,221,234,238,255,275,277,300,360,361,363,369,372,374,375,378,379],rank:[179,379],rapid:[162,344,349,351],rar:300,rare:221,raspberri:[162,295],rate:[13,23,27,29,37,63,82,93,106,117,121,128,165,180,181,202,203,204,205,207,211,212,214,220,221,225,231,234,243,251,254,260,266,268,284,289,294,300,343,347,354,356,361,366,367,369,372,374,375,379],rate_:379,rate_and_garbag:379,rather:379,ratio:[12,39,94,127,211,376],raw:[1,20,39,92,134,293,348],raw_data:29,raw_point:29,rawdata:29,rawequ:168,rawget:[168,336],rawlen:168,rawset:168,rawvideo:166,rb:[30,166,212,220],rc522:54,rc522_authent1b:71,rc522_bit_fram:71,rc522_com_irq:71,rc522_config_isotyp:54,rc522_fifo_level:71,rc5:341,rc:[221,268],rcc:251,rcc_apb1periph_usb:251,rcc_apb1periphclockcmd:251,rcc_apb2periph_afio:255,rcc_apb2periphclockcmd:255,rcc_clockconfig:251,rcc_mco_hs:251,rcc_mco_hsi:251,rcc_mco_noclock:251,rcc_mco_pllclk_div10:251,rcc_mco_pllclk_div11:251,rcc_mco_pllclk_div12:251,rcc_mco_pllclk_div13:251,rcc_mco_pllclk_div14:251,rcc_mco_pllclk_div15:251,rcc_mco_pllclk_div16:251,rcc_mco_pllclk_div2:251,rcc_mco_pllclk_div3:251,rcc_mco_pllclk_div4:251,rcc_mco_pllclk_div5:251,rcc_mco_pllclk_div6:251,rcc_mco_pllclk_div7:251,rcc_mco_pllclk_div8:251,rcc_mco_pllclk_div9:251,rcc_mco_sysclk:251,rcc_pllcmd:251,rcc_pllmul_27:251,rcc_pllsource_hse_div1:251,rcc_usbclkconfig:251,rcc_usbclksource_pllclk_4div5:251,rclk:54,rcr:29,rd:336,rda8910:326,rddi:[253,293],rdy:[123,128],re:[10,26,29,31,86,87,107,162,191,192,193,196,197,198,200,212,220,250,251,254,255,325,353,360,363,369,378,379],reach:[74,99,162,253,361,369,372,375,378,381],reachabl:379,react:162,read:[1,7,11,14,16,18,24,26,27,29,30,31,39,40,46,48,54,57,66,69,72,86,91,94,96,98,99,104,107,108,109,110,111,117,121,130,131,134,135,162,166,168,169,172,176,177,189,190,194,195,199,202,203,204,205,208,209,212,220,253,254,266,268,271,293,318,323,325,326,328,331,334,335,340,343,346,348,349,350,353,360,378,381],read_datablock:54,read_light:54,read_rawrc:54,read_tim:54,readabl:[98,352,379],readback:[361,372,375],readdht12:29,reader:379,readfil:[29,95,104,107,191,192,193],readi8:136,readi:[1,16,29,57,94,96,115,123,127,130,212,220,304,311,344,379],readint8:334,readm:[312,318],readr:[196,197,198],readreg:29,readsht30:29,readu32:136,reaet:221,real:[29,54,72,94,121,162,170,189,196,197,198,212,243,268,293,358,372,376,378,379],realign:162,realist:372,realiz:[190,202,203,204,205,211,212,220,221,238,251,254,272,284,289,293,305,333],realli:[103,136,221,320,379],realloc:[136,379],really_hold_their:379,reamd:312,reason:[13,99,103,162,166,268,289,305,326,336,348,354,369,379],reboot:[29,59,72,269],receipt:133,receiv:[3,16,24,26,27,29,39,54,55,57,59,63,71,74,81,86,87,94,95,115,117,123,124,128,130,133,134,162,177,200,202,206,208,211,212,220,250,253,268,273,289,293,305,325,326,330,333,341,342,343,348,378,379,380,381,382],receive_buff:54,receivebuff:[203,204,205],receiveddata:[173,174,175],recept:[50,66,128,135,212,220,268,348],recharg:238,reciv:[86,123],reclaim:[378,379],reclam:268,recogn:[23,212,220,253,268,293,326,348,356],recognit:[94,211],recolor:[138,163],recommend:[0,1,5,12,36,39,72,89,91,92,94,98,99,102,107,108,109,117,125,128,135,162,165,207,208,212,213,214,218,220,221,223,228,238,248,249,250,255,267,272,273,274,282,284,289,294,304,314,315,318,320,321,358,363,372,373,376,381],recompil:379,reconfigur:[40,253,293],reconnect:[29,134,250,268],reconnect_tim:29,record:[27,29,211,220,250,268,303,369,379],record_of:379,recov:[94,268],recoveri:[1,94,379],recruit:356,rect:29,rectangl:[10,136,162,334,378],rectangular:162,recurs:379,recursion_:379,recv:[29,39,66,95,133,173,174,175,195,212,220,325,330,342,348,353],recv_buf:342,recv_cb:54,recvlen:[196,197,198],recvreadi:[212,220],recycl:379,red:[10,36,136,162,267,358],redi:172,reduc:[1,136,162,169,185,186,187,212,214,238,266,268,269,277,369,372,378,379],reduct:136,redund:1,reentrant:379,ref:379,refer:[5,9,15,20,27,36,81,91,94,98,126,127,133,134,145,162,168,169,170,171,173,174,175,178,179,180,181,182,184,185,186,187,189,191,192,193,196,198,201,209,212,213,217,220,221,233,235,236,237,250,251,255,266,268,269,273,277,284,286,289,293,294,295,300,302,304,305,306,313,318,319,323,348,349,351,352,358,360,361,363,369,372,373,375,376,378,380,382,394],referenc:[89,162,379],reflect:[238,305,356],refp:238,refr_now:162,refresh:[10,30,36,37,89,96,162,319,327,354,363,369,374],refresh_r:29,reg32:29,reg:[29,123],regaddr:335,regard:[378,379],regardless:[7,108,136,162,319],region:[100,162,369,379],regist:[1,3,19,26,27,67,71,73,87,89,91,94,95,96,115,124,128,131,133,162,177,191,192,193,202,206,208,212,218,220,223,228,254,255,293,300,305,319,330,344,348,379,381,382],registered_roam:94,registr:[55,67,94,96,115,168,320,323,344,379],registri:168,regul:372,regular:[11,94,134,162,272,304,379,380,383],regularli:[67,132,268],reimag:255,reiniti:[127,268],reissu:250,reject:94,rel:[30,45,162,292,294,339,379],relat:[0,7,10,21,27,36,39,66,91,92,96,98,100,110,127,136,138,163,167,213,217,221,238,248,255,258,266,268,271,287,291,292,293,296,301,312,323,326,329,331,354,360,379,382],relationship:[212,272,381],releas:[3,6,29,35,55,66,89,94,95,104,109,116,123,133,162,207,212,213,218,220,225,231,247,248,253,259,264,269,271,273,277,289,293,305,317,329,363,366,378,379,380,382],relev:[94,110,162,221,250,272,293,324,337,338,345,348,352,369,379],reli:[214,302,331,352,379],reliabl:[212,356,367,372,374],relinquish:379,reload:[253,293],reluct:165,rem:318,remain:[27,68,128,136,162,221,253,293,318,329,330,378],remaind:[300,378,379],remark:[238,272,355],rememb:[106,107,162,292,305,336,358,379],remind:[2,13,15,22,39,57,94,134,207,210,267,268,269,358,369,372],remot:[29,54,63,121,341,385],remote_nam:29,remote_port:[29,268],remoteip:29,remov:[5,29,30,89,120,130,138,163,168,221,235,268,285,318,336,348,358,372,378,381],renam:[29,168],render:[162,211,212,220,379],renderlinehighlight:210,rep:[168,212,220],repackag:268,repair:[268,289,360,369,372],repeat:[29,31,162,166,212,220,268,306,333,336,379],repeat_cnt:29,repeatedli:[15,213,384],repetit:[31,109,119,333,341,378],repl:[29,121,168,268],replac:[18,59,94,110,130,162,210,212,220,250,251,253,260,287,293,310,331,334,372,378,379],replai:89,repli:[98,115,162,212,220,335],report:[21,22,24,29,72,95,121,255,268,314,318,319,348,367,379],repositori:[207,273,313,314,315,318,394],reprehenderit:162,repres:[10,17,21,26,36,98,102,103,127,162,196,197,198,268,285,318,319,339,348,353,378,379,380],represent:379,reproduc:255,req_cod:54,reqaddr:54,reqal:71,reqcellinfo:[29,268],reqedrxvaluem:29,reqidl:71,reqiur:303,reqop_norm:63,reqptwvalu:96,reqtim:54,request:[29,38,54,66,72,94,184,226,232,255,268,269,329,332,336,378,379],requir:[0,1,3,6,10,12,14,16,18,20,22,24,31,36,38,40,41,42,43,44,45,46,47,48,49,50,51,53,55,56,57,59,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,80,81,82,83,84,91,92,94,95,98,99,103,106,109,111,114,115,123,124,128,130,133,134,137,138,163,165,168,169,171,172,173,174,175,180,181,182,185,186,187,191,192,193,196,197,198,200,203,204,205,212,213,217,220,221,229,238,250,255,268,269,272,282,284,292,293,302,303,304,306,311,312,318,320,321,322,323,325,329,330,331,336,339,345,347,349,351,355,356,360,366,367,372,374,378,380,381,382,394],reqwifi:54,rerult:136,reselect:[94,207],resembl:162,reserv:[8,26,35,89,94,98,103,115,116,162,293,331,339,361,375,379],reset:[7,10,13,29,36,51,54,86,103,111,127,131,132,162,191,192,193,207,212,214,218,224,226,232,238,243,248,249,250,253,265,266,267,284,289,293,300,301,354,369],residu:255,resist:[221,223,228,238,250,254,284,360],resistor:[0,221,238,253,254,255,293,360,361,372,375],resiz:[29,138,163],resolut:[4,36,54,115,162,166,211,243,268,282,356,361,372,374,375,395],resolv:[255,355,379],reson:103,resourc:[3,31,95,133,196,197,198,207,211,212,224,247,250,269,277,287,291,293,312,330,331,352,355,377,378,379],resp:[326,336],respect:[66,162,169,202,203,204,205,212,214,220,234,267,339,360,361,372,375,378,379,381],respond:[25,57,59,201],respons:[24,95,98,207,211,212,221,323,324,325,337,345,379],rest:[162,212,220,378,379],restart:[5,26,72,91,94,103,109,207,210,212,221,268,269,301,314,315,318,356,363,379,381],restaur:381,restor:[134,135,162,326,376,378,379],restrict:[98,379],result:[0,1,2,4,5,6,11,13,16,18,26,28,31,34,52,57,59,63,71,72,82,83,84,91,94,96,98,103,105,107,110,111,115,117,118,122,134,136,162,166,170,173,174,175,190,202,207,212,220,253,254,268,293,300,305,319,336,342,343,344,345,358,360,363,369,372,373,376,378,379,380,381,382],resum:[1,89,124,168,381,382],resurrect:379,ret:[30,105,107,118,134,269,305,335,336],retain:[29,54,110,379],retri:[11,131],retriev:[162,379],retstat:379,reus:[66,134,221,238,253,267,268,272,282,293,379],reusabl:284,rev:380,revc:[196,197,198],revers:[6,30,36,66,127,162,168,170,191,192,193,301,358,360,363,372,373,376],revert:[29,348],review:379,revis:[243,250],reviv:379,revvc:[196,197,198],rewrit:[214,268,379],rf:[94,266,293],rgb565:[29,243,289,294],rgb565be:166,rgb888:243,rgb:[3,36,76,89,162,166,289,293],rgb_data:76,rgb_date:76,rgb_file:166,rh:[42,48],right:[2,10,27,36,50,59,89,127,162,165,210,248,250,301,304,358,363,369,372,373,378,379,385],right_fit_typ:162,rio:379,rippl:221,risc:282,riscv:260,rise:[21,31],risk:[250,358,363,372,373,376,379],riski:372,rle:[92,162],rle_match:92,rmc:39,rmd:19,rmdir:29,rmt:289,rndi:292,road:[284,300],roam:94,roberto:379,robot:268,robust:379,role:[339,379],roll:[138,163,255,348],rollback:268,roller1:162,roller:[138,163,374,376],roller_:162,roller_cr:162,roller_demo:162,roller_get_selected_str:162,roller_mode_infinit:162,roller_part_bg:162,roller_part_select:162,roller_set_opt:162,roller_set_visible_row_count:162,rom:[162,327,339,347],romf:352,room:[162,220],root:[17,99,269,312,318,379],rotable_reg:304,rotari:54,rotat:[29,50,94,138,163,300,363,379],rotation_angl:162,rough:128,roughli:[214,318,381],round:[127,162,379],rout:[238,250],routin:[138,164,167,212,220,255,293,295],row:[30,138,163,213,214,222,227,234,253,256,265,266,267,268,293,326,339,376,378,379],row_cnt:162,rp2040:293,rp2040_pcb:[293,295],rrc:[94,268],rs232:202,rs485:[202,268],rs485_delai:29,rs485_gpio:29,rs485_level:29,rs8554:372,rs:354,rsa:[29,121,275],rsrp:29,rsrq:29,rssi:[29,123,134,344],rst:[38,54,131,212,218,248,249,250,284,289,301],rst_pin:29,rt:[212,218,250,317,323,344,354,355],rtc:[29,39,103,121,177,208,226,232,238,243,253,266,268,282,293,296],rtc_setprescal:255,rtcauto:29,rtime:29,rtkv:54,rto:[23,29,59,72,121,169,171,269,293,302,321,322,325,330,331,333,352,381],rtos_msg:[325,330],rtos_msg_t:305,rtr:[29,63],rtrim:29,rtt:[317,330,355],rtt_root:317,rtthread:317,rule:[68,98,168,212,220,255,268,271,293,312,378],rule_:379,run:[22,29,67,103,121,162,168,169,172,173,174,175,177,180,181,182,185,186,187,191,192,193,196,197,198,200,203,204,205,207,208,210,211,212,213,214,217,220,221,226,232,235,248,250,268,269,289,293,301,302,305,311,314,315,321,322,325,326,330,331,332,348,354,355,369,376,378,381],running_script_:379,runtim:[99,103,162,369,379],rx0:221,rx:[27,29,202,203,204,205,212,218,220,223,228,248,249,262,268,289,301],rx_done:87,rx_error:87,rx_hwtimer_id:29,rx_len:29,rx_pin:29,rx_timeout:87,rxbuf:74,rxbuff:29,rxclear:29,rxcontinu:[86,87],rxd:218,rxdata:26,rxe:[253,293],rxlen:29,rxpacket:54,rxsize:29,ry:29,s1:[96,378],s2:378,s3:[289,290,293,378],s3_pcb:[291,293],s5:277,s:[1,3,7,10,11,18,19,21,30,32,36,55,59,78,79,86,89,91,94,95,96,98,99,109,115,123,133,136,137,162,165,166,168,171,172,190,201,207,210,212,213,220,235,238,248,250,255,257,266,267,268,272,275,277,285,292,294,296,301,303,304,305,311,312,317,318,323,324,325,326,328,329,337,341,343,344,345,348,349,350,354,363,367,378,380,381,383],s_intermitt:379,s_loader_:379,s_n_:379,sacrif:369,safe:[162,344,379],safer:379,safeti:238,sai:[212,220,250,266,318,378,379,380],said:[292,377,378],sale:[384,387],same:[1,6,13,15,21,23,31,60,66,68,78,79,91,94,95,99,102,104,115,162,207,212,220,231,255,257,266,268,269,272,277,284,289,293,305,314,315,318,319,328,339,348,353,360,369,372,373,378,379,381,382,383,384],sampl:[1,4,29,39,94,162,177,208,212,214,220,243,253,260,284,293,300,349,351,356,360,361,366,367,369,372,374,375,378],sample_r:[4,29],san:162,sar:[243,289,300],sarasa:268,sass:39,sat:39,satellit:[39,266,273,384],satellites_track:39,satisfi:[68,378],satur:162,saturdai:68,save:[3,14,18,72,91,103,127,134,135,162,165,177,196,197,198,208,210,211,248,250,266,285,293,305,314,330,369,378,379,385],save_path:29,sayhi:304,sb_mode:162,sc:[131,134],sc_result:134,scalabl:162,scale:[36,138,163,166,327,329],scale_end_color:162,scale_grad_color:162,scale_width:162,scan:[3,29,54,92,126,250,255,268,273,296,300,312,318,344,348,379,388],scan_period:29,scanresult:29,scatter:[165,217,250,293],scdma:275,scenario:[72,124,226,232,239,268,269,272,273,282,288,311,324,337,345],scene:[284,289,311,331],scenic:89,schedul:[49,59,96,162,200,284,324,337,345,381,382],schema:379,schemat:[173,174,175,185,186,187,191,192,193,196,197,198,203,204,205,212,217,221,224,234,236,238,249,250,252,258,267,286,290,293,295,297,298,393,395,407],scheme:[39,207,250,318,337],scienc:360,scientif:268,sck:[67,250],scl:[29,54,127,171,173,174,175,212,220,272],scl_pin:54,sclk:54,scm:293,scon:317,scope:[138,163,277,379],score:[5,283],scr2:89,scr:[29,212,220],scr_act:[29,162,212,220],scr_load:[29,162,212,220],scr_load_anim:29,scr_load_anim_over_left:89,scrambl:26,scratch:379,screen:[3,29,36,89,102,121,127,162,171,177,208,211,212,220,229,268,293,299,311,356,358,363,366,367,374,376,395,398],screen_label:162,screenshot:[238,293,319,363],screw:[358,372],script:[73,78,96,109,162,178,208,211,220,224,229,237,268,269,273,274,277,287,293,304,309,311,312,313,314,315,320,322,325,326,328,347,352,354,355,377,378,379,380],script_addr:347,scrlbar_mode_:162,scrlbar_mode_auto:162,scrlbar_mode_drag:162,scrlbar_mode_hid:162,scrlbar_mode_off:162,scrlbar_mode_on:162,scrlbar_mode_unhid:162,scroll:[138,163,165,369,373,376],scrollabl:[138,163],scrollbar:162,scrollbar_mode_off:162,sd:[1,13,15,30,109,110,137,162,166,212,220,293,328,352],sd_mount:[212,220],sd_read:29,sd_user_main:109,sd_write:29,sda:[29,54,127,171,173,174,175,212,220],sda_pin:54,sdcard:109,sdhc:130,sdio:[13,29,121,224,243,251,254,260,282,289,293,294,296],sdio_clk:[212,220,228],sdio_cmd:[212,220,228],sdio_d0:[212,220,228],sdio_d1:[212,220,228],sdio_d2:[212,220,228],sdio_d3:[212,220,228],sdk:[214,248,250,254,293,300,316,322,331],sdk_appid:29,sdl2:[321,322],sdl:321,sdram:243,sea:39,seal:289,seamless:260,search:[29,54,71,94,96,109,210,213,268,292,304,311,314,315,379],search_cell_tim:29,searcher:168,searchpath:168,seat:[358,363],sec:[39,68,99,108,189,212,379],sec_shop_id:384,second:[6,7,11,14,36,39,57,67,68,72,91,94,96,98,99,101,103,109,111,115,127,162,169,173,174,175,177,183,189,207,208,211,212,213,221,250,255,266,268,292,301,304,305,326,348,353,363,374,378,379,380,381,382],second_exp:379,secondari:[14,18,162,268,272,273],secondtick:182,secret:[29,55,107,121,254],section:[145,162,173,174,175,212,217,220,255,267,293,318,348,378,379],sector:[13,71,177,199,208],secur:[170,212,260,268,344,379],securit:344,sed:162,see:[3,72,94,108,115,127,134,136,162,166,178,187,191,192,193,196,197,198,203,204,205,207,210,212,213,214,218,220,221,230,235,248,250,254,255,272,292,294,301,304,353,358,363,374,378,379,385],seeall:381,seed:379,seek:[29,30,168,203,204,205,334],seek_cur:[30,136],seek_end:[30,136],seek_set:[30,136,334],seem:[293,379],seen:[169,185,196,197,198,207,212,254,294,331,378],seg10:230,seg11:230,seg12:230,seg13:230,seg14:230,seg15:230,seg16:230,seg17:230,seg18:230,seg19:230,seg1:230,seg20:230,seg21:230,seg22:230,seg23:230,seg24:230,seg25:230,seg26:230,seg27:230,seg28:230,seg29:230,seg2:230,seg30:230,seg31:230,seg3:230,seg4:230,seg5:230,seg6:230,seg7:230,seg8:230,seg9:230,seg:29,seg_data:54,seg_mark:29,seg_set:29,segment:[29,73,78,79,121,133,162,229,293,299,379],select:[10,13,19,21,24,36,50,54,66,68,73,78,79,83,84,86,89,91,94,95,112,113,115,117,118,127,128,131,133,138,163,168,176,183,188,191,192,193,194,196,197,198,199,206,207,210,212,213,217,220,221,227,228,229,231,238,243,248,249,250,253,254,268,271,272,284,285,289,293,294,300,301,304,318,319,347,352,355,356,363,367,373,374,381],selector:[138,163],self:[59,72,138,163,250,257,269,284,293,294,300,314,315,320,358,360,363,366,369,379],sell:162,sem:331,semant:379,semaphor:331,semicircl:162,semicolon:379,send:[7,11,29,33,38,54,55,63,64,66,73,74,78,79,89,94,95,98,106,115,123,124,127,128,135,162,176,177,195,196,197,198,202,206,208,212,220,221,253,266,268,273,293,305,324,326,333,335,337,342,343,345,348,353,354,380,381],send_buf:342,send_buff:54,send_data:29,send_finish:380,send_msg:29,send_ok:130,sendbuff:[29,203,204,205],senddisplaydata:54,sender:135,sendind:29,sendlen:[196,197,198],sendmsg:[29,60],sendnec:[29,66,341],sendnotifi:29,sendqueu:[212,220],sens:[4,111],sensit:[72,374,379],sensor:[26,29,54,72,90,93,121,123,126,165,173,174,175,209,212,220,229,238,268,269,293,294],sent:[7,26,27,33,60,63,73,94,95,106,111,114,115,117,123,128,130,133,162,202,253,268,293,305,333,334,341,342,348,355],sentenc:[212,220,255,269,379],sep:[168,378],separ:[29,39,94,162,173,174,175,250,257,326,339,348,354,356,378,379,381,382],separator_posit:162,septemb:[123,162],seq:29,sequenc:[29,66,115,121,162,195,202,203,204,205,212,220,342,343,363,379,393],ser1:162,ser2:162,ser:162,seri:[0,27,102,103,106,108,134,136,138,163,207,209,212,214,220,221,227,228,229,231,238,248,250,253,254,255,269,292,293,301,313,319,334,355,356,358,360,366,367,378,379,381,384,385,393,395],serial:[3,7,13,19,29,34,39,71,73,78,91,94,95,106,115,121,133,135,166,173,174,175,177,191,192,193,195,196,197,198,202,206,208,209,212,217,220,225,231,234,238,243,248,249,250,267,268,272,284,285,286,289,293,300,301,311,326,342,343,344,348,354,356,358,361,363,372,374,375,379,380,385,398,404],series_t:162,seriou:94,serv:[94,162,268],server:[7,11,19,24,29,38,54,55,57,58,59,72,95,98,107,115,121,133,266,269,277,379],server_cert:[19,29,54,95],servic:[25,36,58,81,94,98,250,255,268,275,319,379,384,385],session:95,set:[0,1,3,5,6,7,10,13,14,29,31,35,36,37,39,43,49,54,57,63,68,71,77,78,79,85,86,87,89,91,94,95,96,98,101,102,103,106,109,111,114,115,117,119,123,127,128,130,131,133,134,135,138,163,172,177,182,183,185,186,187,189,190,207,208,210,212,214,218,220,221,225,226,231,232,234,248,250,253,254,260,268,269,271,272,293,294,300,301,317,318,320,325,326,331,332,334,340,342,343,344,348,352,354,356,358,361,369,373,374,375,376,377,378,379,381],set_accepted_char:162,set_act:162,set_align:162,set_angle_offset:162,set_anim_tim:162,set_arc_length:162,set_bit_mask:54,set_btn_ctrl:162,set_btn_ctrl_al:162,set_btn_width:162,set_btns_po:162,set_cell_merge_right_t:162,set_cell_typ:162,set_channel:29,set_check:162,set_color:162,set_color_mod:162,set_color_mode_fix:162,set_ctrl_map:162,set_cursor_blink_tim:162,set_cursor_click_po:162,set_cursor_hidden:162,set_cursor_manag:162,set_cursor_po:162,set_day_nam:162,set_dir:162,set_edge_flash:162,set_highlighted_d:162,set_hsv:162,set_hu:162,set_id:29,set_map:162,set_max_height:162,set_max_length:162,set_mirror:162,set_mod:[54,162],set_month_nam:162,set_one_check:162,set_one_lin:162,set_opt:162,set_placeholder_text:162,set_pwd_mod:162,set_pwd_show_tim:162,set_recolor:162,set_rxconfig:29,set_scal:162,set_scrollbar_mod:162,set_select:162,set_set_i:379,set_show_select:162,set_spin_tim:162,set_src:162,set_src_til:162,set_stat:162,set_static_opt:162,set_static_text:162,set_symbol:162,set_tab_act:162,set_text:162,set_text_align:162,set_text_label:162,set_text_sel:162,set_tile_act:162,set_tim:[43,54],set_today_d:162,set_txconfig:29,set_typ:162,set_usbclock:251,set_valid_posit:162,set_valu:162,set_visible_row_count:162,set_width:162,set_xxx:162,setapnet:344,setauto:29,setband:29,setbaseyear:29,setbitmapmod:29,setblinktim:54,setbootcfun:29,setbright:54,setbu:29,setcap:29,setcfun:29,setchr:29,setclk:[29,180,181],setcolor:29,setcontrast:29,setctx:29,setdefaultpul:29,setdelai:29,setdn:29,setdrawcolor:29,setedrx:29,setedrxptw:29,setfont:[15,29,171,212,220,319],setfontmod:29,setframebuff:[29,111],setgpio:29,sethook:168,setjmp:379,setlevel:[29,179],setlight:54,setloc:168,setlocal:168,setmac:29,setmetat:[168,336],setmod:29,setnewsmscb:[29,123],setpath:29,setpaus:379,setpin:268,setpix:334,setpowersav:29,setpsm:29,setrang:29,setstanet:344,setstat:54,setstepmul:379,setstrt:255,sett:[29,268],settable_ev:379,settimeout:29,settz:29,setup0_process:255,setup:[13,29,39,40,41,42,44,45,46,47,48,49,51,53,54,56,61,62,63,64,65,66,69,70,71,74,75,76,80,93,96,102,103,106,119,134,135,162,166,173,174,175,178,180,181,195,196,197,198,202,203,204,205,212,213,220,268,272,331,340,342,343,348,363,374],setupbreatel:54,setupbuff:29,setupdevic:348,setupr:[173,174,175,196,197,198],setupvalu:168,setuservalu:168,setuuid:29,setvbuf:168,setwin:29,setxtal:29,seven:162,sever:[72,91,136,138,163,202,203,204,205,207,212,220,221,293,305,323,356,372,376,378,379],sfd:[29,121,177,208],sfdp:[191,192,193],sfud:[29,121,177,208,224,277,293,296],sfud_devic:[113,212,220],sfuddevic:[191,192,193],sgm2019:228,sh1106:127,sh1107:127,sh1108:127,sh:302,sha1:[29,32,107,170,282],sha1_stream:6,sha256:[29,32,170,275,311],sha256_stream:6,sha384:275,sha512:[29,170],sha:[275,282],shadow:[127,162],shake:[21,35,103,207,268],shall:[39,162,221,250,282,306,312],shape:[2,136,162,379],share:[31,66,211,212,220,344,345,367,372,379],sheet:[68,196,197,198,218,249,252,254,297,298,300],sheet_1:[169,187],shell:[356,394],shget:321,shield:[54,323],shift595:54,shift:[29,73,128,247,273,356,358,361,363,374,375,379],shipment:248,shop:[218,225,231,254,300],short_src:379,shortcut:[210,320,379],shorten:[98,162],shortest:379,shot:200,should:[2,5,16,39,78,79,94,115,117,127,134,162,201,210,212,214,218,220,221,238,255,268,269,272,284,289,306,323,326,327,329,336,378,379,381,394],show:[29,59,77,138,163,178,212,238,319,326,356,363,372,374,378,379],show_520:165,show_520_h:165,show_520_w:165,show_data:165,showimag:29,shown:[66,202,212,213,214,248,249,250,255,282,284,301,358,360,369,378],shown_dat:162,showonlin:210,shrink:[162,379],sht30:[26,212,220],shunt:360,shunt_voltag:53,shut:[177,199,208,238,372,376,379],shutdown:[19,29,55,91,95,133,162,238,255],si24r1:54,si24r1test:74,si:63,sibl:379,side:[11,73,107,115,117,162,250,292,358,360,376,378,379],sieg:165,sig:29,sigma:300,sign:[20,29,136,162,348,378,379],signal:[10,26,39,64,66,73,89,94,134,169,196,197,198,212,220,221,238,255,266,284,340,344,379],signatur:[20,107,170,268],signifi:378,signific:58,significantli:221,silenc:179,silent:[85,179],silk:102,sim0:[94,268],sim1:94,sim:[94,123,268],sim_ind:[94,381,382],sim_pin:123,sim_wc:[94,123],simerr:67,simid:29,similar:[11,18,26,32,38,115,127,128,136,162,172,191,192,193,212,214,220,248,282,301,323,331,352,372,378,379],similarli:[162,303,310,378,379,380],simpin:29,simpl:[6,24,72,94,106,133,138,163,165,166,173,174,175,190,212,220,255,268,284,293,307,311,340,348,349,350,374,377,379,381],simpler:268,simplest:[19,95,349,351,378,382],simpli:[109,162,185,186,187,212,220,301,378,379,381],simplifi:[122,162,207,326,378,379,385],simsun_48:162,simul:[26,29,89,121,127,130,162,272,293,302,311,355,369,372,374,376,383],sin:[168,300],sinc:[16,20,66,136,162,210,212,248,250,254,255,268,284,289,301,356,358,363,369,379,380,394],sincer:356,sine:[221,372,379],singl:[8,31,36,39,58,66,89,93,95,105,106,111,133,138,163,177,208,212,220,250,255,268,273,274,293,300,326,330,331,333,352,374,378,379,380,381],singleshow:54,sinh:379,sink:250,sint:162,sit:162,site0:24,situat:[128,131,207,221,255,269,305,372,379],six:[6,54,162,363],sixth:[57,378],siyuan:327,size:[3,6,12,13,17,24,27,29,30,73,86,87,92,98,101,109,123,128,136,138,163,168,172,191,192,193,196,197,198,212,217,220,224,225,227,234,237,243,247,250,253,254,256,264,265,266,267,268,269,282,284,287,289,293,296,318,319,324,327,330,337,339,343,345,347,354,355],size_t:[101,304,327,329,330,331,333,348,379],sizeof:[136,305,335],skei:29,skill:348,skip:[30,117,162,203,204,205,318,378,381],slave:[27,66,98,117,173,174,175,195,212,220,243,255,272,300,342],slaveaddr:29,sleep1:[266,332],sleep2:[266,272,332],sleep:[29,71,86,87,103,109,128,184,211,221,226,232,253,260,267,268,272,293,300,332],sleepcount:300,slice:[284,379],slide:162,slider:[138,163],slider_:162,slider_cr:162,slider_demo:162,slider_get_valu:162,slider_part_bg:162,slider_part_ind:162,slider_part_knob:162,slider_set:162,slider_set_rang:162,slider_type_:162,slider_type_norm:162,slider_type_rang:162,slider_type_symmetr:162,slightli:[162,185,186,187,213,372,378],slip:358,slogan:115,slot:[94,289,379],slow:[1,26,47,64,107,162,207,210,212,220,250,255,284,289,292,327],slower:[26,92,94,162,213,277,294],slowli:[169,379],sm1:254,sm2:[20,268],sm2decrypt:29,sm2encrypt:29,sm2sign:29,sm2verifi:29,sm3:[29,254,268],sm3hmac:29,sm3updat:20,sm4:[20,254,268],sm4decrypt:29,sm4encrypt:29,sm7:254,sm:[29,94,121,268,273,275,294],small:[3,4,112,115,117,128,136,162,185,186,187,208,211,220,250,265,267,268,269,272,273,289,355,356,358,360,363,367,372,374,379,381,383],smaller:[12,94,162,250,378,379],smallest:[358,377,379],smart:[211,253,293],smartconfig:29,smartphon:162,smartpro:255,smartwatch:162,smd:260,smooth:162,smoothli:[212,220],sms_only_regist:94,sms_only_registered_roam:94,sn:29,snail:344,snap:[162,393],snippet:[268,379],snowman:127,snq:94,snr:[29,39,123],sntp:[29,123,266,268],sntp_connect:268,sntp_server:29,so:[4,16,63,73,77,94,102,103,112,120,123,124,128,135,136,162,165,169,170,171,177,207,210,212,220,221,238,248,250,255,265,266,268,272,285,292,294,301,305,330,331,347,352,355,363,369,372,373,376,378,379,381],soc:[1,73,78,91,115,128,138,162,163,164,166,167,172,179,200,201,207,210,212,214,226,231,232,239,248,269,271,285,288,293,312,314,315,318,319,320,349,350,351,354,385],soc_air101_v0008:312,soc_download:354,soc_v0001_esp32c3_rc2:288,soc_v0005_air105:239,soc_v0007_air101:226,soc_v0007_air103:232,soc_v0017_air101:[73,78],soc_v1001_ec618:318,soc_v1105_ec618:269,soc_v1105_ec618_ful:269,soc_v1105_ec618_tt:269,soc_v1108_ec618:269,soc_v1108_ec618_cloud:269,soc_v1108_ec618_ful:269,soc_v1108_ec618_tt:269,soc_v1108_ec618_tts_onchip:269,socket:[11,19,29,54,95,121,124,131,133,266,268,269,296,306,326,348,353,358,363,380],socket_ctrl:115,soft:[93,253,265,273,293,369],soft_kb_inc:116,softap:260,softi2c:26,softkb:29,softkeyboard:[29,121],softspidevic:117,softwar:[1,10,26,29,36,54,64,68,103,117,121,123,127,128,176,177,183,188,194,199,206,208,210,221,224,238,249,250,251,253,254,260,268,271,272,284,293,300,324,333,337,345,354,363,367,374,379],solari:379,sold:[358,360,363,387],solder:[285,289],solid:[127,250],solut:[39,212,220,253,255,268,271,293,318,324,337,345,372,377],solv:[14,18,26,102,214,221,248,255,268,301,305,319,320,339,378],some:[0,21,26,29,30,58,67,72,94,98,102,103,108,109,115,119,121,127,132,134,138,145,162,164,180,181,182,184,189,196,197,198,207,210,212,213,214,238,250,253,254,266,268,272,277,285,293,305,307,311,314,332,348,352,358,360,363,369,372,373,376,378,379,380,383],someon:379,someth:[16,59,122,162,210,212,220,325,378,379],sometim:[12,162,268,369,378,379],somewhat:379,song:171,soni:341,soon:[11,336],sop:372,sort:[162,168,267,275,323,339,378],sound:[1,4,267,268],sourc:[11,28,31,91,98,99,135,138,163,165,189,191,192,193,209,211,212,217,221,229,238,253,254,268,269,273,284,289,292,293,295,300,304,321,331,339,341,352,356,358,363,377,378,379,380,381],source_32k:29,source_main:29,source_sans_16:327,south:39,sp:243,space:[4,13,14,15,16,18,26,59,120,127,128,130,136,162,165,196,197,198,247,255,269,273,285,294,304,314,318,320,348,378,379],spacer:378,spacer_posit:162,spare:333,spawn:379,spe:[253,293],speak:[107,162,180,181,214,378],speaker:[1,267,277],spec_v1:196,special:[11,22,29,94,100,103,121,134,162,180,181,182,184,210,250,268,277,287,291,293,294,318,320,323,348,349,350,372,378,379],specif:[0,10,16,20,23,26,27,36,37,57,58,59,81,86,87,91,94,100,110,122,162,169,177,194,208,212,214,220,233,238,243,248,253,254,258,268,273,284,289,293,301,312,313,318,319,325,326,330,331,334,345,347,352,356,360,363,367,369,376,378,379],specifi:[1,3,6,8,10,16,30,36,39,72,73,78,79,89,96,98,100,101,103,105,106,113,115,117,120,122,124,125,127,134,136,162,177,199,201,208,266,268,293,324,326,327,334,337,338,344,345,348,356,358,369,374,378,379],specification_v1:[185,258],specified_script_:379,specimen:162,speech:[271,293],speed:[1,13,18,29,39,91,117,138,163,173,174,175,195,196,197,198,207,210,211,212,214,220,221,243,248,249,250,268,271,282,284,289,292,293,301,354,361,372,375,378,379],speed_knot:39,speed_kph:39,spell:384,spend:381,spent:381,spi0:[10,36,117,212,267,272],spi0_c:[228,272],spi0_clk:[228,238],spi0_csn:238,spi0_miso:[228,238,272],spi0_mosi:[228,238,272],spi0_scl:272,spi1:[117,255,272],spi1_c:[228,272],spi1_clk:228,spi1_csn:238,spi1_miso:[228,238,272],spi1_mosi:[228,238,272],spi1_sck:238,spi1_scl:272,spi2:117,spi2_c:284,spi2_ck:284,spi2_csn:238,spi2_miso:[238,284],spi2_mosi:[238,284],spi2_sck:238,spi3:117,spi4:117,spi5:234,spi5_clk:238,spi5_csn:238,spi5_miso:238,spi5_mosi:238,spi:[10,13,15,22,23,29,36,63,66,71,74,86,87,91,111,121,127,131,165,166,177,178,190,194,208,209,218,224,238,243,253,260,267,268,269,271,273,277,282,287,289,293,296,300,311,337,338,345,348,352,353,354,398,404],spi_0:[66,117,131],spi_12s_flag_bsi:255,spi_12s_flag_tx:255,spi_12s_getflagstatu:255,spi_1:117,spi_2:117,spi_3:117,spi_4:117,spi_bandr:29,spi_c:[29,63,127,191,196,197,223,245],spi_clk:[191,196,197,245],spi_cmd:255,spi_dc:127,spi_devic:[16,29,59,212,220],spi_eink:10,spi_flash:[191,192,193,196,197,198,212,220],spi_hw_4pin:127,spi_i25_dmareq_rx:255,spi_i2s_dmacmd:255,spi_i2s_dmareq_tx:255,spi_i2s_flag_bsi:255,spi_i2s_flag_rxn:255,spi_i2s_flag_tx:255,spi_i2s_getflagstatu:255,spi_i2s_receivedata:255,spi_i2s_senddata:255,spi_id:[10,29,54,87,117,127,342],spi_lcd:[36,166,212,220],spi_lora:87,spi_mcp2515:63,spi_miso:[63,66,191,196,197,223,245],spi_mosi:[63,191,196,197,223,245],spi_r:127,spi_rc522:71,spi_sck:[63,223],spi_si24r1:74,spi_spe:29,spiclk:284,spiconfig:29,spics0:284,spid:284,spidevic:348,spidon:117,spiflash:[16,59,109,191,192,193,196,197,198],spihd:284,spiid:[13,29,166,191,192,193,196,197,198,342],spiid_or_spidevic:29,spinbox:[138,163],spinbox_cr:162,spinbox_decr:162,spinbox_decrement_event_cb:162,spinbox_demo:162,spinbox_incr:162,spinbox_increment_event_cb:162,spinbox_part_bg:162,spinbox_part_cursor:162,spinbox_set_digit_format:162,spinbox_set_padding_left:162,spinbox_set_rang:162,spinbox_set_step:162,spinbox_set_valu:162,spinbox_step_prev:162,spinner:[138,163],spinner_:162,spinner_cr:162,spinner_demo:162,spinner_part_bg:162,spinner_part_ind:162,spinner_type_:162,spinner_type_constant_arc:162,spinner_type_fillspin_arc:162,spinner_type_spinning_arc:162,spiq:284,spiwp:284,spix:255,spk:267,spl06:54,spl06_01:54,spl06_data:75,splice:[212,220],split:[29,138,163,379,381],spot:[89,292,344],spr_i2s_cetflagstatu:255,sprinkl:238,sprintf:379,sql:29,sqlite3:[29,121],sqrt:168,squar:[21,89,162,212,220,300,379],sram:[243,255,260,289,300,314],src:[162,310,312,314,315,320],srv:98,srv_uuid:29,ss:380,ssd1306:[127,171,212,310,311],ssd1306_128x32:127,ssd1309:127,ssd1322:127,ssi:300,ssid:[29,344],ssl:[19,29,115,268,275],ssllog:29,st7565:268,st7567:127,st7735:[36,166,178,212,293,310,311,401],st7735v:36,st7789:[36,398],st7796:36,st:255,sta:[19,95,115,133,134,344],stabil:[91,221,238,268],stabl:[250,266,356,367,372,374,379],stabli:[250,255],stack:[94,115,168,209,268,304,305,323,325,326],stack_to:379,staff:[384,387],stage:[129,162,289,354,355,379],stagger:94,stai:[255,372,379,381],staip:29,stamp:[284,289],stand:[162,379],standalon:[326,379],standard:[20,27,39,63,66,115,136,168,238,253,268,277,293,326,331,334,336,352,356,363,378],standbi:[86,87,94,109,211,273,372],standi:29,star:[26,304,394],start2:29,start:[0,5,7,10,11,16,21,26,29,30,36,38,39,54,59,94,95,96,98,103,109,110,111,112,113,115,117,127,133,134,138,163,166,169,171,177,191,192,193,196,197,198,201,202,203,204,205,207,208,212,214,221,223,224,228,238,255,268,277,293,300,302,305,308,311,314,315,320,324,326,327,331,336,337,344,345,348,354,355,356,358,369,379,380,381],start_angl:162,start_auto_clos:162,startraw:29,startswith:29,startup:[1,11,91,94,177,183,207,208,217,248,272,282,293,301,305,333,344,379],stat:[94,133,379],state:[21,29,35,39,54,71,94,97,103,115,116,121,122,123,135,136,138,163,207,211,221,238,253,266,268,272,293,294,301,324,337,340,345,348,360,369,372,378,379,380,381],state_check:162,state_default:162,state_disconnect:95,state_focus:162,state_mqtt:95,state_press:162,state_readi:95,state_sconnect:95,statem:[29,121,294,296],statement:[18,39,102,106,118,168,268,269,275,305,318,326],statement_:379,statements_and:379,station:[54,94,96,123,134,213,260,266,268,314,315,320,344,355,385],statist:[94,123,268,363,379],statu:[7,14,24,27,29,31,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,68,69,70,71,72,73,74,75,76,77,78,79,80,82,83,84,88,91,95,96,99,106,114,115,116,118,123,125,129,131,138,163,168,173,174,175,190,191,192,193,220,223,228,255,268,272,282,324,337,344,345,348,366,381,382],status:381,status_cod:336,stderr:379,stdin:[331,379],stdint:214,stdout:[331,379],step:[89,103,162,172,177,203,204,205,208,210,255,289,291,293,318,320,326,356,360,378,379],stepin:326,stepout:326,stick:[358,378],sticker:358,still:[1,23,72,103,115,118,128,129,133,162,172,212,220,253,268,269,272,277,285,292,293,294,302,318,319,326,335,356,358,378,379],stm32cubeprogramm:255,stm32f103c6t6:254,stm32f103c8t6:254,stm8:374,stmflashload:255,stock:393,stop:[29,64,91,103,128,134,162,177,202,203,204,205,208,212,220,248,253,254,284,289,293,301,305,324,332,333,337,343,344,345,376,378,379,382],stop_bit:29,stopap:29,storag:[16,59,162,172,238,266,327,347,379],store:[1,3,4,12,15,16,27,31,59,66,72,92,115,117,128,130,162,172,211,277,312,328,337,339,347,349,350,351,352,358,363,369,378,379,381,382,384],storge_loc:[29,54],stori:311,str1:378,str2:378,str3:378,str4:378,str:[3,29,136,171,212,220,334,343,378,379],straightforward:[277,379],strategi:[162,379],strawberri:[295,356,361,372,374,375],strcmp:162,stream:[3,29,92,136,166,268,328,379],strength:[94,134,344,381],stress:[89,91],stretch:162,strftime:[99,379],strict:255,strictli:[348,358,363,373,376,379],string:[1,2,3,4,6,7,8,10,12,13,14,15,16,17,18,19,20,21,23,24,25,26,27,28,29,30,32,34,36,38,39,48,52,55,57,58,59,60,63,66,67,71,72,74,79,81,82,84,85,86,87,88,89,91,92,94,95,96,97,98,99,100,104,106,107,109,110,111,112,113,114,115,117,118,121,122,123,124,127,128,129,130,131,133,134,135,136,137,162,168,172,173,174,175,177,183,191,192,193,195,196,197,198,206,208,212,220,268,277,304,320,326,334,348,349,350,354,380,381],string_:379,string_can:379,stringdata:172,strip:168,strong:[29,121,162,238,379],strongli:[125,267,314,315,331],strt:255,strtoll:[29,268],struct:[305,327,330,335,339,346,379],structur:[4,6,91,112,113,162,168,209,303,305,314,315,318,320,323,324,337,345,378,381],stuck:[111,289],studi:[212,220,250,378,383],studio:[210,322],sty_en:29,sty_zh:29,style:[29,138,163,171,177,208,268,271,293,324,337,345,363,379],style_cr:[29,162],style_delet:29,style_init:[89,162],style_lin:162,style_list:89,style_list_cr:29,style_list_delet:29,style_list_t:29,style_screen_label4_main:162,style_screen_label_main:162,style_set_image_recolor:162,style_set_image_recolor_opa:162,style_set_line_color:162,style_set_line_round:162,style_set_line_width:162,style_set_text_color:162,style_set_text_font:162,style_t:[29,162],su:[162,275],sub:[26,124,162,168,212,220],subcallback:[380,381],subchr:29,subject:[89,95,379],sublibrari:379,submask:29,submiss:345,submit:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,116,117,118,119,120,122,124,125,126,127,128,129,130,131,132,133,134,135,136,137,330],submodul:[316,379],subnet:[131,344],subroutin:378,subscrib:[29,35,39,50,51,54,63,86,87,94,98,115,116,123,126,134,177,208,212,220,305,380,381],subscript:[55,94,98,136,305,353,381,382],subsequ:[36,103,115,117,127,128,136,162,191,192,193,248,255,378,379],subset:379,substandard:378,substitut:379,substr:[378,379],subsystem:243,subtl:39,subtract:[2,162,269,378,379],subtyp:379,succ:[16,26,27,94,115,117],succe:[114,235,333,379],succeed:[28,103,379],success:[1,3,4,6,7,8,10,12,13,14,16,17,18,19,20,21,22,25,26,27,28,30,34,36,37,39,40,41,42,44,46,48,49,51,53,56,57,58,59,60,62,64,65,68,69,70,72,74,75,76,77,80,83,84,87,88,89,90,91,92,93,94,95,96,97,98,99,100,103,104,105,107,108,110,111,112,113,114,115,117,118,119,123,124,126,127,128,130,132,133,134,135,136,169,172,173,174,175,191,192,193,214,243,248,255,266,268,318,319,320,333,342,343,344,348,360,379,381],successfulli:[1,3,16,30,57,66,74,88,95,96,98,103,107,112,115,117,118,134,136,191,192,193,212,255,268,285,289,311,319,342,343,348,354,378,379,382],sudo:[166,321],suffici:[92,128,255,379],suffix:[29,212,220,269,274,314,315,335,347,379],sugar:379,suggest:[162,303,304,372,379],suit:[6,271,293,355],suitabl:[10,39,91,117,162,165,250,272,282,318,320,335,377,378,379,385],sum:[162,378,379],summari:[293,294,348,349,350],sundai:[68,379],sunt:162,super_mario:97,superimpos:372,superpro:255,supplement:[109,124,243,379],supplementari:[296,326,378],suppli:[0,1,66,103,162,169,189,212,220,221,237,250,266,287,291,292,293,300,311,356,363,366,367,372,374,379,393],supplier:356,support:[0,1,4,5,6,10,13,14,15,18,19,21,22,23,24,25,26,27,29,34,36,37,39,50,54,57,58,64,66,67,72,79,86,89,91,92,94,98,103,105,106,107,108,112,114,115,117,118,119,120,121,123,126,127,128,129,130,132,134,137,138,163,165,168,182,191,192,193,196,197,198,207,211,212,217,220,229,233,238,243,249,250,253,254,257,260,265,266,267,268,269,272,273,275,277,282,284,289,293,299,300,302,304,312,319,323,324,327,331,333,334,337,339,341,345,348,352,355,356,358,363,366,367,373,374,376,378,380,381,385,395],support_empti:379,suppos:[162,303,378,379,381],sure:[30,36,57,89,98,123,162,212,220,221,235,269,272,274,304,311,318,319,358,378,379],surg:[238,358,372,378],surpris:378,surround:[196,197,198,379],suspend:[212,220,255,284,324,337,345,379,380,381,382],svc_handler:214,svd:294,svn:306,svr_uuid:29,sw1:162,sw2:162,sw:[214,248,250,253,293,301],swap:[29,379],swclk:[214,218,255],swd:[214,217,248,250,255,293,300],swd_clk:[248,249,301],swd_dio:[248,249,301],swdclk:[248,249,301],swdio:[214,218,248,249,255,301],swing:[138,163],swipe:[162,268,311,320,352],switch_:162,switch_creat:162,switch_demo:162,switch_get_st:162,switch_off:162,switch_on:162,switch_part_bg:162,switch_part_ind:162,switch_part_knob:162,switch_toggl:162,swm181:[293,297,298,299,300],swm181_lib:300,swm181_pcb:[293,299],swm181cbt6:[293,297,298],swm181xb:301,swm81:300,sx1268:[86,87],sxx32:255,sxx32f103:[253,254,293],sxx32f1xx:[253,293],sxx32f1xx_dfp:255,sxx32f1xx_hal_msp:255,sy:[10,16,21,23,24,26,27,29,35,36,39,40,41,42,43,44,45,46,47,48,49,50,51,53,55,56,57,58,59,61,62,63,64,65,66,67,69,70,71,72,73,74,75,76,77,78,79,80,82,83,84,86,87,89,91,93,94,96,98,103,105,109,111,115,116,117,118,121,126,132,133,134,162,165,166,169,171,172,173,174,175,177,180,181,182,185,186,187,189,190,191,192,193,195,196,197,198,202,203,204,205,208,212,220,269,302,303,305,321,322,324,333,337,343,345,347,348,352,380,381],symbol:[1,4,10,36,101,127,136,138,163,250,294,318,335,348,353,369,378,379],symbol_:162,symbol_backspac:162,symbol_battery_ful:162,symbol_bel:162,symbol_clos:162,symbol_directori:162,symbol_dummi:162,symbol_edit:162,symbol_fil:162,symbol_left:162,symbol_minu:162,symbol_ok:162,symbol_plu:162,symbol_right:162,symbol_sav:162,symbol_set:162,symbtimeout:[86,87],symmetr:[6,162,170],symmetri:[138,163,300],sync:243,synchron:[54,115,123,173,174,175,195,196,197,198,212,220,221,255,331,354,356,361,374,375],synergi:168,syntact:379,syntax:[168,304,308,348,377,378],synthes:[277,311],synthesi:[274,277,324,337,345],synwit:301,sys_pub:[336,345],sys_send:[60,124],sys_wait:[115,124],syscfg:214,sysplu:[10,24,29,60,121,269],syst:19,system:[6,11,12,13,16,29,30,31,39,57,58,59,89,92,94,99,109,110,113,121,138,163,168,177,194,200,207,208,211,212,214,220,224,238,243,247,248,250,253,254,264,266,268,271,272,284,289,293,300,301,302,305,322,323,324,325,327,329,337,345,346,347,349,350,354,385],system_air001xx:[217,293],systemclock_config:214,systemcoreclock:301,systeminit:301,systick_config:301,systick_handl:[214,301],sz:[127,379],t0h:29,t0l:29,t1:[0,168],t1h:29,t1l:29,t2:[0,168],t3324:[94,96],t3412:96,t5:277,t9000:255,t:[10,13,18,22,25,26,29,42,45,48,58,59,72,75,91,94,99,108,110,111,112,115,162,165,166,168,189,203,204,205,210,212,220,221,248,253,269,277,292,293,301,302,305,314,315,320,333,336,340,348,349,351,356,358,363,378,381],ta1:162,ta:162,ta_cursor_last:162,ta_event_cb:162,ta_loc:162,ta_set_edge_flash:162,ta_set_insert_replac:162,ta_set_scroll_propag:162,ta_temp:29,tab1:162,tab2:162,tab3:162,tab:[29,138,163,212,248,250,301,372],tab_pag:162,tab_pos_top:162,tabal:24,tabl:[1,3,6,9,10,13,14,15,18,19,24,25,26,28,30,34,36,38,39,41,42,44,47,48,49,53,55,56,58,61,62,63,64,65,66,68,70,71,72,75,76,78,79,80,81,86,87,91,92,93,94,95,96,98,99,103,104,108,113,115,116,118,120,124,127,128,129,133,134,136,138,163,168,172,177,194,208,212,220,224,229,236,238,246,263,268,272,275,284,285,289,293,303,305,325,335,336,339,347,348,353,354,360,361,369,372,375,381],table_:379,table_cell_style_cnt:162,table_cr:162,table_demo:162,table_i:379,table_part_bg:162,table_part_cell1:162,table_part_cell2:162,table_part_cell3:162,table_part_cell4:162,table_ref:379,table_set_cell_align:162,table_set_cell_crop:162,table_set_cell_typ:162,table_set_cell_valu:162,table_set_col_cnt:162,table_set_col_width:162,table_set_row_cnt:162,table_typ:162,tableconstructor:379,tabul:379,tabview:[138,163],tabview_:162,tabview_add_tab:162,tabview_cr:162,tabview_demo:162,tabview_part_bg:162,tabview_part_bg_scrl:162,tabview_part_ind:162,tabview_part_tab_bg:162,tabview_part_tab_btn:162,tabview_set_tab_nam:162,tabview_tab_pos_non:162,tac:29,tag:[29,111,138,163,191,192,193,268,348,352,379,381],tagtyp:71,tail:[4,120,334,379],tailor:378,take:[0,3,11,31,72,85,90,93,94,103,104,115,136,162,165,166,168,196,197,198,235,255,268,269,277,304,305,314,315,318,320,323,330,334,336,353,354,355,358,360,366,376,378,381],taken:[10,72,89,127],talk:[162,166,379],tamb:238,tan:168,tangent:379,tanh:379,taobao:[218,225,231,250,254,264,300,356,372,374,387,398,401,404,407],tar:379,target:[28,29,38,39,99,191,192,193,214,248,268,269,272,274,301,320,363,372,378,379],task1:[124,382],task1_don:382,task2:382,task3:382,task:[18,24,60,67,72,96,122,124,177,208,209,268,324,337,345,348,349,351,378,379,380,381],task_:381,task_a_cnt:381,task_b_cnt:381,task_timer_id_max:381,taskdel:29,taskdisable_interrupt:255,taskexec:305,taskget:305,taskid:381,taskinit:[16,23,24,29,40,41,42,43,44,45,46,47,48,49,51,53,56,58,61,62,63,64,65,66,67,69,70,71,72,73,74,75,76,77,78,79,80,82,83,84,89,94,111,115,118,134,166,169,171,172,173,174,175,180,181,182,185,186,187,190,191,192,193,195,196,197,198,200,212,220,302,305,321,322,336,343,348,380,381],taskinitex:[29,60],taskl:54,tasklt:54,tasknam:[29,54,115],tasktimerid:381,tasktimerpool:381,tau:96,tautim:29,tax:356,tb:104,tc:[253,293],tcount:122,tcp:[32,95,115,133,268,273],tcptcp:95,tcs3472:54,td:275,tdd:[94,265,273],te:255,teach:[250,285],tear:[292,358],technic:[214,229,248,269,293,294,301,356,374,379],techniqu:378,technolog:[185,186,187],telecom:[29,114,121,123,266,268,273,275],tell:[162,378],temp:[47,61,65,72,378],temp_data:166,tempbit:[173,174,175],temperatur:[0,26,29,49,54,65,72,111,121,173,174,175,209,212,220,221,223,228,238,243,245,268,294,333],templat:[214,310,323,379],tempor:162,temporari:[91,312,318,378,379],temporarili:[66,94,115,162,294,378,379],ten:[360,369,379],tencent:[32,52,55,149,257,268],tengxun:[54,268],term:[162,238,266,324,337,345,379,384],term_sequence_to:379,termin:[162,166,255,356,358,372,379,381],test1:200,test2:200,test:[10,20,22,30,32,36,39,58,66,72,73,78,82,91,94,109,118,134,141,149,152,158,162,169,172,180,181,182,191,192,193,196,197,198,200,202,207,212,213,214,220,221,224,229,235,237,253,268,269,275,287,293,299,310,311,312,327,342,343,348,349,351,356,358,360,366,369,372,374,379,380,381,383,385],test_123123:336,test_data:200,test_json:312,testabl:306,testdemo:380,tester:360,testlbsloc:57,testmsgpub:380,testmsgsub:380,testsm:20,text:[12,92,102,114,127,138,163,208,250,277,318,321,335,355,376,379],text_line_spac:162,textarae_:162,textarea:[138,163],textarea_:162,textarea_add_char:162,textarea_add_text:162,textarea_cr:162,textarea_cursor_down:162,textarea_cursor_left:162,textarea_cursor_right:162,textarea_cursor_up:162,textarea_del_char:162,textarea_get_text:162,textarea_part_cursor:162,textarea_set_scroll_propag:162,textarea_set_text:162,textur:162,texture_atla:162,tf:[13,15,54,110,130,166,212,220,268,352],tf_c:[13,166],tft:[243,294,374,395,398,404],tft_:395,tg_pr:162,tgz:316,th:378,than:[0,5,11,12,26,30,31,33,38,58,72,81,91,92,94,98,115,122,127,136,162,173,174,175,180,181,182,207,211,212,220,221,243,250,251,253,254,266,268,277,293,294,304,318,331,333,346,358,360,363,369,373,376,378,379,381],thank:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,116,117,118,119,120,122,124,125,126,127,128,129,130,131,132,133,134,135,136,137,304,369],that_long:379,the_:379,the_act:379,the_al:379,the_bord:379,the_catch_i:379,the_continu:379,the_d_th:379,the_error:379,the_integration_load:379,the_iter:379,the_load:379,the_mag:379,the_meta:379,the_metatable_:379,the_n:379,the_n_catch:379,the_n_equ:379,the_n_her:379,the_n_lay:379,the_n_level:379,the_name_:379,the_not:379,the_pan:379,the_protect:379,the_step:379,the_upp:379,the_y_at:379,thei:[162,170,255,267,320,378,379,381],them:[162,169,248,250,255,268,272,303,326,330,358,360,367,372,378,379,381,384],them_primitive_:379,theme:[55,89,95,138,163],theme_appli:162,theme_get_font_smal:162,theme_set_act:29,theme_spinbox_btn:162,themselv:[320,379],theoret:[212,220],theori:[318,378],therebi:162,therefor:[94,162,255,289,318,331,358,369,379,381],thermal:[289,372],thi:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,141,145,149,152,158,162,163,164,165,167,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,212,213,214,220,221,227,228,229,231,233,235,248,250,251,255,257,266,267,268,269,272,273,274,285,289,292,293,301,303,304,305,307,312,314,315,318,319,320,323,325,326,328,329,330,331,334,336,342,344,346,347,348,352,353,355,358,360,363,366,369,372,373,376,378,379,380,381,382,394],thick:[29,162],thin:[162,378],thinbug:302,thing:[32,162,178,212,220,221,255,266,344,378,379,381],think:[162,212,220,293,353,378],third:[26,57,162,173,174,175,253,293,348,352,363,376,378,379,381,382],third_exp_:379,this_meta:379,those:[94,379,382],though:379,thought:[212,220],thousand:379,thread:[5,96,124,168,268,293,305,317,323,330,344,355,381,382],three:[10,26,32,36,54,66,102,162,165,207,211,212,214,220,238,266,269,294,305,331,334,372,378,379,381],threshold:[29,94,162,212,220],through:[0,3,11,21,26,39,52,72,89,92,94,96,103,113,118,135,162,190,200,201,203,204,205,207,211,212,213,214,220,221,226,232,238,253,269,277,284,289,293,300,303,311,314,315,324,325,326,327,330,331,333,337,345,352,354,356,358,369,373,378,379,380,381],throughout:[191,192,193,379],thrown:379,thu:[162,211,268,379],ti:250,tick1:29,tick2:29,tick64:[29,182],tick:[21,29,31,39,99,123,138,163,177,183,201,208,214],tick_int_prior:214,tick_per:91,tick_str:91,tickperu:182,ticks1:[180,181,182],ticks2:[180,181,182],tid:[122,200],tie:54,tielview:162,tight:89,tighten:358,tightli:358,tiktok:384,tile1:162,tile2:162,tile3:162,tile:[138,163],tileview:[138,163],tileview_:162,tileview_add_el:162,tileview_cr:162,tileview_demo:162,tileview_set_edge_flash:162,tileview_set_tile_act:162,tileview_set_valid_posit:162,tim1_ch4:255,tim1_etr:255,tim2:[253,293],tim2_ch1_etr:255,tim2_ch2:255,tim2_ch3:255,tim2_ch4:255,tim2_remap:255,tim3_irqhandl:255,tim5:[253,293],tim:[253,293],tim_clearitpendingbit:255,tim_cmd:255,tim_getitstatu:255,tim_it_upd:255,tim_itconfig:255,tim_opmode_singl:255,tim_selectonepulsemod:255,tim_setcount:255,time:[1,3,4,11,12,13,16,21,24,25,27,29,31,33,38,39,43,54,55,57,58,59,66,72,89,91,92,96,98,103,111,114,115,121,122,123,128,130,138,163,165,168,173,174,175,189,196,197,198,212,214,220,221,226,232,235,238,243,248,253,257,266,268,277,284,289,293,301,305,312,319,321,330,331,333,348,358,360,363,372,374,376,378,380,381,382,383],time_m:162,time_t:331,time_tick:29,time_u:29,timea:29,timeb:29,timeout:[24,29,54,59,72,89,95,115,123,179,201,212,220,268,305,330,333,381,382],timeout_tim:268,timer0:31,timer:[18,29,31,43,68,89,103,109,121,122,128,132,168,177,184,202,206,208,212,218,220,224,229,237,243,253,254,268,282,287,293,294,300,305,324,325,330,331,332,337,345,381],timer_handl:305,timer_id:[103,333],timer_start:[29,381],timer_stop:[29,333,381],timerid:381,timerloopstart:[21,29,59,132,200,202,203,204,205,269,380],timerout:333,timerpool:381,timerstart:[29,109,200,212,220,380],timerstop:[29,109,200],timestamp:[6,32,99,108,253,268,293],timezon:[29,96,268],timx:255,tin:289,tinder:369,tinyml:211,tip:[210,302,378],titl:[39,138,163,323],tkip:344,tl:[32,55,115,257,260,268,271,293],tld:[346,352],tm1637:54,tm1638:312,tm1640:54,tm1650:54,tm1650_kcb:79,tm8211:27,tm_hour:49,tm_mdai:49,tm_min:49,tm_mon:49,tm_sec:49,tm_wdai:49,tm_year:49,tmp:[48,120,312],tmpfile:168,tmpname:168,tname:379,to32:29,to64:29,to_:379,to_garbag:379,to_set_:379,tobase32:29,tobase64:[6,29],toc:162,tocod:29,todai:[10,36,127,162,166,378],today_d:162,todo:[35,116,129,139,140,142,143,144,146,150,151,153,154,155,156,157,159,160,161,171,219,240,241,279,281,311,325,326,331,389,397,400,403],togeth:[103,162,266,326,358,360,378,379,387],toggl:[29,162,292,363,373],tohex:[2,12,20,29,57,66,71,91,92,94,98,100,101,104,107,112,123,131,134,170,180,181,182,190,195,196,197,198,202,212,220,353],toidx:379,tointeg:168,token:[29,72,379],tolumb:378,tone:162,tonumb:[120,168,378],too:[89,102,115,162,169,207,210,221,284,289,305,318,319,320,330,358,360,372,378,379,393],tool:[14,18,91,103,106,162,208,213,218,221,248,253,263,284,293,302,322,323,347,356,367,372,374,378,379,383],toolbar:214,toolchain:[318,321],top:[10,36,127,136,162,213,250,277,305,348,363,369,376,379],top_fit_typ:162,topic:[29,54,117,305,336,345,378],toss:285,tostr:[29,168,378],total:[13,14,17,18,24,27,31,39,71,88,94,109,113,162,169,173,174,175,186,221,243,255,269,282,294,323,324,337,339,345,346,347,354,379,381],total_count:329,total_kb:13,total_len:347,total_sat:39,total_sector:13,totp:[29,268],touch:[29,89,121,123,162,229,250,293,372,378],touch_sensor:233,touchkei:[29,121,233],touchkey_inc:126,tovalu:29,tp:[29,379],tpname:29,trace:[221,238,379,385],traceback:168,traceswo:[253,293],track:[211,266],tradit:[98,117],traffic:94,trail:379,train:94,transceiv:[128,202,203,204,205,212,220],transfer:[29,39,73,135,173,174,175,196,197,198,203,204,205,212,220,253,268,293,305,325,342,361,372,375,379],transfer_done_top:29,transform:[2,21,162,255,378,379],transit:[89,135,162,269],translat:379,transmiss:[26,33,66,94,103,115,117,133,170,173,174,175,202,203,204,205,212,220,243,255,268,269],transmit:[13,94,112,115,117,134,202,203,204,205,211,212,220,255,289,335],transmitt:[202,203,204,205,212,220],transpar:[127,138,163,384],transplant:[118,250,253,293],transport:115,travers:[379,381],treasur:[356,358],treat:[162,378,379],treatment:379,tree:[36,214,379,386,396,399,402],tri:[94,277,379],trial:27,triangl:127,trick:[360,361],trigger:[21,68,103,109,128,176,177,208,212,220,253,267,293,300,301,305,326,331,340,356,363,369,379],trim:29,trimmer:[138,163],trimtrailingwhitespac:210,triod:[251,254],tripl:[32,95],triplet:32,trng:[29,98],troubl:304,troubleshoot:[224,255,293],troublesom:[72,190,212,220,305,335,336],true_track_degre:39,truli:94,truncat:[30,136,268,352],ts:96,tsl2561:54,tsl2561_data:80,tssop20:217,tstg:238,tt:[27,29,268,269,271,273,293],ttf:162,ttl:[202,203,204,205,284],tts_onchip:269,tube:[54,73,221,372],tune:[31,128],tupl:32,ture:137,turn:[0,1,5,8,11,21,26,28,36,39,50,67,72,78,79,94,95,103,105,109,115,118,122,126,127,130,132,133,134,162,169,177,184,188,199,207,208,212,214,220,238,250,253,268,284,289,292,293,311,324,337,339,345,356,358,363,373,374,379,382],turnkei:269,turnov:293,tutori:[21,101,117,122,128,136,138,164,176,183,188,194,199,206,210,212,213,217,220,224,229,235,237,246,253,271,287,289,293,294,299,304,313,314,315,320,348,355,358,369,382],tuya:[29,55],tv:221,twai:289,twice:[162,253,268,277,293,378,379,381],twinkl:212,two:[10,13,21,24,36,39,58,89,91,95,127,162,165,169,173,174,175,177,183,191,192,193,196,197,198,202,206,208,210,212,214,220,222,227,228,229,231,234,238,253,256,260,265,266,267,268,272,284,289,292,293,300,305,318,320,326,339,356,360,369,378,379,381,382,391],tx0:221,tx:[27,29,54,202,203,204,205,212,218,220,248,249,289,301],tx_:115,tx_done:87,tx_hwtimer_id:29,tx_ok:115,tx_pin:29,tx_timeout:87,txbuff:29,txconfig:29,txd:218,txfp:[253,293],txpacket:54,txstat:29,txt:[19,30,39,99,110,114,137,162,191,192,193,212,220,269,320,352],type:[0,1,3,5,7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,83,84,85,86,87,88,89,90,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,110,111,113,114,115,116,117,118,119,120,122,123,124,125,126,127,128,129,130,131,132,133,134,135,137,138,163,168,172,177,191,192,193,206,208,238,255,267,268,272,277,284,289,292,293,300,312,318,319,324,325,330,334,337,339,345,347,348,349,350,354,358,361,363,372,373,375,376,380,381,382],type_font:319,type_funct:379,type_rect:162,type_si:11,type_thread_:379,type_usr:11,typec:[207,250,284,356,366,373],typedef:[327,335,339,346,379],typic:[1,5,26,37,39,89,91,134,162,212,214,220,221,271,293,361,369,372,375,379],tz:29,u0_rx:284,u0_tx:284,u16:136,u1_rx:[202,203,204,205],u1_tx:[202,203,204,205],u32:136,u4:293,u64:136,u8:136,u8g2:[9,15,29,121,129,171,268,269,273,296,314,319,339],u8g2_font_unifont_t_symbol:127,u8g2_get:29,u8g2_load:29,u:[130,162,168,249,250,385],uart0:[106,128,203,204,205,212,220,221,267,268,272,282,284],uart0_ct:238,uart0_rx:[223,228,238,245,272,284],uart0_tx:[221,223,228,238,245,262,272,284],uart1:[128,177,202,206,208,212,220,267,268,272,284],uart1_ct:238,uart1_rt:238,uart1_rx:[212,220,223,228,238,245,262,272,284],uart1_rxd:272,uart1_tx:[212,220,223,228,238,245,262,272,284],uart2:[39,91,266,267,268,272],uart2_ct:238,uart2_rt:238,uart2_rx:[223,228,238,245,266,272],uart2_tx:[223,228,238,245,272],uart3_ct:238,uart3_rt:238,uart3_rx:[223,228,238],uart3_tx:[223,228,238],uart4_rx:[223,228],uart4_tx:[223,228],uart5_rx:228,uart5_tx:228,uart:[3,29,39,82,91,94,106,121,135,177,180,181,201,208,209,224,238,243,260,266,268,271,282,284,289,293,300,326,330,335,337,338,345,353],uart_br:54,uart_data:94,uart_id:[29,54,128,212,220],uart_recv_id:[212,220],uart_tx:128,uartid:[83,84,202,343],uartimeout:[212,220],uarttask:[212,220],uatt0_rx:262,ubuntu:318,uc1701:127,uco:381,ucs2:28,ucs2b:28,ucs2betoutf8:28,ud:[329,331,348,379],udata:[12,92,168],udelai:29,udisk_attach_sdhc:29,udisk_detach_sdhc:29,udp:[54,115,268,273],udpsrv:54,uev:255,ufont:[29,121],ui:[171,210,269,273,277,321,322,366,374],ui_upd:171,uid:[54,212,220],uint16_t:[255,327,335,339,346],uint32:334,uint32_t:[89,162,214,255,325,327,328,330,332,333,335,339,342,343,346,348],uint64:91,uint64_t:305,uint8:[334,335],uint8_t:[214,255,327,328,331,332,335,339,342,343,346],uion:335,uiot:134,ulink2:255,ullamco:162,ult:168,ultim:265,ultra:[209,250,268,385],unabl:[58,217,221,268,293,294],unambigu:306,unari:379,unauthor:170,uncertain:379,unchang:[136,381],uncheck:[138,163],uncom:[314,315,320],uncompress:29,uncreat:379,undeclar:378,undefin:379,under:[15,23,25,29,67,72,99,118,121,162,191,192,193,212,214,221,238,248,268,271,292,293,301,304,318,321,322,326,358,360,374,379],underli:[8,13,23,27,29,30,39,66,89,93,94,102,103,115,121,125,127,132,162,168,184,201,208,267,268,269,304,319,322,331,333,335,355,379,385],underlin:[348,379],underscor:[348,379],understand:[72,131,162,209,272,302,304,358,363,379,380,381],understood:[36,378,381],undervoltag:[243,300],undirect:98,undiscover:98,unequ:[136,379],unexpect:[162,212,220],unfamiliar:381,unfil:68,unfinish:379,unhid:162,unicod:[28,127,162,339,379],unicode_max:339,unicode_min:339,unicode_w:339,unicom:[123,266],unifi:[29,121,162,250,277,347],unifont_t_symbol:15,uniform:[268,327,379],uniformli:[319,379],uninstal:250,union:379,uniqu:[72,91,94,95,131,177,183,208,305,379,381,382],unique_id:[11,29,55,72,94,180,181,182,294],unit:[0,1,8,11,13,14,18,21,24,26,27,37,55,65,86,87,91,94,95,96,98,103,108,111,125,126,128,131,133,169,238,255,268,277,312,333,360,372,376,378,379,381,382],univers:[98,191,192,193,202,203,204,205,207,212,220,234,250,327,363,379],unix:379,unknow:94,unknown:[7,38,40,41,42,43,44,45,46,47,48,49,50,51,52,53,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,73,74,75,76,77,78,79,80,82,83,84,88,91,94,96,99,103,114,116,118,125,129],unknwn:98,unless:[66,103,104,122,125,162,221,266,325,379],unlik:[255,277,303,378,379],unlimit:268,unload:89,unlock:[94,100,394],unnecessari:372,unop:379,unpack:[6,29,121,168,212,220,268,334,336,353,381],unplug:207,unposit:39,unpredict:379,unprotect:[379,381],unreach:379,unread:379,unreason:268,unregist:[94,344],unreli:372,unrepres:379,unrespons:26,unrol:379,unscii:162,unsign:[2,101,136,277,335,353,379],unsignen:136,unsold:255,unstabl:360,unsubchr:29,unsubscrib:[29,54,98,381],unsuccess:293,unsupport:[130,255],until:[5,26,103,115,166,289,326,379,381],unus:[250,381],up:[7,13,14,18,20,21,23,31,36,63,86,89,94,96,98,103,106,108,112,114,115,117,123,124,125,134,138,163,168,184,185,186,187,196,197,198,203,204,205,212,214,218,220,223,224,226,228,232,238,243,248,250,253,254,255,260,268,272,284,289,293,300,311,312,326,330,332,339,340,352,356,358,363,369,374,378,381,382,393],upcom:366,updat:[6,16,24,36,67,72,89,91,96,98,123,127,138,163,171,208,213,247,253,255,264,266,268,293,300,311,313,317,318,326,348,369,376,379],updatecellinfo:29,upgrad:[18,29,54,102,109,121,248,249,250,254,260,268,271,277,284,289,293,301,356,358,366,380,385],uplink:94,uplinkb:94,uplinkgb:94,upload:[11,19,72,130,212,213,220],upon:379,upper:[10,36,89,93,127,162,168,210,248,255,358,372,378],uppercas:[6,162,348,378,379],upstream:94,upvalu:379,upvalueid:168,upvaluejoin:168,urg:306,uri:[25,29],url:[29,59,120,268,348,378],urlencod:[24,29],us:[0,1,3,4,5,6,7,8,9,10,11,13,14,15,16,17,18,21,22,23,24,26,29,30,31,33,34,35,36,39,40,41,42,43,44,46,47,48,49,51,53,54,56,57,58,59,60,61,62,63,64,65,66,67,69,70,71,72,73,74,75,76,77,80,82,83,84,89,91,92,94,95,96,98,99,102,103,106,107,108,109,110,111,115,117,118,120,121,122,123,125,127,128,131,133,134,135,137,138,162,164,166,168,169,170,171,172,173,174,175,177,178,179,180,181,182,184,185,186,187,189,190,194,195,196,197,198,201,202,206,207,208,210,211,212,213,217,220,221,231,235,238,248,251,253,254,257,258,260,262,266,267,268,269,272,273,274,275,277,285,287,289,292,293,295,299,300,301,302,303,304,306,309,311,312,313,314,315,318,320,321,322,323,324,326,327,328,329,331,336,337,338,339,344,345,346,347,348,349,351,353,354,355,356,358,361,363,367,369,373,374,375,376,377,378,380,381,388,391,393,395,398,401,404,407],usag:[11,20,27,40,41,42,43,44,45,46,47,48,49,50,51,53,56,57,59,61,62,63,64,65,66,67,69,70,71,73,74,75,76,77,78,80,81,82,83,84,91,94,96,98,107,133,134,138,163,177,208,224,253,254,268,293,307,311,335,348,356,358,363,369,374,379,381],usart1_ct:255,usart1_rt:255,usart:[218,253,293],usb:[3,6,13,29,103,115,121,202,203,204,205,207,212,220,237,243,249,253,254,268,272,273,282,284,289,292,293,296,326,355,356,358,361,363,366,367,374,375,376,385],usb_d:284,usb_istr:255,usb_uart:268,usba:250,usbapp:[29,121],usbclk:251,usbdm:255,usbdp:255,use_full_assert:214,use_lvgl_simsun_48:162,use_spiid_init:[191,192,193],use_zbuff:[203,204,205],useless:[0,255,354],user:[1,3,6,11,14,18,19,24,29,33,55,57,59,66,67,79,85,94,95,96,103,109,115,130,162,169,170,172,173,174,175,177,179,180,181,182,191,192,193,196,197,198,201,208,211,212,217,218,236,248,250,255,268,269,272,282,293,300,301,306,309,310,311,323,329,330,331,332,335,336,340,342,343,344,347,348,349,351,356,358,361,363,367,369,372,374,375,379,381,382,384],user_data:115,user_flag:29,user_guide_cn:292,user_msg:200,user_nam:[29,32],user_stop:1,userapn:29,userdata:[4,6,10,14,15,16,18,22,24,28,30,36,38,59,60,87,89,95,112,113,117,118,127,129,133,135,162,379],userid:55,userkei:55,usernam:[29,94],usim_det:272,using_non_wrapping_output_buf:92,usleep:119,usr:379,usual:[0,13,24,34,37,39,72,89,98,99,100,103,104,106,107,108,109,110,112,115,122,123,125,130,132,135,162,169,178,207,212,220,221,238,269,303,311,314,315,318,319,323,326,330,332,339,346,352,369,372,379],usual_wrap_rul:379,ut:162,utc:[39,99,108,266],utf16:327,utf8:[28,36,123,127,168],utf:[162,168],util:[18,117],utran:94,uuid:[29,293],v0001:109,v0004:347,v0007:[268,347],v0:[172,255],v1002:[268,272],v1016:272,v1020:[259,293],v1021:[259,293],v1103:[266,269,271,272,274,293],v1104:[271,277,293],v1105:[269,271,293],v1106:[265,271,293],v1107:[269,271,293],v1108:[269,271,293],v1112:266,v1120:265,v1:[134,168,169,172,186,191,192,193,197,198,203,204,205,223,228,233,234,236,250,258,267,293,326,356,366,367,369],v2:[10,54,134,168,248,249,250,297,298,300,307,347,356],v32xeaksgtieqxtqgwcldp5aplcnps3k:57,v4:317,v5:[277,320],v:[18,29,39,63,106,118,134,162,168,172,238,275,277,282,376],va_list:379,val1:[29,168],val2:29,val3:29,val:[29,54,72,101,111,136,212,220,379],valid:[10,13,14,18,20,24,26,31,36,39,95,107,117,127,128,130,136,162,168,189,212,266,284,378],valid_po:162,valid_pos_arrai:162,vallei:363,valn:29,valu:[0,2,3,4,5,6,7,8,9,10,11,12,15,16,17,19,20,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,92,93,95,96,97,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,163,168,169,172,173,174,175,189,195,196,197,198,202,207,212,214,220,221,238,253,262,268,272,274,277,283,293,300,303,304,318,319,320,323,325,330,331,333,334,335,340,342,343,348,349,350,351,353,354,356,358,361,363,369,373,374,375,376,381,382],value_:379,value_arrai:162,value_n:379,values_:379,vari:[20,98,162],variabl:[57,101,106,124,162,168,209,226,232,303,318,326,329,331,380,381,382],variables_:379,variad:379,variat:39,varieti:[123,162,178,212,220,243,268,269,366],variou:[3,26,29,121,133,162,191,192,193,212,213,269,347,350,378,379],varlist:379,varnam:168,vast:109,vbat33:238,vbat:[0,72,212,220,245],vbu:[238,272,284],vcc33:238,vcc:[191,192,193,196,197,198,238,250],vcodec:166,vdd12:238,vdd25:238,vdd33:238,vdd33_out:238,vdd3p3_cpu:284,vdd3p3_rtc:284,vdd:[93,238,255,284],vdd_spi:284,vdiv:162,vdop:39,ve:162,vector:[89,300,327,390,391],velit:162,vendor:[330,331],veniam:162,ver_fit_typ:162,ver_r:162,veri:[72,107,125,138,163,165,166,178,185,186,187,190,210,212,220,250,267,268,272,293,305,331,336,369,374,378,379,381],verif:[92,94,95,107,115,128,268,348],verifi:[29,32,71,94,95,111,115,235,268,318,323,354,356,369,374],versa:379,version:[5,10,20,23,29,36,54,59,72,86,102,106,121,124,127,131,138,163,166,168,169,171,172,173,174,175,179,180,181,182,185,186,187,191,192,193,196,197,198,200,201,203,204,205,207,212,213,214,224,229,237,247,248,249,253,255,257,264,266,267,268,271,272,273,274,284,286,287,293,306,309,311,320,326,327,339,346,347,348,355,356,361,367,369,372,374,375,380],version_:109,vertex:10,vertic:[36,39,127,138,163,369,379],veteran:[355,377],vf:[166,352],vfs_fatf:268,vhid_cancel_upload:29,vhid_upload:29,via:[52,98,127,162,207,210,218,255,266,326,356,369,374,376,379],vibrat:221,vice:379,vid:29,vid_0d28:250,video:[21,29,78,79,101,117,122,128,136,138,207,208,210,212,220,313,314,315,320,348,355,358,360,382],video_h:166,video_plai:166,video_w:166,view:[0,1,2,3,4,6,7,8,9,10,11,13,14,16,17,18,19,20,21,23,24,25,26,27,28,29,30,31,32,33,34,35,36,38,39,45,54,58,72,81,86,87,89,91,94,95,98,100,101,103,104,105,107,108,113,114,115,117,118,119,120,122,127,128,130,131,132,133,134,136,138,163,165,170,176,183,188,194,199,206,208,217,224,250,284,293,311,320,326,335,354,356,358,361,367,369,372,374,375,378,379,381,406],viewer:392,vih:238,vil:238,vin:[173,174,175],violat:379,virtual:[3,13,39,94,103,106,109,128,162,212,220,221,248,249,253,268,271,284,289,293,301,304,323,325,328,329,330,347,352,378,379],virtual_com_port:251,visibl:[39,96,128,130,138,163,168,349,351,378],visit:162,visual:[162,210,322],visualstudio:210,vlcd:29,vm:[15,36,201],voh:238,voic:[273,275,277,293],vol:[29,238,268],volatil:[191,192,193],volt:[211,273,275],voltag:[0,10,37,53,103,165,169,212,220,221,223,228,234,238,243,245,253,268,293,300,356,358,361,366,367,369,373,374,375],volum:[1,94,268,271,293,372,378],volupt:162,vs1838:66,vscode:[208,304,314,315,318,326],vss:238,vta:39,vtg:39,vuart_0:[3,39,94,128],w1_connect:29,w1_read:29,w1_reset:29,w1_write:29,w25q128:[191,192,193,196,197,198,212,220,285],w25q128jv:[196,197,198],w25q128jv_dtr:[196,197,198],w25q32:66,w25q64:66,w25qxx:66,w5500:[29,115,117,121,268,296],w600:[117,262,264],w800:[223,228,282,293,296],w801:[282,296],w805:[282,296],w806:[231,293,296],w:[13,29,30,85,162,166,178,179,191,192,193,212,220,336,352,363,374,379],w_:379,wa:[2,4,6,14,16,18,20,21,26,39,94,98,125,127,133,134,162,196,197,198,212,220,250,304,318,320,355,369,378,379],wai:[14,16,18,21,24,64,95,103,106,117,123,162,170,191,192,193,196,197,198,202,203,204,205,210,212,220,250,267,284,289,300,303,304,305,325,326,327,328,330,358,363,378,379,380,381,382,407],wait485:29,wait:[10,19,21,23,24,26,27,29,36,40,41,42,44,45,46,47,48,49,51,53,54,55,56,57,58,59,61,62,63,64,65,66,67,69,70,71,72,73,74,75,76,77,78,79,80,82,83,84,89,91,93,94,98,103,109,111,118,124,128,132,133,134,162,165,166,169,171,173,174,175,177,180,181,182,185,186,187,189,190,195,196,197,198,207,208,212,213,220,221,235,255,268,287,293,302,311,319,321,322,324,325,330,333,337,343,345,348,349,351,353,354,379,380,381],waitabl:[349,351],waitc:[324,337,345],waitlink:54,waitmsg:29,waitt:[324,337,345],waituntil:[26,29,58,72,94,96,105,117,133,134,200,336,348,380,381],waitxxx:122,wake:[36,86,103,108,123,124,184,212,224,226,232,268,272,293,332,381,382],wakeup0:272,wakeup1:272,wakeup2:272,wakeup:[29,103,221,226,232,272,300],wakeup_in:245,wakeupin:103,wakeuppin:29,wakup0:272,waldemar:379,walk:[109,326],wand:[214,248,250,301],want:[10,72,94,131,162,165,212,218,220,250,285,293,303,304,305,314,315,320,356,378,379,380],ware:301,warehous:[166,207,209,212,250,273,284,289,314,315,320,369],warm:220,warn:[15,29,102,179,212,220,250,268,318,336,358,363,372,373,376,381],warning_level:29,wast:[66,339],watch:358,watchdog:[29,54,103,121,179,201,212,243,300],watchdogpin:54,watt:363,wav:[4,27],wave:[21,33,212,220,221,372],waveform:[8,212,220,356,361,369,372,374,375],wb:[4,30,212,220],wba_abc:305,wbc_abc_cb:305,wbc_abc_handl:305,wcdma:275,wdai:[68,379],wdata:71,wdt:[29,121,179,201,212,268,296],we:[89,162,165,166,169,170,178,185,186,187,190,191,192,193,196,197,198,203,204,205,210,212,214,218,220,235,248,250,301,303,305,314,315,319,320,331,354,355,372,378,379,381,383],weak:[94,168,267,268,272],wealth:[260,355],weather:[10,36],weather_icon:29,web:[250,284,327,379,384,385],web_audio:269,websit:[6,20,57,72,210,266,268,295,302,318,379],websocket:[29,121,268,273,296],websocket_cli:133,websocket_conack:133,webusb:250,wechat:[134,356],week:[68,379],wei:73,weight:[89,162,378],welcom:[213,275,345,355,356,374],weld:[221,289,358,363],well:[162,165,166,212,220,358,363,378,379],wendal:[14,18,104,304,325,326,328,329,330,332,333,334,335,340],wenquanyi:171,went:16,wep:344,wep_psk:344,wep_shar:344,wepval:255,were:[30,120,123,379],west:[39,108],western:162,wget:321,wgs84:[39,57,58],wh:[363,374],what:[0,23,125,131,134,136,162,165,168,191,192,193,210,217,224,246,253,263,271,293,299,304,305,311,314,315,320,323,324,331,336,337,345,349,350,378,380,381],whatev:379,wheel:[369,372,373,376],when:[1,10,11,13,14,18,21,24,26,30,31,34,36,39,57,58,66,68,72,73,91,94,95,96,98,103,109,111,112,115,117,124,128,130,131,134,136,162,165,166,169,173,174,175,180,181,185,186,187,189,196,197,198,203,204,205,210,211,212,214,218,220,221,223,228,238,250,251,253,254,266,268,272,277,284,289,293,302,305,307,320,321,322,326,330,339,348,352,353,354,356,358,361,363,369,375,376,378,379,380,381,382],whenc:168,whenev:[68,379],where:[26,35,66,89,90,93,98,101,112,117,136,162,179,207,212,220,274,284,292,293,302,310,327,331,369,378,379,380],where_ddd_i:379,where_n_i:379,where_set_i:379,where_x_and_y_remain_balanc:379,where_xx_must:379,where_xxx_i:379,whether:[1,2,4,6,7,10,11,13,16,19,23,24,26,27,30,31,33,36,37,39,57,60,63,66,67,86,91,92,94,95,96,98,103,111,114,115,117,118,120,127,128,133,134,136,162,207,212,214,220,221,248,250,253,254,268,272,293,301,309,318,331,344,348,352,360,372,378,379,381,382],which:[0,1,6,11,12,15,17,20,21,23,24,27,28,30,32,34,36,38,39,45,66,68,72,79,85,86,87,89,91,92,93,94,95,96,98,99,101,102,103,104,106,109,110,112,115,118,122,124,128,134,135,136,162,165,169,173,174,175,179,191,192,193,201,202,207,210,211,212,213,214,220,221,238,243,250,251,255,266,267,268,269,272,277,282,284,289,293,295,300,303,304,305,318,319,320,321,323,326,330,331,335,336,339,340,346,348,355,358,360,361,363,369,372,375,378,379,381,382],white:[10,89,208,221,293,377,379],whiteboard:[213,214],who:[94,248,250,285,301,377,378,380],whole:[250,272,378,379,381],whose:[162,379],why:[138,163,293,323,324,337,338,345,356,378,379],wi:[260,385],wide:[10,36,162,165,334,346],widget:[89,138,163],width:[3,13,29,36,66,89,117,127,138,163,166,185,186,187,212,220,221,284,327,339,342,378,379],wifi:[29,57,72,115,121,127,257,264,268,273,282,289,291,293,296,337,338,345,348,355,356,374],wifiscan:134,wignor:318,wiki:[5,10,36,162,165,166,212,213,220,221,273,294,311,353],wikipedia:162,win10:[207,369],win32:[128,302,321,355],win7:[207,248,250,254,284,289,301,318,360,369],win8:[248,254,284,289,301],win:[138,163,166,356,361,372,374,375],win_add_btn:162,win_add_btn_left:162,win_add_btn_right:162,win_close_event_cb:162,win_creat:162,win_demo:162,win_focu:162,win_part_bg:162,win_part_content_scrl:162,win_part_head:162,win_scroll_hor:162,win_scroll_v:162,win_set_anim_tim:162,win_set_layout:162,win_set_scrlbar_mod:162,win_set_titl:162,winbond:[191,192,193,196,197,198],window:[10,29,96,138,163,167,207,210,212,214,250,311,316,318,320,322,326,369,379],winter:212,winusb:[248,250,254,284,289,301],wip:[282,296],wire:[45,50,66,169,173,174,175,185,186,187,191,192,193,196,197,198,203,204,205,212,213,218,220,250,255,271,284,293,311,356,360,363],wireless:[293,344,355],wistr:255,with_x_and:379,with_y_:379,within:[21,162,211,212,220,221,255,275,277,303,305,325,345,378,379],without:[6,15,16,19,20,22,89,94,95,96,106,115,134,162,169,207,212,217,221,255,266,272,284,294,305,311,319,320,326,331,348,378,379,381,382,385],withstand:[253,293,372],wizpro200st8:[253,293],wlan:[29,121,296,337,338,345,348],wlan_scan_don:[134,348],wmm:260,woff2:162,woff:162,woken:381,won:[378,379,381],wonder:378,word:[101,162,207,277,284,319,320,327,348,379],work:[3,66,67,71,79,98,115,162,189,202,203,204,205,211,212,220,221,238,243,254,255,300,302,322,354,356,363,379],work_mod:103,workaround:[255,268],workflow:302,workshop:250,world:[209,210,378,379],worri:[72,250,255,336,379],worst:[3,269],worth:[99,212,220,268,378],would:379,wow:382,wp:[260,344],wpa2:[260,344],wpa2_aes_psk:344,wpa2_mixed_psk:344,wpa2_tkip_psk:344,wpa:[260,344],wpa_aes_psk:344,wpa_tkip_psk:344,wps_open:344,wps_secur:344,wrap:[106,162,168,335],writ:[191,192,193],writabl:[98,162,352],write:[3,10,11,14,16,18,21,24,26,27,29,30,31,37,50,54,78,79,91,92,94,98,102,110,111,115,121,127,131,138,163,166,168,171,177,190,194,199,202,203,204,205,208,209,210,212,220,253,268,269,274,293,301,302,304,321,322,323,325,326,334,335,342,343,348,349,350,351,353,354,378,381,382],write_datablock:54,write_rawrc:71,write_zlib_head:92,writechr:29,writefil:[29,191,192,193],writei8:136,writeint8:334,writer:379,writereg:29,writeu32:136,written:[3,6,11,16,18,30,50,71,86,87,88,91,92,94,98,99,110,112,113,115,123,128,136,162,165,196,197,198,212,220,255,268,303,330,336,369,378,379,380],wrong:[16,59,91,111,250,255,268,304,314,315,320,325,333,360,379],wrote:[191,192,193,196,197,198,212,220],wrprterr:255,ws2812:[138,164,268],ws2812_h:165,ws2812_roll_show:165,ws2812_w:165,ws2812b:29,ws2812b_pwm:[29,165],ws2812b_spi:[29,165],ws:[133,354],wsc:29,wsc_conack:133,wsg84:57,wss:133,www:[24,39,68,196,197,198,209,302,379],x00ff0200:354,x01:26,x02:26,x03:26,x0:29,x1:[29,162],x1ffff7e8:255,x200ma:372,x200ua:372,x25:6,x2:[29,162],x2a:372,x2ma:372,x32:[29,180,181,182],x64:[318,320],x7f:379,x7fffffff:[31,91],x80:379,x8218dbc0:381,x:[3,20,24,29,41,44,51,56,61,65,70,96,101,121,162,168,212,213,224,225,231,238,255,274,326,339,358,363,378,380,381],x_id:162,x_of:162,x_offset:127,x_op_:379,x_xx_:379,xbf:379,xc2:379,xeltek:255,xf4:379,xfer:29,xhh:378,xi12m:238,xi32:238,xiao:[250,277],xiaomi:[358,363,372,373,376],xingli:266,xip:211,xlsx:[223,228,236],xmake:[304,318,321,322],xmodem:[6,54,135],xo12m:238,xo32:238,xoffset:[10,36,166,212,220,294],xor:[6,127,162,254,379],xpcall:168,xt804:[282,283,296],xtal32k:238,xtal:238,xu:277,xuyuan:165,xx:[171,178,309,311,378,379],xxx:[4,13,16,19,25,30,55,59,72,95,99,106,110,115,277,304,305,307,308,309,311,318,344,348,354,378],xxxx:[30,115,118,294,311,314,348,381],xxxxx:[305,378,381],xxxxxblock:305,xxxxxx:[1,59,95,134,210],xxxxxxx:348,xxxxxxxxx:[305,336],xxxxxxxxxx:348,xy:381,y0:[29,277],y1:[29,162,277],y2:[29,162],y877bgo8x5owd3lcb5wwdjrynpob:32,y:[20,29,41,44,51,56,61,65,70,99,121,138,163,168,171,226,232,274,277,307,309,321,378,381],y_id:162,y_max:162,y_min:162,y_of:162,yahei:210,yangkeduo:384,yangzichen123:292,ye:[94,115,162,210,294,360,378,381],year:[39,57,68,99,108,162,189,212,248,378,379],yeild:381,yellow:[292,376],yet:[118,293,379],yield:[168,381],yin:[78,79],yml:302,ymodem:[29,121,268],yoffset:[10,36,166,212,220,294],you:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,122,124,125,126,127,128,129,130,131,132,133,134,135,136,137,162,165,166,170,171,172,176,178,183,184,188,189,190,191,192,193,194,195,199,200,202,203,204,205,206,207,209,210,212,213,214,218,220,221,235,238,248,250,251,254,255,268,269,275,284,285,289,292,293,301,302,304,305,311,313,314,315,318,320,321,322,323,324,337,338,345,348,352,354,355,356,358,363,369,374,376,377,378,379,380,381,382],you_:379,young:268,your:[115,131,162,171,178,207,213,214,248,285,301,305,314,319,320,358,360,363,372,377,378,379],yourself:[1,5,59,111,134,162,210,248,250,254,301,304,313,314,315,360,378,379,383],yuan:[360,379],yum:[314,315],yun:379,yuv411:289,yuv420:289,yuv422:289,yyi:[59,106,311,354],z:[41,44,56,61,65,70,101,274,379],zadig:[248,254,301],zbuff:[1,3,4,10,16,26,27,29,30,31,36,94,111,112,115,117,121,127,128,130,135,165,166,177,206,208,209,212,268,296,334,335,353],zda:39,ze08g:54,ze08g_ch2o:54,zeo:273,zero:[6,20,162,226,232,268,277,363,379],zeropad:20,zeros_and_len:6,zeu:[250,260],zh07:54,zh07_pm10:84,zh07_pm1:84,zh07_pm25:84,zh:68,zhou:[217,266,269,277,393],zhuff:26,zip:[258,267,268,269,314,315,318,320,347],zlib:[29,121],zone:[29,39,58,96,108,238,300,329],zoom:[1,162],zstruct:335,zzz:[59,311],zzzzzzzzz:336},titles:["adc - Digital-to-analog conversion","audio - Multimedia-Audio","bit64 - 32 Basic arithmetic and logical operations on 64-bit data on bit systems","camera - Camera","codec - Multimedia-Codec","coremark - Running points","crypto - Encryption and decryption and hash functions","ctiot - China Telecom CTIOT Integration","dac - Digital-to-analog conversion","disp - disp Library (Obsolete)","eink - ink screen operation library","errDump - Error reporting","fastlz - FastLZ Compression","fatfs - read/write fatfs format","fdb - kv Database, power failure does not lose data","fonts - Font Library","fota - Underlying Firmware Upgrade","fs - Additional File System Operations","fskv - kv Database, power failure does not lose data","ftp - ftp Client","gmssl - national secret algorithm","gpio - GPIO Operation","gtfont - Qualcomm Font Chip","hmeta - Hardware metadata","http - http Client","httpsrv - http Server","i2c - I2C Operation","i2s - Digital Audio","iconv - iconv Operation","\ud83c\udf74 LuatOS-SOC Interface Documentation","io - io action (extended)","ioqueue - io Sequence operation","iotauth - IoT Authentication library, used to generate parameters for various cloud platforms","ir - infrared remote control","json - json Generating and parsing libraries","keyboard - Keyboard Matrix","lcd - lcd Drive module","lcdseg - Segment lcd","libcoap - coap Data processing","libgnss - NMEA Data processing","ads1115 - ads1115 analog-to-digital converter","adxl34x - adxl34x 3 Axis accelerometer currently supports adxl345 adxl346","aht10 - aht10 Temperature and humidity sensor","air153C_wtd - Add software watchdog function to prevent crashes","ak8963 - ak8963 geomagnetic sensor","am2320 - am2320 Temperature and humidity sensor","bh1750 - bh1750 Digital light intensity sensor","bmx - bmx The air pressure sensor currently supports bmp180 bmp280 bme280 bme680 will automatically judge the device","cht8305c - cht8305c Temperature and humidity sensor","ds3231 - ds3231 Real Time Clock Sensor","ec11 - ec11 Rotary encoder","gt911 - gt911 Drive","httpdns - Domain name resolution using Http","ina226 - ina226 Drive","\ud83e\udd62 Extended Library Interface Documentation","iotcloud - iotcloud Cloud platform library (supported: tengxun cloud ariyun onenet huawei cloud graffiti cloud baidu cloud others will also support, useful issue will accelerate support )","l3g4200d - l3g4200d Three-Axis Digital Gyroscope Sensor","lbsLoc - lbsLoc Sending Base Station Location Request","lbsLoc2 - base station positioning v2","libfota - libfota fota Upgrade","libnet - libnet synchronous blocking api based on the socket library, the socket library itself is asynchronous non-blocking api","lis2dh12 - lis2dh12 Three-axis sensor","lm75 - lm75 Temperature Sensor Support lm75a lm75b","mcp2515 - mcp2515 CAN Protocol Controller Driver","mlx90614 - mlx90614 infrared temperature","mpu6xxx - mpu6xxx Six-axis/nine-axis sensor support mpu6500,mpu6050,mpu9250,icm2068g,icm20608d","necir - necir NEC protocol infrared receiving","netLed - netLed Network status indicator","pcf8563t - pcf8563t Clock Module","pcf8574 - pcf8574 IO Extension","qmc5883l - qmc5883l geomagnetic sensor","rc522 - rc522 Non-contact read/write card driver","rtkv - Remote KV Database","shift595 - shift595 74HC595 Chip","si24r1 - si24r1 Drive","spl06 - spl06_01 Air pressure sensor","tcs3472 - tcs3472 Color Sensor","tm1637 - tm1637 Digital tube","tm1640 - tm1640 Digital tube and LED driver chip","tm1650 - tm1650 Digital tube and key scanning chip","tsl2561 - tsl2561 light intensity sensor","udpsrv - UDP Server","xmodem - xmodem Drive","ze08g_ch2o - ZE08G-CH2O electrochemical formaldehyde module","zh07 - ZH07 Laser Dust Sensor","log - Logstore","lora - lora Drive module","lora2 - lora2 Driver module (supports multi-hanging)","lpmem - Operation of low-power non-power-down memory blocks","lvgl - LVGL Image Library","max30102 - Heart Rate Module(MAX30102)","mcu - encapsulation mcu some special operations","miniz - Easy zlib compression","mlx90640 - infrared temperature measurement(MLX90640)","mobile - Cellular Network","mqtt - mqtt Client","nbiot - NB-IOT Operation Library","nes - nes Simulator","nimble - Bluetooth BLE library (nimble version)","os - os Operation","otp - OTP Operation Library","pack - Packing and unpacking format string","pin - Pin Naming Map","pm - Power Management","protobuf - ProtoBuffs Codec","pwm - PWM Module","repl - \u201cRead-evaluate-output \u201cloop","rsa - RSA encryption and decryption","rtc - Real Time Clock","rtos - RTOS underlying operation library","sdio - sdio","sensor - Sensor Operation Library","sfd - SPI FLASH Operation Library","sfud - SPI FLASH sfud Software package","sms - SMS","socket - Network Interface","softkeyboard - software keyboard matrix (currently only supported by air105)","spi - spi Operation Library","sqlite3 - sqlite3 Database Operations","statem - SM State Machine","string - String Manipulation Functions","Adaptation status","sys - sys Library","\ud83d\udcee sys System Messages","sysplus - sys A strong complement to the library","timer - Operating the bottom timer","touchkey - Touch keys","u8g2 - u8g2 graphics processing library","uart - serial port operation library","ufont - Unified Font Library (under development)","usbapp - USB Functional operation","w5500 - w5500 Ethernet driver","wdt - watchdog Operation Library","websocket - websocket Client","wlan - wifi Operation","ymodem - ymodem Agreement","zbuff - c Memory Data Manipulation Library","zlib - zlib Compression/Decompression (Obsolete)","\u2328\ufe0f Application Development","Code","Equipment","\u2328\ufe0f Alibaba Cloud application development","Introduction","Project","Test","\u2328\ufe0f Cloud Platform Basic Preparation","Introduction","<no title>","<no title>","\u2328\ufe0f Cloud Platform Application Development (Incomplete)","Code","Equipment","\u2328\ufe0f OneNet Application Development","Introduction","Project","Test","Code","Equipment","\u2328\ufe0f Tencent Cloud Application Development","Introduction","Project","Test","LVGL for LuatOS Manual","lvgl","Peripherals","LuatOS-Soc Driver WS2812 Tutorial","Air105 Video playback","Video playback","\ud83d\uddc3\ufe0f Data Archiving","adc","CRYPTO","DISP","fdb","air101","air103","air105","i2c","API Tutorial","LCD Drive screen","log","air101","air103","air105","mcu","PM","air101","air103","air105","pwm","RTC","sfd","air101","air103","air105","sfud","SPI","air101","air103","air105","spi","sys","timer","UART","air101","air103","air105","uart","Burn Tutorial","\ud83d\udcda Development Tutorial","recommend learning line","Construction of development environment","Air Watch","\ud83d\ude97 W806","Air001 Arduino-based user manual","Air001 Keil MDK-based user manual","Development Board","Hardware Data","\ud83d\udef4 Air001","Air001 Chip","Air001 power consumption curve","Air101 Getting Started Manual","Air101 Hardware Design Tutorial","Development Board","Hardware Data","\ud83d\ude97 Air101","Air101 Chip","Air101 power consumption curve","Development Board","Hardware Data","\ud83d\ude97 Air103","Function Description of Segment Screen/Segment Screen","Air103 Chip","Air103 power consumption curve","Touch sensor/touch button","Air105 Development Board","Air105 Script Encryption","Hardware Data","\ud83d\ude97 Air105","Air105 Chip","Air105 power consumption curve","Air106 Development Board","Hardware Data","\ud83d\ude97 Air106","Air106 Chip","Development Board","Hardware Data","\ud83d\udcf6 Air302","Air302 Module","Air32F103 Manual","Development Board","DAPLink Manual","Enhanced function instructions","Hardware Data","\ud83d\udeb2 Air32F103","AIR32F103 Chip","Transplant from SXX32F103","Air601-12F Development Board","Firmware Release Notes","Air601 Hardware Data","\ud83d\udce1 Air601","Air601","Development Board","Hardware Data","\ud83d\udce1 Air640w","Air640w","Air700E Additional instructions","Air780EG Additional instructions","Development Board","Ec618 Series Firmware Release Notes","Firmware Description","Hardware Data","\ud83d\udcf6 Air780E(EC618 Series General)","LuatOS IO multiplexing configuration under firmware","Air780E Module (EC618 Series General)","Description of mass production brush machine","Network Characteristics","Setting and difference of anti-shake of power-on key","TTS Description of the function","Development Board","Hardware Data","\ud83d\udea2 Air901","Air901 Chip","\ud83d\udcca Chip comparison and selection table","Performance testing (based on coremark)","ESP32C3-CORE Development Board","Replace flash tutorial","Hardware Data","\ud83d\udce1 ESP32-C3","ESP32C3 power consumption curve","ESP32S3-CORE Development Board","Hardware Data","\ud83d\udce1 ESP32-S3","Portable wifi data collection","\ud83e\uddee Chips and Development Boards","FAQ List","\ud83d\udce1 RP2040","Equipment Support/Supported Devices","Development Board","Hardware Data","\ud83d\udeb2 SWM181CBT6","SWM181CBT6 Chip","SWM181 Manual","\ud83d\udda5\ufe0f PC End version","Lua Library File Writing Guide","Add Custom Functions (Rapid Edition)","C Interface implements Task waiting function","LuatOS CLI - Command Line Tools","LuatOS CLI Basic Commands","LuatOS Burn command","LuatOS Package Management Commands","LuatOS Project Management Commands","CLI Interactive Conceptual Design","LuatOS User Project","\ud83d\udc68\u200d\ud83d\udcbb Compile source code","\ud83d\ude97 Air101 / Air103","\ud83d\ude97 Air105","\ud83d\udcf6 Air302","\ud83d\udce1 Air640w","\ud83d\udcf6 Air780E Compilation Guide","\u2601\ufe0f Cloud Compilation","\ud83d\udce1 ESP32 Series Compilation Document","\ud83d\udda5\ufe0f Linux","\ud83d\udda5\ufe0f Win32","Add New Library","Core Layer","Luat Core","Luat Debugger","Font module","File System","Memory Pool","Message Bus","Luat Platform layer","Power and Low Power Management","Luat Timer","C style buffer","C The Structure of Style","C Interface implements Task waiting function","Design Document","Peripherals API","LuatOS dot matrix font format","GPIO","IR","SPI","UART","WLAN","\u2764\ufe0f Contribution Code","LuaDB File Format","LuatOS-SoC Common Firmware Format soc","Coding Specification","\ud83d\udcc1 Development documentation","Development Information","Development practice","LuatOS-SoC The file system","Explain lua\u2019s string and hex data (hexadecimal)","Command Line Brush Guide","<no title>","\u26a1 IoT Power - CC","\u26a1 IoT Power - CC","Connection and assembly","Connection and assembly","FAQ","Technical indicators","Technical index","Operating Instructions","Operating Instructions","<no title>","\ud83d\udd0d Version Comparison","\u23f3 IoT Power Power consumption test artifact","\u23f3 IoT Power Power Consumption Tester","\ud83d\udda5 PC Client","<no title>","IoT Power User Guide","\ud83d\udd0b IoT Power - V1","Connection and Appearance","\ud83d\udd0b IoT Power Pro","Technical indicators","Operating Instructions","\ud83c\udf19 Lua Tutorial","Basic Grammar","Lua 5.3 Reference Manual","Luat Framework","Luat framework (advanced-underlying mechanism)","LuaTask Framework","\ud83d\udd79\ufe0f Online Experience LuatOS","\ud83d\udcac Technical Support","\ud83d\udee0 LuatOS Tools Daquan","Use Example","Hardware Data","Air105 Supporting GC032A camera","Use Example","Hardware Data","Qualcomm Font Chip","Hardware Data","EINK1.54 Ink screen","Use Example","\ud83e\uddf7 Peripheral expansion data","Use Example","Hardware Data","1.54 Inch TFT_ LCD resolution 240x240","Use Example","Hardware Data","1.8 TFT LCD resolution 128x160","Use Example","Hardware Data","2.4 Inch TFT_ LCD color screen resolution 240x320","Use Example","Hardware Data","Air10x Series Screen Expansion Board"],titleterms:{"0":[255,277,360,372],"01":123,"0x":123,"0x00":214,"0x001f":294,"0x01":214,"0x02":214,"0x03":214,"0x04":214,"0x05":214,"0x06":214,"0x07":214,"0x08":214,"0x09":214,"0x20000000":214,"0xffff":255,"1":[214,238,248,251,255,277,284,289,294,301,304,354,378,379,398,401],"10":379,"101":294,"103":354,"105":294,"10x":294,"11":379,"123":120,"128x160":401,"12f":[256,260],"12m":294,"15":93,"150":294,"16":251,"160m":288,"192m":239,"2":[214,238,248,251,255,284,289,294,301,304,354,372,378,379,404],"20":294,"200m":283,"2023":93,"20v":360,"240x240":398,"240x320":404,"256m":283,"2m":[226,232],"3":[41,214,238,248,251,255,284,289,294,301,354,378,379],"32":2,"32bit":255,"4":[238,251,284,289,294,378,379,404],"480k":269,"4g":384,"5":[93,238,251,379],"54":[393,398],"5k":251,"5v":[360,372],"6":[238,379],"64":2,"7":[238,294,379],"74hc595":73,"8":[294,372,379,401],"80m":[226,232],"9":379,"\u03bca":360,"\u51c6\u5907\u6750\u6599":317,"\u5f00\u59cb\u4e0b\u8f7d\u6e90\u7801":317,"\u5f00\u59cb\u7f16\u8bd1":317,"\u63d0\u524d\u544a\u77e5":316,"\u7f16\u8bd1\u73af\u5883":316,"\u7f16\u8bd1\u8bf4\u660e":316,"\u8bf4\u660e":317,"abstract":[196,197,198],"boolean":378,"break":214,"byte":[123,255,294,378,379],"case":[341,342,343,378],"char":[378,379],"class":[326,379],"default":[162,210,277,294],"do":[294,304,328,333,360],"export":369,"final":[6,320],"function":[6,43,120,130,162,200,212,214,230,247,250,251,255,264,273,277,284,289,294,304,305,311,336,358,360,363,369,373,376,378,379,380],"import":369,"int":[63,90],"long":162,"new":[38,55,162,203,204,205,210,214,248,301,304,305,323],"return":[305,348,378],"static":304,"switch":[162,363,369,372,376],"try":311,"while":[277,360,378],A:[124,209,303,352],AT:214,And:[221,294],As:255,At:358,For:379,If:[305,314,372],Is:[294,372],It:294,No:[226,232,239,255,288,294,372],One:162,Or:294,The:[47,250,255,294,325,331,335,336,347,352,354,372,378,379],There:[250,294],To:[93,304,378],Will:294,_at_0x20000000:214,_g:379,_repeat:109,_version:379,a1:379,a2:379,ab:379,abc:120,about:[221,265,266,325,347],abov:[255,294],acceler:55,acceleromet:41,accept:[115,379],access:255,accuraci:356,achiev:[327,336],aco:379,action:[30,376],activetim:96,acttyp:96,actual:372,ad:[214,336,378],adapt:[19,95,115,121,133,305],adapter_index:115,adc:[0,169,212,220,221,245,255,294],add:[43,113,162,213,214,304,323],addit:[17,226,232,239,265,266,272,288],addr:[26,33,71,98,113],address:[71,91,191,192,193,196,197,198,213,214],adjust:[162,369],adjust_period:128,adon:255,ads1115:40,advanc:[162,378,381],advdata:98,advparam:98,adxl345:41,adxl346:41,adxl34x:41,af:68,after:[93,180,181,182,255,294,360,372],again:360,agr2:122,agreement:[135,346],ah:376,aht10:[42,173,174,175],aie:68,air001:[213,214,217,218,219],air101:[173,180,185,191,196,203,220,221,224,225,226,294,314,354],air103:[174,181,186,192,197,204,229,231,232,283,294,314],air105:[116,166,175,182,187,193,198,205,234,235,237,238,239,283,294,315,354,388],air106:[240,242,243],air10x:407,air153c_wtd:43,air302:[246,247,316],air32:255,air32f103:[248,253,254,255],air32f103cbt6:283,air601:[256,258,259,260],air640w:[263,264,317],air700:265,air780:[271,273,283,318],air780eg:266,air901:[280,281],air:[47,75,211,384],ak8963:44,alarm:68,algorithm:[20,255,294],ali:52,alibaba:141,align:[162,255],aliyun:32,all:[255,320],alloc:331,alon:294,alpha:162,alreadi:360,also:[55,372],alt:21,alt_fun:91,altfun:91,alwai:[360,372],am2320:45,ambient:64,amplifi:372,an:[162,214,294,369],analog:[0,8,40,376],analysi:335,analyz:369,angl:162,ani:294,anim:[89,162],anim_cr:89,anim_fre:89,anim_path_set_cb:89,anim_path_t:89,anim_path_t_fre:89,anim_set_exec_cb:89,anim_set_path_str:89,anim_set_ready_cb:89,annot:348,antenna:294,antenna_on:71,anti:276,anticol:71,apb:255,api:[60,162,177,230,323,328,329,330,331,332,333,334,338,340,341,342,343,344,348,379],apn:[94,96],appear:[363,373],applic:[138,141,149,152,158],ar:[212,247,255,264,273,294,304,360],arc:162,archiv:168,arduino:213,area:[162,255,369],arg1:[122,379],arg2:[122,124],arg3:124,arg4:124,arg:[10,36,379],argn:122,arithmet:[2,378],ariyun:55,arm:214,around:360,arrai:[162,203,204,205,378],artifact:367,asin:379,ask:[162,304],assembl:[358,359],assert:379,assign:[162,378,379],async:10,asynchron:60,atan:379,attent:[284,289,354],audio:[1,27],audio_format:1,auth:95,auth_password:96,auth_user_nam:96,authent:32,authstat:71,auto:[96,162],auto_format:13,auto_phone_fix:114,auto_reconnect:134,auto_reset_stack:94,autocollectmem:109,autoflush:36,autolong:114,automat:[47,162,214,255],autoreconn:[95,133],auxiliari:[266,379],averag:[369,376],average_temp:93,axi:[41,56,61,65],b:[2,36],back:[36,294],background:[214,248,301,353],baidu:[32,55],band:94,bandrat:117,bar:162,base64_decod:6,base64_encod:6,base:[2,57,58,60,136,162,213,214,283,379],base_year:108,basi:378,basic:[2,145,209,296,303,306,307,325,326,327,328,329,330,332,333,334,335,336,340,341,342,343,344,376,378,379],bat:10,batteri:376,baud:63,baud_rat:128,been:360,befor:320,begin:127,below:376,between:[182,255,360,372,382],bh1750:46,bia:37,bif:255,bind:[39,131],bit64:2,bit:[2,136,255,294,379],bit_ord:128,bitdict:117,bits_per_sampl:1,bitw:27,black:372,ble:98,blink:162,block:[60,88,201,255,379],bluetooth:[98,294],bme280:47,bme680:47,bmp180:47,bmp280:47,bmx:47,board:[213,215,216,222,227,234,240,244,249,250,256,261,265,266,267,278,284,289,293,294,297,407],bodi:24,bom:356,book:394,bootstrap:255,boss:294,bottom:125,boundari:[328,329,330,332,333,334,335,340,341,342,343,344],box:162,bpp:89,brake:255,branch:378,breath:[185,186,187],bri:[78,79],brief:382,bright:162,brush:[218,221,225,231,234,247,264,273,274,284,292,294,311,354,360],bsp:[109,231],btn:162,btnmatrix:162,bu:[255,294,330],buff2:[10,136],buff:[3,10,16,30,74,115,127,128,130,136],buff_mod:89,buff_siz:[89,128,130],buffer:[27,334],build:[214,319,320],builddat:109,buoi:162,burn:[207,212,214,218,220,225,231,234,247,248,255,264,273,284,294,301,308,372],burner:[250,255],burp:372,bus_typ:1,busi:255,button:[162,233],c3:[287,354],c:[127,136,137,209,214,304,305,323,325,327,328,329,330,332,333,334,335,336,340,341,342,343,344,348,379,405],ca_fil:24,cach:369,cache_s:89,cal:53,calcul:182,calculate_crc:71,calendar:[162,394],call:[230,255,378,379,380],callback:[203,204,205,382],camera:[3,294,388],can:[63,162,255,294,304,360],cannot:[209,255],canva:162,capend:31,captur:[3,31,105,379],capture_buff:31,card:[71,255,294],cat1:384,cat4:384,categori:379,caught:285,cb:[87,95,115,133,162],cbfnc:[57,59],cbfun:124,cc:[356,357,360],cd:28,ce:74,ceil:379,celevel:96,cell:162,cell_info_upd:123,cell_typ:162,cellid:96,cellular:94,ch2o:83,ch:8,chain:318,chang:[162,210,269,294,319,326,360,372,379],changelog:268,channel3:255,channel:[27,91,105,134,196,197,198],channel_map:98,charact:[162,378,379],characterist:[265,266,275,372],charg:[238,360,376],charpattern:379,chart:[162,215,222,369],chat:384,check:[103,162,319],check_sim_period:94,check_valu:91,checkbox:162,checksum:6,china:7,chines:277,chip:[22,73,78,79,214,218,225,228,231,236,238,243,254,255,260,281,282,293,294,300,372,391],chip_check:74,chiperas:113,choos:[213,214],chooser:162,chr_uuid:98,cht8305c:48,chunk:379,chunknam:379,cid:94,cipher:275,cipher_decrypt:6,cipher_encrypt:6,cipher_list:6,cipher_suit:6,circl:[10,360],circuit:[221,238],classif:269,clean:162,cleanmsg:124,cleansess:95,clear:[10,18,31,36,39,77,78,79,104,136,255,294],clear_bit_mask:71,clearbuff:127,cleardownlink:94,clearli:360,clearlong:114,clearuplink:94,cli:[306,307,311],click:319,client:[19,24,95,133,369],client_ca:24,client_cert:[59,115],client_id:95,client_kei:[24,59,115],client_password:[24,59,115],clk:[78,117],clock:[49,68,99,108,238,251,255,294,379],close:[0,3,8,19,21,26,27,28,36,55,60,66,78,79,95,105,115,117,118,126,127,128,132,133,162,255,379],close_watch_dog:43,closur:379,cloud:[32,55,141,145,149,158,319],cloudc:55,cmd:[19,33,36],cmd_cnt:31,cmsi:214,cnt:[89,255],co:379,coap:38,coapdata:38,code:[10,38,139,150,156,191,192,193,196,197,198,203,204,205,213,231,248,294,301,304,305,313,318,320,345,348,378,379],codec:[4,104],codepoint:379,coder:4,collect:[292,379],collectgarbag:379,color:[10,36,76,136,162,294,404],column:162,com:[37,77],com_mark:37,com_numb:37,comma:77,command:[19,71,173,174,175,306,307,308,309,310,311,354,379],comment:378,commiss:326,common:[162,318,347,352,360,372],commun:[294,326,331,384],comp:379,compar:374,comparison:[255,282,356,366,378,379],compil:[212,213,302,313,314,315,318,319,320,321,322],complement:124,complet:[303,358],compon:[162,319,323],compress:[12,92,137],comput:[250,360],concat:[378,379],concaten:379,concept:[162,379],conceptu:311,condit:[339,378],conf:[9,35,36,53,72,127,214],config:[1,11,63,94,98,115,131,379],configur:[207,210,212,250,251,255,272,285],conn:98,conn_mod:98,connect:[7,55,60,95,98,115,133,134,165,166,250,294,358,359,360,372,373],connect_config:55,connok:98,consecut:255,consider:255,consol:354,constant:[0,1,4,7,10,21,26,27,36,37,55,85,86,87,91,92,93,94,95,98,103,115,117,127,128,130,134,136,332,333,340,341,342,343,344,372],constraint:339,construct:[210,214,218,220,248,254,300,301,304,379],consum:372,consumpt:[219,226,232,239,266,288,367,368],cont:162,contact:71,contain:162,content:[162,269,347,378],continu:[31,255],contrast:[127,282],contribut:345,control:[33,63,68,162,196,197,198,211,251,255,284,289,369,376,379],conveni:[314,315],convent:379,convers:[0,8,162,255,353,378,379],convert:[40,180,181,182],coordin:376,copi:136,copybuff:127,core:[214,234,240,284,289,324,325],coremark:[5,283],corner:319,coroutin:379,correl:266,correspond:[196,197,198,233,336],cost:356,count:[119,255,379],cpath:379,cpha:117,cpicker:162,cpol:117,crash:43,crc16:6,crc16_modbu:6,crc32:6,crc7:6,crc8:6,creat:[4,81,95,115,119,133,135,136,200,203,204,205,304,311,379],createap:134,createsoft:[26,117,128],critic:162,crop:162,cross:[162,331,378],crypto:[6,170],crystal:[221,294],cs:[63,71,74,117,196,197,198],cs_pin:131,csq:[94,96],ctiot:[7,123],ctiot_dereg:123,ctiot_fota:123,ctiot_oth:123,ctiot_reg:123,ctiot_rx:123,ctiot_tx:123,ctiot_wakeup:123,ctrl:115,cur_timestamp:32,current:[41,47,116,162,336,360,363,369,372,376],cursor:162,curv:[219,226,232,239,288,376],custom:[162,304,314,315,319,320],custom_id:11,cycl:[200,203,204,205,255,378],cyclic:[226,232,239,288],d:137,dac:8,dacdelai:1,daclevel:1,dacpin:1,dactimedelai:1,dap:250,daplink:250,daquan:385,dark_color:89,dat:[73,78],data1:111,data2:111,data32bit:2,data64bit:2,data:[1,2,4,6,7,8,10,12,14,18,20,26,27,30,36,38,39,55,71,72,86,87,92,94,95,98,100,104,106,107,110,111,112,113,115,117,127,128,130,133,135,136,162,165,168,172,203,204,205,216,223,226,228,232,236,239,241,245,252,255,258,262,270,279,283,286,288,290,292,294,298,330,333,335,339,353,363,369,376,378,382,386,387,390,392,395,397,400,403,406],data_bit:128,data_mod:39,databas:[14,18,72,118,172],datatraff:94,dataw:117,date:[77,99,162,379],db:118,dead:360,debounc:[21,35],debug:[1,13,39,85,95,115,133,218,221,250,255,294,330,379],debugg:326,decim:[180,181,182],declar:379,decod:[4,34,104],decoi:360,decompress:137,decrypt:[6,107],deep:[226,232,239],defin:329,definit:[214,228,238,284,289,311,346,347,379],deg:379,deinit:[98,116],del:[18,136],delai:[21,26,31,91,200,255,294],delet:[162,172,309,333,378],delimit:120,demand:305,demo:[230,308,311,394,406],demo_benchmark:89,demo_keypad_encod:89,demo_mus:89,demo_print:89,demo_stress:89,demo_widget:89,descript:[162,230,255,265,269,272,274,277,284,289,321,322,348,352,382],design:[221,233,238,306,311,323,326,328,329,330,332,333,334,335,337,340,341,342,343,344],detail:[363,366,376,378],develop:[129,138,141,149,152,158,208,209,210,213,215,216,220,222,227,234,240,244,249,256,261,265,266,267,278,284,289,293,294,297,323,349,350,351],devic:[47,162,180,181,182,191,192,193,196,197,198,214,250,294,296,360,369,372],device_id:32,device_kei:32,device_nam:32,device_secret:32,devicesetup:117,dfp:255,dhcp_enabl:134,dht1x:111,diagram:[215,222,392,406],dial:372,did:[294,319],differ:[182,255,276,360],differenti:269,difftim:[99,379],dig:79,digit:[0,8,27,40,46,56,77,78,79,162,277],dir_path:135,direct:[162,380],directli:[191,192,193,196,197,198,311,360],disabl:[162,196,197,198],disablepwm:33,disc:162,disc_mod:98,discchr:98,discdsc:98,disclosur:356,discon:115,disconnect:[7,55,95,98,134],discsvr:98,disp:[9,171],displai:[162,166,250,294,307,360,369,372],distinguish:255,divid:[251,255],divis:251,dma:255,dns_index:115,document:[29,54,216,223,236,274,320,323,337,349,382],doe:[14,18,250,255,294,360,372],doesn:250,dofil:379,domain:52,domain_nam:52,don:[294,360],done:31,dot:339,down:[88,162,196,197,198],download:[213,214,218,221,247,248,250,255,269,273,294,301,318,369,406],dr:255,draw2lcd:93,draw:[10,36],draw_mask_fade_param_t:89,draw_mask_fade_param_t_fre:89,draw_mask_line_param_t:89,draw_mask_line_param_t_fre:89,draw_mask_radius_param_t:89,draw_mask_radius_param_t_fre:89,drawbox:127,drawbuttonutf8:127,drawcircl:[36,127,136],drawdisc:127,drawdrcod:127,drawellips:127,drawfilledellips:127,drawfram:127,drawglyph:127,drawgtfontgb2312:[36,127],drawgtfontgb2312grai:36,drawgtfontutf8:[36,127],drawgtfontutf8grai:36,drawlin:[36,127,136,294],drawpixel:127,drawpoint:36,drawqrcod:36,drawrbox:127,drawrect:136,drawrectangl:36,drawrfram:127,drawstr:36,drawtriangl:127,drawutf8:127,drawxbm:[10,36,127],drive:[36,51,53,74,82,86,178,250,294],driver:[63,71,78,87,131,165,250,294],drop:162,dropdown:162,drv:112,ds18b20:111,ds3231:49,dtick64:91,dtimercheck:103,dtimerstart:103,dtimerstop:103,dtimerwkid:103,dtp:89,dual:[255,294],dump:[11,379],duplex:255,dust:84,duti:37,e:379,each:[294,382],earfcn:96,easi:92,ec11:50,ec618:[268,271,273,283],eci:94,edg:[162,294],edit:[210,304,379],effect:[162,166,185,186,187,294,304],eink1:393,eink:10,either:[214,294],electr:[238,372],electrochem:83,electron:394,element:162,empti:[172,294],emul:255,en:37,enabl:[11,36,37,39,89,94,106,196,197,198,255,277,304,369],enbid:94,encapsul:91,encod:[4,34,50,104,127],encodestr:20,encrypt:[6,107,235],end:[302,305],endian:73,endswith:120,engin:392,english:277,enhanc:[251,254],ent:89,enter:[332,340,363],entir:172,entiti:326,entri:379,env:379,environ:[210,214,218,220,248,254,300,301,314,315,320,322,379],ep:7,ephemeri:266,equip:[140,151,157,162,294,296,372],eras:[100,112,113,196,197,198,255],erasewrit:113,errdump:11,error:[11,85,214,250,294,314,379],errstop:1,escap:378,esp32:[287,291,294,320,354],esp32c3:[284,288],esp32s3:289,essenc:378,etc:360,ethernet:131,evalu:106,even:360,event:[1,3,128,162,203,204,205,255,326],event_send:89,exampl:[162,386,389,394,396,399,402,405],exce:255,exceed:269,except:255,exec:118,execut:[302,379],exist:[26,30,128,210,325],exit:379,exp:379,expans:[210,267,294,304,395,407],expect:304,experi:383,explain:[353,378],explan:269,express:[325,379],extend:[30,54,303,335],extens:69,extern:[162,212,220,255,284,294],exti:31,f1:379,f2:379,f:379,facil:325,fade:89,fail:[255,319],failur:[14,18],faq:[214,250,292,294,319,360,372],fast:[255,360],fastlz:12,fatf:13,fault:[255,372],fdb:[14,172,294],featur:[294,336],feed:[93,132],feed_dog:43,fft:294,fg_color:36,field:354,fifo:255,file:[16,17,36,162,166,191,192,193,214,226,232,239,288,303,304,320,328,346,348,352,378,379],file_path:[4,82,97,135],file_tld:346,filenam:379,files:30,fill:[10,30,36,136,255],filter:[63,162,255],filter_polici:98,fin:133,find:[294,378,379],finish:16,firmwar:[16,109,207,212,247,250,257,264,268,269,272,273,277,292,294,303,314,315,320,347,360,369,372],first:[123,255,378],fit:162,fix:[346,360],flag1:2,flag2:2,flag:[2,67,92,98,115,127,255],flash:[112,113,162,191,192,193,196,197,198,212,220,250,255,284,285],flash_eraseoptionbyt:255,flicker:162,floor:379,flush:[36,379],flymod:94,fmod:379,fmt:[99,379],fn:39,fnc:382,focu:162,focus:162,fold:93,folder:[320,328],follow:[214,354],font:[10,15,22,36,89,127,129,162,319,327,339,391],font_fre:89,font_get:89,font_load:89,forc:[10,103,369,379],force_level:109,fore:36,foreword:[165,166,255],form:[162,303],formaldehyd:83,format:[13,27,101,136,162,277,303,339,346,347,378,379],formatstr:379,fota:[16,59],foundat:162,four:358,framework:[380,381,382],freerto:294,freq:[8,86,87],frequenc:[180,181,182,226,232,239,251,283,288,294],fresh_rat:37,from:[162,214,255,360,372],frombase32:120,frombase64:120,fromcod:28,fromhex:120,fs:17,fsize:17,fskv:18,fsstat:17,ftp:19,full:[10,191,192,193,196,197,198,203,204,205,255,305,379],fun:[124,382],func:[1,3,25,27,89,114,122,128],funcnam:379,g:36,gadget:383,garbag:379,garbl:294,gatewai:[131,134],gaug:162,gc032a:388,gear:[360,372],gener:[32,34,255,271,273],geomagnet:[44,70],get:[0,18,21,31,72,90,102,108,129,162,180,181,182,220,294,320,381,382],get_accel:65,get_cell_period:94,get_data:[41,42,47,48,53,56,61,62,70,75,80],get_gyro:65,get_lux:76,get_mag:44,get_rgb:76,get_temp:65,get_temperatur:49,get_val:40,get_vdd:93,getband:[94,96],getbootcfun:96,getcellinfo:[94,96],getclk:91,getdevic:113,getdevicenum:113,getdevicet:113,getdisplayheight:127,getdisplaywidth:127,getedrx:96,getedrxptw:96,getenv:379,geterror:1,getfre:13,getgga:39,getgll:39,getgsa:39,getgsv:39,gethook:379,getinfo:[134,379],getintloc:39,getip:134,getlevel:85,getloc:379,getmac:[131,134],getmetat:379,getpm_10:84,getpm_1:84,getpm_2_5:84,getppb:83,getppm:83,getpsm:96,getraw:3,getregistri:379,getrmc:39,getsiz:36,gettxt:39,gettz:96,getupvalu:379,getuservalu:379,getvtg:39,getwin:10,getzda:39,gif:89,gif_creat:89,gif_restart:89,git:348,gite:304,give:379,global:[378,379],glossari:326,glue:162,gmatch:379,gmssl:20,gnss:384,gnss_state:123,goal:[327,336],good:294,gpio:[21,196,197,212,220,221,251,255,272,294,340,348],gpio_a:50,gpio_b:50,graffiti:55,grai:36,grammar:378,graphic:127,grid:78,ground:360,group:[304,384],gsub:[378,379],gt911:51,gt911_i2c:51,gt911_int:51,gt911_re:51,gtfont:22,guid:[303,318,354,371],gyroscop:56,h:[3,10,36,89,127],ha:[250,305],hal:214,halt:71,hand:358,handl:[98,162,379],handler:[135,325],hang:87,happili:304,hard:201,hardfault:91,hardwar:[23,169,170,171,172,173,174,175,178,179,180,181,182,184,185,186,187,189,190,191,192,193,195,196,197,198,200,201,202,203,204,205,212,216,220,221,223,228,233,236,241,245,250,252,255,258,262,270,279,284,285,286,289,290,298,326,387,390,392,397,400,403,406],hash:[6,107],hash_finish:6,hash_init:6,hash_upd:6,have:[294,360],hcode:38,head:360,header:[24,38,133,214],header_tld:346,heart:90,height:[10,136,162],helloworld:162,help:[162,304,307],here:294,hex:[120,353],hexadecim:[180,181,182,353],hexstr:134,hid_mod:130,hid_rx:130,hid_tx:130,hide:162,high:[182,251,372],high_duty_cycl:98,higher:372,highest:294,highlight:162,himself:93,histor:369,histori:269,hmac:6,hmac_md5:6,hmac_sha1:6,hmac_sha256:6,hmac_sha512:6,hmeta:23,hook:379,host:[57,58,95],hostnam:134,hous:358,how:[294,319,330],http:[24,25,52],httpdn:52,httpsrv:25,huawei:55,huge:379,humid:[42,45,48],hwtimer_id:31,hwver:23,hx711:111,hz:91,i2:27,i2c:[26,93,173,174,175,176,212,220,238,272,294],i2c_id:[40,41,42,44,45,46,48,49,56,62,64,65,69,70,76,80,90,93],i2cid:75,i2s:255,i:[294,304,319,360,372,379],ibeacon:98,ic:[86,87],iccid:[94,96],icm20608d:65,icm2068g:65,iconv:28,id:[0,1,3,20,26,27,39,63,68,71,94,98,103,108,109,110,112,117,122,126,128,130,131,180,181,182,191,192,193,196,197,198,213,294,382],idea:[328,329,330,332,333,334,335,340,341,342,343,344],ii:255,ili9341:294,illustr:[282,296],imag:[89,162],imei:[94,96],img1:294,img:[162,294],img_set_src:294,imgbtn:162,imgbtn_green:294,implement:[305,323,336],imsi:[94,96],in_buff:4,ina226:53,ina226_i2c:53,inbuf:28,inch:[294,398,404],includ:[325,333],incom:348,incompat:379,incomplet:149,inconsist:360,increas:372,independ:[251,379],indev_drv_regist:89,indev_kb_upd:89,indev_point_emulator_upd:89,index:[10,93,94,98,113,115,162,362,379],indic:[67,294,361,372,375],industri:294,ineffici:294,info:[4,85,347],inform:[162,191,192,193,216,223,247,267,273,284,289,294,307,325,326,327,328,329,330,332,333,334,335,336,340,341,342,343,344,350,354,406],infrar:[33,64,66,93],init:[3,7,9,10,16,18,22,31,35,36,40,41,42,43,44,46,48,49,50,51,53,56,62,63,64,65,66,69,70,71,73,74,75,76,77,78,79,80,83,84,86,87,89,90,93,97,98,101,110,112,113,116,131,132,134,379],init_level:31,initi:[6,93,173,174,175,191,192,193,196,197,198,200,203,204,205,294,310,378],initreg:3,inject:255,ink:[10,294,393,394],inlai:162,input:[31,162,212,220,326,360,379],input_buff:31,input_fil:137,inreversem:6,insert:379,insid:[294,331],instal:[210,213,214,248,294,301,309,311],instruct:[249,251,254,255,265,266,272,302,363,364,372,376],instrument:162,integr:7,intens:[46,80],interact:[302,311,348],interfac:[29,54,93,115,162,255,294,305,327,333,336,348,369,379,382],intern:[162,251,266],interrupt:[214,255,378],interv:255,inton:277,introduc:294,introduct:[142,146,153,159,162,165,169,170,171,172,173,174,175,178,179,180,181,182,184,185,186,187,189,190,191,192,193,195,196,197,198,200,201,202,203,204,205,212,220,277,284,289,354,369,379],invert:162,invoff:36,invon:36,io:[30,31,69,272,331,379],iomux:91,ioqueu:31,iot:[32,96,356,357,360,367,368,371,372,374],iot_config:55,iot_core_id:32,iotauth:32,iotcloud:55,iotda:32,iovol:103,ip:[7,115,131,134],ip_addr:19,ip_los:123,ip_readi:123,ip_typ:94,ipair:379,ipv6:94,ir:[33,341],irq:[21,74],irq_mod:31,irq_pin:[66,79,131],is_default:94,is_en:127,is_input:[31,91],is_ok:16,is_sign:1,is_tl:115,is_udp:115,isbigend:136,isclos:66,isdecod:4,isdelet:11,isdon:16,isend:1,isequ:136,isfix:39,isfloat:136,isipv6:95,isp:255,isreadi:96,issign:136,issu:[55,318,327],isyield:379,item:[94,210],iter:[14,18,328],itself:60,itvl_max:98,itvl_min:98,iv:6,j:379,json:[34,347],jtag:255,jtrst:255,judg:[47,255,378],judgment:378,just:[294,311],kb_inc:123,keep_cnt:115,keep_idl:115,keep_interv:115,keepal:95,keepemtri:120,kei:[6,14,18,20,32,71,72,79,89,97,107,126,162,172,212,220,276,284,289,363],keil:[214,250,255,294],key_cb:79,key_in:116,key_out:116,keyboard:[35,116,123,162,294],knob:162,knowledg:[209,303,304,325,327,328,329,330,331,332,333,334,336,340,344,378],known:327,kv:[14,18,72],kv_clr:14,kv_del:14,kv_get:14,kv_iter:14,kv_set:14,kv_stat:14,kvdb_init:14,l3g4200d:56,l6985e:214,label:162,languag:[277,379,405],larg:294,laser:84,lastreson:103,latch:73,latest:250,layer:[324,331,332,333,340,341,342,343,344],layer_si:89,layer_top:89,layout:[162,352,358,373],lbsloc2:58,lbsloc:57,lcd:[36,37,89,178,212,220,294,398,401,404],lcdseg:37,ldo:238,learn:209,led:[78,162,284,289],ledpin:67,ledpinsetfunc:67,legal:378,legend:[282,296],len:[6,16,21,26,27,30,59,100,110,111,112,117,128,130,136,378,379],length:[136,162,379],less:255,level:[12,21,31,85,103,179,325,332,340,379],lexic:379,lf:[191,192,193],libcoap:38,libfota:59,libfota_timeout:59,libgnss:[39,123],libnam:379,libnet:60,librari:[9,10,15,32,34,54,55,60,89,96,98,100,109,111,112,117,122,124,127,128,129,132,136,214,294,296,303,304,311,314,315,320,323,378,379,382],lifetim:7,light:[46,77,80,185,186,187,212,220,226,232,294,360],light_color:89,like:294,limit:346,line:[10,89,162,209,306,354,360,379,384],link:[228,273,284,289,304,326,386,387,406],link_pin:131,linkup:115,linux:[166,314,315,321],lis2dh12:61,list:[15,128,129,162,250,294,358,379],listchr:98,listen:[60,115],listsvr:98,littl:303,ll:214,lm75:62,lm75_data:62,lm75a:62,lm75b:62,lmeter:162,load:[104,226,232,239,255,288,372,379],loadfil:379,loadlib:379,local:[378,379],local_nam:19,local_port:115,localip:115,locat:57,lock:100,locstr:39,log:[85,179,207,212,220,283,379],log_level:115,logic:[2,378,379],login:[19,319],logstor:85,loop:[106,200,378],lora2:87,lora:[86,123],lora_devic:87,lora_rx_don:123,lora_rx_error:123,lora_rx_timeout:123,lora_tx_don:123,lora_tx_timeout:123,loraconfig:[86,87],lose:[14,18],low:[88,332],lower:379,lpmem:[88,294],lsdir:30,lsmount:30,ltepin:67,ltrim:120,lua:[303,323,325,327,328,329,331,332,333,334,336,340,341,342,343,344,348,353,377,378,379,383],lua_absindex:379,lua_alloc:379,lua_arith:379,lua_atpan:379,lua_cal:379,lua_callk:379,lua_cfunct:379,lua_checkstack:379,lua_clos:379,lua_compar:379,lua_concat:379,lua_copi:379,lua_createt:379,lua_debug:379,lua_dump:379,lua_error:379,lua_gc:379,lua_getallocf:379,lua_getextraspac:379,lua_getfield:379,lua_getglob:379,lua_gethook:379,lua_gethookcount:379,lua_gethookmask:379,lua_geti:379,lua_getinfo:379,lua_getloc:379,lua_getmetat:379,lua_getstack:379,lua_gett:379,lua_gettop:379,lua_getupvalu:379,lua_getuservalu:379,lua_hook:379,lua_insert:379,lua_integ:379,lua_isboolean:379,lua_iscfunct:379,lua_isfunct:379,lua_isinteg:379,lua_islightuserdata:379,lua_isnil:379,lua_isnon:379,lua_isnoneornil:379,lua_isnumb:379,lua_isstr:379,lua_ist:379,lua_isthread:379,lua_isuserdata:379,lua_isyield:379,lua_kcontext:379,lua_kfunct:379,lua_len:379,lua_load:379,lua_newst:379,lua_newt:379,lua_newthread:379,lua_newuserdata:379,lua_next:379,lua_numb:379,lua_numbertointeg:379,lua_pcal:379,lua_pcallk:379,lua_pop:379,lua_pushboolean:379,lua_pushcclosur:379,lua_pushcfunct:379,lua_pushfstr:379,lua_pushglobalt:379,lua_pushinteg:379,lua_pushlightuserdata:379,lua_pushliter:379,lua_pushlstr:379,lua_pushnil:379,lua_pushnumb:379,lua_pushstr:379,lua_pushthread:379,lua_pushvalu:379,lua_pushvfstr:379,lua_rawequ:379,lua_rawget:379,lua_rawgeti:379,lua_rawgetp:379,lua_rawlen:379,lua_rawset:379,lua_rawseti:379,lua_rawsetp:379,lua_read:379,lua_regist:379,lua_remov:379,lua_replac:379,lua_resum:379,lua_rot:379,lua_setallocf:379,lua_setfield:379,lua_setglob:379,lua_sethook:379,lua_seti:379,lua_setloc:379,lua_setmetat:379,lua_sett:379,lua_settop:379,lua_setupvalu:379,lua_setuservalu:379,lua_stat:379,lua_statu:379,lua_stringtonumb:379,lua_toboolean:379,lua_tocfunct:379,lua_tointeg:379,lua_tointegerx:379,lua_tolstr:379,lua_tonumb:379,lua_tonumberx:379,lua_topoint:379,lua_tostr:379,lua_tothread:379,lua_touserdata:379,lua_typ:379,lua_typenam:379,lua_unsign:379,lua_upvalueid:379,lua_upvalueindex:379,lua_upvaluejoin:379,lua_vers:379,lua_writ:379,lua_xmov:379,lua_yield:379,lua_yieldk:379,luadb:346,lual_addchar:379,lual_addlstr:379,lual_adds:379,lual_addstr:379,lual_addvalu:379,lual_argcheck:379,lual_argerror:379,lual_buff:379,lual_buffinit:379,lual_buffinits:379,lual_callmeta:379,lual_checkani:379,lual_checkinteg:379,lual_checklstr:379,lual_checknumb:379,lual_checkopt:379,lual_checkstack:379,lual_checkstr:379,lual_checktyp:379,lual_checkudata:379,lual_checkvers:379,lual_dofil:379,lual_dostr:379,lual_error:379,lual_execresult:379,lual_fileresult:379,lual_getmetafield:379,lual_getmetat:379,lual_getsubt:379,lual_gsub:379,lual_len:379,lual_loadbuff:379,lual_loadbufferx:379,lual_loadfil:379,lual_loadfilex:379,lual_loadstr:379,lual_newlib:379,lual_newlibt:379,lual_newmetat:379,lual_newst:379,lual_openlib:379,lual_optinteg:379,lual_optlstr:379,lual_optnumb:379,lual_optstr:379,lual_prepbuff:379,lual_prepbuffs:379,lual_pushresult:379,lual_pushresults:379,lual_ref:379,lual_reg:379,lual_requiref:379,lual_setfunc:379,lual_setmetat:379,lual_stream:379,lual_testudata:379,lual_tolstr:379,lual_traceback:379,lual_typenam:379,lual_unref:379,lual_wher:379,luat:[325,326,330,331,333,380,381],luatask:[380,382],luato:[29,162,165,200,209,212,247,264,268,272,273,277,303,306,307,308,309,310,312,326,339,347,352,383,385,405],lvgl:[89,162,163,212,220,294],m:[10,379],mac:[98,131,134],machin:[119,218,221,225,231,234,247,273,274,284,311,354],macro:214,main:[180,181,182,214,226,232,239,250,255,283,288],mainten:372,major:98,make:304,manag:[103,250,309,310,332,344,379],mani:[294,304],manipul:[120,136],manual:[162,196,197,198,213,214,220,248,250,294,301,363,372,379],manufactur:[196,197,198],map:[35,102,223,228,230,245,262],mask:[71,91,162,379],mass:[274,311],master:[211,255],match:[294,378,379],math:379,mathemat:379,matrix:[35,116,162,339],max30102:90,max:[128,379],max_temp:93,max_tick:31,maximum:[162,294,372],maxinteg:379,maxout:12,maxsiz:113,mcc:96,mclk:27,mco:251,mcp2515:63,mcu:[91,183,384],md5:6,md:[6,107],md_file:6,mdelai:125,mdk:214,mean:[282,296,346],measur:[93,173,174,175,372],measured_pow:98,mechan:381,megabyt:294,meminfo:109,memori:[88,136,329,331],merg:162,messag:[123,162,200,255,305,330,379],meta:379,metadata:23,metat:379,meter:162,method:[6,24,32,255,294,314,315,326,353,369,379],mhz:91,middlewar:344,min:379,min_temp:93,minimum:221,mininteg:379,miniz:92,minor:98,minu:2,minut:285,mipp:360,mirror:162,miso:117,mkdir:30,mkf:30,mlx90614:64,mlx90640:93,mnc:96,mobil:[94,123,360],modbu:335,mode2:20,mode:[4,6,7,8,13,20,21,27,30,39,63,71,74,79,86,87,91,96,98,103,114,117,127,130,134,162,255,294,302,358,363,369,372,373,379],model:[10,23,162,294],modev:96,modf:379,modifi:[162,179,214,255,294,376],modnam:379,modul:[36,68,83,86,87,90,105,225,231,238,247,254,255,258,260,264,273,294,300,323,327,379],month:162,more:[314,315],mosi:117,most:325,motiv:335,motor:294,mount:[13,113,191,192,193,358],mount_point:[13,113],mous:294,move:[162,379],mpu6050:65,mpu6500:65,mpu6xxx:65,mpu9250:65,mqtt:95,mqttc:95,ms:[21,117,382],msdbox:162,msg:[114,325],msgbu:330,msgh:379,msgid:38,muid:94,multi:[2,87,294,378],multimedia:[1,4],multimet:360,multipl:[269,378,382],multiplex:272,multitask:382,mute:277,mutual:326,my:360,mytim:99,n1:379,n2:379,n:[136,379],name:[14,15,52,89,98,102,129,162,348,379],nation:20,navig:162,nb:96,nbiot:[96,384],ne:97,nec:66,necessari:[214,294],necir:66,need:[93,320,328,329,330,331,332,333,340,342,343,344],need_ipv6_dn:115,needl:162,netc:60,netl:67,netmask:134,network:[67,94,115,275,294,296,331],network_check_period:94,new_apn_nam:94,new_nam:134,new_path:99,newnam:379,next:[18,379],next_id:39,nil:378,nimbl:98,nine:65,nmea:39,no_autoat:214,noclear:10,non:[60,71,88,255,360],nop:109,note:[93,212,257,268,303,363],noth:360,nstinput:94,nstonoff:94,ntp_error:123,ntp_updat:123,num:[94,136],num_channel:1,number:[94,162,180,181,182,277,307,360,378],nvm:294,o:214,obj:[34,89,162,379],obj_set_event_cb:89,obj_set_signal_cb:89,object:[162,305,379],objmask:162,obsolet:[9,137],obtain:[182,191,192,193,277],occas:294,off:[36,67,196,197,238,255,333,360,372,376],offlin:255,offset:[30,88,100,110,112,113,136,162,379],old_path:99,oldnam:379,on_off:1,one:[214,255,294],onenet:[32,55,152],onff:94,onheap:36,onlevel:1,onli:[116,162,255],onlin:383,onoff:[31,94,95,103,115,133],open:[0,8,28,78,79,105,118,162,250,294,379],openocd:250,oper:[2,10,17,21,26,28,31,88,91,94,96,99,100,109,111,112,117,118,125,128,130,132,134,331,363,364,376,378,379,381],opt:[24,127,133,379],option:[162,214,251,255],ordinari:308,origin:[277,294],originstr:20,os:[99,379],oscil:[221,294],ota:269,ota_port:59,ota_url:59,other:[55,247,254,255,369,382],otp:100,out:[73,285],out_buff:4,out_path:3,output:[31,106,179,180,181,182,185,186,187,212,213,220,251,255,326,360,369,372,373,376,378,379],output_fil:137,outrevers:6,overrid:162,overview:[162,211,238,250,312,363,366,372,387],own:360,pack:[101,136,255,379],packag:[113,214,238,248,264,265,266,269,301,309,311,379],packet:269,packsiz:379,pad:[6,20],pad_index:91,padelai:1,page:[162,255,363,376],pair:379,palett:162,panel:358,paper:394,papin:1,para:136,param1:[16,59],param:7,paramet:[32,277,354,378],parent:89,pars:[34,38,39],part:[162,169,172,173,174,175,179,180,181,182,185,186,187,191,192,193,196,197,198,200,201,203,204,205,358],parti:255,partii:128,partit:14,pass:[360,382],passwd:134,password:[19,20,94,95,134,162],path:[1,6,15,16,17,30,89,99,118,379],patha:109,pathb:109,pathc:109,pathd:109,pattern:379,paus:[1,376],payload:[38,95],pbdata:104,pc:[302,369],pcall:379,pcf8563t:68,pcf8574:69,pcm:255,pd:[360,363],pdn_type:96,per:[180,181,182],perform:[238,255,283],period:[11,105,109,294],peripher:[164,196,197,198,214,238,296,331,338,395],phenomenon:255,phone:[114,360],phycellid:96,pi:379,pictur:162,pid:130,pide:2,pin1:94,pin2:94,pin:[21,31,33,69,102,103,111,162,196,197,198,223,228,230,238,245,255,262,284,289,294],pin_busi:10,pin_c:10,pin_clk:111,pin_dat:111,pin_dc:10,pin_reset:10,pinout:[215,218,222,225,227,231,234,236,249,254,256,265,266,267,297,300],pixel:[136,294],pkg:309,pkx:20,pky:20,place:214,placehold:162,plai:[1,166],plain:379,plan:372,platform:[32,55,145,149,166,314,315,331,332,333,340,341,342,343,344],playback:[166,167],playstop:1,pleas:[214,303],pll:251,plu:2,plug:[250,294,360],plugin:[314,315],pm:[103,184],png:294,pnum:105,po:379,point:[5,162,325,327,328,329,330,331,332,333,334,336,340,344,381],poli:6,polici:277,pool:329,pop:372,popen:379,port:[7,19,25,35,57,58,81,95,115,116,128,203,204,205,213,218,294,360],portabl:292,posit:[58,162,255,266,294,384],possibl:294,post:304,power:[14,18,37,88,103,211,219,221,226,232,238,239,266,276,284,288,289,332,340,356,357,358,360,367,368,371,372,373,374,376],power_on_delai:13,power_pin:13,powerlevel:96,powersav:134,pp:360,practic:[220,351],pre:[209,255],precaut:[162,254,255,284,372],precis:[105,182],prefix:120,preload:379,prepar:[145,166,169,170,171,172,173,174,175,178,179,180,181,182,184,185,186,187,189,190,191,192,193,195,196,197,198,200,201,202,203,204,205,212,213,214,220,221,248,274,301,314,315,318,320],preparatori:304,press:372,pressur:[47,75],prevent:43,preview:363,previou:[214,379],previous:294,principl:[306,381],print:[10,79,294,354,379],printf:255,prioriti:[255,379],privat:20,pro:374,probabl:255,problem:336,process:[38,39,127,277,325,326,379],product:[166,238,274,284,289,311,363,384],product_id:32,product_kei:32,productkei:57,produt_id:32,profil:258,prog:379,program:[209,294,307,326,378,379,380],programm:255,progress:162,project:[143,154,160,285,310,311,312,314,315,320,394],prompt:311,pronunci:277,propag:162,protect:255,protobuf:104,protobuff:104,protocol:[63,66,94,275,326],provid:[212,247,264,273,294],psmmode:96,publish:[55,95,122,305,348,382],pull:[19,21,251],pull_mod:31,puls:[21,105],purchas:[218,225,231,254,264,300,384,387],pure:209,purpos:255,push:[19,106],pwd:107,pwm:[105,185,186,187,188,212,220,272,294],qcloud:32,qmc5883l:70,qo:[55,95],qq:[304,384],qrcode:[10,89],qrcode_cr:89,qrcode_delet:89,qrcode_upd:89,qualcomm:[22,391],qualiti:3,quantiti:372,queri:[136,172,180,181,182,309],question:378,quick:[162,209,378],quickli:360,quiz:378,r:[36,127,136],rad:[127,379],radiu:[10,89],random:379,randomse:379,rang:[0,162,376],rapid:304,rate:90,raw:283,raw_data:93,raw_point:93,rawdata:38,rawequ:379,rawget:379,rawlen:379,rawset:379,rc522:71,rc522_config_isotyp:71,rclk:73,rcr:131,rddi:250,re:106,read:[0,13,45,68,71,88,100,106,112,113,128,136,173,174,175,191,192,193,196,197,198,255,277,294,352,379],read_datablock:71,read_light:46,read_rawrc:71,read_tim:49,readdht12:26,readfil:30,readi:[7,95,133,134,319],readreg:26,readsht30:26,real:[49,108,294,369],realiz:294,reboot:[103,109],receiv:[66,109,135,203,204,205,255],receive_buff:63,recogn:[250,360],recolor:162,recommend:[209,210,384],reconfigur:255,reconnect:[95,133],reconnect_tim:[95,133],record:11,rect:10,recv:[26,27,86,87,117],recv_cb:66,refer:[214,238,379],refresh:376,refresh_r:93,reg32:91,reg:26,regist:[203,204,205,294],registr:380,registri:379,regular:378,relat:[162,166,214,267,269,273,284,289,378],releas:[4,31,115,135,255,257,268],relev:[294,325,327,328,329,330,331,332,333,334,336,340,344],reload:255,remain:255,remind:319,remot:[33,72],remote_nam:19,remote_port:115,remoteip:115,remov:[99,162,309,379],renam:[99,379],rep:[378,379],repeat:[33,119],repeat_cnt:31,repl:[106,379,383],replac:[254,255,285],report:11,req_cod:71,reqaddr:57,reqcellinfo:94,reqedrxvaluem:96,reqtim:[57,58],request:[24,57,58,59,71,103],requir:[162,214,233,348,354,379],reqwifi:57,reserv:294,reset:[63,71,94,135,221,255],resistor:251,resiz:[136,162],resolut:[52,314,398,401,404],resourc:[221,284,289],respons:326,restart:360,result:[255,348],resum:379,retain:[55,95],reus:255,revers:379,revert:6,rf:296,rgb565:36,rgb:294,right:319,rmdir:30,roll:162,roller:162,rotari:50,rotat:[10,162],rout:384,routin:294,row:[162,255],rp2040:295,rs485_delai:128,rs485_gpio:128,rs485_level:128,rsa:107,rsrp:[94,96],rsrq:[94,96],rssi:[94,96],rst:71,rst_pin:131,rtc:[108,189,212,255,294],rtcauto:39,rtime:94,rtkv:72,rto:[109,294],rtr:131,rtrim:120,rule:[277,379],run:[5,16,122,294,379,380,382],rx:[115,127,128],rx_hwtimer_id:128,rx_len:117,rx_pin:128,rxbuff:[26,117],rxclear:128,rxe:255,rxlen:26,rxpacket:74,rxsize:128,ry:127,s3:291,s:[334,353,379],same:294,sampl:[27,255,294,304,305],sample_r:1,save:[172,294,319],save_path:3,scale:[162,369],scan:[26,79,98,134],scan_period:126,scanresult:134,scatter:214,scenario:335,schedul:331,schemat:[215,222,392,406],scl:[26,77],scl_pin:79,sclk:73,scm:294,scope:162,scr:89,scr_act:89,scr_load:89,scr_load_anim:89,screen:[10,178,230,294,360,372,393,394,404,407],screenshot:283,script:[207,212,226,232,235,239,288,294,369],scroll:[162,372],scrollabl:162,sd:294,sd_read:110,sd_write:110,sda:[26,77],sda_pin:79,sdio:[110,212,220],sdk:294,sdk_appid:32,search_cell_tim:94,searcher:379,searchpath:379,second:[180,181,182,376],secret:[6,20],section:214,sector:[196,197,198],seek:[136,379],seem:294,seg:37,seg_data:[78,79],seg_mark:37,seg_set:37,segment:[37,230],select:[71,162,214,255,277,282,369,376,379],selector:162,self:[162,302,378],send:[26,27,57,82,86,87,114,117,133,173,174,175,200,203,204,205,255,330],send_buff:63,send_data:117,send_msg:98,sendbuff:127,senddisplaydata:78,sendind:98,sendmsg:124,sendnec:33,sendnotifi:98,sensor:[42,44,45,46,47,48,49,56,61,62,65,70,75,76,80,84,111,233],sent:[255,294],sep:379,separ:[120,360],seq:7,sequenc:31,seri:[162,268,271,273,294,320,407],serial:[128,203,204,205,207,213,218,294],seriesiot:360,server:[25,81],server_cert:[59,115],set:[18,21,72,74,108,136,162,180,181,255,276,277,360,363,372],set_bit_mask:71,set_channel:[86,87],set_id:130,set_mod:74,set_rxconfig:[86,87],set_tim:49,set_txconfig:[86,87],setauto:94,setband:[94,96],setbaseyear:108,setbitmapmod:127,setblinktim:67,setbootcfun:96,setbright:[78,79],setbu:1,setcap:31,setcfun:96,setchr:98,setclk:91,setcolor:36,setcontrast:127,setctx:10,setdefaultpul:21,setdelai:31,setdn:115,setdrawcolor:127,setedrx:96,setedrxptw:96,setfont:[10,36,127],setfontmod:127,setframebuff:136,setgpio:31,sethook:379,setlevel:85,setlight:77,setloc:379,setlocal:379,setmac:134,setmetat:379,setmod:134,setnewsmscb:114,setpath:109,setpowersav:127,setpsm:96,setrang:0,setstat:67,sett:18,settimeout:132,settz:96,setup:[10,21,26,27,37,67,68,72,117,126,128,376],setupbreatel:67,setupbuff:36,setupvalu:379,setuservalu:379,setuuid:98,setvbuf:379,setwin:10,setxtal:91,sever:[162,294,360],sfd:[112,190],sfud:[113,191,192,193,194,212,220],sha1:6,sha256:6,sha512:6,shake:276,shell:358,shield:63,shift595:73,shift:2,show:[2,10,162],showimag:36,shut:[196,197,198],shutdown:[90,103],si24r1:74,sig:[20,107],sign:107,sim_ind:123,simid:94,simpin:94,simpl:[162,302,321,322,352,378],simplest:303,simul:[97,294],sin:379,sinc:360,singl:[162,200,294],singleshow:77,site:319,six:65,size:[10,36,88,89,113,117,127,162,215,222,238,255,285,329,378,379],skei:[14,18],slaveaddr:26,sleep:[10,36,89,255],slider:162,sm2decrypt:20,sm2encrypt:20,sm2sign:20,sm2verifi:20,sm3:20,sm3hmac:20,sm4decrypt:20,sm4encrypt:20,sm:[20,114,119,123],small:[209,378],smaller:372,smart:255,smartconfig:134,smell:372,smoothli:372,sms_inc:123,sn:[91,94,96],snr:[94,96],sntp:115,sntp_server:115,soc:[29,165,268,294,303,347,352,384],socket:[60,115,123],soft:255,soft_kb_inc:123,softkb:116,softkeyboard:[116,123],softwar:[43,113,116,169,170,171,172,173,174,175,178,179,180,181,182,184,185,186,187,189,190,191,192,193,195,196,197,198,200,201,202,203,204,205,211,212,220,255,265,266,294,309,326,369],solut:[250,269,327,336],some:[91,255],sort:379,sound:372,sourc:[162,214,231,250,313,318,320],source_32k:91,source_main:91,spe:255,special:[91,212,284,289,346],specif:[191,192,193,255,348],specifi:[196,197,198,294,332,340],speech:277,speed:[26,131,162,277,294],spi:[112,113,117,191,192,193,195,196,197,198,199,212,220,255,272,284,294,342],spi_bandr:113,spi_c:[13,112,113],spi_devic:[10,22,89,113,117],spi_id:[63,66,71,74,112,113],spi_spe:13,spiconfig:[86,87],spiid:[10,131],spiid_or_spidevic:13,spinbox:162,spinner:162,spl06:75,spl06_01:75,splice:378,split:[120,162],sql:118,sqlite3:118,sqrt:379,srv_uuid:98,ssid:134,ssl:95,ssllog:115,st7735:294,stack:379,staip:134,standard:[255,294,360,379],standi:109,start2:136,start:[1,3,6,25,31,66,123,128,130,136,162,200,209,220,318,333,360,378,382],startraw:3,startswith:120,startup:[180,181,182,214],state:[67,89,95,119,162,255,326],statem:119,statement:[378,379],station:[57,58],statu:[18,67,94,112,121,162,326,379],step:[292,294,358],still:[250,360],stop:[1,3,25,26,31,130,200,255,326],stop_bit:128,stopap:134,store:[304,320],storge_loc:[16,59],str:[6,10,34,36,38,39,88,120,127],stream:6,string:[11,101,120,180,181,182,203,204,205,353,378,379],strip:379,strong:124,strongli:384,strtoll:2,structur:[312,330,333,335,339,372,379],sty_en:89,sty_zh:89,style:[85,89,162,179,277,334,335],style_cr:89,style_delet:89,style_list_cr:89,style_list_delet:89,style_list_t:89,style_t:89,sub:[378,379],subchr:98,submask:131,submiss:348,subscrib:[55,95,122,200,382],subscript:378,suffix:120,suit:275,summari:[283,353],suppli:[238,284,289,358,360,373,376],support:[41,47,55,62,65,87,116,162,214,231,248,251,255,294,296,301,335,360,379,384,388],suspend:326,svr_uuid:98,sw:255,swap:[36,378],swd:218,swing:162,swm181:301,swm181cbt6:[299,300],sxx32f103:255,sxx32f1xx:255,sy:[122,123,124,200,336,382],symbol:162,symmetri:162,synchron:60,synergi:[379,380],syntax:379,synthesi:335,sys_pub:348,sysplu:124,system:[2,17,123,162,191,192,193,221,255,275,328,331,352,379],system_air001xx:214,t0h:111,t0l:111,t1:379,t1h:111,t1l:111,t2:379,t:[34,38,250,294,304,360,379],ta_temp:93,tab:[108,162],tabl:[162,191,192,193,223,228,233,245,262,282,296,378,379],tabview:162,tac:[94,96],tag:[85,162],take:379,tan:379,target:124,task:[200,305,331,336,382],taskdel:124,taskinit:[122,382],taskinitex:124,taskl:67,tasklt:67,tasknam:[60,124],tautim:96,tc:255,tcs3472:76,technic:[231,361,362,372,375,384],telecom:7,temperatur:[42,45,48,62,64,93],tencent:158,tengxun:55,term:[311,326],termin:360,terminolog:306,test:[144,155,161,226,232,239,248,283,288,301,304,367,378],tester:368,text:[162,209,378],textarea:162,tf:68,tft:401,tft_:[398,404],than:[255,372],theme:162,theme_set_act:89,thi:[93,294],thick:89,think:294,third:255,thread:[294,379],three:[56,61],threshold:126,through:[255,294,328,360],tick1:91,tick2:91,tick64:91,tick:[91,96,162,180,181,182],tie:68,tile:162,tileview:162,tim2:255,tim5:255,tim:255,time:[6,49,68,94,95,99,108,162,250,255,294,369,379],time_tick:31,time_u:31,timea:99,timeb:99,timeout:[26,57,58,60,86,87,94,98,103,109,122,124,125,132],timer:[125,200,201,203,204,205,226,232,239,255,288,333,380,382],timer_start:109,timer_stop:109,timerisact:382,timerloopstart:[122,382],timerstart:[108,122,382],timerstop:[108,122,382],timerstopal:382,timestamp:255,timezon:108,titl:162,tl:275,tm1637:77,tm1640:78,tm1650:79,tmpfile:379,tmpname:379,to32:2,to64:2,tobase32:120,tobase64:120,tocod:28,toggl:21,tohex:120,tointeg:379,token:38,tonumb:379,tool:[207,212,255,264,306,318,385],toolkit:311,top:319,topic:[55,81,95,122,348],tostr:[136,379],total:329,totp:6,touch:[126,233,294],touchkei:[123,126],touchkey_inc:123,tovalu:120,tp:[6,10,15,36,39,89,98,134],tpname:104,traceback:379,traceswo:255,tradit:382,transfer:[26,117,255],transfer_done_top:[26,117],transpar:162,transplant:255,treasur:360,triangl:378,trigger:[173,174,175,255,360],trim:120,trimmer:162,trng:6,troubleshoot:221,tsl2561:80,tt:[1,277,294],tube:[77,78,79],turn:[185,186,187,196,197,255,333,360,372,376,378],turnov:294,tutori:[165,177,207,208,209,218,221,225,231,234,247,250,254,273,284,285,300,377,378],tuya:32,twice:255,two:[182,203,204,205,255,358],tx:[52,60,115,128],tx_hwtimer_id:128,tx_pin:128,txbuff:[26,117],txconfig:[86,87],txfp:255,txpacket:74,txstat:27,type:[2,4,6,11,38,82,91,109,112,136,162,203,204,205,294,311,335,346,352,378,379],typec:360,typic:273,tz:[96,108],u4:294,u8g2:127,u8g2_get:15,u8g2_load:15,u:379,ua:372,uart1:[203,204,205],uart:[128,202,203,204,205,206,212,220,272,294,343],uart_br:82,uart_id:[82,83,84,94],udata:379,udelai:125,udisk_attach_sdhc:130,udisk_detach_sdhc:130,udp:81,udpsrv:81,ufont:129,uid:71,ult:379,unabl:214,uncheck:162,uncompress:[12,92],under:[129,272,294],underli:[16,109,209,381],understand:378,unifi:129,uniqu:[180,181,182],unique_id:91,unpack:[101,136,379],unstabl:372,unsubchr:98,unsubscrib:[55,95,122,382],unsuccess:294,up:[162,221,251,360,372,379],updat:[162,209,250,307,309,378],updatecellinfo:96,upgrad:[16,59,269,307,360,363,369,372,374],upper:[319,379],upvalueid:379,upvaluejoin:379,uri:38,url:[24,133],urlencod:120,us:[32,52,55,93,136,165,191,192,193,200,203,204,205,209,214,218,249,250,255,284,294,305,319,330,334,335,341,342,343,360,372,379,382,386,389,394,396,399,402,405],usag:[162,170,171,178,184,189,190,195,202,212,220,255,302,321,322],usart:255,usb:[130,238,250,251,255,294,360,372],usbapp:130,user:[93,200,213,214,305,312,314,315,371],user_flag:11,user_nam:94,userapn:96,usernam:[19,95],utf8:379,utf:379,uuid:[98,294],v1020:257,v1021:257,v1103:268,v1104:268,v1105:268,v1106:268,v1107:268,v1108:268,v1:[294,360,372,374,379],v2:[58,360,379],v:[127,379],val1:[101,136,379],val2:[85,101,136],val3:[85,101],val:[7,21,69,85,96,97,103,382],valid:379,valn:101,valu:[1,13,14,18,21,71,72,91,94,98,162,255,305,346,360,372,378,379],variabl:[378,379],variou:[32,311],varnam:379,veri:[162,294],verifi:107,version:[32,71,98,109,162,226,232,239,250,269,288,294,302,307,366,378,379],vertic:162,vhid_cancel_upload:130,vhid_upload:130,vid:130,video:[3,166,167,209,378],view:[162,207,212,213,220,376],virtual:[250,272],visibl:[162,303,379],visit:319,vlcd:37,voic:[294,372],vol:1,voltag:[255,360,363,372,376],volum:277,vscode:210,w1_connect:111,w1_read:111,w1_reset:111,w1_write:111,w5500:[123,131],w800:294,w806:212,w:[3,10,36,89,127,376],wait485:128,wait:[16,60,115,122,200,285,305,326,336,378,382],waitabl:305,waitc:326,waitlink:60,waitmsg:124,waitt:326,waituntil:[122,382],waituntilext:382,wake:221,wakeup:36,wakeuppin:103,want:[294,319,360,372],warn:85,warning_level:109,watch:211,watchdog:[43,132],watchdogpin:43,waveform:[363,376],wdt:132,weak:379,weather_icon:10,websocket:133,wh:376,what:[212,218,225,247,254,264,273,294,300,325,334,353,372,379],when:[255,360,372],whenc:379,where:294,whether:255,which:294,white:[209,294],why:[162,294,319,328,329,330,331,332,333,340,342,343,344,360],widget:162,width:[10,136,162],wifi:[134,292,344,384],win32:322,win:162,window:[126,162,166,314,315],wire:[266,358],wireless:[211,294],within:348,withstand:255,wizpro200st8:255,wlan:[134,344],wrap:379,write:[1,7,8,13,68,71,88,100,112,113,128,136,162,191,192,193,196,197,198,255,303,352,379],write_datablock:71,writechr:98,writefil:30,writereg:26,ws2812:165,ws2812b:111,ws2812b_pwm:111,ws2812b_spi:111,wsc:133,x0:[36,127],x1:[36,127,136],x2:[10,36,127,136],x32:91,x:[10,36,89,93,127,136,379],xfer:[26,117],xmake:[314,315],xmodem:82,xpcall:379,y0:[36,127],y1:[36,127,136],y2:[10,36,127,136],y:[10,36,89,93,127,136,162,379],yet:294,yield:379,ymodem:135,you:[294,319,328,329,330,331,332,333,344,360,372],zbuff:[11,136,203,204,205],ze08g:83,ze08g_ch2o:83,zero:372,zh07:84,zlib:[92,137],zone:100,zoom:369}}) \ No newline at end of file +Search.setIndex({docnames:["api/adc","api/audio","api/bit64","api/camera","api/codec","api/coremark","api/crypto","api/ctiot","api/dac","api/disp","api/eink","api/errDump","api/fastlz","api/fatfs","api/fdb","api/fonts","api/fota","api/fs","api/fskv","api/ftp","api/gmssl","api/gpio","api/gtfont","api/hmeta","api/http","api/httpsrv","api/i2c","api/i2s","api/iconv","api/index","api/io","api/ioqueue","api/iotauth","api/ir","api/json","api/keyboard","api/lcd","api/lcdseg","api/libcoap","api/libgnss","api/libs/ads1115","api/libs/adxl34x","api/libs/aht10","api/libs/air153C_wtd","api/libs/ak8963","api/libs/am2320","api/libs/bh1750","api/libs/bmx","api/libs/cht8305c","api/libs/ds3231","api/libs/ec11","api/libs/gt911","api/libs/httpdns","api/libs/ina226","api/libs/index","api/libs/iotcloud","api/libs/l3g4200d","api/libs/lbsLoc","api/libs/lbsLoc2","api/libs/libfota","api/libs/libnet","api/libs/lis2dh12","api/libs/lm75","api/libs/mcp2515","api/libs/mlx90614","api/libs/mpu6xxx","api/libs/necir","api/libs/netLed","api/libs/pcf8563t","api/libs/pcf8574","api/libs/qmc5883l","api/libs/rc522","api/libs/rtkv","api/libs/shift595","api/libs/si24r1","api/libs/spl06","api/libs/tcs3472","api/libs/tm1637","api/libs/tm1640","api/libs/tm1650","api/libs/tsl2561","api/libs/udpsrv","api/libs/xmodem","api/libs/ze08g_ch2o","api/libs/zh07","api/log","api/lora","api/lora2","api/lpmem","api/lvgl","api/max30102","api/mcu","api/miniz","api/mlx90640","api/mobile","api/mqtt","api/nbiot","api/nes","api/nimble","api/os","api/otp","api/pack","api/pin","api/pm","api/protobuf","api/pwm","api/repl","api/rsa","api/rtc","api/rtos","api/sdio","api/sensor","api/sfd","api/sfud","api/sms","api/socket","api/softkeyboard","api/spi","api/sqlite3","api/statem","api/string","api/supported","api/sys","api/sys_pub","api/sysplus","api/timer","api/touchkey","api/u8g2","api/uart","api/ufont","api/usbapp","api/w5500","api/wdt","api/websocket","api/wlan","api/ymodem","api/zbuff","api/zlib","appDevelopment/index","appDevelopment/iotcloud/aliyun/code","appDevelopment/iotcloud/aliyun/device","appDevelopment/iotcloud/aliyun/index","appDevelopment/iotcloud/aliyun/intro","appDevelopment/iotcloud/aliyun/project","appDevelopment/iotcloud/aliyun/test","appDevelopment/iotcloud/basic/index","appDevelopment/iotcloud/basic/intro","appDevelopment/iotcloud/basic/json","appDevelopment/iotcloud/basic/protocol","appDevelopment/iotcloud/index","appDevelopment/iotcloud/onenet/code","appDevelopment/iotcloud/onenet/device","appDevelopment/iotcloud/onenet/index","appDevelopment/iotcloud/onenet/intro","appDevelopment/iotcloud/onenet/project","appDevelopment/iotcloud/onenet/test","appDevelopment/iotcloud/qcloud/code","appDevelopment/iotcloud/qcloud/device","appDevelopment/iotcloud/qcloud/index","appDevelopment/iotcloud/qcloud/intro","appDevelopment/iotcloud/qcloud/project","appDevelopment/iotcloud/qcloud/test","appDevelopment/lvgl/LVGL_for_LuatOS/LVGL_for_LuatOS","appDevelopment/lvgl/index","appDevelopment/peripheral/index","appDevelopment/peripheral/ws2812/ws2812","appDevelopment/video_play/105/video_play","appDevelopment/video_play/index","archives","boardGuide/common/adc/index","boardGuide/common/crypto","boardGuide/common/disp","boardGuide/common/fdb","boardGuide/common/i2c/air101","boardGuide/common/i2c/air103","boardGuide/common/i2c/air105","boardGuide/common/i2c/index","boardGuide/common/index","boardGuide/common/lcd","boardGuide/common/log","boardGuide/common/mcu/air101","boardGuide/common/mcu/air103","boardGuide/common/mcu/air105","boardGuide/common/mcu/index","boardGuide/common/pm","boardGuide/common/pwm/air101","boardGuide/common/pwm/air103","boardGuide/common/pwm/air105","boardGuide/common/pwm/index","boardGuide/common/rtc","boardGuide/common/sfd","boardGuide/common/sfud/air101","boardGuide/common/sfud/air103","boardGuide/common/sfud/air105","boardGuide/common/sfud/index","boardGuide/common/spi","boardGuide/common/spi/air101","boardGuide/common/spi/air103","boardGuide/common/spi/air105","boardGuide/common/spi/index","boardGuide/common/sys","boardGuide/common/timer","boardGuide/common/uart","boardGuide/common/uart/air101","boardGuide/common/uart/air103","boardGuide/common/uart/air105","boardGuide/common/uart/index","boardGuide/flash","boardGuide/index","boardGuide/roadmap","boardGuide/vscode","chips/AirWatch","chips/W806","chips/air001/Air001-Arduino","chips/air001/Air001-MDK","chips/air001/board","chips/air001/hardware","chips/air001/index","chips/air001/mcu","chips/air001/power_dissipation","chips/air101/Air101","chips/air101/Air101-Hard-design","chips/air101/board","chips/air101/hardware","chips/air101/index","chips/air101/mcu","chips/air101/power_dissipation","chips/air103/board","chips/air103/hardware","chips/air103/index","chips/air103/lcdseg","chips/air103/mcu","chips/air103/power_dissipation","chips/air103/touchkey","chips/air105/board","chips/air105/encrypt","chips/air105/hardware","chips/air105/index","chips/air105/mcu","chips/air105/power_dissipation","chips/air106/board","chips/air106/hardware","chips/air106/index","chips/air106/mcu","chips/air302/board","chips/air302/hardware","chips/air302/index","chips/air302/mcu","chips/air32f103/Air32f103","chips/air32f103/board","chips/air32f103/daplink","chips/air32f103/enhancement","chips/air32f103/hardware","chips/air32f103/index","chips/air32f103/mcu","chips/air32f103/switchFromSxx","chips/air601/board","chips/air601/changelog","chips/air601/hardware","chips/air601/index","chips/air601/mcu","chips/air640w/board","chips/air640w/hardware","chips/air640w/index","chips/air640w/mcu","chips/air780e/air700e","chips/air780e/air780eg","chips/air780e/board","chips/air780e/changelog","chips/air780e/firmware","chips/air780e/hardware","chips/air780e/index","chips/air780e/iomux","chips/air780e/mcu","chips/air780e/multiownload","chips/air780e/network","chips/air780e/pwrkey","chips/air780e/tts","chips/air901/board","chips/air901/hardware","chips/air901/index","chips/air901/mcu","chips/chips","chips/coremark/README","chips/esp32c3/board","chips/esp32c3/change_flash","chips/esp32c3/hardware","chips/esp32c3/index","chips/esp32c3/power_dissipation","chips/esp32s3/board","chips/esp32s3/hardware","chips/esp32s3/index","chips/esp32s3/mifi","chips/index","chips/question","chips/rp2040/index","chips/supported","chips/swm181/board","chips/swm181/hardware","chips/swm181/index","chips/swm181/mcu","chips/swm181/swm181","chips/win32","develop/add_lua_module","develop/add_myapi_5min","develop/c_wait","develop/cli/README","develop/cli/cmd_base","develop/cli/cmd_burn","develop/cli/cmd_pkg","develop/cli/cmd_prj","develop/cli/frontend","develop/cli/project","develop/compile","develop/compile/Air101","develop/compile/Air105","develop/compile/Air302","develop/compile/Air640w","develop/compile/Air780E","develop/compile/Cloud_compilation","develop/compile/ESP32C3","develop/compile/Linux","develop/compile/Win32","develop/contribute/add_module","develop/contribute/dev_doc/core/index","develop/contribute/dev_doc/core/luat_core","develop/contribute/dev_doc/core/luat_debugger","develop/contribute/dev_doc/core/luat_font","develop/contribute/dev_doc/core/luat_fs","develop/contribute/dev_doc/core/luat_memory","develop/contribute/dev_doc/core/luat_msgbus","develop/contribute/dev_doc/core/luat_platform","develop/contribute/dev_doc/core/luat_pm","develop/contribute/dev_doc/core/luat_timer","develop/contribute/dev_doc/core/luat_zbuff","develop/contribute/dev_doc/core/luat_zstruct","develop/contribute/dev_doc/core/sys_wait_pub","develop/contribute/dev_doc/index","develop/contribute/dev_doc/peripherals/index","develop/contribute/dev_doc/peripherals/luat_fonts","develop/contribute/dev_doc/peripherals/luat_gpio","develop/contribute/dev_doc/peripherals/luat_ir","develop/contribute/dev_doc/peripherals/luat_spi","develop/contribute/dev_doc/peripherals/luat_usart","develop/contribute/dev_doc/peripherals/luat_wlan","develop/contribute/index","develop/contribute/luadb","develop/contribute/soc_format","develop/contribute/style","develop/docs","develop/docs_design","develop/docs_use","develop/filesystems","develop/hex_string","develop/soc_download","index","iotpower/cc/index","iotpower/cc/index-en","iotpower/cc/parts","iotpower/cc/parts-en","iotpower/cc/question","iotpower/cc/tech","iotpower/cc/tech-en","iotpower/cc/usage","iotpower/cc/usage-en","iotpower/cc/wrong","iotpower/devices","iotpower/index","iotpower/index-en","iotpower/pc","iotpower/pc-en","iotpower/power/english","iotpower/power/index","iotpower/pro/connect","iotpower/pro/index","iotpower/pro/tech","iotpower/pro/usage","luaGuide/index","luaGuide/introduction","luaGuide/luaReference","luaGuide/luatFramework","luaGuide/luatFramework_exts","luaGuide/luatask","pages/emulator","pages/supports","pages/tools","peripherals/camera_gc032a/demos","peripherals/camera_gc032a/hardware","peripherals/camera_gc032a/index","peripherals/chip_gtfont/demos","peripherals/chip_gtfont/hardware","peripherals/chip_gtfont/index","peripherals/eink_1.54/hardware","peripherals/eink_1.54/index","peripherals/eink_1.54/software","peripherals/index","peripherals/lcd_1in54_240x240/demos","peripherals/lcd_1in54_240x240/hardware","peripherals/lcd_1in54_240x240/index","peripherals/lcd_1in8_128x160/demos","peripherals/lcd_1in8_128x160/hardware","peripherals/lcd_1in8_128x160/index","peripherals/lcd_2in4_320x240/demos","peripherals/lcd_2in4_320x240/hardware","peripherals/lcd_2in4_320x240/index","peripherals/lcd_air10x/demos","peripherals/lcd_air10x/hardware","peripherals/lcd_air10x/index"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":4,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":3,"sphinx.domains.rst":2,"sphinx.domains.std":2,sphinx:56},filenames:["api/adc.md","api/audio.md","api/bit64.md","api/camera.md","api/codec.md","api/coremark.md","api/crypto.md","api/ctiot.md","api/dac.md","api/disp.md","api/eink.md","api/errDump.md","api/fastlz.md","api/fatfs.md","api/fdb.md","api/fonts.md","api/fota.md","api/fs.md","api/fskv.md","api/ftp.md","api/gmssl.md","api/gpio.md","api/gtfont.md","api/hmeta.md","api/http.md","api/httpsrv.md","api/i2c.md","api/i2s.md","api/iconv.md","api/index.md","api/io.md","api/ioqueue.md","api/iotauth.md","api/ir.md","api/json.md","api/keyboard.md","api/lcd.md","api/lcdseg.md","api/libcoap.md","api/libgnss.md","api/libs/ads1115.md","api/libs/adxl34x.md","api/libs/aht10.md","api/libs/air153C_wtd.md","api/libs/ak8963.md","api/libs/am2320.md","api/libs/bh1750.md","api/libs/bmx.md","api/libs/cht8305c.md","api/libs/ds3231.md","api/libs/ec11.md","api/libs/gt911.md","api/libs/httpdns.md","api/libs/ina226.md","api/libs/index.md","api/libs/iotcloud.md","api/libs/l3g4200d.md","api/libs/lbsLoc.md","api/libs/lbsLoc2.md","api/libs/libfota.md","api/libs/libnet.md","api/libs/lis2dh12.md","api/libs/lm75.md","api/libs/mcp2515.md","api/libs/mlx90614.md","api/libs/mpu6xxx.md","api/libs/necir.md","api/libs/netLed.md","api/libs/pcf8563t.md","api/libs/pcf8574.md","api/libs/qmc5883l.md","api/libs/rc522.md","api/libs/rtkv.md","api/libs/shift595.md","api/libs/si24r1.md","api/libs/spl06.md","api/libs/tcs3472.md","api/libs/tm1637.md","api/libs/tm1640.md","api/libs/tm1650.md","api/libs/tsl2561.md","api/libs/udpsrv.md","api/libs/xmodem.md","api/libs/ze08g_ch2o.md","api/libs/zh07.md","api/log.md","api/lora.md","api/lora2.md","api/lpmem.md","api/lvgl.md","api/max30102.md","api/mcu.md","api/miniz.md","api/mlx90640.md","api/mobile.md","api/mqtt.md","api/nbiot.md","api/nes.md","api/nimble.md","api/os.md","api/otp.md","api/pack.md","api/pin.md","api/pm.md","api/protobuf.md","api/pwm.md","api/repl.md","api/rsa.md","api/rtc.md","api/rtos.md","api/sdio.md","api/sensor.md","api/sfd.md","api/sfud.md","api/sms.md","api/socket.md","api/softkeyboard.md","api/spi.md","api/sqlite3.md","api/statem.md","api/string.md","api/supported.md","api/sys.md","api/sys_pub.md","api/sysplus.md","api/timer.md","api/touchkey.md","api/u8g2.md","api/uart.md","api/ufont.md","api/usbapp.md","api/w5500.md","api/wdt.md","api/websocket.md","api/wlan.md","api/ymodem.md","api/zbuff.md","api/zlib.md","appDevelopment/index.md","appDevelopment/iotcloud/aliyun/code.md","appDevelopment/iotcloud/aliyun/device.md","appDevelopment/iotcloud/aliyun/index.md","appDevelopment/iotcloud/aliyun/intro.md","appDevelopment/iotcloud/aliyun/project.md","appDevelopment/iotcloud/aliyun/test.md","appDevelopment/iotcloud/basic/index.md","appDevelopment/iotcloud/basic/intro.md","appDevelopment/iotcloud/basic/json.md","appDevelopment/iotcloud/basic/protocol.md","appDevelopment/iotcloud/index.md","appDevelopment/iotcloud/onenet/code.md","appDevelopment/iotcloud/onenet/device.md","appDevelopment/iotcloud/onenet/index.md","appDevelopment/iotcloud/onenet/intro.md","appDevelopment/iotcloud/onenet/project.md","appDevelopment/iotcloud/onenet/test.md","appDevelopment/iotcloud/qcloud/code.md","appDevelopment/iotcloud/qcloud/device.md","appDevelopment/iotcloud/qcloud/index.md","appDevelopment/iotcloud/qcloud/intro.md","appDevelopment/iotcloud/qcloud/project.md","appDevelopment/iotcloud/qcloud/test.md","appDevelopment/lvgl/LVGL_for_LuatOS/LVGL_for_LuatOS.md","appDevelopment/lvgl/index.md","appDevelopment/peripheral/index.md","appDevelopment/peripheral/ws2812/ws2812.md","appDevelopment/video_play/105/video_play.md","appDevelopment/video_play/index.md","archives.md","boardGuide/common/adc/index.md","boardGuide/common/crypto.md","boardGuide/common/disp.md","boardGuide/common/fdb.md","boardGuide/common/i2c/air101.md","boardGuide/common/i2c/air103.md","boardGuide/common/i2c/air105.md","boardGuide/common/i2c/index.md","boardGuide/common/index.md","boardGuide/common/lcd.md","boardGuide/common/log.md","boardGuide/common/mcu/air101.md","boardGuide/common/mcu/air103.md","boardGuide/common/mcu/air105.md","boardGuide/common/mcu/index.md","boardGuide/common/pm.md","boardGuide/common/pwm/air101.md","boardGuide/common/pwm/air103.md","boardGuide/common/pwm/air105.md","boardGuide/common/pwm/index.md","boardGuide/common/rtc.md","boardGuide/common/sfd.md","boardGuide/common/sfud/air101.md","boardGuide/common/sfud/air103.md","boardGuide/common/sfud/air105.md","boardGuide/common/sfud/index.md","boardGuide/common/spi.md","boardGuide/common/spi/air101.md","boardGuide/common/spi/air103.md","boardGuide/common/spi/air105.md","boardGuide/common/spi/index.md","boardGuide/common/sys.md","boardGuide/common/timer.md","boardGuide/common/uart.md","boardGuide/common/uart/air101.md","boardGuide/common/uart/air103.md","boardGuide/common/uart/air105.md","boardGuide/common/uart/index.md","boardGuide/flash.md","boardGuide/index.md","boardGuide/roadmap.md","boardGuide/vscode.md","chips/AirWatch.md","chips/W806.md","chips/air001/Air001-Arduino.md","chips/air001/Air001-MDK.md","chips/air001/board.md","chips/air001/hardware.md","chips/air001/index.md","chips/air001/mcu.md","chips/air001/power_dissipation.md","chips/air101/Air101.md","chips/air101/Air101-Hard-design.md","chips/air101/board.md","chips/air101/hardware.md","chips/air101/index.md","chips/air101/mcu.md","chips/air101/power_dissipation.md","chips/air103/board.md","chips/air103/hardware.md","chips/air103/index.md","chips/air103/lcdseg.md","chips/air103/mcu.md","chips/air103/power_dissipation.md","chips/air103/touchkey.md","chips/air105/board.md","chips/air105/encrypt.md","chips/air105/hardware.md","chips/air105/index.md","chips/air105/mcu.md","chips/air105/power_dissipation.md","chips/air106/board.md","chips/air106/hardware.md","chips/air106/index.md","chips/air106/mcu.md","chips/air302/board.md","chips/air302/hardware.md","chips/air302/index.md","chips/air302/mcu.md","chips/air32f103/Air32f103.md","chips/air32f103/board.md","chips/air32f103/daplink.md","chips/air32f103/enhancement.md","chips/air32f103/hardware.md","chips/air32f103/index.md","chips/air32f103/mcu.md","chips/air32f103/switchFromSxx.md","chips/air601/board.md","chips/air601/changelog.md","chips/air601/hardware.md","chips/air601/index.md","chips/air601/mcu.md","chips/air640w/board.md","chips/air640w/hardware.md","chips/air640w/index.md","chips/air640w/mcu.md","chips/air780e/air700e.md","chips/air780e/air780eg.md","chips/air780e/board.md","chips/air780e/changelog.md","chips/air780e/firmware.md","chips/air780e/hardware.md","chips/air780e/index.md","chips/air780e/iomux.md","chips/air780e/mcu.md","chips/air780e/multiownload.md","chips/air780e/network.md","chips/air780e/pwrkey.md","chips/air780e/tts.md","chips/air901/board.md","chips/air901/hardware.md","chips/air901/index.md","chips/air901/mcu.md","chips/chips.md","chips/coremark/README.md","chips/esp32c3/board.md","chips/esp32c3/change_flash.md","chips/esp32c3/hardware.md","chips/esp32c3/index.md","chips/esp32c3/power_dissipation.md","chips/esp32s3/board.md","chips/esp32s3/hardware.md","chips/esp32s3/index.md","chips/esp32s3/mifi.md","chips/index.md","chips/question.md","chips/rp2040/index.md","chips/supported.md","chips/swm181/board.md","chips/swm181/hardware.md","chips/swm181/index.md","chips/swm181/mcu.md","chips/swm181/swm181.md","chips/win32.md","develop/add_lua_module.md","develop/add_myapi_5min.md","develop/c_wait.md","develop/cli/README.md","develop/cli/cmd_base.md","develop/cli/cmd_burn.md","develop/cli/cmd_pkg.md","develop/cli/cmd_prj.md","develop/cli/frontend.md","develop/cli/project.md","develop/compile.md","develop/compile/Air101.md","develop/compile/Air105.md","develop/compile/Air302.rst","develop/compile/Air640w.rst","develop/compile/Air780E.md","develop/compile/Cloud_compilation.md","develop/compile/ESP32C3.md","develop/compile/Linux.md","develop/compile/Win32.md","develop/contribute/add_module.md","develop/contribute/dev_doc/core/index.md","develop/contribute/dev_doc/core/luat_core.md","develop/contribute/dev_doc/core/luat_debugger.md","develop/contribute/dev_doc/core/luat_font.md","develop/contribute/dev_doc/core/luat_fs.md","develop/contribute/dev_doc/core/luat_memory.md","develop/contribute/dev_doc/core/luat_msgbus.md","develop/contribute/dev_doc/core/luat_platform.md","develop/contribute/dev_doc/core/luat_pm.md","develop/contribute/dev_doc/core/luat_timer.md","develop/contribute/dev_doc/core/luat_zbuff.md","develop/contribute/dev_doc/core/luat_zstruct.md","develop/contribute/dev_doc/core/sys_wait_pub.md","develop/contribute/dev_doc/index.md","develop/contribute/dev_doc/peripherals/index.md","develop/contribute/dev_doc/peripherals/luat_fonts.md","develop/contribute/dev_doc/peripherals/luat_gpio.md","develop/contribute/dev_doc/peripherals/luat_ir.md","develop/contribute/dev_doc/peripherals/luat_spi.md","develop/contribute/dev_doc/peripherals/luat_usart.md","develop/contribute/dev_doc/peripherals/luat_wlan.md","develop/contribute/index.md","develop/contribute/luadb.md","develop/contribute/soc_format.md","develop/contribute/style.md","develop/docs.md","develop/docs_design.md","develop/docs_use.md","develop/filesystems.md","develop/hex_string.md","develop/soc_download.md","index.md","iotpower/cc/index.md","iotpower/cc/index-en.md","iotpower/cc/parts.md","iotpower/cc/parts-en.md","iotpower/cc/question.md","iotpower/cc/tech.md","iotpower/cc/tech-en.md","iotpower/cc/usage.md","iotpower/cc/usage-en.md","iotpower/cc/wrong.md","iotpower/devices.md","iotpower/index.md","iotpower/index-en.md","iotpower/pc.md","iotpower/pc-en.md","iotpower/power/english.md","iotpower/power/index.md","iotpower/pro/connect.md","iotpower/pro/index.md","iotpower/pro/tech.md","iotpower/pro/usage.md","luaGuide/index.md","luaGuide/introduction.md","luaGuide/luaReference.md","luaGuide/luatFramework.md","luaGuide/luatFramework_exts.md","luaGuide/luatask.md","pages/emulator.md","pages/supports.md","pages/tools.md","peripherals/camera_gc032a/demos.md","peripherals/camera_gc032a/hardware.md","peripherals/camera_gc032a/index.md","peripherals/chip_gtfont/demos.md","peripherals/chip_gtfont/hardware.md","peripherals/chip_gtfont/index.md","peripherals/eink_1.54/hardware.md","peripherals/eink_1.54/index.md","peripherals/eink_1.54/software.md","peripherals/index.md","peripherals/lcd_1in54_240x240/demos.md","peripherals/lcd_1in54_240x240/hardware.md","peripherals/lcd_1in54_240x240/index.md","peripherals/lcd_1in8_128x160/demos.md","peripherals/lcd_1in8_128x160/hardware.md","peripherals/lcd_1in8_128x160/index.md","peripherals/lcd_2in4_320x240/demos.md","peripherals/lcd_2in4_320x240/hardware.md","peripherals/lcd_2in4_320x240/index.md","peripherals/lcd_air10x/demos.md","peripherals/lcd_air10x/hardware.md","peripherals/lcd_air10x/index.md"],objects:{},objnames:{},objtypes:{},terms:{"0":[0,1,3,4,6,7,8,10,11,13,14,16,17,21,24,25,26,27,28,30,31,32,33,34,35,36,37,39,40,41,42,44,45,46,47,48,49,50,51,53,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,84,85,86,87,88,89,90,91,93,94,95,96,97,98,99,100,102,103,105,107,108,109,110,111,112,113,115,116,117,118,119,120,122,123,126,127,128,130,131,133,134,135,136,162,165,166,169,171,172,173,174,175,178,179,180,181,182,184,185,186,187,190,191,192,193,195,196,197,198,200,201,203,204,205,212,213,216,220,221,222,223,228,233,234,236,238,243,245,247,249,250,252,253,258,267,268,269,271,272,273,274,275,284,289,293,294,301,302,304,305,307,309,311,316,317,323,325,326,329,330,333,334,335,336,340,342,343,344,348,352,354,356,361,366,369,374,375,378,379,380,381,382,390,407],"00":[12,26,39,53,92,115,136,186,255,318,378],"000":[360,379],"0000":354,"00000000":[347,354],"000000000000":134,"00008000":354,"0000ff":162,"0001":[191,192,193],"00010000":354,"0002":[191,192,193],"000287":182,"0003":[191,192,193],"0004":[191,192,193],"0005":[191,192,193],"0006":[191,192,193],"0007":[191,192,193],"0008":[191,192,193],"0009":[191,192,193],"000\u03bca":360,"000a":376,"000bc":379,"0010":53,"002f0200":347,"00380000":354,"00390000":347,"0060ma":226,"00ff0200":354,"01":[0,26,32,39,111,112,115,133,134,136,255,284,326,335,343,344,352],"0100":53,"01000000":16,"01001000":354,"0101":96,"01010000":354,"0102":26,"010203":120,"0107ma":226,"0111":53,"0123":378,"0123456789":162,"01300000":354,"01380000":354,"02":[10,26,39,53,98,127,196,197,198,268,284,318,326,336,354],"02d":378,"02x":[6,79],"03":[16,26,98,134,268,284,327,334,342],"03083333":39,"031":57,"03272018":[196,197,198],"0335":39,"03_event":162,"03_overview":162,"04":[26,96,98,133,284,311,384],"0455":39,"04923":379,"04_widget":162,"05":[12,21,125,129,284,335],"05\u03bca":374,"05_btnmatrix":162,"05_indev":162,"05v":238,"06":[6,26,94,98,123,134,268,284,335],"07":[6,14,15,26,57,98,284,297,298,300,341,378],"08":[129,284],"09":[11,284],"0921ma":232,"092v":212,"09_chart":162,"0_":379,"0a":300,"0b":300,"0m":1,"0u":214,"0v":[221,238,255,361,372,375],"0x":[12,16,26,31,53,57,74,92,98,115,117,127,130,136,196,197,198,334,339,353,354,378,379],"0x0":379,"0x00":[2,6,10,26,36,63,66,71,127,136,162,173,174,175,191,192,193,196,197,198,217,251,293,340,344,346,378],"0x0000":[36,339],"0x000000":165,"0x00000000":347,"0x000080":[191,192,193],"0x0000ff":[36,111,165],"0x0001":339,"0x0002":339,"0x0003":339,"0x0004":339,"0x001f":[36,178,212,220,293],"0x00300000":16,"0x00ff00":[36,165],"0x00ffff":111,"0x00u":214,"0x01":[10,26,36,63,71,91,127,136,196,197,198,217,293,334,335,340,344,346,378],"0x01001000":238,"0x0105":335,"0x0190":335,"0x02":[10,36,63,98,127,196,197,198,217,293,340,344,346,378],"0x03":[37,63,128,196,197,198,217,293,340,344,346,378],"0x04":[10,36,63,127,196,197,198,217,251,293,340,344,346],"0x05":[63,217,293,344],"0x06":[63,78,79,196,197,198,212,217,220,293,335,344],"0x07":[63,71,78,79,191,192,193,217,293,344],"0x08":[10,36,127,191,192,193,217,293,344],"0x09":[217,293,344],"0x0a":[53,344,378],"0x0b":57,"0x0c":[57,191,192,193],"0x0ce0":[212,220],"0x0f":[10,26,36,127,173,174,175,191,192,193],"0x1":379,"0x10":[10,36,127,191,192,193],"0x100":[112,173,174,175,190],"0x10000":[173,174,175],"0x11":[26,33,57,98],"0x12":[30,57,136,334,341],"0x1234":[130,136,334],"0x12345678":[180,181,182],"0x13":[30,98],"0x14":35,"0x18":[191,192,193],"0x1a":136,"0x1a5a5bbx":255,"0x1a5a5ccx":255,"0x1a6a5cdx":255,"0x1a8a6ddx":255,"0x1a8a6edx":255,"0x1a9a6ddx":255,"0x1ba01477":255,"0x1f":35,"0x1f450":162,"0x1f451":162,"0x1f470":162,"0x1ff":[35,63],"0x1fffffe6":63,"0x20":[10,36,74,127,191,192,193,196,197,198,378],"0x20000000":[217,293],"0x2009fffc":91,"0x21":[36,334],"0x22":33,"0x2603":127,"0x2ba01477":255,"0x2c":[212,220],"0x2c06":[212,220],"0x2f":26,"0x30":[57,136,162,378],"0x31":[6,98,136,353,378],"0x3132":353,"0x32":[98,136,334,353,378],"0x33":[98,117,136,173,174,175,334,378],"0x3333ff":89,"0x34":[98,341],"0x35":98,"0x38":[173,174,175],"0x39":162,"0x3b":[57,191,192,193],"0x3ba00477":255,"0x3f":[78,79,126],"0x40":[10,36,127,191,192,193],"0x4001244e":255,"0x41":[162,378],"0x411fc231":255,"0x412fc230":255,"0x42":[191,192,193,378],"0x44":[26,191,192,193,212,220,378],"0x4567":[136,334],"0x48":[10,36,127],"0x4b":128,"0x4ba00477":255,"0x4e00":162,"0x4f":[78,79],"0x52":[191,192,193],"0x55":[128,136,255],"0x5678":130,"0x5a":[98,162,346],"0x5b":[78,79],"0x5c":26,"0x60":[10,36,127],"0x61":[162,378],"0x62":378,"0x65":378,"0x66":[78,79],"0x67":378,"0x68":[26,378],"0x69":378,"0x6b":[191,192,193],"0x6c":378,"0x6d":[78,79],"0x6e":378,"0x6f":[78,79,378],"0x70":378,"0x72":378,"0x74":378,"0x75":[26,378],"0x79":378,"0x7a":162,"0x7d":[78,79],"0x7f":[78,79],"0x7ff":63,"0x7fff":162,"0x80":[10,36,71,127,162],"0x81e0000":347,"0x82":73,"0x83":[10,36,127],"0x84":[10,36,127],"0x86":128,"0x90":[66,196,197,198],"0x9f":[117,195,212,220],"0x9fff":162,"0xa23p":379,"0xa3":98,"0xa5":346,"0xa9":21,"0xaa":[98,128,136,255],"0xac":[173,174,175],"0xbb":[98,191,192,193],"0xbebada":379,"0xc":136,"0xc5":339,"0xc8":136,"0xcc":98,"0xd8":[191,192,193],"0xdd":98,"0xe5":[6,191,192,193],"0xeb":[191,192,193],"0xeeeeff":89,"0xef":[191,192,193],"0xef15":66,"0xef16":66,"0xef17":[196,197,198],"0xef4018":[212,220],"0xf":35,"0xf0":[35,173,174,175],"0xf005":162,"0xf2":26,"0xf33":162,"0xf8":[10,36,127],"0xf800":[136,212,220],"0xf9":[191,192,193],"0xfe":[191,192,193,339,346],"0xff":[6,33,35,36,37,74,78,162,191,192,193,330,333,354,378,379],"0xff0000":36,"0xffff":[6,36,37,67,136,253,293,333],"0xffffff":[212,220],"0xffffffff":[37,91,128,254,333],"0y":127,"1":[0,1,3,6,9,10,12,13,14,16,18,19,21,23,24,25,26,27,28,30,31,34,35,36,37,39,40,41,42,43,44,45,46,47,48,49,50,51,53,55,56,57,58,59,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,82,83,84,85,86,87,89,91,93,94,95,96,97,98,99,100,101,102,103,105,106,108,109,111,112,113,115,116,117,118,119,120,122,123,124,126,127,128,130,131,133,134,135,136,137,162,165,166,168,169,171,172,173,174,175,178,179,180,181,182,185,186,187,190,191,192,193,195,196,197,198,200,201,202,203,204,205,209,211,212,213,216,217,218,220,221,223,228,231,233,234,235,236,237,243,245,247,249,250,252,253,254,258,260,266,267,268,269,271,272,273,274,275,282,287,291,293,299,300,303,305,307,309,311,320,325,326,330,332,333,334,335,336,339,342,343,344,347,348,349,351,353,355,358,360,361,363,372,374,375,380,381,382,385,388,395],"10":[0,2,6,10,11,20,24,30,31,32,36,43,63,65,71,74,77,87,89,90,94,96,98,103,115,119,122,125,127,128,136,162,168,179,185,186,187,196,197,198,201,211,212,220,221,223,228,230,233,238,243,250,254,255,268,269,272,277,284,300,318,320,333,341,342,354,369,378,381,382,384],"100":[1,10,16,21,24,27,37,42,44,48,65,75,78,89,94,103,105,111,128,162,173,174,175,185,186,187,196,197,198,212,220,250,255,268,318,343,361,376,378,379,381],"1000":[1,10,13,24,40,41,42,45,46,47,48,49,51,53,56,59,61,62,63,64,66,67,70,71,72,73,74,75,76,77,78,79,80,82,83,84,86,87,89,91,103,105,111,113,118,122,123,124,134,162,166,169,171,178,180,181,182,184,185,186,187,190,191,192,193,195,196,197,198,200,202,212,213,214,220,268,302,321,322,347,353,379,380,381,382],"10000":[31,66,94,105,109,132,179,201,380,382],"100000":66,"1000000":[182,354],"1000000hz":105,"1000hz":[212,220],"1000m":[380,381],"100\u03c9":238,"100ask":162,"100k":[250,251,254,329],"100khz":[214,218],"100ksp":284,"100m":[1,21,26,212,220],"100mbp":294,"100mv":37,"100u":[131,214,221,361,375],"101":[170,293,314,378],"101_lua_lod":207,"1024":[4,12,30,39,88,91,94,110,113,117,128,136,191,192,193,203,204,205,212,220,243,282,329,334,346,353,379],"1024m":125,"1027923658":384,"102a3b4c5d6":131,"103":[294,349,351],"103336":169,"103348":169,"103372":169,"103_lua_lod":207,"105":[16,26,89,117,243,293,315],"105_lua_lod":207,"106":95,"1061":169,"1061642968":[212,218,225,231,247,304,384],"1063":169,"107":39,"10885":266,"108mhz":238,"109":94,"10_anim":162,"10k":[254,255,367],"10khz":[105,356,361,372,374,375],"10m":13,"10ma":372,"10mbp":294,"10mhz":214,"10mil":[222,227,234,256,265,266,267],"10mm":238,"10mv":[361,375],"10u":[119,255],"10v":358,"10w":211,"10x":293,"11":[6,15,68,94,98,115,120,127,134,162,168,211,212,220,221,223,226,228,230,232,233,238,255,266,268,272,284,325,328,329,330,332,333,354,369,378,381],"110":277,"110m":33,"11100":35,"11111":35,"112":347,"1120":94,"112kb":212,"113":39,"114":[94,115,378],"114514":378,"115":94,"115200":[39,82,128,135,180,181,202,205,212,213,220,221,266,343,354],"1152000":354,"1173":169,"1174":169,"1175":169,"11898":289,"11b":260,"11bit":300,"11g":39,"11th":[57,378],"12":[6,10,15,21,30,36,39,53,85,94,96,102,103,108,119,120,127,136,162,171,228,230,233,238,243,245,255,266,272,284,289,300,334,340,352,353,354,361,372,375,378,379],"120":[36,89,95,96,162,178,212,220,282],"1200":[91,268,354],"120000":[381,382],"12010126":32,"120kb":300,"120mhz":238,"121":57,"122":120,"1222":19,"12222":19,"123":[6,18,20,24,29,85,95,104,117,133,136,269,277,304,334,378,379],"12312121212":277,"123123":378,"123321456654":[136,334],"1234":[18,94,120,130,378],"12341234":292,"12345":[348,378],"123456":[6,72,95,115,120,378],"1234567":[95,378],"12345678":[11,95,134,292,378],"1234567812345678":20,"123456789":[32,95,378],"1234567890":[6,107,170,212,220],"12345678901234":170,"1234567890123456":[6,20,170],"1234567890666666":[6,20,170],"12345678910":378,"1234567891011":378,"123487651234876512348765123487651234876512348765":98,"123abc":120,"123jfoiq4hlkfjbnasdilfhuqwo":[12,92],"124":30,"124045331":94,"124045360":94,"12411":[57,58],"1248":91,"124999":255,"125":238,"125000":255,"126":98,"1262":169,"126322567":[381,382],"1264":169,"127":[21,126],"128":[6,20,30,82,98,107,136,162,166,170,178,212,220,255,268,275,282,334,374,401],"128035":255,"1280m":94,"128hz":277,"128k":[253,254,273,355],"128kb":269,"128m":[196,197,198],"128mb":285,"128x160":395,"1298":318,"12awsaslwlaawsllslllswasllalssawwlawslaw":378,"12awslawslaw":378,"12bit":[128,218],"12f":[34,258,259,293],"12f\u4f7f\u7528\u8bf4\u660e":258,"12f_\u6a21\u5757\u4ea7\u54c1\u89c4\u683c\u4e66":258,"12f_modul":258,"12f_wifi":258,"12f_wifi\u6a21\u5757\u786c\u4ef6\u8bbe\u8ba1\u624b\u518c":258,"12m":[238,293],"12mhz":238,"12x":127,"12x12":171,"13":[10,68,115,119,134,226,228,230,232,233,238,245,262,268,272,282,284,354,378],"132":381,"1328565":318,"132mhz":238,"133":381,"133a":96,"134":381,"1348":169,"135":381,"1350":169,"1354":169,"135hello":378,"136":381,"137":[95,381],"138":381,"139":381,"13m":267,"14":[34,39,68,115,119,221,226,228,230,233,238,245,262,268,272,284,343,344,354,379],"140":[94,381],"141":381,"1415926":378,"1416":[378,379],"142":[169,381],"144":169,"144mhz":238,"145":169,"1460":115,"14bit":300,"15":[29,31,68,72,94,95,96,112,126,127,136,162,182,203,204,205,211,221,228,230,233,238,255,262,268,272,282,284,327,354,361],"150":[162,293],"15000":[58,94,133,134],"1500000":[106,207,234,294],"150m":238,"150mbp":260,"152":10,"15200":354,"156mhz":238,"15\u03bca":[356,361],"15dbm":94,"16":[1,2,4,6,10,13,21,27,36,37,39,71,89,91,93,94,96,98,108,120,127,128,130,136,162,191,192,193,212,220,223,228,230,238,243,245,253,254,255,260,272,282,284,289,293,299,300,334,353,354,379,398,401,404],"160":[10,36,136,162,166,178,180,181,212,282,401],"1600":169,"16000":1,"16000000":255,"1601":169,"160kb":264,"160khz":185,"160m":[287,293],"160mhz":[180,181,243],"160x":166,"16384":[4,212,220],"1650":103,"1652230554":108,"165kb":92,"16777216":[191,192,193],"168":[131,134],"168mhz":238,"16bit":218,"16byte":[115,255],"16e":379,"16k":355,"16kb":[4,300],"16ksp":300,"16m":[126,255,285],"16mb":[191,192,193,284,285,289],"16mflash":211,"16px":327,"16x":[10,36,127],"17":[10,20,21,36,72,94,96,108,111,112,113,117,189,196,197,198,212,221,222,223,227,228,230,234,238,245,250,256,262,265,266,267,272,284,288,348,384],"1709":169,"1712":169,"1712mv":169,"1713":169,"172":162,"176":[347,374],"1776":169,"1777":169,"177x177":[10,36,127],"17955":378,"18":[10,21,36,57,64,72,98,125,171,172,212,223,228,230,238,245,260,262,282,284,304,336,340,384],"180":[10,36,127,134,162],"1800":103,"180d":98,"180mhz":238,"182970020":384,"1850":94,"1884":95,"18k":137,"18khz":73,"19":[10,20,26,36,39,64,94,212,223,228,230,238,245,262,282,284,304,318],"190":162,"1900":108,"1919810":378,"192":[36,89,127,131,134,182,283],"19200":128,"1926":378,"192kb":247,"192m":[237,293],"192mhz":238,"194":39,"1999":[255,318],"1\u03bca":[372,375],"1_":379,"1_20211022":228,"1_layer":379,"1a":[22,360],"1a_v1":390,"1byte":[31,115],"1cg28rk":317,"1e":379,"1f":378,"1fp":3,"1k":[82,260,268],"1kb":[88,203,204,205],"1khz":[105,185,186,187,212,220],"1m":[1,91,268,282,354],"1ma":372,"1mb":260,"1mbyte":[302,321,322],"1msp":300,"1mv":[372,375],"1nf":221,"1s":[180,181,182,200,382],"1st":[36,379],"1u":[91,182],"1ua":[300,361,375],"1uf":[221,238],"1us_tick":31,"1v":255,"1x":127,"1y":127,"2":[0,1,3,9,10,12,13,14,18,21,23,24,25,26,27,34,35,36,37,39,45,55,57,58,59,66,68,72,73,77,78,79,82,85,89,91,93,94,95,96,98,99,100,101,103,106,111,112,115,117,118,120,122,123,124,126,127,128,131,134,136,162,165,166,168,169,173,174,175,179,180,181,186,191,192,193,196,197,198,203,204,207,209,211,212,213,217,218,220,221,222,223,226,227,228,232,233,234,235,237,243,245,247,250,253,254,256,258,260,265,266,267,269,272,273,274,275,277,282,287,291,292,293,299,300,302,303,305,309,311,320,323,326,332,334,336,339,346,348,349,351,353,358,361,363,369,375,376,380,381,395],"20":[10,36,39,63,89,94,96,98,113,117,127,136,162,166,173,174,175,178,180,181,186,190,191,192,193,195,196,197,212,220,223,228,230,238,260,262,268,272,282,284,289,293,334,339,358,363,378,379,384],"200":[1,10,24,25,38,59,66,72,78,134,162,173,174,175,283,336,372,375,379],"2000":[36,57,68,79,99,103,105,111,131,162,189,200,203,204,205,212,220,380,381],"20000":[57,336],"2000000":[36,113,117,128,195,212,220,348,354],"20000000":[10,117,342],"2000m":381,"20034598":172,"200345a8":172,"200\u03bca":[372,375],"200k":[12,273],"200kb":[247,264],"200m":[125,293],"200ma":[238,372],"200mhz":243,"201":36,"2015":[378,379],"2017":57,"2018":[32,162,318,378],"2019":[318,325,328,329,330,332,333,340,378],"2020":[248,254,284,289,301,342,343,344],"2021":[49,108,189,212,250,318,326,334,341],"20211011092353":319,"20211011092608787_qq\u622a\u56fe":319,"20211202193519160_air103_\u6838\u5fc3\u677f\u8bbe\u8ba1\u624b\u518c":228,"20211202193606476_air103_mcu\u8bbe\u8ba1\u624b\u518c":228,"2022":[0,6,14,15,21,39,103,129,162,269,311,318,327,335,336],"20220114193313925_air105\u82af\u7247\u6570\u636e\u624b\u518c":236,"20220303111656608_air105\u6838\u5fc3\u677f\u4f7f\u7528\u624b\u518c":236,"20220419_220202":307,"20220420_223344":309,"20220511":235,"20220513112445291_air105_mcu\u8bbe\u8ba1\u624b\u518c":236,"20220605164850945_air32f103\u82af\u7247\u6570\u636e\u624b\u518c":[249,252],"20220612160340":238,"20220612160407604_qq":238,"20220721163511464_\u534e\u82af\u5fae\u7279swm181\u6570\u636e\u624b\u518c":[297,298,300],"20221028114557272_air780e\u5f00\u53d1\u677f\u539f\u7406\u56fev1":267,"20221104135203881_780x\u5f00\u53d1\u677f\u539f\u7406\u56fe\u548cpcb":267,"20221110145812309_air780e\u5f00\u53d1\u677f\u5587\u53ed\u6269\u5c55\u677fv1":267,"20221219":272,"2023":[2,6,11,13,16,18,20,21,26,29,30,39,64,68,94,98,112,120,123,125,127,133,134,250,268,352],"20230330":272,"20230619165631229_air601":258,"20230626161923628_\u5f00\u53d1\u677fevb_air601":258,"20230721175506039_air001\u82af\u7247\u6570\u636e\u624b\u518c":216,"20230726105503590_air601":258,"2048":107,"2048bit":107,"204mhz":238,"205":38,"20_list":162,"20bit":255,"20k":[162,254],"20khz":78,"20m":[117,342],"20ma":375,"20mhz":243,"20mv":361,"20ppm":[361,375],"20v":[356,358,366],"21":[19,39,128,162,212,223,228,230,238,262,272,284,318,352,378,384],"211013":300,"216m":250,"216mhz":251,"21mm":[284,289],"21v":361,"21x21":[10,36,127],"22":[10,11,36,39,72,86,87,103,111,201,223,226,228,230,232,238,248,260,262,272,284],"220":[36,162],"2200":32,"223":378,"227096712":94,"227857":255,"23":[6,14,16,39,94,96,109,111,134,162,223,228,230,238,262,272,284,378,379],"230":378,"230400":128,"231":39,"233":378,"2333":378,"233333":120,"2334ma":226,"23423":72,"23456":303,"235":162,"239":255,"24":[10,36,39,68,96,111,165,171,196,197,198,221,223,228,230,238,243,272,284,300,334,335],"240":[3,55,89,91,95,136,162,180,181,212,220,282,283,334,374,398,404],"2400":[128,268],"24000000":[13,131,166],"24000000u":214,"240m":[211,289],"240mhz":[91,180,181,260],"240x240":395,"240x320":[294,395],"2425864":57,"244":115,"2452":94,"248kb":300,"2490":318,"24_page":162,"24bit":36,"24m":[238,282],"24mhz":[196,197,198,300],"24v":[356,361,366],"25":[1,39,96,98,127,134,221,223,228,230,238,245,266,272,284,301,325,329,330,333],"250":93,"2500":[212,220],"2549515":318,"255":[13,14,18,39,57,115,131,134,162,166,196,197,198,344,354,378,379],"255tick":31,"256":[20,98,105,112,128,162,185,196,197,198,212,220,275,378,379],"2560m":94,"256k":[211,254,282],"256kb":264,"256m":[253,254,293],"26":[10,18,36,39,223,228,230,238,245,262,272,284],"2603":127,"2650":103,"2670":169,"2673":169,"2675":169,"26_slider":162,"26m":294,"27":[2,6,21,37,39,53,67,72,127,173,174,175,223,228,230,232,238,245,251,255,262,272,284,342],"270":[10,36,127],"270k":137,"278":39,"2793ma":232,"28":[6,43,96,98,162,228,230,238,245,262,272,284,328,332],"280":374,"281":162,"288":347,"288k":[260,282],"29":[26,37,162,226,228,230,238,245,262,272,284,378],"292":26,"2999":32,"29bit":300,"2a":[366,367,372,374,375],"2bia":300,"2byte":255,"2d":39,"2d\u52a0\u901f":282,"2f":[48,173,174,175,257,292],"2g":[273,275,320,384],"2k":268,"2m":[91,117,212,224,229,282,293,347,354],"2ma":372,"2mbp":260,"2mhz":[91,180,181],"2msram":211,"2nd":[36,162,378,379],"2u":255,"2v":[0,238,255,372],"2x":[127,162],"2y":127,"3":[0,3,9,10,14,18,23,24,34,35,36,37,39,45,49,54,57,58,59,66,71,72,73,77,78,79,85,89,94,96,98,100,103,106,108,109,114,115,117,118,120,124,127,134,136,162,166,168,169,173,174,175,191,192,193,195,196,197,198,202,207,209,211,212,217,220,221,223,228,233,234,237,245,250,253,254,267,268,272,275,282,287,291,293,299,300,317,318,323,326,330,331,334,339,347,348,349,351,353,355,358,361,363,375,380,381,393],"30":[10,36,94,95,96,111,127,136,162,166,178,187,207,209,228,230,238,245,255,262,266,272,284,288,300,311,379,382],"300":[59,103,111,165,184,187,326],"3000":[23,58,72,86,87,94,96,109,115,132,133,200,380],"30000":[59,122],"3000000":354,"3000m":[95,133],"3000u":125,"300k":273,"300mah":211,"301":111,"302":294,"305419896":[180,181,182],"30kb":247,"30ma":300,"30mil":221,"30u":255,"30w":[294,388],"31":[32,37,39,94,98,105,108,120,130,134,136,162,189,212,221,228,230,238,255,262,272,282,284,353,378,379],"31249":255,"3132":353,"313233616263":120,"31393033535138385400000000617603":182,"314":379,"31416e1":379,"3149ma":232,"32":[6,10,20,29,36,91,92,96,103,108,119,120,121,127,130,136,162,182,190,228,230,238,243,254,255,260,262,272,284,289,300,334,347,353,379],"320":[3,136,162,212,220,282,404],"3200":27,"32000u":214,"320480":99,"320m":94,"32472115200":32,"3250ma":232,"3269ua":239,"32765":277,"32768u":214,"32_textarea":162,"32bit":[2,91,253,293],"32k":[12,91,92,238,254],"32kb":[92,191,192,193,300],"32kbyte":218,"32khz":[238,300],"32mhz":300,"33":[37,96,117,120,130,136,162,228,230,238,272,331],"330":283,"3300":103,"330uf":221,"332kb":247,"34":[130,228,230,238,272,378],"3400":103,"3432":266,"345":[318,378,379],"34e1":379,"35":[39,96,180,181,223,228,238,272,379],"36":[39,96,223,228,238,250,272,379],"360":[162,369],"3600":[11,59,72],"3600000":269,"36khz":341,"37":[228,230,238,378],"37524839":302,"38":[96,228,230,238],"380d":98,"38400":128,"388":94,"3882":169,"3889":169,"3898":169,"38k":[33,341],"39":[115,238,272],"3\u7248\u672c":317,"3a":[361,366],"3bia":300,"3cm":250,"3d":[39,394],"3duti":300,"3g":[273,275],"3gpp":96,"3hz":185,"3m":[294,358],"3rd":[36,378,379],"3v":[103,173,174,175,191,192,193,196,197,198,202,211,238,250,267,284,300,393],"3v3":[284,289],"3x":162,"3yn5g_tr":228,"4":[0,6,9,10,14,18,21,23,24,34,35,36,37,39,57,59,71,72,73,77,78,79,85,86,87,89,93,94,96,98,100,103,106,108,111,113,115,117,120,124,127,134,136,162,168,169,173,174,175,180,181,182,191,192,193,196,197,198,205,209,211,212,216,220,221,223,228,233,237,243,245,250,253,254,255,260,266,267,268,272,282,287,291,293,300,301,326,330,331,335,339,343,346,353,354,355,358,361,363,369,372,375,376,380,381,395],"40":[10,36,94,96,119,127,162,178,179,180,181,212,220,228,230,238,243,294,334,379],"400":[12,13,92,166],"400001004":[223,228],"400k":282,"400ma":238,"40123":115,"404":[25,38],"4067":39,"4095":18,"4096":[4,18,27,100,191,192,193],"4096bit":107,"40k":[162,221,251,254],"40kb":264,"40m":221,"40mhz":[180,181,221,243,260],"40u":[119,372,374],"41":[179,228,230,238,294],"4126ma":232,"4193":72,"42":[179,228,230,238,294],"42009":378,"43":[108,179,189,212,228,230,238,272],"4305ma":288,"433000000":[86,87],"4344ma":232,"4375":[212,220],"4392ma":288,"44":[94,118,238,239,272,282],"44000":8,"44100":27,"448":347,"448k":273,"448kb":269,"45":[162,207,238,272,379],"4500":[212,220],"45000":133,"456":[120,133],"458":162,"46":[91,179,192,193,198,238,239],"460800":[128,354],"47":[53,179,238,272],"472":283,"4736522":57,"47uf":221,"48":[57,96,162,166,179,182,238],"480":[162,211,294],"4800":[128,268],"48000000":31,"4804ma":239,"480k":[271,293],"480kb":269,"4846ma":226,"485":[128,209,268],"48m":[211,299],"48mhz":[251,300],"49":[179,238,378,379],"492":169,"494":169,"49k":221,"4_20210909":223,"4byte":[31,115],"4duti":300,"4e":379,"4f":378,"4g":[11,72,94,207,211,273,275,284,289,292,355,385],"4gmodem":211,"4hz":93,"4k":[12,16,196,197,198,209,255],"4kb":[11,191,192,193],"4kbyte":218,"4m":[238,282],"4mb":[284,285],"4mflash":211,"4mm":[224,225,355],"4th":[36,173,174,175,378,379],"4v":[169,212,220,221,238,300],"5":[6,10,14,18,24,26,29,31,34,37,39,53,57,59,64,67,68,72,78,79,84,85,92,94,96,103,105,111,115,120,127,128,131,136,162,165,166,168,169,172,173,174,175,182,184,185,187,191,192,193,197,198,209,211,212,218,220,228,233,237,243,245,250,253,255,260,267,277,282,284,289,293,294,316,326,331,333,347,354,355,358,361,363,372,373,375,376,378,380,381,382,407],"50":[30,39,89,105,118,127,162,173,174,175,185,186,187,238,268,378],"500":[21,67,71,73,79,93,122,162,173,174,175,187,212,214,220,361,382],"5000":[24,49,72,94,109,111,132,173,174,175,180,181,182,200,201,380],"5000m":[24,201],"5000u":214,"500792601":384,"500\u03bca":361,"500m":[21,382],"500ma":221,"5016":182,"5023":201,"5037":[180,181],"50736":169,"50788":169,"5080":67,"50832":169,"50hz":21,"50kb":264,"50ksp":300,"50ma":361,"50mv":103,"51":[173,174,175,238,277,372],"510":106,"512":[13,30,72,88,110,135,162,268],"5120m":94,"512k":[282,289],"512kb":243,"514":378,"51k\u03c9":238,"51mm":[284,289],"52":[238,277,378],"520":165,"53":[235,238,277],"5370ma":232,"5383ma":226,"54":[10,238,277,395],"54mm":[222,227,234,256,265,266,267],"55":[94,95,238,277],"5576ua":226,"56":[96,238,282,300],"560177349780":401,"57":238,"57600":128,"58":238,"587923556178":264,"59":[26,39,57,238,379],"591":26,"592":169,"593":169,"595":[73,169],"5\u03bca":372,"5a":[356,361,366,374],"5d":211,"5g":[273,275,318],"5k":[253,254,293],"5kb":266,"5m":[111,243],"5ma":361,"5mbp":165,"5msp":243,"5s":[180,181,182,200],"5th":[173,174,175,378],"5ua":300,"5v":[238,250,255,284,289,292,356,363,366,367,373,374,375,376],"5v2a":372,"5v\u00b2":366,"6":[1,14,18,24,30,34,37,39,50,57,77,78,79,94,96,98,103,111,115,120,134,136,162,168,169,173,174,175,203,204,212,220,228,230,233,234,237,245,282,293,300,326,354,358,363,369,378],"60":[37,72,94,96,127,162,238,255,268],"600":[11,95,268],"60000":[94,98,115],"600000":269,"6050accel":65,"6050gyro":65,"6050temp":65,"6055f9779010":72,"606":283,"60fp":211,"60hz":37,"60kb":247,"61":[120,238,379],"6100n":255,"6115ma":232,"6132ma":288,"618":64,"618_lua_lod":207,"61984":169,"62":[115,120,238],"6203cc94c7fb24029b110408_88888888":32,"62052":169,"62060":169,"6228":266,"625m":98,"63":[18,39,71,120,127,173,174,175,238],"64":[18,20,29,71,91,100,121,130,162,191,192,193,212,220,238,305,347,379],"6406ma":226,"640k":[238,282],"640m":94,"640x":294,"649926645":384,"64bit":[2,91,112,268],"64hz":277,"64k":[16,112,254,277,282,329],"64kb":[191,192,193,243,264,269,300],"64mb":285,"65":[10,162,238],"65525":81,"6553":277,"65535":[98,128],"65535u":31,"65536":[98,172],"65555":21,"656786354871":404,"6584ma":239,"65k":[401,404],"66":[10,162,212,220,238,354],"660335018289":398,"661835138573":407,"665811924219":387,"666":378,"67":[94,238],"6703ma":239,"6721ua":226,"6728ma":226,"68":[96,238],"6808454646333a0cbb8":[180,181],"682":96,"688":67,"69":238,"6byte":131,"6c95875d0f5ba69607nzfl":32,"6mm":[212,231],"6th":[173,174,175],"6v":[169,221,238,255,300,358,363,373,376],"7":[4,10,14,21,24,26,35,36,37,39,50,57,68,69,77,78,79,94,96,98,103,111,119,126,127,128,134,162,168,169,173,174,175,198,205,221,223,228,230,233,236,237,245,255,293,314,315,316,318,354,369,378,381],"70":[162,212,220,238,266],"700":111,"700mil":[222,227,234,256,265,266,267],"70ua":300,"71":[238,255],"72":[96,238],"7258089600":32,"7260ma":226,"72m":254,"72mhz":251,"73":238,"74":[238,282],"74hc595":54,"75":[94,173,174,175,238],"750k":277,"754":379,"757ccd0cdc5c90eadbeeecf638dd0000":6,"75hc595":73,"76":238,"767":93,"767427989":384,"768":[93,282],"76v":0,"77":238,"78":[173,174,175,238],"780e":[266,268],"789":[120,133,378],"78kb":247,"78mm":[222,227,234,256,265,266,267],"79":238,"7956ua":232,"7g":34,"7k":238,"7mm":388,"7s":238,"7th":[255,378],"7uf":221,"7v":[37,238,300],"7z":[226,232,239,258,288,318,347,354,369],"8":[2,4,10,13,14,21,24,27,36,37,39,58,63,64,66,67,71,74,78,79,86,87,91,93,94,96,103,106,108,111,112,113,115,117,127,128,130,131,136,162,165,166,168,178,187,189,191,192,193,195,196,197,198,202,203,204,205,211,212,220,228,230,233,238,245,251,255,275,282,289,293,300,318,335,342,343,348,354,358,363,378,380,381,395],"80":[10,25,36,59,91,162,178,180,181,238],"8000000":[27,214],"8000000u":214,"800k":[111,165],"802":260,"80300":169,"80364":169,"806":[282,378],"80m":[224,229,293],"80mhz":[91,180,181],"81":238,"810":378,"81e0000":347,"82":238,"8222ua":232,"827963649":384,"83":[10,238,354],"84":[96,238,292],"85":[94,238,329],"86":238,"861":239,"864040064024194":2,"86784":169,"86844":169,"86852":169,"87":238,"877164555":384,"88":238,"8883":95,"88v":0,"89":134,"898989898989899898":96,"8b":292,"8bit":[36,117,255],"8d":292,"8f":292,"8k":[255,268],"8m":[27,282,285],"8mb":[212,243,285,289],"8n1":[39,128,221],"8th":255,"8ua":211,"8v":[0,103,169,234,267,358,363,372,373,376],"9":[2,10,24,31,35,39,77,78,79,86,87,91,94,103,108,136,162,168,221,228,230,233,238,245,318,354,378,381],"90":[1,10,36,111,127,162,238,268,292,335],"9000":[132,255],"90000":162,"91":274,"911cha":378,"92":96,"921600":[106,128,203,204,207,212,225,231,284,289,294,347,354],"921fb54442d18p":379,"922u":255,"92k":257,"94k":260,"95":[212,266,292,331],"9501":266,"96":[96,171,407],"9600":[128,268],"967368887":384,"96k":[250,253,254],"96m":282,"97":379,"9731":127,"97656":169,"97672":169,"977":247,"97700":169,"97lo":379,"99":[39,318,335,378],"993":255,"999":378,"9a":292,"9b":292,"9m":255,"9th":378,"9u":31,"\u00b2":366,"\u00b9":366,"\u00df":162,"\u00e1":162,"\u03bca":[260,356,361,372,375],"\u03bcvision":[214,248,301],"\u03c0":379,"\u03c9":250,"\u2460":[207,358,363,369,372],"\u2460burn":209,"\u2460compil":209,"\u2460pc":[358,363],"\u2461":[210,358,363,369,372],"\u2461creat":209,"\u2461develop":209,"\u2462":[358,363,369,372,382],"\u2462first":209,"\u2462luatask":209,"\u2463":[209,358,363,372],"\u2463manipul":209,"\u2464":[209,358,363,372],"\u2465":[209,358,363,372],"\u2465\u2466":358,"\u2466":[209,358,363],"\u2467":[209,358,363],"\u2468":[209,358,363],"\u2469":[358,363],"\u247e":[358,363],"\u247f":[358,363],"\u4e0a\u8ff0\u76ee\u5f55\u7ed3\u6784\u4e2d\u7684makefile\u6587\u4ef6":316,"\u4e0b\u8f7d":317,"\u4e0b\u8f7d\u5e76\u89e3\u538b\u5230\u524d\u6b3e\u7684\u76ee\u5f55":317,"\u4e0b\u8f7dair302_sdk\u7684\u538b\u7f29\u5305":316,"\u4e0b\u8f7dluatos\u7684\u6e90\u7801":316,"\u4e0b\u8f7drtt\u7684\u73af\u5883\u5de5\u5177":317,"\u4e0b\u9762\u6211\u4eec\u5c31\u663e\u793a":165,"\u4e0d\u5efa\u8bae\u76f4\u63a5\u4e0b\u8f7dzip":316,"\u4e0d\u8981\u653e\u5728c\u76d8":317,"\u4e0d\u8981\u6709\u4e2d\u6587\u8def\u5f84":317,"\u4e0d\u9700\u8981\u540c\u6b65\u5b50\u6a21\u5757":316,"\u4e2dkeil\u7684\u8def\u5f84":316,"\u4f46\u6b22\u8fce\u62a5issu":316,"\u4f4d":300,"\u4f8b\u5982":317,"\u4fee\u6539":316,"\u4fee\u6539\u6216\u521b\u5efalocal":316,"\u5148\u542f\u52a8env":317,"\u5207\u6362\u5230rtt\u76844":317,"\u5382\u5546\u8981\u6c42":316,"\u53cc\u51fb":317,"\u53ef\u5355\u72ec\u6267\u884c":316,"\u53ef\u80fd\u6027\u4f4e":317,"\u5408\u5b99air001\u662f\u4e00\u6b3etssop20\u5c01\u88c5\u7684mcu":218,"\u542f\u52a8env\u7a97\u53e3":317,"\u5728":[316,317],"\u5730\u5740":317,"\u5927\u5927\u7684":316,"\u5982\u679c\u4f60\u662f\u5728\u627e\u5237\u673a":316,"\u5982\u679c\u53d1\u73b0\u7f16\u8bd1\u5931\u8d25":317,"\u5982\u679c\u7f16\u8bd1\u5931\u8d25":316,"\u5982\u679ckeil\u5b89\u88c5\u76ee\u5f55\u4e0d\u662f":316,"\u5982\u679cluatos\u4e0d\u5728":316,"\u5b89\u88c5\u80fd\u89e3\u538b7zip\u683c\u5f0f\u7684\u89e3\u538b\u7f29\u8f6f\u4ef6":316,"\u5b89\u88c5git":317,"\u5e76\u5efa\u597d":317,"\u5e76\u81ea\u52a8\u6253\u5305\u751f\u6210\u56fa\u4ef6\u538b\u7f29\u5305":316,"\u5f53\u524d\u7248\u672c\u4ec5\u652f\u6301keil\u7f16\u8bd1":316,"\u5f97\u5230\u7684\u76ee\u5f55\u7ed3\u6784\u662f\u8fd9\u6837\u7684":316,"\u5f97\u5230luatos\u76ee\u5f55":317,"\u5f97\u5230rt":317,"\u6211\u4eec\u63d0\u4f9b\u7684\u56fa\u4ef6\u5305\u5c31\u5305\u542b\u7f16\u8bd1\u597d\u7684\u56fa\u4ef6":316,"\u6216":317,"\u6267\u884c\u547d\u4ee4":317,"\u6267\u884c\u7f16\u8bd1":317,"\u62a5issue\u6216\u8005\u5230\u7fa4\u91cc\u558a\u4e00\u558a":317,"\u6307\u5411":316,"\u6309\u9ed8\u8ba4\u914d\u7f6e\u5c31\u5f88\u597d":317,"\u63a8\u8350\u76ee\u5f55\u4e3a":316,"\u6444\u50cf\u5934":282,"\u6572\u5165\u547d\u4ee4":317,"\u662f\u4e0d\u662fapi\u5f88\u7b80\u5355":165,"\u666e\u901a\u7528\u6237\u4e00\u822c\u4e0d\u9700\u8981\u7528\u5230\u672c\u6587\u7ae0":317,"\u66f4\u65b0\u8f6f\u4ef6\u5305":317,"\u672c\u6587\u8bb2\u8ff0\u7684\u662f\u81ea\u884c\u7f16\u8bd1\u56fa\u4ef6\u6587\u4ef6":317,"\u6bcf\u6b21luatos\u53d1\u65b0\u7248\u90fd\u4f1a\u628a\u7f16\u8bd1\u597d\u7684fls\u653e\u5230":317,"\u70e6\u8bf7\u53cd\u9988":317,"\u7248\u6743\u6240\u6709":379,"\u76ee\u5f55":316,"\u76ee\u5f55\u53ef\u4ee5\u770b\u5230":317,"\u76ee\u5f55\u6267\u884c":316,"\u770b\u770b\u5177\u4f53\u7684\u62a5\u9519\u539f\u56e0":316,"\u786c\u4ef6\u52a0\u901f":282,"\u786c\u72d7":282,"\u7b49\u5f85\u7f16\u8bd1\u5b8c\u6210":317,"\u7f16\u8bd1\u51fa\u7684\u56fa\u4ef6\u4f9d\u7136\u662fluatos\u56fa\u4ef6":316,"\u7f16\u8bd1\u6210\u529f\u4f1a\u663e\u793a":316,"\u7f16\u8bd1lua\u811a\u672c\u4e4b\u7c7b\u7684\u5e94\u7528\u578b\u6587\u6863":316,"\u83b7\u53d6luatos\u6e90\u7801":317,"\u83b7\u53d6rtt\u6e90\u7801":317,"\u89e3\u538b\u5230":316,"\u8bbe\u7f6ertt_root\u73af\u5883\u53d8\u91cf\u7684\u503c":317,"\u8be5sdk\u4e0d\u662fc":316,"\u8bf7\u4f7f\u7528":316,"\u8bf7\u786e\u4fdd\u6709\u6b63\u7248keil":316,"\u8bf7\u786e\u8ba4\u6240\u5728\u7684\u7f51\u7edc\u6ca1\u6709\u5c4f\u853dgitee\u7684\u8bbf\u95ee":317,"\u8d44\u6e90\u7ba1\u7406\u5668":317,"\u8d77\u7801\u9884\u75592gb\u7684\u78c1\u76d8\u7a7a\u95f4":316,"\u8dd1lua\u811a\u672c":316,"\u8df3\u8f6c\u4e00\u4e0b\u76ee\u5f55":317,"\u8df3\u8f6c\u76ee\u5f55":317,"\u8fd9\u4e2a\u6587\u6863\u4e0d\u662f\u4f60\u9700\u8981\u67e5\u770b\u7684\u5185\u5bb9":316,"\u8fd9\u4e2a\u8def\u5f84\u540e\u9762\u90fd\u4f1a\u7528\u5230":317,"\u8fd9\u662f\u7528\u4e8e\u81ea\u884c\u6269\u5c55\u56fa\u4ef6\u7684\u9ad8\u7ea7\u6587\u6863":316,"\u8fdb\u5165env\u6240\u5728\u76ee\u5f55":317,"\u8fdb\u5165rtt\u76ee\u5f55":317,"\u90091m\u7684\u56fa\u4ef6\u6587\u4ef6":317,"\u9009\u4e00\u4e2a\u7b80\u77ed\u7684\u76ee\u5f55":317,"\u901a\u5e38\u4e3a7zip\u683c\u5f0f":316,"\u901a\u5e38\u4f60\u4e0d\u9700\u8981\u8fd9\u4efd\u6587\u6863":316,"\u914d\u5408zbuff\u66f4\u7b80\u5355":165,"\u91c7\u7528\u9ad8\u6027\u80fd\u768432\u4f4darm":218,"abstract":[172,177,190,191,192,193,199,208,212,220,323,326,331,332,340,342,343,344,348,352,381],"air302_sdk\u5230":316,"boolean":[0,1,2,3,4,6,7,10,11,14,16,17,18,20,21,22,26,27,30,31,39,60,68,72,88,89,91,94,95,96,98,103,105,110,111,112,115,117,118,122,127,133,135,136,209,379],"break":[14,16,18,27,31,39,131,135,162,212,217,220,255,293,326,336,358,378,379,381],"byte":[2,3,4,12,13,14,17,18,20,26,27,30,36,57,63,71,72,73,74,88,91,92,94,96,98,100,101,106,107,109,112,115,117,134,136,162,166,168,172,173,174,175,180,181,182,191,192,193,196,197,198,212,220,238,253,254,277,293,300,318,330,334,335,339,342,352,353],"case":[1,5,25,58,72,91,93,109,128,162,214,255,268,269,272,282,305,323,330,337,338,344,345,379,381],"catch":379,"char":[10,12,26,30,36,66,92,98,101,117,118,127,128,136,162,168,173,174,175,195,196,197,198,212,220,304,328,331,335,336,353],"class":[89,136,168,207,212,269,324,334,335,337,345,353],"const":[162,304,328,331,335,348,379],"default":[1,2,3,4,6,7,8,10,11,12,13,15,17,18,19,20,21,23,24,25,26,27,30,31,32,33,34,36,37,39,45,53,55,57,58,59,67,68,72,73,78,81,82,85,86,87,89,90,91,92,93,94,95,96,98,101,103,105,106,108,109,110,111,113,114,115,117,119,120,127,128,130,131,133,134,135,136,138,163,166,179,207,208,212,214,221,223,228,238,245,248,249,257,262,266,268,269,271,272,273,275,284,285,289,292,293,301,302,311,312,314,315,318,321,322,333,334,335,339,340,342,347,348,354,360,376,378,379],"do":[3,7,10,14,16,18,23,26,27,30,36,39,40,41,42,44,45,46,47,48,49,51,53,56,57,58,59,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,82,83,84,85,89,93,94,95,98,102,105,106,109,111,114,115,118,120,122,123,131,133,134,135,137,162,165,166,169,170,171,172,173,174,175,179,185,186,187,190,191,192,193,195,196,197,198,200,201,210,212,218,220,221,238,248,250,255,266,267,273,275,277,282,284,289,292,293,302,305,318,319,320,321,322,323,324,325,329,330,336,337,343,345,349,351,352,354,355,356,358,372,378,379,380,381,382,384],"ec\u540e\u7f00":316,"enum":251,"esp32s3\u91c7\u7528xtensa":289,"export":379,"final":[18,29,133,207,247,248,264,269,305,318,363,372,379,381],"float":[2,34,39,72,93,101,136,255,268,334,335,369,378,379],"fls\u6587\u4ef6":317,"fls\u7ed3\u5c3e\u7684\u56fa\u4ef6\u6587\u4ef6":317,"function":[0,1,3,5,11,16,18,21,23,24,25,26,27,28,29,35,36,39,40,41,42,44,45,46,47,48,49,50,51,53,54,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,82,83,84,86,87,89,91,92,94,95,98,99,102,106,108,109,110,111,114,115,116,117,118,121,122,123,124,126,127,128,133,134,135,138,163,165,166,168,169,170,171,172,173,174,175,176,177,180,181,182,183,185,186,187,188,190,191,192,193,194,195,196,197,198,199,202,203,204,205,206,207,208,209,211,213,217,220,229,233,238,243,245,246,248,249,253,254,257,262,263,268,269,271,272,275,287,291,293,296,300,301,302,303,312,318,320,321,322,323,324,325,330,331,333,337,340,341,343,344,345,348,349,351,352,355,356,366,367,372,374,381,382,385],"git\u5b98\u7f51":317,"goto":379,"import":[124,162,202,203,204,205,211,212,220,255,268,303,304,356,358,361,372,374,375,379,380,381,382],"ini\u4e2d\u7684plat_root\u8def\u5f84":316,"int":[0,1,2,3,4,6,7,8,9,10,11,12,13,14,16,17,18,19,21,24,25,26,27,29,30,31,33,35,36,37,38,39,43,45,54,59,60,68,81,85,88,89,91,92,93,94,95,96,98,99,100,101,102,103,104,105,107,108,109,110,111,112,113,114,115,116,117,118,119,122,124,125,126,127,128,130,131,132,133,134,135,136,162,213,214,248,255,301,304,305,323,328,330,335,336,340,344,348,379],"long":[1,11,89,94,101,102,103,104,114,125,136,138,163,165,202,203,204,205,212,220,266,268,277,305,326,328,331,333,372,378,379,380,384,385],"luatos\u6e90\u7801\u76ee\u5f55\u4e0b\u7684":316,"m\u00b3":[84,378],"new":[6,10,11,20,21,26,29,54,60,91,94,114,115,119,127,134,136,138,163,177,196,197,198,200,206,207,208,209,212,217,220,249,250,253,268,284,285,286,293,299,302,311,318,319,321,322,330,331,335,336,345,349,351,366,367,369,372,378,379,381],"null":[60,118,162,268,305,329,331,378,379],"public":[20,94,107,268,380,393],"return":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,162,169,172,173,174,175,191,192,193,196,197,198,207,212,220,250,255,268,285,303,304,318,323,327,329,330,334,336,342,343,345,349,351,353,363,372,379,380,381,382],"s\u03bcg":84,"sdk\u672c\u8eab\u4e0d\u5f00\u6e90":316,"short":[39,89,98,101,114,136,162,169,212,220,221,238,250,255,268,292,310,320,348,361,372,374,375,378,379],"static":[25,94,131,162,213,214,221,268,305,336,344,348,349,351,372,379],"switch":[1,10,21,31,68,71,91,94,95,103,115,128,133,134,138,163,211,220,238,268,285,289,292,356,358,361,373,374,375,379,381],"swm181cbt6\u91c7\u752832":300,"thread\u76ee\u5f55":317,"throw":[250,379],"true":[1,2,3,4,6,7,8,10,11,13,14,16,17,18,19,20,21,22,25,26,30,31,32,33,36,37,39,40,41,42,44,46,48,49,51,53,56,58,60,62,63,64,65,66,67,68,69,70,72,74,75,76,77,80,83,84,86,87,88,89,90,91,93,94,95,96,97,98,99,100,103,105,107,108,110,111,112,113,114,115,117,118,120,122,124,126,127,128,130,132,133,134,135,136,162,169,172,173,174,175,179,180,181,185,186,187,191,192,193,196,197,198,200,201,203,204,205,210,212,220,266,272,302,303,304,319,321,322,336,343,347,348,378,379,380,381,382],"try":[1,4,11,13,16,91,115,162,166,207,212,220,250,255,267,285,289,323,327,339,348,354,360,372,378,379],"var":379,"void":[213,214,248,251,255,301,304,305,325,329,330,331,336,344,348,379],"while":[14,16,18,23,27,39,40,41,42,44,45,46,47,48,49,51,53,56,61,62,64,65,66,67,70,71,72,73,74,75,76,77,78,79,80,82,83,84,93,94,98,105,111,115,122,133,134,135,162,165,166,169,171,173,174,175,179,185,186,187,190,195,200,201,202,203,204,205,212,214,220,248,250,255,268,271,293,301,302,305,321,322,325,330,336,343,348,355,356,358,379,380,381,382],"windows\u5b89\u88c5\u5305\u53ef\u4ee5\u5728":317,"x64\u53ca\u4ee5\u4e0a":316,"y\u0101o":277,"y\u012b":277,A:[26,29,31,39,50,73,94,98,99,101,109,115,119,120,121,122,135,136,162,170,171,178,184,189,190,195,196,197,198,202,207,208,211,212,214,220,221,238,250,255,294,304,319,323,326,329,332,335,336,349,350,351,363,372,376,378,379,380,382,388],AND:[214,379],AT:[94,103,207,217,260,265,266,272,277,292,293,319],And:[66,103,162,224,251,254,268,293,339,348,379,381],As:[39,66,71,103,115,134,162,190,191,192,193,202,212,220,253,292,293,305,318,331,333,334,360,372,378,379],At:[66,162,189,195,207,212,220,250,289,295,304,305,318,320,323,327,341,346,348,354,356,360,376,378,379,380,381,383],Be:[212,220,269,319],But:[18,162,212,220,221,378,379],By:[115,162,238,304,323,378,379],For:[1,3,4,13,18,35,36,57,68,91,98,99,103,106,107,108,110,123,126,127,134,162,166,168,172,202,203,204,205,210,212,218,220,221,227,228,230,231,238,251,254,255,266,268,270,272,295,300,311,320,326,331,336,339,352,360,369,372,377,378,380,387],If:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,122,124,125,126,127,128,129,130,131,132,133,134,135,136,137,162,166,178,202,207,212,213,214,218,220,221,226,232,235,248,250,254,255,268,269,272,275,284,289,292,301,302,303,304,309,310,311,313,315,318,319,320,325,329,331,348,349,351,354,356,358,360,363,369,378,379,381],In:[1,5,10,36,57,58,66,72,94,95,102,109,127,162,170,171,190,196,197,198,207,212,214,218,220,221,238,243,250,255,266,268,272,277,282,284,289,296,303,304,305,306,309,318,320,323,325,326,328,331,339,344,347,348,358,360,366,369,372,377,378,379,380,381],Is:[4,7,96,136,173,174,175,196,197,198,202,203,204,205,212,220,267,268,293,356,374,378,379],It:[1,12,15,16,39,60,66,68,72,89,92,94,108,109,114,115,122,124,128,129,130,133,162,165,173,174,175,190,191,192,193,195,196,197,198,207,210,211,212,213,214,238,250,253,255,260,264,266,267,268,269,272,274,277,293,303,304,305,314,315,318,320,323,326,330,331,336,346,349,351,352,355,358,363,367,372,373,374,376,377,378,379,381],Its:[66,162,253,268,330,379],NO:213,NOT:[118,379],Near:348,No:[1,3,5,6,7,10,11,13,21,25,26,27,36,37,39,59,67,68,72,85,87,89,91,94,95,98,103,104,105,106,109,111,115,117,122,123,125,126,127,128,130,133,162,165,207,209,212,220,224,229,237,244,253,254,261,265,266,268,269,278,284,286,287,293,304,311,330,331,348,374,378,379],Not:[1,25,94,96,99,102,126,162,255,275,282,294,296,304,314,346,353,360,366,378,379],ON:[162,214],OR:[127,162],Of:[162,165,210,235,369,378,379],On:[1,39,72,103,162,207,210,212,243,250,352,360,372,376,379,382],One:[138,163,169,180,181,182,202,203,204,205,212,220,221,269,323,379,381],Or:[115,117,250,255,272,293,305,318,341,379],Such:[103,348,378,379],That:[99,162,212,220,277,318,319,331,379],The:[0,1,3,4,5,6,7,8,9,10,11,12,13,14,16,17,18,19,20,21,23,24,26,27,28,30,31,32,34,35,36,37,38,39,40,41,42,44,45,46,48,49,50,53,54,56,57,59,62,63,64,65,66,67,68,69,70,72,73,75,76,78,79,80,81,85,86,87,89,91,92,93,94,95,96,98,99,101,102,103,104,107,109,110,111,112,113,114,115,117,118,119,120,122,123,124,125,127,128,130,131,133,134,135,136,162,165,166,168,169,170,172,173,174,175,179,180,181,182,185,186,187,189,191,192,193,195,196,197,198,200,201,202,203,204,205,207,209,210,211,212,213,214,218,220,221,238,243,247,248,249,251,253,254,262,264,265,266,267,268,269,272,273,274,275,277,282,283,284,285,289,292,293,295,296,299,300,301,302,303,304,305,306,311,314,315,318,319,320,321,322,323,324,326,327,328,329,330,333,334,337,339,340,341,342,343,344,345,346,348,349,350,351,353,355,358,360,361,363,366,369,373,374,375,376,380,381,382,385],Then:[162,165,166,207,212,220,221,235,305,314,315,323,358,378,379,381],There:[0,21,39,72,91,101,106,115,117,122,128,136,162,169,173,174,175,180,181,182,196,197,198,202,203,204,205,207,212,220,221,226,232,253,255,264,266,267,272,282,293,304,311,319,352,360,378,379,380,381,382,384],These:[162,255,353,378,379],To:[10,24,26,29,30,54,66,91,94,95,99,103,106,107,127,162,214,229,255,257,349,351,374,379],WITH:275,Will:[5,95,170,171,184,213,220,293,379],With:[162,250,266,294,300,319,344,379,381],_1:236,_1_:379,_:[5,6,26,101,102,162,275,304,334,355,379,381,382],__:379,____:66,________:66,____________________:66,____s________:66,__add:379,__air001_assert_h:214,__air001f0xx_it_h:214,__air001xx_hal_conf_default_h:214,__air001xx_it_h:214,__band:379,__bnot:379,__bor:379,__bxor:379,__call:379,__concat:379,__cplusplu:[162,214],__div:379,__eq:379,__ev_:379,__file__:214,__gc:379,__hal_afio_remap_swj_en:255,__hal_afio_remap_swj_nojtag:255,__hal_rcc_afio_clk_en:255,__hal_rcc_gpiob_clk_en:214,__hal_rcc_pwr_clk_en:255,__idiv:379,__index:[336,379],__ipair:379,__le:379,__len:379,__line__:214,__lt:379,__main_h:214,__metat:379,__mod:379,__mode:379,__mul:379,__name:379,__newindex:379,__pair:379,__pow:379,__shl:379,__shr:379,__sub:379,__tostr:379,__unm:379,_alloc:379,_arg_:379,_args_:379,_at_0x20000000:[217,293],_block_:379,_body_:379,_boolean_i:379,_c:379,_call:379,_chunkname_:379,_close:379,_cnt:381,_currentline_:379,_d_:379,_ddd_:379,_debug:379,_e1_:379,_e2_:379,_e3_:379,_env:379,_error:379,_explist_:379,_extramsg_:379,_f_:379,_filenam:[328,331],_filename_:379,_funcname_:379,_function:379,_functioncall_:379,_g:[59,72,106,168,269,304,378,382],_getendpoint:255,_getfield:379,_getglob:379,_getinfo:379,_getistr:255,_gettop:379,_init:162,_isnumb:379,_kcontext:379,_lightweight:379,_limit_:379,_loadfil:379,_loadstr:379,_luato:269,_mod_:379,_mode:[328,331],_multret:379,_n_:379,_n_i:379,_newlibt:379,_next:379,_nil_i:379,_number:379,_number_repres:379,_o_:379,_param_t:162,_params_:379,_pcall:379,_pcallk:379,_pop:379,_pushcclosur:379,_pushcfunct:379,_pushinteg:379,_pushliter:379,_pushnil:379,_pushnumb:379,_regist:379,_remov:379,_repeat:[29,333],_s_:379,_set_:379,_setfunc:379,_setglob:379,_stat_:379,_state:379,_step_:379,_string_:379,_string_repres:379,_t:[335,379],_temp:354,_tonumb:379,_type:379,_typenam:379,_v1:[169,258],_v2:10,_v3:10,_valid:379,_var:379,_var_:379,_version:[168,171],_x_:379,_x_form:379,_xxx:207,_xxx_:379,a1:168,a2:168,a7:292,a8xza9cqs3cu79b:32,a_binari:379,a_c:379,a_cod:379,a_continu:379,a_dynam:379,a_find:379,a_garbag:379,a_long:379,a_messag:379,a_meta:379,a_pseudo:379,a_reference_in:379,a_registry_i:379,a_sequ:379,a_tail:379,a_temporari:379,a_vari:379,a_virtu:379,a_x_:379,a_y_:379,aa:379,aaa:378,aabb:98,aabbccdd:98,aabbccddeeff:134,aabcdefg:378,ab:[168,378],abandon:[109,137,379],abbrevi:[98,102,128,185,186,187,195,196,197,198,212,220],abc:[6,11,15,24,25,27,29,30,72,85,104,107,110,118,133,162,170,305,320,348,352,378],abcabcabc:378,abcd123:32,abcd:378,abcdabcd1234:162,abcdabcd:8,abcdefg:[32,136,303],abcdefgg:133,abcderg:133,abid:162,abil:[172,221,267,272,304],abl:[162,218,378],abmfa1ucw:32,abnorm:[11,103,250,255,268,369,379,381],abort:[255,379],about:[14,17,18,25,58,72,90,137,162,166,169,207,209,224,227,228,229,231,238,247,250,264,271,285,293,300,324,336,337,344,345,349,350,355,378,379],abov:[13,59,73,117,127,136,162,179,189,207,221,248,250,253,254,265,266,268,272,274,275,284,285,289,292,293,301,303,305,314,315,318,331,334,346,358,360,369,372,373,376,378,379,381,382],abroad:268,abscissa:[36,127],absolut:[30,135,162,369,378,379],abwifi:292,ac5:301,accel:65,acceler:[54,65,94,211,260,294],acceleromet:[54,65],accept:[21,29,109,162,168],access:[103,162,253,293,303,320,332,339,378,379],access_mod:339,accesskei:55,accid:372,accommod:89,accompani:323,accord:[2,14,18,21,23,31,40,45,53,71,73,79,83,84,91,95,101,114,128,131,132,133,134,136,162,169,172,173,174,175,186,197,212,214,220,221,238,248,250,255,269,284,285,289,293,301,303,304,305,314,315,320,326,334,348,354,358,361,369,372,375,376,378,379,380,405],accordingli:[136,162,334],account:[31,95,292,319,355],accumul:[6,363,378],accur:[125,189,211,212,372,379],accuraci:[39,58,99,105,162,185,186,187,238,243,268,300,358,361,372,375],accustom:380,achiev:[11,98,171,184,211,212,220,238,300,323,324,337,345,348,355,366,378,381,407],ack:[38,135],acknowledg:133,aco:168,acquir:[21,94],acquisit:[17,49,134,169,173,174,175,182,212,220,234,268,379],act:[66,134,162,334,346,379],action1:162,action2:162,action:[29,67,121,133,162,210,255,294,354,374],activ:[36,68,89,94,96,103,115,122,134,162,210,214,248,266,268,284,289,292,301,312,372,379,384],activelin:379,activetim:29,acttyp:29,actual:[0,21,30,31,39,45,50,83,84,125,128,131,134,136,162,165,172,209,212,214,220,221,238,248,250,255,269,272,283,284,285,289,292,301,303,305,318,336,346,347,348,352,356,358,361,363,375,378,379,381],acyv3qdjrra0fw5ue58knq:32,ad:[2,4,6,11,13,14,15,16,18,20,21,26,30,31,39,85,94,98,123,124,125,127,129,133,134,162,165,196,197,198,217,221,238,248,267,268,269,289,293,301,304,324,326,337,345,348,379,381],adapt:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,116,117,118,119,120,122,123,124,125,126,127,128,129,130,131,132,134,135,136,137,162,212,250,268,272,314,315,322,326,347,348,349,351,355,363,367,369,372],adapter_index:29,adc0:[0,212,220,223,228,245],adc1:[0,169,223,228,255],adc2:[0,228],adc3:228,adc:[1,29,121,177,208,218,223,224,228,234,238,243,246,253,254,260,268,269,273,282,284,289,293,296,299,300,348,361,372,375,383],adc_0:[228,284],adc_1:[228,284],adc_2:[228,284],adc_3:[228,284],adc_4:284,adc_5:284,adc_clk:255,adc_cmd:255,adc_flag_eoc:255,adc_getconversionvalu:255,adc_getflagstatu:255,adc_in1:238,adc_in2:238,adc_in4:238,adc_in5:238,adc_in6:238,adc_initstructur:255,adc_range_1_2:0,adc_range_1_8:0,adc_range_3_6:0,adc_range_3_8:0,adc_scanconvmod:255,adc_softwarestartconvcmd:255,adc_temp:[212,220],adcgetconversionvalu:255,add:[13,29,30,31,54,85,103,127,138,163,184,189,207,210,212,217,220,238,248,251,254,255,266,268,269,272,274,293,301,305,309,314,315,318,320,327,328,336,345,347,348,349,351,360,377,378,379,384],add_btn:162,add_myap_5min:305,add_opt:162,add_tab:162,addb:378,addit:[2,10,22,24,29,36,66,85,94,95,109,121,123,133,162,202,212,214,220,224,229,237,238,243,254,269,271,273,287,289,292,293,311,314,315,318,328,329,360,378,379],addr:[29,54,57,66,117,212,220,327,335],address:[16,19,24,26,29,52,54,58,59,66,72,95,98,104,113,115,131,134,136,166,173,174,175,177,194,199,208,212,217,220,238,250,255,257,268,293,300,320,327,339,344,347,348,354,356,379,384,394],adhes:[358,372],adipisc:162,adjac:[94,162,269],adjust:[1,12,26,53,77,111,127,128,136,138,163,169,185,186,187,212,220,221,238,248,250,255,267,268,272,277,283,301,358,363,372,373,374,379],adjust_period:29,adler:92,administr:384,adon:[253,293],adopt:[212,220,284,361,375,379],ads1115:[54,269],ads1115_conf_hcmd:40,ads1115_conf_lcmd:40,ads1115_data:40,adv_fre:98,advanc:[93,138,163,168,209,214,238,248,301,320,358,379],advantag:[165,378,381],advdata:29,advic:379,advparam:29,adxl345:54,adxl346:54,adxl34x:54,adxl34x_data:41,ae:[6,170,268,275,344],af:[54,292],affect:[18,78,79,108,136,162,212,220,250,255,266,363,378,379],affix:348,afford:217,after:[0,1,3,7,10,11,12,15,16,21,26,28,29,30,31,32,34,36,39,57,64,66,72,86,89,91,92,94,95,96,98,103,106,107,108,109,110,112,114,115,117,118,120,122,123,127,128,131,133,134,135,136,162,165,169,173,174,175,177,183,184,191,192,193,196,197,198,201,207,208,210,211,212,214,218,220,221,226,232,234,235,238,248,250,253,254,266,267,268,269,272,274,282,284,285,289,292,293,300,301,302,304,305,311,314,315,319,320,326,333,336,347,348,352,356,363,369,373,374,376,378,379,380,381,382],afterward:39,ag:[18,72,172,304],again:[3,4,10,11,14,21,31,66,98,109,127,131,134,162,166,172,203,204,205,210,221,235,250,255,266,268,356,363,369,372,376,378,379,381],against:[358,379],agent:326,aggress:379,agp:266,agpio3:272,agpio4:272,agpio5:272,agpio:128,agr2:29,agre:162,agreement:[29,121,339,349,350],ah:[36,127,363,374],ahb:214,aht10:[54,176,177,208,309,312],aht10_data:42,aht20:309,aht:309,aie:54,air001:[215,216,293],air001_assert:214,air001_dev:214,air001_pcb:[217,293],air001dev:214,air001xx_hal:214,air001xx_hal_conf:214,air001xx_hal_cortex:214,air001xx_hal_driv:214,air001xx_hal_flash:214,air001xx_hal_gpio:214,air001xx_hal_pwr:214,air001xx_hal_pwr_ex:214,air001xx_hal_rcc:214,air001xx_hal_rcc_ex:214,air001xx_it:214,air001xx_ll_bu:214,air001xx_ll_cortex:214,air001xx_ll_dma:214,air001xx_ll_gpio:214,air001xx_ll_pwr:214,air001xx_ll_rcc:214,air001xx_ll_system:214,air001xx_ll_util:214,air101:[0,1,4,5,6,9,10,11,12,13,14,15,17,18,19,20,21,22,24,25,26,27,28,30,32,33,34,36,37,39,66,72,73,78,81,85,86,89,90,91,92,93,95,97,98,100,101,102,103,104,105,106,107,108,109,110,111,113,115,117,119,120,121,122,124,126,127,128,131,132,133,134,135,136,137,165,166,169,170,171,176,177,178,183,184,188,189,190,194,195,199,202,206,207,208,212,222,231,232,233,282,293,296,304,310,311,312,315,319,347,349,351,355,385,405],air101_chip:[169,185,196],air101_core_bom_b_air101_core_a10_v1:223,air101_flash:354,air101_mcu:[203,223],air101_pcb:[224,293],air103:[0,1,4,5,6,9,10,11,12,13,14,15,17,18,19,20,21,22,24,25,26,27,28,30,32,33,34,36,37,39,66,72,81,85,86,89,90,91,92,93,95,97,98,100,101,102,103,104,105,106,107,108,109,110,111,113,115,117,119,120,121,122,124,126,127,128,131,132,133,134,135,136,137,165,169,176,177,183,188,194,199,206,207,208,212,221,226,227,228,233,282,293,296,304,310,319,354,355,385,405],air103_:228,air103_bom_b_air103_a10_v1:228,air103_cor:228,air103_mcu:[169,186,197,204,228],air103_pcb:[229,293],air105:[0,1,2,3,4,5,6,8,9,10,13,14,15,16,17,18,19,20,21,22,24,26,28,29,30,31,32,34,35,36,39,66,72,81,85,86,89,90,91,92,93,95,97,100,101,102,103,104,105,106,107,108,109,111,112,113,115,117,119,120,121,122,124,127,128,130,131,132,133,135,136,137,138,165,167,169,176,177,183,188,194,199,206,207,208,236,282,293,296,310,319,349,351,355,385,386,387,395,405],air105_cor:236,air105_download:354,air105_mcu:[198,205,236],air105_pcb:[237,293],air106:282,air107:310,air10x:[66,354,395],air112:211,air153c_wtd:54,air202:[247,384],air302:[282,293,355],air302_sdk:316,air32:[52,57,72,133,248,250,253,257,292,293,374,384],air32cbt6:[249,252],air32f103:[227,228,229,231,249,251,252,293,301,405],air32f103_pcb:[253,293],air32f103cbt6:[248,250,253,254,255,293],air32f103cct6:[254,255],air32f103cxt6:249,air32f103rpt6:255,air32f103vet6:255,air32f103vgt6:255,air32f103zet6:255,air32f103zgt6:255,air510u:[266,273],air5xx:384,air600:[23,103,114,134,207,272,273,274,318,319,355,384],air601:[0,1,4,5,6,9,10,11,12,13,14,15,17,18,19,20,21,22,24,25,26,27,28,30,32,33,34,36,37,39,72,81,85,86,89,90,91,92,93,95,97,98,100,101,102,103,104,105,106,107,108,109,110,111,113,115,117,119,120,121,122,124,126,127,128,131,132,133,134,135,136,137,257,293,319],air640w:[282,293,355],air700:[0,1,2,4,5,6,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,30,32,33,34,36,39,72,81,85,86,87,89,90,91,92,93,94,95,97,100,101,103,104,105,106,107,108,109,111,112,113,115,117,119,120,121,122,124,127,128,131,132,133,134,135,136,207,271,273,292,293,318],air722:[384,385],air724:[94,384,385],air724ug:[293,385],air72xux:385,air780:[0,1,2,4,5,6,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,30,32,33,34,36,39,72,81,85,86,87,89,90,91,92,93,94,95,97,100,101,102,103,104,105,106,107,108,109,111,112,113,114,115,117,119,120,121,122,124,127,128,131,132,133,134,135,136,207,265,266,267,268,270,272,274,292,293,296,319,355,385],air780e_cdcpppdemo:292,air780e_pcb:[271,293],air780eg:[39,91,103,114,134,207,265,268,269,271,272,273,274,292,293,318,355],air780ex:318,air800:384,air820:385,air820ug:293,air:[54,213,220,260,360,378,385,407],air_jlink_keil:248,air_rcc_pllconfig:251,airisp:218,airkiss:[134,257],airm2m:[214,284],airm2m_all_crc:346,airmcu:213,airplan:96,airpsm:103,airtun:[133,269],ak8963:[54,268],alarm:[54,103,115,226,232,369],alarm_int:68,alert:[363,373,376],algorithm:[6,29,53,121,170,214,248,253,254,269,293,301,304,379],ali:54,alia:255,alias:162,alibaba:[32,52,55,149,268],align:[6,138,163,253,293,330,358,379],align_cent:[89,162,212,220],align_in_bottom_mid:162,align_in_top_mid:162,align_in_top_right:162,align_out_bottom_mid:162,align_out_left_mid:162,align_out_right_mid:162,aliot:59,aliqua:162,aliquip:162,aliyun:[29,55,99,115],all:[1,6,9,10,12,30,36,37,39,40,41,42,44,46,47,48,49,51,53,55,56,57,58,59,61,63,65,67,68,69,70,71,74,75,76,77,78,79,80,82,83,84,91,92,94,98,101,103,104,113,115,117,127,128,130,136,162,165,166,179,191,192,193,210,211,212,214,220,221,226,232,238,248,250,253,266,268,269,274,275,283,293,301,303,319,330,331,334,346,348,352,354,360,363,369,378,379,382,384],all_dead:379,all_don:135,allig:[358,360,373],alloc:[115,136,162,268,302,304,321,322,323,324,329,337,345,379,381],allow:[36,89,122,162,268,272,305,348,372,379,380],almost:[122,250,378,379],alo:379,alon:[218,293,379],aloud:277,alpha:[138,163],alphabet:379,alphanumer:379,alreadi:[4,9,115,127,162,210,269,344,356,378,379],also:[15,21,25,54,68,72,78,79,91,94,101,103,107,115,117,122,124,128,134,136,162,165,170,171,178,191,192,193,207,212,218,220,221,238,243,250,255,262,266,267,268,272,273,277,303,304,305,318,319,326,327,331,334,352,354,355,358,361,366,369,374,375,378,379,381,383],alt:[29,268],alt_fun:29,alt_func:[21,268],altern:[57,162,247,255,294,379],altfun:29,although:[66,266,272,285,346,358,378,379],altitud:39,altogeth:327,alwai:[21,67,103,104,108,111,122,162,165,221,250,269,277,304,325,333,339,353,356,369,378,379],am2320:54,am:[203,204,205,277,378],ambient:54,ambigu:[378,379],amd:218,amend:39,amet:162,among:[326,330,360],amount:[16,72,117,128,130,136,196,197,198,268,329,369,378,379],amp:372,amper:363,amplif:162,amplifi:267,amplitud:[212,220],amr:[4,268,273],amr_:4,amr_cod:4,amr_nb:4,amr_wb:4,an:[1,2,4,10,11,14,18,19,20,22,24,25,31,34,36,59,63,66,68,72,85,86,88,89,91,93,95,96,98,99,103,115,118,120,122,124,127,134,135,136,138,163,165,166,169,170,184,190,191,192,193,195,196,197,198,202,207,209,211,212,213,217,220,221,230,238,243,250,254,255,266,268,269,272,284,285,289,293,300,301,304,305,314,315,318,319,320,323,325,326,329,330,331,334,336,339,344,348,353,354,355,363,367,372,378,379,380,381,383],an_error:379,an_index_to:379,an_iterator_funct:379,an_state_:379,analog:[29,54,89,121,169,171,185,186,187,212,220,238,243,289,300,348,374,381],analysi:[212,220,323,324,337,345,367,369,379,380],analyz:[128,255,306,356,361,372,374,375,379,381],anchor:379,and_hooks_:379,and_table_:379,angl:[39,138,163,165,300,339,379],angular:162,ani:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,116,117,118,119,120,122,124,125,126,127,128,129,130,131,132,133,134,135,136,137,162,172,179,200,201,207,212,214,220,221,250,260,268,269,284,289,293,303,314,315,319,348,352,356,361,369,372,374,375,378,379],anim:[29,138,163,212],anim_cr:29,anim_fre:29,anim_on:162,anim_ono:162,anim_path_set_cb:29,anim_path_t:29,anim_path_t_fre:29,anim_set_exec_cb:29,anim_set_path_str:29,anim_set_ready_cb:29,anim_tim:162,anim_time_m:162,anim_typ:89,annot:[345,378,379],anod:73,anom_on:162,anonym:[122,379],anoth:[15,66,94,117,162,202,203,204,205,212,220,248,255,301,331,378,379,381],answer:[294,384],antenna:[39,71,103,260,266,284,289,293],antenna_on:54,anti:[21,36,71,103,162,207,221,268],anticol:54,anxieti:211,anyth:[162,165,379],anywai:372,anywher:[378,379],ao3400:66,aon_gpio:[103,267],aon_gpio_2:245,aon_gpio_4:245,aongpio:272,ap:[19,95,115,133,134,269,318,326,344],ap_readi:344,ap_start:344,ap_stop:344,apb1:214,apb:[253,293],api:[0,1,2,3,6,9,10,13,14,15,16,18,20,21,24,25,30,36,40,41,42,44,46,47,48,49,51,53,54,55,56,57,58,59,61,63,65,67,69,70,71,72,74,75,76,77,80,82,83,84,91,94,98,99,103,107,109,117,125,127,129,134,138,163,165,168,171,191,192,193,201,208,212,220,229,266,268,272,277,293,294,305,322,324,337,345,352,355,385],apiurl:72,apn:[29,268],app:[304,314,315,316,347,354],app_addr:347,appar:36,appear:[94,109,162,207,250,268,292,294,320,352,356,358,360,369,374,379],append:[30,379],appl:[162,378],appli:[115,162,165,273,329,353,379,381],applic:[24,26,73,91,98,115,162,164,165,167,202,203,204,205,211,212,220,243,255,268,274,294,314,315,320,329,369,378,379,381],appropri:[15,221,285,314,315,379],approx:[247,264],approxim:[99,243,379],april:162,apsta:134,apt:[166,314,315,321],ar:[0,1,4,9,11,13,14,16,18,21,23,25,26,30,31,34,36,37,39,53,57,60,66,68,72,73,86,87,89,91,94,95,98,99,101,102,103,109,111,112,115,117,122,123,127,128,130,134,136,162,165,166,169,170,173,174,175,177,178,180,181,182,190,196,197,198,202,203,204,205,207,211,213,214,220,221,223,226,227,228,229,231,232,234,238,246,249,250,253,254,263,265,266,267,268,269,271,272,274,275,277,282,283,284,285,293,302,303,305,306,311,314,315,318,319,320,322,323,331,336,339,343,344,345,347,348,349,350,351,352,354,355,356,361,363,367,369,372,375,378,379,380,381,382,384,391],arab:162,arbitr:238,arbitrari:[106,300,346,378,379],arc:[138,163],arc_creat:162,arc_get_adjust:162,arc_get_angle_end:162,arc_get_angle_start:162,arc_get_bg_angle_end:162,arc_get_bg_angle_start:162,arc_get_max_valu:162,arc_get_min_valu:162,arc_get_typ:162,arc_get_valu:162,arc_is_drag:162,arc_part_ind:162,arc_part_knob:162,arc_part_main:162,arc_set_adjust:162,arc_set_angl:162,arc_set_bg_angl:162,arc_set_bg_end_angl:162,arc_set_bg_start:162,arc_set_bg_start_angl:162,arc_set_chg_r:162,arc_set_end_angl:162,arc_set_rang:162,arc_set_rot:162,arc_set_start:162,arc_set_start_angl:162,arc_set_typ:162,arc_set_valu:162,arc_type_norm:162,arc_type_revers:162,arc_type_symmetr:162,arc_type_t:162,architectur:[162,283,289],archiv:[55,95,318],arcsin:379,arctan:300,arctang:379,arduino:[217,218,284,293,295],are_first:379,area:[3,10,36,71,100,112,117,127,136,138,163,253,269,277,293,327,328,329,334,339,346,378,379],area_t:162,arg1:[29,168,326],arg2:[29,326],arg3:29,arg4:29,arg:[29,123,168,200,380,381],argn:29,argp:379,argument:[89,348,379,380,381],aris:378,arithmet:[29,121,379],ariyun:54,arm:[211,217,243,250,255,293,300,318],armcc:316,armink:[172,191,192,193],armmb:250,around:[127,162,211,356],arrai:[6,94,96,98,138,163,165,177,206,208,212,268,334,335,353,379],arrang:[162,282,289,339,360,378],array_id:71,array_len:162,arrear:268,arriv:330,arrow:162,artboard:10,articl:[99,162,235,247,268,285,304,326,381],as_identifier_:379,ascend:379,ascii:[334,339,353,378,379],asd8938kjjsidiajdl:378,asdfassdfasdfass:6,asdicagydausckfugdaflgscdabgsdbahhacbshbsd:378,asfb:334,asid:221,asin:168,ask:[138,163,349,351,381],aspect:[331,379],assembl:356,assert:[168,169,381],assert_fail:214,assert_param:214,assign:[67,94,115,127,138,163,168,250,334,381],assist:[255,311],associ:[162,312,348,379,381],assum:[21,85,269,304,318,331,379],assumpt:[311,379],asymmetr:[162,170,358],async:[29,336],asyncget:336,asynchron:[10,54,94,98,134,202,203,204,205,212,220,268,305,348],atan2:379,atan:168,ate:378,ath10:311,ath20:311,ath:311,atla:162,atom:255,attach:[11,36,94,212,216,220,228,236,238,249,250,252,258,267,297,298,300,336,363],attach_fil:317,attempt:379,attent:[26,58,59,66,68,73,78,79,100,115,123,162,210,212,220,238,248,250,255,272,274,287,291,293,323,349,351,352,358,372,393],attribut:[98,162,268,379],audio:[4,29,103,121,238,265,268,273,277,381],audio_format:[4,29],audio_id:1,audio_play_stop:268,august:162,aut:162,auth:[29,133],auth_password:29,auth_user_nam:29,authent:[24,29,94,95,121,268,344],author:[210,348,379],authstat:54,auto:[29,95,133,134,138,163,376],auto_del:89,auto_format:29,auto_phone_fix:[29,268],auto_reconnect:29,auto_reset_stack:29,autocollectmem:29,autofit:162,autoflush:29,autoguessencod:210,autohint:162,autolong:29,automat:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,122,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,163,207,211,212,217,218,220,221,226,232,248,250,253,268,269,272,277,293,301,302,311,321,326,344,348,358,360,361,363,369,372,374,375,376,378,379],autoreconn:29,autosav:369,aux_rx:272,aux_tx:272,aux_uart:266,auxiliari:[94,168,271,293],avail:[0,1,10,14,18,21,57,73,92,96,98,103,109,117,120,128,129,130,134,162,201,212,238,247,251,260,264,267,268,272,273,282,284,294,311,312,314,315,347,355,363,369,378,379],avd33:238,averag:[93,221,363,372,374,379],average_temp:29,avoid:[66,238,250,255,268,272,284,289,312,348,358,372,379],awai:[59,165,221,238,250,379],await:336,awaken:[103,122,226,232,381],awar:255,awem:384,awsl:378,axi:[54,127,162,369],azimuth:39,azur:210,b2:353,b5:292,b6:292,b6_esp32s3:292,b:[10,29,39,50,71,76,94,99,101,109,120,122,124,136,212,220,314,315,320,334,335,348,353,355,378,379,380,381,382],b_hd:10,b_v2:10,b_v3:10,b_xy_:379,ba:292,bacground:162,back:[1,3,29,89,95,128,136,162,203,204,205,212,220,268,289,293,320,334,348,360,372,378,379],background:[36,72,119,127,162,217,243,253,268,293,299,349,350,379],backlight:36,backparenthes:379,backslash:[378,379],backspac:379,backtrac:379,backtrack:379,backup:266,backward:[128,130,136,162,243,334,376,378,379],bad:[24,336,379],bai:250,baidu:[29,39,54,214,248,301,317,320],baiduyun:[55,268],balabala:[305,382],balanc:[103,379],banana:[162,358,363,373,378],band:[29,96,134,243,379],bandrat:29,bandwidth:[86,87,260],bandwidthafc:[86,87],baobao:277,bar1:162,bar:[138,163,212,214,248,301,376,379],bar_creat:162,bar_part_bg:162,bar_part_ind:162,bar_set_anim_tim:162,bar_set_rang:162,bar_set_start_valu:162,bar_set_typ:162,bar_set_valu:162,bar_type_symmetr:162,barabala:[305,336,348],bare:[93,331],base32:[6,120],base64:[6,120],base64_decod:29,base64_encod:29,base:[14,18,29,54,66,68,94,96,108,118,123,138,163,168,172,209,210,212,217,218,238,247,250,255,264,266,268,269,284,289,293,294,295,302,306,318,321,322,325,333,347,352,354,372,378,385],base_year:29,bash:321,basi:[347,381],basic:[11,16,29,121,130,133,149,162,166,168,177,191,192,193,208,238,243,247,255,268,273,277,293,304,323,324,331,337,338,339,345,348,349,351,358,363,373,374,380],bat:[29,316,317,318],batch:[72,248,250,268,269,274,289,356,379],batt:376,batteri:[10,162,189,211,212,238,369,372,373,374,385],baud:[13,54,82,106,117,128,180,181,202,203,204,205,207,212,220,221,225,231,234,260,266,268,284,289,294,343,347,354],baud_rat:29,bb:292,bbb:378,bbbbbb:[212,220],bc:10,bd09:39,bd:39,bdata:6,beacon:98,beauti:[162,212,220],becaus:[4,24,58,64,66,89,109,117,162,170,178,212,220,250,255,266,268,277,284,294,305,339,353,360,369,372,377,378,379,381,393],becom:[39,98,100,103,162,210,268,376,377,378,379,381],been:[4,9,11,16,27,31,39,58,66,89,94,95,98,109,110,115,123,133,134,137,162,170,255,268,272,284,285,294,305,309,355,356,378,379],befor:[1,10,11,12,13,26,36,66,91,92,94,95,98,103,108,115,117,127,134,162,166,172,191,192,193,196,197,198,201,207,212,218,220,221,226,232,234,235,248,250,255,266,268,269,272,277,284,285,289,304,314,315,346,348,354,363,369,378,379,381,394],began:[212,220],begin:[4,26,29,31,101,103,136,162,203,204,205,207,212,213,220,226,232,250,255,304,318,323,334,348,363,378,379,381],beginn:[355,381],behalf:[24,238],behav:379,behavior:[162,326,348,379],behind:379,beidou:[211,266],being:[25,128,162,169,210,220,221,250,255,292,330,331,363,372,376,378,379,381],believ:212,bell:379,belong:[27,162,266,282,330,348,379,381],below:[66,127,162,169,212,220,221,238,250,255,314,315,330,361,363,369,372,374,378,379,381],benchmark:[68,89],benefit:381,besid:162,best:[318,323,326,358,378,379],better:[11,12,94,162,212,220,304,378,380,381],between:[1,36,58,66,91,127,136,162,173,174,175,177,183,196,197,198,203,204,205,208,211,212,222,227,234,250,253,256,265,266,267,268,269,289,293,300,319,326,335,339,341,356,358,363,369,376,378,379,381],bg_drag_dir:162,bg_grad_stop:162,bg_main_stop:162,bg_opa:162,bh1750:54,bh1750_data:46,bh1750_read_light:46,bi:[2,212,273],bia:29,bias_onefourth:37,bias_onehalf:37,bias_onethird:37,bias_stat:37,bidirect:[162,173,174,175,212,220],bif:[253,293],big:[28,101,115,117,128,136,162,210,266,294,378,379],bigd:18,bigdata:[12,92],bigger:285,biggest:379,bilater:340,bilibili:209,bilingu:[363,376],bin:[15,16,24,82,89,99,162,255,312,317,318,346,347,354,379],binari:[30,35,38,96,98,104,107,120,162,202,209,354,379],bind:[29,379],binfil:[59,250,354],binop:379,binpkg:274,bit0:91,bit32:379,bit64:[29,91,121,268],bit7:26,bit:[1,4,6,10,20,21,26,27,29,35,36,37,66,71,73,78,79,91,96,107,121,127,128,162,165,168,173,174,175,196,197,198,202,203,204,205,212,220,243,253,254,260,284,289,293,299,300,305,335,342,343,361,372,375,378,398,401,404],bit_ord:29,bitdict:29,bitmap:[10,36,127,162],bits_per_sampl:[4,29],bitw:[29,347],bitwis:379,biu:378,biubiu:378,biubiubiu:378,bl:[212,220,347,354],bl_addr:347,black:[10,89,268,303,360],blackbodi:327,blank:[89,91,94,115,120,131,136,334,378,379],ble:[29,121,260,282],blend:162,bless:266,blink:[138,163],blob:[269,292,352],block:[16,17,26,27,29,54,71,92,117,121,125,162,168,177,191,192,193,208,248,253,268,293,305,329,336,343,348,378,381,382],block_:379,blood:90,blue:[36,301],bluepil:[248,249],bluepill_pcb:[253,293],bluetooth:[29,121,211,257,289,293,356,374],bme280:54,bme680:54,bmp180:54,bmp280:54,bmp:268,bmx:54,bmx_data:47,bmx_data_data:47,bnf:379,boad:284,board:[1,10,73,78,169,170,171,172,173,174,175,178,179,180,181,182,184,185,186,187,189,190,191,192,193,195,196,197,198,200,201,202,203,204,205,207,208,209,212,217,218,220,221,223,224,228,229,236,237,242,246,248,252,253,258,259,263,268,271,280,285,286,287,290,291,292,295,298,299,301,331,355,358,360,363,372,385,387,393,394,395,405],board_v1:222,boardguid:[273,294],bodi:[25,29,38,59,330,378,379,381],body_len:24,bold:348,bom:[223,228,236,392],bond:379,book:[218,268,379,393,395],bool:[10,13,14,18,19,25,26,30,32,33,36,37,39,40,41,42,44,46,48,49,51,53,56,57,58,62,63,64,65,66,67,69,70,71,72,74,75,76,77,80,82,83,84,89,90,91,93,94,95,96,97,98,99,100,104,106,107,108,110,113,114,120,123,124,126,128,130,132,133,134,136,137,172],boom:91,boost:393,boot0:[218,255],boot1:255,boot:[94,103,130,207,212,218,220,221,223,228,245,248,255,262,265,266,267,268,284,289,300,311],bootim:30,bootload:[218,347,354],bootmod:[282,284],bootstrap:[253,293],boottim:30,border:[127,162],border_sid:162,bore:379,born:250,boss:293,both:[21,31,94,162,207,221,238,255,266,267,272,311,318,320,343,348,358,379],bottom:[1,10,16,24,29,36,39,59,73,78,95,96,103,106,109,115,121,127,162,207,212,235,269,272,330,358,363,369,372,378,379,382],bottom_fit_typ:162,bounc:89,bound:[136,162,379],boundari:[162,323,324,337,338,345],box:[36,127,138,163,303],boyfriend:165,bpp:[29,162],brace:379,bracket:[378,379],bracket_:379,bracketpair:210,bracketpaircolor:210,brackets_ar:379,brain:[311,320],brake:[253,293],branch:[209,348,379],brand:[358,363,372,373,376],breakpoint:[326,379],breath:[67,177,188,208,212,220],bri:54,bridg:292,briefli:[212,220],bright1:[78,79],bright3:78,bright5:78,bright8:[78,79],bright:[77,78,79,138,163,165,185,186,187,212,220,360,374],brightest:162,bring:[162,382],broadcast:[98,134,344],broken:[123,360],brought:[26,212,220],browser:25,brush:[10,78,79,96,99,207,212,217,224,229,235,237,246,250,263,266,269,271,282,287,291,293,304,310,314,315,318,320,347,349,351,356,369],bs:57,bsd:379,bsp:[23,26,29,102,118,121,134,166,169,229,268,273,293,302,316,317,318,321,322,347],bssid:[134,344],bt:[122,355,379],bt_cb:122,bt_readi:122,btn1:162,btn2:[89,162],btn3:162,btn:[89,138,163,212,220],btn_bw0:127,btn_bw1:127,btn_bw2:127,btn_bw3:127,btn_creat:[89,162,212,220],btn_get_stat:162,btn_hcenter:127,btn_id:162,btn_index:162,btn_inv:127,btn_part_main:162,btn_set_check:162,btn_set_fit2:162,btn_set_fit:162,btn_set_layout:162,btn_set_stat:162,btn_shadow0:127,btn_shadow1:127,btn_shadow2:127,btn_state_:162,btn_state_checked_dis:162,btn_state_checked_press:162,btn_state_checked_releas:162,btn_state_dis:162,btn_state_pr:162,btn_state_press:162,btn_state_releas:162,btn_state_t:162,btn_str:162,btn_toggl:162,btn_xframe:127,btna:162,btnb:162,btnm1:162,btnm:162,btnm_ctrl:162,btnm_ctrl_:162,btnm_ctrl_no_repeat:162,btnm_ctrl_tgl_enabl:162,btnm_map:162,btnmatrix:[138,163],btnmatrix_:162,btnmatrix_clear_btn_ctrl_al:162,btnmatrix_cr:162,btnmatrix_ctrl_check:162,btnmatrix_ctrl_check_st:162,btnmatrix_ctrl_click_trig:162,btnmatrix_ctrl_dis:162,btnmatrix_ctrl_hidden:162,btnmatrix_ctrl_no_repeat:162,btnmatrix_demo:162,btnmatrix_get_active_btn_text:162,btnmatrix_part_bg:162,btnmatrix_part_btn:162,btnmatrix_set_btn_ctrl:162,btnmatrix_set_btn_width:162,btnmatrix_set_map:162,bu:[1,26,36,40,41,42,44,45,46,48,49,53,56,62,64,65,66,69,70,75,76,80,90,91,93,110,111,112,173,174,175,195,196,197,198,202,203,204,205,212,220,238,243,250,253,293,324,325,331,333,336,337,345,363],bucket:378,buf:[16,128,162],buf_siz:162,buff2:29,buff:[4,11,27,29,31,36,54,63,71,89,94,111,117,165,166,334,335,379],buff_mod:29,buff_siz:[29,166],buffer:[3,10,29,36,60,89,115,127,128,162,203,204,205,212,220,255,268,324,337,343,345,379],buffer_offset:268,bug:[162,250,255,360,367,369],bui:[250,356,358,363,366,372,374],build:[162,209,210,217,269,293,302,307,309,311,314,315,316,318,321,322,347,379,384],build_at:347,build_bi:347,build_cmak:302,build_host:347,build_system:347,builddat:29,built:[13,59,89,103,109,115,162,171,178,179,200,211,212,218,220,238,243,251,255,260,266,268,269,284,289,299,300,323,328,336,339,352,379,381],bulk:387,bullet:162,bunch:[266,348],buoi:[138,163],burden:238,burn:[169,208,209,217,221,224,229,235,237,246,249,250,253,263,271,285,287,289,293,299,300,310,311,358,363,373,374,376],burner:[253,293],bus_dac:1,bus_i2:1,bus_soft_dac:1,bus_typ:29,bus_voltag:53,busi:[10,36,86,87,95,112,132,134,253,269,293,303,305,381,394],button:[126,127,138,163,207,210,212,213,214,218,220,221,229,238,248,250,265,266,267,284,292,293,301,358,360,363,369,373,376],bv1vf4y1l7rb:209,bv2:10,by_clean:379,bypass:379,byte0:354,byte1:354,byte2:354,byte3:354,c1:162,c1c2c3:[20,268],c1c3c2:20,c3:[284,286,293,349,351],c3_pcb:[287,293],c99:162,c:[10,29,36,47,76,99,101,109,120,121,122,128,162,168,208,212,217,220,238,248,255,284,289,292,293,301,314,315,318,320,324,331,337,338,345,349,351,353,354,356,358,363,367,372,374,377,378,395,407],c_n_:379,ca:[19,24,59,95,115],ca_fil:29,cabl:[207,212,220,292,358,360,363,373,388],cach:[11,16,27,60,114,115,128,243,255,268,343,379],cache_s:29,cal:54,calchum:[173,174,175],calctemp:[173,174,175],calcul:[0,6,20,71,91,92,136,162,177,183,208,212,220,254,268,300,378,379],calculate_crc:54,calendar:[138,163,393,395],calendar_:162,calendar_cr:162,calendar_date_t:162,calendar_get_pressed_d:162,calendar_part_bg:162,calendar_part_d:162,calendar_part_day_nam:162,calendar_part_head:162,calendar_set_highlighted_d:162,calendar_set_showed_d:162,calendar_set_shown_d:162,calendar_set_today_d:162,calibr:[53,255,361,372,375],call:[1,3,16,26,30,36,39,43,57,59,66,72,73,95,98,103,104,106,109,122,124,127,134,162,168,191,192,193,207,211,229,249,250,253,268,272,277,293,301,303,304,305,323,330,331,332,336,340,342,343,344,347,348,352,381,382],call_:379,callabl:348,callback:[1,3,24,25,26,27,39,57,59,66,79,87,89,95,98,114,115,117,122,123,124,128,133,162,177,202,206,208,212,220,268,272,305,325,330,336,340,343,344,348,380,381],callbacktest:380,called_cal:379,called_catch_:379,called_collabor:379,called_empti:379,called_environ:379,called_glob:379,called_iter:379,called_objects_in:379,called_terminator_:379,called_upp:379,caller:379,calorif:372,cam:91,cam_vcc:[103,268],camera:[29,103,121,289,293,348,355,386,395],camera_id:3,can:[0,1,2,3,5,6,8,10,11,12,13,15,16,18,19,21,22,23,26,27,30,31,32,35,36,39,54,55,57,58,59,60,66,68,72,73,78,79,85,86,89,91,92,94,95,96,98,99,102,103,106,107,108,109,111,112,114,115,116,117,122,123,124,127,128,130,131,133,134,136,138,163,165,166,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,210,211,212,213,214,217,218,220,221,226,232,235,238,243,247,248,249,250,251,253,254,257,260,262,266,267,268,269,272,273,274,275,277,282,284,285,289,292,293,295,300,301,302,303,305,310,311,312,313,314,315,318,319,320,321,322,323,326,327,330,331,332,335,336,339,341,346,348,349,351,352,353,354,355,356,358,361,363,366,367,369,372,374,375,376,377,378,379,380,381,382,385,388,393,394],can_500kbp:63,can_rx:255,can_tdhxr:255,can_tdtxr:255,can_tx:255,cancel:[66,94,108,130,272,358,363],cannot:[11,12,14,18,25,26,31,63,66,68,72,92,94,99,100,103,107,109,111,115,117,122,132,162,170,202,208,212,218,220,221,235,238,250,253,254,266,268,269,272,273,274,277,284,289,293,294,304,305,314,315,318,320,330,336,348,353,358,360,363,369,378,379,380,381],canva:[138,163],cap:[221,358],capabl:[23,115,162,211,238,266,272,284,294,345,378],capac:[115,191,192,193,212,220,238,255,268,376],capacit:[221,238],capacitor:[221,238,372],capend:29,capit:162,captur:[29,162,168,255,356,361,363,369,372,374,375],capture_buff:29,capture_cnt:31,card:[1,13,15,24,54,60,94,109,110,114,115,123,130,162,166,212,220,238,253,268,273,289,292,293,319,328,352,378],care:[72,94,221,355,372,379],carefulli:[91,94,360,372,378,379,381],carri:[39,284,289,356,367,372,374,379],carriag:[106,378,379],carrier:33,carry_method:379,casual:[212,220,380],cat1:91,cat:[266,273,275,355,385],catalog:[210,320],catalogu:312,categori:[168,269,391],caught:[287,293,379],cauliflow:381,caus:[11,13,18,26,94,115,162,221,250,255,257,268,284,289,305,306,319,358,360,378,379],caution:[43,89],cb:[29,79,138,163,305,335,336,381],cb_is_inact:162,cbc:[6,20,170,275],cbfnc:[54,382],cbfun:29,cbt6:250,cc1:360,cc2:360,cc:[358,361,363,366,367,369],ccc:[221,378],ccccc:221,ccitt:6,ccm:275,cd:[29,302,317,320,378],cdata:[12,92],cdc:[207,250,273,284,289],cdma2000:275,cdn:[210,216,228,236,238,249,252,258,267,297,298,300,319],cdup:19,ce:[54,96],cede:379,ceil:168,cele:379,celevel:29,cell:[94,96,123,138,163,268],cell_info_ind:96,cell_info_upd:94,cell_typ:[138,163],cellid:[29,268],cellinfo:268,cellular:[29,115,121,356,374],celsiu:[0,26,45,111,268],cen:255,center:[10,36,127,136,162,266,277],central:[98,300],certain:[31,50,67,103,136,162,170,207,212,220,292,358,378,379],certainli:[378,381],certif:[19,24,55,59,95,115,268],cf:379,cfg_addr_ord:98,ch0:8,ch2o:54,ch340:[294,385],ch343:[106,207,284,289,385],ch343p:289,ch:29,ch_cpu:0,ch_vbat:0,chain:[213,269,306,322],chang:[21,37,86,91,94,103,123,127,131,136,138,163,168,170,171,178,208,212,220,250,255,257,266,268,271,272,285,293,304,309,311,314,315,320,324,331,337,345,348,356,363,366,369,376,378,380,381,405],changelog:[271,293],changelog_luato:269,changer:162,channel1:255,channel3:[253,293],channel4:255,channel:[0,1,4,8,29,31,86,87,98,110,122,131,162,169,173,174,175,177,185,186,187,199,203,204,205,208,212,218,234,243,254,255,260,267,272,289,294,300,326,344,348,356,361,374,375],channel_map:29,chapter:[169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,212,220,255,323,360,378,379],char_arrai:162,charact:[29,71,72,91,92,94,96,98,99,104,120,121,127,130,134,136,138,163,168,202,203,204,205,212,220,221,268,314,315,318,319,339],character_:379,character_x_:379,character_x_itself:379,characterist:[1,98,202,203,204,205,212,220,233,238,271,293,347,379],charg:[36,103,162,211,237,250,293,356,358,363,366,372,373,374,381],charge_vbat:238,charge_vcc:238,charger:[356,360],charpattern:168,chart:[72,138,163,217,224,293],chart_add_cursor:162,chart_add_seri:162,chart_axis_:162,chart_creat:162,chart_cursor_non:162,chart_cursor_t:162,chart_get_nearest_index_from_coord:162,chart_get_point_count:162,chart_get_point_id:162,chart_get_series_area:162,chart_get_typ:162,chart_get_x_from_index:162,chart_get_x_start_point:162,chart_get_y_from_index:162,chart_init_point:162,chart_part_bg:162,chart_part_cursor:162,chart_part_seri:162,chart_part_series_bg:162,chart_point_def:162,chart_refresh:162,chart_set_cursor_point:162,chart_set_div_line_count:162,chart_set_ext_arrai:162,chart_set_next:162,chart_set_point:162,chart_set_point_count:162,chart_set_point_id:162,chart_set_rang:162,chart_set_typ:162,chart_set_update_mod:162,chart_set_x_start_point:162,chart_set_x_tick_length:162,chart_set_x_tick_text:162,chart_set_y_tick_length:162,chart_set_y_tick_text:162,chart_type_:162,chart_type_column:162,chart_type_lin:162,chart_type_non:162,chart_u:162,chart_update_mode_:162,chart_update_mode_circular:162,chart_update_mode_shift:162,chat:106,cheat:[358,360],check:[1,6,10,12,20,26,29,31,36,72,89,92,94,106,107,111,112,115,120,127,128,138,163,191,192,193,203,204,205,207,210,212,214,220,221,234,235,248,249,250,255,289,294,301,307,308,309,311,314,315,318,322,328,343,346,353,360,372,378,379,381],check_sim_period:29,check_valu:29,checkbox:[138,163],checkbox_:162,checkbox_cr:162,checkbox_is_check:162,checkbox_part_bg:162,checkbox_part_bullet:162,checkbox_set_dis:162,checkbox_set_text:162,checkout:317,checkpoint:[314,315,320],checksum:[29,128],chef:381,cheng:165,chenxuuu:[327,336,341,342,343],chestnut:330,chi:66,child:162,children:162,china:[29,32,55,121,266,268,273,275,299],chines:[10,36,127,162,171,210,212,220,271,293,294,318,320,334,363,376,378],chip:[0,13,16,21,26,29,36,54,59,66,89,103,106,112,121,127,169,176,183,187,188,189,190,191,192,193,194,196,197,198,199,202,206,207,209,211,212,213,216,217,220,221,224,226,227,229,232,237,242,248,249,250,252,253,259,262,264,266,272,273,280,284,286,289,296,297,298,299,301,318,319,320,341,347,348,352,354,355,358,360,361,366,375,380,385,390,395],chip_check:54,chip_id:66,chiperas:29,chipid:[196,197,198],chmod:379,choic:[214,248,301,326,378],choos:[78,79,123,162,197,198,207,212,217,220,221,243,255,268,293,355,379],chooser:[138,163],chr:98,chr_f_notifi:98,chr_f_read:98,chr_f_write:98,chr_f_write_no_rsp:98,chr_uuid:29,chrome:162,cht8305c:54,chuang:267,chunk:[168,268],chunknam:168,ci:[213,302],cid1:268,cid:29,cillum:162,cipher:[6,271,293],cipher_decrypt:[29,170],cipher_encrypt:[29,170],cipher_list:29,cipher_suit:[29,275],circl:[29,36,127,136,162,212,220,356,379],circuit:[78,79,169,185,186,187,212,220,224,237,251,254,255,289,292,293,358,361,372,374,375,379,393],circular:162,circularli:162,circumst:[221,292],circumv:[378,379],citizen:379,citizens_:379,citron:162,cjk:162,ck:6,clamp:358,class_i:379,classic:[162,207,284,385],classif:[271,293,321,355,379],classmat:210,clean:[114,120,138,163,268,379],cleanmsg:29,cleansess:29,cleanup:[120,336],clear:[11,14,29,54,68,71,91,94,95,96,114,124,127,128,162,171,209,253,268,282,293,334,363,369,372,379,381],clear_bit_mask:54,clear_btn_ctrl:162,clearbuff:29,cleardownlink:29,clearli:[162,212,220,268,356],clearlong:[29,268],clearuplink:29,cli:312,click:[0,1,2,3,4,6,7,8,9,10,11,13,14,16,17,18,19,20,21,23,24,25,26,27,28,29,30,31,32,33,34,35,36,38,39,45,54,58,81,86,87,89,94,95,98,100,101,103,104,105,107,108,113,114,115,117,118,119,120,122,127,128,130,131,132,133,134,136,162,207,210,212,213,214,235,248,250,274,301,302,311,313,314,315,318,320,360,367,369,372,377,379,406],clickabl:162,client:[25,29,59,60,98,115,121,134,306,356,358,360,361,363,367,370,372,374,375,376,379],client_ca:29,client_cert:[19,29,54,95],client_id:[29,32],client_kei:[19,29,54,95],client_password:[19,29,54,95],clientid:95,clip:[120,162,358,360,373],clk:[29,54,191,192,193,196,197,198,212,220],clk_24m:238,clk_27p12:238,clock:[29,31,54,73,78,79,91,103,111,121,127,128,162,168,180,181,189,196,197,198,212,214,218,220,221,226,232,237,243,248,250,253,254,272,284,293,300,301,333],clock_source_to_output_on_mco_pin:251,clockwis:[39,50,162],clone:[314,315,316,317,318],close:[12,29,30,39,43,54,68,90,94,98,106,130,138,163,166,168,169,173,174,175,191,192,193,196,197,198,212,220,221,238,251,253,268,293,326,331,340,342,343,344,348,369,372,374,382],close_btn:162,close_watch_dog:54,closef:379,closest:162,closur:[21,168,305],closure_:379,cloud:[1,5,10,15,29,36,54,121,207,212,220,257,268,269,272,277,314,315,320,385],cloud_compil:36,cloudc:54,clutter:268,cmake:302,cmakelist:320,cmd:[29,31,162,251,254,311,318,320,326,341],cmd_cnt:29,cmi_mm_disable_edrx:96,cmi_mm_disable_psm:96,cmi_mm_discard_edrx:96,cmi_mm_discard_psm:96,cmi_mm_edrx_nb_iot:96,cmi_mm_edrx_no_act_or_not_use_edrx:96,cmi_mm_enable_edrx_and_disable_ind:96,cmi_mm_enable_edrx_and_enable_ind:96,cmi_mm_enable_psm:96,cmiot:94,cmsi:[217,248,249,250,255,293,301],cn:[24,52,57,68,72,103,133,210,257,270,272,292,320],cnt:[29,136,162,253,293,380,381],co:[59,162,168,266,269,300,381,382],coap:[29,121],coapdata:29,code:[3,5,7,22,24,25,26,28,29,33,36,37,43,59,66,72,78,79,85,89,94,95,98,103,104,107,109,111,115,117,122,123,125,127,131,141,149,152,158,162,166,168,169,171,172,173,174,175,177,179,180,181,182,184,185,186,187,189,190,194,195,199,200,201,202,206,208,209,210,212,214,217,220,226,229,232,250,253,255,266,268,269,277,292,293,299,306,312,314,315,321,323,327,331,332,334,335,336,339,340,342,343,344,347,349,351,353,358,360,363,380,381,382,388],codec:[29,103,121,265],codepoint:168,coder:[29,86,87],col:162,col_cnt:162,col_id:162,cold:[212,289],collabor:381,collat:379,colleagu:162,collect:[86,87,109,168,169,250,255,291,293,330,378],collectgarbag:168,collector:379,collector_to:379,collis:71,colon:[77,378],colon_syntax:379,color:[29,54,89,127,138,163,165,212,277,293,395,398,401],color_arrai:162,color_blu:162,color_hex3:162,color_mak:162,color_mode_hu:162,color_orang:162,color_purpl:162,color_transp:162,colro:162,column:[138,163,348],com0:[37,230,354],com1:[37,230],com2:230,com3:230,com8:311,com:[11,24,29,36,39,54,57,59,68,89,99,104,106,115,162,172,191,192,193,196,197,198,207,209,210,212,213,214,216,225,228,231,236,238,247,248,249,250,252,258,264,266,267,269,273,277,292,297,298,300,302,304,313,314,315,317,318,319,320,352,378,384,386,387,394,396,398,399,401,402,404,407],com_mark:29,com_numb:29,combat:209,combin:[98,197,212,214,221,255,268,282,318,354,360,378,379,381,385],come:[66,123,162,212,238,243,284,318,326,374,378,379,381],comfort:374,comma:[54,210,326,378,379],command:[3,10,29,31,36,54,86,103,104,127,162,168,176,177,191,192,193,208,212,220,266,285,302,318,326,349,351,356,361,369,372,374,375],comment:[136,212,220,255,314,315,320,348,379],comment_:379,commerci:[162,269],commiss:[324,337,345],commit:[268,348],commodo:162,common:[24,64,73,78,79,91,95,98,115,131,133,138,163,170,207,218,223,228,255,267,273,284,300,319,331,341,349,350,354,356,378,379,383],commonli:[128,134,165,178,212,220,221,255,268,282,378],commun:[66,71,103,133,162,173,174,175,195,196,197,198,202,203,204,205,211,212,218,220,243,249,255,260,273,284,293,324,337,342,343,345,353,355,358,363,373,374,376,379],comp:168,compact:378,compar:[91,136,218,255,300,358,378,379],comparison:[18,136,168,238,253,293,300],compat:[18,20,66,68,91,92,98,128,162,190,207,212,220,243,247,253,254,255,257,260,268,273,289,295,296,379,393,405],compens:372,competit:372,compil:[0,5,10,15,36,39,64,98,103,106,109,134,162,207,209,214,217,220,248,257,268,269,272,277,283,284,285,293,301,304,339,349,351,378,379,385],complain:363,complement:[29,121,378,379],complementari:[243,300],complet:[1,5,16,18,26,31,60,66,72,87,94,95,98,102,103,110,115,117,123,128,135,162,173,174,175,202,203,204,205,212,214,218,220,221,227,228,229,231,248,250,255,266,268,269,285,292,300,301,302,305,308,311,320,331,343,349,351,354,356,369,378,379,380,405],complex:[211,268,378],compliant:243,complic:[178,212,220,381],complimentari:373,compon:[36,89,138,163,169,212,220,248,269,292,318,320,345,355],compos:[120,162,378],composit:[250,354,379],compound:379,compress:[3,25,29,121,162,166,268,269,300,318,319,347,354],compressor:92,compromis:379,comput:[107,207,212,218,220,249,253,257,268,292,293,314,315,318,319,327,356,358,363,369,372,374,378],compute_adler32:92,comxx:250,con:[7,38],con_rel:7,conack:[95,133],concat:[168,212,220],concaten:[168,378],conced:379,concentr:83,concept:[138,163,168,336,378],concess:379,concis:[306,377,378],concord:122,concorout:122,concret:16,concurr:268,cond:379,condit:[162,165,238,255,268,277,300,326,379,381,382],condition:220,conf:[29,54,162,217,293,312,323],conf_ce_mod:94,conf_psm_mod:94,conf_qualityfirst:94,conf_reseltoweakncel:94,conf_sim_wc_mod:94,conf_staticconfig:94,conf_t3324maxvalu:94,conf_userdrxcycl:94,conf_xxx:94,confess:165,confid:360,confidenti:282,config:[29,54,168,268,285],configassert:255,configprio_bit:255,configur:[1,8,9,11,21,24,25,35,39,40,53,55,63,65,67,72,74,86,87,91,94,95,98,103,109,115,126,127,128,131,133,162,178,208,214,220,221,223,228,238,243,248,253,254,266,267,268,269,271,284,287,289,293,300,301,305,312,313,314,335,336,342,343,379],confirm:[255,285,289,311,320,360],conflict:[94,268,272,319,379],conform:[104,162,274,318,379],conjunct:[123,381],conn:29,conn_mod:29,connect:[11,19,24,29,32,54,57,59,66,68,78,79,85,86,94,96,111,138,141,149,152,158,162,164,167,169,171,173,174,175,178,190,195,202,203,204,205,207,211,212,213,214,218,220,221,238,248,249,253,255,257,260,266,268,272,284,289,292,293,301,318,326,344,354,356,363,369,374,376,378,379],connect_config:54,connector:360,connok:29,conscienti:356,consectetur:162,consecut:[162,253,293],consequ:372,consequat:162,consid:[1,212,220,238,269,292,311,331,378,379],consider:[253,277,293],consist:[27,60,98,162,173,174,175,196,197,198,302,323,356,369,378,379],consol:[5,349,351],consola:210,consolid:162,constant:[18,29,54,162,268,324,337,338,339,345,348,379],constant_:379,constantli:379,constel:266,constraint:378,construct:[162,168,208,209,217,224,253,293,299,349,351],constructor:379,consult:[99,250,318],consum:[3,4,15,162,321,330,352,360],consumpt:[0,12,30,94,103,180,181,211,224,229,237,268,271,282,287,293,300,332,333,344,356,363,366,374,376,378,385],cont:[138,163,379],cont_creat:162,cont_part_main:162,cont_set_fit2:162,cont_set_fit4:162,cont_set_fit:162,cont_set_layout:162,contact:[54,94,221,255,319,356,384,387],contain:[30,36,91,94,95,96,98,101,104,123,138,163,173,174,175,221,243,250,268,269,314,315,318,320,325,378,379],contamin:250,content:[1,10,13,24,36,59,89,104,114,122,123,124,127,136,138,163,178,179,210,212,214,220,250,268,271,293,302,307,312,318,321,322,325,331,334,346,348,349,350,353,363,376,379],content_len:24,context:[72,98,210,305,379],continu:[0,1,3,27,29,103,105,115,162,185,186,187,209,212,220,221,226,232,253,266,268,293,305,313,329,332,339,358,363,369,378,379,381],contract:289,contrari:[207,212,378],contrast:[29,162,254,293],contribut:26,control:[1,13,26,29,43,54,66,67,69,71,72,89,103,117,121,128,138,163,165,168,173,174,175,177,185,186,187,199,208,212,220,221,238,243,248,249,250,253,254,266,268,272,287,291,293,294,299,300,306,341,344,354,356,373,374,378,381,383],convei:162,conveni:[162,196,197,198,212,220,284,289,335,344,355,358,369,379],convent:[25,168,267,305],convers:[2,13,20,29,98,104,120,121,128,138,163,168,169,180,181,182,202,212,238,243,253,268,289,293,294,348,349,350,385],convert:[0,2,28,34,39,54,57,72,91,104,107,120,134,136,162,165,166,169,173,174,175,177,183,196,197,198,202,208,212,220,255,268,326,353,378,379],cook:381,cool:[21,304],cooper:[35,36,116,123,361,372,375],coord_min:162,coord_t:162,coordin:[10,30,36,39,57,58,72,89,93,127,136,162,266,268,300,369,374,379,385],copi:[29,127,162,210,214,250,302,304,311,320,321,322,323,330,331,378,379],coprocess:379,coprogram:381,copybuff:[29,268],copyright:[162,166,318],core:[73,78,103,117,169,211,217,228,236,237,242,247,248,250,255,273,285,286,287,290,291,293,296,299,300,301,328,329,330,332,333,334,337,340,345,347,354,360,363,374,379,380,381,382,387,394,405,407],core_addr:347,core_v1103:268,coremark:[29,121,293,296],corner:[10,36,89,93,127,162,207,210,212,213,248,358,372],corout:[379,381],coroutag:379,coroutet:[379,382],corouti:379,coroutin:[40,41,42,44,46,47,48,49,51,53,55,56,57,58,59,61,63,65,67,69,70,71,74,75,76,77,80,82,83,84,168,378,381],correct:[10,21,26,36,39,108,127,268,304,314,315,318,320,360,378,379,381],correctli:[16,26,117,268,272,378,379],correl:[271,293],correspond:[1,3,6,10,14,18,20,21,28,35,36,37,39,50,57,72,78,79,85,93,96,102,103,106,112,122,126,127,131,162,169,172,176,177,180,181,182,183,188,194,199,206,207,208,214,218,221,229,238,247,249,250,255,262,268,272,277,284,289,292,293,294,304,321,324,325,331,337,339,345,353,358,363,376,378,379,380,381,394,407],correspondingli:21,cortex:[218,250,300],cortextm:243,cosh:379,cosin:379,cost:[162,260,366],could:379,count:[29,50,77,96,123,126,136,168,195,200,213,253,268,293,339,363],counter:[94,123,126,255,289,300],counterclockwis:[50,162],coupon:250,courier:210,cours:[39,136,162,165,210,235,250,369,378,379,381],cover:[11,358],cp2102:[369,372],cp210x_windows_driv:369,cp:269,cpath:168,cpha:[13,29,66,166,342],cpicker:[138,163],cpicker_:162,cpicker_cr:162,cpicker_part_bg:162,cpicker_part_knob:162,cpicker_set_knob_color:162,cpin_is_readi:94,cpol:[13,29,66,166,342],cpp:104,cpp_out:104,cpu:[0,99,103,212,220,223,228,238,245,268,330,379,381],cr2:255,cr:[255,378],cr_opter_set:255,cr_strt_set:255,crash:[54,91,255,268,379],crc16:[29,101,254,346],crc16_modbu:29,crc32:29,crc7:[29,268],crc8:29,crc:[6,71,111,254,335],crc_modbu:335,crcon:[86,87],creat:[6,26,27,29,30,32,36,38,54,55,57,60,89,94,111,117,118,122,124,127,162,165,166,168,169,177,191,192,193,201,206,207,208,210,212,214,220,248,301,302,310,318,321,322,334,344,349,351,367,378,381,382],createap:29,createsoft:[29,64,268],creation:[95,133,134,136,162,191,192,193,268,311],creativ:355,critic:[138,163],crop:[138,163],cross:[138,163,269,324,337,345,379],crossov:255,crt:95,crypto:[29,98,101,107,121,177,208,268,275,296,335],crystal:[91,189,212,217,223,224,228,238,255,293,300],cs:[10,13,29,54,66,86,127,131,166,177,191,192,193,199,208,212,220,342],cs_gpio:[196,197,198],cs_pin:29,csdk:[207,267,272,277,294,295,319],csfb_not_preferred_regist:94,csfb_not_preferred_registered_roam:94,csk:63,cspin:[191,192,193],csq:29,css:162,csv:[285,369],ctiot:[29,121],ctr_lp:255,ctrip:169,ctrl:[29,210,369],ctrl_map:162,ctwing:268,ctx1:379,ctx2:379,ctx:[305,379],ctype:379,cubemx:[254,255],cuboid:378,culpa:162,cumul:[94,369],cupidatat:162,cur:379,cur_timestamp:29,curli:[378,379],current:[0,1,3,4,6,7,10,11,13,14,19,21,23,25,26,27,29,35,36,39,50,53,54,57,58,85,86,87,89,91,92,94,96,98,103,107,108,109,112,115,117,121,123,128,130,131,134,136,138,163,173,174,175,207,210,212,218,220,221,238,249,250,255,260,268,294,300,304,311,324,326,330,337,339,340,341,345,346,354,356,358,361,366,367,373,374,375,377,378,379,381,384,387],currentlin:379,cursor:[136,138,163,372],curv:[224,229,237,287,293,369,374],custom:[7,10,11,15,21,24,36,59,96,99,109,115,127,130,138,163,207,212,221,250,268,269,285,300,305,306,311,327,330,339,349,351,352,378,379],custom_id:29,custom_init:304,customiz:162,cut:[123,250,268],cute:379,cvcc:238,cwait:[124,305],cwait_id:305,cwait_mt:336,cwaitcreat:336,cwd:19,cycl:[7,31,37,94,95,98,105,109,128,133,162,177,179,185,186,187,201,202,206,208,209,212,220,253,293,300,331,333,372,379,380,381,382],cyclic:[224,229,237,287,293],d0:[251,254],d3102512a40000a:[223,228],d3:[251,254],d4:284,d5:284,d:[10,29,39,66,72,85,99,101,109,136,162,171,172,179,191,192,193,212,213,220,304,314,315,316,317,318,320,348,353,366,378,379],dac:[1,29,121,238,243,254,265,268,273,282,296],dac_en:[103,272],dacdelai:29,dacen:1,daclevel:29,dacpin:29,dactimedelai:29,dai:[39,57,68,99,108,162,189,211,212,314,315,320,377,378,379],daili:[190,212,220],dam:255,damag:[221,306,360,369,372],dap:[214,248,249,253,255,293,301,326],daplink:[213,214,248,249,253,254,293,301],daquan:395,dark_color:29,darken:162,darker:162,darkest:162,dat:[54,266],data0:255,data1:[29,172,200,255],data2:[6,29,172,200,255],data2_decrypt:170,data2_encrypt:170,data32bit:29,data3:[172,200],data4:[172,200],data5:200,data64bit:29,data6:255,data7:255,data:[3,11,13,16,19,22,23,24,29,31,33,35,40,41,42,44,45,46,47,48,49,53,54,56,57,58,59,60,61,62,63,65,66,68,70,73,74,75,76,78,79,80,81,83,84,88,89,93,101,103,116,118,121,122,123,134,138,163,164,166,169,170,173,174,175,177,178,187,191,192,193,195,196,197,198,200,202,206,208,209,210,211,212,217,218,220,221,224,229,237,242,246,249,250,253,254,259,263,266,268,269,271,272,277,280,284,287,291,293,297,299,300,303,305,318,323,324,325,326,327,331,334,336,337,341,342,343,345,346,347,348,349,350,352,354,355,356,361,367,372,374,375,379,380,381,388,391,393,398,401,404,407],data_bit:29,data_len:115,data_mod:29,data_repres:379,data_w:165,dataa:330,datab:330,databas:[29,54,121,177,208,294,346,379],databook:216,datal:255,datar:[86,87],datasheet:[223,228],datasheet_1:236,datatraff:29,dataw:29,date:[29,39,54,68,108,109,115,123,133,138,163,168,171,189,212,268,302,321,322,325,326,327,328,329,330,332,333,334,335,336,340,341,342,343,344,348],date_t:162,day_nam:162,daylight:379,db:29,dbg:[267,326],dbg_rx:272,dbg_tx:272,dc2dc:238,dc:[10,127,212,220],dcdc:372,dcim:294,dcmi:238,dcmis_data0:238,dcmis_data10:238,dcmis_data11:238,dcmis_data12:238,dcmis_data13:238,dcmis_data1:238,dcmis_data2:238,dcmis_data3:238,dcmis_data4:238,dcmis_data5:238,dcmis_data6:238,dcmis_data7:238,dcmis_data8:238,dcmis_data9:238,dcmis_hsync:238,dcmis_pix_clk:238,dcmis_vsync:238,dd:39,ddd:378,ddddd:39,ddddddd:39,ddddddddd:39,ddlist:162,ddmm:39,de:[264,379],dead:[243,268,300,356,378,379,381],deal:[353,379,381],dealer:94,death:221,debounc:[29,268],debug:[8,24,27,29,72,91,104,162,166,168,179,212,214,217,220,224,248,249,253,284,289,293,301,318,324,326,331,337,345,347,354,378,381,383,385],debugg:[213,214,218,248,249,250,255,301,324,337,345,379],debugge:249,dec:127,decemb:[57,162],decept:366,decid:[16,91],decim:[39,57,91,162,177,183,208,300,378,379],decis:361,declar:[162,168,304,335,378],decod:[1,3,6,29,107,120,162,196,197,198,243,255,268,334],decoi:[356,363,366,367,369],decompos:[353,379],decomposit:39,decompress:[12,29,92,121,166,207,269,294,314,315,318,319,354],decor:127,decoupl:272,decreas:[26,94,162,185,186,187],decrement:162,decrypt:[20,29,121,170,268],dedic:[55,91,117,162,211,267,268],deep:[103,224,229,237,266,268,272,293,300,318,334,379],def:[85,118,120,378,379],def_event_cb:162,defect:268,defens:268,defgroup:251,defin:[6,57,66,73,78,79,95,104,106,127,130,162,196,197,198,214,255,268,303,304,312,314,324,330,331,333,335,337,339,340,344,345,347,379,380,381,382],define_method_:379,definit:[104,136,162,168,211,212,217,220,221,229,237,248,287,291,293,300,304,314,331,348,349,350],defocus:162,deg:[65,162,168],degrad:221,degre:[0,10,26,39,45,111,162,220,268],deinit:29,del:29,del_len:136,delai:[1,29,39,67,89,111,122,128,131,162,173,174,175,177,180,181,182,189,201,208,212,213,220,253,268,293,325,330,333,341,343,356,361,374,375,381,382],delay1248:91,delay_u:255,dele:19,delet:[11,14,18,25,30,38,89,94,99,116,124,136,138,163,177,208,250,324,328,331,337,345,348,352,379,381],delimit:[29,379],deliv:[95,250],deliveri:[72,250,268],delta:[162,300],demand:[0,132,212,220,268,293,349,351,379],demo1:162,demo:[0,1,2,3,4,6,7,8,9,10,11,13,14,16,17,18,19,20,21,23,24,25,26,27,28,30,31,32,33,34,35,36,38,39,45,50,58,66,81,86,87,89,91,94,95,98,100,103,104,105,107,108,113,114,115,117,118,119,120,127,128,130,131,132,133,134,136,162,165,166,178,201,207,209,212,220,229,254,268,269,277,284,289,293,294,305,312,348,352,386,393,395,396,399,402,405,407],demo_benchmark:29,demo_keypad_encod:29,demo_mus:29,demo_print:29,demo_stress:29,demo_widget:29,demonstr:[23,57,107,134,162,201,203,204,205,214,235,305,360,378],deni:94,denot:379,densiti:378,depart:268,depend:[10,23,26,37,91,94,98,99,103,115,128,162,238,248,266,294,306,321,331,333,346,379],deploi:72,deprec:379,depth:[89,136,378,379],der:20,dereg:123,deriv:[96,162,379],describ:[138,141,149,152,158,162,163,164,172,173,174,175,177,180,181,182,185,186,187,191,192,193,196,197,198,200,201,203,204,205,208,257,272,307,323,326,356,369,374,379,381],descript:[7,72,109,115,127,138,163,165,210,212,220,221,229,238,247,251,253,254,266,271,287,291,293,325,339,345,349,350,353,363,378,379,381,394],descriptor:162,deselect:162,deseri:34,deserunt:162,design:[53,169,186,190,197,198,203,204,205,212,220,223,224,228,229,236,237,250,251,253,254,255,258,266,269,272,282,284,289,293,295,324,325,327,331,336,338,345,350,361,372,375,378,379,394],desir:[39,162,379],despit:379,destroi:[162,378,379],destruct:306,detach:94,detail:[14,27,32,35,57,72,96,98,103,115,116,127,134,162,165,218,238,250,254,255,266,268,269,284,300,331,339,356,374,379,381],detect:[74,79,86,94,212,220,238,243,268,272,300,311,360,378,379,381,383],determin:[26,27,30,59,65,66,94,95,96,103,109,114,133,162,212,220,255,327,330,331,341,348,358,366,369,378,379,381,382],dev:[118,321],develop:[5,23,26,29,36,39,72,99,118,121,145,162,163,164,167,169,170,171,172,173,174,175,177,178,179,180,181,182,184,185,186,187,189,190,191,192,193,195,196,197,198,200,201,202,203,204,205,207,211,212,214,217,218,221,223,224,228,229,236,237,242,246,248,252,253,254,258,259,260,263,268,271,272,273,280,286,287,290,291,292,295,298,299,301,306,344,345,348,355,378,380,381,382,383,385,393,394],deviat:294,devic:[0,4,5,10,11,13,21,22,26,32,36,54,55,65,66,68,72,74,86,87,89,91,95,96,98,103,105,106,107,109,110,111,113,128,130,132,134,138,163,166,173,174,175,177,183,194,199,207,208,211,212,217,220,238,248,249,251,253,255,268,269,277,293,301,311,312,326,331,342,343,344,347,352,354,355,356,358,361,363,366,373,374,375,376,379],device_clos:[196,197,198],device_id:[29,133],device_kei:29,device_nam:[29,55],device_secret:29,device_setup:117,devicesetup:[10,29,36,87,113,166,191,192,193,196,197,198,212,220],devlog:11,dfp:[253,293],dfu:363,dgps_age:39,dhcp:[131,134,344],dhcp_enabl:29,dhe:275,dht11:111,dht12:[26,111],dht1x:29,dht30:26,di:[191,192,193,196,197,198],diagram:[66,169,171,173,174,175,178,202,212,217,220,221,224,238,248,249,250,267,293,295,301,358,381,393,395,407],dial:[358,360,363],did:[104,255,293,327,381],didn:378,diff_tick:91,differ:[10,12,18,21,23,36,39,83,84,85,91,94,95,98,99,103,111,127,128,136,162,177,179,183,185,186,187,197,208,212,220,221,227,228,229,231,238,253,254,265,266,268,269,272,273,277,284,289,293,294,296,305,306,314,315,319,320,323,326,331,336,339,346,347,352,354,356,363,369,372,376,378,379],differenti:[23,39,238,271,274,293,385],difficult:[327,372,378,379,381],difficulti:326,difftim:[29,168],dig1:79,dig4:79,dig:54,digit:[6,29,39,54,57,73,120,121,128,138,163,169,185,186,187,196,197,198,212,220,223,228,238,243,269,271,273,274,293,343,348,373,378,379,380],digit_count:162,digitalwrit:213,dim:162,dimens:[162,284,286],dimension:[10,36,89,127],dingd:268,dingtalk:268,dinner:381,dio1:[86,87],dio:284,diod:238,dipper:266,dir:[162,255],dir_forward:162,dir_path:29,direct:[2,10,21,32,33,35,36,39,50,98,103,110,112,127,128,134,138,163,165,166,168,178,212,213,214,220,238,255,268,284,289,326,332,334,358,360,379,385],directli:[0,1,5,6,10,14,18,21,86,91,94,98,102,103,110,117,122,135,136,162,169,177,190,194,199,202,203,204,205,207,208,211,212,213,214,220,221,238,248,250,255,266,268,269,274,284,289,292,294,301,302,303,304,305,309,313,314,315,318,319,321,322,323,327,330,334,336,341,353,356,358,369,378,379,380],directori:[30,99,113,162,212,214,268,269,277,301,302,304,312,314,315,318,320,321,322,352,379],dirti:18,disabl:[36,37,66,92,94,96,106,114,127,134,138,163,177,199,208,251,255,268,275,376,379],disablepwm:29,disadvantag:[162,358],disappear:250,disassembl:372,disburs:330,disc:[138,163],disc_mod:29,discard:[0,226,232,379],discchr:29,discdsc:29,discharg:[369,372,374],discon:29,disconnect:[24,29,54,59,60,115,133,211,250,255,268,344,363],discoveri:98,discrep:282,discsvr:29,discuss:[277,331,379],disguis:366,dish:381,disk:[130,249,250,318,320,369],disp:[29,121,127,177,208,212,269],disp_get_default:162,disp_get_hor_r:162,disp_get_ver_r:162,disp_set_bg_color:[212,220],dispatch:381,displac:2,displai:[2,9,10,36,77,78,79,89,104,115,127,138,163,165,167,171,178,184,189,190,195,202,212,220,243,249,253,268,269,273,283,293,319,326,334,339,356,358,363,367,376,378,379,405],display_str:171,dist:[162,330],dist_px:162,distanc:[136,162,222,227,234,256,265,266,267,358],distinguish:[58,253,272,293,360,378,379],distort:358,distribut:[134,162,257,269,379,381],district:108,divid:[0,53,105,162,169,170,195,212,220,221,253,254,293,300,303,323,378,379],divis:[2,105,185,186,187,221,234,253,255,293,300,378,379],djtr:[257,292],dl:[320,354],dlfcn:379,dll:[302,369,379],dma1_channel1_irqhandl:255,dma1_it_tc1:255,dma:[238,253,268,289,293,300],dma_clearflag:255,dma_clearitpendingbit:255,dma_cmd:255,dma_getitstatu:255,dn:[52,115,238,268],dnp:6,dns_index:29,doc:[68,162,247],dock:[268,336,352,407],document:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,116,117,118,119,120,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,141,145,149,152,158,162,163,164,167,169,170,171,172,173,174,175,178,179,180,181,182,184,185,186,187,189,190,191,192,193,195,196,197,198,200,201,202,203,204,205,208,209,212,214,217,218,220,221,224,233,234,237,248,250,255,257,271,272,273,292,293,301,307,311,312,314,315,318,326,345,348,350,351,355,369,379],doe:[4,13,15,26,28,29,30,34,36,39,64,66,67,68,78,79,86,89,91,94,96,98,102,103,105,106,109,115,118,121,123,128,130,131,132,136,162,191,192,193,207,211,221,234,248,253,254,265,266,268,269,272,273,275,284,289,293,296,301,310,313,314,315,318,319,325,330,332,335,336,339,348,352,353,356,363,378,379,381],doesn:[25,210,253,293,379],dofil:[168,303],dog:[5,43,132,179,201,325],dolor:162,domain:[24,54,57,58,60,95,115,210,268,284,379],domain_nam:54,domest:39,domin:[250,254,299],don:[10,13,59,72,91,94,112,115,162,166,203,204,205,212,220,248,269,292,293,301,302,305,314,315,320,348,356,358,363,378,379],donald:277,done:[1,27,29,107,162,169,212,220,269,285,294,304,378,379,380],doom:272,door:360,dormanc:119,dormant:[211,372],dot:[36,127,162,171,178,212,214,220,327,379],doubl:[89,101,136,162,214,243,248,249,250,301,302,311,318,320,369,378,379],double64:334,down:[1,13,21,23,29,31,103,121,138,163,177,189,199,208,211,212,221,226,232,238,248,250,251,254,255,266,268,272,277,284,300,301,319,326,332,340,356,358,360,363,369,372,376,379,381],downgrad:250,downlink:94,downlinkb:94,downlinkgb:94,download:[14,18,19,24,72,103,104,162,166,169,203,204,205,207,210,212,217,220,222,224,225,227,231,234,235,238,246,249,253,257,264,266,267,268,271,274,284,289,292,293,299,302,307,308,309,311,314,315,319,320,321,347,354,360,385,395,407],downstream:94,downward:358,dp:[79,238,251,254,255],dp_puup:251,dpi:162,dr:[253,293],draft:[325,326,327,328,329,330,332,333,334,335,336,340,341,342,343,344],drag:[162,250,322,369],drain:[238,300,340],draw2lcd:29,draw:[29,93,127,136,162,166,178,212,220,250,268,334,358],draw_al:127,draw_lower_left:127,draw_lower_right:127,draw_mask_:162,draw_mask_fade_init:162,draw_mask_fade_param_t:[29,162],draw_mask_fade_param_t_fre:29,draw_mask_line_param_t:[29,162],draw_mask_line_param_t_fre:29,draw_mask_line_points_init:162,draw_mask_line_side_top:162,draw_mask_radius_init:162,draw_mask_radius_param_t:[29,162],draw_mask_radius_param_t_fre:29,draw_upper_left:127,draw_upper_right:127,drawbox:29,drawbuttonutf8:[29,268],drawcircl:[29,178,212,220],drawdisc:29,drawdrcod:29,drawellips:29,drawfilledellips:29,drawfram:29,drawglyph:29,drawgtfontgb2312:29,drawgtfontgb2312grai:29,drawgtfontutf8:29,drawgtfontutf8grai:29,drawlin:[29,111,178,212,220,293,334],drawn:[162,381],drawpixel:29,drawpoint:29,drawqrcod:29,drawrbox:29,drawrect:[29,334],drawrectangl:[29,178,212,220],drawrfram:29,drawstr:[29,127,171,212,220,334],drawtriangl:29,drawutf8:29,drawxbm:29,drawxxx:10,drink:[314,315,320],drive:[29,54,66,73,78,79,111,121,127,162,165,171,177,207,208,212,220,238,249,253,267,268,272,284,289,293,318,369,385,401,405],driven:[73,178,212,220,379,393],driver:[10,29,54,79,89,103,121,138,162,164,171,178,191,192,193,207,212,220,243,248,253,254,268,269,284,289,293,300,301,311,318,360,369,385,394,398,404],driver_usart:318,drop:[21,138,163,221,238,248,250,301,358,361,372,375,376,379],dropdown:[138,163],dropdown_:162,dropdown_add_opt:162,dropdown_cr:162,dropdown_dir_left:162,dropdown_down:162,dropdown_get_selected_str:162,dropdown_open:162,dropdown_part_list:162,dropdown_part_main:162,dropdown_part_scrlbar:162,dropdown_part_select:162,dropdown_set_dir:162,dropdown_set_opt:162,dropdown_set_show_select:162,dropdown_set_symbol:162,dropdown_set_text:162,drum:162,drv:[29,190],drxcycl:94,ds18b20:[29,72,212,311],ds18b20_temp:72,ds3231:54,ds3231_read_tim:49,ds:354,dsp:[211,294],dst:[24,72,107],dtick64:[29,182],dtick64data:182,dtick64r:182,dtimer:[103,226,232],dtimercheck:29,dtimerstart:[29,184],dtimerstop:[29,184],dtimerwkid:29,dtl:268,dtp:29,dtr:[218,250],dual:[27,73,94,211,253,273,289,293,300,366,374],duck:277,due:[26,40,41,42,44,46,47,48,49,51,53,55,56,57,59,61,63,65,66,67,69,70,71,74,75,76,77,80,82,83,84,117,233,250,255,269,272,273,289,358,360,369,378,379],dui:162,duino:213,dummi:[162,379],dump:[29,162,168],dup:95,duplex:[66,117,191,192,193,195,196,197,198,212,220,253,293,342],duplic:[95,162,268,381],dupont:[250,292],durat:[21,67,94,103,109,122,125,132,162,182,201,277,333],dure:[1,21,24,26,30,39,66,73,99,106,125,128,162,173,174,175,201,207,212,220,221,255,268,272,284,289,318,360,369,379,382],dust:54,duti:[29,98,105,185,186,187,212,220],duty_oneeighth:37,duty_onefifth:37,duty_onefourth:37,duty_onehalf:37,duty_oneseventh:37,duty_onesixth:37,duty_onethird:37,duty_stat:37,dvp:289,dynam:[6,26,55,117,131,136,162,221,268,369,378,379],e4:292,e5:292,e6:292,e7:292,e8:292,e9:292,e:[1,10,53,85,94,117,134,162,168,179,212,218,220,255,266,277,314,315,318,320,348,354,378],ea:162,eabi:318,each:[10,16,23,26,29,36,54,71,94,95,111,127,162,178,202,203,204,205,210,212,214,218,220,238,243,253,254,255,272,293,314,315,319,336,337,354,356,363,372,374,376,378,379,381],earfcn:[29,94],earli:[248,254,284,289,301],earlier:[212,220,269,378,379],eas:379,ease_in:89,ease_in_out:89,ease_out:89,easi:[29,104,115,121,162,250,289,305,306,335,336,367,379,381],easier:[162,268],easili:[250,327,336,358,377,378,379],east:[39,58,96,108],eat:378,ec11:54,ec11_callback:50,ec616:247,ec616_0h00:316,ec618:[0,1,16,21,89,91,94,102,103,108,207,269,272,274,292,293,318,319],ec618_lua_lod:277,ecb:[6,20,268],ecdh:275,ecdsa:275,ecg:162,echo:[133,361,372,375],eci:29,ed:162,eda:[221,267],edg:[21,36,127,136,138,163,284,289,293,300],edit:[72,162,168,207,208,269,286,349,351,373,376,385],editor:[210,318],edrx:96,edx:96,eeprom:[18,26,196,197,198],ef17:[196,197,198],ef4018:[212,220],ef:[196,197,198,378],effect:[50,91,94,102,103,115,136,138,163,165,167,177,184,188,208,212,220,235,255,266,268,277,293,300,305,318,349,351,360,366,376,379],effect_match:268,effici:[39,162,211,212,248,250,255,268,301,355,377,381],egg:356,eigenvalu:98,eight:[162,379],eighth:108,eink1:395,eink:[29,121,212,269,273,294,296,319,339,394],einkbook:394,either:[162,217,293,347,353,379],eiusmod:162,elaps:379,electr:[211,237,293,358,360,363],electrochem:54,electrolyt:221,electron:[169,212,220,393,395],eleg:305,element:[18,138,163,266,378,379],elev:39,elf:318,elig:378,elimin:[21,35,248,268,379],elit:162,ellips:127,ellipsoid:39,ello:378,els:[13,15,26,27,30,39,48,50,59,90,93,103,117,122,162,165,166,191,192,193,203,204,205,212,213,214,220,304,325,329,333,336,378,379,381],elseif:[25,87,162,378,379,381],elsewher:[162,379],email:104,emb:211,embed:[162,212,243,255,277,344,355,377,378,379],emerg:94,emergency_regist:94,emit:268,emot:339,emphas:221,empti:[1,3,11,14,16,18,20,31,68,77,89,91,94,101,109,120,127,128,135,136,162,177,208,212,220,250,255,268,272,293,330,334,378,379],emptyselectionclipboard:210,emtri:89,emul:[89,214,253,293,355],en:[29,162],enabl:[0,1,10,18,21,29,35,66,73,96,103,115,117,127,132,134,162,169,171,177,199,208,210,214,234,238,250,251,253,257,268,269,271,272,293,348,349,351,358,360,363,376],enbid:29,encapsul:[29,121,171,178,180,181,182,196,197,198,212,220,282,303,323,331,352,378,379,381],enclos:[378,379],encod:[6,13,15,18,25,29,30,39,54,58,68,94,96,99,101,108,114,118,120,121,123,129,133,134,162,166,170,189,212,220,268,327,379],encodestr:29,encount:[31,94,109,115,162,210,221,255,268,284,326,378,379,381],encrypt:[19,20,24,29,32,55,59,60,95,115,121,133,170,237,257,260,268,275,293,344],end:[0,1,3,6,8,10,11,12,13,14,15,16,18,21,23,24,25,26,27,28,30,31,35,37,39,40,41,42,43,44,45,46,47,48,49,50,51,53,56,57,58,59,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,82,83,84,86,87,89,90,92,93,94,95,96,98,100,101,103,104,105,106,107,110,111,112,114,115,116,117,118,122,123,124,126,128,133,134,135,136,162,165,166,169,171,172,173,174,175,179,180,181,182,185,186,187,190,191,192,193,195,196,197,198,200,201,202,203,204,205,212,220,221,238,250,254,255,268,269,272,275,293,300,303,318,321,322,325,333,336,340,342,343,344,346,348,349,351,358,360,369,372,373,378,379,380,381,382],end_angl:162,endian:[28,54,101,115,117,128,130,136,379],endif:[162,214],endless:330,endpoint:255,endswith:29,endur:211,energi:[66,103,165,211,255,374],engin:[162,249,251,297,355,378,393,395],english:[72,127,162,185,186,187,196,197,198,210,268,271,293,319,326,363,376],enhanc:[124,243,253,255,293],enim:162,enjoi:377,enlarg:[1,128,162],enodeb:94,enough:[4,13,26,94,107,115,117,128,130,162,212,220,285,294,314,335,378,379],ensur:[11,26,117,162,212,220,221,238,255,269,285,294,318,369,372,379],ent:29,enter:[10,13,28,31,63,71,72,94,96,103,106,109,135,162,166,184,207,213,214,218,221,226,232,235,255,272,284,285,289,302,310,311,314,315,318,320,324,326,337,338,345,354,356,358,360,369,372,373,376,378,379,381],enterpris:[162,384],enthusiasm:379,entir:[14,18,30,113,135,136,162,177,201,208,221,238,269,273,305,378,379],entireti:379,entiti:[30,81,324,337,345],entranc:221,entri:[86,87,89,168,212,312,330,378],entries_can:379,enumer:[30,162,251,254,268,379],env:[14,168,172,317],environ:[57,91,168,208,209,212,217,224,249,250,253,268,293,299,302,313,318,319,352,355,372],environment:165,envisag:[323,335],eoc:255,eof:106,eol:355,ep:[29,94],ep_ctr_rx:255,ep_ctr_tx:255,ep_id:255,epat:268,ephemer:266,ephemeri:[271,293],epindex:255,epoch:379,eq:379,equal:[18,91,127,136,162,212,220,251,254,378,379],equip:[0,27,36,83,84,91,131,138,141,149,152,158,163,195,197,211,212,220,250,255,266,284,293,344,356,358,360,363,366,367,369,373,374,376],equival:[9,10,12,14,18,73,92,94,96,102,128,136,250,326,335,353,378,379,381],eras:[14,18,29,177,191,192,193,199,208,248,253,268,293,354,372],erasetimeout:255,erasewrit:29,erp:319,err:[13,34,166,336],errdump:[29,121,268],errio:30,errno:379,error:[0,1,2,3,4,5,6,7,8,9,10,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,86,87,88,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,168,169,172,173,174,175,179,191,192,193,196,197,198,212,217,220,253,255,267,268,293,304,305,318,342,343,354,356,363,374,381],error_cod:[26,117,123],error_handl:214,errstop:29,ersrq:96,es7149:27,es8311:268,esc:285,escap:[120,379],esd:[221,250],esp32:[98,102,134,284,285,286,289,290,293,349,351,355,385],esp32_download:354,esp32c2:[106,296,320],esp32c3:[0,2,5,6,9,10,13,14,15,17,18,19,21,24,25,26,28,30,32,33,34,36,39,72,81,85,86,87,89,90,91,93,95,98,101,103,104,105,106,107,108,109,111,113,115,117,119,120,121,122,124,127,128,131,132,133,134,135,136,207,282,285,287,293,296,310,319,320,355,385,394,405],esp32c3_lua_lod:207,esp32s2:106,esp32s3:[0,2,5,6,9,10,13,14,15,17,18,19,21,24,25,26,28,30,32,33,34,36,39,72,81,85,86,87,89,90,91,93,95,98,101,103,104,105,106,107,108,109,111,113,115,117,119,120,121,122,124,127,128,131,132,133,134,135,136,207,291,292,293,319,320,355],esp32s3_lua_lod:207,esp:[102,103,292,320],especi:[117,268,277,379],esphttp:336,esphttp_evt:336,espressif:[292,320],esptouch:[134,257],esptouch_v2:134,ess:[26,162],essenc:309,essenti:[162,331],est:162,establish:[95,98,115,133,134,314,315,381],estim:319,et:162,etc:[0,86,87,102,103,117,128,135,136,162,221,255,268,305,311,319,326,347,355,356,363,374,378,379,381],eth0:[19,95,115,123,131,133],ethernet:[29,115,121,268,294],eu:162,ev:379,evalu:[29,121,379],evb:[228,258],evb_air601:258,even:[4,103,128,162,170,266,331,339,343,356,363,378,379],event:[27,29,39,60,87,89,95,103,115,122,123,130,133,138,163,177,202,206,208,212,220,253,266,268,293,324,337,344,345,348,379,380,381,382],event_appli:162,event_cancel:162,event_click:162,event_delet:162,event_handl:162,event_insert:162,event_long_press:162,event_long_pressed_repeat:162,event_on_data:336,event_press:[89,162],event_press_lost:162,event_releas:162,event_send:29,event_short_click:162,event_value_chang:162,eventu:72,everi:[11,21,72,162,248,255,301,312,314,315,320,333,378,379,380,384],everyon:[162,171,250,277,383],everyth:[162,318,378,379],evok:382,evt:344,evt_ap_associ:344,evt_ap_disassoci:344,evt_ap_start:344,evt_ap_stop:344,evt_readi:344,evt_scan_don:344,evt_scan_report:344,evt_sta_connect:344,evt_sta_connected_fail:344,evt_sta_disconnect:344,ex:[104,162,166,207,212,302,318,322,354,369,379],exact:379,exactli:[96,125,305,360,369,379],examin:379,exampl:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,163,166,170,172,178,207,209,212,213,214,220,248,251,254,255,266,269,272,285,301,304,305,311,312,314,315,320,323,333,334,336,339,348,352,354,358,363,372,378,379,380,381,382,384,388,391,393,395,398,401,404,407],example_h:214,example_l:214,exce:[16,91,94,100,107,109,125,128,130,136,169,212,220,221,253,269,293,379,381,382],exceed:[212,220,238,271,293,358,363,372,373,376],except:[6,11,16,24,60,103,115,162,212,220,253,262,268,284,293,348,372,378,379],excepteur:162,excerpt:381,excess:[369,378,379],exchang:[369,378],exclud:[36,162],exclus:[5,66,247,264,379],exec:[29,119],execut:[5,14,18,21,31,58,66,72,99,103,118,119,122,125,136,168,169,196,197,198,200,201,255,268,285,293,304,305,311,314,315,321,322,325,326,330,333,348,369,378,381,382],exercis:378,exercit:162,exhaust:376,exist:[2,14,18,25,28,29,34,39,96,102,118,129,136,162,172,191,192,193,208,212,220,226,232,255,268,304,309,310,314,315,318,320,324,327,330,334,337,345,348,352,358,360,378,379,381],exit:[11,60,94,96,124,162,168,207,285,325,326,331,373,376,378,381],exit_failur:379,exit_success:379,exp1:379,exp2:379,exp:168,expand:[4,115,128,130,136,162,250,305,314,315,379],expans:[136,208,243,269,271,289,293,320,349,351,379],expect:[162,212,220,255,327,349,351,379],expens:372,experi:[162,304,326],experiment:379,expir:333,explain:[318,349,350,363,376,379,381],explan:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,212,220,271,293,348,379],explicit:[379,381],explicitli:[162,348,379],explist:379,explor:[210,379],expon:379,exponenti:[93,379],expos:[162,303,323],exposur:380,expr:214,express:[35,165,168,324,337,345,378],ext:[162,326],extend:[23,29,33,63,121,223,228,268,324,337,345,349,351,379],extens:[54,339,378,379,382],extent:378,extern:[1,16,31,33,72,89,91,98,103,115,123,138,163,165,169,190,214,217,221,224,238,243,248,249,250,251,253,254,265,266,267,269,272,277,282,287,293,323,326,328,340,341,342,343,347,358,363,372,378,379,380,381],exti:29,extinguish:[185,186,187],extra:[4,22,127,162,333,379],extra_param:347,extract:[115,162,212,220,255,378],extramsg:379,extranet:115,extrem:[94,103,212,260,277,321],f01122334455:134,f103:[253,254],f1:[162,168,277],f2:168,f32:136,f5:[29,54],f64:136,f:[10,27,30,34,101,110,136,168,212,220,277,348,352,378],face:211,facil:[324,337,345,379],facilit:[372,378,379,383],fact:[162,171,212,220,267,340,378],factor:[39,162,379],factor_:379,factor_of:379,factori:[94,221,248,249,284,289,292,294,301],fade:[29,162],fail:[0,1,2,4,6,13,17,20,24,26,28,30,34,38,45,48,57,68,74,81,89,90,91,93,94,95,103,104,106,107,111,115,117,120,123,128,134,136,166,191,192,193,207,253,257,268,284,289,293,304,305,314,315,320,329,333,344,379,382],failur:[1,4,7,9,13,16,19,24,28,29,30,34,40,46,59,60,94,99,105,111,112,115,121,123,126,127,128,135,137,255,266,268,305,318,319,344,348,379],fake:[250,268,360],fal:[14,172],fall:[21,31,358,379],fals:[1,2,3,4,6,7,8,10,11,13,14,16,17,18,20,21,22,25,26,30,31,32,33,36,37,39,57,60,63,67,68,72,86,87,88,89,90,91,93,94,95,96,97,98,100,103,105,106,107,108,110,111,112,113,114,115,117,120,122,124,126,127,130,132,133,134,135,136,137,162,172,191,192,193,203,204,205,207,210,272,304,369,372,378,379,381,382],famili:[196,197,198],familiar:[91,177,208,314,315,383],fanci:374,faq:[217,253,291,293,356],far:[238,355,378],fast:[12,26,40,41,42,44,45,46,48,49,51,53,56,61,62,65,68,69,70,75,76,80,92,107,162,173,174,175,211,212,220,238,253,277,292,293,300,356,358,363,366,372,373,376],faster:[162,210,250,269,366],fastest:221,fastlz:[29,121,137,268],fat32:352,fatal:[85,268,318,379],fatf:[29,110,121,166,268,328,352],fault:[94,253,293],favor:356,favorit:213,fb803786602df760:32,fbd:172,fd:30,fdb:[18,29,112,121,177,208,268,293,296],fdb_kv_set_blob:14,fdd:265,fdev:[86,87],feasibl:269,featur:[98,106,162,170,171,184,189,190,195,202,212,220,223,228,238,245,250,251,268,269,272,273,293,323,324,337,345,348,369,379],feature_xxx:348,februari:162,fed:268,feed:[29,43,106,162,179,201,325,360,378,379],feed_dog:54,feedback:[24,106,162,275,384],feel:[162,323,378],feet:[37,103,221,262,294],feichuang:264,feishu:268,felt:378,feng:379,feof:331,ferror:331,fetch:[268,334,379],few:[99,162,212,220,250,294,303,360,378,379],ff0000:162,ff00ff:162,ff01:98,ff02:98,ff03:98,ff31:98,ff32:98,ff:162,fff1:98,fff2:98,ffffffff:[347,354],ffmpeg:166,fft:293,fg_color:29,fi:[260,385],field:[37,68,96,162,165,255,335,349,351,379],fieldlist:379,fieldsep:379,fifo:[253,293,300,381],fifth:[57,378,379],figueiredo:379,figur:[5,196,197,198,202,212,213,214,220,238,248,249,250,255,267,301,358,360,369,378],file:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,18,19,20,21,22,23,24,25,26,27,29,30,31,32,33,34,35,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,116,117,118,119,120,121,122,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,163,167,168,177,194,196,197,198,207,208,210,211,212,213,217,220,224,229,237,247,248,250,255,264,266,268,269,274,285,287,293,294,301,302,306,309,311,312,314,315,318,319,322,323,324,325,327,331,334,337,339,345,347,349,350,351,354,369,380,394],file_cnt:166,file_don:135,file_no:1,file_path:[29,54],file_s:166,file_tld:[349,350],file_tld_t:346,filenam:168,files:29,filesystem:331,fill:[0,1,7,8,18,19,20,26,29,32,35,45,57,58,59,68,69,72,86,94,95,98,115,116,117,118,127,130,133,162,166,253,268,272,274,293,304,330,334,348,354,378,379],film:[66,272,292,358],filter:[54,92,98,103,138,163,221,238,253,268,293,379],filter_match:92,filter_polici:29,fin:29,find:[13,115,162,166,168,191,192,193,207,210,212,214,220,229,248,250,292,293,301,304,354,360,363,381],finder:379,fine:[31,128],finish:[1,29,119,212,307,310,379],fint2:162,fire:379,firmwar:[0,5,6,10,15,29,36,39,64,66,94,98,102,103,106,112,115,120,121,129,134,162,208,209,220,221,222,225,227,231,234,235,238,246,248,249,253,255,259,263,265,266,271,274,275,284,285,289,291,293,296,301,304,306,312,313,318,319,346,349,350,351,352,354,356,363,380,384,385],first:[1,10,13,18,21,25,30,36,37,57,91,94,95,99,101,103,111,127,136,145,162,165,166,169,173,174,175,180,181,182,196,197,198,207,212,218,220,221,238,248,250,253,254,266,268,269,272,285,289,293,304,305,320,335,341,346,348,353,358,360,363,372,376,379,380,381,382,393],first_exp_until:379,first_y_that:379,firsttck:182,firsttick:182,fit2:162,fit4:162,fit:[138,163,211,314,315,377],fit_:162,fit_max:162,fit_non:162,fit_par:162,fit_tight:162,five:[136,162,289,379],fix:[8,12,13,16,21,35,39,94,98,116,123,162,203,204,205,238,250,255,257,268,272,283,304,320,327,330,335,348,349,350,352,356,358,361,363,374,375,376,379,391],fix_qual:39,fix_typ:39,fixlen:[86,87],fixtur:221,fl:[347,354],flaaap:379,flag1:29,flag2:29,flag:[29,54,60,68,135,179,253,268,293,344,354,378],flah:[212,220],flash:[4,15,16,18,29,67,117,121,138,163,172,177,190,194,195,199,207,208,209,213,214,218,224,234,238,243,248,249,253,254,260,268,269,273,277,282,287,289,293,294,296,300,301,311,319,328,352,354,355],flash_c:284,flash_ck:284,flash_d0:284,flash_d1:284,flash_eraseoptionbyt:[253,293],flash_spi_mast:255,flash_spi_rx_dma_channel:255,flash_spi_tx_dma_channel:255,flash_waitforlastoper:255,flashdb:[14,172,294],flasher:285,flashtool:274,flat:277,flex:162,flexibl:[162,254,300,378,381],flicker:[138,163],flight:[67,94,96,103,162,266],flip:[36,254,379],float32:334,floor:168,flow:[71,381],flower:268,fluctuat:125,fluenci:369,flush:[10,29,168,352],fly:[162,212,268,294],flymcu:255,flymod:[29,67],fmod:168,fmt:[29,168],fn:[29,379],fname:379,focal:388,focu:[138,163,266],focus:[138,163],fold:29,folder1:162,folder:[30,135,207,210,212,214,220,248,268,285,301,314,315,321,322,324,337,345,348,352,380],follow:[12,15,16,18,21,26,30,57,59,68,72,73,95,96,98,99,101,102,106,107,115,124,127,134,136,162,165,169,172,173,174,175,179,180,181,182,185,186,187,191,192,193,196,197,198,200,201,203,204,205,210,212,217,220,221,238,248,249,250,254,255,266,268,269,273,275,284,289,293,301,302,304,305,311,314,315,318,320,321,322,330,331,335,336,339,348,349,351,353,358,360,363,369,373,374,375,378,379,380,381],following_keywords_ar:379,font:[29,121,138,163,171,178,212,220,268,312,390,395],font_32:89,font_:36,font_data:339,font_data_count:339,font_fre:29,font_get:[29,162],font_info:162,font_load:[29,162],font_map:339,font_open_iconic_weather_6x_t:[10,36],font_opposansm10:[10,36,127],font_opposansm10_chines:[10,36],font_opposansm12:[10,36,127],font_opposansm12_chines:[10,36,127,319],font_opposansm14_chines:10,font_opposansm16:[10,36,127],font_opposansm16_chines:[10,36,127,212,220],font_opposansm18:[10,36,127],font_opposansm18_chines:[10,36],font_opposansm20:[10,36,127],font_opposansm20_chines:[10,36],font_opposansm22:[10,36,127],font_opposansm22_chines:[10,36],font_opposansm24:[10,36],font_opposansm24_chines:[10,36,127],font_opposansm32:[10,36,127],font_opposansm32_chines:[10,36,127],font_opposansm8:[10,36,127],font_opposansm8_chines:[10,36],font_unifont_t_symbol:[10,36,127],font_w:339,font_xxx:36,fontfamili:210,fontnam:162,foo:[379,381],foot:[86,117,131,221,284],footprint:[3,109,162,369,377],fopen:331,forc:[2,29,60,115,134,136,162,168,266,268,348,358,360,363,372],force_all_raw_block:92,force_all_static_block:92,force_br:347,force_level:29,forcibl:[135,268],fore:29,foreground:[36,162],foreign:385,forev:[124,379],foreword:[138,164,167,253,293],forget:[162,212,220],form:[4,24,31,36,57,59,96,102,128,130,133,134,136,138,163,274,326,331,335,349,351,353,378,379,382],form_g:106,formal:[162,379],formaldehyd:54,format:[1,2,4,6,20,28,29,30,39,48,79,84,99,106,107,109,114,115,121,130,138,163,168,172,173,174,175,191,192,193,212,243,247,267,269,271,293,326,335,348,349,350,351,352,354,381],format_len:347,formatstr:[168,378],former:326,formula:[173,174,175,212,220,378],forth:162,forum:[162,355],forward:[39,136,376,379],fota:[24,29,54,121,123,260,268,269,274,385],fota_cb:269,fotademo:269,fotadon:16,found:[6,14,25,169,172,190,195,196,197,198,200,202,203,204,205,207,212,220,255,269,272,307,309,314,315,318,320,356,374,378,379,381,382],foundat:[138,163,209],four:[36,39,66,127,162,173,174,175,196,197,198,250,255,356,360,363,372,378,379],fourth:[57,173,174,175,378,379,381],fpc:388,fps16hz:93,fps1hz:93,fps2hz:93,fps32hz:93,fps4hz:93,fps64hz:93,fps8hz:93,fraction:[5,162,379],fragment:[16,114,115,120,379],frame:[63,66,93,127,133,212,220,334,379],framebuff:[36,136,162,334],frametab:66,framework:[123,168,209,344,355,369,379],fread:331,free:[13,36,162,221,250,268,319,327,369,379],free_count:329,free_kb:13,free_sector:13,freed:379,freeli:[211,358,369,372,379],freerto:[255,293,323,329,330,381],freertosconfig:255,freestrong:344,freq:29,freqhopon:[86,87],frequenc:[1,4,5,8,13,27,36,66,73,78,86,87,91,105,111,113,162,165,166,177,183,185,186,187,208,211,212,220,221,224,229,237,238,250,253,254,255,260,267,277,287,289,293,299,300,341,342],frequent:[94,202,203,204,205,212,220,318],fresh_rat:29,frexp:379,friend:[285,394],friendli:[38,212,330,355,379],from:[0,1,4,8,10,15,16,20,26,30,31,36,39,66,89,94,95,98,103,104,106,110,111,113,115,117,118,122,127,128,133,136,138,163,169,170,179,185,186,187,203,204,205,207,211,217,220,221,226,232,238,243,247,250,253,254,257,266,268,272,273,277,293,294,300,302,304,306,318,320,321,322,325,326,327,331,334,335,339,346,352,354,356,358,363,366,369,378,379,380,381,382],frombase32:29,frombase64:[6,29],fromcod:29,fromhex:[8,29,98,107,131,134,268,353],fromidx:379,front:[21,162,342,360,378,379],fruit:162,fs:[29,30,113,121,166,191,192,193,212,220,347,352],fs_addr:347,fseek:331,fsize:[29,30,166,212,220],fskv:[29,112,121,268],fsstat:[29,113,191,192,193,212,220],ftp:[29,121,268,273,275],ftp_login:19,fugiat:162,full:[11,27,29,31,60,66,99,115,117,127,128,162,168,177,194,195,199,206,207,208,209,212,213,220,243,247,250,253,266,268,269,289,293,302,313,321,322,333,339,342,348,349,351,352,369,384,393],fullclean:320,fulli:[162,211,212,220,238,243,268,311,348,356,367,372,374,379],fun:[29,344,381],func:[29,212,220,335,379],funcbodi:379,funcindex1:379,funcindex2:379,funcindex:379,funclist:378,funcnam:168,function_:379,function_given:379,functioncal:379,functiondef:379,functionon:378,functions_:379,fundament:277,funni:381,further:[162,361,375],futil:[314,315,320],futur:[91,122,328,347,379],fuzzi:311,fwqltvqo:384,g0:277,g:[29,34,66,76,117,162,212,220,255,260,277,314,315,318,348,378,379,380],ga:83,galileo:211,gap:[66,127,379],garbag:168,garbl:[234,293],gatewai:[29,115,344],gaug:[138,163],gauge1:162,gauge_cr:162,gauge_part_main:162,gauge_part_major:162,gauge_part_needl:162,gauge_set_angle_offset:162,gauge_set_critical_valu:162,gauge_set_needle_count:162,gauge_set_needle_img:162,gauge_set_rang:162,gauge_set_scal:162,gauge_set_valu:162,gb2312:[28,36,127,339],gb:94,gbk:268,gbr:165,gc032a:[294,395],gc032a_initreg:3,gc9106l:36,gc9306:[220,268,294,404],gc9306x:36,gc9a01:36,gc:268,gcc:[302,318,321],gcc_mcu:318,gcc_path:318,gcj02:[39,58],gcm:275,gdma:289,gear:[356,361,363,369,375],gener:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,29,30,31,33,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,162,166,180,181,190,212,214,220,238,243,248,253,266,269,274,277,282,289,293,294,300,302,305,314,315,320,321,322,323,325,326,327,330,336,339,342,348,354,363,372,378,379,385],genrsa:107,genuin:255,geograph:266,geomagnet:54,gestur:211,get:[1,6,10,12,13,14,15,16,17,23,24,25,27,29,30,36,38,39,40,41,42,44,46,47,48,52,54,56,59,61,62,64,65,66,70,75,76,80,83,85,88,89,91,92,93,94,96,98,99,109,111,115,123,127,128,134,136,138,163,166,168,170,172,177,183,189,191,192,193,207,208,212,214,224,250,255,268,289,293,304,305,314,315,319,321,327,329,330,331,334,336,340,344,348,355,358,378,379],get_accel:54,get_cell_period:29,get_data:54,get_device_t:113,get_gyro:54,get_left_valu:162,get_lux:54,get_mag:54,get_numb:123,get_pressed_d:162,get_rgb:54,get_select:162,get_selected_str:162,get_stat:162,get_temp:54,get_temperatur:54,get_text:162,get_val:54,get_vdd:29,get_xxx:162,getaht10data:[173,174,175],getapinfo:344,getapnet:344,getband:29,getbootcfun:29,getc:331,getcellinfo:[29,123],getclk:[29,180,181,182],getdevic:29,getdevicenum:[29,212,220],getdevicet:[29,191,192,193,212,220],getdisplayheight:29,getdisplaywidth:29,getedrx:29,getedrxptw:29,getenv:168,geterror:29,getfre:[29,166],getgga:29,getgll:29,getgsa:29,getgsv:29,gethook:168,getinfo:[29,168,344],getintloc:[29,268],getip:29,getjionapinfo:344,getlevel:[29,179],getloc:168,getloccb:57,getmac:29,getmetat:168,getnumberlist:378,getpm_10:54,getpm_1:54,getpm_2_5:54,getppb:54,getppm:54,getpsm:29,getpw:344,getraw:29,getregistri:168,getrmc:29,getrssi:344,getsiz:29,getstanet:344,gettable_ev:379,gettxt:29,gettz:29,getupvalu:168,getuservalu:168,getvtg:29,getwin:29,getzda:29,gga:39,gif:29,gif_creat:29,gif_restart:29,gift:282,girlfriend:165,git:[268,304,306,312,314,315,316,317,318,320,321,345],gite:[11,36,207,214,225,231,247,248,269,273,277,312,313,314,315,317,318,320,348,349,351,352,369,386,394,396,399,402],github:[104,172,191,192,193,213,250,292,302,316,318,320,348,352],gitignor:312,gitxxx:310,give:[4,94,162,168,221,275,304,330,360,378],given:[73,102,162,212,220,269,305,346,378,379],glb:379,gll:39,global:[106,122,124,162,168,255,304,329,331,369],glonass:211,glossari:[324,337,345],glow:[185,186,187],glu:162,glue:[138,163],glyph:162,gmatch:[168,378],gmssl:[29,121,268],gmtime:379,gnd:[66,169,173,174,175,185,186,187,191,192,193,196,197,198,202,203,204,205,218,220,238,250,284,289,292],gnss:[39,123,211,266,268,272,273],gnss_state:39,go:[0,10,71,162,207,212,226,232,243,250,270,284,289,305,326,356,360,363,369,372,374,378,379,381,406],goal:[18,26,324,337,345],god:[212,220,250,381],goe:[162,325],gold:250,gone:379,good:[210,221,238,250,266,268,293,319,378,379,384],goodgoodstudi:[14,18],googl:162,got:122,govern:[250,379],gp:[39,72,103,211,266,272,273],gpio02:284,gpio03:284,gpio04:284,gpio05:284,gpio06:284,gpio07:284,gpio08:284,gpio09:284,gpio0:[265,266,267,284,289],gpio10:[128,238,245,266,267,272,284,289],gpio11:[245,267,272,284,289,394],gpio12:[91,102,245,272,284],gpio13:[91,245,266,272,284],gpio14:[245,268,272,284],gpio15:[245,272,284],gpio16:[21,91,238,245,272,284],gpio17:[21,91,111,238,245,284],gpio18:[21,191,196,197,238,245,272,284],gpio19:[191,196,197,238,245,272,284,289],gpio1:[67,173,174,245,272,284],gpio20:[191,196,197,238,272,284],gpio21:[191,196,197,238,245,265,284],gpio22:[72,203,204],gpio23:[203,204,245,272],gpio24:272,gpio25:[1,272],gpio27:[21,72,265,266,267,272],gpio28:238,gpio29:[238,272],gpio2:[238,245,272],gpio30:[238,272],gpio31:238,gpio32:[205,238],gpio33:[205,238],gpio35:238,gpio36:238,gpio37:238,gpio38:238,gpio39:238,gpio3:245,gpio3uart0_rt:238,gpio40:238,gpio41:238,gpio44:[192,193,198,238],gpio45:[192,193,198,238],gpio46:[192,193,198,238],gpio47:[192,193,198,238],gpio49:238,gpio4:[67,91,94,173,174,245],gpio50:238,gpio51:238,gpio54:238,gpio55:238,gpio56:238,gpio57:238,gpio58:238,gpio59:238,gpio5:[91,238,245],gpio60:238,gpio61:238,gpio62:238,gpio63:238,gpio64:238,gpio65:238,gpio66:238,gpio67:238,gpio6:[50,91,238],gpio70:[175,238],gpio71:[175,238],gpio72:238,gpio73:238,gpio74:238,gpio75:238,gpio7:[50,91,238,245],gpio8:[238,245,272],gpio9:[238,245,272,284],gpio:[13,23,26,29,31,33,50,63,66,67,68,72,86,91,102,103,111,112,119,121,127,128,165,166,177,198,199,207,208,209,223,224,226,228,230,232,233,238,245,248,253,254,260,262,265,266,267,268,269,271,273,282,284,289,293,296,300,301,312,330,331,332,337,338,341,345],gpio_01:228,gpio_02:228,gpio_03:228,gpio_04:228,gpio_05:228,gpio_06:228,gpio_07:228,gpio_08:228,gpio_09:228,gpio_0:348,gpio_10:228,gpio_11:228,gpio_12:228,gpio_13:228,gpio_14:228,gpio_15:228,gpio_16:228,gpio_17:228,gpio_18:228,gpio_19:228,gpio_20:228,gpio_21:228,gpio_22:[212,220,228],gpio_23:[212,220,228],gpio_24:[212,220,228],gpio_25:[212,220,228],gpio_26:[212,220,228],gpio_27:[212,220,228],gpio_28:228,gpio_29:228,gpio_30:228,gpio_31:228,gpio_32:228,gpio_33:228,gpio_34:228,gpio_37:228,gpio_38:228,gpio_40:228,gpio_41:228,gpio_42:228,gpio_43:228,gpio_a:54,gpio_b:54,gpio_fal:340,gpio_forcepullupconfig:251,gpio_forcepupdcmd:251,gpio_init:301,gpio_inittypedef:214,gpio_invbit:301,gpio_l:214,gpio_mode_output_pp:214,gpio_pin_0:214,gpio_pin_8:251,gpio_pin_9:251,gpio_pinremapconfig:255,gpio_remap_swj_jtagdis:255,gpio_remap_swjjtagdis:255,gpio_ris:340,gpio_rising_fal:340,gpio_set:119,gpiob:[214,251],gpiod:301,gpr:[67,115],gps_ant:[103,266],gptxt:39,gpu:162,grab:[360,369],grad_dir_v:162,grade:[115,269],gradient:162,gradual:[220,269],graffiti:[32,54,268],grai:[29,162,327],gram:378,grammar:[209,294,379],grammat:379,grandpar:162,grant:379,granular:[191,192,193],grape:162,graph:[162,379],graphic:[29,121,162,212,220,306],grayscal:[3,36,162],great:250,greater:[33,63,81,91,92,94,122,127,136,220,333,358,363,373,376,378,379],greatli:[162,250,268,355,369],greedi:92,greedy_parsing_flag:92,green:[36,249],grid16:78,grid1:78,grid:[54,162],ground:[39,66,212,220,238,255,284,356],group:[31,162,212,214,218,225,231,243,247,248,255,301,331,349,351,360,363,372,379,394],grow:[162,379],gsa:39,gsm:[67,96],gsub:168,gsv:39,gt5slcd1e:22,gt5sucd2:390,gt911:54,gt911_i2c:54,gt911_int:54,gt911_re:54,gt911callback:51,gtfont:[29,36,121,127,268,296],guangdong:162,guarante:[57,66,109,269,300,379],guest:381,gui:[162,306],guid:[210,233,251,255,285,312,349,351],guidelin:379,gw:134,gyro:65,gyroscop:[54,65],gz:[25,379],h:[26,29,39,45,99,101,111,136,162,166,171,178,212,214,220,255,294,301,304,314,315,318,320,323,353,354,378,379],ha:[0,1,2,3,4,6,7,8,9,10,11,13,14,16,17,18,19,20,21,23,24,25,26,27,28,30,31,32,33,34,35,36,38,39,45,58,60,66,71,79,81,86,87,89,91,94,95,98,100,102,103,104,105,107,108,109,110,113,114,115,117,118,119,120,123,127,128,130,131,132,133,134,136,137,162,165,169,170,178,185,186,187,190,196,197,198,203,204,205,211,212,220,221,238,247,248,249,253,254,255,260,264,268,272,277,284,289,293,294,301,303,304,309,314,315,334,344,349,351,352,354,358,360,366,369,372,378,379,381],habit:[348,379],had:[166,379],hal:[217,254,293,331],hal_cortex_module_en:214,hal_delai:214,hal_flash_module_en:214,hal_gpio_init:214,hal_gpio_module_en:214,hal_gpio_togglepin:214,hal_inctick:214,hal_init:214,hal_ll:214,hal_module_en:214,hal_mspinit:255,hal_pwr_module_en:214,hal_rcc_module_en:214,half:[107,117,162,191,192,193,196,197,198,212,220,248,277,339,342,377,378],hall:300,halt:54,hand:[213,289,311,336,356,367,372,374,379],handheld:356,handl:[28,29,30,125,128,135,138,163,168,211,268,300,305,336,380],handler:[29,162,305,324,330,337,344,345,379,381],handler_on:379,handler_to:379,handshak:[60,268],hang:[29,121,255],hanlder:330,happen:[125,162,379],happi:5,happili:[349,351],hard:[5,125,177,208,243,369],hardfault:29,hardfault_handl:[214,255],hardwar:[1,21,26,29,31,36,64,66,71,73,91,100,103,109,115,117,121,126,127,128,131,162,165,176,177,183,188,194,199,206,208,217,224,229,237,242,246,247,253,254,259,260,263,266,268,271,272,280,282,287,291,293,294,299,300,324,331,333,337,345,352,374,388,391,393,395,398,401,404,407],harmless:306,has_more_input:92,has_n_el:379,hash:[20,29,121,170,268],hash_finish:29,hash_init:29,hash_upd:29,hashjeremi:394,hashresult:6,have:[9,10,31,36,71,72,86,94,98,101,102,106,115,128,131,134,136,162,185,186,187,191,192,193,210,212,248,250,254,255,265,266,268,273,284,285,289,293,301,304,311,318,319,320,331,352,353,354,355,356,372,378,379,380,383],haven:[72,165],hclk:251,hcode:29,hd:10,hdiv_num:162,hdop:39,he:[217,220,378,393],head:[30,39,66,70,120,136,326,334,346,356,358,363,366,372,373,376,379,381],headach:72,header:[25,29,92,162,191,192,193,217,293,304,305,323,336,346,379,381],header_tld:[349,350],header_tld_t:346,headingdegre:70,heap:[36,268,329],heap_4:329,heard:268,heart:[29,121,211],heartbeat:[55,95,115,268,333],hebrew:162,heet:339,height:[3,29,36,39,89,127,138,163,327,378],held:[162,367,372,374],hello:[209,210,213,277,378,379],helloworld:[138,163],help:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,116,117,118,119,120,122,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,163,212,220,251,255,266,311,319,349,351,372],helper:379,henc:379,henriqu:379,here:[0,4,11,16,39,57,103,107,115,123,134,162,165,166,178,191,192,193,196,197,198,207,210,212,213,214,220,248,250,266,269,285,293,301,304,305,314,315,318,319,321,330,331,334,337,349,350,351,356,358,363,367,369,378,379,380,381,382,391],here_x_and_y_ar:379,here_x_cannot:379,here_x_i:379,herebi:268,heshuo:231,heterogen:[211,379],hex:[6,12,20,29,91,92,107,127,134,170,202,224,225,250,255,346,349,350,354],hexadecim:[35,57,91,128,134,162,177,183,208,349,350,354,378,379],hexstr:[29,353],hezhou:238,hfashfp9qw38hrfaio:[12,92],hfiuoaghfluaeisw:[12,92],hi:[11,112,190,203,204,205,302,321,322,380],hib:[103,184,266,332],hibern:[5,103],hid:[130,250,273],hid_mod:29,hid_rx:29,hid_tx:29,hidden:[162,344],hide:[138,163],hierarchi:379,high:[1,10,21,26,31,36,39,47,66,73,91,98,103,117,119,165,169,173,174,175,177,179,183,185,186,187,189,195,196,197,198,208,211,212,213,214,220,221,223,228,238,243,250,253,254,255,268,272,282,284,289,292,293,294,300,314,315,332,334,340,342,343,356,358,361,363,369,373,374,376,379],high_duty_cycl:29,high_irq:21,higher:[0,4,5,12,18,162,212,220,221,250,255,366,367,379],highest:[3,5,13,91,93,95,131,162,212,220,243,255,267,273,282,284,293,356,374,377],highlight:[138,163],highlighted_d:162,highlighted_dai:162,highlighted_days1:162,highlighted_days2:162,highlighted_days3:162,hij:118,himself:29,hint:[16,379],histor:[39,58,268,385],histori:[72,109,271,293],hit:162,hizhou:[218,225,231,254,294,300,384],hmac:[20,29,170],hmac_md5:[29,170],hmac_sha1:[29,170],hmac_sha256:[29,170],hmac_sha512:[29,170],hmacmd5:32,hmacsha1:32,hmacsha256:32,hmeta:[29,121],hold:[103,162,207,226,232,248,266,363,369,372,378,379],hole:[162,221,238,284,289,358,363],hollow:127,home:[250,379],homepag:[72,369],hook:168,hope:[305,372],hopperiod:[86,87],hor:162,hor_fit_typ:162,hor_r:162,horizont:[36,39,162,379],horn:1,host:[29,54,55,98,117,173,174,175,195,212,220,255,268,272,273,289,325,327,335,379],hostnam:29,hot:[212,220,292,344,393],hotspot:[257,344],hour:[11,26,39,57,68,72,99,108,189,212,266,363,369,379],hour_offset:39,hous:356,how:[1,4,23,31,104,111,120,128,141,149,152,158,162,172,173,174,175,177,178,179,180,181,182,185,186,187,191,192,193,196,197,198,201,203,204,205,207,212,220,221,235,248,250,285,292,293,301,304,320,323,324,327,337,345,374,378,379,380,381,385],howev:[103,162,212,220,221,360,369,378,379],hozhou:59,hpa:47,hse:255,hse_startup_timeout:214,hse_valu:214,hsi:214,hsi_startup_timeout:214,hsi_valu:214,hspi:[198,234,238],hspi_0:117,hspi_clk:[192,193,198],hspi_csn:[192,193,198],hspi_miso:[192,193,198],hspi_mosi:[192,193,198],hsv:162,htm:[264,387,398,401,404,407],html:[5,10,25,36,39,162,165,212,213,220,273,294,384],http:[5,10,11,16,29,36,38,39,54,59,68,72,89,99,103,104,121,124,162,165,172,191,192,193,196,197,198,207,209,210,212,213,214,216,220,225,228,231,236,238,247,248,249,252,257,258,264,266,267,268,269,272,273,275,277,292,294,296,297,298,300,302,304,305,306,311,313,314,315,317,318,319,320,321,336,352,378,384,386,387,394,396,398,399,401,402,404,407],http_error_bodi:24,http_error_clos:24,http_error_connect:24,http_error_download:24,http_error_fota:24,http_error_head:24,http_error_rx:24,http_error_st:24,http_error_timeout:24,httpbin:24,httpc:336,httpdn:54,httpsrv:[29,121,268],httptest:24,huacon:[297,298],huawei:[32,54,268,358,363,372,373,376],huaxin:300,hue:162,huffman:92,huge:[72,168],huge_v:379,hum:47,human:379,humid:[26,54,72,111,173,174,175,209,212,220],humiditybit:[173,174,175],hump:348,hungri:381,hw:333,hwtimer:212,hwtimer_id:29,hwver:29,hx711:29,hxxt_gps_bds_agnss_data:266,hz:[8,29,180,181,182,214],i16:136,i2:[1,29,91,121,243,268,273,289],i2c0:[26,91,212,220,265,272],i2c0_scl:[238,245,272],i2c0_sda:[238,245,272],i2c1:[26,91,265,268,272],i2c1_scl:272,i2c1_sda:272,i2c2:26,i2c:[23,29,40,41,42,44,45,46,47,48,49,51,53,56,61,62,64,65,68,69,70,75,76,80,90,91,121,127,171,177,208,224,237,243,260,268,271,273,282,284,289,293,296,300,311,348],i2c_hw:127,i2c_id:[26,29,47,51,54,61,127],i2c_scl:[77,127,173,174,175,223,228,262,284],i2c_sda:[77,127,173,174,175,223,228,262,284],i2c_spe:[40,41,42,44,46,47,48,49,51,56,61,62,64,65,69,70,75,76,80,93],i2c_sw:[127,171],i2cdon:26,i2cid:[40,41,42,44,46,47,48,49,51,53,54,56,61,62,64,65,68,69,70,76,80,93,173,174,175],i2cslaveaddr:[173,174,175],i2s0:27,i2s1:[27,268],i2s:[253,293],i2s_bclk:272,i2s_lrck:272,i2s_mclk:272,i2smod:255,i32:136,i64:136,i8080:289,i8:136,i:[1,3,6,19,31,51,53,69,71,72,73,74,78,79,85,101,128,134,136,162,165,166,168,169,172,173,174,175,178,179,180,181,182,185,186,187,191,192,193,196,197,198,200,201,203,204,205,207,212,218,220,221,238,250,255,277,293,314,336,349,351,353,356,378,381],i_:379,i_n_:379,iap:[243,250],iar:[249,250],ibeacon:29,ibid:[162,238,360,380],ibm:6,ic:[29,36,127,238,398,401,404],iccid:29,icm20608d:54,icm2068g:54,icon:[10,162,210],icon_img:162,iconv:[29,121,268],id15:162,id1:10,id2:162,id4:213,id:[11,13,29,31,32,40,41,42,44,45,46,48,49,53,54,55,56,62,64,65,66,69,70,72,75,76,80,85,86,89,90,91,93,95,104,113,115,118,123,124,135,162,166,173,174,175,177,183,184,190,194,195,199,202,203,204,205,208,212,217,220,233,255,264,268,272,293,305,306,313,325,333,342,343,348,353,354,381,387,398,401,404,407],idcod:255,iddpd:238,idea:[212,220,268,269,311,324,337,338,345,378,379,383],ideal:[356,367,372,374],ident:[11,378,379],identif:[11,72,94,98,250,353],identifi:[23,39,94,98,210,218,250,300,306,379,382],ideograph:162,idf5:[285,319,320],idf:[285,292,320],idiom:379,idl:[67,103,109,112,115,330,332],idp:305,idx:379,ie:379,ieee:379,ierusalimschi:379,if_n_i:379,ifdef:[162,214],ifndef:[162,214],ignor:[2,6,26,35,39,94,103,111,115,116,123,131,162,255,268,272,274,312,318,378,379],igor:318,ii:[253,293],iic:[212,218,251,254,284],iic_inttransmit:251,iih:334,iiha10:136,iiha:136,ili9341:[212,220,293],ili9486:36,illeg:[24,162,268,379],illumin:250,illustr:[98,293,366,379,381],imag:[3,10,29,121,127,138,163,211,212,220,243,319,354],image_recolor:162,image_recolor_opa:162,imagin:335,imei:[7,11,29,32,55,72,269],img1:[162,293],img2:162,img:[138,163,293,347],img_btn_part_main:162,img_cf_alpha_:162,img_cf_indexed_:162,img_cogwheel_argb:162,img_creat:162,img_dsc_t:162,img_part_main:162,img_set_angl:162,img_set_antialia:162,img_set_auto_s:162,img_set_offset_i:162,img_set_offset_x:162,img_set_pivot:162,img_set_src:[162,293],img_set_zoom:162,img_src:162,img_src_left:162,img_src_mid:162,img_src_right:162,img_zoom_non:162,imgbtn1:162,imgbtn:[138,163],imgbtn_:162,imgbtn_blu:162,imgbtn_creat:162,imgbtn_green:[162,293],imgbtn_part_main:162,imgbtn_set_check:162,imgbtn_set_src:162,imgbtn_til:162,imgbtn_toggl:162,imit:[212,220,304],immedi:[10,21,26,39,66,67,95,103,133,134,248,255,305,376,378,379],immut:[378,379],impact:268,imped:[21,66,238,340,372],implement:[18,20,66,94,102,162,170,209,220,255,268,269,273,304,324,327,330,331,335,337,341,345,346,348,349,351,352,355,378,379,380,381,382],implements_ful:379,impli:[196,197,198,372],implicit:379,implicitli:325,imposs:[122,331],improv:[117,162,170,185,186,187,221,248,250,268,301,355,372,378,379],imsecret0i1m2jkl:32,imsi:29,in0_process:255,in2bc:10,in_buff:29,in_protect:379,in_set:379,in_set_:379,in_set_repres:379,in_set_to:379,ina226:[54,268],ina226_data:53,ina226_i2c:54,inaccess:379,inact:162,inappropri:381,inbuf:[4,29],inc_cmsi:318,inch:[10,171,211,293,395,407],incident:122,incididunt:162,includ:[5,11,12,13,24,26,87,92,94,95,125,133,162,173,174,175,179,201,207,211,214,243,250,255,269,273,274,282,301,304,314,315,320,324,328,331,337,345,347,352,356,360,378,379,381,382,407],inclus:379,incom:[0,1,2,3,4,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,24,25,26,27,28,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,48,49,50,51,52,53,55,56,57,58,59,60,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,122,124,125,126,127,128,129,130,131,132,133,134,135,136,137,345,378,379,382],incompat:[168,268],incomplet:[221,268],inconsist:[356,369,378],inconst:379,inconveni:320,incorrect:[24,191,192,193,255,268,360,379],incorrectli:[221,268],increas:[26,36,94,111,162,185,186,187,212,221,268,269,284,369,378,379],increment:[162,379],indata:[38,39],indefinit:[10,36,127,212,220,325,379,380],indent:[348,379],independ:[103,162,168,211,243,253,254,293,300,302,329,369,372,378],indetermin:[380,381],indev:162,indev_drv_regist:29,indev_kb_upd:29,indev_point_emulator_upd:29,index1:379,index2:379,index:[25,29,37,39,138,163,168,172,335,378],index_:379,index_n_ref:379,index_ref:379,indic:[1,11,16,54,57,59,66,94,95,98,103,111,115,124,133,136,162,249,250,266,284,293,305,320,342,343,356,369,374,376,378,379,381],indirectli:379,individu:[162,238],indivis:379,induc:372,induct:372,industri:[260,293],ineffici:293,inf_timeout:381,infin:379,infinit:[31,162,325,382],info:[0,1,2,6,8,10,12,13,14,15,16,17,18,20,23,24,25,26,27,29,30,36,38,39,40,41,42,44,45,46,47,48,49,50,52,53,56,57,58,59,61,62,64,65,66,67,68,70,72,75,76,77,79,80,83,84,86,87,89,90,92,93,94,95,96,98,99,100,101,103,104,105,107,108,109,111,112,113,114,115,117,118,120,122,123,126,128,129,131,133,134,162,166,169,170,171,172,173,174,175,178,179,180,181,182,189,190,191,192,193,195,196,197,198,200,201,202,203,204,205,212,220,269,275,302,304,305,321,322,334,335,336,344,349,350,354,380,382],inform:[1,4,9,10,11,13,17,24,39,57,68,72,85,91,94,95,96,109,113,115,123,127,131,133,134,138,163,166,170,173,174,175,177,189,194,208,212,213,217,220,224,227,228,229,231,246,250,255,258,264,268,270,271,287,291,292,293,311,320,323,324,337,338,345,347,348,349,351,355,356,360,363,367,379,395,407],infrar:[29,54,121,341],inher:379,inherit:162,init:[29,47,54,61,123,162,166,168,171,178,179,190,191,192,193,201,212,220,255,304,310,311,336,378],init_level:29,initi:[3,7,9,10,11,13,14,16,18,21,22,26,27,29,31,35,36,37,40,41,42,43,44,46,47,48,49,50,51,53,56,61,62,63,64,65,66,68,69,70,71,72,73,74,75,76,77,78,79,80,83,84,86,87,89,90,92,94,95,97,98,110,112,113,116,117,126,127,128,131,132,134,135,136,162,166,171,172,176,177,179,194,199,201,202,206,208,212,220,221,255,257,268,293,305,308,311,329,342,343,348,379,381],initr:[191,192,193],initreg:29,inject:[253,293],ink:[29,121,212,293,395],inlai:[138,163],inlet:221,inlin:[282,379],inner:[162,379],innermost:379,innov:250,input:[4,6,7,21,29,35,72,86,89,91,94,116,120,137,138,163,166,168,169,191,192,193,209,221,223,224,228,238,254,255,266,268,272,284,293,300,311,324,331,337,340,345,356,358,363,366,367,372,378,383],input_buff:29,input_cnt:31,input_fil:29,input_pulldown:340,input_pullup:340,inreversem:29,insert:[1,118,162,168,212,220,250,272,292,311,336,363,378,381],insertfinalnewlin:210,insid:[78,79,123,136,162,266,293,324,326,330,337,345,360,378,379],inspect:162,instal:[162,166,207,208,212,217,250,253,254,284,289,293,299,302,314,315,318,320,321,322,358,360,369],instanc:[39,50,95,112,127,133,250,379],instant:272,instantan:[358,363,369,372,373,376],instead:[11,18,21,162,214,284,323,330,353,379,381,382],instruct:[72,119,162,173,174,175,178,190,196,197,198,212,214,220,221,234,250,253,258,260,267,271,273,292,293,318,326,356,358,360,374,378,379,381],instrument:[138,163],insuffici:[4,9,30,127,130,136,268,319,369],int16_t:335,int32:335,int32_t:[162,335],int64:334,int8:334,int8_t:[335,342,343],intact:378,integ:[2,26,57,72,89,111,119,120,268,277,300,334,378,379,382],integer_and_flo:379,integer_n_i:379,integr:[29,66,121,162,165,191,192,193,212,214,220,238,260,268,300,303,306,366],intens:[40,54,162],inter:[212,220,238],interact:[130,162,255,268,293,300,306,345,379,383,392],interchang:[162,212,231],interconnect:162,interf:66,interfac:[15,26,36,66,91,111,121,123,131,136,138,163,168,169,170,171,172,173,174,175,178,179,180,181,182,184,185,186,187,189,190,191,192,193,195,196,197,198,200,201,202,203,204,205,207,209,211,212,214,220,221,235,238,243,248,253,260,268,269,273,274,284,289,292,293,300,306,318,324,326,331,337,341,345,349,351,352,355,358,363,373,376,377,378,381,383,393,394],interfer:[66,221,238,358,360],interg:26,intermedi:[162,214,248,269,301,320,378],intermitt:379,intern:[0,16,20,21,23,72,103,115,123,138,163,169,212,220,223,228,234,238,253,254,255,268,271,293,294,300,303,336,378,379,380,381,382],internet:[32,96,115,292,318,344],interpret:[28,162,354,378,379],interrupt:[21,31,51,66,68,74,79,86,103,128,201,209,212,217,220,221,238,253,268,272,293,300,301,305,330,331,340,344,369,379],interv:[1,92,94,96,98,115,126,131,213,253,268,293,329,379],interval_:379,inton:[271,293],intptr_t:379,intranet:[115,268],introduc:[24,145,162,167,169,170,171,176,179,183,184,188,189,190,194,195,199,200,202,206,212,214,220,293,304,344,381],introduct:[35,103,116,121,138,141,145,149,152,158,163,164,168,176,177,183,188,194,199,206,208,209,224,230,271,287,291,293,349,351,380],introductori:378,intuit:[98,162,335],invalid:[10,39,43,73,94,122,162,266,372,379,381],inventori:320,invers:[66,162,378,379],invert:[138,163,379],invis:[91,94,98,104,202,220,378,379],invoff:29,involv:[39,329,330,331,353,379],invon:29,io00:284,io01:284,io02:284,io03:284,io04:284,io05:284,io06:284,io07:284,io08:284,io09:284,io10:[284,289],io11:289,io12:284,io13:284,io18:284,io19:284,io:[1,13,27,29,54,66,91,94,95,103,104,107,110,121,162,165,166,168,190,191,192,193,212,220,238,251,253,254,255,262,267,268,271,293,300,321,324,328,337,345,352,355,378,380],ioh:238,iol:238,iomux:[29,268,272],ioqueu:[29,121],iosel:103,iot:[11,29,55,57,59,121,134,141,152,158,247,269,274,292,294,355,358,366,369,373,376,380],iot_bridg:292,iot_config:54,iot_core_id:29,iotauth:[29,121,268],iotcloud:[54,268],iotcloudc:55,iotda:29,iotpl:369,iotpow:[363,367,372],iotpower_cc_usb_driv:369,iotpowerpro:369,iovl:103,iovol:[29,268],iovol_all_gpio:103,ip1:115,ip2:115,ip3:115,ip4:115,ip:[29,52,55,60,94,95,123,268,344,374],ip_addr:29,ip_los:268,ip_readi:[58,72],ip_typ:29,ipair:168,ipc:326,ipsum:162,ipv4:[94,115,134],ipv4v6:94,ipv6:[24,29,95,115,268,385],iqinvert:[86,87],ir:[6,29,66,121,337,338,345],iron:[212,220],irq:[29,54,131],irq_27:21,irq_mod:29,irq_pin:[29,54],irregular:209,irrevers:170,irrig:238,irtu:[384,385],irur:162,is_comment_:379,is_default:29,is_don:336,is_drag:162,is_e_:379,is_en:29,is_function_:379,is_input:29,is_instantiated_:379,is_ok:29,is_short:379,is_sign:[4,29],is_tl:29,is_udp:29,is_weak:379,isbigend:29,isclos:54,isdecod:29,isdelet:29,isdon:29,isdst:379,isend:29,isequ:29,isexist:348,isfix:29,isfloat:29,isipv6:29,isn:[162,378],isnum:379,iso14443_a:71,iso:[289,379],isol:[221,238,325,331,352,360],isp:[243,248,253,293,300],isreadi:[29,115],isrun:379,issign:29,issu:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,116,117,118,119,120,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,162,250,266,319,348,367,379],issue_xxx:348,istailcal:379,istl:32,istr_ctr:255,istr_dir:255,istr_ep_id:255,isvararg:379,isyield:168,item:[29,55,72,91,127,162,208,264,266,285,312,363,379,387,398,401,404,407],iter:[29,268,324,337,345,378,379],its:[0,1,2,3,4,6,7,8,9,10,11,13,14,16,17,18,19,20,21,23,24,25,26,27,28,30,31,32,33,34,35,36,38,39,45,58,66,81,86,87,89,94,95,98,100,103,104,105,107,108,113,114,115,117,118,119,120,127,128,130,131,132,133,134,136,162,196,197,198,238,254,266,275,305,331,352,353,372,377,378,379,381],itself:[36,54,58,123,162,220,266,267,277,307,318,319,347,349,351,358,360,363,377,378,379],itvl_max:29,itvl_min:29,iv:29,j16:317,j:[165,168,378],januari:162,japanes:162,java:353,jedec:[191,192,193],jeremi:172,jlink:255,job:[238,379],join:[344,355,378,379],joint:[59,260],jointli:312,joystick:369,jpeg:[3,36,243,282],jpg:[3,6,36],json:[6,13,15,18,25,29,30,39,58,68,94,96,99,108,114,118,120,121,123,129,133,134,162,166,189,210,212,213,268,296,312,335,349,350,354],jt808:268,jtag:[253,289,293],jtdo:255,jtrst:[253,293],jubj62lnbb:32,judg:[16,54,68,115,221,253,268,269,293],judgment:[67,120,209,268,277,330],juli:[18,57,98,134,162],jump:[162,363,379],june:[162,250],junior:[214,248,301],just:[16,31,72,86,98,110,123,136,162,172,201,207,210,212,213,220,250,268,285,292,293,304,305,314,315,320,330,334,348,378,379],k:[14,18,63,106,118,134,172,378,379],kb:[13,162,191,192,193],kb_creat:162,kb_event_cb:162,kb_inc:35,kcu:238,keep:[5,103,115,120,162,189,207,212,221,314,315,372,378,379],keep_cnt:29,keep_idl:29,keep_interv:29,keepal:[29,55],keepemtri:29,kei:[11,19,24,29,54,55,57,59,95,103,115,116,118,121,123,134,138,163,177,207,208,210,224,238,265,266,267,268,272,287,291,292,293,303,356,358,369,373,376,378,379,381,383,407],keil:[217,218,248,249,253,293,301,316],keil_v5:316,keilbuild:316,kept:[107,379],kere:162,kern:162,kernel:[218,250,282,379],key_b:71,key_cb:54,key_cod:79,key_down:162,key_ent:162,key_in:29,key_left:162,key_out:29,key_right:162,key_up:162,keyboard0:[35,238],keyboard1:238,keyboard2:238,keyboard3:238,keyboard4:[35,238],keyboard5:238,keyboard6:238,keyboard7:238,keyboard8:238,keyboard:[29,89,121,130,138,163,282,293,296],keyboard_:162,keyboard_cr:162,keyboard_def_event_cb:162,keyboard_mode_num:162,keyboard_mode_text_low:162,keyboard_mode_text_speci:162,keyboard_mode_text_upp:162,keyboard_part_bg:162,keyboard_part_btn:162,keyboard_set_cursor_manag:162,keyboard_set_textarea:162,keypad_encod:89,keystrok:162,keyword:[162,303,379],khz:238,kib:318,kicad7:250,kicad:[221,250,267,392],kick:95,kill:369,kind:[0,67,115,202,203,204,205,212,220,323,379,381],kindli:250,km:39,knob:[138,163],knock:[130,311],knot:39,know:[125,170,212,220,305,320,377,378,379,380],knowledg:[145,208,324,337,338,345,349,351,360,380],known:[221,247,300,378,379,381],korean:162,kp:79,kt6368a:98,kuf3nt:32,kv:[29,54,121,294],kv_clr:[29,172],kv_count:[14,18],kv_del:[29,172],kv_get:[18,29,172],kv_iter:29,kv_next:14,kv_set:[29,172],kv_stat:29,kvdb:172,kvdb_init:[18,29,172],kword:379,l1:[162,379],l3g4200d:54,l3g4200d_data:56,l6985e:[217,293],l:[30,101,136,162,221,304,305,323,325,330,335,336,348,378,379],l_alloc:331,l_font:327,l_gpio_handl:330,l_module_funct:348,l_mylib_abc:305,l_rtos_recv:325,l_xxxx_block:[305,336],l_xxxx_cb:305,la:379,label1:162,label2:[89,162],label:[89,138,163,212,220,284,379],label_align_cent:162,label_align_left:162,label_align_let:162,label_align_right:162,label_cnt:162,label_cr:[89,162,212,220],label_demo:162,label_label:162,label_long_:162,label_long_break:162,label_long_crop:162,label_long_dot:162,label_long_expand:162,label_long_mode_break:162,label_long_srol:162,label_long_sroll_circ:162,label_long_txt_hint:162,label_part_main:162,label_set_align:162,label_set_array_text:162,label_set_long_mod:162,label_set_recolor:162,label_set_static_text:162,label_set_text:[89,162,212,220],label_set_text_fmt:162,labor:162,labori:162,laborum:162,lac:94,lack:248,ladder:162,lamp:[165,185,186,187,212,220,294],languag:[92,128,162,168,210,212,271,292,293,304,331,353,355,369,372,376,377,378,395,407],language_:379,larg:[4,58,117,162,165,211,212,214,218,220,221,225,231,247,248,250,268,272,285,293,301,318,320,355,360,369,372,378,379],larger:[4,12,92,94,162,191,192,193,257,367,378,379],largest:[3,379],laser:54,last:[3,11,16,19,57,94,95,103,115,133,136,162,173,174,175,191,192,193,196,197,198,212,220,221,255,266,268,269,340,346,378,379,381,382,385],lastlinedefin:379,lastreson:[29,268],lat:[39,57,58],latch:54,later:[31,115,119,162,212,220,250,269,272,305,339,378,379,382],latest:[1,134,162,172,191,192,193,207,212,213,214,220,225,231,248,253,269,293,302,320],latitud:[39,57,58],latter:[0,162,212,220,303,326,379],lau:268,launch:[95,133,260,273],lauxlib:379,layer:[1,16,39,59,73,78,89,95,96,106,109,115,127,133,162,172,207,212,221,235,238,243,250,269,272,304,305,318,323,325,327,330,335,337,338,345,379,382],layer_si:29,layer_top:29,layout:[138,163,196,197,198,216,269,272,277,349,350,356,369,374,379],layout_:162,layout_cent:162,layout_column_left:162,layout_column_mid:162,layout_column_right:162,layout_grid:162,layout_off:162,layout_pretti:162,layout_pretty_bottom:162,layout_pretty_mid:162,layout_pretty_top:162,layout_row_bottom:162,layout_row_mid:162,layout_row_top:162,lb:58,lbsloc2:54,lbsloc:[54,266,268],lbsyun:39,lc:379,lcc:282,lcd:[29,91,93,117,121,162,166,177,208,224,230,243,267,268,269,273,289,293,296,300,314,319,339,393,395,396,399,402,405],lcd_rst:272,lcdi:238,lcdseg:[29,121,230,282,296],lcoal:348,lcsloc:268,ld0:238,ld8s5j1l07:32,ld:318,ldata:328,ldexp:379,ldo:[221,228,237,250,293,300,372],ldo_ctl:272,le:379,lead:[162,169,220,266,272,369,378,379],leak:[21,268,323],learn:[162,208,212,220,250,320,355,356,367,374,377,378],least:[4,162,214,221,318,320,341,379],leav:[94,117,162,221,289,369,379],led1:[162,212,220],led2:162,led3:162,led:[21,25,54,67,72,79,138,163,165,185,186,187,212,213,214,220,234,250,265,266,267,287,291,293,301,310,311,326,331,383],led_creat:162,led_demo:162,led_off:162,led_on:162,led_part_main:162,led_set_bright:162,led_toggl:162,leda:[25,67,289],ledb:289,ledblinktim:67,ledpin:54,ledpinsetfunc:54,left:[2,10,27,29,36,50,54,68,89,91,93,94,115,127,131,136,162,207,210,212,213,248,255,313,356,358,360,363,367,369,372,373,378,379],left_fit_typ:162,leftmost:[136,162],legal:379,legend:293,legitim:24,len:[29,39,54,63,71,74,135,168,191,192,193,196,197,198,202,203,204,205,304,327,329,334,343,346,352,353],length:[3,6,12,14,16,18,20,21,24,26,27,29,30,55,63,71,72,74,89,92,95,96,100,101,104,109,110,111,112,115,117,120,122,128,130,131,134,138,163,168,191,192,193,212,220,268,284,327,330,334,335,339,342,343,346,348,353,354,378,381,388],less:[3,4,12,24,30,58,81,91,92,112,115,136,162,221,243,251,253,254,260,266,268,293,304,355,358,360,372,374,378,379],lesson:162,let:[162,165,166,212,220,235,330,339,353,354,355,372,378,379,380,381],letter:[6,72,162,326,348,378,379],level:[1,4,10,13,24,29,33,36,39,55,69,95,96,115,125,127,128,162,168,177,202,208,211,212,220,221,238,250,255,267,269,272,277,284,300,301,314,315,324,335,337,338,341,344,345,354,369],lever:369,lexer:379,lexic:168,lexin:[284,289,294],lf:[17,113,177,194,208,352,378],lfs2:109,lfs_mount:[191,192,193],lgc:[314,315,320],li:267,liansheng:264,lianshengd:[231,282,296],lib:[269,296,304,380],lib_xx:304,libcoap:[29,121,296],libcool:304,libemqtt:268,libfota:[54,268,269,274],libfota_cb:59,libfota_timeout:54,libgnss:[29,121,268,296],libgt:304,libluato:318,libnam:168,libnet:[54,124,269],librari:[0,1,2,3,4,5,6,7,8,11,12,13,14,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,33,35,36,37,38,39,45,58,66,73,78,81,86,87,91,92,94,95,101,102,103,104,105,107,108,110,113,114,115,118,119,120,121,130,131,133,134,135,137,162,168,169,170,171,172,173,174,175,178,179,180,181,182,184,185,186,187,189,190,191,192,193,195,196,197,198,200,201,202,203,204,205,209,212,217,220,233,248,254,262,268,269,272,273,277,293,301,302,306,312,318,319,327,331,334,335,345,347,348,349,351,353,355,377,380],library_provid:379,libsdl2:321,licens:379,lichuang:372,life:[7,165,352],lifetim:29,lifftef:352,lift:[97,268],light:[40,54,67,103,162,165,177,188,207,208,210,214,224,229,249,250,265,266,267,272,284,289,293,300,301,310,311,312,356],light_color:29,lightweight:[162,378,379],like:[126,136,162,207,212,214,220,250,285,293,301,311,360,372,378,379],limit:[4,98,112,128,130,135,136,162,212,220,238,247,250,255,268,269,273,274,294,318,334,349,350,366,372,374,378,379],line1:162,line:[18,29,30,36,73,78,79,85,99,106,123,127,136,138,163,168,178,179,195,196,197,198,202,203,204,205,208,212,214,220,221,238,250,255,266,285,292,294,302,318,325,326,334,336,348,349,351,355,356,361,363,369,372,374,375,378,380,381,382],line_color:162,line_cr:162,line_demo:162,line_num:162,line_part_main:162,line_point:162,line_ref:379,line_set_auto_s:162,line_set_point:162,line_set_y_invert:162,linear:89,linedefin:379,linemet:162,linemeter_:162,linemeter_cr:162,linemeter_part_main:162,linemeter_set_rang:162,linemeter_set_scal:162,linemeter_set_valu:162,linetyp:162,link:[0,1,2,3,4,6,7,8,9,10,11,13,14,16,17,18,19,20,21,23,24,25,26,27,28,30,31,32,33,34,35,36,38,39,45,58,81,86,87,89,94,95,98,100,101,103,104,105,107,108,113,114,115,117,118,119,120,122,127,128,130,131,132,133,134,136,210,214,221,229,247,257,258,271,287,291,292,293,295,314,315,318,320,324,337,345,349,351,379,388,393,395,398,401,404,407],link_pin:29,linkag:60,linker:379,linkup:29,linkv2:255,linkv3:255,linux:[138,167,212,220,318,326,352,356,361,372,374,375,379],lion:165,lis2dh12:54,lis2dh12_data:61,list1:162,list:[6,19,24,29,30,54,98,123,138,163,168,178,212,214,220,248,253,255,293,301,303,310,311,312,313,323,346,348,356,374,378,381],list_add_btn:162,list_btn:162,list_clean:162,list_creat:162,list_demo:162,list_down:162,list_focu:162,list_get_btn_img:162,list_get_btn_index:162,list_get_btn_label:162,list_get_btn_text:162,list_of_valu:162,list_part_bg:162,list_part_edge_flash:162,list_part_scrl:162,list_part_scrlbar:162,list_part_scrollbar:162,list_remov:162,list_set_anim_tim:162,list_set_btn_select:162,list_set_edge_flash:162,list_set_layout:162,list_set_scroll_propag:162,list_set_scrollbar_mod:162,list_up:162,listchr:29,listen:[25,29,54,363],listsvr:29,lit:[185,186,187,360],liter:379,literalstr:379,lithium:238,littl:[101,115,117,128,130,162,185,186,187,304,349,351,379],littlef:[17,212,247,352],littlevgl:162,live:[115,379],ll:[165,166,212,217,220,293],ll_apb1_grp1_enableclock:214,ll_apb1_grp1_periph_pwr:214,ll_apb1_grp2_enableclock:214,ll_apb1_grp2_periph_syscfg:214,ll_gpio_mode_output:214,ll_gpio_pin_0:214,ll_gpio_setpinmod:214,ll_gpio_togglepin:214,ll_init1mstick:214,ll_iop_grp1_enableclock:214,ll_iop_grp1_periph_gpiob:214,ll_mdelai:214,ll_rcc_apb1_div_1:214,ll_rcc_getsysclksourc:214,ll_rcc_hsi_en:214,ll_rcc_hsi_isreadi:214,ll_rcc_setahbprescal:214,ll_rcc_setapb1prescal:214,ll_rcc_setsysclksourc:214,ll_rcc_sys_clksource_hsisi:214,ll_rcc_sys_clksource_status_hsisi:214,ll_rcc_sysclk_div_1:214,ll_setsystemcoreclock:214,llcc68:[86,87],llogd:304,llvm:[321,322],lm75:54,lm75_data:[54,74],lm75a:54,lm75b:54,lmathlib:323,lmeter:[138,163],lmeter_demo:162,lng:[39,57,58],lnk:318,lo:378,load:[15,29,89,109,162,168,210,221,224,229,237,238,253,268,287,292,293,303,314,315,327,331,360,378],loader:379,loader_:379,loadfil:[168,331],loadlib:168,loc:39,local:[1,2,4,6,11,12,13,14,16,18,19,20,24,26,27,28,30,31,32,36,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,56,57,58,59,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,82,83,84,88,89,91,92,94,95,98,99,100,101,103,104,105,107,108,109,110,111,112,113,115,117,118,119,120,122,127,128,131,133,134,135,136,162,165,166,168,170,171,173,174,175,182,189,190,191,192,193,195,196,197,198,200,202,203,204,205,212,220,268,269,275,302,303,304,305,311,321,322,325,327,328,330,331,333,334,335,336,342,343,344,348,352,353,380,381,382],local_nam:29,local_port:29,localip:29,localtim:379,locat:[10,15,30,39,54,58,66,85,90,91,93,112,117,127,136,162,191,192,193,207,302,304,314,315,330,331,379,380],lock:29,locstr:29,loctyp:57,lod:312,log:[0,1,2,5,6,8,10,11,12,13,14,15,16,17,18,20,23,24,25,26,27,29,30,36,38,39,40,41,42,44,45,46,47,48,49,50,52,53,56,57,58,59,61,62,64,65,66,67,68,70,72,75,76,77,79,80,83,84,86,87,89,90,92,93,94,95,96,98,99,100,101,103,104,105,107,108,109,111,112,113,114,115,117,118,120,121,122,123,126,127,128,129,131,133,134,166,168,169,170,171,172,173,174,175,177,178,180,181,182,184,189,190,191,192,193,195,196,197,198,200,201,202,203,204,205,208,213,221,224,234,245,255,267,268,269,272,275,282,284,289,293,302,304,305,306,311,319,321,322,326,334,335,336,380,381,382,383,385],log_br:347,log_debug:85,log_error:85,log_info:85,log_level:29,log_sil:85,log_warn:85,logarithm:[369,379],logger:369,logic:[16,29,66,109,121,128,168,211,268,269,303,305,325,330],login:[29,95],logo:[6,36,207,312],logstor:[29,121],longer:[11,57,95,106,133,162,211,212,247,264,268,348,379],longest:379,longitud:[39,57],longjmp:379,longlong:2,look:[16,25,91,115,162,165,166,185,187,196,197,198,203,204,205,207,212,220,304,314,315,320,323,339,353,354,355,360,378,379,380,381],lookup:379,loop:[29,31,121,122,169,177,202,208,212,213,220,255,268,325,330,333,358,379,380,381,382],loopback:[212,220],loopid:382,loosen:[162,372],lora2:[29,121,268],lora:[29,87,121,268],lora_devic:29,lora_init:86,lora_rx_don:[86,87],loraconfig:29,lorem:162,lose:[29,39,121,123,212,220,266],loss:[220,372],lost:[39,103,123,226,232,266,268],lot:[178,212,220,304,335,347,381,384],love:165,low:[21,24,26,29,66,91,102,103,115,119,121,162,165,179,211,212,213,214,221,238,243,250,254,255,260,266,268,277,282,284,289,294,300,324,331,337,340,342,343,345,355,356,358,360,374,379,381,385],low_irq:21,lower:[13,18,36,89,127,166,168,173,174,175,180,181,210,211,214,218,221,250,255,320,356,358,369,378],lowercas:[162,348,378,379],lowest:[93,103,162],lpmem:[29,121,293,332],lpt:250,lpuart:268,lqfp100:282,lqlq666lqlq946:20,lsat:277,lsb:[27,73,117,128,191,192,193,342,343],lsdir:[29,268,328],lse:214,lse_startup_timeout:214,lse_valu:214,lsi_valu:214,lsmount:29,lst:379,lt:379,ltd:162,lte:[67,94,273],ltepin:54,ltrim:29,lua:[5,12,14,15,18,30,31,39,57,67,72,85,89,92,99,101,106,109,117,122,124,136,162,168,171,178,179,190,191,192,193,201,207,209,212,220,221,226,232,247,257,264,266,268,269,273,274,302,304,305,309,312,314,315,318,320,321,322,324,326,330,335,337,338,345,347,349,350,351,352,355,369,380,381,382,384],lua_32bit:379,lua_:379,lua_absindex:168,lua_alloc:168,lua_api:348,lua_arith:168,lua_atpan:168,lua_cal:[168,336,348],lua_callk:168,lua_cfunct:168,lua_checkint:325,lua_checkstack:168,lua_clos:168,lua_compar:168,lua_concat:168,lua_copi:168,lua_cpath:379,lua_cpath_5_3:379,lua_createt:168,lua_debug:168,lua_dump:168,lua_errerr:379,lua_errfil:379,lua_errgcmm:379,lua_errmem:379,lua_error:168,lua_errrun:379,lua_errsyntax:379,lua_extraspac:379,lua_fil:331,lua_filehandl:379,lua_gc:168,lua_gccollect:379,lua_gccount:379,lua_gccountb:379,lua_gcisrun:379,lua_gcrestart:379,lua_gcsetpaus:379,lua_gcsetstepmul:379,lua_gcstep:379,lua_gcstop:379,lua_getallocf:168,lua_getctx:379,lua_getextraspac:168,lua_getfield:168,lua_getglob:[168,336,348],lua_gethook:168,lua_gethookcount:168,lua_gethookmask:168,lua_geti:168,lua_getinfo:168,lua_getloc:168,lua_getmetat:168,lua_getstack:168,lua_gett:[168,336],lua_gettop:168,lua_getupvalu:168,lua_getuservalu:168,lua_hook:168,lua_hookcal:379,lua_hookcount:379,lua_hooklin:379,lua_hookret:379,lua_hooktailcal:379,lua_ids:379,lua_init:379,lua_init_5_3:379,lua_insert:168,lua_int:379,lua_integ:168,lua_isboolean:168,lua_iscfunct:168,lua_isfunct:168,lua_isinteg:168,lua_islightuserdata:168,lua_isnil:168,lua_isnon:168,lua_isnoneornil:168,lua_isnumb:168,lua_isstr:168,lua_ist:168,lua_isthread:168,lua_isuserdata:168,lua_isyield:168,lua_kcontext:168,lua_kfunct:168,lua_len:168,lua_load:168,lua_maskcal:379,lua_maskcount:379,lua_masklin:379,lua_maskret:379,lua_maxinteg:379,lua_mininteg:379,lua_minstack:379,lua_multret:379,lua_newst:[168,331],lua_newt:168,lua_newthread:168,lua_newuserdata:168,lua_next:168,lua_noref:379,lua_numb:168,lua_numbertointeg:168,lua_ok:379,lua_opadd:379,lua_opband:379,lua_opbnot:379,lua_opbor:379,lua_opbxor:379,lua_opdiv:379,lua_opeq:379,lua_opidiv:379,lua_opl:379,lua_oplt:379,lua_opmod:379,lua_opmul:379,lua_oppow:379,lua_opshl:379,lua_opshr:379,lua_opsub:379,lua_opunm:379,lua_path:379,lua_path_5_3:379,lua_pcal:168,lua_pcallk:168,lua_pop:168,lua_pushboolean:[168,304],lua_pushcclosur:168,lua_pushcfunct:[168,304],lua_pushfstr:[168,304],lua_pushglobalt:168,lua_pushinteg:[168,305,330,336],lua_pushlightuserdata:[162,168],lua_pushliter:168,lua_pushlstr:168,lua_pushnil:[168,305],lua_pushnumb:168,lua_pushstr:[168,305,336,348],lua_pushthread:168,lua_pushunsign:379,lua_pushvalu:168,lua_pushvfstr:168,lua_rawequ:168,lua_rawget:168,lua_rawgeti:168,lua_rawgetp:168,lua_rawlen:168,lua_rawset:168,lua_rawseti:168,lua_rawsetp:168,lua_read:168,lua_real:379,lua_refnil:379,lua_regist:168,lua_registryindex:379,lua_remov:168,lua_replac:168,lua_resum:168,lua_ridx_glob:379,lua_ridx_mainthread:379,lua_rot:168,lua_setallocf:168,lua_setfield:168,lua_setglob:[168,304],lua_sethook:168,lua_seti:168,lua_setloc:168,lua_setmetat:168,lua_sett:168,lua_settop:168,lua_setupvalu:168,lua_setuservalu:168,lua_stat:[162,168,304,305,323,335,336,348],lua_statu:168,lua_stringtonumb:168,lua_sys_xxx:323,lua_tboolean:379,lua_tfunct:379,lua_tlightuserdata:379,lua_tnil:379,lua_tnon:379,lua_tnumb:379,lua_toboolean:168,lua_tocfunct:168,lua_tointeg:168,lua_tointegerx:168,lua_tolstr:168,lua_tonumb:168,lua_tonumberx:168,lua_topoint:168,lua_tostr:168,lua_tothread:168,lua_tounsign:379,lua_tounsignedx:379,lua_touserdata:168,lua_tstr:379,lua_ttabl:379,lua_tthread:379,lua_tuserdata:379,lua_typ:168,lua_typenam:168,lua_unsign:168,lua_upvalueid:168,lua_upvalueindex:168,lua_upvaluejoin:168,lua_use_apicheck:379,lua_valu:331,lua_vers:168,lua_writ:168,lua_writestr:331,lua_xmov:168,lua_yield:168,lua_yieldk:168,luac:[17,109,347,379],luaconf:379,luadb:[6,15,25,27,30,36,82,95,97,99,104,107,294,347,349,350,352],luadb_t:346,luahelp:210,luai_throw:379,lual:379,lual_:379,lual_add:379,lual_addchar:168,lual_addlstr:168,lual_adds:168,lual_addstr:168,lual_addvalu:168,lual_argcheck:168,lual_argerror:168,lual_buff:168,lual_buffers:379,lual_buffinit:168,lual_buffinits:168,lual_callmeta:168,lual_check:379,lual_checkani:168,lual_checkint:379,lual_checkinteg:[168,304],lual_checklong:379,lual_checklstr:[168,304],lual_checknumb:168,lual_checkopt:168,lual_checkstack:168,lual_checkstr:[162,168],lual_checktyp:168,lual_checkudata:168,lual_checkunsign:379,lual_checkvers:168,lual_checkxxx:323,lual_dofil:168,lual_dostr:168,lual_error:168,lual_execresult:168,lual_fileresult:168,lual_getmetafield:168,lual_getmetat:168,lual_getsubt:168,lual_gsub:168,lual_len:168,lual_loadbuff:168,lual_loadbufferx:168,lual_loadfil:168,lual_loadfilex:168,lual_loadstr:168,lual_newlib:168,lual_newlibt:168,lual_newmetat:168,lual_newst:168,lual_openlib:168,lual_optint:379,lual_optinteg:168,lual_optlong:379,lual_optlstr:168,lual_optnumb:168,lual_optstr:168,lual_optunsign:379,lual_prepbuff:168,lual_prepbuffs:168,lual_pushresult:168,lual_pushresults:168,lual_pushxxxx:323,lual_ref:168,lual_reg:168,lual_requiref:168,lual_setfunc:168,lual_setmetat:168,lual_stream:168,lual_testudata:168,lual_tolstr:168,lual_traceback:168,lual_typenam:168,lual_unref:168,lual_wher:168,lualib:379,luao:260,luaopen_:379,luaopen_a_:379,luaopen_a_b_c:379,luaopen_bas:379,luaopen_coroutin:379,luaopen_debug:379,luaopen_io:379,luaopen_math:379,luaopen_packag:379,luaopen_str:379,luaopen_t:379,luaopen_utf8:379,luaopen_xxx:304,luaoto:320,luastat:[325,330],luat:[36,125,168,171,201,304,316,318,320,324,328,329,332,334,337,340,345],luat_:348,luat_bas:[162,304],luat_base_xxx:304,luat_cbcwait:305,luat_cbcwait_noarg:305,luat_conf_bsp:[162,294,304,314,315,320],luat_custom_init:304,luat_custom_sayhi:304,luat_demo_xxx:323,luat_fil:328,luat_font:327,luat_font_data:339,luat_font_data_t:339,luat_font_get:327,luat_font_t:327,luat_fs_fclos:328,luat_fs_fopen:[268,328,331],luat_fs_fseek:328,luat_fs_ftel:328,luat_fs_getc:328,luat_gpio_callback:330,luat_gpio_clos:340,luat_gpio_default:272,luat_gpio_fal:340,luat_gpio_get:340,luat_gpio_high:340,luat_gpio_input:340,luat_gpio_input_pulldown:340,luat_gpio_input_pullup:340,luat_gpio_low:340,luat_gpio_output:340,luat_gpio_output_od:340,luat_gpio_ris:340,luat_gpio_rising_fal:340,luat_gpio_rtt:330,luat_gpio_set:340,luat_gpio_setup:[323,331,340],luat_gpio_t:[323,330,340],luat_has_custom_lib_init:304,luat_heap_alloc:[329,331,348],luat_heap_calloc:329,luat_heap_fre:[305,329],luat_heap_getfre:329,luat_heap_init:329,luat_heap_mallac:323,luat_heap_malloc:[305,329,331],luat_heap_realloc:329,luat_lib_:36,luat_lib_fonts_h:162,luat_lib_gpio:330,luat_lib_sys_run:323,luat_lib_xxx:[304,323],luat_log:304,luat_log_tag:304,luat_lv_font_get:162,luat_lvgl_font:162,luat_malloc:304,luat_malloc_heap_s:329,luat_msg_hanld:330,luat_msgbu:318,luat_msgbus_data:[325,330],luat_msgbus_frees:330,luat_msgbus_get:[325,330],luat_msgbus_init:330,luat_msgbus_itemcount:330,luat_msgbus_put:[305,330],luat_os_get_tim:331,luat_pm_mod:332,luat_pushcwait:305,luat_pushcwait_error:305,luat_spi_clos:342,luat_spi_recv:342,luat_spi_send:342,luat_spi_setup:342,luat_spi_t:342,luat_spi_transf:342,luat_struct_map:335,luat_timer_maxid:333,luat_timer_start:333,luat_timer_stop:333,luat_timer_t:[305,333],luat_uart_clos:343,luat_uart_read:343,luat_uart_setup:[268,343],luat_uart_t:343,luat_uart_writ:343,luat_use_adc:348,luat_websocket_p:268,luat_wlan_ap_get_info:344,luat_wlan_ap_get_stainfo:344,luat_wlan_ap_is_act:344,luat_wlan_ap_stop:344,luat_wlan_connect:344,luat_wlan_evt_ap_associ:344,luat_wlan_evt_ap_disassoci:344,luat_wlan_evt_ap_start:344,luat_wlan_evt_ap_stop:344,luat_wlan_evt_readi:344,luat_wlan_evt_scan_don:344,luat_wlan_evt_scan_report:344,luat_wlan_evt_sta_connect:344,luat_wlan_evt_sta_connected_fail:344,luat_wlan_evt_sta_disconnect:344,luat_wlan_get_apnet:344,luat_wlan_get_info:344,luat_wlan_get_powersav:344,luat_wlan_get_rssi:344,luat_wlan_get_stanet:344,luat_wlan_info_t:344,luat_wlan_is_readi:344,luat_wlan_net_t:344,luat_wlan_register_event_handl:344,luat_wlan_scan_with_info:344,luat_wlan_security_open:344,luat_wlan_security_wep_psk:344,luat_wlan_security_wep_shar:344,luat_wlan_security_wpa2_aes_psk:344,luat_wlan_security_wpa2_mixed_psk:344,luat_wlan_security_wpa2_tkip_psk:344,luat_wlan_security_wpa_aes_psk:344,luat_wlan_security_wpa_tkip_psk:344,luat_wlan_security_wps_open:344,luat_wlan_security_wps_secur:344,luat_wlan_set_apnet:344,luat_wlan_set_powersav:344,luat_wlan_set_stanet:344,luat_wlan_start_ap:344,luat_wlan_unregister_event_handl:344,luat_xxx:323,luat_xxx_freerto:323,luat_xxx_rtt:323,luatask:[168,209,212,369,381],luatcommun:[216,228,236,238,249,252,258,267,297,298,300,319],luatgpiopin:331,luatgpiopul:331,luatid:[284,289,347,352,384],luato:[5,10,11,30,36,66,73,78,89,95,112,115,123,138,163,164,166,167,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,201,202,203,204,205,206,207,208,210,211,213,214,218,220,221,223,225,226,228,231,232,234,238,239,245,246,248,257,260,263,265,266,267,269,271,274,275,285,288,292,293,294,295,302,304,305,311,313,314,315,316,317,318,319,320,321,322,324,337,345,346,348,349,350,351,353,354,355,377,382,384,386,393,394,395,396,399,402,407],luatool:[59,106,207,212,221,235,269,274,277,284,289,294,318,320,326,347,352,354,384,385],luatos_0022eecc2399:134,luatos_:[109,134],luatos_esp32:354,luatos_root:320,luatos_vers:109,luavm:[1,11,92,109,302,321,322],luiz:379,lure:360,lux:[76,80],lux_dat:76,luxuri:289,lv:162,lv_anim_path_t:89,lv_at:162,lv_conf:162,lv_draw_mask_fade_param_t:89,lv_draw_mask_line_param_t:89,lv_draw_mask_radius_param_t:89,lv_font:162,lv_font_:162,lv_font_conv:162,lv_font_declar:162,lv_font_dejavu_16_persian_hebrew:162,lv_font_montserrat_10:162,lv_font_montserrat_12:162,lv_font_montserrat_12_subpx:162,lv_font_montserrat_14:162,lv_font_montserrat_16:162,lv_font_montserrat_18:162,lv_font_montserrat_20:162,lv_font_montserrat_22:162,lv_font_montserrat_24:162,lv_font_montserrat_26:162,lv_font_montserrat_28:162,lv_font_montserrat_28_compress:162,lv_font_montserrat_30:162,lv_font_montserrat_32:162,lv_font_montserrat_34:162,lv_font_montserrat_36:162,lv_font_montserrat_38:162,lv_font_montserrat_40:162,lv_font_montserrat_42:162,lv_font_montserrat_44:162,lv_font_montserrat_46:162,lv_font_montserrat_48:162,lv_font_montserrat_8:162,lv_font_opposans_m_10:162,lv_font_opposans_m_12:162,lv_font_opposans_m_14:162,lv_font_opposans_m_16:162,lv_font_opposans_m_18:162,lv_font_opposans_m_20:162,lv_font_opposans_m_22:162,lv_font_opposans_m_8:162,lv_font_simsun_16_cjk:162,lv_font_simsun_48:162,lv_font_t:162,lv_font_unscii_16:162,lv_font_unscii_8:162,lv_obj_t:89,lv_scr_load_anim:89,lv_scr_load_anim_t:89,lvgl:[15,29,121,138,211,224,268,269,273,293,296,314,339,405],lvglfonttool:162,lvl:379,lwip:[115,268,331],lwip_ap:115,lwip_eth:115,lwip_gp:[115,123],lwip_sta:115,lx7:289,ly:360,ly_key_ent:162,m0:[211,218,299,300],m1:71,m33:[211,243,250,282],m3:[255,282,283],m4f:[282,283],m52:277,m85:250,m:[29,47,99,162,165,168,171,221,277,378],m_cannot:379,ma:[238,372,375,376],mac:[29,72,257,344,356,361,372,374,375,379],machin:[29,96,109,121,173,174,175,207,212,217,224,229,235,237,246,268,271,272,287,292,293,294,304,310,314,315,318,320,323,325,328,329,330,335,347,349,351,352,360,372,378,379],maco:326,macro:[217,293,304,348,379],made:[94,107,162,166,212,220,268,304,348,360,379,381],mag:44,magic:[214,248,250,301,339,346,379],magna:162,magnet:39,magnetic_track_degre:39,magnif:[93,379],magnitud:378,mai:[1,6,26,31,91,94,98,101,103,111,122,134,136,162,210,213,218,220,221,238,250,255,268,311,323,328,330,333,348,358,360,363,366,369,372,373,376,378,379],mailbox:[255,268],main:[5,14,17,18,26,57,66,72,85,91,122,124,162,177,179,183,189,207,208,209,211,212,213,217,224,229,237,238,248,253,254,266,267,268,269,273,274,284,287,293,294,301,302,303,305,312,314,315,320,321,322,332,342,352,355,379,380,381,382,394],main_ct:272,main_dcd:272,main_ri:[265,272],main_rx:272,main_rxd:272,main_tx:272,mainli:[1,11,107,196,197,198,214,248,269,292,301,323,326,372,379,384,391],mainstream:[253,254,260],maintain:[21,103,162,211,238,255,272,379],mainten:250,major:[29,109,162,356,374],major_tick_len:162,make:[35,89,94,98,103,162,178,185,186,187,208,211,212,220,235,250,302,311,321,327,347,349,351,363,378,379,381],makefil:316,malici:379,mall:[218,225,231,254,300,356,372,384],mall_id:384,mall_pag:384,malloc:[331,379],man:384,manag:[29,121,162,168,207,212,213,235,253,274,292,293,306,307,311,312,324,337,338,340,342,343,345,360,363,381,385],mandarin:277,mandatori:[92,95],mani:[4,23,30,31,111,115,120,128,162,212,220,221,238,250,255,272,277,293,305,306,319,323,327,339,344,349,351,352,355,378,379,380],manipul:[29,121,162,379],manner:[2,358,379],manual:[1,11,91,117,138,163,168,169,173,174,175,177,186,199,203,204,205,207,208,212,217,218,223,224,228,233,236,253,254,255,258,266,267,268,272,282,284,289,293,299,300,314,315,320,336,343,348,354,355,356,360,369,378,381,382],manual_v1:258,manufactur:[177,191,192,193,199,208,212,220,221,238,250,331,347,363],maopi:111,map0:339,map1:339,map:[9,25,29,39,116,121,123,162,197,212,224,229,246,263,267,268,272,293,303,339,360,379],map_typ:339,march:[134,162],margin:162,mark:[101,136,162,255,267,277,303,347,378,379,382],markdown:162,marker:[101,379],market:[253,254,255,352],mask:[29,35,37,54,63,115,131,134,138,163,168,326,344],mask_p:162,mask_param:162,maskabl:255,mass:[57,59,221,271,293,378],massiv:369,master:[27,36,66,117,127,173,174,175,195,212,214,220,221,238,243,253,269,284,292,293,300,312,314,315,318,320,342,347,348,352,366,374,377,386,396,399,402],match:[68,168,169,202,203,204,205,212,220,293,318,358,363,383],materi:[266,295],material_dark:89,material_light:89,material_no_focu:89,material_no_transit:89,math:[168,378],mathemat:[168,378],matic:162,matrix:[29,93,121,123,138,163,171,327],matter:[210,378,379],max30102:[29,121],max:[14,27,29,162,168,214,218,250,378],max_char_num:162,max_h:162,max_temp:29,max_tick:29,maxbuff:343,maxim:[6,66],maximum:[11,12,16,21,30,31,59,74,89,93,94,98,107,109,125,128,130,131,138,163,180,181,182,185,196,197,198,211,212,238,260,268,277,293,299,300,342,356,361,367,369,374,375,378,379,381,382],maxinteg:168,maxout:29,maxsiz:29,mbedtl:115,mbox1:162,mbox:162,mbox_set_anim_tim:162,mbox_stop_auto_clos:162,mbp:[243,294],mc68hcxx:[196,197,198],mcc:[29,94],mclk:29,mco:[253,254,293],mco_plldiv:251,mcp25125:269,mcp2515:54,mcp2515_c:63,mcp2515_int:63,mcp2515_spi:63,mcpwm:289,mcu:[11,29,31,63,72,94,99,121,128,131,137,165,177,180,181,182,184,201,208,212,213,217,221,224,225,231,238,250,255,268,272,294,300,328,332,347,348,355],mcu_font:162,mcuisp:255,md5:[29,32,170,209,282,346],md5_stream:6,md:[29,292,312,318],md_file:29,md_sha1:107,md_sha256:107,mdeb:250,mdelai:[29,201],mdh201808109:[223,228],mdk5:[214,248,301],mdk:[217,218,249,250,293],me:[207,212,406],meal:277,mean:[1,13,16,18,31,36,57,67,91,94,115,117,119,124,128,136,162,170,173,174,175,214,255,266,272,293,313,326,349,350,354,363,366,372,376,378,379,381],meaning:[57,102,115,134,333,379],meaningless:[57,94,98,272],meanwhil:326,measur:[0,29,36,90,121,169,176,177,208,212,220,221,266,327,333,356,358,360,361,363,367,374,375,379],measured_pow:29,mechan:[18,94,109,124,125,133,168,201,212,220,255,269,325,328,329,330,332,333,334,340,372,379,380],medium:[185,186,187],meet:[212,220,221,250,260,269,272,294,306,339,355,356,366,372,374,378,379,381],megabyt:293,melon:162,mem:[109,329],member:379,memcmp:136,memcpi:136,meminfo:[29,171,302,321,322],memori:[4,9,12,15,29,30,36,78,79,89,92,109,115,117,121,127,137,162,191,192,193,211,212,220,247,250,255,257,264,268,273,300,302,304,321,322,323,324,330,332,334,337,339,345,347,352,355,369,378,379],memset:136,mention:[212,220,255,330,369,378,379,381],menu:[106,210,214,248,269,301,319,320],menuconfig:285,merg:[9,114,136,138,163,268,355],messag:[1,26,34,55,59,63,94,95,98,102,109,114,115,117,122,124,125,133,134,138,163,168,177,179,201,208,211,212,220,250,253,268,293,324,325,331,333,336,337,345,348,349,351,369,380,381,382],messagequeu:381,met:[68,326,378,379],meta:[95,114,168,312,336,378],metabl:379,metadata:[29,95,114,121],metat:168,meter:[39,44,138,163,356,360,361,372,374,375,378],method:[1,3,13,19,20,25,27,29,67,89,95,106,111,117,122,125,128,133,162,165,168,170,172,201,203,204,205,212,214,220,238,248,249,250,253,254,266,268,293,301,304,305,313,318,319,324,327,329,330,331,336,337,343,345,348,349,350,354,358,360,378,380,381,382],method_:379,metr:39,mg:65,mhz:[29,162,211,238],micro:[297,298,300],microchip:299,microcomput:380,microcontrol:[66,162,238,255,381],microprocessor:[185,186,187],micropython:162,microsoft:[210,248,254,284,289,301,326,369],middl:[10,36,127,162,210,249,277,304,376,379],middlewar:[337,338,345],midlin:162,might:[162,379],migrat:[251,255,379],mile:39,millisecond:[21,57,58,59,67,72,94,96,103,109,122,132,162,173,174,175,277,333,382],millivolt:[10,103],min:[39,68,99,108,162,168,189,212,378],min_temp:29,mingw32:302,mingw64:302,mini:255,miniatur:260,minim:[162,369],minimum:[12,31,93,94,96,98,127,162,212,214,224,238,268,293,320,355,369,379],mininteg:168,miniz:[12,29,121,137,268],minor:29,minor_tick_len:162,minu:[29,30,57,162,379],minut:[11,24,39,57,68,72,98,103,134,184,189,209,211,212,269,287,293,333,381],minute_offset:39,mipp:356,mirror:[138,163],misalign:255,miscellan:378,miso:[29,66,212,220,272],misrecogn:[358,363,372,373,376],miss:[210,211,248,318,379],mission:60,mistak:128,mistakenli:372,mix:[94,112,134,162,243,379],mkd:19,mkdir:29,mkf:29,mlx90614:[26,54,268],mlx90614_ambient:64,mlx90640:[29,121],mmm:39,mnc:[29,94],mo:[162,372],mobil:[29,32,55,58,67,114,115,121,162,211,257,265,266,268,269,273,292,355,356,358,363,384],mock:311,mod:379,mod_typ:169,modbu:[6,101,324,337,345],modbus_slav:335,modbus_t:335,mode2:29,mode:[1,3,10,23,24,29,31,32,33,34,36,43,54,64,66,67,73,85,89,92,94,95,109,110,111,115,128,138,163,165,168,171,184,191,192,193,196,197,198,207,209,211,212,214,220,221,226,232,238,243,249,253,254,260,266,267,268,269,272,273,275,284,289,293,300,319,326,332,339,340,342,344,354,356,360,374,376,381],mode_ble_cli:98,mode_i2:27,mode_key_input:79,mode_led_output:79,mode_lsb:27,mode_msb:27,mode_norm:162,mode_rx:74,mode_tx:74,model:[22,26,29,66,86,87,89,103,109,111,117,138,163,196,197,198,207,212,214,220,253,254,255,269,284,289,293,320,355,366,372,394,405],model_1in02d:10,model_1in54:[10,394],model_1in54_v2:10,model_1in54_v3:10,model_1in54b:10,model_1in54b_v2:10,model_1in54c:10,model_1in54r:10,model_2in13:10,model_2in13_v2:10,model_2in13bc:10,model_2in13d:10,model_2in54b_v3:10,model_2in66:10,model_2in66b:10,model_2in7:10,model_2in7b:10,model_2in9:10,model_2in9_v2:10,model_2in9b_v3:10,model_2in9bc:10,model_2in9d:10,model_3in7:10,model_4:10,model_4in2:10,model_4in2b_v2:10,model_4in2bc:10,model_5in65f:10,model_5in83:10,model_5in83_v2:10,model_5in83b_v2:10,model_5in83bc:10,model_7in5:10,model_7in5_hd:10,model_7in5_v2:10,model_7in5b_hd:10,model_7in5b_v2:10,model_7in5bc:10,moder:378,modev:29,modf:168,modif:[162,255,268,331,376,379],modifi:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,116,117,118,119,120,122,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,163,177,178,207,208,217,253,268,272,293,303,304,309,313,318,320,328,348,349,351,354,372,374,378,379],modnam:168,modul:[13,23,29,30,37,54,66,67,73,94,103,106,108,115,121,123,124,134,162,168,170,184,185,186,187,202,203,204,205,207,208,212,218,220,221,223,224,228,229,237,243,245,246,251,253,259,263,267,268,270,271,272,274,283,285,292,293,299,318,326,328,330,331,345,348,352,355,356,374,381,382,398,404],moduledemo:[214,251],modulo_264_:379,modulu:379,mold:[10,127],mollit:162,moment:[93,379],mon:[68,99,108,189,212,268],monetari:379,monitor:[211,213,385],monkei:378,mono:89,monochrom:[10,162],monospac:[162,210],month:[39,57,68,138,163,189,212,378,379],month_names_arrai:162,montserrat:162,montserrat_14:162,more:[0,1,4,5,11,31,38,39,72,91,92,94,98,115,162,173,174,175,180,181,182,207,211,212,218,220,221,250,254,255,266,268,269,270,303,305,318,319,326,331,344,348,352,354,355,356,358,363,366,367,369,372,374,378,379,381],more_a_:379,more_data:1,morn:378,mosi:[29,212,220],most:[5,24,25,103,115,118,128,132,137,162,189,201,202,203,204,205,212,220,255,269,302,311,324,331,337,345,352,363,372,377,378,379,381],mostli:[115,162],mother:[213,214],motion:211,motiv:[324,337,345],moto6800:289,motor:293,motorola:[196,197,198],moun:[191,192,193],mount:[29,30,53,109,110,130,166,177,190,194,208,212,220,268,284,328,352,356],mount_flash:[191,192,193],mount_point:29,mous:[162,293,369],mouth:[250,363],move:[30,91,128,130,136,138,163,168,203,204,205,255,334,369,372,378],movement:[162,211],mp3:[4,268,273,277],mp4:166,mpram:211,mpu6050:54,mpu6500:54,mpu6xxx:54,mpu9250:[54,268],mpu:243,mqtt:[29,32,55,72,121,268,269,273,275,296],mqtt_client:95,mqttc:29,mr122:4,mr475:4,ms:[13,24,29,86,87,94,95,125,133,214,277,381],msb:[10,27,36,63,66,71,73,74,87,113,117,128,166,178,191,192,193,195,196,197,198,212,220,342,343,348],msc:250,msdbox:[138,163],msdbox_demo:162,msg:[1,29,66,124,133,304,305,324,330,337,345,379,381],msg_gpio:330,msg_timer:381,msgbox:162,msgbox_:162,msgbox_add_btn:162,msgbox_creat:162,msgbox_get_active_btn_text:162,msgbox_part_btn:162,msgbox_part_btn_bg:162,msgbox_part_main:162,msgbox_set_text:162,msgbu:[305,324,337,345],msgbuf_send:330,msgbus_clear:330,msgbus_current_s:330,msgbus_list:330,msgdata:[325,330],msgh:168,msgid:[29,109,330],msgtype:[325,330],msp:255,mspinit:255,msy:302,mtu:98,much:[12,23,115,162,212,220,266,269,331,358,372,378,379,381],muid:29,muldownload:274,multi:[10,29,66,89,106,121,123,162,209,211,218,238,260,293,336,348,356,361,374,375,379,381],multimedia:[27,29,121],multimet:[221,356],multipl:[0,1,2,27,36,93,94,95,98,100,103,110,127,136,162,212,213,226,232,238,254,255,260,268,271,272,277,293,294,300,303,332,339,347,348,352,353,369,379,380,381],multiplex:[21,91,212,238,251,254,255,266,267,268,271,282,284,293],multipli:[243,379],multitask:[294,305,383],multithread:381,multithreading_:379,music:89,must:[2,3,4,7,13,16,20,21,26,27,30,31,59,66,68,71,72,73,81,85,93,94,95,96,98,100,104,110,115,118,122,131,162,169,202,203,204,205,207,210,212,220,221,238,254,255,265,269,274,277,284,289,303,304,311,314,315,318,320,323,330,331,336,348,354,358,360,363,379,380,381],must_mark_it:379,mutat:[221,372],mute:[271,293],mutual:[324,337,345],mv:[0,169],mwsy:166,my:[96,134,162,212,220,356],my_img:162,my_ir_cb:66,my_map:162,myabc:303,myap:134,myapi:[269,304],myblib:305,myctx:305,myctx_t:305,mydevic:32,myfil:352,myflib:303,myfont:312,myfontd:162,myfunc:[303,312],myid:303,mykei:303,mykv:18,mylib:305,myself:[221,250],myserv:269,mytabl:18,mytim:29,n123:379,n1:[168,277,378],n2:[168,378],n60:162,n:[21,26,29,39,68,71,89,91,101,111,120,122,128,130,133,162,168,203,204,205,213,226,232,260,266,277,309,334,378,380,381],n_refer:379,na:238,nabc:120,name:[1,3,6,10,18,19,23,24,29,32,54,57,58,60,94,95,104,113,115,118,121,124,128,134,138,163,168,172,196,197,198,202,203,204,205,210,212,214,220,223,228,238,245,248,250,262,268,269,272,284,285,301,304,305,310,312,314,315,318,319,320,328,336,345,346,347,352,354,372,378,382,385],name_font:319,name_wil:379,namelist:379,namespac:312,namewhat:379,namework:379,nan:379,narg:379,narr:379,nation:[29,121,254,266,268],nativ:[30,134,212,220,302,322,328,355,379],natur:[162,378,379],navig:[138,163,304],nb:[4,29,121,247],nbio:96,nbiot:[29,121,282,355],nc:[238,284,294],ne:[29,121],nearbi:220,nearest:[162,379],nec:[33,54,341],necessari:[1,36,91,102,109,133,217,221,250,255,266,293,303,304,306,323,347,358,363,372,378,379],necessarili:[103,123,325,378,379],necir:54,need:[0,1,2,3,4,5,6,10,12,13,15,21,22,24,26,27,29,30,34,35,36,38,39,40,41,42,44,45,46,47,48,49,51,53,55,56,57,58,59,61,63,65,66,67,69,70,71,72,74,75,76,77,80,82,83,84,89,91,94,95,96,98,102,103,104,112,114,115,116,117,123,124,126,127,128,131,134,135,162,166,171,173,174,175,180,181,191,192,193,196,197,198,207,210,212,214,218,220,221,238,248,250,251,254,255,257,260,267,268,269,272,284,285,289,292,294,301,304,305,311,313,314,315,318,319,323,324,326,327,335,336,337,338,339,341,345,348,352,354,355,358,360,363,366,369,372,374,376,378,379,380,382,384],need_ipv6_dn:29,needl:[138,163,289],needle_color:162,needle_id:162,needle_num:162,neg:[36,39,78,79,91,162,258,348,358,363,372,373,376,378,379,381],neighbor:123,neither:379,nest:[300,335,379],net:[96,162,344,369],net_l:245,net_readi:122,net_status_ind:[381,382],netc:[38,54],netcom:273,netl:[54,272],netlab:115,netmask:[29,344],network:[24,29,32,54,57,58,60,72,81,95,96,103,121,123,131,134,135,170,211,257,265,266,268,269,271,272,273,292,293,318,324,330,333,337,344,345,379,385],network_check_period:29,network_ctrl:115,network_force_close_socket:268,never:[162,185,186,187,325,379],nevertheless:379,new_apn_nam:29,new_data:130,new_nam:29,new_netc:115,new_param:162,new_path:29,new_scr:89,new_valu:162,newcnt:255,newer:162,newindex:379,newli:379,newlin:[162,378,379],newnam:168,next:[13,14,29,31,115,135,162,168,210,212,220,248,255,268,269,292,326,358,360,373,377,378,380,381,406],next_id:29,nexti:353,nfc:211,nic:115,nice:162,nightli:213,nil:[0,1,3,4,5,6,7,10,11,12,13,14,15,16,18,19,20,21,23,24,25,26,27,28,30,34,36,38,39,40,43,45,46,57,58,59,63,66,67,68,71,72,74,81,85,87,88,89,90,92,93,94,95,96,98,99,100,103,104,105,106,107,108,109,110,111,112,113,114,115,117,118,119,122,123,124,125,126,127,128,129,130,131,133,136,162,172,209,212,220,305,344,348,379,380,381,382],nimbl:[29,121,296],nine:54,nisi:162,nline2:162,nline4:162,nmea:[29,121],nmi_handl:214,nmo:66,no_autoat:[217,293],no_error:135,no_n:379,no_readi:130,noclear:29,node:255,nodebug:72,nodej:162,nois:[39,94],nojtag:255,nomin:[98,361,372,375],non:[6,7,18,20,26,29,38,39,54,66,72,91,94,98,106,117,121,122,124,162,191,192,193,211,253,267,268,269,272,292,293,305,306,312,335,343,348,356,363,378,379],non_rel:7,nondeterministic_parsing_flag:92,none:[0,1,2,4,5,6,7,10,12,13,14,16,18,19,20,23,25,27,28,30,31,33,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,53,55,56,57,59,60,61,62,63,64,65,66,67,68,70,71,73,74,75,76,77,78,79,80,81,83,84,85,86,87,88,89,90,91,93,94,95,96,98,99,100,103,104,106,108,109,110,111,113,114,115,116,118,120,122,123,124,127,128,129,130,131,132,133,134,135,136,162,171,203,204,205,254,272,318,327,341,343,348,354,379,381,382],nonsens:209,noop:19,nop:[29,111],nor:[103,275,379],nordi:123,norm:221,normal:[3,9,63,86,87,94,95,96,103,127,133,134,137,162,191,192,193,202,203,204,205,207,210,212,213,218,220,221,226,232,235,238,248,250,255,266,267,268,272,284,285,289,292,300,301,305,314,315,318,363,369,372,373,378,379,381,393,394],north:39,nostrud:162,notat:379,note:[0,1,3,10,11,12,13,18,21,26,27,29,30,36,40,41,42,44,46,47,48,49,51,53,55,56,57,59,61,63,65,67,68,69,70,71,72,74,75,76,77,80,82,83,84,91,94,98,99,103,104,106,107,108,114,115,117,118,122,124,127,130,134,135,136,162,169,173,174,175,202,214,220,225,227,228,229,231,234,235,238,255,259,266,269,271,272,273,274,277,284,289,293,296,301,304,305,311,314,315,318,319,320,325,326,334,335,348,349,351,353,354,356,358,369,378,379,381,394,405],noth:[109,305,329,356,379],notic:162,notif:[115,300],notifi:[95,98,162,250],novel:383,novemb:[162,212],now:[132,162,294,306,334,377,378,379,381],nparam:379,npm:162,npn:[191,192,193],nr:39,nrec:379,nresult:379,nrst:255,nsec:162,nsecond:162,nsize:[329,331,348,379],nstinput:29,nstonoff:29,nstr:255,nth:101,nthird:162,ntp1:115,ntp2:115,ntp:[115,266,273],ntp_error:115,ntp_updat:[115,266],nulla:162,num:[29,114,162,344,378],num_channel:[4,29],num_table_ax:[78,79],num_tick_mark:162,numa:353,numb:353,number:[0,1,2,4,6,7,8,10,11,13,14,17,18,19,21,23,25,26,27,28,29,30,31,32,33,34,36,37,39,40,41,42,44,45,46,48,49,50,51,53,55,56,57,58,59,62,63,64,65,66,67,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,89,90,91,93,95,97,98,101,102,103,105,107,109,111,113,114,115,117,119,120,123,124,127,128,130,131,133,136,138,163,171,172,177,178,179,183,207,208,212,220,223,228,230,238,245,255,262,268,269,271,272,274,282,284,289,293,304,318,323,326,333,334,339,341,342,344,346,347,348,353,354,356,358,363,372,373,376,379,380,381,382,393],number_:379,numbl:57,numer:[21,85,99,103,127,162,274,277,325,330,333,353,378,379],nup:379,nvic:300,nvm:[293,347],nvm_addr:347,nxp:68,nyou:162,o1:277,o2:5,o3:[5,283],o:[3,31,162,217,238,277,293,321,358,363,378,379],obj:[29,138,163,168],obj_add_styl:162,obj_align:[89,162,212,220],obj_align_origo:162,obj_clean:162,obj_creat:[89,162,212,220],obj_del:162,obj_get_height:162,obj_get_st:162,obj_get_width:162,obj_l:162,obj_part_main:162,obj_set_adv_hittest:162,obj_set_auto_realign:162,obj_set_click:162,obj_set_drag:162,obj_set_event_cb:[29,162],obj_set_height:162,obj_set_po:162,obj_set_s:162,obj_set_signal_cb:29,obj_set_style_local_bg_color:162,obj_set_style_local_text_font:162,obj_set_style_local_value_str:162,obj_set_width:162,obj_xxx:162,object:[26,34,36,55,64,68,87,89,93,113,117,122,128,130,136,138,163,168,191,192,193,203,204,205,212,220,330,349,351,378,381],object_:379,objects_:379,objmask:[138,163],objmask_add_mask:162,objmask_cr:162,objmask_demo:162,objmask_mask_t:162,objmask_part_bg:162,objmask_remove_mask:162,objmask_update_mask:162,observ:[128,169,212,213,220,221],obsolet:[29,94,121,379],obtain:[6,14,16,17,18,32,39,44,49,52,53,57,65,72,84,89,90,91,93,94,96,98,99,102,111,113,115,118,128,131,134,136,162,177,183,194,207,208,211,212,220,255,268,271,274,293,305,311,327,328,344,354,378,379,381,382],obvious:[165,378,381],occaecat:162,occas:[293,372],occasion:379,occup:[319,374],occupi:[15,115,117,221,266,284,289,352,379],occur:[1,115,221,255,360,372,379,381],occurr:379,octal:378,octob:[20,134,162],octuari:379,odd:[128,343,378],oe:73,of_ex_:379,of_intermitt:379,of_set_:379,of_step:379,of_templates_separ:379,off:[0,1,5,8,11,21,26,28,29,31,39,54,68,71,72,78,79,94,95,103,105,109,115,118,122,123,126,127,130,132,134,162,169,177,184,199,207,208,212,220,237,250,253,268,292,293,300,301,324,326,337,340,341,345,356,358,363,369,373,374,379,382],offend:162,offici:[5,73,78,91,162,207,208,210,212,220,247,250,273,295,302,318,360,379],officia:162,offlin:[162,253,277,293,318,320],offset:[20,29,36,39,111,127,138,163,168,221,238,294,328,334,347],often:[170,378,379],ohm:238,ok:[6,25,26,39,85,89,90,93,103,115,117,162,191,192,193,248,250,304,305,318,319,323,334,336,343,354,358,363,378,379],okai:162,ol:171,old:[11,20,86,91,98,136,162,212,220,268,379],old_path:29,oldnam:168,om:162,omit:[305,335,339,378],on_lin:[115,268],on_off:29,onboard:[211,212,220,260,284,289,393],onc:[7,11,21,33,72,98,100,103,104,123,132,162,212,213,255,266,333,378,379,380,381],onchip:112,onchip_fdb:[14,172],one:[0,2,16,27,66,72,73,89,114,115,123,128,130,136,162,165,169,191,192,193,196,197,198,200,202,203,204,205,207,212,217,220,221,247,250,253,260,266,267,268,272,277,282,285,289,293,303,304,311,313,325,346,348,358,360,372,378,379,381,382],one_and_zero:6,onenet:[29,54,85,149,268],oneself:250,onet:55,onff:29,onheap:29,onlevel:29,onli:[0,1,2,3,4,10,11,12,13,14,18,19,21,22,26,27,29,30,31,33,34,36,37,39,57,58,60,65,66,67,68,72,89,91,92,94,95,96,98,99,100,102,103,104,106,107,108,109,110,112,115,117,120,121,122,127,128,130,131,133,134,136,138,163,169,173,174,175,182,191,192,193,195,196,197,198,207,212,214,220,221,223,228,233,238,250,253,265,266,267,268,269,272,273,274,277,284,289,292,293,294,296,303,304,305,306,318,323,326,329,330,331,332,335,339,341,346,348,352,354,355,360,363,369,378,379,380,381,382,387,393],onlin:[162,212,269,314,315,320,392],only_references_to:379,onoff:[1,29],onto:[323,379],op:[372,379],opa_30:162,opa_cov:162,opa_transp:162,opac:162,opaqu:379,opcod:133,open:[11,13,21,24,27,29,30,39,43,54,66,68,71,86,87,91,94,95,103,106,110,115,133,138,163,166,168,169,185,186,187,191,192,193,207,210,211,212,213,214,220,221,235,238,251,253,268,269,273,274,284,289,292,293,295,300,304,314,315,318,320,340,342,343,344,348,352,356,360,363,369,372,376,377,378],openf:379,openluat:[11,36,39,57,59,106,207,214,216,225,228,231,236,238,247,248,249,252,258,266,267,269,273,277,297,298,300,304,312,313,314,315,317,318,319,320,352,384,386,396,399,402],openocd:[253,293],openssl:107,oper:[5,11,13,29,30,39,71,78,79,89,103,110,115,121,127,136,162,168,180,181,182,184,191,192,193,196,197,198,201,207,210,212,218,220,221,226,232,243,250,255,266,268,277,289,294,300,302,304,318,324,326,328,330,334,337,345,348,352,353,355,356,358,360,372,373,374,377,380,394],operand:379,operson:104,oppo12:15,oppo:162,oppo_8:15,oppo_bold_12:319,oppo_bold_8:15,opposan:162,opposans_m_10:[89,162],opposans_m_12:[89,162],opposans_m_14:162,opposans_m_16:162,opposans_m_18:162,opposans_m_20:162,opposans_m_22:162,opposans_m_8:162,opposansm8_chines:15,opposit:[115,128,378,379],opt:[29,168],optim:[92,94,268,323,355],option:[2,6,10,12,13,14,17,18,20,21,24,26,27,32,33,36,38,39,55,57,59,69,73,78,81,89,91,94,95,96,98,103,107,115,117,120,122,126,127,128,130,133,134,136,138,163,210,212,217,253,254,268,293,300,302,303,310,321,322,323,335,342,347,348,354,358,363,378,379,385],optional_a_:379,or_closed_:379,or_closure_:379,or_ful:379,or_numer:379,or_out:379,orang:162,order:[36,66,117,162,179,189,212,220,221,250,255,268,284,304,305,306,320,325,326,331,339,342,344,346,348,369,372,377,378,379,380,381,383],ordin:[136,363,369],ordinari:[96,103,162,221,272,305,372,379,393],org:[5,10,36,162,165,212,213,220,273,294,379],organ:[162,352,381],orient:[162,268,314,315,320,379],origin:[0,1,3,4,12,14,18,38,39,92,94,136,162,169,170,254,268,271,284,285,289,293,318,319,326,328,331,347,369,378,379],originstr:29,os:[5,29,30,68,108,115,121,123,133,168,171,189,212,302,321,322,331,333,378],osc:238,oscil:[91,189,212,214,223,224,228,238,255,293,300],oscilloscop:[128,221],osiz:[329,331,348,379],ota:[55,59,72,109,271,293],ota_port:54,ota_url:[54,72,269],ota_vers:72,otf:162,otg:[243,289],other:[1,11,13,16,22,39,54,60,66,72,91,92,94,95,98,103,105,106,109,123,124,128,130,162,189,191,192,193,196,197,198,211,212,213,214,218,220,221,223,228,238,246,248,249,250,253,257,262,266,268,272,284,289,292,293,294,300,301,303,305,306,318,320,323,328,331,335,341,344,346,347,348,353,354,356,358,363,372,373,376,378,379,380,381],otherwis:[1,3,4,6,7,8,10,11,12,13,14,15,17,18,20,21,22,23,25,26,30,34,36,37,43,55,58,68,72,87,88,89,90,91,92,93,94,95,96,97,98,99,100,103,107,108,110,111,112,113,114,115,117,118,119,122,124,127,129,130,132,133,134,135,162,169,202,203,204,205,210,212,218,220,234,255,266,267,268,304,305,314,358,360,372,378,379,380,382],otp:[6,29,121,282,296],otpdata:100,our:[162,165,212,235,248,301,314,315,320,323,378,379],ourselv:378,out0_process:255,out:[11,18,54,66,68,94,107,114,115,117,130,136,162,166,169,173,174,175,196,197,198,212,214,220,255,268,287,289,293,305,311,314,315,318,323,334,369,378,379,381,393],out_buff:29,out_path:29,outbuf:4,outdoor:211,outer:[162,207,379],outermost:325,outlin:162,output:[1,2,3,4,5,7,8,10,20,21,26,29,35,37,39,66,73,79,85,91,94,102,103,105,111,115,116,121,134,136,137,162,165,168,169,170,177,183,188,191,192,193,208,214,217,221,224,238,253,254,265,267,268,272,273,284,293,300,301,311,318,323,324,331,335,337,340,341,345,353,356,358,361,363,367,374,375,380,381,383],output_fil:29,output_od:340,outrevers:29,outsid:[162,207,251,254,268,379],over:[103,109,120,162,255,348,378,379],overal:[162,212,220,221,248,249,269,301,326,378],overflow:[91,300,314,379],overflow_:379,overlap:379,overli:162,overload:379,overrid:[138,163,379],oversea:213,overshoot:89,overview:[138,163,237,253,293,356,388,395],overwrit:[26,309,379],overwritten:18,own:[0,1,2,3,4,6,7,8,9,10,11,13,14,16,17,18,19,20,21,23,24,25,26,27,28,30,31,32,33,34,35,36,38,39,45,53,58,81,86,87,89,94,95,98,100,103,104,105,107,108,109,113,114,115,117,118,119,120,127,128,130,131,132,133,134,136,162,207,211,212,266,301,303,312,341,352,356,363,372,378,379],owner:360,oxygen:90,p0_1:67,p0_4:67,p100:255,p2000:277,p7zip:321,p:[75,101,221,238,277,378,379],p_index:162,pa00:[51,220],pa01:102,pa04:169,pa06:230,pa07:[51,66,230],pa08:230,pa09:230,pa0:[212,220,221,223,238,255],pa10:[230,238],pa11:[230,255],pa12:[102,230,255],pa13:[214,218,230],pa14:[214,218,230],pa15:[230,255],pa1:[127,173,174,212,220,221,223,228,238,255],pa2:[218,228,238,248,249,255,301],pa3:[218,228,238,248,249,255,301],pa4:[127,173,174,212,220,221,223,228],pa5:238,pa6:238,pa7:[21,126,223,238],pa8:238,pa9:238,pa:[1,268],pa_00:[228,262],pa_01:[228,262],pa_02:228,pa_03:228,pa_04:[228,262],pa_05:[228,262],pa_06:228,pa_07:[228,233],pa_08:228,pa_09:[228,233],pa_10:[228,233],pa_11:228,pa_12:[228,233],pa_13:228,pa_14:[228,233],pa_15:228,pac:347,pack:[6,29,121,168,209,213,214,248,250,253,268,293,296,301,334,335,353],packag:[16,23,24,29,72,121,166,168,184,210,212,217,224,225,231,237,247,253,255,258,260,263,268,271,273,282,293,296,299,300,306,307,312,314,315,318,319,320,330,331,334,339,346,347,353,354,360,369,372,381,385],package_air_cn_index:213,package_air_index:213,packet:[38,104,115,212,220,271,274,293,385],packsiz:168,pacman:[314,315],pad12:266,pad28:266,pad:[29,91,103,162,221,258,268,272,289,292,379],pad_bottom:162,pad_index:29,pad_inn:162,pad_left:162,pad_right:162,pad_top:162,padaddr:266,padd_inn:162,padd_left:162,padd_right:162,padd_top:162,padding_bottom:162,padding_inn:162,padding_top:162,paddr:272,padelai:29,page:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,116,117,118,119,120,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,163,196,197,198,207,210,214,227,228,229,231,247,250,253,273,284,285,293,311,319,348,356,358,360,367,369,373,374,377,379,406],page_clean:162,page_cr:162,page_demo:162,page_focu:162,page_get_scrl:162,page_get_width_fit:162,page_glue_obj:162,page_part_bg:162,page_part_scrl:162,page_scroll_hor:162,page_scroll_v:162,page_set_anim_tim:162,page_set_edge_flash:162,page_set_scrl_fit:162,page_set_scrl_fit_height:162,page_set_scrl_fit_width:162,page_set_scrl_height:162,page_set_scrl_layout:162,page_set_scrl_width:162,page_set_scrlbar_mod:162,page_set_scroll_propag:162,pai:[59,68,115,123,210,212,220,238,250,255,272,274,284,323,352,358,372,393],paid:[212,220,238,248,284,289],paint:[36,136],pair:[14,18,63,72,106,118,134,168,172,268,275,381],palett:[138,163],pan:[257,292,317],panel:[300,356],panic:379,panicf:379,paper:[10,379,393,395],papin:29,par:162,para:[29,381],paragraph:[127,304],parallel:289,param1:[29,54],param:[29,123,381,382],paramet:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,162,166,191,192,193,196,197,198,202,203,204,205,212,220,238,255,268,269,271,283,293,294,304,305,306,311,323,326,330,331,335,340,342,343,348,349,351,356,363,372,374,376,379,380,381,382],parametr:162,paraphras:[381,382],parasit:372,parent:[29,162],parenthes:[282,378,379],parenthesi:379,parenthet:379,pariatur:162,pariti:[128,202,203,204,205,212,220],parlist:379,pars:[4,29,35,92,116,121,123,209,325,326,341,378,379],parse_zlib_head:92,parser:379,part:[11,36,57,127,136,138,163,171,176,177,183,188,194,199,206,208,209,212,220,234,266,268,269,277,305,312,314,323,325,331,335,356,360,363,369,372,374,376,378,379,381],parti:[162,253,293,352,363],partial:[0,10,169,255,268,272,282,296,334],particular:[238,378,379],particularli:379,partii:29,partit:[17,29,220,285,347,354],partition_addr:347,partli:378,pascal:379,pass:[1,4,13,16,21,27,36,39,40,41,42,44,46,47,48,49,56,57,59,61,62,65,66,68,69,70,75,76,80,85,86,96,108,109,114,122,128,134,162,191,192,193,203,204,205,221,238,305,316,323,325,330,331,333,335,348,353,356,378,379,381],passag:378,passthrough:16,passwd:29,password:[6,24,29,32,59,71,107,115,138,163,235,292,344,384],past:[6,304,358],patch:[268,284],path:[3,4,24,29,36,82,97,109,135,162,168,211,214,248,250,257,268,292,294,301,302,314,315,318,320,321,322,352,354,381],patha:29,pathb:29,pathc:29,pathd:29,patient:213,pattern:[39,96,98,107,127,162,168,211],pattern_:379,patters_ref:379,paus:[29,89,103,226,232,326,363,374],pavlov:318,payload:[29,133,268,330],payloadlen:[86,87],pb00:[74,86,220,230],pb01:[31,63,71,74,86,127,220,230],pb02:230,pb03:[66,127,220,230],pb04:[63,71,74,86,127,220,230],pb05:230,pb06:[21,78,79,86,230],pb07:[78,79,230],pb08:[73,79,220,230],pb09:[73,230],pb0:[212,214,220,223,238,248,249,301],pb10:[73,220,223,230,255],pb11:[223,230,255],pb12:[102,230,238],pb13:[131,230,238,248,249,301],pb14:[230,238,248,249,301],pb15:[230,238],pb16:230,pb17:230,pb18:230,pb19:223,pb1:[212,220,223,238],pb20:223,pb21:230,pb22:230,pb24:230,pb25:230,pb26:230,pb27:230,pb2:[212,220,223,238],pb3:[13,166,212,220,223,238,255],pb4:[212,220,223,238],pb5:[212,220,223,238],pb6:[212,220,223],pb7:[212,220,223],pb8:[220,223,251],pb9:[223,251],pb:104,pb_00:[228,233],pb_01:[228,233],pb_02:[228,233],pb_03:[228,233],pb_04:[228,233],pb_05:[228,233],pb_06:[212,220,228,233,262],pb_07:[212,220,228,233,262],pb_08:[212,220,228,233,262],pb_09:[212,220,228,233,262],pb_0:213,pb_10:[212,220,228,262],pb_11:[212,220,228,262,284],pb_12:[228,262],pb_13:[228,262],pb_14:[228,262],pb_15:[228,262],pb_16:[228,262],pb_17:[228,262],pb_18:[228,262],pb_19:228,pb_20:228,pb_21:228,pb_22:228,pb_24:228,pb_25:228,pb_26:228,pb_27:228,pbdata:29,pbtxt:104,pc05:90,pc08:131,pc09:131,pc0:[1,169,238],pc12:[166,238],pc13:238,pc14:[166,238],pc15:238,pc1:238,pc3:[234,238],pc4:238,pc5:238,pc6:238,pc7:238,pc8:238,pc9:238,pc:[162,203,204,205,293,356,358,360,361,363,366,367,370,372,373,374,375,376],pcall:168,pcb:[196,197,198,216,233,250,251,254,258,260,267,284,372,392],pcf8563:68,pcf8563t:54,pcf8574:54,pci:94,pclose:331,pcm:[1,4,253,293],pctolcd2002:[10,36,127],pd10:[116,238],pd11:238,pd12:[116,238],pd13:[116,238],pd14:[116,234,238],pd15:[116,234,238],pd1:238,pd2:238,pd3:238,pd6:238,pd7:238,pd8:238,pd9:238,pd:[356,358,361,366,367],pdf:[68,162,169,185,186,187,196,197,198,203,204,205,215,216,218,222,223,228,233,234,236,249,252,258,267,295,297,298,300,379,390],pdn_type:29,pdop:39,pe00:116,pe01:116,pe02:116,pe08:166,pe09:166,pe0:238,pe10:238,pe11:238,pe1:238,pe2:238,pe3:238,pe6:[175,238],pe7:[175,238],pe8:238,pe9:238,peach:378,peak:[268,363,369,372],pear:378,peer:115,pelulamu:162,pem:[95,107],pend:[255,268,339,379,381],pendsv_handl:214,penetr:72,penultim:378,peopl:[250,353,378],per:[39,50,72,91,162,177,183,208,268,380,382],percent:354,percentag:[1,162,376,379],percept:379,perfect:[72,98,162,268,378],perfectli:[210,377],perform:[30,31,67,89,94,103,109,207,211,212,221,237,250,253,268,269,293,311,314,326,333,336,356,363,374,378,379,380],perhap:[352,378],perimet:378,period:[21,26,29,91,94,98,115,123,124,125,162,201,212,220,221,255,266,268,272,293,319,369,381],peripher:[91,98,103,117,138,173,174,175,177,195,199,208,212,217,218,220,237,243,248,253,254,255,260,268,269,273,282,289,293,294,301,302,311,324,337,345,355],perisan:162,perman:[24,109,221,382],permiss:379,perpendicular:162,perpetu:119,persian:162,persist:319,person:[104,381],perspect:[267,272,306],phase:[354,360,366],phenomena:360,phenomenon:[220,253,293,360,369,372],philip:[173,174,175,212,220],phone:[29,94,123,211,257,292,356,358,363],photo:3,photograph:[3,388],php:39,phycellid:29,physic:[106,272],pi:[168,295],piao:250,pick:[266,369,378],picker:162,pico:295,pictur:[3,36,138,163,210,212,220,268,312],pid:29,pide:29,pie:[295,356,361,372,374,375],piec:[1,113,136,212,220,352,379],pilot:33,pin0:[171,301],pin1:[29,171],pin2:29,pin2pin:407,pin33:21,pin:[1,10,13,26,29,35,36,43,50,51,54,63,66,67,68,71,73,74,78,79,86,90,94,112,116,117,121,123,127,128,131,138,163,165,166,171,177,178,199,208,212,213,214,218,220,221,222,224,226,227,229,232,234,237,246,247,248,249,250,253,256,260,263,265,266,267,268,272,287,291,293,296,300,301,330,331,340,360,363,394],pin_busi:[29,87],pin_c:[29,87,178],pin_chang:94,pin_clk:29,pin_dat:29,pin_dc:[29,36,166,178,212,220],pin_dio1:87,pin_dis:94,pin_en:94,pin_pwr:[10,36,166,178,212,220],pin_reset:[29,87],pin_rst:[10,36,166,178,212,220],pin_unblock:94,pin_verifi:94,pin_xxxx:94,ping:[86,87,123,277],pinmod:213,pinout:[217,220,224,229,237,253,259,271,293,299],pio:67,pipelin:289,pivot:162,pivot_i:162,pivot_x:162,pix_fmt:166,pixel:[10,29,36,93,127,162,165,293,334,388],pkcs5:20,pkcs5pad:20,pkcs7:[6,20,170,268],pkg:[307,311,312,316,317],pkgid:268,pkx:29,pky:29,place:[26,107,127,162,166,179,212,217,220,221,238,250,266,293,305,314,315,320,352,358,378,379,393],placehold:[138,163],placement:221,plai:[29,138,167,268,277],plain:[168,277,378],plan:[162,250,255],plat:[316,318],plate:[358,372],platform:[1,11,16,19,20,21,29,54,59,91,94,95,103,115,121,128,133,138,141,152,158,167,250,255,260,268,269,273,274,292,313,319,323,324,330,337,338,345,352,369,379,380],playback:[1,138,268,273],playstop:29,pld_0204:250,pleas:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,116,117,118,119,120,122,124,125,126,127,128,129,130,131,132,133,134,135,136,137,145,162,207,210,212,213,217,220,225,227,228,229,231,233,234,235,238,248,250,254,255,266,268,269,270,272,273,284,285,289,293,295,300,301,305,311,313,318,319,320,349,351,356,358,360,363,367,369,372,378,379,384,387,393],pll:[91,238,243,253,254,293],pllclk:251,plot:162,plu:[29,162,196,197,198,255,366,378,379,381],plug:[190,207,210,211,212,220,249,253,268,292,293,356],plural:162,pm10:84,pm1:84,pm2:84,pm:[29,109,121,177,207,208,212,226,232,266,268,272,332],png:[162,238,268,293,319],pnum:29,po:[162,168,378],point:[2,10,13,29,30,34,36,39,71,72,89,93,99,121,127,136,138,163,168,191,192,193,207,221,268,324,337,338,345,369,378,379,406],point_arrai:162,point_cnt:162,point_num:162,point_t:162,pointer:[10,13,14,15,18,22,27,30,36,89,111,117,118,119,128,129,130,136,162,191,192,193,203,204,205,327,330,331,334,335,339,379],pole:[358,363],poli:29,polici:[162,271,293],poll:343,polygon:127,polynomi:[6,254],pong:378,pool:[324,331,337,345],pop:[162,250,268,304,311,363,369,379],popen:[168,331],popul:[136,329,334,379],popular:360,popup:318,porridg:[250,314,315,320],port:[3,10,13,24,26,29,36,39,54,59,63,71,77,82,94,106,111,121,123,135,166,177,178,180,181,202,206,207,208,209,212,214,217,220,221,234,248,249,250,254,266,267,268,272,284,289,293,301,308,311,314,315,326,342,343,344,348,354,356,358,361,363,366,372,373,374,375,380,385,398,404],portabl:[249,291,293],portal:[207,249,284,289,297],portcon:300,portion:[162,379],posit:[16,27,30,36,39,54,57,59,88,93,101,111,119,123,127,128,130,136,138,163,211,214,248,253,258,268,269,271,273,277,293,301,334,346,348,353,358,361,363,369,372,373,375,376,378,379,381,385],posix:[115,321,331,352,379],possibl:[87,95,162,190,221,238,250,255,266,268,269,293,303,304,320,336,358,360,372,378,379],post:[24,25,38,106,200,212,220,349,351,355],potenti:379,pour:268,pow:379,power:[0,1,13,29,53,66,86,87,91,94,96,98,121,123,127,134,162,165,169,180,181,189,207,212,220,224,229,237,250,255,260,265,267,268,271,272,282,287,291,293,300,311,324,337,338,344,345,355,363,366,369,378,379,385,393],power_kei:238,power_on_delai:29,power_pin:29,powerkei:[103,268],powerlevel:29,poweroff:268,powersav:29,powershel:[166,318,320],pp:[356,361,363,366,369],ppb:83,ppm:83,pr:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,116,117,118,119,120,122,124,125,126,127,128,129,130,131,132,133,134,135,136,137],practic:[162,212,224,293,349,378,379],pre:[208,253,293,379],preamblelen:[86,87],precaut:[106,138,163,253,287,293,360],preced:[20,94,103,348,379],precis:[29,34,39,91,162,177,183,189,208,212,221,243,300,341,356,361,372,374,375,379],precompil:[302,379],predefin:[162,379],prefac:379,prefer:[78,115,128,213],preferenti:[284,289],prefilt:162,prefix:[29,162,336,348,379],prefixexp:379,preliminari:380,preload:[162,168],prematur:24,premis:[134,360,372],prepar:[12,92,138,149,167,176,177,183,188,194,199,206,207,208,217,224,253,271,293,299,305,352,378,379],preparatori:[349,351],prepend:379,presenc:272,present:[111,162,189,195,212,295,305,323,327,354,379],preset:372,press:[35,47,79,89,97,103,116,123,162,171,178,207,210,212,218,220,238,248,284,285,289,292,301,304,363,369,373,376,379],press_sta:51,pressur:[0,54,111,268,372,379],presuppos:379,prevail:[39,282],prevent:[5,54,66,128,169,220,221,238,250,323,369,372,379],preview:[162,235,356,369],previou:[13,26,106,134,162,166,168,172,212,217,220,250,268,293,311,346,372,378],previous:[36,162,172,255,293,379],price:[162,212,356,378],primari:[94,98,118,162,272],primit:[89,379],principl:[162,166,168,202,203,204,205,212,220,331,379],print:[2,3,5,17,18,19,20,21,29,32,51,54,63,64,69,71,74,85,91,96,102,104,106,107,109,115,120,122,133,162,166,168,169,170,172,179,182,184,189,195,201,202,203,204,205,207,212,213,220,234,245,268,284,289,293,304,305,307,342,343,347,349,351,353,376,378,380,381],printabl:379,printer:89,printf:[162,213,253,293,378,379],printout:378,prioriti:[94,103,109,168,214,253,268,293,300],privat:[19,24,29,59,95,107,115,162,323,331,358,363,372,373,376,379],privkei:107,prj:[307,308,310,311],prlh:255,prll:255,pro:[366,369,373,375],proactiv:106,probabl:[103,111,214,253,268,289,292,293,320,358],probe:[115,308,379],problem:[24,95,102,162,207,214,221,248,250,254,255,257,268,289,294,301,305,306,314,315,319,320,324,331,337,339,345,369,378,379,381],proce:379,procedur:[255,268,379,381],proceed:166,process:[1,6,12,13,16,26,29,66,91,92,94,95,98,103,105,106,109,114,117,120,121,135,162,168,190,191,192,193,201,202,203,204,205,207,211,212,213,220,221,250,255,268,271,293,300,302,305,311,324,331,335,336,337,345,348,353,380,381,382,383],processor:[162,196,197,198,218,260,289,325,379],produc:[189,212,299,330,333,372,379],product:[32,55,57,59,91,138,162,167,221,237,250,258,271,287,291,293,356,366,367,369,378],product_id:29,product_kei:[29,57,269],product_secret:55,productkei:54,produt_id:[29,55],profil:[259,293,379],prog:168,program:[99,103,104,162,165,168,177,208,221,234,235,243,247,255,264,289,292,293,300,304,311,324,337,345,353,354,377,381],program_:379,programm:[162,253,293,379],progress:[138,163,212,268,282,296,348,354,376],prohibit:[33,221,238,348,358,363,372,373,376],proident:162,project:[32,40,57,72,94,141,149,152,158,169,172,173,174,175,179,180,181,182,185,186,187,191,192,193,196,197,198,200,201,203,204,205,207,209,210,212,214,235,248,250,251,255,269,274,287,292,293,294,295,301,306,307,316,318,347,352,372,380,393,395],prompt:[10,20,36,102,105,127,162,248,255,268,304,309,310,318,320,354,369,379],pronunci:[271,293],proof:250,propag:[138,163,379],proper:378,properli:[162,255,268,379],properti:[23,36,98,136,162,250,268,379],proport:162,proportion:162,prosecut:162,protect:[136,165,212,250,253,292,293,358,374,379],protobuf:[29,121,268],protobuff:[29,121],protoc:104,protocol:[29,54,111,115,133,173,174,175,196,197,198,202,203,204,205,211,212,220,238,249,260,268,271,293,300,324,337,341,345,354,358,360,363,372,373,376,379],protocolbuff:104,prototyp:[304,329,331,379],prove:[162,207,360,363],provid:[6,14,18,73,106,127,162,170,172,173,174,175,177,189,196,197,198,208,211,221,238,243,246,250,263,266,268,271,293,300,305,306,312,314,315,318,320,323,327,328,329,330,331,332,334,340,342,343,344,347,348,352,355,356,358,360,363,369,372,373,376,378,379,381,383],proxi:[9,326],ps:[134,260,272],ps_max_modem:134,ps_min_modem:134,ps_none:134,pseudo:379,psk:[115,275],psm:[94,96,103,268,385],psmmode:29,psram:[212,243,282,289,294,355],psram_c:228,psram_clk:228,psram_d0:228,psram_d1:228,psram_d2:228,psram_d3:228,ptr:[305,325,329,330,331,348,379],ptrdiff_t:379,ptw:96,pub:[124,380],publish:[26,29,54,117,133,200,212,220,257,268,336,345,349,351,380,381],pubout:107,puc:379,puk:94,pull:[1,13,23,29,31,117,196,197,198,212,218,220,221,226,232,238,253,254,255,268,272,284,293,300,340,356,360,379],pull_mod:29,pulldown:[21,31],pullup:[21,31,67,68,72,119,212,220,272,331],puls:[29,50,73,185,186,187,212,220,255,272,289],punctiv:255,punctuat:[378,379],purchas:[209,213,214,217,224,229,250,253,263,293,299,355,356,372,388,393,395,398,401,404,407],pure:[127,208,323,348,363,366,367,374,378],purpos:[23,66,94,135,162,238,253,289,293,300,348,379],push:[29,238,300,304,305,323,340,348,379],put:[24,25,38,94,162,207,212,213,220,268,277,304,305,319,320,330,358,378,379],puzzl:319,pw:344,pwb:284,pwd:[19,29],pwk_mode:[103,207],pwlink:250,pwm00:186,pwm0:[105,185,220,223,238],pwm11:272,pwm1:[223,238,272],pwm2:[223,238],pwm3:[223,238,272],pwm4:[223,238],pwm5:[105,187,238,272],pwm6:238,pwm7:238,pwm:[29,31,33,91,111,121,165,177,208,224,243,260,267,268,271,273,282,284,289,293,296,300,341,383],pwm_00:228,pwm_01:228,pwm_02:228,pwm_03:228,pwm_04:228,pwm_10:228,pwm_11:228,pwm_12:228,pwm_13:228,pwm_14:228,pwm_20:228,pwm_21:228,pwm_22:228,pwm_23:228,pwm_24:228,pwm_30:228,pwm_31:228,pwm_32:228,pwm_33:228,pwm_34:228,pwm_captur:105,pwmh:105,pwml:105,pwr:[207,214,265,266,267],pwrkei:[103,272,292],pxxx:102,py:[285,316,320],pyocd:[249,250],python:316,q2:372,q:[285,302,379],qa:73,qcloud:29,qfn32:[224,225,282,296],qfn56:[212,231,282,296],qfn88:[238,282],qh:73,qio:284,qmc5883l:54,qmc5883l_data:70,qo:[29,54,268],qos0:95,qos1:95,qos2:[95,268],qq:[104,212,218,225,231,247,319,349,351],qr:89,qrcode:[29,36,127],qrcode_cr:29,qrcode_delet:29,qrcode_upd:29,qspi:211,qszz:39,quadrant:379,qualcomm:[29,89,121,268,390,395],qualifi:318,qualiti:[4,29,94,162,356],quantiti:[94,255,282,379],quantity_:379,quantiz:255,quasi:269,queri:[29,30,57,66,72,94,118,123,177,183,196,197,198,208,268,275,311,326,329,379,382,385],question:[106,162,250,372,379,384],queu:331,queue:[31,109,124,305,325,330,331,381,382],qui:162,quick:[138,163,208,255,304,312,355],quickli:[92,103,162,171,211,268,355,356,366,378,379,383],quiescent:300,quit:[220,335],quot:[162,305,354,378,379,381],quotat:[378,379],quotient:379,qwer:19,r1:162,r:[6,29,39,76,111,120,128,133,162,166,191,192,193,195,212,220,336,352,366,378,379,381],rad:[29,168],radial:162,radian:379,radic:162,radiu:[29,36,127,136,162],radius_circl:162,rais:268,ram:[4,13,91,103,118,136,162,211,218,226,232,238,250,253,254,268,282,347,352,355],ramrun:354,random:[6,168],randomli:95,randomse:168,rang:[29,94,95,98,103,126,127,136,138,163,169,185,212,220,221,234,238,255,275,277,300,360,361,363,369,372,374,375,378,379],rank:[179,379],rapid:[162,344,349,351],rar:300,rare:221,raspberri:[162,295],rate:[13,23,27,29,37,63,82,93,106,117,121,128,165,180,181,202,203,204,205,207,211,212,214,220,221,225,231,234,243,251,254,260,266,268,284,289,294,300,343,347,354,356,361,366,367,369,372,374,375,379],rate_:379,rate_and_garbag:379,rather:379,ratio:[12,39,94,127,211,376],raw:[1,20,39,92,134,293,348],raw_data:29,raw_point:29,rawdata:29,rawequ:168,rawget:[168,336],rawlen:168,rawset:168,rawvideo:166,rb:[30,166,212,220],rc522:54,rc522_authent1b:71,rc522_bit_fram:71,rc522_com_irq:71,rc522_config_isotyp:54,rc522_fifo_level:71,rc5:341,rc:[221,268],rcc:251,rcc_apb1periph_usb:251,rcc_apb1periphclockcmd:251,rcc_apb2periph_afio:255,rcc_apb2periphclockcmd:255,rcc_clockconfig:251,rcc_mco_hs:251,rcc_mco_hsi:251,rcc_mco_noclock:251,rcc_mco_pllclk_div10:251,rcc_mco_pllclk_div11:251,rcc_mco_pllclk_div12:251,rcc_mco_pllclk_div13:251,rcc_mco_pllclk_div14:251,rcc_mco_pllclk_div15:251,rcc_mco_pllclk_div16:251,rcc_mco_pllclk_div2:251,rcc_mco_pllclk_div3:251,rcc_mco_pllclk_div4:251,rcc_mco_pllclk_div5:251,rcc_mco_pllclk_div6:251,rcc_mco_pllclk_div7:251,rcc_mco_pllclk_div8:251,rcc_mco_pllclk_div9:251,rcc_mco_sysclk:251,rcc_pllcmd:251,rcc_pllmul_27:251,rcc_pllsource_hse_div1:251,rcc_usbclkconfig:251,rcc_usbclksource_pllclk_4div5:251,rclk:54,rcr:29,rd:336,rda8910:326,rddi:[253,293],rdy:[123,128],re:[10,26,29,31,86,87,107,162,191,192,193,196,197,198,200,212,220,250,251,254,255,325,353,360,363,369,378,379],reach:[74,99,162,253,361,369,372,375,378,381],reachabl:379,react:162,read:[1,7,11,14,16,18,24,26,27,29,30,31,39,40,46,48,54,57,66,69,72,86,91,94,96,98,99,104,107,108,109,110,111,117,121,130,131,134,135,162,166,168,169,172,176,177,189,190,194,195,199,202,203,204,205,208,209,212,220,253,254,266,268,271,293,318,323,325,326,328,331,334,335,340,343,346,348,349,350,353,360,378,381],read_datablock:54,read_light:54,read_rawrc:54,read_tim:54,readabl:[98,352,379],readback:[361,372,375],readdht12:29,reader:379,readfil:[29,95,104,107,191,192,193],readi8:136,readi:[1,16,29,57,94,96,115,123,127,130,212,220,304,311,344,379],readint8:334,readm:[312,318],readr:[196,197,198],readreg:29,readsht30:29,readu32:136,reaet:221,real:[29,54,72,94,121,162,170,189,196,197,198,212,243,268,293,358,372,376,378,379],realign:162,realist:372,realiz:[190,202,203,204,205,211,212,220,221,238,251,254,272,284,289,293,305,333],realli:[103,136,221,320,379],realloc:[136,379],really_hold_their:379,reamd:312,reason:[13,99,103,162,166,268,289,305,326,336,348,354,369,379],reboot:[29,59,72,269],receipt:133,receiv:[3,16,24,26,27,29,39,54,55,57,59,63,71,74,81,86,87,94,95,115,117,123,124,128,130,133,134,162,177,200,202,206,208,211,212,220,250,253,268,273,289,293,305,325,326,330,333,341,342,343,348,378,379,380,381,382],receive_buff:54,receivebuff:[203,204,205],receiveddata:[173,174,175],recept:[50,66,128,135,212,220,268,348],recharg:238,reciv:[86,123],reclaim:[378,379],reclam:268,recogn:[23,212,220,253,268,293,326,348,356],recognit:[94,211],recolor:[138,163],recommend:[0,1,5,12,36,39,72,89,91,92,94,98,99,102,107,108,109,117,125,128,135,162,165,207,208,212,213,214,218,220,221,223,228,238,248,249,250,255,267,272,273,274,282,284,289,294,304,314,315,318,320,321,358,363,372,373,376,381],recompil:379,reconfigur:[40,253,293],reconnect:[29,134,250,268],reconnect_tim:29,record:[27,29,211,220,250,268,303,369,379],record_of:379,recov:[94,268],recoveri:[1,94,379],recruit:356,rect:29,rectangl:[10,136,162,334,378],rectangular:162,recurs:379,recursion_:379,recv:[29,39,66,95,133,173,174,175,195,212,220,325,330,342,348,353],recv_buf:342,recv_cb:54,recvlen:[196,197,198],recvreadi:[212,220],recycl:379,red:[10,36,136,162,267,358],redi:172,reduc:[1,136,162,169,185,186,187,212,214,238,266,268,269,277,369,372,378,379],reduct:136,redund:1,reentrant:379,ref:379,refer:[5,9,15,20,27,36,81,91,94,98,126,127,133,134,145,162,168,169,170,171,173,174,175,178,179,180,181,182,184,185,186,187,189,191,192,193,196,198,201,209,212,213,217,220,221,233,235,236,237,250,251,255,266,268,269,273,277,284,286,289,293,294,295,300,302,304,305,306,313,318,319,323,348,349,351,352,358,360,361,363,369,372,373,375,376,378,380,382,394],referenc:[89,162,379],reflect:[238,305,356],refp:238,refr_now:162,refresh:[10,30,36,37,89,96,162,319,327,354,363,369,374],refresh_r:29,reg32:29,reg:[29,123],regaddr:335,regard:[378,379],regardless:[7,108,136,162,319],region:[100,162,369,379],regist:[1,3,19,26,27,67,71,73,87,89,91,94,95,96,115,124,128,131,133,162,177,191,192,193,202,206,208,212,218,220,223,228,254,255,293,300,305,319,330,344,348,379,381,382],registered_roam:94,registr:[55,67,94,96,115,168,320,323,344,379],registri:168,regul:372,regular:[11,94,134,162,272,304,379,380,383],regularli:[67,132,268],reimag:255,reiniti:[127,268],reissu:250,reject:94,rel:[30,45,162,292,294,339,379],relat:[0,7,10,21,27,36,39,66,91,92,96,98,100,110,127,136,138,163,167,213,217,221,238,248,255,258,266,268,271,287,291,292,293,296,301,312,323,326,329,331,354,360,379,382],relationship:[212,272,381],releas:[3,6,29,35,55,66,89,94,95,104,109,116,123,133,162,207,212,213,218,220,225,231,247,248,253,259,264,269,271,273,277,289,293,305,317,329,363,366,378,379,380,382],relev:[94,110,162,221,250,272,293,324,337,338,345,348,352,369,379],reli:[214,302,331,352,379],reliabl:[212,356,367,372,374],relinquish:379,reload:[253,293],reluct:165,rem:318,remain:[27,68,128,136,162,221,253,293,318,329,330,378],remaind:[300,378,379],remark:[238,272,355],rememb:[106,107,162,292,305,336,358,379],remind:[2,13,15,22,39,57,94,134,207,210,267,268,269,358,369,372],remot:[29,54,63,121,341,385],remote_nam:29,remote_port:[29,268],remoteip:29,remov:[5,29,30,89,120,130,138,163,168,221,235,268,285,318,336,348,358,372,378,381],renam:[29,168],render:[162,211,212,220,379],renderlinehighlight:210,rep:[168,212,220],repackag:268,repair:[268,289,360,369,372],repeat:[29,31,162,166,212,220,268,306,333,336,379],repeat_cnt:29,repeatedli:[15,213,384],repetit:[31,109,119,333,341,378],repl:[29,121,168,268],replac:[18,59,94,110,130,162,210,212,220,250,251,253,260,287,293,310,331,334,372,378,379],replai:89,repli:[98,115,162,212,220,335],report:[21,22,24,29,72,95,121,255,268,314,318,319,348,367,379],repositori:[207,273,313,314,315,318,394],reprehenderit:162,repres:[10,17,21,26,36,98,102,103,127,162,196,197,198,268,285,318,319,339,348,353,378,379,380],represent:379,reproduc:255,req_cod:54,reqaddr:54,reqal:71,reqcellinfo:[29,268],reqedrxvaluem:29,reqidl:71,reqiur:303,reqop_norm:63,reqptwvalu:96,reqtim:54,request:[29,38,54,66,72,94,184,226,232,255,268,269,329,332,336,378,379],requir:[0,1,3,6,10,12,14,16,18,20,22,24,31,36,38,40,41,42,43,44,45,46,47,48,49,50,51,53,55,56,57,59,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,80,81,82,83,84,91,92,94,95,98,99,103,106,109,111,114,115,123,124,128,130,133,134,137,138,163,165,168,169,171,172,173,174,175,180,181,182,185,186,187,191,192,193,196,197,198,200,203,204,205,212,213,217,220,221,229,238,250,255,268,269,272,282,284,292,293,302,303,304,306,311,312,318,320,321,322,323,325,329,330,331,336,339,345,347,349,351,355,356,360,366,367,372,374,378,380,381,382,394],reqwifi:54,rerult:136,reselect:[94,207],resembl:162,reserv:[8,26,35,89,94,98,103,115,116,162,293,331,339,361,375,379],reset:[7,10,13,29,36,51,54,86,103,111,127,131,132,162,191,192,193,207,212,214,218,224,226,232,238,243,248,249,250,253,265,266,267,284,289,293,300,301,354,369],residu:255,resist:[221,223,228,238,250,254,284,360],resistor:[0,221,238,253,254,255,293,360,361,372,375],resiz:[29,138,163],resolut:[4,36,54,115,162,166,211,243,268,282,356,361,372,374,375,395],resolv:[255,355,379],reson:103,resourc:[3,31,95,133,196,197,198,207,211,212,224,247,250,269,277,287,291,293,312,330,331,352,355,377,378,379],resp:[326,336],respect:[66,162,169,202,203,204,205,212,214,220,234,267,339,360,361,372,375,378,379,381],respond:[25,57,59,201],respons:[24,95,98,207,211,212,221,323,324,325,337,345,379],rest:[162,212,220,378,379],restart:[5,26,72,91,94,103,109,207,210,212,221,268,269,301,314,315,318,356,363,379,381],restaur:381,restor:[134,135,162,326,376,378,379],restrict:[98,379],result:[0,1,2,4,5,6,11,13,16,18,26,28,31,34,52,57,59,63,71,72,82,83,84,91,94,96,98,103,105,107,110,111,115,117,118,122,134,136,162,166,170,173,174,175,190,202,207,212,220,253,254,268,293,300,305,319,336,342,343,344,345,358,360,363,369,372,373,376,378,379,380,381,382],resum:[1,89,124,168,381,382],resurrect:379,ret:[30,105,107,118,134,269,305,335,336],retain:[29,54,110,379],retri:[11,131],retriev:[162,379],retstat:379,reus:[66,134,221,238,253,267,268,272,282,293,379],reusabl:284,rev:380,revc:[196,197,198],revers:[6,30,36,66,127,162,168,170,191,192,193,301,358,360,363,372,373,376],revert:[29,348],review:379,revis:[243,250],reviv:379,revvc:[196,197,198],rewrit:[214,268,379],rf:[94,266,293],rgb565:[29,243,289,294],rgb565be:166,rgb888:243,rgb:[3,36,76,89,162,166,289,293],rgb_data:76,rgb_date:76,rgb_file:166,rh:[42,48],right:[2,10,27,36,50,59,89,127,162,165,210,248,250,301,304,358,363,369,372,373,378,379,385],right_fit_typ:162,rio:379,rippl:221,risc:282,riscv:260,rise:[21,31],risk:[250,358,363,372,373,376,379],riski:372,rle:[92,162],rle_match:92,rmc:39,rmd:19,rmdir:29,rmt:289,rndi:292,road:[284,300],roam:94,roberto:379,robot:268,robust:379,role:[339,379],roll:[138,163,255,348],rollback:268,roller1:162,roller:[138,163,374,376],roller_:162,roller_cr:162,roller_demo:162,roller_get_selected_str:162,roller_mode_infinit:162,roller_part_bg:162,roller_part_select:162,roller_set_opt:162,roller_set_visible_row_count:162,rom:[162,327,339,347],romf:352,room:[162,220],root:[17,99,269,312,318,379],rotable_reg:304,rotari:54,rotat:[29,50,94,138,163,300,363,379],rotation_angl:162,rough:128,roughli:[214,318,381],round:[127,162,379],rout:[238,250],routin:[138,164,167,212,220,255,293,295],row:[30,138,163,213,214,222,227,234,253,256,265,266,267,268,293,326,339,376,378,379],row_cnt:162,rp2040:293,rp2040_pcb:[293,295],rrc:[94,268],rs232:202,rs485:[202,268],rs485_delai:29,rs485_gpio:29,rs485_level:29,rs8554:372,rs:354,rsa:[29,121,275],rsrp:29,rsrq:29,rssi:[29,123,134,344],rst:[38,54,131,212,218,248,249,250,284,289,301],rst_pin:29,rt:[212,218,250,317,323,344,354,355],rtc:[29,39,103,121,177,208,226,232,238,243,253,266,268,282,293,296],rtc_setprescal:255,rtcauto:29,rtime:29,rtkv:54,rto:[23,29,59,72,121,169,171,269,293,302,321,322,325,330,331,333,352,381],rtos_msg:[325,330],rtos_msg_t:305,rtr:[29,63],rtrim:29,rtt:[317,330,355],rtt_root:317,rtthread:317,rule:[68,98,168,212,220,255,268,271,293,312,378],rule_:379,run:[22,29,67,103,121,162,168,169,172,173,174,175,177,180,181,182,185,186,187,191,192,193,196,197,198,200,203,204,205,207,208,210,211,212,213,214,217,220,221,226,232,235,248,250,268,269,289,293,301,302,305,311,314,315,321,322,325,326,330,331,332,348,354,355,369,376,378,381],running_script_:379,runtim:[99,103,162,369,379],rx0:221,rx:[27,29,202,203,204,205,212,218,220,223,228,248,249,262,268,289,301],rx_done:87,rx_error:87,rx_hwtimer_id:29,rx_len:29,rx_pin:29,rx_timeout:87,rxbuf:74,rxbuff:29,rxclear:29,rxcontinu:[86,87],rxd:218,rxdata:26,rxe:[253,293],rxlen:29,rxpacket:54,rxsize:29,ry:29,s1:[96,378],s2:378,s3:[289,290,293,378],s3_pcb:[291,293],s5:277,s:[1,3,7,10,11,18,19,21,30,32,36,55,59,78,79,86,89,91,94,95,96,98,99,109,115,123,133,136,137,162,165,166,168,171,172,190,201,207,210,212,213,220,235,238,248,250,255,257,266,267,268,272,275,277,285,292,294,296,301,303,304,305,311,312,317,318,323,324,325,326,328,329,337,341,343,344,345,348,349,350,354,363,367,378,380,381,383],s_intermitt:379,s_loader_:379,s_n_:379,sacrif:369,safe:[162,344,379],safer:379,safeti:238,sai:[212,220,250,266,318,378,379,380],said:[292,377,378],sale:[384,387],same:[1,6,13,15,21,23,31,60,66,68,78,79,91,94,95,99,102,104,115,162,207,212,220,231,255,257,266,268,269,272,277,284,289,293,305,314,315,318,319,328,339,348,353,360,369,372,373,378,379,381,382,383,384],sampl:[1,4,29,39,94,162,177,208,212,214,220,243,253,260,284,293,300,349,351,356,360,361,366,367,369,372,374,375,378],sample_r:[4,29],san:162,sar:[243,289,300],sarasa:268,sass:39,sat:39,satellit:[39,266,273,384],satellites_track:39,satisfi:[68,378],satur:162,saturdai:68,save:[3,14,18,72,91,103,127,134,135,162,165,177,196,197,198,208,210,211,248,250,266,285,293,305,314,330,369,378,379,385],save_path:29,sayhi:304,sb_mode:162,sc:[131,134],sc_result:134,scalabl:162,scale:[36,138,163,166,327,329],scale_end_color:162,scale_grad_color:162,scale_width:162,scan:[3,29,54,92,126,250,255,268,273,296,300,312,318,344,348,379,388],scan_period:29,scanresult:29,scatter:[165,217,250,293],scdma:275,scenario:[72,124,226,232,239,268,269,272,273,282,288,311,324,337,345],scene:[284,289,311,331],scenic:89,schedul:[49,59,96,162,200,284,324,337,345,381,382],schema:379,schemat:[173,174,175,185,186,187,191,192,193,196,197,198,203,204,205,212,217,221,224,234,236,238,249,250,252,258,267,286,290,293,295,297,298,393,395,407],scheme:[39,207,250,318,337],scienc:360,scientif:268,sck:[67,250],scl:[29,54,127,171,173,174,175,212,220,272],scl_pin:54,sclk:54,scm:293,scon:317,scope:[138,163,277,379],score:[5,283],scr2:89,scr:[29,212,220],scr_act:[29,162,212,220],scr_load:[29,162,212,220],scr_load_anim:29,scr_load_anim_over_left:89,scrambl:26,scratch:379,screen:[3,29,36,89,102,121,127,162,171,177,208,211,212,220,229,268,293,299,311,356,358,363,366,367,374,376,395,398],screen_label:162,screenshot:[238,293,319,363],screw:[358,372],script:[73,78,96,109,162,178,208,211,220,224,229,237,268,269,273,274,277,287,293,304,309,311,312,313,314,315,320,322,325,326,328,347,352,354,355,377,378,379,380],script_addr:347,scrlbar_mode_:162,scrlbar_mode_auto:162,scrlbar_mode_drag:162,scrlbar_mode_hid:162,scrlbar_mode_off:162,scrlbar_mode_on:162,scrlbar_mode_unhid:162,scroll:[138,163,165,369,373,376],scrollabl:[138,163],scrollbar:162,scrollbar_mode_off:162,sd:[1,13,15,30,109,110,137,162,166,212,220,293,328,352],sd_mount:[212,220],sd_read:29,sd_user_main:109,sd_write:29,sda:[29,54,127,171,173,174,175,212,220],sda_pin:54,sdcard:109,sdhc:130,sdio:[13,29,121,224,243,251,254,260,282,289,293,294,296],sdio_clk:[212,220,228],sdio_cmd:[212,220,228],sdio_d0:[212,220,228],sdio_d1:[212,220,228],sdio_d2:[212,220,228],sdio_d3:[212,220,228],sdk:[214,248,250,254,293,300,316,322,331],sdk_appid:29,sdl2:[321,322],sdl:321,sdram:243,sea:39,seal:289,seamless:260,search:[29,54,71,94,96,109,210,213,268,292,304,311,314,315,379],search_cell_tim:29,searcher:168,searchpath:168,seat:[358,363],sec:[39,68,99,108,189,212,379],sec_shop_id:384,second:[6,7,11,14,36,39,57,67,68,72,91,94,96,98,99,101,103,109,111,115,127,162,169,173,174,175,177,183,189,207,208,211,212,213,221,250,255,266,268,292,301,304,305,326,348,353,363,374,378,379,380,381,382],second_exp:379,secondari:[14,18,162,268,272,273],secondtick:182,secret:[29,55,107,121,254],section:[145,162,173,174,175,212,217,220,255,267,293,318,348,378,379],sector:[13,71,177,199,208],secur:[170,212,260,268,344,379],securit:344,sed:162,see:[3,72,94,108,115,127,134,136,162,166,178,187,191,192,193,196,197,198,203,204,205,207,210,212,213,214,218,220,221,230,235,248,250,254,255,272,292,294,301,304,353,358,363,374,378,379,385],seeall:381,seed:379,seek:[29,30,168,203,204,205,334],seek_cur:[30,136],seek_end:[30,136],seek_set:[30,136,334],seem:[293,379],seen:[169,185,196,197,198,207,212,254,294,331,378],seg10:230,seg11:230,seg12:230,seg13:230,seg14:230,seg15:230,seg16:230,seg17:230,seg18:230,seg19:230,seg1:230,seg20:230,seg21:230,seg22:230,seg23:230,seg24:230,seg25:230,seg26:230,seg27:230,seg28:230,seg29:230,seg2:230,seg30:230,seg31:230,seg3:230,seg4:230,seg5:230,seg6:230,seg7:230,seg8:230,seg9:230,seg:29,seg_data:54,seg_mark:29,seg_set:29,segment:[29,73,78,79,121,133,162,229,293,299,379],select:[10,13,19,21,24,36,50,54,66,68,73,78,79,83,84,86,89,91,94,95,112,113,115,117,118,127,128,131,133,138,163,168,176,183,188,191,192,193,194,196,197,198,199,206,207,210,212,213,217,220,221,227,228,229,231,238,243,248,249,250,253,254,268,271,272,284,285,289,293,294,300,301,304,318,319,347,352,355,356,363,367,373,374,381],selector:[138,163],self:[59,72,138,163,250,257,269,284,293,294,300,314,315,320,358,360,363,366,369,379],sell:162,sem:331,semant:379,semaphor:331,semicircl:162,semicolon:379,send:[7,11,29,33,38,54,55,63,64,66,73,74,78,79,89,94,95,98,106,115,123,124,127,128,135,162,176,177,195,196,197,198,202,206,208,212,220,221,253,266,268,273,293,305,324,326,333,335,337,342,343,345,348,353,354,380,381],send_buf:342,send_buff:54,send_data:29,send_finish:380,send_msg:29,send_ok:130,sendbuff:[29,203,204,205],senddisplaydata:54,sender:135,sendind:29,sendlen:[196,197,198],sendmsg:[29,60],sendnec:[29,66,341],sendnotifi:29,sendqueu:[212,220],sens:[4,111],sensit:[72,374,379],sensor:[26,29,54,72,90,93,121,123,126,165,173,174,175,209,212,220,229,238,268,269,293,294],sent:[7,26,27,33,60,63,73,94,95,106,111,114,115,117,123,128,130,133,162,202,253,268,293,305,333,334,341,342,348,355],sentenc:[212,220,255,269,379],sep:[168,378],separ:[29,39,94,162,173,174,175,250,257,326,339,348,354,356,378,379,381,382],separator_posit:162,septemb:[123,162],seq:29,sequenc:[29,66,115,121,162,195,202,203,204,205,212,220,342,343,363,379,393],ser1:162,ser2:162,ser:162,seri:[0,27,102,103,106,108,134,136,138,163,207,209,212,214,220,221,227,228,229,231,238,248,250,253,254,255,269,292,293,301,313,319,334,355,356,358,360,366,367,378,379,381,384,385,393,395],serial:[3,7,13,19,29,34,39,71,73,78,91,94,95,106,115,121,133,135,166,173,174,175,177,191,192,193,195,196,197,198,202,206,208,209,212,217,220,225,231,234,238,243,248,249,250,267,268,272,284,285,286,289,293,300,301,311,326,342,343,344,348,354,356,358,361,363,372,374,375,379,380,385,398,404],series_t:162,seriou:94,serv:[94,162,268],server:[7,11,19,24,29,38,54,55,57,58,59,72,95,98,107,115,121,133,266,269,277,379],server_cert:[19,29,54,95],servic:[25,36,58,81,94,98,250,255,268,275,319,379,384,385],session:95,set:[0,1,3,5,6,7,10,13,14,29,31,35,36,37,39,43,49,54,57,63,68,71,77,78,79,85,86,87,89,91,94,95,96,98,101,102,103,106,109,111,114,115,117,119,123,127,128,130,131,133,134,135,138,163,172,177,182,183,185,186,187,189,190,207,208,210,212,214,218,220,221,225,226,231,232,234,248,250,253,254,260,268,269,271,272,293,294,300,301,317,318,320,325,326,331,332,334,340,342,343,344,348,352,354,356,358,361,369,373,374,375,376,377,378,379,381],set_accepted_char:162,set_act:162,set_align:162,set_angle_offset:162,set_anim_tim:162,set_arc_length:162,set_bit_mask:54,set_btn_ctrl:162,set_btn_ctrl_al:162,set_btn_width:162,set_btns_po:162,set_cell_merge_right_t:162,set_cell_typ:162,set_channel:29,set_check:162,set_color:162,set_color_mod:162,set_color_mode_fix:162,set_ctrl_map:162,set_cursor_blink_tim:162,set_cursor_click_po:162,set_cursor_hidden:162,set_cursor_manag:162,set_cursor_po:162,set_day_nam:162,set_dir:162,set_edge_flash:162,set_highlighted_d:162,set_hsv:162,set_hu:162,set_id:29,set_map:162,set_max_height:162,set_max_length:162,set_mirror:162,set_mod:[54,162],set_month_nam:162,set_one_check:162,set_one_lin:162,set_opt:162,set_placeholder_text:162,set_pwd_mod:162,set_pwd_show_tim:162,set_recolor:162,set_rxconfig:29,set_scal:162,set_scrollbar_mod:162,set_select:162,set_set_i:379,set_show_select:162,set_spin_tim:162,set_src:162,set_src_til:162,set_stat:162,set_static_opt:162,set_static_text:162,set_symbol:162,set_tab_act:162,set_text:162,set_text_align:162,set_text_label:162,set_text_sel:162,set_tile_act:162,set_tim:[43,54],set_today_d:162,set_txconfig:29,set_typ:162,set_usbclock:251,set_valid_posit:162,set_valu:162,set_visible_row_count:162,set_width:162,set_xxx:162,setapnet:344,setauto:29,setband:29,setbaseyear:29,setbitmapmod:29,setblinktim:54,setbootcfun:29,setbright:54,setbu:29,setcap:29,setcfun:29,setchr:29,setclk:[29,180,181],setcolor:29,setcontrast:29,setctx:29,setdefaultpul:29,setdelai:29,setdn:29,setdrawcolor:29,setedrx:29,setedrxptw:29,setfont:[15,29,171,212,220,319],setfontmod:29,setframebuff:[29,111],setgpio:29,sethook:168,setjmp:379,setlevel:[29,179],setlight:54,setloc:168,setlocal:168,setmac:29,setmetat:[168,336],setmod:29,setnewsmscb:[29,123],setpath:29,setpaus:379,setpin:268,setpix:334,setpowersav:29,setpsm:29,setrang:29,setstanet:344,setstat:54,setstepmul:379,setstrt:255,sett:[29,268],settable_ev:379,settimeout:29,settz:29,setup0_process:255,setup:[13,29,39,40,41,42,44,45,46,47,48,49,51,53,54,56,61,62,63,64,65,66,69,70,71,74,75,76,80,93,96,102,103,106,119,134,135,162,166,173,174,175,178,180,181,195,196,197,198,202,203,204,205,212,213,220,268,272,331,340,342,343,348,363,374],setupbreatel:54,setupbuff:29,setupdevic:348,setupr:[173,174,175,196,197,198],setupvalu:168,setuservalu:168,setuuid:29,setvbuf:168,setwin:29,setxtal:29,seven:162,sever:[72,91,136,138,163,202,203,204,205,207,212,220,221,293,305,323,356,372,376,378,379],sfd:[29,121,177,208],sfdp:[191,192,193],sfud:[29,121,177,208,224,277,293,296],sfud_devic:[113,212,220],sfuddevic:[191,192,193],sgm2019:228,sh1106:127,sh1107:127,sh1108:127,sh:302,sha1:[29,32,107,170,282],sha1_stream:6,sha256:[29,32,170,275,311],sha256_stream:6,sha384:275,sha512:[29,170],sha:[275,282],shadow:[127,162],shake:[21,35,103,207,268],shall:[39,162,221,250,282,306,312],shape:[2,136,162,379],share:[31,66,211,212,220,344,345,367,372,379],sheet:[68,196,197,198,218,249,252,254,297,298,300],sheet_1:[169,187],shell:[356,394],shget:321,shield:[54,323],shift595:54,shift:[29,73,128,247,273,356,358,361,363,374,375,379],shipment:248,shop:[218,225,231,254,300],short_src:379,shortcut:[210,320,379],shorten:[98,162],shortest:379,shot:200,should:[2,5,16,39,78,79,94,115,117,127,134,162,201,210,212,214,218,220,221,238,255,268,269,272,284,289,306,323,326,327,329,336,378,379,381,394],show:[29,59,77,138,163,178,212,238,319,326,356,363,372,374,378,379],show_520:165,show_520_h:165,show_520_w:165,show_data:165,showimag:29,shown:[66,202,212,213,214,248,249,250,255,282,284,301,358,360,369,378],shown_dat:162,showonlin:210,shrink:[162,379],sht30:[26,212,220],shunt:360,shunt_voltag:53,shut:[177,199,208,238,372,376,379],shutdown:[19,29,55,91,95,133,162,238,255],si24r1:54,si24r1test:74,si:63,sibl:379,side:[11,73,107,115,117,162,250,292,358,360,376,378,379],sieg:165,sig:29,sigma:300,sign:[20,29,136,162,348,378,379],signal:[10,26,39,64,66,73,89,94,134,169,196,197,198,212,220,221,238,255,266,284,340,344,379],signatur:[20,107,170,268],signifi:378,signific:58,significantli:221,silenc:179,silent:[85,179],silk:102,sim0:[94,268],sim1:94,sim:[94,123,268],sim_ind:[94,381,382],sim_pin:123,sim_wc:[94,123],simerr:67,simid:29,similar:[11,18,26,32,38,115,127,128,136,162,172,191,192,193,212,214,220,248,282,301,323,331,352,372,378,379],similarli:[162,303,310,378,379,380],simpin:29,simpl:[6,24,72,94,106,133,138,163,165,166,173,174,175,190,212,220,255,268,284,293,307,311,340,348,349,350,374,377,379,381],simpler:268,simplest:[19,95,349,351,378,382],simpli:[109,162,185,186,187,212,220,301,378,379,381],simplifi:[122,162,207,326,378,379,385],simsun_48:162,simul:[26,29,89,121,127,130,162,272,293,302,311,355,369,372,374,376,383],sin:[168,300],sinc:[16,20,66,136,162,210,212,248,250,254,255,268,284,289,301,356,358,363,369,379,380,394],sincer:356,sine:[221,372,379],singl:[8,31,36,39,58,66,89,93,95,105,106,111,133,138,163,177,208,212,220,250,255,268,273,274,293,300,326,330,331,333,352,374,378,379,380,381],singleshow:54,sinh:379,sink:250,sint:162,sit:162,site0:24,situat:[128,131,207,221,255,269,305,372,379],six:[6,54,162,363],sixth:[57,378],siyuan:327,size:[3,6,12,13,17,24,27,29,30,73,86,87,92,98,101,109,123,128,136,138,163,168,172,191,192,193,196,197,198,212,217,220,224,225,227,234,237,243,247,250,253,254,256,264,265,266,267,268,269,282,284,287,289,293,296,318,319,324,327,330,337,339,343,345,347,354,355],size_t:[101,304,327,329,330,331,333,348,379],sizeof:[136,305,335],skei:29,skill:348,skip:[30,117,162,203,204,205,318,378,381],slave:[27,66,98,117,173,174,175,195,212,220,243,255,272,300,342],slaveaddr:29,sleep1:[266,332],sleep2:[266,272,332],sleep:[29,71,86,87,103,109,128,184,211,221,226,232,253,260,267,268,272,293,300,332],sleepcount:300,slice:[284,379],slide:162,slider:[138,163],slider_:162,slider_cr:162,slider_demo:162,slider_get_valu:162,slider_part_bg:162,slider_part_ind:162,slider_part_knob:162,slider_set:162,slider_set_rang:162,slider_type_:162,slider_type_norm:162,slider_type_rang:162,slider_type_symmetr:162,slightli:[162,185,186,187,213,372,378],slip:358,slogan:115,slot:[94,289,379],slow:[1,26,47,64,107,162,207,210,212,220,250,255,284,289,292,327],slower:[26,92,94,162,213,277,294],slowli:[169,379],sm1:254,sm2:[20,268],sm2decrypt:29,sm2encrypt:29,sm2sign:29,sm2verifi:29,sm3:[29,254,268],sm3hmac:29,sm3updat:20,sm4:[20,254,268],sm4decrypt:29,sm4encrypt:29,sm7:254,sm:[29,94,121,268,273,275,294],small:[3,4,112,115,117,128,136,162,185,186,187,208,211,220,250,265,267,268,269,272,273,289,355,356,358,360,363,367,372,374,379,381,383],smaller:[12,94,162,250,378,379],smallest:[358,377,379],smart:[211,253,293],smartconfig:29,smartphon:162,smartpro:255,smartwatch:162,smd:260,smooth:162,smoothli:[212,220],sms_only_regist:94,sms_only_registered_roam:94,sn:29,snail:344,snap:[162,393],snippet:[268,379],snowman:127,snq:94,snr:[29,39,123],sntp:[29,123,266,268],sntp_connect:268,sntp_server:29,so:[4,16,63,73,77,94,102,103,112,120,123,124,128,135,136,162,165,169,170,171,177,207,210,212,220,221,238,248,250,255,265,266,268,272,285,292,294,301,305,330,331,347,352,355,363,369,372,373,376,378,379,381],soc:[1,73,78,91,115,128,138,162,163,164,166,167,172,179,200,201,207,210,212,214,226,231,232,239,248,269,271,285,288,293,312,314,315,318,319,320,349,350,351,354,385],soc_air101_v0008:312,soc_download:354,soc_v0001_esp32c3_rc2:288,soc_v0005_air105:239,soc_v0007_air101:226,soc_v0007_air103:232,soc_v0017_air101:[73,78],soc_v1001_ec618:318,soc_v1105_ec618:269,soc_v1105_ec618_ful:269,soc_v1105_ec618_tt:269,soc_v1108_ec618:269,soc_v1108_ec618_cloud:269,soc_v1108_ec618_ful:269,soc_v1108_ec618_tt:269,soc_v1108_ec618_tts_onchip:269,socket:[11,19,29,54,95,121,124,131,133,266,268,269,296,306,326,348,353,358,363,380],socket_ctrl:115,soft:[93,253,265,273,293,369],soft_kb_inc:116,softap:260,softi2c:26,softkb:29,softkeyboard:[29,121],softspidevic:117,softwar:[1,10,26,29,36,54,64,68,103,117,121,123,127,128,176,177,183,188,194,199,206,208,210,221,224,238,249,250,251,253,254,260,268,271,272,284,293,300,324,333,337,345,354,363,367,374,379],solari:379,sold:[358,360,363,387],solder:[285,289],solid:[127,250],solut:[39,212,220,253,255,268,271,293,318,324,337,345,372,377],solv:[14,18,26,102,214,221,248,255,268,301,305,319,320,339,378],some:[0,21,26,29,30,58,67,72,94,98,102,103,108,109,115,119,121,127,132,134,138,145,162,164,180,181,182,184,189,196,197,198,207,210,212,213,214,238,250,253,254,266,268,272,277,285,293,305,307,311,314,332,348,352,358,360,363,369,372,373,376,378,379,380,383],someon:379,someth:[16,59,122,162,210,212,220,325,378,379],sometim:[12,162,268,369,378,379],somewhat:379,song:171,soni:341,soon:[11,336],sop:372,sort:[162,168,267,275,323,339,378],sound:[1,4,267,268],sourc:[11,28,31,91,98,99,135,138,163,165,189,191,192,193,209,211,212,217,221,229,238,253,254,268,269,273,284,289,292,293,295,300,304,321,331,339,341,352,356,358,363,377,378,379,380,381],source_32k:29,source_main:29,source_sans_16:327,south:39,sp:243,space:[4,13,14,15,16,18,26,59,120,127,128,130,136,162,165,196,197,198,247,255,269,273,285,294,304,314,318,320,348,378,379],spacer:378,spacer_posit:162,spare:333,spawn:379,spe:[253,293],speak:[107,162,180,181,214,378],speaker:[1,267,277],spec_v1:196,special:[11,22,29,94,100,103,121,134,162,180,181,182,184,210,250,268,277,287,291,293,294,318,320,323,348,349,350,372,378,379],specif:[0,10,16,20,23,26,27,36,37,57,58,59,81,86,87,91,94,100,110,122,162,169,177,194,208,212,214,220,233,238,243,248,253,254,258,268,273,284,289,293,301,312,313,318,319,325,326,330,331,334,345,347,352,356,360,363,367,369,376,378,379],specifi:[1,3,6,8,10,16,30,36,39,72,73,78,79,89,96,98,100,101,103,105,106,113,115,117,120,122,124,125,127,134,136,162,177,199,201,208,266,268,293,324,326,327,334,337,338,344,345,348,356,358,369,374,378,379],specification_v1:[185,258],specified_script_:379,specimen:162,speech:[271,293],speed:[1,13,18,29,39,91,117,138,163,173,174,175,195,196,197,198,207,210,211,212,214,220,221,243,248,249,250,268,271,282,284,289,292,293,301,354,361,372,375,378,379],speed_knot:39,speed_kph:39,spell:384,spend:381,spent:381,spi0:[10,36,117,212,267,272],spi0_c:[228,272],spi0_clk:[228,238],spi0_csn:238,spi0_miso:[228,238,272],spi0_mosi:[228,238,272],spi0_scl:272,spi1:[117,255,272],spi1_c:[228,272],spi1_clk:228,spi1_csn:238,spi1_miso:[228,238,272],spi1_mosi:[228,238,272],spi1_sck:238,spi1_scl:272,spi2:117,spi2_c:284,spi2_ck:284,spi2_csn:238,spi2_miso:[238,284],spi2_mosi:[238,284],spi2_sck:238,spi3:117,spi4:117,spi5:234,spi5_clk:238,spi5_csn:238,spi5_miso:238,spi5_mosi:238,spi:[10,13,15,22,23,29,36,63,66,71,74,86,87,91,111,121,127,131,165,166,177,178,190,194,208,209,218,224,238,243,253,260,267,268,269,271,273,277,282,287,289,293,296,300,311,337,338,345,348,352,353,354,398,404],spi_0:[66,117,131],spi_12s_flag_bsi:255,spi_12s_flag_tx:255,spi_12s_getflagstatu:255,spi_1:117,spi_2:117,spi_3:117,spi_4:117,spi_bandr:29,spi_c:[29,63,127,191,196,197,223,245],spi_clk:[191,196,197,245],spi_cmd:255,spi_dc:127,spi_devic:[16,29,59,212,220],spi_eink:10,spi_flash:[191,192,193,196,197,198,212,220],spi_hw_4pin:127,spi_i25_dmareq_rx:255,spi_i2s_dmacmd:255,spi_i2s_dmareq_tx:255,spi_i2s_flag_bsi:255,spi_i2s_flag_rxn:255,spi_i2s_flag_tx:255,spi_i2s_getflagstatu:255,spi_i2s_receivedata:255,spi_i2s_senddata:255,spi_id:[10,29,54,87,117,127,342],spi_lcd:[36,166,212,220],spi_lora:87,spi_mcp2515:63,spi_miso:[63,66,191,196,197,223,245],spi_mosi:[63,191,196,197,223,245],spi_r:127,spi_rc522:71,spi_sck:[63,223],spi_si24r1:74,spi_spe:29,spiclk:284,spiconfig:29,spics0:284,spid:284,spidevic:348,spidon:117,spiflash:[16,59,109,191,192,193,196,197,198],spihd:284,spiid:[13,29,166,191,192,193,196,197,198,342],spiid_or_spidevic:29,spinbox:[138,163],spinbox_cr:162,spinbox_decr:162,spinbox_decrement_event_cb:162,spinbox_demo:162,spinbox_incr:162,spinbox_increment_event_cb:162,spinbox_part_bg:162,spinbox_part_cursor:162,spinbox_set_digit_format:162,spinbox_set_padding_left:162,spinbox_set_rang:162,spinbox_set_step:162,spinbox_set_valu:162,spinbox_step_prev:162,spinner:[138,163],spinner_:162,spinner_cr:162,spinner_demo:162,spinner_part_bg:162,spinner_part_ind:162,spinner_type_:162,spinner_type_constant_arc:162,spinner_type_fillspin_arc:162,spinner_type_spinning_arc:162,spiq:284,spiwp:284,spix:255,spk:267,spl06:54,spl06_01:54,spl06_data:75,splice:[212,220],split:[29,138,163,379,381],spot:[89,292,344],spr_i2s_cetflagstatu:255,sprinkl:238,sprintf:379,sql:29,sqlite3:[29,121],sqrt:168,squar:[21,89,162,212,220,300,379],sram:[243,255,260,289,300,314],src:[162,310,312,314,315,320],srv:98,srv_uuid:29,ss:380,ssd1306:[127,171,212,310,311],ssd1306_128x32:127,ssd1309:127,ssd1322:127,ssi:300,ssid:[29,344],ssl:[19,29,115,268,275],ssllog:29,st7565:268,st7567:127,st7735:[36,166,178,212,293,310,311,401],st7735v:36,st7789:[36,398],st7796:36,st:255,sta:[19,95,115,133,134,344],stabil:[91,221,238,268],stabl:[250,266,356,367,372,374,379],stabli:[250,255],stack:[94,115,168,209,268,304,305,323,325,326],stack_to:379,staff:[384,387],stage:[129,162,289,354,355,379],stagger:94,stai:[255,372,379,381],staip:29,stamp:[284,289],stand:[162,379],standalon:[326,379],standard:[20,27,39,63,66,115,136,168,238,253,268,277,293,326,331,334,336,352,356,363,378],standbi:[86,87,94,109,211,273,372],standi:29,star:[26,304,394],start2:29,start:[0,5,7,10,11,16,21,26,29,30,36,38,39,54,59,94,95,96,98,103,109,110,111,112,113,115,117,127,133,134,138,163,166,169,171,177,191,192,193,196,197,198,201,202,203,204,205,207,208,212,214,221,223,224,228,238,255,268,277,293,300,302,305,308,311,314,315,320,324,326,327,331,336,337,344,345,348,354,355,356,358,369,379,380,381],start_angl:162,start_auto_clos:162,startraw:29,startswith:29,startup:[1,11,91,94,177,183,207,208,217,248,272,282,293,301,305,333,344,379],stat:[94,133,379],state:[21,29,35,39,54,71,94,97,103,115,116,121,122,123,135,136,138,163,207,211,221,238,253,266,268,272,293,294,301,324,337,340,345,348,360,369,372,378,379,380,381],state_check:162,state_default:162,state_disconnect:95,state_focus:162,state_mqtt:95,state_press:162,state_readi:95,state_sconnect:95,statem:[29,121,294,296],statement:[18,39,102,106,118,168,268,269,275,305,318,326],statement_:379,statements_and:379,station:[54,94,96,123,134,213,260,266,268,314,315,320,344,355,385],statist:[94,123,268,363,379],statu:[7,14,24,27,29,31,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,68,69,70,71,72,73,74,75,76,77,78,79,80,82,83,84,88,91,95,96,99,106,114,115,116,118,123,125,129,131,138,163,168,173,174,175,190,191,192,193,220,223,228,255,268,272,282,324,337,344,345,348,366,381,382],status:381,status_cod:336,stderr:379,stdin:[331,379],stdint:214,stdout:[331,379],step:[89,103,162,172,177,203,204,205,208,210,255,289,291,293,318,320,326,356,360,378,379],stepin:326,stepout:326,stick:[358,378],sticker:358,still:[1,23,72,103,115,118,128,129,133,162,172,212,220,253,268,269,272,277,285,292,293,294,302,318,319,326,335,356,358,378,379],stm32cubeprogramm:255,stm32f103c6t6:254,stm32f103c8t6:254,stm8:374,stmflashload:255,stock:393,stop:[29,64,91,103,128,134,162,177,202,203,204,205,208,212,220,248,253,254,284,289,293,301,305,324,332,333,337,343,344,345,376,378,379,382],stop_bit:29,stopap:29,storag:[16,59,162,172,238,266,327,347,379],store:[1,3,4,12,15,16,27,31,59,66,72,92,115,117,128,130,162,172,211,277,312,328,337,339,347,349,350,351,352,358,363,369,378,379,381,382,384],storge_loc:[29,54],stori:311,str1:378,str2:378,str3:378,str4:378,str:[3,29,136,171,212,220,334,343,378,379],straightforward:[277,379],strategi:[162,379],strawberri:[295,356,361,372,374,375],strcmp:162,stream:[3,29,92,136,166,268,328,379],strength:[94,134,344,381],stress:[89,91],stretch:162,strftime:[99,379],strict:255,strictli:[348,358,363,373,376,379],string:[1,2,3,4,6,7,8,10,12,13,14,15,16,17,18,19,20,21,23,24,25,26,27,28,29,30,32,34,36,38,39,48,52,55,57,58,59,60,63,66,67,71,72,74,79,81,82,84,85,86,87,88,89,91,92,94,95,96,97,98,99,100,104,106,107,109,110,111,112,113,114,115,117,118,121,122,123,124,127,128,129,130,131,133,134,135,136,137,162,168,172,173,174,175,177,183,191,192,193,195,196,197,198,206,208,212,220,268,277,304,320,326,334,348,349,350,354,380,381],string_:379,string_can:379,stringdata:172,strip:168,strong:[29,121,162,238,379],strongli:[125,267,314,315,331],strt:255,strtoll:[29,268],struct:[305,327,330,335,339,346,379],structur:[4,6,91,112,113,162,168,209,303,305,314,315,318,320,323,324,337,345,378,381],stuck:[111,289],studi:[212,220,250,378,383],studio:[210,322],sty_en:29,sty_zh:29,style:[29,138,163,171,177,208,268,271,293,324,337,345,363,379],style_cr:[29,162],style_delet:29,style_init:[89,162],style_lin:162,style_list:89,style_list_cr:29,style_list_delet:29,style_list_t:29,style_screen_label4_main:162,style_screen_label_main:162,style_set_image_recolor:162,style_set_image_recolor_opa:162,style_set_line_color:162,style_set_line_round:162,style_set_line_width:162,style_set_text_color:162,style_set_text_font:162,style_t:[29,162],su:[162,275],sub:[26,124,162,168,212,220],subcallback:[380,381],subchr:29,subject:[89,95,379],sublibrari:379,submask:29,submiss:345,submit:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,116,117,118,119,120,122,124,125,126,127,128,129,130,131,132,133,134,135,136,137,330],submodul:[316,379],subnet:[131,344],subroutin:378,subscrib:[29,35,39,50,51,54,63,86,87,94,98,115,116,123,126,134,177,208,212,220,305,380,381],subscript:[55,94,98,136,305,353,381,382],subsequ:[36,103,115,117,127,128,136,162,191,192,193,248,255,378,379],subset:379,substandard:378,substitut:379,substr:[378,379],subsystem:243,subtl:39,subtract:[2,162,269,378,379],subtyp:379,succ:[16,26,27,94,115,117],succe:[114,235,333,379],succeed:[28,103,379],success:[1,3,4,6,7,8,10,12,13,14,16,17,18,19,20,21,22,25,26,27,28,30,34,36,37,39,40,41,42,44,46,48,49,51,53,56,57,58,59,60,62,64,65,68,69,70,72,74,75,76,77,80,83,84,87,88,89,90,91,92,93,94,95,96,97,98,99,100,103,104,105,107,108,110,111,112,113,114,115,117,118,119,123,124,126,127,128,130,132,133,134,135,136,169,172,173,174,175,191,192,193,214,243,248,255,266,268,318,319,320,333,342,343,344,348,360,379,381],successfulli:[1,3,16,30,57,66,74,88,95,96,98,103,107,112,115,117,118,134,136,191,192,193,212,255,268,285,289,311,319,342,343,348,354,378,379,382],sudo:[166,321],suffici:[92,128,255,379],suffix:[29,212,220,269,274,314,315,335,347,379],sugar:379,suggest:[162,303,304,372,379],suit:[6,271,293,355],suitabl:[10,39,91,117,162,165,250,272,282,318,320,335,377,378,379,385],sum:[162,378,379],summari:[293,294,348,349,350],sundai:[68,379],sunt:162,super_mario:97,superimpos:372,superpro:255,supplement:[109,124,243,379],supplementari:[296,326,378],suppli:[0,1,66,103,162,169,189,212,220,221,237,250,266,287,291,292,293,300,311,356,363,366,367,372,374,379,393],supplier:356,support:[0,1,4,5,6,10,13,14,15,18,19,21,22,23,24,25,26,27,29,34,36,37,39,50,54,57,58,64,66,67,72,79,86,89,91,92,94,98,103,105,106,107,108,112,114,115,117,118,119,120,121,123,126,127,128,129,130,132,134,137,138,163,165,168,182,191,192,193,196,197,198,207,211,212,217,220,229,233,238,243,249,250,253,254,257,260,265,266,267,268,269,272,273,275,277,282,284,289,293,299,300,302,304,312,319,323,324,327,331,333,334,337,339,341,345,348,352,355,356,358,363,366,367,373,374,376,378,380,381,385,395],support_empti:379,suppos:[162,303,378,379,381],sure:[30,36,57,89,98,123,162,212,220,221,235,269,272,274,304,311,318,319,358,378,379],surg:[238,358,372,378],surpris:378,surround:[196,197,198,379],suspend:[212,220,255,284,324,337,345,379,380,381,382],svc_handler:214,svd:294,svn:306,svr_uuid:29,sw1:162,sw2:162,sw:[214,248,250,253,293,301],swap:[29,379],swclk:[214,218,255],swd:[214,217,248,250,255,293,300],swd_clk:[248,249,301],swd_dio:[248,249,301],swdclk:[248,249,301],swdio:[214,218,248,249,255,301],swing:[138,163],swipe:[162,268,311,320,352],switch_:162,switch_creat:162,switch_demo:162,switch_get_st:162,switch_off:162,switch_on:162,switch_part_bg:162,switch_part_ind:162,switch_part_knob:162,switch_toggl:162,swm181:[293,297,298,299,300],swm181_lib:300,swm181_pcb:[293,299],swm181cbt6:[293,297,298],swm181xb:301,swm81:300,sx1268:[86,87],sxx32:255,sxx32f103:[253,254,293],sxx32f1xx:[253,293],sxx32f1xx_dfp:255,sxx32f1xx_hal_msp:255,sy:[10,16,21,23,24,26,27,29,35,36,39,40,41,42,43,44,45,46,47,48,49,50,51,53,55,56,57,58,59,61,62,63,64,65,66,67,69,70,71,72,73,74,75,76,77,78,79,80,82,83,84,86,87,89,91,93,94,96,98,103,105,109,111,115,116,117,118,121,126,132,133,134,162,165,166,169,171,172,173,174,175,177,180,181,182,185,186,187,189,190,191,192,193,195,196,197,198,202,203,204,205,208,212,220,269,302,303,305,321,322,324,333,337,343,345,347,348,352,380,381],symbol:[1,4,10,36,101,127,136,138,163,250,294,318,335,348,353,369,378,379],symbol_:162,symbol_backspac:162,symbol_battery_ful:162,symbol_bel:162,symbol_clos:162,symbol_directori:162,symbol_dummi:162,symbol_edit:162,symbol_fil:162,symbol_left:162,symbol_minu:162,symbol_ok:162,symbol_plu:162,symbol_right:162,symbol_sav:162,symbol_set:162,symbtimeout:[86,87],symmetr:[6,162,170],symmetri:[138,163,300],sync:243,synchron:[54,115,123,173,174,175,195,196,197,198,212,220,221,255,331,354,356,361,374,375],synergi:168,syntact:379,syntax:[168,304,308,348,377,378],synthes:[277,311],synthesi:[274,277,324,337,345],synwit:301,sys_pub:[336,345],sys_send:[60,124],sys_wait:[115,124],syscfg:214,sysplu:[10,24,29,60,121,269],syst:19,system:[6,11,12,13,16,29,30,31,39,57,58,59,89,92,94,99,109,110,113,121,138,163,168,177,194,200,207,208,211,212,214,220,224,238,243,247,248,250,253,254,264,266,268,271,272,284,289,293,300,301,302,305,322,323,324,325,327,329,337,345,346,347,349,350,354,385],system_air001xx:[217,293],systemclock_config:214,systemcoreclock:301,systeminit:301,systick_config:301,systick_handl:[214,301],sz:[127,379],t0h:29,t0l:29,t1:[0,168],t1h:29,t1l:29,t2:[0,168],t3324:[94,96],t3412:96,t5:277,t9000:255,t:[10,13,18,22,25,26,29,42,45,48,58,59,72,75,91,94,99,108,110,111,112,115,162,165,166,168,189,203,204,205,210,212,220,221,248,253,269,277,292,293,301,302,305,314,315,320,333,336,340,348,349,351,356,358,363,378,381],ta1:162,ta:162,ta_cursor_last:162,ta_event_cb:162,ta_loc:162,ta_set_edge_flash:162,ta_set_insert_replac:162,ta_set_scroll_propag:162,ta_temp:29,tab1:162,tab2:162,tab3:162,tab:[29,138,163,212,248,250,301,372],tab_pag:162,tab_pos_top:162,tabal:24,tabl:[1,3,6,9,10,13,14,15,18,19,24,25,26,28,30,34,36,38,39,41,42,44,47,48,49,53,55,56,58,61,62,63,64,65,66,68,70,71,72,75,76,78,79,80,81,86,87,91,92,93,94,95,96,98,99,103,104,108,113,115,116,118,120,124,127,128,129,133,134,136,138,163,168,172,177,194,208,212,220,224,229,236,238,246,263,268,272,275,284,285,289,293,303,305,325,335,336,339,347,348,353,354,360,361,369,372,375,381],table_:379,table_cell_style_cnt:162,table_cr:162,table_demo:162,table_i:379,table_part_bg:162,table_part_cell1:162,table_part_cell2:162,table_part_cell3:162,table_part_cell4:162,table_ref:379,table_set_cell_align:162,table_set_cell_crop:162,table_set_cell_typ:162,table_set_cell_valu:162,table_set_col_cnt:162,table_set_col_width:162,table_set_row_cnt:162,table_typ:162,tableconstructor:379,tabul:379,tabview:[138,163],tabview_:162,tabview_add_tab:162,tabview_cr:162,tabview_demo:162,tabview_part_bg:162,tabview_part_bg_scrl:162,tabview_part_ind:162,tabview_part_tab_bg:162,tabview_part_tab_btn:162,tabview_set_tab_nam:162,tabview_tab_pos_non:162,tac:29,tag:[29,111,138,163,191,192,193,268,348,352,379,381],tagtyp:71,tail:[4,120,334,379],tailor:378,take:[0,3,11,31,72,85,90,93,94,103,104,115,136,162,165,166,168,196,197,198,235,255,268,269,277,304,305,314,315,318,320,323,330,334,336,353,354,355,358,360,366,376,378,381],taken:[10,72,89,127],talk:[162,166,379],tamb:238,tan:168,tangent:379,tanh:379,taobao:[218,225,231,250,254,264,300,356,372,374,387,398,401,404,407],tar:379,target:[28,29,38,39,99,191,192,193,214,248,268,269,272,274,301,320,363,372,378,379],task1:[124,382],task1_don:382,task2:382,task3:382,task:[18,24,60,67,72,96,122,124,177,208,209,268,324,337,345,348,349,351,378,379,380,381],task_:381,task_a_cnt:381,task_b_cnt:381,task_timer_id_max:381,taskdel:29,taskdisable_interrupt:255,taskexec:305,taskget:305,taskid:381,taskinit:[16,23,24,29,40,41,42,43,44,45,46,47,48,49,51,53,56,58,61,62,63,64,65,66,67,69,70,71,72,73,74,75,76,77,78,79,80,82,83,84,89,94,111,115,118,134,166,169,171,172,173,174,175,180,181,182,185,186,187,190,191,192,193,195,196,197,198,200,212,220,302,305,321,322,336,343,348,380,381],taskinitex:[29,60],taskl:54,tasklt:54,tasknam:[29,54,115],tasktimerid:381,tasktimerpool:381,tau:96,tautim:29,tax:356,tb:104,tc:[253,293],tcount:122,tcp:[32,95,115,133,268,273],tcptcp:95,tcs3472:54,td:275,tdd:[94,265,273],te:255,teach:[250,285],tear:[292,358],technic:[214,229,248,269,293,294,301,356,374,379],techniqu:378,technolog:[185,186,187],telecom:[29,114,121,123,266,268,273,275],tell:[162,378],temp:[47,61,65,72,378],temp_data:166,tempbit:[173,174,175],temperatur:[0,26,29,49,54,65,72,111,121,173,174,175,209,212,220,221,223,228,238,243,245,268,294,333],templat:[214,310,323,379],tempor:162,temporari:[91,312,318,378,379],temporarili:[66,94,115,162,294,378,379],ten:[360,369,379],tencent:[32,52,55,149,257,268],tengxun:[54,268],term:[162,238,266,324,337,345,379,384],term_sequence_to:379,termin:[162,166,255,356,358,372,379,381],test1:200,test2:200,test:[10,20,22,30,32,36,39,58,66,72,73,78,82,91,94,109,118,134,141,149,152,158,162,169,172,180,181,182,191,192,193,196,197,198,200,202,207,212,213,214,220,221,224,229,235,237,253,268,269,275,287,293,299,310,311,312,327,342,343,348,349,351,356,358,360,366,369,372,374,379,380,381,383,385],test_123123:336,test_data:200,test_json:312,testabl:306,testdemo:380,tester:360,testlbsloc:57,testmsgpub:380,testmsgsub:380,testsm:20,text:[12,92,102,114,127,138,163,208,250,277,318,321,335,355,376,379],text_line_spac:162,textarae_:162,textarea:[138,163],textarea_:162,textarea_add_char:162,textarea_add_text:162,textarea_cr:162,textarea_cursor_down:162,textarea_cursor_left:162,textarea_cursor_right:162,textarea_cursor_up:162,textarea_del_char:162,textarea_get_text:162,textarea_part_cursor:162,textarea_set_scroll_propag:162,textarea_set_text:162,textur:162,texture_atla:162,tf:[13,15,54,110,130,166,212,220,268,352],tf_c:[13,166],tft:[243,294,374,395,398,404],tft_:395,tg_pr:162,tgz:316,th:378,than:[0,5,11,12,26,30,31,33,38,58,72,81,91,92,94,98,115,122,127,136,162,173,174,175,180,181,182,207,211,212,220,221,243,250,251,253,254,266,268,277,293,294,304,318,331,333,346,358,360,363,369,373,376,378,379,381],thank:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,116,117,118,119,120,122,124,125,126,127,128,129,130,131,132,133,134,135,136,137,304,369],that_long:379,the_:379,the_act:379,the_al:379,the_bord:379,the_catch_i:379,the_continu:379,the_d_th:379,the_error:379,the_integration_load:379,the_iter:379,the_load:379,the_mag:379,the_meta:379,the_metatable_:379,the_n:379,the_n_catch:379,the_n_equ:379,the_n_her:379,the_n_lay:379,the_n_level:379,the_name_:379,the_not:379,the_pan:379,the_protect:379,the_step:379,the_upp:379,the_y_at:379,thei:[162,170,255,267,320,378,379,381],them:[162,169,248,250,255,268,272,303,326,330,358,360,367,372,378,379,381,384],them_primitive_:379,theme:[55,89,95,138,163],theme_appli:162,theme_get_font_smal:162,theme_set_act:29,theme_spinbox_btn:162,themselv:[320,379],theoret:[212,220],theori:[318,378],therebi:162,therefor:[94,162,255,289,318,331,358,369,379,381],thermal:[289,372],thi:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,141,145,149,152,158,162,163,164,165,167,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,212,213,214,220,221,227,228,229,231,233,235,248,250,251,255,257,266,267,268,269,272,273,274,285,289,292,293,301,303,304,305,307,312,314,315,318,319,320,323,325,326,328,329,330,331,334,336,342,344,346,347,348,352,353,355,358,360,363,366,369,372,373,376,378,379,380,381,382,394],thick:[29,162],thin:[162,378],thinbug:302,thing:[32,162,178,212,220,221,255,266,344,378,379,381],think:[162,212,220,293,353,378],third:[26,57,162,173,174,175,253,293,348,352,363,376,378,379,381,382],third_exp_:379,this_meta:379,those:[94,379,382],though:379,thought:[212,220],thousand:379,thread:[5,96,124,168,268,293,305,317,323,330,344,355,381,382],three:[10,26,32,36,54,66,102,162,165,207,211,212,214,220,238,266,269,294,305,331,334,372,378,379,381],threshold:[29,94,162,212,220],through:[0,3,11,21,26,39,52,72,89,92,94,96,103,113,118,135,162,190,200,201,203,204,205,207,211,212,213,214,220,221,226,232,238,253,269,277,284,289,293,300,303,311,314,315,324,325,326,327,330,331,333,337,345,352,354,356,358,369,373,378,379,380,381],throughout:[191,192,193,379],thrown:379,thu:[162,211,268,379],ti:250,tick1:29,tick2:29,tick64:[29,182],tick:[21,29,31,39,99,123,138,163,177,183,201,208,214],tick_int_prior:214,tick_per:91,tick_str:91,tickperu:182,ticks1:[180,181,182],ticks2:[180,181,182],tid:[122,200],tie:54,tielview:162,tight:89,tighten:358,tightli:358,tiktok:384,tile1:162,tile2:162,tile3:162,tile:[138,163],tileview:[138,163],tileview_:162,tileview_add_el:162,tileview_cr:162,tileview_demo:162,tileview_set_edge_flash:162,tileview_set_tile_act:162,tileview_set_valid_posit:162,tim1_ch4:255,tim1_etr:255,tim2:[253,293],tim2_ch1_etr:255,tim2_ch2:255,tim2_ch3:255,tim2_ch4:255,tim2_remap:255,tim3_irqhandl:255,tim5:[253,293],tim:[253,293],tim_clearitpendingbit:255,tim_cmd:255,tim_getitstatu:255,tim_it_upd:255,tim_itconfig:255,tim_opmode_singl:255,tim_selectonepulsemod:255,tim_setcount:255,time:[1,3,4,11,12,13,16,21,24,25,27,29,31,33,38,39,43,54,55,57,58,59,66,72,89,91,92,96,98,103,111,114,115,121,122,123,128,130,138,163,165,168,173,174,175,189,196,197,198,212,214,220,221,226,232,235,238,243,248,253,257,266,268,277,284,289,293,301,305,312,319,321,330,331,333,348,358,360,363,372,374,376,378,380,381,382,383],time_m:162,time_t:331,time_tick:29,time_u:29,timea:29,timeb:29,timeout:[24,29,54,59,72,89,95,115,123,179,201,212,220,268,305,330,333,381,382],timeout_tim:268,timer0:31,timer:[18,29,31,43,68,89,103,109,121,122,128,132,168,177,184,202,206,208,212,218,220,224,229,237,243,253,254,268,282,287,293,294,300,305,324,325,330,331,332,337,345,381],timer_handl:305,timer_id:[103,333],timer_start:[29,381],timer_stop:[29,333,381],timerid:381,timerloopstart:[21,29,59,132,200,202,203,204,205,269,380],timerout:333,timerpool:381,timerstart:[29,109,200,212,220,380],timerstop:[29,109,200],timestamp:[6,32,99,108,253,268,293],timezon:[29,96,268],timx:255,tin:289,tinder:369,tinyml:211,tip:[210,302,378],titl:[39,138,163,323],tkip:344,tl:[32,55,115,257,260,268,271,293],tld:[346,352],tm1637:54,tm1638:312,tm1640:54,tm1650:54,tm1650_kcb:79,tm8211:27,tm_hour:49,tm_mdai:49,tm_min:49,tm_mon:49,tm_sec:49,tm_wdai:49,tm_year:49,tmp:[48,120,312],tmpfile:168,tmpname:168,tname:379,to32:29,to64:29,to_:379,to_garbag:379,to_set_:379,tobase32:29,tobase64:[6,29],toc:162,tocod:29,todai:[10,36,127,162,166,378],today_d:162,todo:[35,116,129,139,140,142,143,144,146,150,151,153,154,155,156,157,159,160,161,171,219,240,241,279,281,311,325,326,331,389,397,400,403],togeth:[103,162,266,326,358,360,378,379,387],toggl:[29,162,292,363,373],tohex:[2,12,20,29,57,66,71,91,92,94,98,100,101,104,107,112,123,131,134,170,180,181,182,190,195,196,197,198,202,212,220,353],toidx:379,tointeg:168,token:[29,72,379],tolumb:378,tone:162,tonumb:[120,168,378],too:[89,102,115,162,169,207,210,221,284,289,305,318,319,320,330,358,360,372,378,379,393],tool:[14,18,91,103,106,162,208,213,218,221,248,253,263,284,293,302,322,323,347,356,367,372,374,378,379,383],toolbar:214,toolchain:[318,321],top:[10,36,127,136,162,213,250,277,305,348,363,369,376,379],top_fit_typ:162,topic:[29,54,117,305,336,345,378],toss:285,tostr:[29,168,378],total:[13,14,17,18,24,27,31,39,71,88,94,109,113,162,169,173,174,175,186,221,243,255,269,282,294,323,324,337,339,345,346,347,354,379,381],total_count:329,total_kb:13,total_len:347,total_sat:39,total_sector:13,totp:[29,268],touch:[29,89,121,123,162,229,250,293,372,378],touch_sensor:233,touchkei:[29,121,233],touchkey_inc:126,tovalu:29,tp:[29,379],tpname:29,trace:[221,238,379,385],traceback:168,traceswo:[253,293],track:[211,266],tradit:[98,117],traffic:94,trail:379,train:94,transceiv:[128,202,203,204,205,212,220],transfer:[29,39,73,135,173,174,175,196,197,198,203,204,205,212,220,253,268,293,305,325,342,361,372,375,379],transfer_done_top:29,transform:[2,21,162,255,378,379],transit:[89,135,162,269],translat:379,transmiss:[26,33,66,94,103,115,117,133,170,173,174,175,202,203,204,205,212,220,243,255,268,269],transmit:[13,94,112,115,117,134,202,203,204,205,211,212,220,255,289,335],transmitt:[202,203,204,205,212,220],transpar:[127,138,163,384],transplant:[118,250,253,293],transport:115,travers:[379,381],treasur:[356,358],treat:[162,378,379],treatment:379,tree:[36,214,379,386,396,399,402],tri:[94,277,379],trial:27,triangl:127,trick:[360,361],trigger:[21,68,103,109,128,176,177,208,212,220,253,267,293,300,301,305,326,331,340,356,363,369,379],trim:29,trimmer:[138,163],trimtrailingwhitespac:210,triod:[251,254],tripl:[32,95],triplet:32,trng:[29,98],troubl:304,troubleshoot:[224,255,293],troublesom:[72,190,212,220,305,335,336],true_track_degre:39,truli:94,truncat:[30,136,268,352],ts:96,tsl2561:54,tsl2561_data:80,tssop20:217,tstg:238,tt:[27,29,268,269,271,273,293],ttf:162,ttl:[202,203,204,205,284],tts_onchip:269,tube:[54,73,221,372],tune:[31,128],tupl:32,ture:137,turn:[0,1,5,8,11,21,26,28,36,39,50,67,72,78,79,94,95,103,105,109,115,118,122,126,127,130,132,133,134,162,169,177,184,188,199,207,208,212,214,220,238,250,253,268,284,289,292,293,311,324,337,339,345,356,358,363,373,374,379,382],turnkei:269,turnov:293,tutori:[21,101,117,122,128,136,138,164,176,183,188,194,199,206,210,212,213,217,220,224,229,235,237,246,253,271,287,289,293,294,299,304,313,314,315,320,348,355,358,369,382],tuya:[29,55],tv:221,twai:289,twice:[162,253,268,277,293,378,379,381],twinkl:212,two:[10,13,21,24,36,39,58,89,91,95,127,162,165,169,173,174,175,177,183,191,192,193,196,197,198,202,206,208,210,212,214,220,222,227,228,229,231,234,238,253,256,260,265,266,267,268,272,284,289,292,293,300,305,318,320,326,339,356,360,369,378,379,381,382,391],tx0:221,tx:[27,29,54,202,203,204,205,212,218,220,248,249,289,301],tx_:115,tx_done:87,tx_hwtimer_id:29,tx_ok:115,tx_pin:29,tx_timeout:87,txbuff:29,txconfig:29,txd:218,txfp:[253,293],txpacket:54,txstat:29,txt:[19,30,39,99,110,114,137,162,191,192,193,212,220,269,320,352],type:[0,1,3,5,7,8,9,10,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,83,84,85,86,87,88,89,90,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,110,111,113,114,115,116,117,118,119,120,122,123,124,125,126,127,128,129,130,131,132,133,134,135,137,138,163,168,172,177,191,192,193,206,208,238,255,267,268,272,277,284,289,292,293,300,312,318,319,324,325,330,334,337,339,345,347,348,349,350,354,358,361,363,372,373,375,376,380,381,382],type_font:319,type_funct:379,type_rect:162,type_si:11,type_thread_:379,type_usr:11,typec:[207,250,284,356,366,373],typedef:[327,335,339,346,379],typic:[1,5,26,37,39,89,91,134,162,212,214,220,221,271,293,361,369,372,375,379],tz:29,u0_rx:284,u0_tx:284,u16:136,u1_rx:[202,203,204,205],u1_tx:[202,203,204,205],u32:136,u4:293,u64:136,u8:136,u8g2:[9,15,29,121,129,171,268,269,273,296,314,319,339],u8g2_font_unifont_t_symbol:127,u8g2_get:29,u8g2_load:29,u:[130,162,168,249,250,385],uart0:[106,128,203,204,205,212,220,221,267,268,272,282,284],uart0_ct:238,uart0_rx:[223,228,238,245,272,284],uart0_tx:[221,223,228,238,245,262,272,284],uart1:[128,177,202,206,208,212,220,267,268,272,284],uart1_ct:238,uart1_rt:238,uart1_rx:[212,220,223,228,238,245,262,272,284],uart1_rxd:272,uart1_tx:[212,220,223,228,238,245,262,272,284],uart2:[39,91,266,267,268,272],uart2_ct:238,uart2_rt:238,uart2_rx:[223,228,238,245,266,272],uart2_tx:[223,228,238,245,272],uart3_ct:238,uart3_rt:238,uart3_rx:[223,228,238],uart3_tx:[223,228,238],uart4_rx:[223,228],uart4_tx:[223,228],uart5_rx:228,uart5_tx:228,uart:[3,29,39,82,91,94,106,121,135,177,180,181,201,208,209,224,238,243,260,266,268,271,282,284,289,293,300,326,330,335,337,338,345,353],uart_br:54,uart_data:94,uart_id:[29,54,128,212,220],uart_recv_id:[212,220],uart_tx:128,uartid:[83,84,202,343],uartimeout:[212,220],uarttask:[212,220],uatt0_rx:262,ubuntu:318,uc1701:127,uco:381,ucs2:28,ucs2b:28,ucs2betoutf8:28,ud:[329,331,348,379],udata:[12,92,168],udelai:29,udisk_attach_sdhc:29,udisk_detach_sdhc:29,udp:[54,115,268,273],udpsrv:54,uev:255,ufont:[29,121],ui:[171,210,269,273,277,321,322,366,374],ui_upd:171,uid:[54,212,220],uint16_t:[255,327,335,339,346],uint32:334,uint32_t:[89,162,214,255,325,327,328,330,332,333,335,339,342,343,346,348],uint64:91,uint64_t:305,uint8:[334,335],uint8_t:[214,255,327,328,331,332,335,339,342,343,346],uion:335,uiot:134,ulink2:255,ullamco:162,ult:168,ultim:265,ultra:[209,250,268,385],unabl:[58,217,221,268,293,294],unambigu:306,unari:379,unauthor:170,uncertain:379,unchang:[136,381],uncheck:[138,163],uncom:[314,315,320],uncompress:29,uncreat:379,undeclar:378,undefin:379,under:[15,23,25,29,67,72,99,118,121,162,191,192,193,212,214,221,238,248,268,271,292,293,301,304,318,321,322,326,358,360,374,379],underli:[8,13,23,27,29,30,39,66,89,93,94,102,103,115,121,125,127,132,162,168,184,201,208,267,268,269,304,319,322,331,333,335,355,379,385],underlin:[348,379],underscor:[348,379],understand:[72,131,162,209,272,302,304,358,363,379,380,381],understood:[36,378,381],undervoltag:[243,300],undirect:98,undiscover:98,unequ:[136,379],unexpect:[162,212,220],unfamiliar:381,unfil:68,unfinish:379,unhid:162,unicod:[28,127,162,339,379],unicode_max:339,unicode_min:339,unicode_w:339,unicom:[123,266],unifi:[29,121,162,250,277,347],unifont_t_symbol:15,uniform:[268,327,379],uniformli:[319,379],uninstal:250,union:379,uniqu:[72,91,94,95,131,177,183,208,305,379,381,382],unique_id:[11,29,55,72,94,180,181,182,294],unit:[0,1,8,11,13,14,18,21,24,26,27,37,55,65,86,87,91,94,95,96,98,103,108,111,125,126,128,131,133,169,238,255,268,277,312,333,360,372,376,378,379,381,382],univers:[98,191,192,193,202,203,204,205,207,212,220,234,250,327,363,379],unix:379,unknow:94,unknown:[7,38,40,41,42,43,44,45,46,47,48,49,50,51,52,53,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,73,74,75,76,77,78,79,80,82,83,84,88,91,94,96,99,103,114,116,118,125,129],unknwn:98,unless:[66,103,104,122,125,162,221,266,325,379],unlik:[255,277,303,378,379],unlimit:268,unload:89,unlock:[94,100,394],unnecessari:372,unop:379,unpack:[6,29,121,168,212,220,268,334,336,353,381],unplug:207,unposit:39,unpredict:379,unprotect:[379,381],unreach:379,unread:379,unreason:268,unregist:[94,344],unreli:372,unrepres:379,unrespons:26,unrol:379,unscii:162,unsign:[2,101,136,277,335,353,379],unsignen:136,unsold:255,unstabl:360,unsubchr:29,unsubscrib:[29,54,98,381],unsuccess:293,unsupport:[130,255],until:[5,26,103,115,166,289,326,379,381],unus:[250,381],up:[7,13,14,18,20,21,23,31,36,63,86,89,94,96,98,103,106,108,112,114,115,117,123,124,125,134,138,163,168,184,185,186,187,196,197,198,203,204,205,212,214,218,220,223,224,226,228,232,238,243,248,250,253,254,255,260,268,272,284,289,293,300,311,312,326,330,332,339,340,352,356,358,363,369,374,378,381,382,393],upcom:366,updat:[6,16,24,36,67,72,89,91,96,98,123,127,138,163,171,208,213,247,253,255,264,266,268,293,300,311,313,317,318,326,348,369,376,379],updatecellinfo:29,upgrad:[18,29,54,102,109,121,248,249,250,254,260,268,271,277,284,289,293,301,356,358,366,380,385],uplink:94,uplinkb:94,uplinkgb:94,upload:[11,19,72,130,212,213,220],upon:379,upper:[10,36,89,93,127,162,168,210,248,255,358,372,378],uppercas:[6,162,348,378,379],upstream:94,upvalu:379,upvalueid:168,upvaluejoin:168,urg:306,uri:[25,29],url:[29,59,120,268,348,378],urlencod:[24,29],us:[0,1,3,4,5,6,7,8,9,10,11,13,14,15,16,17,18,21,22,23,24,26,29,30,31,33,34,35,36,39,40,41,42,43,44,46,47,48,49,51,53,54,56,57,58,59,60,61,63,65,66,67,69,70,71,72,73,74,75,76,77,80,82,83,84,89,91,92,94,95,96,98,99,102,103,106,107,108,109,110,111,115,117,118,120,121,122,123,125,127,128,131,133,134,135,137,138,162,164,166,168,169,170,171,172,173,174,175,177,178,179,180,181,182,184,185,186,187,189,190,194,195,196,197,198,201,202,206,207,208,210,211,212,213,217,220,221,231,235,238,248,251,253,254,257,258,260,262,266,267,268,269,272,273,274,275,277,285,287,289,292,293,295,299,300,301,302,303,304,306,309,311,312,313,314,315,318,320,321,322,323,324,326,327,328,329,331,336,337,338,339,344,345,346,347,348,349,351,353,354,355,356,358,361,363,367,369,373,374,375,376,377,378,380,381,388,391,393,395,398,401,404,407],usag:[11,20,27,40,41,42,43,44,45,46,47,48,49,50,51,53,56,57,59,61,62,63,64,65,66,67,69,70,71,73,74,75,76,77,78,80,81,82,83,84,91,94,96,98,107,133,134,138,163,177,208,224,253,254,268,293,307,311,335,348,356,358,363,369,374,379,381],usart1_ct:255,usart1_rt:255,usart:[218,253,293],usb:[3,6,13,29,103,115,121,202,203,204,205,207,212,220,237,243,249,253,254,268,272,273,282,284,289,292,293,296,326,355,356,358,361,363,366,367,374,375,376,385],usb_d:284,usb_istr:255,usb_uart:268,usba:250,usbapp:[29,121],usbclk:251,usbdm:255,usbdp:255,use_full_assert:214,use_lvgl_simsun_48:162,use_spiid_init:[191,192,193],use_zbuff:[203,204,205],useless:[0,255,354],user:[1,3,6,11,14,18,19,24,29,33,55,57,59,66,67,79,85,94,95,96,103,109,115,130,162,169,170,172,173,174,175,177,179,180,181,182,191,192,193,196,197,198,201,208,211,212,217,218,236,248,250,255,268,269,272,282,293,300,301,306,309,310,311,323,329,330,331,332,335,336,340,342,343,344,347,348,349,351,356,358,361,363,367,369,372,374,375,379,381,382,384],user_data:115,user_flag:29,user_guide_cn:292,user_msg:200,user_nam:[29,32],user_stop:1,userapn:29,userdata:[4,6,10,14,15,16,18,22,24,28,30,36,38,59,60,87,89,95,112,113,117,118,127,129,133,135,162,379],userid:55,userkei:55,usernam:[29,94],usim_det:272,using_non_wrapping_output_buf:92,usleep:119,usr:379,usual:[0,13,24,34,37,39,72,89,98,99,100,103,104,106,107,108,109,110,112,115,122,123,125,130,132,135,162,169,178,207,212,220,221,238,269,303,311,314,315,318,319,323,326,330,332,339,346,352,369,372,379],usual_wrap_rul:379,ut:162,utc:[39,99,108,266],utf16:327,utf8:[28,36,123,127,168],utf:[162,168],util:[18,117],utran:94,uuid:[29,293],v0001:109,v0004:347,v0007:[268,347],v0:[172,255],v1002:[268,272],v1016:272,v1020:[259,293],v1021:[259,293],v1103:[266,269,271,272,274,293],v1104:[271,277,293],v1105:[269,271,293],v1106:[265,271,293],v1107:[269,271,293],v1108:[269,271,293],v1112:266,v1120:265,v1:[134,168,169,172,186,191,192,193,197,198,203,204,205,223,228,233,234,236,250,258,267,293,326,356,366,367,369],v2:[10,54,134,168,248,249,250,297,298,300,307,347,356],v32xeaksgtieqxtqgwcldp5aplcnps3k:57,v4:317,v5:[277,320],v:[18,29,39,63,106,118,134,162,168,172,238,275,277,282,376],va_list:379,val1:[29,168],val2:29,val3:29,val:[29,54,72,101,111,136,212,220,379],valid:[10,13,14,18,20,24,26,31,36,39,95,107,117,127,128,130,136,162,168,189,212,266,284,378],valid_po:162,valid_pos_arrai:162,vallei:363,valn:29,valu:[0,2,3,4,5,6,7,8,9,10,11,12,15,16,17,19,20,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,92,93,95,96,97,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,163,168,169,172,173,174,175,189,195,196,197,198,202,207,212,214,220,221,238,253,262,268,272,274,277,283,293,300,303,304,318,319,320,323,325,330,331,333,334,335,340,342,343,348,349,350,351,353,354,356,358,361,363,369,373,374,375,376,381,382],value_:379,value_arrai:162,value_n:379,values_:379,vari:[20,98,162],variabl:[57,101,106,124,162,168,209,226,232,303,318,326,329,331,380,381,382],variables_:379,variad:379,variat:39,varieti:[123,162,178,212,220,243,268,269,366],variou:[3,26,29,121,133,162,191,192,193,212,213,269,347,350,378,379],varlist:379,varnam:168,vast:109,vbat33:238,vbat:[0,72,212,220,245],vbu:[238,272,284],vcc33:238,vcc:[191,192,193,196,197,198,238,250],vcodec:166,vdd12:238,vdd25:238,vdd33:238,vdd33_out:238,vdd3p3_cpu:284,vdd3p3_rtc:284,vdd:[93,238,255,284],vdd_spi:284,vdiv:162,vdop:39,ve:162,vector:[89,300,327,390,391],velit:162,vendor:[330,331],veniam:162,ver_fit_typ:162,ver_r:162,veri:[72,107,125,138,163,165,166,178,185,186,187,190,210,212,220,250,267,268,272,293,305,331,336,369,374,378,379,381],verif:[92,94,95,107,115,128,268,348],verifi:[29,32,71,94,95,111,115,235,268,318,323,354,356,369,374],versa:379,version:[5,10,20,23,29,36,54,59,72,86,102,106,121,124,127,131,138,163,166,168,169,171,172,173,174,175,179,180,181,182,185,186,187,191,192,193,196,197,198,200,201,203,204,205,207,212,213,214,224,229,237,247,248,249,253,255,257,264,266,267,268,271,272,273,274,284,286,287,293,306,309,311,320,326,327,339,346,347,348,355,356,361,367,369,372,374,375,380],version_:109,vertex:10,vertic:[36,39,127,138,163,369,379],veteran:[355,377],vf:[166,352],vfs_fatf:268,vhid_cancel_upload:29,vhid_upload:29,via:[52,98,127,162,207,210,218,255,266,326,356,369,374,376,379],vibrat:221,vice:379,vid:29,vid_0d28:250,video:[21,29,78,79,101,117,122,128,136,138,207,208,210,212,220,313,314,315,320,348,355,358,360,382],video_h:166,video_plai:166,video_w:166,view:[0,1,2,3,4,6,7,8,9,10,11,13,14,16,17,18,19,20,21,23,24,25,26,27,28,29,30,31,32,33,34,35,36,38,39,45,54,58,72,81,86,87,89,91,94,95,98,100,101,103,104,105,107,108,113,114,115,117,118,119,120,122,127,128,130,131,132,133,134,136,138,163,165,170,176,183,188,194,199,206,208,217,224,250,284,293,311,320,326,335,354,356,358,361,367,369,372,374,375,378,379,381,406],viewer:392,vih:238,vil:238,vin:[173,174,175],violat:379,virtual:[3,13,39,94,103,106,109,128,162,212,220,221,248,249,253,268,271,284,289,293,301,304,323,325,328,329,330,347,352,378,379],virtual_com_port:251,visibl:[39,96,128,130,138,163,168,349,351,378],visit:162,visual:[162,210,322],visualstudio:210,vlcd:29,vm:[15,36,201],voh:238,voic:[273,275,277,293],vol:[29,238,268],volatil:[191,192,193],volt:[211,273,275],voltag:[0,10,37,53,103,165,169,212,220,221,223,228,234,238,243,245,253,268,293,300,356,358,361,366,367,369,373,374,375],volum:[1,94,268,271,293,372,378],volupt:162,vs1838:66,vscode:[208,304,314,315,318,326],vss:238,vta:39,vtg:39,vuart_0:[3,39,94,128],w1_connect:29,w1_read:29,w1_reset:29,w1_write:29,w25q128:[191,192,193,196,197,198,212,220,285],w25q128jv:[196,197,198],w25q128jv_dtr:[196,197,198],w25q32:66,w25q64:66,w25qxx:66,w5500:[29,115,117,121,268,296],w600:[117,262,264],w800:[223,228,282,293,296],w801:[282,296],w805:[282,296],w806:[231,293,296],w:[13,29,30,85,162,166,178,179,191,192,193,212,220,336,352,363,374,379],w_:379,wa:[2,4,6,14,16,18,20,21,26,39,94,98,125,127,133,134,162,196,197,198,212,220,250,304,318,320,355,369,378,379],wai:[14,16,18,21,24,64,95,103,106,117,123,162,170,191,192,193,196,197,198,202,203,204,205,210,212,220,250,267,284,289,300,303,304,305,325,326,327,328,330,358,363,378,379,380,381,382,407],wait485:29,wait:[10,19,21,23,24,26,27,29,36,40,41,42,44,45,46,47,48,49,51,53,54,55,56,57,58,59,61,62,63,64,65,66,67,69,70,71,72,73,74,75,76,77,78,79,80,82,83,84,89,91,93,94,98,103,109,111,118,124,128,132,133,134,162,165,166,169,171,173,174,175,177,180,181,182,185,186,187,189,190,195,196,197,198,207,208,212,213,220,221,235,255,268,287,293,302,311,319,321,322,324,325,330,333,337,343,345,348,349,351,353,354,379,380,381],waitabl:[349,351],waitc:[324,337,345],waitlink:54,waitmsg:29,waitt:[324,337,345],waituntil:[26,29,58,72,94,96,105,117,133,134,200,336,348,380,381],waitxxx:122,wake:[36,86,103,108,123,124,184,212,224,226,232,268,272,293,332,381,382],wakeup0:272,wakeup1:272,wakeup2:272,wakeup:[29,103,221,226,232,272,300],wakeup_in:245,wakeupin:103,wakeuppin:29,wakup0:272,waldemar:379,walk:[109,326],wand:[214,248,250,301],want:[10,72,94,131,162,165,212,218,220,250,285,293,303,304,305,314,315,320,356,378,379,380],ware:301,warehous:[166,207,209,212,250,273,284,289,314,315,320,369],warm:220,warn:[15,29,102,179,212,220,250,268,318,336,358,363,372,373,376,381],warning_level:29,wast:[66,339],watch:358,watchdog:[29,54,103,121,179,201,212,243,300],watchdogpin:54,watt:363,wav:[4,27],wave:[21,33,212,220,221,372],waveform:[8,212,220,356,361,369,372,374,375],wb:[4,30,212,220],wba_abc:305,wbc_abc_cb:305,wbc_abc_handl:305,wcdma:275,wdai:[68,379],wdata:71,wdt:[29,121,179,201,212,268,296],we:[89,162,165,166,169,170,178,185,186,187,190,191,192,193,196,197,198,203,204,205,210,212,214,218,220,235,248,250,301,303,305,314,315,319,320,331,354,355,372,378,379,381,383],weak:[94,168,267,268,272],wealth:[260,355],weather:[10,36],weather_icon:29,web:[250,284,327,379,384,385],web_audio:269,websit:[6,20,57,72,210,266,268,295,302,318,379],websocket:[29,121,268,273,296],websocket_cli:133,websocket_conack:133,webusb:250,wechat:[134,356],week:[68,379],wei:73,weight:[89,162,378],welcom:[213,275,345,355,356,374],weld:[221,289,358,363],well:[162,165,166,212,220,358,363,378,379],wendal:[14,18,104,304,325,326,328,329,330,332,333,334,335,340],wenquanyi:171,went:16,wep:344,wep_psk:344,wep_shar:344,wepval:255,were:[30,120,123,379],west:[39,108],western:162,wget:321,wgs84:[39,57,58],wh:[363,374],what:[0,23,125,131,134,136,162,165,168,191,192,193,210,217,224,246,253,263,271,293,299,304,305,311,314,315,320,323,324,331,336,337,345,349,350,378,380,381],whatev:379,wheel:[369,372,373,376],when:[1,10,11,13,14,18,21,24,26,30,31,34,36,39,57,58,66,68,72,73,91,94,95,96,98,103,109,111,112,115,117,124,128,130,131,134,136,162,165,166,169,173,174,175,180,181,185,186,187,189,196,197,198,203,204,205,210,211,212,214,218,220,221,223,228,238,250,251,253,254,266,268,272,277,284,289,293,302,305,307,320,321,322,326,330,339,348,352,353,354,356,358,361,363,369,375,376,378,379,380,381,382],whenc:168,whenev:[68,379],where:[26,35,66,89,90,93,98,101,112,117,136,162,179,207,212,220,274,284,292,293,302,310,327,331,369,378,379,380],where_ddd_i:379,where_n_i:379,where_set_i:379,where_x_and_y_remain_balanc:379,where_xx_must:379,where_xxx_i:379,whether:[1,2,4,6,7,10,11,13,16,19,23,24,26,27,30,31,33,36,37,39,57,60,63,66,67,86,91,92,94,95,96,98,103,111,114,115,117,118,120,127,128,133,134,136,162,207,212,214,220,221,248,250,253,254,268,272,293,301,309,318,331,344,348,352,360,372,378,379,381,382],which:[0,1,6,11,12,15,17,20,21,23,24,27,28,30,32,34,36,38,39,45,66,68,72,79,85,86,87,89,91,92,93,94,95,96,98,99,101,102,103,104,106,109,110,112,115,118,122,124,128,134,135,136,162,165,169,173,174,175,179,191,192,193,201,202,207,210,211,212,213,214,220,221,238,243,250,251,255,266,267,268,269,272,277,282,284,289,293,295,300,303,304,305,318,319,320,321,323,326,330,331,335,336,339,340,346,348,355,358,360,361,363,369,372,375,378,379,381,382],white:[10,89,208,221,293,377,379],whiteboard:[213,214],who:[94,248,250,285,301,377,378,380],whole:[250,272,378,379,381],whose:[162,379],why:[138,163,293,323,324,337,338,345,356,378,379],wi:[260,385],wide:[10,36,162,165,334,346],widget:[89,138,163],width:[3,13,29,36,66,89,117,127,138,163,166,185,186,187,212,220,221,284,327,339,342,378,379],wifi:[29,57,72,115,121,127,257,264,268,273,282,289,291,293,296,337,338,345,348,355,356,374],wifiscan:134,wignor:318,wiki:[5,10,36,162,165,166,212,213,220,221,273,294,311,353],wikipedia:162,win10:[207,369],win32:[128,302,321,355],win7:[207,248,250,254,284,289,301,318,360,369],win8:[248,254,284,289,301],win:[138,163,166,356,361,372,374,375],win_add_btn:162,win_add_btn_left:162,win_add_btn_right:162,win_close_event_cb:162,win_creat:162,win_demo:162,win_focu:162,win_part_bg:162,win_part_content_scrl:162,win_part_head:162,win_scroll_hor:162,win_scroll_v:162,win_set_anim_tim:162,win_set_layout:162,win_set_scrlbar_mod:162,win_set_titl:162,winbond:[191,192,193,196,197,198],window:[10,29,96,138,163,167,207,210,212,214,250,311,316,318,320,322,326,369,379],winter:212,winusb:[248,250,254,284,289,301],wip:[282,296],wire:[45,50,66,169,173,174,175,185,186,187,191,192,193,196,197,198,203,204,205,212,213,218,220,250,255,271,284,293,311,356,360,363],wireless:[293,344,355],wistr:255,with_x_and:379,with_y_:379,within:[21,162,211,212,220,221,255,275,277,303,305,325,345,378,379],without:[6,15,16,19,20,22,89,94,95,96,106,115,134,162,169,207,212,217,221,255,266,272,284,294,305,311,319,320,326,331,348,378,379,381,382,385],withstand:[253,293,372],wizpro200st8:[253,293],wlan:[29,121,296,337,338,345,348],wlan_scan_don:[134,348],wmm:260,woff2:162,woff:162,woken:381,won:[378,379,381],wonder:378,word:[101,162,207,277,284,319,320,327,348,379],work:[3,66,67,71,79,98,115,162,189,202,203,204,205,211,212,220,221,238,243,254,255,300,302,322,354,356,363,379],work_mod:103,workaround:[255,268],workflow:302,workshop:250,world:[209,210,378,379],worri:[72,250,255,336,379],worst:[3,269],worth:[99,212,220,268,378],would:379,wow:382,wp:[260,344],wpa2:[260,344],wpa2_aes_psk:344,wpa2_mixed_psk:344,wpa2_tkip_psk:344,wpa:[260,344],wpa_aes_psk:344,wpa_tkip_psk:344,wps_open:344,wps_secur:344,wrap:[106,162,168,335],writ:[191,192,193],writabl:[98,162,352],write:[3,10,11,14,16,18,21,24,26,27,29,30,31,37,50,54,78,79,91,92,94,98,102,110,111,115,121,127,131,138,163,166,168,171,177,190,194,199,202,203,204,205,208,209,210,212,220,253,268,269,274,293,301,302,304,321,322,323,325,326,334,335,342,343,348,349,350,351,353,354,378,381,382],write_datablock:54,write_rawrc:71,write_zlib_head:92,writechr:29,writefil:[29,191,192,193],writei8:136,writeint8:334,writer:379,writereg:29,writeu32:136,written:[3,6,11,16,18,30,50,71,86,87,88,91,92,94,98,99,110,112,113,115,123,128,136,162,165,196,197,198,212,220,255,268,303,330,336,369,378,379,380],wrong:[16,59,91,111,250,255,268,304,314,315,320,325,333,360,379],wrote:[191,192,193,196,197,198,212,220],wrprterr:255,ws2812:[138,164,268],ws2812_h:165,ws2812_roll_show:165,ws2812_w:165,ws2812b:29,ws2812b_pwm:[29,165],ws2812b_spi:[29,165],ws:[133,354],wsc:29,wsc_conack:133,wsg84:57,wss:133,www:[24,39,68,196,197,198,209,302,379],x00ff0200:354,x01:26,x02:26,x03:26,x0:29,x1:[29,162],x1ffff7e8:255,x200ma:372,x200ua:372,x25:6,x2:[29,162],x2a:372,x2ma:372,x32:[29,180,181,182],x64:[318,320],x7f:379,x7fffffff:[31,91],x80:379,x8218dbc0:381,x:[3,20,24,29,41,44,51,56,61,65,70,96,101,121,162,168,212,213,224,225,231,238,255,274,326,339,358,363,378,380,381],x_id:162,x_of:162,x_offset:127,x_op_:379,x_xx_:379,xbf:379,xc2:379,xeltek:255,xf4:379,xfer:29,xhh:378,xi12m:238,xi32:238,xiao:[250,277],xiaomi:[358,363,372,373,376],xingli:266,xip:211,xlsx:[223,228,236],xmake:[304,318,321,322],xmodem:[6,54,135],xo12m:238,xo32:238,xoffset:[10,36,166,212,220,294],xor:[6,127,162,254,379],xpcall:168,xt804:[282,283,296],xtal32k:238,xtal:238,xu:277,xuyuan:165,xx:[171,178,309,311,378,379],xxx:[4,13,16,19,25,30,55,59,72,95,99,106,110,115,277,304,305,307,308,309,311,318,344,348,354,378],xxxx:[30,115,118,294,311,314,348,381],xxxxx:[305,378,381],xxxxxblock:305,xxxxxx:[1,59,95,134,210],xxxxxxx:348,xxxxxxxxx:[305,336],xxxxxxxxxx:348,xy:381,y0:[29,277],y1:[29,162,277],y2:[29,162],y877bgo8x5owd3lcb5wwdjrynpob:32,y:[20,29,41,44,51,56,61,65,70,99,121,138,163,168,171,226,232,274,277,307,309,321,378,381],y_id:162,y_max:162,y_min:162,y_of:162,yahei:210,yangkeduo:384,yangzichen123:292,ye:[94,115,162,210,294,360,378,381],year:[39,57,68,99,108,162,189,212,248,378,379],yeild:381,yellow:[292,376],yet:[118,293,379],yield:[168,381],yin:[78,79],yml:302,ymodem:[29,121,268],yoffset:[10,36,166,212,220,294],you:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,122,124,125,126,127,128,129,130,131,132,133,134,135,136,137,162,165,166,170,171,172,176,178,183,184,188,189,190,191,192,193,194,195,199,200,202,203,204,205,206,207,209,210,212,213,214,218,220,221,235,238,248,250,251,254,255,268,269,275,284,285,289,292,293,301,302,304,305,311,313,314,315,318,320,321,322,323,324,337,338,345,348,352,354,355,356,358,363,369,374,376,377,378,379,380,381,382],you_:379,young:268,your:[115,131,162,171,178,207,213,214,248,285,301,305,314,319,320,358,360,363,372,377,378,379],yourself:[1,5,59,111,134,162,210,248,250,254,301,304,313,314,315,360,378,379,383],yuan:[360,379],yum:[314,315],yun:379,yuv411:289,yuv420:289,yuv422:289,yyi:[59,106,311,354],z:[41,44,56,61,65,70,101,274,379],zadig:[248,254,301],zbuff:[1,3,4,10,16,26,27,29,30,31,36,94,111,112,115,117,121,127,128,130,135,165,166,177,206,208,209,212,268,296,334,335,353],zda:39,ze08g:54,ze08g_ch2o:54,zeo:273,zero:[6,20,162,226,232,268,277,363,379],zeropad:20,zeros_and_len:6,zeu:[250,260],zh07:54,zh07_pm10:84,zh07_pm1:84,zh07_pm25:84,zh:68,zhou:[217,266,269,277,393],zhuff:26,zip:[258,267,268,269,314,315,318,320,347],zlib:[29,121],zone:[29,39,58,96,108,238,300,329],zoom:[1,162],zstruct:335,zzz:[59,311],zzzzzzzzz:336},titles:["adc - Digital-to-analog conversion","audio - Multimedia-Audio","bit64 - 32 Basic arithmetic and logical operations on 64-bit data on bit systems","camera - Camera","codec - Multimedia-Codec","coremark - Running points","crypto - Encryption and decryption and hash functions","ctiot - China Telecom CTIOT Integration","dac - Digital-to-analog conversion","disp - disp Library (Obsolete)","eink - ink screen operation library","errDump - Error reporting","fastlz - FastLZ Compression","fatfs - read/write fatfs format","fdb - kv Database, power failure does not lose data","fonts - Font Library","fota - Underlying Firmware Upgrade","fs - Additional File System Operations","fskv - kv Database, power failure does not lose data","ftp - ftp Client","gmssl - national secret algorithm","gpio - GPIO Operation","gtfont - Qualcomm Font Chip","hmeta - Hardware metadata","http - http Client","httpsrv - http Server","i2c - I2C Operation","i2s - Digital Audio","iconv - Character encoding conversion","\ud83c\udf74 LuatOS-SOC Interface Documentation","io - io action (extended)","ioqueue - io Sequence operation","iotauth - IoT Authentication library, used to generate parameters for various cloud platforms","ir - infrared remote control","json - json Generating and parsing libraries","keyboard - Keyboard Matrix","lcd - lcd Drive module","lcdseg - Segment lcd","libcoap - coap Data processing","libgnss - NMEA Data processing","ads1115 - ads1115 analog-to-digital converter","adxl34x - adxl34x 3 Axis accelerometer currently supports adxl345 adxl346","aht10 - aht10 Temperature and humidity sensor","air153C_wtd - Add software watchdog function to prevent crashes","ak8963 - ak8963 geomagnetic sensor","am2320 - am2320 Temperature and humidity sensor","bh1750 - bh1750 Digital light intensity sensor","bmx - bmx The air pressure sensor currently supports bmp180 bmp280 bme280 bme680 will automatically judge the device","cht8305c - cht8305c Temperature and humidity sensor","ds3231 - ds3231 Real Time Clock Sensor","ec11 - ec11 Rotary encoder","gt911 - gt911 Drive","httpdns - Domain name resolution using Http","ina226 - ina226 Drive","\ud83e\udd62 Extended Library Interface Documentation","iotcloud - iotcloud Cloud platform library (supported: tengxun cloud ariyun onenet huawei cloud graffiti cloud baidu cloud others will also support, useful issue will accelerate support )","l3g4200d - l3g4200d Three-Axis Digital Gyroscope Sensor","lbsLoc - lbsLoc Sending Base Station Location Request","lbsLoc2 - base station positioning v2","libfota - libfota fota Upgrade","libnet - libnet synchronous blocking api based on the socket library, the socket library itself is asynchronous non-blocking api","lis2dh12 - lis2dh12 Three-axis sensor","lm75 - lm75 Temperature Sensor Support lm75a lm75b","mcp2515 - mcp2515 CAN Protocol Controller Driver","mlx90614 - mlx90614 infrared temperature","mpu6xxx - mpu6xxx Six-axis/nine-axis sensor support mpu6500,mpu6050,mpu9250,icm2068g,icm20608d","necir - necir NEC protocol infrared receiving","netLed - netLed Network status indicator","pcf8563t - pcf8563t Clock Module","pcf8574 - pcf8574 IO Extension","qmc5883l - qmc5883l geomagnetic sensor","rc522 - rc522 Non-contact read/write card driver","rtkv - Remote KV Database","shift595 - shift595 74HC595 Chip","si24r1 - si24r1 Drive","spl06 - spl06_01 Air pressure sensor","tcs3472 - tcs3472 Color Sensor","tm1637 - tm1637 Digital tube","tm1640 - tm1640 Digital tube and LED driver chip","tm1650 - tm1650 Digital tube and key scanning chip","tsl2561 - tsl2561 light intensity sensor","udpsrv - UDP Server","xmodem - xmodem Drive","ze08g_ch2o - ZE08G-CH2O electrochemical formaldehyde module","zh07 - ZH07 Laser Dust Sensor","log - Logstore","lora - lora Drive module","lora2 - lora2 Driver module (supports multi-hanging)","lpmem - Operation of low-power non-power-down memory blocks","lvgl - LVGL Image Library","max30102 - Heart Rate Module(MAX30102)","mcu - encapsulation mcu some special operations","miniz - Easy zlib compression","mlx90640 - infrared temperature measurement(MLX90640)","mobile - Cellular Network","mqtt - mqtt Client","nbiot - NB-IOT Operation Library","nes - nes Simulator","nimble - Bluetooth BLE library (nimble version)","os - os Operation","otp - OTP Operation Library","pack - Packing and unpacking format string","pin - Pin Naming Map","pm - Power Management","protobuf - ProtoBuffs Codec","pwm - PWM Module","repl - \u201cRead-evaluate-output \u201cloop","rsa - RSA encryption and decryption","rtc - Real Time Clock","rtos - RTOS underlying operation library","sdio - sdio","sensor - Sensor Operation Library","sfd - SPI FLASH Operation Library","sfud - SPI FLASH sfud Software package","sms - SMS","socket - Network Interface","softkeyboard - software keyboard matrix (currently only supported by air105)","spi - spi Operation Library","sqlite3 - sqlite3 Database Operations","statem - SM State Machine","string - String Manipulation Functions","Adaptation status","sys - sys Library","\ud83d\udcee sys System Messages","sysplus - sys A strong complement to the library","timer - Operating the bottom timer","touchkey - Touch keys","u8g2 - u8g2 graphics processing library","uart - serial port operation library","ufont - Unified Font Library (under development)","usbapp - USB Functional operation","w5500 - w5500 Ethernet driver","wdt - watchdog Operation Library","websocket - websocket Client","wlan - wifi Operation","ymodem - ymodem Agreement","zbuff - c Memory Data Manipulation Library","zlib - zlib Compression/Decompression (Obsolete)","\u2328\ufe0f Application Development","Code","Equipment","\u2328\ufe0f Alibaba Cloud application development","Introduction","Project","Test","\u2328\ufe0f Cloud Platform Basic Preparation","Introduction","<no title>","<no title>","\u2328\ufe0f Cloud Platform Application Development (Incomplete)","Code","Equipment","\u2328\ufe0f OneNet Application Development","Introduction","Project","Test","Code","Equipment","\u2328\ufe0f Tencent Cloud Application Development","Introduction","Project","Test","LVGL for LuatOS Manual","lvgl","Peripherals","LuatOS-Soc Driver WS2812 Tutorial","Air105 Video playback","Video playback","\ud83d\uddc3\ufe0f Data Archiving","adc","CRYPTO","DISP","fdb","air101","air103","air105","i2c","API Tutorial","LCD Drive screen","log","air101","air103","air105","mcu","PM","air101","air103","air105","pwm","RTC","sfd","air101","air103","air105","sfud","SPI","air101","air103","air105","spi","sys","timer","UART","air101","air103","air105","uart","Burn Tutorial","\ud83d\udcda Development Tutorial","recommend learning line","Construction of development environment","Air Watch","\ud83d\ude97 W806","Air001 Arduino-based user manual","Air001 Keil MDK-based user manual","Development Board","Hardware Data","\ud83d\udef4 Air001","Air001 Chip","Air001 power consumption curve","Air101 Getting Started Manual","Air101 Hardware Design Tutorial","Development Board","Hardware Data","\ud83d\ude97 Air101","Air101 Chip","Air101 power consumption curve","Development Board","Hardware Data","\ud83d\ude97 Air103","Function Description of Segment Screen/Segment Screen","Air103 Chip","Air103 power consumption curve","Touch sensor/touch button","Air105 Development Board","Air105 Script Encryption","Hardware Data","\ud83d\ude97 Air105","Air105 Chip","Air105 power consumption curve","Air106 Development Board","Hardware Data","\ud83d\ude97 Air106","Air106 Chip","Development Board","Hardware Data","\ud83d\udcf6 Air302","Air302 Module","Air32F103 Manual","Development Board","DAPLink Manual","Enhanced function instructions","Hardware Data","\ud83d\udeb2 Air32F103","AIR32F103 Chip","Transplant from SXX32F103","Air601-12F Development Board","Firmware Release Notes","Air601 Hardware Data","\ud83d\udce1 Air601","Air601","Development Board","Hardware Data","\ud83d\udce1 Air640w","Air640w","Air700E Additional instructions","Air780EG Additional instructions","Development Board","Ec618 Series Firmware Release Notes","Firmware Description","Hardware Data","\ud83d\udcf6 Air780E(EC618 Series General)","LuatOS IO multiplexing configuration under firmware","Air780E Module (EC618 Series General)","Description of mass production brush machine","Network Characteristics","Setting and difference of anti-shake of power-on key","TTS Description of the function","Development Board","Hardware Data","\ud83d\udea2 Air901","Air901 Chip","\ud83d\udcca Chip comparison and selection table","Performance testing (based on coremark)","ESP32C3-CORE Development Board","Replace flash tutorial","Hardware Data","\ud83d\udce1 ESP32-C3","ESP32C3 power consumption curve","ESP32S3-CORE Development Board","Hardware Data","\ud83d\udce1 ESP32-S3","Portable wifi data collection","\ud83e\uddee Chips and Development Boards","FAQ List","\ud83d\udce1 RP2040","Equipment Support/Supported Devices","Development Board","Hardware Data","\ud83d\udeb2 SWM181CBT6","SWM181CBT6 Chip","SWM181 Manual","\ud83d\udda5\ufe0f PC End version","Lua Library File Writing Guide","Add Custom Functions (Rapid Edition)","C Interface implements Task waiting function","LuatOS CLI - Command Line Tools","LuatOS CLI Basic Commands","LuatOS Burn command","LuatOS Package Management Commands","LuatOS Project Management Commands","CLI Interactive Conceptual Design","LuatOS User Project","\ud83d\udc68\u200d\ud83d\udcbb Compile source code","\ud83d\ude97 Air101 / Air103","\ud83d\ude97 Air105","\ud83d\udcf6 Air302","\ud83d\udce1 Air640w","\ud83d\udcf6 Air780E Compilation Guide","\u2601\ufe0f Cloud Compilation","\ud83d\udce1 ESP32 Series Compilation Document","\ud83d\udda5\ufe0f Linux","\ud83d\udda5\ufe0f Win32","Add New Library","Core Layer","Luat Core","Luat Debugger","Font module","File System","Memory Pool","Message Bus","Luat Platform layer","Power and Low Power Management","Luat Timer","C style buffer","C The Structure of Style","C Interface implements Task waiting function","Design Document","Peripherals API","LuatOS dot matrix font format","GPIO","IR","SPI","UART","WLAN","\u2764\ufe0f Contribution Code","LuaDB File Format","LuatOS-SoC Common Firmware Format soc","Coding Specification","\ud83d\udcc1 Development documentation","Development Information","Development practice","LuatOS-SoC The file system","Explain lua\u2019s string and hex data (hexadecimal)","Command Line Brush Guide","<no title>","\u26a1 IoT Power - CC","\u26a1 IoT Power - CC","Connection and assembly","Connection and assembly","FAQ","Technical indicators","Technical index","Operating Instructions","Operating Instructions","<no title>","\ud83d\udd0d Version Comparison","\u23f3 IoT Power Power consumption test artifact","\u23f3 IoT Power Power Consumption Tester","\ud83d\udda5 PC Client","<no title>","IoT Power User Guide","\ud83d\udd0b IoT Power - V1","Connection and Appearance","\ud83d\udd0b IoT Power Pro","Technical indicators","Operating Instructions","\ud83c\udf19 Lua Tutorial","Basic Grammar","Lua 5.3 Reference Manual","Luat Framework","Luat framework (advanced-underlying mechanism)","LuaTask Framework","\ud83d\udd79\ufe0f Online Experience LuatOS","\ud83d\udcac Technical Support","\ud83d\udee0 LuatOS Tools Daquan","Use Example","Hardware Data","Air105 Supporting GC032A camera","Use Example","Hardware Data","Qualcomm Font Chip","Hardware Data","EINK1.54 Ink screen","Use Example","\ud83e\uddf7 Peripheral expansion data","Use Example","Hardware Data","1.54 Inch TFT_ LCD resolution 240x240","Use Example","Hardware Data","1.8 TFT LCD resolution 128x160","Use Example","Hardware Data","2.4 Inch TFT_ LCD color screen resolution 240x320","Use Example","Hardware Data","Air10x Series Screen Expansion Board"],titleterms:{"0":[255,277,360,372],"01":123,"0x":123,"0x00":214,"0x001f":294,"0x01":214,"0x02":214,"0x03":214,"0x04":214,"0x05":214,"0x06":214,"0x07":214,"0x08":214,"0x09":214,"0x20000000":214,"0xffff":255,"1":[214,238,248,251,255,277,284,289,294,301,304,354,378,379,398,401],"10":379,"101":294,"103":354,"105":294,"10x":294,"11":379,"123":120,"128x160":401,"12f":[256,260],"12m":294,"15":93,"150":294,"16":251,"160m":288,"192m":239,"2":[214,238,248,251,255,284,289,294,301,304,354,372,378,379,404],"20":294,"200m":283,"2023":93,"20v":360,"240x240":398,"240x320":404,"256m":283,"2m":[226,232],"3":[41,214,238,248,251,255,284,289,294,301,354,378,379],"32":2,"32bit":255,"4":[238,251,284,289,294,378,379,404],"480k":269,"4g":384,"5":[93,238,251,379],"54":[393,398],"5k":251,"5v":[360,372],"6":[238,379],"64":2,"7":[238,294,379],"74hc595":73,"8":[294,372,379,401],"80m":[226,232],"9":379,"\u03bca":360,"\u51c6\u5907\u6750\u6599":317,"\u5f00\u59cb\u4e0b\u8f7d\u6e90\u7801":317,"\u5f00\u59cb\u7f16\u8bd1":317,"\u63d0\u524d\u544a\u77e5":316,"\u7f16\u8bd1\u73af\u5883":316,"\u7f16\u8bd1\u8bf4\u660e":316,"\u8bf4\u660e":317,"abstract":[196,197,198],"boolean":378,"break":214,"byte":[123,255,294,378,379],"case":[341,342,343,378],"char":[378,379],"class":[326,379],"default":[162,210,277,294],"do":[294,304,328,333,360],"export":369,"final":[6,320],"function":[6,43,120,130,162,200,212,214,230,247,250,251,255,264,273,277,284,289,294,304,305,311,336,358,360,363,369,373,376,378,379,380],"import":369,"int":[63,90],"long":162,"new":[38,55,162,203,204,205,210,214,248,301,304,305,323],"return":[305,348,378],"static":304,"switch":[162,363,369,372,376],"try":311,"while":[277,360,378],A:[124,209,303,352],AT:214,And:[221,294],As:255,At:358,For:379,If:[305,314,372],Is:[294,372],It:294,No:[226,232,239,255,288,294,372],One:162,Or:294,The:[47,250,255,294,325,331,335,336,347,352,354,372,378,379],There:[250,294],To:[93,304,378],Will:294,_at_0x20000000:214,_g:379,_repeat:109,_version:379,a1:379,a2:379,ab:379,abc:120,about:[221,265,266,325,347],abov:[255,294],acceler:55,acceleromet:41,accept:[115,379],access:255,accuraci:356,achiev:[327,336],aco:379,action:[30,376],activetim:96,acttyp:96,actual:372,ad:[214,336,378],adapt:[19,95,115,121,133,305],adapter_index:115,adc:[0,169,212,220,221,245,255,294],add:[43,113,162,213,214,304,323],addit:[17,226,232,239,265,266,272,288],addr:[26,33,71,98,113],address:[71,91,191,192,193,196,197,198,213,214],adjust:[162,369],adjust_period:128,adon:255,ads1115:40,advanc:[162,378,381],advdata:98,advparam:98,adxl345:41,adxl346:41,adxl34x:41,af:68,after:[93,180,181,182,255,294,360,372],again:360,agr2:122,agreement:[135,346],ah:376,aht10:[42,173,174,175],aie:68,air001:[213,214,217,218,219],air101:[173,180,185,191,196,203,220,221,224,225,226,294,314,354],air103:[174,181,186,192,197,204,229,231,232,283,294,314],air105:[116,166,175,182,187,193,198,205,234,235,237,238,239,283,294,315,354,388],air106:[240,242,243],air10x:407,air153c_wtd:43,air302:[246,247,316],air32:255,air32f103:[248,253,254,255],air32f103cbt6:283,air601:[256,258,259,260],air640w:[263,264,317],air700:265,air780:[271,273,283,318],air780eg:266,air901:[280,281],air:[47,75,211,384],ak8963:44,alarm:68,algorithm:[20,255,294],ali:52,alibaba:141,align:[162,255],aliyun:32,all:[255,320],alloc:331,alon:294,alpha:162,alreadi:360,also:[55,372],alt:21,alt_fun:91,altfun:91,alwai:[360,372],am2320:45,ambient:64,amplifi:372,an:[162,214,294,369],analog:[0,8,40,376],analysi:335,analyz:369,angl:162,ani:294,anim:[89,162],anim_cr:89,anim_fre:89,anim_path_set_cb:89,anim_path_t:89,anim_path_t_fre:89,anim_set_exec_cb:89,anim_set_path_str:89,anim_set_ready_cb:89,annot:348,antenna:294,antenna_on:71,anti:276,anticol:71,apb:255,api:[60,162,177,230,323,328,329,330,331,332,333,334,338,340,341,342,343,344,348,379],apn:[94,96],appear:[363,373],applic:[138,141,149,152,158],ar:[212,247,255,264,273,294,304,360],arc:162,archiv:168,arduino:213,area:[162,255,369],arg1:[122,379],arg2:[122,124],arg3:124,arg4:124,arg:[10,36,379],argn:122,arithmet:[2,378],ariyun:55,arm:214,around:360,arrai:[162,203,204,205,378],artifact:367,asin:379,ask:[162,304],assembl:[358,359],assert:379,assign:[162,378,379],async:10,asynchron:60,atan:379,attent:[284,289,354],audio:[1,27],audio_format:1,auth:95,auth_password:96,auth_user_nam:96,authent:32,authstat:71,auto:[96,162],auto_format:13,auto_phone_fix:114,auto_reconnect:134,auto_reset_stack:94,autocollectmem:109,autoflush:36,autolong:114,automat:[47,162,214,255],autoreconn:[95,133],auxiliari:[266,379],averag:[369,376],average_temp:93,axi:[41,56,61,65],b:[2,36],back:[36,294],background:[214,248,301,353],baidu:[32,55],band:94,bandrat:117,bar:162,base64_decod:6,base64_encod:6,base:[2,57,58,60,136,162,213,214,283,379],base_year:108,basi:378,basic:[2,145,209,296,303,306,307,325,326,327,328,329,330,332,333,334,335,336,340,341,342,343,344,376,378,379],bat:10,batteri:376,baud:63,baud_rat:128,been:360,befor:320,begin:127,below:376,between:[182,255,360,372,382],bh1750:46,bia:37,bif:255,bind:[39,131],bit64:2,bit:[2,136,255,294,379],bit_ord:128,bitdict:117,bits_per_sampl:1,bitw:27,black:372,ble:98,blink:162,block:[60,88,201,255,379],bluetooth:[98,294],bme280:47,bme680:47,bmp180:47,bmp280:47,bmx:47,board:[213,215,216,222,227,234,240,244,249,250,256,261,265,266,267,278,284,289,293,294,297,407],bodi:24,bom:356,book:394,bootstrap:255,boss:294,bottom:125,boundari:[328,329,330,332,333,334,335,340,341,342,343,344],box:162,bpp:89,brake:255,branch:378,breath:[185,186,187],bri:[78,79],brief:382,bright:162,brush:[218,221,225,231,234,247,264,273,274,284,292,294,311,354,360],bsp:[109,231],btn:162,btnmatrix:162,bu:[255,294,330],buff2:[10,136],buff:[3,10,16,30,74,115,127,128,130,136],buff_mod:89,buff_siz:[89,128,130],buffer:[27,334],build:[214,319,320],builddat:109,buoi:162,burn:[207,212,214,218,220,225,231,234,247,248,255,264,273,284,294,301,308,372],burner:[250,255],burp:372,bus_typ:1,busi:255,button:[162,233],c3:[287,354],c:[127,136,137,209,214,304,305,323,325,327,328,329,330,332,333,334,335,336,340,341,342,343,344,348,379,405],ca_fil:24,cach:369,cache_s:89,cal:53,calcul:182,calculate_crc:71,calendar:[162,394],call:[230,255,378,379,380],callback:[203,204,205,382],camera:[3,294,388],can:[63,162,255,294,304,360],cannot:[209,255],canva:162,capend:31,captur:[3,31,105,379],capture_buff:31,card:[71,255,294],cat1:384,cat4:384,categori:379,caught:285,cb:[87,95,115,133,162],cbfnc:[57,59],cbfun:124,cc:[356,357,360],cd:28,ce:74,ceil:379,celevel:96,cell:162,cell_info_upd:123,cell_typ:162,cellid:96,cellular:94,ch2o:83,ch:8,chain:318,chang:[162,210,269,294,319,326,360,372,379],changelog:268,channel3:255,channel:[27,91,105,134,196,197,198],channel_map:98,charact:[28,162,378,379],characterist:[265,266,275,372],charg:[238,360,376],charpattern:379,chart:[162,215,222,369],chat:384,check:[103,162,319],check_sim_period:94,check_valu:91,checkbox:162,checksum:6,china:7,chines:277,chip:[22,73,78,79,214,218,225,228,231,236,238,243,254,255,260,281,282,293,294,300,372,391],chip_check:74,chiperas:113,choos:[213,214],chooser:162,chr_uuid:98,cht8305c:48,chunk:379,chunknam:379,cid:94,cipher:275,cipher_decrypt:6,cipher_encrypt:6,cipher_list:6,cipher_suit:6,circl:[10,360],circuit:[221,238],classif:269,clean:162,cleanmsg:124,cleansess:95,clear:[10,18,31,36,39,77,78,79,104,136,255,294],clear_bit_mask:71,clearbuff:127,cleardownlink:94,clearli:360,clearlong:114,clearuplink:94,cli:[306,307,311],click:319,client:[19,24,95,133,369],client_ca:24,client_cert:[59,115],client_id:95,client_kei:[24,59,115],client_password:[24,59,115],clk:[78,117],clock:[49,68,99,108,238,251,255,294,379],close:[0,3,8,19,21,26,27,28,36,55,60,66,78,79,95,105,115,117,118,126,127,128,132,133,162,255,379],close_watch_dog:43,closur:379,cloud:[32,55,141,145,149,158,319],cloudc:55,cmd:[19,33,36],cmd_cnt:31,cmsi:214,cnt:[89,255],co:379,coap:38,coapdata:38,code:[10,38,139,150,156,191,192,193,196,197,198,203,204,205,213,231,248,294,301,304,305,313,318,320,345,348,378,379],codec:[4,104],codepoint:379,coder:4,collect:[292,379],collectgarbag:379,color:[10,36,76,136,162,294,404],column:162,com:[37,77],com_mark:37,com_numb:37,comma:77,command:[19,71,173,174,175,306,307,308,309,310,311,354,379],comment:378,commiss:326,common:[162,318,347,352,360,372],commun:[294,326,331,384],comp:379,compar:374,comparison:[255,282,356,366,378,379],compil:[212,213,302,313,314,315,318,319,320,321,322],complement:124,complet:[303,358],compon:[162,319,323],compress:[12,92,137],comput:[250,360],concat:[378,379],concaten:379,concept:[162,379],conceptu:311,condit:[339,378],conf:[9,35,36,53,72,127,214],config:[1,11,63,94,98,115,131,379],configur:[207,210,212,250,251,255,272,285],conn:98,conn_mod:98,connect:[7,55,60,95,98,115,133,134,165,166,250,294,358,359,360,372,373],connect_config:55,connok:98,consecut:255,consider:255,consol:354,constant:[0,1,4,7,10,21,26,27,36,37,55,85,86,87,91,92,93,94,95,98,103,115,117,127,128,130,134,136,332,333,340,341,342,343,344,372],constraint:339,construct:[210,214,218,220,248,254,300,301,304,379],consum:372,consumpt:[219,226,232,239,266,288,367,368],cont:162,contact:71,contain:162,content:[162,269,347,378],continu:[31,255],contrast:[127,282],contribut:345,control:[33,63,68,162,196,197,198,211,251,255,284,289,369,376,379],conveni:[314,315],convent:379,convers:[0,8,28,162,255,353,378,379],convert:[40,180,181,182],coordin:376,copi:136,copybuff:127,core:[214,234,240,284,289,324,325],coremark:[5,283],corner:319,coroutin:379,correl:266,correspond:[196,197,198,233,336],cost:356,count:[119,255,379],cpath:379,cpha:117,cpicker:162,cpol:117,crash:43,crc16:6,crc16_modbu:6,crc32:6,crc7:6,crc8:6,creat:[4,81,95,115,119,133,135,136,200,203,204,205,304,311,379],createap:134,createsoft:[26,117,128],critic:162,crop:162,cross:[162,331,378],crypto:[6,170],crystal:[221,294],cs:[63,71,74,117,196,197,198],cs_pin:131,csq:[94,96],ctiot:[7,123],ctiot_dereg:123,ctiot_fota:123,ctiot_oth:123,ctiot_reg:123,ctiot_rx:123,ctiot_tx:123,ctiot_wakeup:123,ctrl:115,cur_timestamp:32,current:[41,47,116,162,336,360,363,369,372,376],cursor:162,curv:[219,226,232,239,288,376],custom:[162,304,314,315,319,320],custom_id:11,cycl:[200,203,204,205,255,378],cyclic:[226,232,239,288],d:137,dac:8,dacdelai:1,daclevel:1,dacpin:1,dactimedelai:1,dap:250,daplink:250,daquan:385,dark_color:89,dat:[73,78],data1:111,data2:111,data32bit:2,data64bit:2,data:[1,2,4,6,7,8,10,12,14,18,20,26,27,30,36,38,39,55,71,72,86,87,92,94,95,98,100,104,106,107,110,111,112,113,115,117,127,128,130,133,135,136,162,165,168,172,203,204,205,216,223,226,228,232,236,239,241,245,252,255,258,262,270,279,283,286,288,290,292,294,298,330,333,335,339,353,363,369,376,378,382,386,387,390,392,395,397,400,403,406],data_bit:128,data_mod:39,databas:[14,18,72,118,172],datatraff:94,dataw:117,date:[77,99,162,379],db:118,dead:360,debounc:[21,35],debug:[1,13,39,85,95,115,133,218,221,250,255,294,330,379],debugg:326,decim:[180,181,182],declar:379,decod:[4,34,104],decoi:360,decompress:137,decrypt:[6,107],deep:[226,232,239],defin:329,definit:[214,228,238,284,289,311,346,347,379],deg:379,deinit:[98,116],del:[18,136],delai:[21,26,31,91,200,255,294],delet:[162,172,309,333,378],delimit:120,demand:305,demo:[230,308,311,394,406],demo_benchmark:89,demo_keypad_encod:89,demo_mus:89,demo_print:89,demo_stress:89,demo_widget:89,descript:[162,230,255,265,269,272,274,277,284,289,321,322,348,352,382],design:[221,233,238,306,311,323,326,328,329,330,332,333,334,335,337,340,341,342,343,344],detail:[363,366,376,378],develop:[129,138,141,149,152,158,208,209,210,213,215,216,220,222,227,234,240,244,249,256,261,265,266,267,278,284,289,293,294,297,323,349,350,351],devic:[47,162,180,181,182,191,192,193,196,197,198,214,250,294,296,360,369,372],device_id:32,device_kei:32,device_nam:32,device_secret:32,devicesetup:117,dfp:255,dhcp_enabl:134,dht1x:111,diagram:[215,222,392,406],dial:372,did:[294,319],differ:[182,255,276,360],differenti:269,difftim:[99,379],dig:79,digit:[0,8,27,40,46,56,77,78,79,162,277],dir_path:135,direct:[162,380],directli:[191,192,193,196,197,198,311,360],disabl:[162,196,197,198],disablepwm:33,disc:162,disc_mod:98,discchr:98,discdsc:98,disclosur:356,discon:115,disconnect:[7,55,95,98,134],discsvr:98,disp:[9,171],displai:[162,166,250,294,307,360,369,372],distinguish:255,divid:[251,255],divis:251,dma:255,dns_index:115,document:[29,54,216,223,236,274,320,323,337,349,382],doe:[14,18,250,255,294,360,372],doesn:250,dofil:379,domain:52,domain_nam:52,don:[294,360],done:31,dot:339,down:[88,162,196,197,198],download:[213,214,218,221,247,248,250,255,269,273,294,301,318,369,406],dr:255,draw2lcd:93,draw:[10,36],draw_mask_fade_param_t:89,draw_mask_fade_param_t_fre:89,draw_mask_line_param_t:89,draw_mask_line_param_t_fre:89,draw_mask_radius_param_t:89,draw_mask_radius_param_t_fre:89,drawbox:127,drawbuttonutf8:127,drawcircl:[36,127,136],drawdisc:127,drawdrcod:127,drawellips:127,drawfilledellips:127,drawfram:127,drawglyph:127,drawgtfontgb2312:[36,127],drawgtfontgb2312grai:36,drawgtfontutf8:[36,127],drawgtfontutf8grai:36,drawlin:[36,127,136,294],drawpixel:127,drawpoint:36,drawqrcod:36,drawrbox:127,drawrect:136,drawrectangl:36,drawrfram:127,drawstr:36,drawtriangl:127,drawutf8:127,drawxbm:[10,36,127],drive:[36,51,53,74,82,86,178,250,294],driver:[63,71,78,87,131,165,250,294],drop:162,dropdown:162,drv:112,ds18b20:111,ds3231:49,dtick64:91,dtimercheck:103,dtimerstart:103,dtimerstop:103,dtimerwkid:103,dtp:89,dual:[255,294],dump:[11,379],duplex:255,dust:84,duti:37,e:379,each:[294,382],earfcn:96,easi:92,ec11:50,ec618:[268,271,273,283],eci:94,edg:[162,294],edit:[210,304,379],effect:[162,166,185,186,187,294,304],eink1:393,eink:10,either:[214,294],electr:[238,372],electrochem:83,electron:394,element:162,empti:[172,294],emul:255,en:37,enabl:[11,36,37,39,89,94,106,196,197,198,255,277,304,369],enbid:94,encapsul:91,encod:[4,28,34,50,104,127],encodestr:20,encrypt:[6,107,235],end:[302,305],endian:73,endswith:120,engin:392,english:277,enhanc:[251,254],ent:89,enter:[332,340,363],entir:172,entiti:326,entri:379,env:379,environ:[210,214,218,220,248,254,300,301,314,315,320,322,379],ep:7,ephemeri:266,equip:[140,151,157,162,294,296,372],eras:[100,112,113,196,197,198,255],erasewrit:113,errdump:11,error:[11,85,214,250,294,314,379],errstop:1,escap:378,esp32:[287,291,294,320,354],esp32c3:[284,288],esp32s3:289,essenc:378,etc:360,ethernet:131,evalu:106,even:360,event:[1,3,128,162,203,204,205,255,326],event_send:89,exampl:[162,386,389,394,396,399,402,405],exce:255,exceed:269,except:255,exec:118,execut:[302,379],exist:[26,30,128,210,325],exit:379,exp:379,expans:[210,267,294,304,395,407],expect:304,experi:383,explain:[353,378],explan:269,express:[325,379],extend:[30,54,303,335],extens:69,extern:[162,212,220,255,284,294],exti:31,f1:379,f2:379,f:379,facil:325,fade:89,fail:[255,319],failur:[14,18],faq:[214,250,292,294,319,360,372],fast:[255,360],fastlz:12,fatf:13,fault:[255,372],fdb:[14,172,294],featur:[294,336],feed:[93,132],feed_dog:43,fft:294,fg_color:36,field:354,fifo:255,file:[16,17,36,162,166,191,192,193,214,226,232,239,288,303,304,320,328,346,348,352,378,379],file_path:[4,82,97,135],file_tld:346,filenam:379,files:30,fill:[10,30,36,136,255],filter:[63,162,255],filter_polici:98,fin:133,find:[294,378,379],finish:16,firmwar:[16,109,207,212,247,250,257,264,268,269,272,273,277,292,294,303,314,315,320,347,360,369,372],first:[123,255,378],fit:162,fix:[346,360],flag1:2,flag2:2,flag:[2,67,92,98,115,127,255],flash:[112,113,162,191,192,193,196,197,198,212,220,250,255,284,285],flash_eraseoptionbyt:255,flicker:162,floor:379,flush:[36,379],flymod:94,fmod:379,fmt:[99,379],fn:39,fnc:382,focu:162,focus:162,fold:93,folder:[320,328],follow:[214,354],font:[10,15,22,36,89,127,129,162,319,327,339,391],font_fre:89,font_get:89,font_load:89,forc:[10,103,369,379],force_level:109,fore:36,foreword:[165,166,255],form:[162,303],formaldehyd:83,format:[13,27,101,136,162,277,303,339,346,347,378,379],formatstr:379,fota:[16,59],foundat:162,four:358,framework:[380,381,382],freerto:294,freq:[8,86,87],frequenc:[180,181,182,226,232,239,251,283,288,294],fresh_rat:37,from:[162,214,255,360,372],frombase32:120,frombase64:120,fromcod:28,fromhex:120,fs:17,fsize:17,fskv:18,fsstat:17,ftp:19,full:[10,191,192,193,196,197,198,203,204,205,255,305,379],fun:[124,382],func:[1,3,25,27,89,114,122,128],funcnam:379,g:36,gadget:383,garbag:379,garbl:294,gatewai:[131,134],gaug:162,gc032a:388,gear:[360,372],gener:[32,34,255,271,273],geomagnet:[44,70],get:[0,18,21,31,72,90,102,108,129,162,180,181,182,220,294,320,381,382],get_accel:65,get_cell_period:94,get_data:[41,42,47,48,53,56,61,62,70,75,80],get_gyro:65,get_lux:76,get_mag:44,get_rgb:76,get_temp:65,get_temperatur:49,get_val:40,get_vdd:93,getband:[94,96],getbootcfun:96,getcellinfo:[94,96],getclk:91,getdevic:113,getdevicenum:113,getdevicet:113,getdisplayheight:127,getdisplaywidth:127,getedrx:96,getedrxptw:96,getenv:379,geterror:1,getfre:13,getgga:39,getgll:39,getgsa:39,getgsv:39,gethook:379,getinfo:[134,379],getintloc:39,getip:134,getlevel:85,getloc:379,getmac:[131,134],getmetat:379,getpm_10:84,getpm_1:84,getpm_2_5:84,getppb:83,getppm:83,getpsm:96,getraw:3,getregistri:379,getrmc:39,getsiz:36,gettxt:39,gettz:96,getupvalu:379,getuservalu:379,getvtg:39,getwin:10,getzda:39,gif:89,gif_creat:89,gif_restart:89,git:348,gite:304,give:379,global:[378,379],glossari:326,glue:162,gmatch:379,gmssl:20,gnss:384,gnss_state:123,goal:[327,336],good:294,gpio:[21,196,197,212,220,221,251,255,272,294,340,348],gpio_a:50,gpio_b:50,graffiti:55,grai:36,grammar:378,graphic:127,grid:78,ground:360,group:[304,384],gsub:[378,379],gt911:51,gt911_i2c:51,gt911_int:51,gt911_re:51,gtfont:22,guid:[303,318,354,371],gyroscop:56,h:[3,10,36,89,127],ha:[250,305],hal:214,halt:71,hand:358,handl:[98,162,379],handler:[135,325],hang:87,happili:304,hard:201,hardfault:91,hardwar:[23,169,170,171,172,173,174,175,178,179,180,181,182,184,185,186,187,189,190,191,192,193,195,196,197,198,200,201,202,203,204,205,212,216,220,221,223,228,233,236,241,245,250,252,255,258,262,270,279,284,285,286,289,290,298,326,387,390,392,397,400,403,406],hash:[6,107],hash_finish:6,hash_init:6,hash_upd:6,have:[294,360],hcode:38,head:360,header:[24,38,133,214],header_tld:346,heart:90,height:[10,136,162],helloworld:162,help:[162,304,307],here:294,hex:[120,353],hexadecim:[180,181,182,353],hexstr:134,hid_mod:130,hid_rx:130,hid_tx:130,hide:162,high:[182,251,372],high_duty_cycl:98,higher:372,highest:294,highlight:162,himself:93,histor:369,histori:269,hmac:6,hmac_md5:6,hmac_sha1:6,hmac_sha256:6,hmac_sha512:6,hmeta:23,hook:379,host:[57,58,95],hostnam:134,hous:358,how:[294,319,330],http:[24,25,52],httpdn:52,httpsrv:25,huawei:55,huge:379,humid:[42,45,48],hwtimer_id:31,hwver:23,hx711:111,hz:91,i2:27,i2c:[26,93,173,174,175,176,212,220,238,272,294],i2c_id:[40,41,42,44,45,46,48,49,56,62,64,65,69,70,76,80,90,93],i2cid:75,i2s:255,i:[294,304,319,360,372,379],ibeacon:98,ic:[86,87],iccid:[94,96],icm20608d:65,icm2068g:65,iconv:28,id:[0,1,3,20,26,27,39,63,68,71,94,98,103,108,109,110,112,117,122,126,128,130,131,180,181,182,191,192,193,196,197,198,213,294,382],idea:[328,329,330,332,333,334,335,340,341,342,343,344],ii:255,ili9341:294,illustr:[282,296],imag:[89,162],imei:[94,96],img1:294,img:[162,294],img_set_src:294,imgbtn:162,imgbtn_green:294,implement:[305,323,336],imsi:[94,96],in_buff:4,ina226:53,ina226_i2c:53,inbuf:28,inch:[294,398,404],includ:[325,333],incom:348,incompat:379,incomplet:149,inconsist:360,increas:372,independ:[251,379],indev_drv_regist:89,indev_kb_upd:89,indev_point_emulator_upd:89,index:[10,93,94,98,113,115,162,362,379],indic:[67,294,361,372,375],industri:294,ineffici:294,info:[4,85,347],inform:[162,191,192,193,216,223,247,267,273,284,289,294,307,325,326,327,328,329,330,332,333,334,335,336,340,341,342,343,344,350,354,406],infrar:[33,64,66,93],init:[3,7,9,10,16,18,22,31,35,36,40,41,42,43,44,46,48,49,50,51,53,56,62,63,64,65,66,69,70,71,73,74,75,76,77,78,79,80,83,84,86,87,89,90,93,97,98,101,110,112,113,116,131,132,134,379],init_level:31,initi:[6,93,173,174,175,191,192,193,196,197,198,200,203,204,205,294,310,378],initreg:3,inject:255,ink:[10,294,393,394],inlai:162,input:[31,162,212,220,326,360,379],input_buff:31,input_fil:137,inreversem:6,insert:379,insid:[294,331],instal:[210,213,214,248,294,301,309,311],instruct:[249,251,254,255,265,266,272,302,363,364,372,376],instrument:162,integr:7,intens:[46,80],interact:[302,311,348],interfac:[29,54,93,115,162,255,294,305,327,333,336,348,369,379,382],intern:[162,251,266],interrupt:[214,255,378],interv:255,inton:277,introduc:294,introduct:[142,146,153,159,162,165,169,170,171,172,173,174,175,178,179,180,181,182,184,185,186,187,189,190,191,192,193,195,196,197,198,200,201,202,203,204,205,212,220,277,284,289,354,369,379],invert:162,invoff:36,invon:36,io:[30,31,69,272,331,379],iomux:91,ioqueu:31,iot:[32,96,356,357,360,367,368,371,372,374],iot_config:55,iot_core_id:32,iotauth:32,iotcloud:55,iotda:32,iovol:103,ip:[7,115,131,134],ip_addr:19,ip_los:123,ip_readi:123,ip_typ:94,ipair:379,ipv6:94,ir:[33,341],irq:[21,74],irq_mod:31,irq_pin:[66,79,131],is_default:94,is_en:127,is_input:[31,91],is_ok:16,is_sign:1,is_tl:115,is_udp:115,isbigend:136,isclos:66,isdecod:4,isdelet:11,isdon:16,isend:1,isequ:136,isfix:39,isfloat:136,isipv6:95,isp:255,isreadi:96,issign:136,issu:[55,318,327],isyield:379,item:[94,210],iter:[14,18,328],itself:60,itvl_max:98,itvl_min:98,iv:6,j:379,json:[34,347],jtag:255,jtrst:255,judg:[47,255,378],judgment:378,just:[294,311],kb_inc:123,keep_cnt:115,keep_idl:115,keep_interv:115,keepal:95,keepemtri:120,kei:[6,14,18,20,32,71,72,79,89,97,107,126,162,172,212,220,276,284,289,363],keil:[214,250,255,294],key_cb:79,key_in:116,key_out:116,keyboard:[35,116,123,162,294],knob:162,knowledg:[209,303,304,325,327,328,329,330,331,332,333,334,336,340,344,378],known:327,kv:[14,18,72],kv_clr:14,kv_del:14,kv_get:14,kv_iter:14,kv_set:14,kv_stat:14,kvdb_init:14,l3g4200d:56,l6985e:214,label:162,languag:[277,379,405],larg:294,laser:84,lastreson:103,latch:73,latest:250,layer:[324,331,332,333,340,341,342,343,344],layer_si:89,layer_top:89,layout:[162,352,358,373],lbsloc2:58,lbsloc:57,lcd:[36,37,89,178,212,220,294,398,401,404],lcdseg:37,ldo:238,learn:209,led:[78,162,284,289],ledpin:67,ledpinsetfunc:67,legal:378,legend:[282,296],len:[6,16,21,26,27,30,59,100,110,111,112,117,128,130,136,378,379],length:[136,162,379],less:255,level:[12,21,31,85,103,179,325,332,340,379],lexic:379,lf:[191,192,193],libcoap:38,libfota:59,libfota_timeout:59,libgnss:[39,123],libnam:379,libnet:60,librari:[9,10,15,32,34,54,55,60,89,96,98,100,109,111,112,117,122,124,127,128,129,132,136,214,294,296,303,304,311,314,315,320,323,378,379,382],lifetim:7,light:[46,77,80,185,186,187,212,220,226,232,294,360],light_color:89,like:294,limit:346,line:[10,89,162,209,306,354,360,379,384],link:[228,273,284,289,304,326,386,387,406],link_pin:131,linkup:115,linux:[166,314,315,321],lis2dh12:61,list:[15,128,129,162,250,294,358,379],listchr:98,listen:[60,115],listsvr:98,littl:303,ll:214,lm75:62,lm75_data:62,lm75a:62,lm75b:62,lmeter:162,load:[104,226,232,239,255,288,372,379],loadfil:379,loadlib:379,local:[378,379],local_nam:19,local_port:115,localip:115,locat:57,lock:100,locstr:39,log:[85,179,207,212,220,283,379],log_level:115,logic:[2,378,379],login:[19,319],logstor:85,loop:[106,200,378],lora2:87,lora:[86,123],lora_devic:87,lora_rx_don:123,lora_rx_error:123,lora_rx_timeout:123,lora_tx_don:123,lora_tx_timeout:123,loraconfig:[86,87],lose:[14,18],low:[88,332],lower:379,lpmem:[88,294],lsdir:30,lsmount:30,ltepin:67,ltrim:120,lua:[303,323,325,327,328,329,331,332,333,334,336,340,341,342,343,344,348,353,377,378,379,383],lua_absindex:379,lua_alloc:379,lua_arith:379,lua_atpan:379,lua_cal:379,lua_callk:379,lua_cfunct:379,lua_checkstack:379,lua_clos:379,lua_compar:379,lua_concat:379,lua_copi:379,lua_createt:379,lua_debug:379,lua_dump:379,lua_error:379,lua_gc:379,lua_getallocf:379,lua_getextraspac:379,lua_getfield:379,lua_getglob:379,lua_gethook:379,lua_gethookcount:379,lua_gethookmask:379,lua_geti:379,lua_getinfo:379,lua_getloc:379,lua_getmetat:379,lua_getstack:379,lua_gett:379,lua_gettop:379,lua_getupvalu:379,lua_getuservalu:379,lua_hook:379,lua_insert:379,lua_integ:379,lua_isboolean:379,lua_iscfunct:379,lua_isfunct:379,lua_isinteg:379,lua_islightuserdata:379,lua_isnil:379,lua_isnon:379,lua_isnoneornil:379,lua_isnumb:379,lua_isstr:379,lua_ist:379,lua_isthread:379,lua_isuserdata:379,lua_isyield:379,lua_kcontext:379,lua_kfunct:379,lua_len:379,lua_load:379,lua_newst:379,lua_newt:379,lua_newthread:379,lua_newuserdata:379,lua_next:379,lua_numb:379,lua_numbertointeg:379,lua_pcal:379,lua_pcallk:379,lua_pop:379,lua_pushboolean:379,lua_pushcclosur:379,lua_pushcfunct:379,lua_pushfstr:379,lua_pushglobalt:379,lua_pushinteg:379,lua_pushlightuserdata:379,lua_pushliter:379,lua_pushlstr:379,lua_pushnil:379,lua_pushnumb:379,lua_pushstr:379,lua_pushthread:379,lua_pushvalu:379,lua_pushvfstr:379,lua_rawequ:379,lua_rawget:379,lua_rawgeti:379,lua_rawgetp:379,lua_rawlen:379,lua_rawset:379,lua_rawseti:379,lua_rawsetp:379,lua_read:379,lua_regist:379,lua_remov:379,lua_replac:379,lua_resum:379,lua_rot:379,lua_setallocf:379,lua_setfield:379,lua_setglob:379,lua_sethook:379,lua_seti:379,lua_setloc:379,lua_setmetat:379,lua_sett:379,lua_settop:379,lua_setupvalu:379,lua_setuservalu:379,lua_stat:379,lua_statu:379,lua_stringtonumb:379,lua_toboolean:379,lua_tocfunct:379,lua_tointeg:379,lua_tointegerx:379,lua_tolstr:379,lua_tonumb:379,lua_tonumberx:379,lua_topoint:379,lua_tostr:379,lua_tothread:379,lua_touserdata:379,lua_typ:379,lua_typenam:379,lua_unsign:379,lua_upvalueid:379,lua_upvalueindex:379,lua_upvaluejoin:379,lua_vers:379,lua_writ:379,lua_xmov:379,lua_yield:379,lua_yieldk:379,luadb:346,lual_addchar:379,lual_addlstr:379,lual_adds:379,lual_addstr:379,lual_addvalu:379,lual_argcheck:379,lual_argerror:379,lual_buff:379,lual_buffinit:379,lual_buffinits:379,lual_callmeta:379,lual_checkani:379,lual_checkinteg:379,lual_checklstr:379,lual_checknumb:379,lual_checkopt:379,lual_checkstack:379,lual_checkstr:379,lual_checktyp:379,lual_checkudata:379,lual_checkvers:379,lual_dofil:379,lual_dostr:379,lual_error:379,lual_execresult:379,lual_fileresult:379,lual_getmetafield:379,lual_getmetat:379,lual_getsubt:379,lual_gsub:379,lual_len:379,lual_loadbuff:379,lual_loadbufferx:379,lual_loadfil:379,lual_loadfilex:379,lual_loadstr:379,lual_newlib:379,lual_newlibt:379,lual_newmetat:379,lual_newst:379,lual_openlib:379,lual_optinteg:379,lual_optlstr:379,lual_optnumb:379,lual_optstr:379,lual_prepbuff:379,lual_prepbuffs:379,lual_pushresult:379,lual_pushresults:379,lual_ref:379,lual_reg:379,lual_requiref:379,lual_setfunc:379,lual_setmetat:379,lual_stream:379,lual_testudata:379,lual_tolstr:379,lual_traceback:379,lual_typenam:379,lual_unref:379,lual_wher:379,luat:[325,326,330,331,333,380,381],luatask:[380,382],luato:[29,162,165,200,209,212,247,264,268,272,273,277,303,306,307,308,309,310,312,326,339,347,352,383,385,405],lvgl:[89,162,163,212,220,294],m:[10,379],mac:[98,131,134],machin:[119,218,221,225,231,234,247,273,274,284,311,354],macro:214,main:[180,181,182,214,226,232,239,250,255,283,288],mainten:372,major:98,make:304,manag:[103,250,309,310,332,344,379],mani:[294,304],manipul:[120,136],manual:[162,196,197,198,213,214,220,248,250,294,301,363,372,379],manufactur:[196,197,198],map:[35,102,223,228,230,245,262],mask:[71,91,162,379],mass:[274,311],master:[211,255],match:[294,378,379],math:379,mathemat:379,matrix:[35,116,162,339],max30102:90,max:[128,379],max_temp:93,max_tick:31,maximum:[162,294,372],maxinteg:379,maxout:12,maxsiz:113,mcc:96,mclk:27,mco:251,mcp2515:63,mcu:[91,183,384],md5:6,md:[6,107],md_file:6,mdelai:125,mdk:214,mean:[282,296,346],measur:[93,173,174,175,372],measured_pow:98,mechan:381,megabyt:294,meminfo:109,memori:[88,136,329,331],merg:162,messag:[123,162,200,255,305,330,379],meta:379,metadata:23,metat:379,meter:162,method:[6,24,32,255,294,314,315,326,353,369,379],mhz:91,middlewar:344,min:379,min_temp:93,minimum:221,mininteg:379,miniz:92,minor:98,minu:2,minut:285,mipp:360,mirror:162,miso:117,mkdir:30,mkf:30,mlx90614:64,mlx90640:93,mnc:96,mobil:[94,123,360],modbu:335,mode2:20,mode:[4,6,7,8,13,20,21,27,30,39,63,71,74,79,86,87,91,96,98,103,114,117,127,130,134,162,255,294,302,358,363,369,372,373,379],model:[10,23,162,294],modev:96,modf:379,modifi:[162,179,214,255,294,376],modnam:379,modul:[36,68,83,86,87,90,105,225,231,238,247,254,255,258,260,264,273,294,300,323,327,379],month:162,more:[314,315],mosi:117,most:325,motiv:335,motor:294,mount:[13,113,191,192,193,358],mount_point:[13,113],mous:294,move:[162,379],mpu6050:65,mpu6500:65,mpu6xxx:65,mpu9250:65,mqtt:95,mqttc:95,ms:[21,117,382],msdbox:162,msg:[114,325],msgbu:330,msgh:379,msgid:38,muid:94,multi:[2,87,294,378],multimedia:[1,4],multimet:360,multipl:[269,378,382],multiplex:272,multitask:382,mute:277,mutual:326,my:360,mytim:99,n1:379,n2:379,n:[136,379],name:[14,15,52,89,98,102,129,162,348,379],nation:20,navig:162,nb:96,nbiot:[96,384],ne:97,nec:66,necessari:[214,294],necir:66,need:[93,320,328,329,330,331,332,333,340,342,343,344],need_ipv6_dn:115,needl:162,netc:60,netl:67,netmask:134,network:[67,94,115,275,294,296,331],network_check_period:94,new_apn_nam:94,new_nam:134,new_path:99,newnam:379,next:[18,379],next_id:39,nil:378,nimbl:98,nine:65,nmea:39,no_autoat:214,noclear:10,non:[60,71,88,255,360],nop:109,note:[93,212,257,268,303,363],noth:360,nstinput:94,nstonoff:94,ntp_error:123,ntp_updat:123,num:[94,136],num_channel:1,number:[94,162,180,181,182,277,307,360,378],nvm:294,o:214,obj:[34,89,162,379],obj_set_event_cb:89,obj_set_signal_cb:89,object:[162,305,379],objmask:162,obsolet:[9,137],obtain:[182,191,192,193,277],occas:294,off:[36,67,196,197,238,255,333,360,372,376],offlin:255,offset:[30,88,100,110,112,113,136,162,379],old_path:99,oldnam:379,on_off:1,one:[214,255,294],onenet:[32,55,152],onff:94,onheap:36,onlevel:1,onli:[116,162,255],onlin:383,onoff:[31,94,95,103,115,133],open:[0,8,28,78,79,105,118,162,250,294,379],openocd:250,oper:[2,10,17,21,26,31,88,91,94,96,99,100,109,111,112,117,118,125,128,130,132,134,331,363,364,376,378,379,381],opt:[24,127,133,379],option:[162,214,251,255],ordinari:308,origin:[277,294],originstr:20,os:[99,379],oscil:[221,294],ota:269,ota_port:59,ota_url:59,other:[55,247,254,255,369,382],otp:100,out:[73,285],out_buff:4,out_path:3,output:[31,106,179,180,181,182,185,186,187,212,213,220,251,255,326,360,369,372,373,376,378,379],output_fil:137,outrevers:6,overrid:162,overview:[162,211,238,250,312,363,366,372,387],own:360,pack:[101,136,255,379],packag:[113,214,238,248,264,265,266,269,301,309,311,379],packet:269,packsiz:379,pad:[6,20],pad_index:91,padelai:1,page:[162,255,363,376],pair:379,palett:162,panel:358,paper:394,papin:1,para:136,param1:[16,59],param:7,paramet:[32,277,354,378],parent:89,pars:[34,38,39],part:[162,169,172,173,174,175,179,180,181,182,185,186,187,191,192,193,196,197,198,200,201,203,204,205,358],parti:255,partii:128,partit:14,pass:[360,382],passwd:134,password:[19,20,94,95,134,162],path:[1,6,15,16,17,30,89,99,118,379],patha:109,pathb:109,pathc:109,pathd:109,pattern:379,paus:[1,376],payload:[38,95],pbdata:104,pc:[302,369],pcall:379,pcf8563t:68,pcf8574:69,pcm:255,pd:[360,363],pdn_type:96,per:[180,181,182],perform:[238,255,283],period:[11,105,109,294],peripher:[164,196,197,198,214,238,296,331,338,395],phenomenon:255,phone:[114,360],phycellid:96,pi:379,pictur:162,pid:130,pide:2,pin1:94,pin2:94,pin:[21,31,33,69,102,103,111,162,196,197,198,223,228,230,238,245,255,262,284,289,294],pin_busi:10,pin_c:10,pin_clk:111,pin_dat:111,pin_dc:10,pin_reset:10,pinout:[215,218,222,225,227,231,234,236,249,254,256,265,266,267,297,300],pixel:[136,294],pkg:309,pkx:20,pky:20,place:214,placehold:162,plai:[1,166],plain:379,plan:372,platform:[32,55,145,149,166,314,315,331,332,333,340,341,342,343,344],playback:[166,167],playstop:1,pleas:[214,303],pll:251,plu:2,plug:[250,294,360],plugin:[314,315],pm:[103,184],png:294,pnum:105,po:379,point:[5,162,325,327,328,329,330,331,332,333,334,336,340,344,381],poli:6,polici:277,pool:329,pop:372,popen:379,port:[7,19,25,35,57,58,81,95,115,116,128,203,204,205,213,218,294,360],portabl:292,posit:[58,162,255,266,294,384],possibl:294,post:304,power:[14,18,37,88,103,211,219,221,226,232,238,239,266,276,284,288,289,332,340,356,357,358,360,367,368,371,372,373,374,376],power_on_delai:13,power_pin:13,powerlevel:96,powersav:134,pp:360,practic:[220,351],pre:[209,255],precaut:[162,254,255,284,372],precis:[105,182],prefix:120,preload:379,prepar:[145,166,169,170,171,172,173,174,175,178,179,180,181,182,184,185,186,187,189,190,191,192,193,195,196,197,198,200,201,202,203,204,205,212,213,214,220,221,248,274,301,314,315,318,320],preparatori:304,press:372,pressur:[47,75],prevent:43,preview:363,previou:[214,379],previous:294,principl:[306,381],print:[10,79,294,354,379],printf:255,prioriti:[255,379],privat:20,pro:374,probabl:255,problem:336,process:[38,39,127,277,325,326,379],product:[166,238,274,284,289,311,363,384],product_id:32,product_kei:32,productkei:57,produt_id:32,profil:258,prog:379,program:[209,294,307,326,378,379,380],programm:255,progress:162,project:[143,154,160,285,310,311,312,314,315,320,394],prompt:311,pronunci:277,propag:162,protect:255,protobuf:104,protobuff:104,protocol:[63,66,94,275,326],provid:[212,247,264,273,294],psmmode:96,publish:[55,95,122,305,348,382],pull:[19,21,251],pull_mod:31,puls:[21,105],purchas:[218,225,231,254,264,300,384,387],pure:209,purpos:255,push:[19,106],pwd:107,pwm:[105,185,186,187,188,212,220,272,294],qcloud:32,qmc5883l:70,qo:[55,95],qq:[304,384],qrcode:[10,89],qrcode_cr:89,qrcode_delet:89,qrcode_upd:89,qualcomm:[22,391],qualiti:3,quantiti:372,queri:[136,172,180,181,182,309],question:378,quick:[162,209,378],quickli:360,quiz:378,r:[36,127,136],rad:[127,379],radiu:[10,89],random:379,randomse:379,rang:[0,162,376],rapid:304,rate:90,raw:283,raw_data:93,raw_point:93,rawdata:38,rawequ:379,rawget:379,rawlen:379,rawset:379,rc522:71,rc522_config_isotyp:71,rclk:73,rcr:131,rddi:250,re:106,read:[0,13,45,68,71,88,100,106,112,113,128,136,173,174,175,191,192,193,196,197,198,255,277,294,352,379],read_datablock:71,read_light:46,read_rawrc:71,read_tim:49,readdht12:26,readfil:30,readi:[7,95,133,134,319],readreg:26,readsht30:26,real:[49,108,294,369],realiz:294,reboot:[103,109],receiv:[66,109,135,203,204,205,255],receive_buff:63,recogn:[250,360],recolor:162,recommend:[209,210,384],reconfigur:255,reconnect:[95,133],reconnect_tim:[95,133],record:11,rect:10,recv:[26,27,86,87,117],recv_cb:66,refer:[214,238,379],refresh:376,refresh_r:93,reg32:91,reg:26,regist:[203,204,205,294],registr:380,registri:379,regular:378,relat:[162,166,214,267,269,273,284,289,378],releas:[4,31,115,135,255,257,268],relev:[294,325,327,328,329,330,331,332,333,334,336,340,344],reload:255,remain:255,remind:319,remot:[33,72],remote_nam:19,remote_port:115,remoteip:115,remov:[99,162,309,379],renam:[99,379],rep:[378,379],repeat:[33,119],repeat_cnt:31,repl:[106,379,383],replac:[254,255,285],report:11,req_cod:71,reqaddr:57,reqcellinfo:94,reqedrxvaluem:96,reqtim:[57,58],request:[24,57,58,59,71,103],requir:[162,214,233,348,354,379],reqwifi:57,reserv:294,reset:[63,71,94,135,221,255],resistor:251,resiz:[136,162],resolut:[52,314,398,401,404],resourc:[221,284,289],respons:326,restart:360,result:[255,348],resum:379,retain:[55,95],reus:255,revers:379,revert:6,rf:296,rgb565:36,rgb:294,right:319,rmdir:30,roll:162,roller:162,rotari:50,rotat:[10,162],rout:384,routin:294,row:[162,255],rp2040:295,rs485_delai:128,rs485_gpio:128,rs485_level:128,rsa:107,rsrp:[94,96],rsrq:[94,96],rssi:[94,96],rst:71,rst_pin:131,rtc:[108,189,212,255,294],rtcauto:39,rtime:94,rtkv:72,rto:[109,294],rtr:131,rtrim:120,rule:[277,379],run:[5,16,122,294,379,380,382],rx:[115,127,128],rx_hwtimer_id:128,rx_len:117,rx_pin:128,rxbuff:[26,117],rxclear:128,rxe:255,rxlen:26,rxpacket:74,rxsize:128,ry:127,s3:291,s:[334,353,379],same:294,sampl:[27,255,294,304,305],sample_r:1,save:[172,294,319],save_path:3,scale:[162,369],scan:[26,79,98,134],scan_period:126,scanresult:134,scatter:214,scenario:335,schedul:331,schemat:[215,222,392,406],scl:[26,77],scl_pin:79,sclk:73,scm:294,scope:162,scr:89,scr_act:89,scr_load:89,scr_load_anim:89,screen:[10,178,230,294,360,372,393,394,404,407],screenshot:283,script:[207,212,226,232,235,239,288,294,369],scroll:[162,372],scrollabl:162,sd:294,sd_read:110,sd_write:110,sda:[26,77],sda_pin:79,sdio:[110,212,220],sdk:294,sdk_appid:32,search_cell_tim:94,searcher:379,searchpath:379,second:[180,181,182,376],secret:[6,20],section:214,sector:[196,197,198],seek:[136,379],seem:294,seg:37,seg_data:[78,79],seg_mark:37,seg_set:37,segment:[37,230],select:[71,162,214,255,277,282,369,376,379],selector:162,self:[162,302,378],send:[26,27,57,82,86,87,114,117,133,173,174,175,200,203,204,205,255,330],send_buff:63,send_data:117,send_msg:98,sendbuff:127,senddisplaydata:78,sendind:98,sendmsg:124,sendnec:33,sendnotifi:98,sensor:[42,44,45,46,47,48,49,56,61,62,65,70,75,76,80,84,111,233],sent:[255,294],sep:379,separ:[120,360],seq:7,sequenc:31,seri:[162,268,271,273,294,320,407],serial:[128,203,204,205,207,213,218,294],seriesiot:360,server:[25,81],server_cert:[59,115],set:[18,21,72,74,108,136,162,180,181,255,276,277,360,363,372],set_bit_mask:71,set_channel:[86,87],set_id:130,set_mod:74,set_rxconfig:[86,87],set_tim:49,set_txconfig:[86,87],setauto:94,setband:[94,96],setbaseyear:108,setbitmapmod:127,setblinktim:67,setbootcfun:96,setbright:[78,79],setbu:1,setcap:31,setcfun:96,setchr:98,setclk:91,setcolor:36,setcontrast:127,setctx:10,setdefaultpul:21,setdelai:31,setdn:115,setdrawcolor:127,setedrx:96,setedrxptw:96,setfont:[10,36,127],setfontmod:127,setframebuff:136,setgpio:31,sethook:379,setlevel:85,setlight:77,setloc:379,setlocal:379,setmac:134,setmetat:379,setmod:134,setnewsmscb:114,setpath:109,setpowersav:127,setpsm:96,setrang:0,setstat:67,sett:18,settimeout:132,settz:96,setup:[10,21,26,27,37,67,68,72,117,126,128,376],setupbreatel:67,setupbuff:36,setupvalu:379,setuservalu:379,setuuid:98,setvbuf:379,setwin:10,setxtal:91,sever:[162,294,360],sfd:[112,190],sfud:[113,191,192,193,194,212,220],sha1:6,sha256:6,sha512:6,shake:276,shell:358,shield:63,shift595:73,shift:2,show:[2,10,162],showimag:36,shut:[196,197,198],shutdown:[90,103],si24r1:74,sig:[20,107],sign:107,sim_ind:123,simid:94,simpin:94,simpl:[162,302,321,322,352,378],simplest:303,simul:[97,294],sin:379,sinc:360,singl:[162,200,294],singleshow:77,site:319,six:65,size:[10,36,88,89,113,117,127,162,215,222,238,255,285,329,378,379],skei:[14,18],slaveaddr:26,sleep:[10,36,89,255],slider:162,sm2decrypt:20,sm2encrypt:20,sm2sign:20,sm2verifi:20,sm3:20,sm3hmac:20,sm4decrypt:20,sm4encrypt:20,sm:[20,114,119,123],small:[209,378],smaller:372,smart:255,smartconfig:134,smell:372,smoothli:372,sms_inc:123,sn:[91,94,96],snr:[94,96],sntp:115,sntp_server:115,soc:[29,165,268,294,303,347,352,384],socket:[60,115,123],soft:255,soft_kb_inc:123,softkb:116,softkeyboard:[116,123],softwar:[43,113,116,169,170,171,172,173,174,175,178,179,180,181,182,184,185,186,187,189,190,191,192,193,195,196,197,198,200,201,202,203,204,205,211,212,220,255,265,266,294,309,326,369],solut:[250,269,327,336],some:[91,255],sort:379,sound:372,sourc:[162,214,231,250,313,318,320],source_32k:91,source_main:91,spe:255,special:[91,212,284,289,346],specif:[191,192,193,255,348],specifi:[196,197,198,294,332,340],speech:277,speed:[26,131,162,277,294],spi:[112,113,117,191,192,193,195,196,197,198,199,212,220,255,272,284,294,342],spi_bandr:113,spi_c:[13,112,113],spi_devic:[10,22,89,113,117],spi_id:[63,66,71,74,112,113],spi_spe:13,spiconfig:[86,87],spiid:[10,131],spiid_or_spidevic:13,spinbox:162,spinner:162,spl06:75,spl06_01:75,splice:378,split:[120,162],sql:118,sqlite3:118,sqrt:379,srv_uuid:98,ssid:134,ssl:95,ssllog:115,st7735:294,stack:379,staip:134,standard:[255,294,360,379],standi:109,start2:136,start:[1,3,6,25,31,66,123,128,130,136,162,200,209,220,318,333,360,378,382],startraw:3,startswith:120,startup:[180,181,182,214],state:[67,89,95,119,162,255,326],statem:119,statement:[378,379],station:[57,58],statu:[18,67,94,112,121,162,326,379],step:[292,294,358],still:[250,360],stop:[1,3,25,26,31,130,200,255,326],stop_bit:128,stopap:134,store:[304,320],storge_loc:[16,59],str:[6,10,34,36,38,39,88,120,127],stream:6,string:[11,101,120,180,181,182,203,204,205,353,378,379],strip:379,strong:124,strongli:384,strtoll:2,structur:[312,330,333,335,339,372,379],sty_en:89,sty_zh:89,style:[85,89,162,179,277,334,335],style_cr:89,style_delet:89,style_list_cr:89,style_list_delet:89,style_list_t:89,style_t:89,sub:[378,379],subchr:98,submask:131,submiss:348,subscrib:[55,95,122,200,382],subscript:378,suffix:120,suit:275,summari:[283,353],suppli:[238,284,289,358,360,373,376],support:[41,47,55,62,65,87,116,162,214,231,248,251,255,294,296,301,335,360,379,384,388],suspend:326,svr_uuid:98,sw:255,swap:[36,378],swd:218,swing:162,swm181:301,swm181cbt6:[299,300],sxx32f103:255,sxx32f1xx:255,sy:[122,123,124,200,336,382],symbol:162,symmetri:162,synchron:60,synergi:[379,380],syntax:379,synthesi:335,sys_pub:348,sysplu:124,system:[2,17,123,162,191,192,193,221,255,275,328,331,352,379],system_air001xx:214,t0h:111,t0l:111,t1:379,t1h:111,t1l:111,t2:379,t:[34,38,250,294,304,360,379],ta_temp:93,tab:[108,162],tabl:[162,191,192,193,223,228,233,245,262,282,296,378,379],tabview:162,tac:[94,96],tag:[85,162],take:379,tan:379,target:124,task:[200,305,331,336,382],taskdel:124,taskinit:[122,382],taskinitex:124,taskl:67,tasklt:67,tasknam:[60,124],tautim:96,tc:255,tcs3472:76,technic:[231,361,362,372,375,384],telecom:7,temperatur:[42,45,48,62,64,93],tencent:158,tengxun:55,term:[311,326],termin:360,terminolog:306,test:[144,155,161,226,232,239,248,283,288,301,304,367,378],tester:368,text:[162,209,378],textarea:162,tf:68,tft:401,tft_:[398,404],than:[255,372],theme:162,theme_set_act:89,thi:[93,294],thick:89,think:294,third:255,thread:[294,379],three:[56,61],threshold:126,through:[255,294,328,360],tick1:91,tick2:91,tick64:91,tick:[91,96,162,180,181,182],tie:68,tile:162,tileview:162,tim2:255,tim5:255,tim:255,time:[6,49,68,94,95,99,108,162,250,255,294,369,379],time_tick:31,time_u:31,timea:99,timeb:99,timeout:[26,57,58,60,86,87,94,98,103,109,122,124,125,132],timer:[125,200,201,203,204,205,226,232,239,255,288,333,380,382],timer_start:109,timer_stop:109,timerisact:382,timerloopstart:[122,382],timerstart:[108,122,382],timerstop:[108,122,382],timerstopal:382,timestamp:255,timezon:108,titl:162,tl:275,tm1637:77,tm1640:78,tm1650:79,tmpfile:379,tmpname:379,to32:2,to64:2,tobase32:120,tobase64:120,tocod:28,toggl:21,tohex:120,tointeg:379,token:38,tonumb:379,tool:[207,212,255,264,306,318,385],toolkit:311,top:319,topic:[55,81,95,122,348],tostr:[136,379],total:329,totp:6,touch:[126,233,294],touchkei:[123,126],touchkey_inc:123,tovalu:120,tp:[6,10,15,36,39,89,98,134],tpname:104,traceback:379,traceswo:255,tradit:382,transfer:[26,117,255],transfer_done_top:[26,117],transpar:162,transplant:255,treasur:360,triangl:378,trigger:[173,174,175,255,360],trim:120,trimmer:162,trng:6,troubleshoot:221,tsl2561:80,tt:[1,277,294],tube:[77,78,79],turn:[185,186,187,196,197,255,333,360,372,376,378],turnov:294,tutori:[165,177,207,208,209,218,221,225,231,234,247,250,254,273,284,285,300,377,378],tuya:32,twice:255,two:[182,203,204,205,255,358],tx:[52,60,115,128],tx_hwtimer_id:128,tx_pin:128,txbuff:[26,117],txconfig:[86,87],txfp:255,txpacket:74,txstat:27,type:[2,4,6,11,38,82,91,109,112,136,162,203,204,205,294,311,335,346,352,378,379],typec:360,typic:273,tz:[96,108],u4:294,u8g2:127,u8g2_get:15,u8g2_load:15,u:379,ua:372,uart1:[203,204,205],uart:[128,202,203,204,205,206,212,220,272,294,343],uart_br:82,uart_id:[82,83,84,94],udata:379,udelai:125,udisk_attach_sdhc:130,udisk_detach_sdhc:130,udp:81,udpsrv:81,ufont:129,uid:71,ult:379,unabl:214,uncheck:162,uncompress:[12,92],under:[129,272,294],underli:[16,109,209,381],understand:378,unifi:129,uniqu:[180,181,182],unique_id:91,unpack:[101,136,379],unstabl:372,unsubchr:98,unsubscrib:[55,95,122,382],unsuccess:294,up:[162,221,251,360,372,379],updat:[162,209,250,307,309,378],updatecellinfo:96,upgrad:[16,59,269,307,360,363,369,372,374],upper:[319,379],upvalueid:379,upvaluejoin:379,uri:38,url:[24,133],urlencod:120,us:[32,52,55,93,136,165,191,192,193,200,203,204,205,209,214,218,249,250,255,284,294,305,319,330,334,335,341,342,343,360,372,379,382,386,389,394,396,399,402,405],usag:[162,170,171,178,184,189,190,195,202,212,220,255,302,321,322],usart:255,usb:[130,238,250,251,255,294,360,372],usbapp:130,user:[93,200,213,214,305,312,314,315,371],user_flag:11,user_nam:94,userapn:96,usernam:[19,95],utf8:379,utf:379,uuid:[98,294],v1020:257,v1021:257,v1103:268,v1104:268,v1105:268,v1106:268,v1107:268,v1108:268,v1:[294,360,372,374,379],v2:[58,360,379],v:[127,379],val1:[101,136,379],val2:[85,101,136],val3:[85,101],val:[7,21,69,85,96,97,103,382],valid:379,valn:101,valu:[1,13,14,18,21,71,72,91,94,98,162,255,305,346,360,372,378,379],variabl:[378,379],variou:[32,311],varnam:379,veri:[162,294],verifi:107,version:[32,71,98,109,162,226,232,239,250,269,288,294,302,307,366,378,379],vertic:162,vhid_cancel_upload:130,vhid_upload:130,vid:130,video:[3,166,167,209,378],view:[162,207,212,213,220,376],virtual:[250,272],visibl:[162,303,379],visit:319,vlcd:37,voic:[294,372],vol:1,voltag:[255,360,363,372,376],volum:277,vscode:210,w1_connect:111,w1_read:111,w1_reset:111,w1_write:111,w5500:[123,131],w800:294,w806:212,w:[3,10,36,89,127,376],wait485:128,wait:[16,60,115,122,200,285,305,326,336,378,382],waitabl:305,waitc:326,waitlink:60,waitmsg:124,waitt:326,waituntil:[122,382],waituntilext:382,wake:221,wakeup:36,wakeuppin:103,want:[294,319,360,372],warn:85,warning_level:109,watch:211,watchdog:[43,132],watchdogpin:43,waveform:[363,376],wdt:132,weak:379,weather_icon:10,websocket:133,wh:376,what:[212,218,225,247,254,264,273,294,300,325,334,353,372,379],when:[255,360,372],whenc:379,where:294,whether:255,which:294,white:[209,294],why:[162,294,319,328,329,330,331,332,333,340,342,343,344,360],widget:162,width:[10,136,162],wifi:[134,292,344,384],win32:322,win:162,window:[126,162,166,314,315],wire:[266,358],wireless:[211,294],within:348,withstand:255,wizpro200st8:255,wlan:[134,344],wrap:379,write:[1,7,8,13,68,71,88,100,112,113,128,136,162,191,192,193,196,197,198,255,303,352,379],write_datablock:71,writechr:98,writefil:30,writereg:26,ws2812:165,ws2812b:111,ws2812b_pwm:111,ws2812b_spi:111,wsc:133,x0:[36,127],x1:[36,127,136],x2:[10,36,127,136],x32:91,x:[10,36,89,93,127,136,379],xfer:[26,117],xmake:[314,315],xmodem:82,xpcall:379,y0:[36,127],y1:[36,127,136],y2:[10,36,127,136],y:[10,36,89,93,127,136,162,379],yet:294,yield:379,ymodem:135,you:[294,319,328,329,330,331,332,333,344,360,372],zbuff:[11,136,203,204,205],ze08g:83,ze08g_ch2o:83,zero:372,zh07:84,zlib:[92,137],zone:100,zoom:369}}) \ No newline at end of file diff --git a/translated-docs/_static/luatos-emulator/vs/snippet.json b/translated-docs/_static/luatos-emulator/vs/snippet.json index c70dd165c..127b6c3bf 100644 --- a/translated-docs/_static/luatos-emulator/vs/snippet.json +++ b/translated-docs/_static/luatos-emulator/vs/snippet.json @@ -1 +1 @@ -{"_G": {"body": "_G(${0:...})", "description": "_G", "prefix": "_G"}, "_VERSION": {"body": "_VERSION(${0:...})", "description": "_VERSION", "prefix": "_VERSION"}, "assert": {"body": "assert(${1:v}${2:[, message]})", "description": "assert()", "prefix": "assert"}, "collectgarbage": {"body": "collectgarbage(${1:[opt]}${2:[, arg]})", "description": "collectgarbage()", "prefix": "collectgarbage"}, "coroutine.create": {"body": "coroutine.create( ${1:function} )", "description": "coroutine.create", "prefix": "coroutine.create"}, "coroutine.isyieldable": {"body": "coroutine.isyieldable( )", "description": "coroutine.isyieldable", "prefix": "coroutine.isyieldable"}, "coroutine.resume": {"body": "coroutine.resume( ${1:co}${2:[, val1, \u00b7\u00b7\u00b7]} )", "description": "coroutine.resume", "prefix": "coroutine.resume"}, "coroutine.running": {"body": "coroutine.running( )", "description": "coroutine.running", "prefix": "coroutine.running"}, "coroutine.status": {"body": "coroutine.status( ${1:co} )", "description": "coroutine.status", "prefix": "coroutine.status"}, "coroutine.wrap": {"body": "coroutine.wrap( ${1:function} )", "description": "coroutine.wrap", "prefix": "coroutine.wrap"}, "coroutine.yield": {"body": "coroutine.yield( ${1:...} )", "description": "coroutine.yield", "prefix": "coroutine.yield"}, "debug.debug": {"body": "debug.debug()", "description": "debug.debug ()", "prefix": "debug.debug"}, "debug.getfenv": {"body": "debug.getfenv(${0:...})", "description": "debug.getfenv (o)", "prefix": "debug.getfenv"}, "debug.gethook": {"body": "debug.gethook( ${1:[thread]} )", "description": "debug.gethook ([thread])", "prefix": "debug.gethook"}, "debug.getinfo": {"body": "debug.getinfo( ${1:[thread],}${2:f}${3:[, what]} )", "description": "debug.getinfo ([thread,] f [, what])", "prefix": "debug.getinfo"}, "debug.getlocal": {"body": "debug.getlocal( ${1:[thread],}${2:f}${3:[, local]} )", "description": "debug.getlocal ([thread,] f, local)", "prefix": "debug.getlocal"}, "debug.getmetatable": {"body": "debug.getmetatable( ${1:value} )", "description": "debug.getmetatable (value)", "prefix": "debug.getmetatable"}, "debug.getregistry": {"body": "debug.getregistry()", "description": "debug.getregistry ()", "prefix": "debug.getregistry"}, "debug.getupvalue": {"body": "debug.getupvalue( ${1:f}, ${2:up} )", "description": "debug.getupvalue (f, up)", "prefix": "debug.getupvalue"}, "debug.getuservalue": {"body": "debug.getuservalue(${0:...})", "description": "debug.getuservalue (u)", "prefix": "debug.getuservalue"}, "debug.getuservalue ": {"body": "debug.getuservalue ( ${1:u} )", "description": "debug.getuservalue (u)", "prefix": "debug.getuservalue "}, "debug.setfenv": {"body": "debug.setfenv(${0:...})", "description": "debug.setfenv (object, table)", "prefix": "debug.setfenv"}, "debug.sethook": {"body": "debug.sethook( ${1:[thead,]}${2:hook}, ${3:mask}${4:[, count]} )", "description": "debug.sethook ([thread,] hook, mask [, count])", "prefix": "debug.sethook"}, "debug.setlocal": {"body": "debug.setlocal( ${1:[thead,]}${2:level}, ${3:local}, ${4:value} )", "description": "debug.setlocal ([thread,] level, local, value)", "prefix": "debug.setlocal"}, "debug.setmetatable": {"body": "debug.setmetatable( ${1:value}, ${2:table} )", "description": "debug.setmetatable (value, table)", "prefix": "debug.setmetatable"}, "debug.setupvalue": {"body": "debug.setupvalue( ${1:f}, ${2:up}, ${3:value} )", "description": "debug.setupvalue (f, up, value)", "prefix": "debug.setupvalue"}, "debug.setuservalue": {"body": "debug.setuservalue( ${1:udata}, ${2:value} )", "description": "debug.setuservalue (udata, value)", "prefix": "debug.setuservalue"}, "debug.traceback": {"body": "debug.traceback( ${1:[thread,]}${2:[message]}${3:[, level]} )", "description": "debug.traceback ([thread,] [message [, level]])", "prefix": "debug.traceback"}, "debug.upvalueid": {"body": "debug.upvalueid( ${1:f}, ${2:n})", "description": "debug.upvalueid (f, n)", "prefix": "debug.upvalueid"}, "debug.upvaluejoin": {"body": "debug.upvaluejoin( ${1:f1}, ${2:n1}, ${3:f2}, ${4:n2} )", "description": "debug.upvaluejoin (f1, n1, f2, n2)", "prefix": "debug.upvaluejoin"}, "dofile": {"body": "dofile(${1:[filename]})", "description": "dofile ([filename])", "prefix": "dofile"}, "elif": {"body": "else if ${1:condition} then\n\t${0:-- body}\n", "description": "elif", "prefix": "elif"}, "error": {"body": "error(${0:...})", "description": "error (message [, level])", "prefix": "error"}, "file:close": {"body": "file:close(${0:...})", "description": "file:close ()", "prefix": "file:close"}, "file:flush": {"body": "file:flush(${0:...})", "description": "file:flush ()", "prefix": "file:flush"}, "file:lines": {"body": "file:lines(${0:...})", "description": "file:lines ()", "prefix": "file:lines"}, "file:read": {"body": "file:read(${0:...})", "description": "file:read (...)", "prefix": "file:read"}, "file:seek": {"body": "file:seek(${0:...})", "description": "file:seek ([whence] [, offset])", "prefix": "file:seek"}, "file:setvbuf": {"body": "file:setvbuf(${0:...})", "description": "file:setvbuf (mode [, size])", "prefix": "file:setvbuf"}, "file:write": {"body": "file:write(${0:...})", "description": "file:write (...)", "prefix": "file:write"}, "for": {"body": "for ${1:i}=${2:1},${3:10} do\n\t${0:print(i)}\nend", "description": "for i=1,10", "prefix": "for"}, "fori": {"body": "for ${1:i},${2:v} in ipairs(${3:table_name}) do\n\t${0:print(i,v)}\nend", "description": "for i,v in ipairs()", "prefix": "fori"}, "forp": {"body": "for ${1:k},${2:v} in pairs(${3:table_name}) do\n\t${0:print(k,v)}\nend", "description": "for k,v in pairs()", "prefix": "forp"}, "fun": {"body": "function ${1:function_name}( ${2:...} )\n\t${0:-- body}\nend", "description": "function", "prefix": "fun"}, "function": {"body": "function ${1:function_name}( ${2:...} )\n\t${0:-- body}\nend", "description": "function", "prefix": "function"}, "getfenv": {"body": "getfenv(${0:...})", "description": "getfenv ([f])", "prefix": "getfenv"}, "getmetatable": {"body": "getmetatable(${1:object})", "description": "getmetatable (object)", "prefix": "getmetatable"}, "if": {"body": "if ${1:condition} then\n\t${0:-- body}\nend", "description": "if", "prefix": "if"}, "ifel": {"body": "if ${1:condition} then\n\t${2:-- body}\nelse\n\t${0:-- body}\nend", "description": "ifel", "prefix": "ifel"}, "io.close": {"body": "io.close(${0:...})", "description": "io.close ([file])", "prefix": "io.close"}, "io.flush": {"body": "io.flush(${0:...})", "description": "io.flush ()", "prefix": "io.flush"}, "io.input": {"body": "io.input(${0:...})", "description": "io.input ([file])", "prefix": "io.input"}, "io.lines": {"body": "io.lines(${0:...})", "description": "io.lines ([filename])", "prefix": "io.lines"}, "io.open": {"body": "io.open(${0:...})", "description": "io.open (filename [, mode])", "prefix": "io.open"}, "io.output": {"body": "io.output(${0:...})", "description": "io.output ([file])", "prefix": "io.output"}, "io.popen": {"body": "io.popen(${0:...})", "description": "io.popen (prog [, mode])", "prefix": "io.popen"}, "io.read": {"body": "io.read(${0:...})", "description": "io.read (...)", "prefix": "io.read"}, "io.tmpfile": {"body": "io.tmpfile(${0:...})", "description": "io.tmpfile ()", "prefix": "io.tmpfile"}, "io.type": {"body": "io.type(${0:...})", "description": "io.type (obj)", "prefix": "io.type"}, "io.write": {"body": "io.write(${0:...})", "description": "io.write (...)", "prefix": "io.write"}, "ipairs": {"body": "ipairs(${0:...})", "description": "ipairs (t)", "prefix": "ipairs"}, "load": {"body": "load(${0:...})", "description": "load (func [, chunkname])", "prefix": "load"}, "loadfile": {"body": "loadfile(${0:...})", "description": "loadfile ([filename])", "prefix": "loadfile"}, "loadstring": {"body": "loadstring(${0:...})", "description": "loadstring (string [, chunkname])", "prefix": "loadstring"}, "local": {"body": "local ${1:x} = ${0:1}", "description": "local x = 1", "prefix": "local"}, "math.abs": {"body": "math.abs( ${1:x} )", "description": "math.abs", "prefix": "math.abs"}, "math.acos": {"body": "math.acos( ${1:x} )", "description": "math.acos", "prefix": "math.acos"}, "math.asin": {"body": "math.asin( ${1:x} )", "description": "math.asin", "prefix": "math.asin"}, "math.atan": {"body": "math.atan( ${1:y}${2:[, x]} )", "description": "math.atan", "prefix": "math.atan"}, "math.atan2": {"body": "math.atan2(${0:...})", "description": "math.atan2 (y, x)", "prefix": "math.atan2"}, "math.ceil": {"body": "math.ceil( ${1:x} )", "description": "math.ceil", "prefix": "math.ceil"}, "math.cos": {"body": "math.cos( ${1:x} )", "description": "math.cos", "prefix": "math.cos"}, "math.cosh": {"body": "math.cosh(${0:...})", "description": "math.cosh (x)", "prefix": "math.cosh"}, "math.deg": {"body": "math.deg( ${1:x} )", "description": "math.deg", "prefix": "math.deg"}, "math.exp": {"body": "math.exp( ${1:x} )", "description": "math.exp", "prefix": "math.exp"}, "math.floor": {"body": "math.floor( ${1:x} )", "description": "math.floor", "prefix": "math.floor"}, "math.fmod": {"body": "math.fmod( ${1:x},${2:y} )", "description": "math.fmod", "prefix": "math.fmod"}, "math.frexp": {"body": "math.frexp(${0:...})", "description": "math.frexp (x)", "prefix": "math.frexp"}, "math.huge": {"body": "math.huge(${0:...})", "description": "math.huge", "prefix": "math.huge"}, "math.ldexp": {"body": "math.ldexp(${0:...})", "description": "math.ldexp (m, e)", "prefix": "math.ldexp"}, "math.log": {"body": "math.log( ${1:x}${2:[, base]} )", "description": "math.log", "prefix": "math.log"}, "math.log10": {"body": "math.log10(${0:...})", "description": "math.log10 (x)", "prefix": "math.log10"}, "math.math.randomseed": {"body": "math.math.randomseed( ${1:x} )", "description": "math.math.randomseed", "prefix": "math.math.randomseed"}, "math.max": {"body": "math.max( ${1:x},${2:...} )", "description": "math.max", "prefix": "math.max"}, "math.maxinteger": {"body": "math.maxinteger(${0:...})", "description": "math.maxinteger", "prefix": "math.maxinteger"}, "math.min": {"body": "math.min( ${1:x},${2:...} )", "description": "math.min", "prefix": "math.min"}, "math.mininteger": {"body": "math.mininteger(${0:...})", "description": "math.mininteger", "prefix": "math.mininteger"}, "math.modf": {"body": "math.modf( ${1:x} )", "description": "math.modf", "prefix": "math.modf"}, "math.pi": {"body": "math.pi(${0:...})", "description": "math.pi", "prefix": "math.pi"}, "math.pow": {"body": "math.pow(${0:...})", "description": "math.pow (x, y)", "prefix": "math.pow"}, "math.rad": {"body": "math.rad(${0:...})", "description": "math.rad (x)", "prefix": "math.rad"}, "math.random": {"body": "math.random( ${1:[m]}${2:[, n]} )", "description": "math.random", "prefix": "math.random"}, "math.randomseed": {"body": "math.randomseed(${0:...})", "description": "math.randomseed (x)", "prefix": "math.randomseed"}, "math.sin": {"body": "math.sin( ${1:x} )", "description": "math.sin", "prefix": "math.sin"}, "math.sinh": {"body": "math.sinh(${0:...})", "description": "math.sinh (x)", "prefix": "math.sinh"}, "math.sqrt": {"body": "math.sqrt( ${1:x} )", "description": "math.sqrt", "prefix": "math.sqrt"}, "math.tan": {"body": "math.tan( ${1:x} )", "description": "math.tan", "prefix": "math.tan"}, "math.tanh": {"body": "math.tanh(${0:...})", "description": "math.tanh (x)", "prefix": "math.tanh"}, "math.tointeger": {"body": "math.tointeger( ${1:x} )", "description": "math.tointeger", "prefix": "math.tointeger"}, "math.type": {"body": "math.type( ${1:x} )", "description": "math.type", "prefix": "math.type"}, "math.ult": {"body": "math.ult(${0:...})", "description": "math.ult (m, n)", "prefix": "math.ult"}, "module": {"body": "module(${0:...})", "description": "module (name [, ...])", "prefix": "module"}, "next": {"body": "next(${1:table}${2:[, index]})", "description": "next (table [, index])", "prefix": "next"}, "os.clock": {"body": "os.clock()", "description": "os.clock() - \u8fd4\u56de\u7a0b\u5e8f\u4f7f\u7528\u7684\u6309\u79d2\u8ba1 CPU \u65f6\u95f4\u7684\u8fd1\u4f3c\u503c\n\u4f20\u5165\u503c\uff1a\nreturn \u65f6\u95f4\u6233\n\u4f8b\u5b50\uff1a\n-- \u4e0d\u63a8\u8350\u4f7f\u7528\u672cAPI\n-- \u5982\u9700\u8981\u83b7\u53d6 \u65f6\u95f4\u6233, \u8bf7\u4f7f\u7528 os.time()\n-- \u5982\u9700\u83b7\u53d6\u7cfb\u7edf\u8fd0\u884c\u65f6\u957f, \u8bf7\u4f7f\u7528 mcu.ticks()\n", "prefix": "os.clock"}, "os.date": {"body": "os.date(${1:fmt},${2:time})", "description": "os.date(fmt, time) - \u65e5\u671f\u51fd\u6570\n\u4f20\u5165\u503c\uff1a\nstring \u683c\u5f0f\u5316\u5b57\u7b26\u4e32,\u53ef\u4ee5\u662fnil\ntable \u65e5\u671f\u65f6\u95f4\u7684table\n\u8fd4\u56de\u503c\uff1a\ntable/string \u6839\u636efmt\u7684\u4e0d\u540c,\u8fd4\u56de\u503c\u4e0d\u540c\n\u4f8b\u5b50\uff1a\n\n-- \u503c\u5f97\u6ce8\u610f\u7684\u51e0\u70b9:\n-- 1. \u82e5\u9700\u8981UTC\u65f6\u95f4, fmt\u7684\u7b2c\u4e00\u4e2a\u5b57\u7b26\u5199\"!\"\n-- 2. fmt\u7684\u683c\u5f0f\u5316\u9075\u5faa C \u51fd\u6570 strftime, \u53ef\u4ee5\u67e5\u9605 https://developer.aliyun.com/article/320480\n\n-- \u83b7\u53d6\u672c\u5730\u65f6\u95f4\u5b57\u7b26\u4e32\nlog.info(\"\u672c\u5730\u65f6\u95f4\u5b57\u7b26\u4e32\", os.date())\n-- \u83b7\u53d6UTC\u65f6\u95f4\u5b57\u7b26\u4e32\nlog.info(\"UTC\u65f6\u95f4\u5b57\u7b26\u4e32\", os.date(\"!%c\"))\n-- \u683c\u5f0f\u5316\u672c\u5730\u65f6\u95f4\u5b57\u7b26\u4e32\nlog.info(\"\u672c\u5730\u65f6\u95f4\u5b57\u7b26\u4e32\", os.date(\"%Y-%m-%d %H:%M:%S\"))\n-- \u683c\u5f0f\u5316UTC\u65f6\u95f4\u5b57\u7b26\u4e32\nlog.info(\"UTC\u65f6\u95f4\u5b57\u7b26\u4e32\", os.date(\"!%Y-%m-%d %H:%M:%S\"))\n-- \u683c\u5f0f\u5316\u65f6\u95f4\u5b57\u7b26\u4e32\nlog.info(\"\u81ea\u5b9a\u4e49\u65f6\u95f4\u7684\u5b57\u7b26\u4e32\", os.date(\"!%Y-%m-%d %H:%M:%S\", os.time({year=2000, mon=1, day=1, hour=0, min=0, sec=0})))\n\n-- \u83b7\u53d6\u672c\u5730\u65f6\u95f4\u7684table\nlog.info(\"\u672c\u5730\u65f6\u95f4\u5b57\u7b26\u4e32\", json.encode(os.date(\"*t\")))\n-- \u83b7\u53d6UTC\u65f6\u95f4\u7684table\nlog.info(\"UTC\u65f6\u95f4\u5b57\u7b26\u4e32\", json.encode(os.date(\"!*t\")))\n", "prefix": "os.date"}, "os.difftime": {"body": "os.difftime(${1:timeA},${2:timeB})", "description": "os.difftime(timeA, timeB) - \u65f6\u95f4\u5dee\u503c\n\u4f20\u5165\u503c\uff1a\nint \u65f6\u95f4A,\u6570\u503c\u7c7b\u578b\nint \u65f6\u95f4B,\u6570\u503c\u7c7b\u578b\n\u8fd4\u56de\u503c\uff1a\nint \u65f6\u95f4\u5dee\u503c\n", "prefix": "os.difftime"}, "os.execute": {"body": "os.execute(${0:...})", "description": "os.execute ([command])", "prefix": "os.execute"}, "os.exit": {"body": "os.exit(${0:...})", "description": "os.exit ([code])", "prefix": "os.exit"}, "os.getenv": {"body": "os.getenv(${0:...})", "description": "os.getenv (varname)", "prefix": "os.getenv"}, "os.remove": {"body": "os.remove(${1:path})", "description": "os.remove(path) - \u79fb\u9664\u6587\u4ef6\n\u4f20\u5165\u503c\uff1a\nstring \u5f85\u79fb\u9664\u7684\u6587\u4ef6\u5b8c\u6574\u8def\u5f84\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5176\u4ed6\u60c5\u51b5\u8fd4\u56denil\nstring \u5931\u8d25\u65f6\u8fd4\u56de\u539f\u56e0\u5b57\u7b26\u4e32\n\u4f8b\u5b50\uff1a\n-- \u5220\u9664\u6839\u76ee\u5f55\u4e0b\u7684\u67d0\u4e2a\u6587\u4ef6\nos.remove(\"/1.txt\")\n-- \u6ce8\u610f, \u7ebf\u5237\u65f6\u7684\u6587\u4ef6, \u4e00\u822c\u5728 /luadb \u76ee\u5f55, \u8fd9\u4e2a\u76ee\u5f55\u4e0b\u7684\u6587\u4ef6\u662f\u53ea\u8bfb\u7684\n-- \u4e5f\u5c31\u662f\u65e0\u6cd5\u6267\u884c os.remove(\"/luadb/xxx.bin\")\n", "prefix": "os.remove"}, "os.rename": {"body": "os.rename(${1:old_path},${2:new_path})", "description": "os.rename(old_path, new_path) - \u6587\u4ef6\u91cd\u547d\u540d\n\u4f20\u5165\u503c\uff1a\nstring \u6e90\u6587\u4ef6\u5b8c\u6574\u8def\u5f84\nstring \u76ee\u6807\u6587\u4ef6\u5b8c\u6574\u8def\u5f84\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5176\u4ed6\u60c5\u51b5\u8fd4\u56denil\nstring \u5931\u8d25\u65f6\u8fd4\u56de\u539f\u56e0\u5b57\u7b26\u4e32\n\u4f8b\u5b50\uff1a\n-- \u6ce8\u610f, \u53ea\u6709\u5728\u76f8\u540c\u6587\u4ef6\u7cfb\u7edf\u4e0b\u7684\u6587\u4ef6\u53ef\u4ee5\u91cd\u547d\u540d\n-- \u4f8b\u5982:\nos.rename(\"/1.txt\", \"/2.txt\")\n-- \u4e0d\u540c\u6587\u4ef6\u7cfb\u7edf, \u6216\u8005\u6e90\u6587\u4ef6\u7cfb\u7edf\u662f\u53ea\u8bfb\u7684, \u5219\u65e0\u6cd5\u6267\u884c\n--os.rename(\"/luadb/1.txt\", \"/luadb/2.txt\")\n--os.rename(\"/luadb/1.txt\", \"/2.txt\")\n", "prefix": "os.rename"}, "os.setlocale": {"body": "os.setlocale(${0:...})", "description": "os.setlocale (locale [, category])", "prefix": "os.setlocale"}, "os.time": {"body": "os.time(${1:mytime})", "description": "os.time(mytime) - \u65f6\u95f4\u6233\u51fd\u6570\n\u4f20\u5165\u503c\uff1a\ntable \u65e5\u671f\u65f6\u95f4\u7684table\nreturn \u65f6\u95f4\u6233\n\u4f8b\u5b50\uff1a\n-- \u6ce8\u610f\u6ce8\u610f, \u8fd9\u4e2a\u51fd\u6570\u8fd4\u56de\u7684\u662fUTC\u65f6\u95f4\u6233\n-- \u65f6\u95f4\u6233, \u4f46lua\u4e0b\u7684\u7cbe\u5ea6\u53ea\u80fd\u5230\u79d2\nlog.info(\"UTC\u65f6\u95f4\u6233\", os.time())\nlog.info(\"\u81ea\u5b9a\u4e49\u65f6\u95f4\u6233\", os.time({year=2000, mon=1, day=1, hour=0, min=0, sec=0}))\n", "prefix": "os.time"}, "os.tmpname": {"body": "os.tmpname(${0:...})", "description": "os.tmpname ()", "prefix": "os.tmpname"}, "package.config": {"body": "package.config(${0:...})", "description": "package.config", "prefix": "package.config"}, "package.cpath": {"body": "package.cpath(${0:...})", "description": "package.cpath", "prefix": "package.cpath"}, "package.loaded": {"body": "package.loaded(${0:...})", "description": "package.loaded", "prefix": "package.loaded"}, "package.loaders": {"body": "package.loaders(${0:...})", "description": "package.loaders", "prefix": "package.loaders"}, "package.loadlib": {"body": "package.loadlib(${0:...})", "description": "package.loadlib (libname, funcname)", "prefix": "package.loadlib"}, "package.path": {"body": "package.path(${0:...})", "description": "package.path", "prefix": "package.path"}, "package.preload": {"body": "package.preload(${0:...})", "description": "package.preload", "prefix": "package.preload"}, "package.searchers": {"body": "package.searchers(${0:...})", "description": "package.searchers", "prefix": "package.searchers"}, "package.searchpath": {"body": "package.searchpath(${0:...})", "description": "package.searchpath (name, path [, sep [, rep]])", "prefix": "package.searchpath"}, "package.seeall": {"body": "package.seeall(${0:...})", "description": "package.seeall (module)", "prefix": "package.seeall"}, "pairs": {"body": "pairs(${0:...})", "description": "pairs (t)", "prefix": "pairs"}, "pcall": {"body": "pcall(${0:...})", "description": "pcall (f, arg1, ...)", "prefix": "pcall"}, "print": {"body": "print(${1:...})", "description": "print(...)", "prefix": "print"}, "require": {"body": "require\"${1:module}\"", "description": "require()", "prefix": "require"}, "ret": {"body": "return ${1:...}", "description": "return ...", "prefix": "ret"}, "select": {"body": "select(${1:index}, ${2:...})", "description": "select (index, \u00b7\u00b7\u00b7)", "prefix": "select"}, "setfenv": {"body": "setfenv(${0:...})", "description": "setfenv (f, table)", "prefix": "setfenv"}, "setmetatable": {"body": "setmetatable(${1:table}, ${2:metatable})", "description": "setmetatable (table, metatable)", "prefix": "setmetatable"}, "tonumber": {"body": "tonumber(${1:e}${2:[, base]})", "description": "tonumber (e [, base])", "prefix": "tonumber"}, "tostring": {"body": "tostring(${1:v})", "description": "tostring (v)", "prefix": "tostring"}, "type": {"body": "type(${1:v})", "description": "type (v)", "prefix": "type"}, "unpack": {"body": "unpack(${0:...})", "description": "unpack (list [, i [, j]])", "prefix": "unpack"}, "xpcall": {"body": "xpcall(${0:...})", "description": "xpcall (f, err)", "prefix": "xpcall"}, "sys.publish(...)": {"body": "sys.publish(${1:...})", "description": "\u53d1\u5e03\u5185\u90e8\u6d88\u606f\uff0c\u5b58\u50a8\u5728\u5185\u90e8\u6d88\u606f\u961f\u5217\u4e2d\r\n\u8fd4\u56de\u503c\uff1a\r\n\u65e0\r\n\u4f8b\u5b50\uff1a\r\npublish(\"NET_STATUS_IND\")\r\n", "prefix": "sys.publish(...)"}, "sys.restart(r)": {"body": "sys.restart(${1:r})", "description": "\u8f6f\u4ef6\u91cd\u542f\r\n\u8fd4\u56de\u503c\uff1a\r\n\u65e0\r\n\u4f8b\u5b50\uff1a\r\nsys.restart('\u7a0b\u5e8f\u8d85\u65f6\u8f6f\u4ef6\u91cd\u542f')\r\n", "prefix": "sys.restart(r)"}, "sys.run()": {"body": "sys.run()", "description": "run()\u4ece\u5e95\u5c42\u83b7\u53d6core\u6d88\u606f\u5e76\u53ca\u65f6\u5904\u7406\u76f8\u5173\u6d88\u606f\uff0c\u67e5\u8be2\u5b9a\u65f6\u5668\u5e76\u8c03\u5ea6\u5404\u6ce8\u518c\u6210\u529f\u7684\u4efb\u52a1\u7ebf\u7a0b\u8fd0\u884c\u548c\u6302\u8d77\r\n\u8fd4\u56de\u503c\uff1a\r\n\u65e0\r\n\u4f8b\u5b50\uff1a\r\nsys.run()\r\n", "prefix": "sys.run()"}, "sys.setRollBack(flag, secs)": {"body": "sys.setRollBack(${1:flag},${2: secs})", "description": "\u8bbe\u7f6e\u201clua\u811a\u672c\u8fd0\u884c\u51fa\u9519\u65f6\uff0c\u662f\u5426\u56de\u9000\u539f\u59cb\u70e7\u5199\u7248\u672c\u201d\u7684\u529f\u80fd\u5f00\u5173\u3002\u5982\u679c\u6ca1\u6709\u8c03\u7528\u6b64\u63a5\u53e3\u8bbe\u7f6e\uff0c\u9ed8\u8ba4\u56de\u6eda\r\n\u8fd4\u56de\u503c\uff1a\r\nnil\r\n\u4f8b\u5b50\uff1a\r\nsys.setRollBack(true)\r\nsys.setRollBack(false)\r\n", "prefix": "sys.setRollBack(flag, secs)"}, "sys.subscribe(id, callback)": {"body": "sys.subscribe(${1:id},${2: callback})", "description": "\u8ba2\u9605\u6d88\u606f\r\n\u8fd4\u56de\u503c\uff1a\r\n\u65e0\r\n\u4f8b\u5b50\uff1a\r\nsubscribe(\"NET_STATUS_IND\", callback)\r\n", "prefix": "sys.subscribe(id, callback)"}, "sys.taskInit(fun, ...)": {"body": "sys.taskInit(${1:fun},${2: ...})", "description": "\u521b\u5efa\u4e00\u4e2a\u4efb\u52a1\u7ebf\u7a0b,\u5728\u6a21\u5757\u6700\u672b\u884c\u8c03\u7528\u8be5\u51fd\u6570\u5e76\u6ce8\u518c\u6a21\u5757\u4e2d\u7684\u4efb\u52a1\u51fd\u6570\uff0cmain.lua\u5bfc\u5165\u8be5\u6a21\u5757\u5373\u53ef\r\n\u8fd4\u56de\u503c\uff1a\r\nco \u8fd4\u56de\u8be5\u4efb\u52a1\u7684\u7ebf\u7a0b\u53f7\r\n\u4f8b\u5b50\uff1a\r\nsys.taskInit(task1,'a','b')\r\n", "prefix": "sys.taskInit(fun, ...)"}, "sys.timerIsActive(val, ...)": {"body": "sys.timerIsActive(${1:val},${2: ...})", "description": "\u5224\u65ad\u67d0\u4e2a\u5b9a\u65f6\u5668\u662f\u5426\u5904\u4e8e\u5f00\u542f\u72b6\u6001\r\n\u8fd4\u56de\u503c\uff1a\r\nnumber \u5f00\u542f\u72b6\u6001\u8fd4\u56detrue\uff0c\u5426\u5219nil", "prefix": "sys.timerIsActive(val, ...)"}, "sys.timerLoopStart(fnc, ms, ...)": {"body": "sys.timerLoopStart(${1:fnc},${2: ms},${3: ...})", "description": "\u5f00\u542f\u4e00\u4e2a\u5faa\u73af\u5b9a\u65f6\u5668\r\n\u8fd4\u56de\u503c\uff1a\r\nnumber \u5b9a\u65f6\u5668ID\uff0c\u5982\u679c\u5931\u8d25\uff0c\u8fd4\u56denil", "prefix": "sys.timerLoopStart(fnc, ms, ...)"}, "sys.timerStart(fnc, ms, ...)": {"body": "sys.timerStart(${1:fnc},${2: ms},${3: ...})", "description": "\u5f00\u542f\u4e00\u4e2a\u5b9a\u65f6\u5668\r\n\u8fd4\u56de\u503c\uff1a\r\nnumber \u5b9a\u65f6\u5668ID\uff0c\u5982\u679c\u5931\u8d25\uff0c\u8fd4\u56denil", "prefix": "sys.timerStart(fnc, ms, ...)"}, "sys.timerStop(val, ...)": {"body": "sys.timerStop(${1:val},${2: ...})", "description": "\u5173\u95ed\u5b9a\u65f6\u5668\r\n\u8fd4\u56de\u503c\uff1a\r\n\u65e0\r\n\u4f8b\u5b50\uff1a\r\ntimerStop(1)\r\n", "prefix": "sys.timerStop(val, ...)"}, "sys.timerStopAll(fnc)": {"body": "sys.timerStopAll(${1:fnc})", "description": "\u5173\u95ed\u540c\u4e00\u56de\u8c03\u51fd\u6570\u7684\u6240\u6709\u5b9a\u65f6\u5668\r\n\u8fd4\u56de\u503c\uff1a\r\n\u65e0\r\n\u4f8b\u5b50\uff1a\r\ntimerStopAll(cbFnc)\r\n", "prefix": "sys.timerStopAll(fnc)"}, "sys.unsubscribe(id, callback)": {"body": "sys.unsubscribe(${1:id},${2: callback})", "description": "\u53d6\u6d88\u8ba2\u9605\u6d88\u606f\r\n\u8fd4\u56de\u503c\uff1a\r\n\u65e0\r\n\u4f8b\u5b50\uff1a\r\nunsubscribe(\"NET_STATUS_IND\", callback)\r\n", "prefix": "sys.unsubscribe(id, callback)"}, "sys.wait(ms)": {"body": "sys.wait(${1:ms})", "description": "Task\u4efb\u52a1\u5ef6\u65f6\u51fd\u6570\uff0c\u53ea\u80fd\u7528\u4e8e\u4efb\u52a1\u51fd\u6570\u4e2d\r\n\u8fd4\u56de\u503c\uff1a\r\n\u5b9a\u65f6\u7ed3\u675f\u8fd4\u56denil,\u88ab\u5176\u4ed6\u7ebf\u7a0b\u5524\u8d77\u8fd4\u56de\u8c03\u7528\u7ebf\u7a0b\u4f20\u5165\u7684\u53c2\u6570\r\n\u4f8b\u5b50\uff1a\r\nsys.wait(30)\r\n", "prefix": "sys.wait(ms)"}, "sys.waitUntil(id, ms)": {"body": "sys.waitUntil(${1:id},${2: ms})", "description": "Task\u4efb\u52a1\u7684\u6761\u4ef6\u7b49\u5f85\u51fd\u6570\uff08\u5305\u62ec\u4e8b\u4ef6\u6d88\u606f\u548c\u5b9a\u65f6\u5668\u6d88\u606f\u7b49\u6761\u4ef6\uff09\uff0c\u53ea\u80fd\u7528\u4e8e\u4efb\u52a1\u51fd\u6570\u4e2d\u3002\r\n\u8fd4\u56de\u503c\uff1a\r\nresult \u63a5\u6536\u5230\u6d88\u606f\u8fd4\u56detrue\uff0c\u8d85\u65f6\u8fd4\u56defalse\r\n\u4f8b\u5b50\uff1a\r\nresult, data = sys.waitUntil(\"SIM_IND\", 120000)\r\n", "prefix": "sys.waitUntil(id, ms)"}, "sys.waitUntilExt(id, ms)": {"body": "sys.waitUntilExt(${1:id},${2: ms})", "description": "Task\u4efb\u52a1\u7684\u6761\u4ef6\u7b49\u5f85\u51fd\u6570\u6269\u5c55\uff08\u5305\u62ec\u4e8b\u4ef6\u6d88\u606f\u548c\u5b9a\u65f6\u5668\u6d88\u606f\u7b49\u6761\u4ef6\uff09\uff0c\u53ea\u80fd\u7528\u4e8e\u4efb\u52a1\u51fd\u6570\u4e2d\u3002\r\n\u8fd4\u56de\u503c\uff1a\r\nmessage \u63a5\u6536\u5230\u6d88\u606f\u8fd4\u56demessage\uff0c\u8d85\u65f6\u8fd4\u56defalse\r\n\u4f8b\u5b50\uff1a\r\nresult, data = sys.waitUntilExt(\"SIM_IND\", 120000)\r\n", "prefix": "sys.waitUntilExt(id, ms)"}, "table.concat(t,s)": {"body": "table.concat(${1:t},${2: s})", "description": "\u8868\u8fde\u63a5\r\n\u8fd4\u56de\u503c\uff1a\r\n \u5b57\u7b26\u4e32\r\n\u4f8b\u5b50\uff1a\r\nfruits = {\"banana\",\"orange\",\"apple\"}\r\n-- \u8fd4\u56de table \u8fde\u63a5\u540e\u7684\u5b57\u7b26\u4e32\r\nprint(\"\u8fde\u63a5\u540e\u7684\u5b57\u7b26\u4e32 \",table.concat(fruits))\r\n--\u8fde\u63a5\u540e\u7684\u5b57\u7b26\u4e32 bananaorangeapple\r\n\r\n-- \u6307\u5b9a\u8fde\u63a5\u5b57\u7b26\r\nprint(\"\u8fde\u63a5\u540e\u7684\u5b57\u7b26\u4e32 \",table.concat(fruits,\", \"))\r\n--\u8fde\u63a5\u540e\u7684\u5b57\u7b26\u4e32 banana, orange, apple\r\n\r\n-- \u6307\u5b9a\u7d22\u5f15\u6765\u8fde\u63a5 table\r\nprint(\"\u8fde\u63a5\u540e\u7684\u5b57\u7b26\u4e32 \",table.concat(fruits,\", \", 2,3))\r\n--\u8fde\u63a5\u540e\u7684\u5b57\u7b26\u4e32 orange, apple\r\n", "prefix": "table.concat()"}, "table.gsort(t, f)": {"body": "table.gsort(${1:t},${2: f})", "description": "\u8fd4\u56de\u4e00\u4e2a\u8fed\u4ee3\u5668\u51fd\u6570,\u6bcf\u6b21\u8c03\u7528\u51fd\u6570\u90fd\u4f1a\u8fd4\u56dehash\u8868\u7684\u6392\u5e8f\u540e\u7684\u952e\u503c\u5bf9\r\n\u8fd4\u56de\u503c\uff1a\r\nfunction.\r\n\u4f8b\u5b50\uff1a\r\ntest = {a=1,f=9,d=2,c=8,b=5}\r\nfor name,line in pairsByKeys(test) do print(name,line) end\r\n", "prefix": "table.gsort(t, f)"}, "table.insert(t,d)": {"body": "table.insert(${1:t},${2: d})", "description": "\u6dfb\u52a0table\u53c2\u6570\r\n\u8fd4\u56de\u503c\uff1a\r\n table\r\n\u4f8b\u5b50\uff1a\r\nfruits = {\"banana\",\"orange\",\"apple\"}\r\n\r\n-- \u5728\u672b\u5c3e\u63d2\u5165\r\ntable.insert(fruits,\"mango\")\r\nprint(\"\u7d22\u5f15\u4e3a 4 \u7684\u5143\u7d20\u4e3a \",fruits[4])\r\n--\u7d22\u5f15\u4e3a 4 \u7684\u5143\u7d20\u4e3a mango\r\n\r\n-- \u5728\u7d22\u5f15\u4e3a 2 \u7684\u952e\u5904\u63d2\u5165\r\ntable.insert(fruits,2,\"grapes\")\r\nprint(\"\u7d22\u5f15\u4e3a 2 \u7684\u5143\u7d20\u4e3a \",fruits[2])\r\n--\u7d22\u5f15\u4e3a 2 \u7684\u5143\u7d20\u4e3a grapes\r\n\r\nprint(\"\u6700\u540e\u4e00\u4e2a\u5143\u7d20\u4e3a \",fruits[5])\r\n--\u6700\u540e\u4e00\u4e2a\u5143\u7d20\u4e3a mango\r\n", "prefix": "table.insert()"}, "table.remove(t,i)": {"body": "table.remove(${1:t},${2: i})", "description": "\u79fb\u9664table\u53c2\u6570\r\n\u8fd4\u56de\u503c\uff1a\r\n table", "prefix": "table.remove()"}, "string.byte()": {"body": "string.byte()", "description": "\u63a5\u6536\u63a7\u5236\u5b57\u7b26\uff0c\u8fd4\u56deASCII\u7801\r\n\u8fd4\u56de\u503c\uff1a\r\n ASCII\u7801\r\n\u4f8b\u5b50\uff1a\r\nstring.byte(\"ABCD\") --65\r\nstring.byte(\"ABCD\",4) --68\r\n", "prefix": "string.byte()"}, "string.char()": {"body": "string.char()", "description": "\u63a5\u6536ASCII\u7801\uff0c\u8fd4\u56de\u5bf9\u5e94\u7684\u63a7\u5236\u5b57\u7b26\r\n\u8fd4\u56de\u503c\uff1a\r\n \u5b57\u7b26\r\n\u4f8b\u5b50\uff1a\r\nstring.char(97,98,99,100) --abcd\r\n", "prefix": "string.char()"}, "string.find()": {"body": "string.find()", "description": "\u67e5\u627e\u7b2c\u4e00\u4e2a\u5b57\u7b26\u4e32\u00a0s\u00a0\u4e2d\u5339\u914d\u5230\u7684\u00a0pattern\r\n\u8fd4\u56de\u503c\uff1a\r\n \u8fd4\u56de\u5339\u914d\u5b57\u7b26\u5177\u4f53\u4f4d\u7f6e\u3002\u4e0d\u5b58\u5728\u5219\u8fd4\u56de nil\r\n\u4f8b\u5b50\uff1a\r\nstring.find(\"Hello Lua user\", \"Lua\", 1) --7 9\r\n", "prefix": "string.find()"}, "string.format()": {"body": "string.format()", "description": "\u683c\u5f0f\u5316\u5b57\u7b26\u4e32\r\n\u8fd4\u56de\u503c\uff1a\r\n \u5b57\u7b26\u4e32\r\n\u4f8b\u5b50\uff1a\r\nstring.format(\"the value is:%d\",4) --the value is:4\r\n", "prefix": "string.format()"}, "string.gsub()": {"body": "string.gsub()", "description": "\u5b57\u7b26\u4e32\u66ff\u6362", "prefix": "string.gsub()"}, "string.len()": {"body": "string.len()", "description": "\u8ba1\u7b97\u5b57\u7b26\u4e32\u957f\u5ea6\r\n\u8fd4\u56de\u503c\uff1a\r\n \u5b57\u7b26\u4e32\u957f\u5ea6\r\n\u4f8b\u5b50\uff1a\r\nstring.len(\"abc\") --3\r\n", "prefix": "string.len()"}, "string.lower()": {"body": "string.lower()", "description": "\u5b57\u7b26\u4e32\u5168\u90e8\u8f6c\u4e3a\u5c0f\u5199\u5b57\u6bcd\r\n\u8fd4\u56de\u503c\uff1a\r\n \u5c0f\u5199\u5b57\u6bcd\u5b57\u7b26\u4e32", "prefix": "string.lower()"}, "string.rep()": {"body": "string.rep()", "description": "\u5b57\u7b26\u4e32\u62f7\u8d1d\r\n\u8fd4\u56de\u503c\uff1a\r\n \u5b57\u7b26\u4e32\r\n\u4f8b\u5b50\uff1a\r\nstring.rep(\"abcd\",2) --abcdabcd\r\n", "prefix": "string.rep()"}, "string.reverse()": {"body": "string.reverse()", "description": "\u5b57\u7b26\u4e32\u53cd\u8f6c\r\n\u8fd4\u56de\u503c\uff1a\r\n \u53cd\u8f6c\u540e\u7684\u5b57\u7b26\u4e32\r\n\u4f8b\u5b50\uff1a\r\nstring.reverse(\"Luat\") --tauL\r\n", "prefix": "string.reverse()"}, "string.split(str, delimiter)": {"body": "string.split(${1:str},${2: delimiter})", "description": "\u6309\u7167\u6307\u5b9a\u5206\u9694\u7b26\u5206\u5272\u5b57\u7b26\u4e32\r\n\u8fd4\u56de\u503c\uff1a\r\n\u5206\u5272\u540e\u7684\u5b57\u7b26\u4e32\u5217\u8868\r\n\u4f8b\u5b50\uff1a\r\n\"123,456,789\":split(',') -> {'123','456','789'}\r\n", "prefix": "string.split(str, delimiter)"}, "string.upper()": {"body": "string.upper()", "description": "\u5b57\u7b26\u4e32\u5168\u90e8\u8f6c\u4e3a\u5927\u5199\u5b57\u6bcd\r\n\u8fd4\u56de\u503c\uff1a\r\n \u5927\u5199\u5b57\u6bcd\u5b57\u7b26\u4e32", "prefix": "string.upper()"}, "adc.open": {"body": "adc.open(${1:id})", "description": "adc.open(id) - \u6253\u5f00adc\u901a\u9053\n\u4f20\u5165\u503c\uff1a\nint \u901a\u9053id,\u4e0e\u5177\u4f53\u8bbe\u5907\u6709\u5173,\u901a\u5e38\u4ece0\u5f00\u59cb\n\u8fd4\u56de\u503c\uff1a\nboolean \u6253\u5f00\u7ed3\u679c\n\u4f8b\u5b50\uff1a\n-- \u6253\u5f00adc\u901a\u90534,\u5e76\u8bfb\u53d6\nif adc.open(4) then\n log.info(\"adc\", adc.read(4)) -- \u8fd4\u56de\u503c\u67092\u4e2a, \u539f\u59cb\u503c\u548c\u8ba1\u7b97\u503c,\u901a\u5e38\u53ea\u9700\u8981\u540e\u8005\n log.info(\"adc\", adc.get(4)) -- \u8fd4\u56de\u503c\u67091\u4e2a, \u4ec5\u8ba1\u7b97\u503c\nend\nadc.close(4) -- \u82e5\u9700\u8981\u6301\u7eed\u8bfb\u53d6, \u5219\u4e0d\u9700\u8981close, \u529f\u8017\u4f1a\u9ad8\u4e00\u70b9.\n", "prefix": "adc.open"}, "adc.setRange": {"body": "adc.setRange(${1:range})", "description": "adc.setRange(range) - \u8bbe\u7f6eADC\u7684\u6d4b\u91cf\u8303\u56f4\uff0c\u6ce8\u610f\u8fd9\u4e2a\u548c\u5177\u4f53\u82af\u7247\u6709\u5173\uff0c\u76ee\u524d\u53ea\u652f\u6301air105/Air780E\u7cfb\u5217\n\u4f20\u5165\u503c\uff1a\nint range\u53c2\u6570,\u4e0e\u5177\u4f53\u8bbe\u5907\u6709\u5173,\u6bd4\u5982air105\u586badc.ADC_RANGE_1_8\u548cadc.ADC_RANGE_3_6\nreturn nil\n\u4f8b\u5b50\uff1a\n-- \u5173\u95edair105\u5185\u90e8\u5206\u538b\nadc.setRange(adc.ADC_RANGE_1_8)\n-- \u6253\u5f00air105\u5185\u90e8\u5206\u538b\nadc.setRange(adc.ADC_RANGE_3_6)\n\n\n-- EC618\u7cfb\u5217(Air780E\u7b49)\u652f\u63012\u79cd\nadc.setRange(adc.ADC_RANGE_1_2) -- \u5173\u95ed\u5206\u538b\nadc.setRange(adc.ADC_RANGE_3_8) -- \u542f\u7528\u5206\u538b\n", "prefix": "adc.setRange"}, "adc.read": {"body": "adc.read(${1:id})", "description": "adc.read(id) - \u8bfb\u53d6adc\u901a\u9053\n\u4f20\u5165\u503c\uff1a\nint \u901a\u9053id,\u4e0e\u5177\u4f53\u8bbe\u5907\u6709\u5173,\u901a\u5e38\u4ece0\u5f00\u59cb\n\u8fd4\u56de\u503c\uff1a\nint \u539f\u59cb\u503c,\u4e00\u822c\u6ca1\u7528,\u53ef\u4ee5\u76f4\u63a5\u629b\u5f03\nint \u4ece\u539f\u59cb\u503c\u6362\u7b97\u5f97\u51fa\u7684\u5b9e\u9645\u503c\uff0c\u901a\u5e38\u5355\u4f4d\u662fmV\n\u4f8b\u5b50\uff1a\n-- \u6253\u5f00adc\u901a\u90532,\u5e76\u8bfb\u53d6\nif adc.open(2) then\n -- \u8fd9\u91cc\u4f7f\u7528\u7684\u662fadc.read\u4f1a\u8fd4\u56de2\u4e2a\u503c, \u63a8\u8350\u8d70adc.get\u51fd\u6570,\u76f4\u63a5\u53d6\u5b9e\u9645\u503c\n log.info(\"adc\", adc.read(2))\nend\nadc.close(2)\n", "prefix": "adc.read"}, "adc.get": {"body": "adc.get(${1:id})", "description": "adc.get(id) - \u83b7\u53d6adc\u8ba1\u7b97\u503c\n\u4f20\u5165\u503c\uff1a\nint \u901a\u9053id,\u4e0e\u5177\u4f53\u8bbe\u5907\u6709\u5173,\u901a\u5e38\u4ece0\u5f00\u59cb\n\u8fd4\u56de\u503c\uff1a\nint \u5355\u4f4d\u901a\u5e38\u662fmV, \u90e8\u5206\u901a\u9053\u4f1a\u8fd4\u56de\u6e29\u5ea6\u503c,\u5355\u4f4d\u5343\u5206\u4e4b\u4e00\u6444\u6c0f\u5ea6. \u82e5\u8bfb\u53d6\u5931\u8d25,\u4f1a\u8fd4\u56de-1\n\u4f8b\u5b50\uff1a\n-- \u672cAPI \u5728 2022.10.01\u540e\u7f16\u8bd1\u7684\u56fa\u4ef6\u53ef\u7528\n-- \u6253\u5f00adc\u901a\u90532,\u5e76\u8bfb\u53d6\nif adc.open(2) then\n log.info(\"adc\", adc.get(2))\nend\nadc.close(2) -- \u6309\u9700\u5173\u95ed\n", "prefix": "adc.get"}, "adc.close": {"body": "adc.close(${1:id})", "description": "adc.close(id) - \u5173\u95edadc\u901a\u9053\n\u4f20\u5165\u503c\uff1a\nint \u901a\u9053id,\u4e0e\u5177\u4f53\u8bbe\u5907\u6709\u5173,\u901a\u5e38\u4ece0\u5f00\u59cb\n\u4f8b\u5b50\uff1a\n-- \u6253\u5f00adc\u901a\u90532,\u5e76\u8bfb\u53d6\nif adc.open(2) then\n log.info(\"adc\", adc.read(2))\nend\nadc.close(2)\n", "prefix": "adc.close"}, "audio.start": {"body": "audio.start(${1:id},${2:audio_format},${3:num_channels},${4:sample_rate},${5:bits_per_sample},${6:is_signed})", "description": "audio.start(id, audio_format, num_channels, sample_rate, bits_per_sample, is_signed) - \u542f\u52a8\u4e00\u4e2a\u591a\u5a92\u4f53\u901a\u9053\u51c6\u5907\u64ad\u653e\u97f3\u9891\n\u4f20\u5165\u503c\uff1a\nint \u591a\u5a92\u4f53\u64ad\u653e\u901a\u9053\u53f7\uff0c0\u6216\u80051\nint \u97f3\u9891\u683c\u5f0f\nint \u58f0\u97f3\u901a\u9053\u6570\nint \u91c7\u6837\u9891\u7387\nint \u91c7\u6837\u4f4d\u6570\nboolean \u662f\u5426\u6709\u7b26\u53f7\uff0c\u9ed8\u8ba4true\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529ftrue, \u5931\u8d25false\n\u4f8b\u5b50\uff1a\naudio.start(0, audio.PCM, 1, 16000, 16)\n", "prefix": "audio.start"}, "audio.write": {"body": "audio.write(${1:id},${2:data})", "description": "audio.write(id, data) - \u5f80\u4e00\u4e2a\u591a\u5a92\u4f53\u901a\u9053\u5199\u5165\u97f3\u9891\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nstring or zbuff \u97f3\u9891\u6570\u636e\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\naudio.write(0, \"xxxxxx\")\n", "prefix": "audio.write"}, "audio.stop": {"body": "audio.stop(${1:id})", "description": "audio.stop(id) - \u505c\u6b62\u6307\u5b9a\u7684\u591a\u5a92\u4f53\u901a\u9053\n\u4f20\u5165\u503c\uff1a\nint audio id,\u4f8b\u59820\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\naudio.stop(0)\n", "prefix": "audio.stop"}, "audio.pause": {"body": "audio.pause(${1:id},${2:pause})", "description": "audio.pause(id, pause) - \u6682\u505c/\u6062\u590d\u6307\u5b9a\u7684\u591a\u5a92\u4f53\u901a\u9053\n\u4f20\u5165\u503c\uff1a\nint audio id,\u4f8b\u59820\nboolean onoff true \u6682\u505c\uff0cfalse \u6062\u590d\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\naudio.pause(0, true) --\u6682\u505c\u901a\u90530\naudio.pause(0, false) --\u6062\u590d\u901a\u90530\n", "prefix": "audio.pause"}, "audio.on": {"body": "audio.on(${1:id},${2:event},${3:func})", "description": "audio.on(id, event, func) - \u6ce8\u518caudio\u64ad\u653e\u4e8b\u4ef6\u56de\u8c03\n\u4f20\u5165\u503c\uff1a\nint audio id, audio 0\u51990, audio 1\u51991\nfunction \u56de\u8c03\u65b9\u6cd5\uff0c\u56de\u8c03\u65f6\u4f20\u5165\u53c2\u6570\u4e3a1\u3001int \u901a\u9053ID 2\u3001int \u6d88\u606f\u503c\uff0c\u53ea\u6709audio.MORE_DATA\u548caudio.DONE\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\naudio.on(0, function(audio_id, msg)\n log.info(\"msg\", audio_id, msg)\nend)\n", "prefix": "audio.on"}, "audio.play": {"body": "audio.play(${1:id},${2:path},${3:errStop})", "description": "audio.play(id, path, errStop) - \u64ad\u653e\u6216\u8005\u505c\u6b62\u64ad\u653e\u4e00\u4e2a\u6587\u4ef6\uff0c\u64ad\u653e\u5b8c\u6210\u540e\uff0c\u4f1a\u56de\u8c03\u4e00\u4e2aaudio.DONE\u6d88\u606f\uff0c\u53ef\u4ee5\u7528pause\u6765\u6682\u505c\u6216\u8005\u6062\u590d\uff0c\u5176\u4ed6API\u4e0d\u53ef\u7528\u3002\u8003\u8651\u5230\u8bfbSD\u5361\u901f\u5ea6\u6bd4\u8f83\u6162\u800c\u62d6\u7d2fluavm\u8fdb\u7a0b\u7684\u901f\u5ea6\uff0c\u6240\u4ee5\u5c3d\u91cf\u4f7f\u7528\u672cAPI\n\u4f20\u5165\u503c\uff1a\nint \u97f3\u9891\u901a\u9053\nstring/table \u6587\u4ef6\u540d\uff0c\u5982\u679c\u4e3a\u7a7a\uff0c\u5219\u8868\u793a\u505c\u6b62\u64ad\u653e\uff0c\u5982\u679c\u662ftable\uff0c\u5219\u8868\u793a\u8fde\u7eed\u64ad\u653e\u591a\u4e2a\u6587\u4ef6\uff0c\u4e3b\u8981\u5e94\u7528\u4e8e\u4e91\u5587\u53ed\uff0c\u76ee\u524d\u53ea\u6709EC618\u652f\u6301\uff0c\u5e76\u4e14\u4f1a\u7528\u5230errStop\u53c2\u6570\nboolean \u662f\u5426\u5728\u6587\u4ef6\u89e3\u7801\u5931\u8d25\u540e\u505c\u6b62\u89e3\u7801\uff0c\u53ea\u6709\u5728\u8fde\u7eed\u64ad\u653e\u591a\u4e2a\u6587\u4ef6\u65f6\u624d\u6709\u7528\uff0c\u9ed8\u8ba4true\uff0c\u9047\u5230\u89e3\u7801\u9519\u8bef\u81ea\u52a8\u505c\u6b62\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\naudio.play(0, \"xxxxxx\")\t\t--\u5f00\u59cb\u64ad\u653e\u67d0\u4e2a\u6587\u4ef6\naudio.play(0)\t\t\t\t--\u505c\u6b62\u64ad\u653e\u67d0\u4e2a\u6587\u4ef6\n", "prefix": "audio.play"}, "audio.tts": {"body": "audio.tts(${1:id},${2:data})", "description": "audio.tts(id, data) - TTS\u64ad\u653e\u6216\u8005\u505c\u6b62\n\u4f20\u5165\u503c\uff1a\nint \u97f3\u9891\u901a\u9053\nstring/zbuff \u9700\u8981\u64ad\u653e\u7684\u5185\u5bb9\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n", "prefix": "audio.tts"}, "audio.playStop": {"body": "audio.playStop(${1:id})", "description": "audio.playStop(id) - \u505c\u6b62\u64ad\u653e\u6587\u4ef6\uff0c\u548caudio.play(id)\u662f\u4e00\u6837\u7684\u4f5c\u7528\n\u4f20\u5165\u503c\uff1a\nint audio id,\u4f8b\u59820\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\naudio.playStop(0)\n", "prefix": "audio.playStop"}, "audio.isEnd": {"body": "audio.isEnd(${1:id})", "description": "audio.isEnd(id) - \u68c0\u67e5\u5f53\u524d\u6587\u4ef6\u662f\u5426\u5df2\u7ecf\u64ad\u653e\u7ed3\u675f\n\u4f20\u5165\u503c\uff1a\nint \u97f3\u9891\u901a\u9053\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\naudio.isEnd(0)\n\n", "prefix": "audio.isEnd"}, "audio.getError": {"body": "audio.getError(${1:id})", "description": "audio.getError(id) - \u83b7\u53d6\u6700\u8fd1\u4e00\u6b21\u64ad\u653e\u7ed3\u679c\uff0c\u4e0d\u662f\u6240\u6709\u5e73\u53f0\u90fd\u652f\u6301\u7684\uff0c\u76ee\u524d\u53ea\u6709EC618\u652f\u6301\n\u4f20\u5165\u503c\uff1a\nint \u97f3\u9891\u901a\u9053\n\u8fd4\u56de\u503c\uff1a\nboolean \u662f\u5426\u5168\u90e8\u64ad\u653e\u6210\u529f\uff0ctrue\u6210\u529f\uff0cfalse\u6709\u6587\u4ef6\u64ad\u653e\u5931\u8d25\nboolean \u5982\u679c\u64ad\u653e\u5931\u8d25\uff0c\u662f\u5426\u662f\u7528\u6237\u505c\u6b62\uff0ctrue\u662f\uff0cfalse\u4e0d\u662f\nint \u7b2c\u51e0\u4e2a\u6587\u4ef6\u5931\u8d25\u4e86\uff0c\u4ece1\u5f00\u59cb\n\u4f8b\u5b50\uff1a\nlocal result, user_stop, file_no = audio.getError(0)\n", "prefix": "audio.getError"}, "audio.config": {"body": "audio.config(${1:id},${2:paPin},${3:onLevel},${4:dacDelay},${5:paDelay},${6:dacPin},${7:dacLevel},${8:dacTimeDelay})", "description": "audio.config(id, paPin, onLevel, dacDelay, paDelay, dacPin, dacLevel, dacTimeDelay) - \u914d\u7f6e\u4e00\u4e2a\u97f3\u9891\u901a\u9053\u7684\u7279\u6027\uff0c\u6bd4\u5982\u5b9e\u73b0\u81ea\u52a8\u63a7\u5236PA\u5f00\u5173\u3002\u6ce8\u610f\u8fd9\u4e2a\u4e0d\u662f\u5fc5\u987b\u7684\uff0c\u4e00\u822c\u5728\u8c03\u7528play\u7684\u65f6\u5019\u624d\u9700\u8981\u81ea\u52a8\u63a7\u5236\uff0c\u5176\u4ed6\u60c5\u51b5\u6bd4\u5982\u4f60\u624b\u52a8\u63a7\u5236\u64ad\u653e\u65f6\uff0c\u5c31\u53ef\u4ee5\u81ea\u5df1\u63a7\u5236PA\u5f00\u5173\n\u4f20\u5165\u503c\uff1a\nint \u97f3\u9891\u901a\u9053\nint PA\u63a7\u5236IO\nint PA\u6253\u5f00\u65f6\u7684\u7535\u5e73\nint \u5728DAC\u542f\u52a8\u524d\u63d2\u5165\u7684\u5197\u4f59\u65f6\u95f4\uff0c\u5355\u4f4d100ms\uff0c\u4e00\u822c\u7528\u4e8e\u5916\u90e8DAC\nint \u5728DAC\u542f\u52a8\u540e\uff0c\u5ef6\u8fdf\u591a\u957f\u65f6\u95f4\u6253\u5f00PA\uff0c\u5355\u4f4d1ms\nint \u5916\u90e8dac\u7535\u6e90\u63a7\u5236IO\uff0c\u5982\u679c\u4e0d\u586b\uff0c\u5219\u8868\u793a\u4f7f\u7528\u5e73\u53f0\u9ed8\u8ba4IO\uff0c\u6bd4\u5982Air780E\u4f7f\u7528DACEN\u811a\uff0cair105\u5219\u4e0d\u542f\u7528\nint \u5916\u90e8dac\u6253\u5f00\u65f6\uff0c\u7535\u6e90\u63a7\u5236IO\u7684\u7535\u5e73\uff0c\u9ed8\u8ba4\u62c9\u9ad8\nint \u97f3\u9891\u64ad\u653e\u5b8c\u6bd5\u65f6\uff0cPA\u4e0eDAC\u5173\u95ed\u7684\u65f6\u95f4\u95f4\u9694\uff0c\u5355\u4f4d1ms\uff0c\u9ed8\u8ba40ms\n\u4f8b\u5b50\uff1a\naudio.config(0, pin.PC0, 1)\t--PA\u63a7\u5236\u811a\u662fPC0\uff0c\u9ad8\u7535\u5e73\u6253\u5f00\uff0cair105\u7528\u8fd9\u4e2a\u914d\u7f6e\u5c31\u53ef\u4ee5\u7528\u4e86\naudio.config(0, 25, 1, 6, 200)\t--PA\u63a7\u5236\u811a\u662fGPIO25\uff0c\u9ad8\u7535\u5e73\u6253\u5f00\uff0cAir780E\u4e91\u5587\u53ed\u677f\u7528\u8fd9\u4e2a\u914d\u7f6e\u5c31\u53ef\u4ee5\u7528\u4e86\n", "prefix": "audio.config"}, "audio.vol": {"body": "audio.vol(${1:id},${2:value})", "description": "audio.vol(id, value) - \u914d\u7f6e\u4e00\u4e2a\u97f3\u9891\u901a\u9053\u7684\u97f3\u91cf\u8c03\u8282\uff0c\u76f4\u63a5\u5c06\u539f\u59cb\u6570\u636e\u653e\u5927\u6216\u8005\u7f29\u5c0f\uff0c\u4e0d\u662f\u6240\u6709\u5e73\u53f0\u90fd\u652f\u6301\uff0c\u5efa\u8bae\u5c3d\u91cf\u7528\u786c\u4ef6\u65b9\u6cd5\u53bb\u7f29\u653e\n\u4f20\u5165\u503c\uff1a\nint \u97f3\u9891\u901a\u9053\nint \u97f3\u91cf\uff0c\u767e\u5206\u6bd4\uff0c1%~1000%\uff0c\u9ed8\u8ba4100%\uff0c\u5c31\u662f\u4e0d\u8c03\u8282\n\u8fd4\u56de\u503c\uff1a\nint \u5f53\u524d\u97f3\u91cf\n\u4f8b\u5b50\uff1a\nlocal result = audio.vol(0, 90)\t--\u901a\u90530\u7684\u97f3\u91cf\u8c03\u8282\u523090%\uff0cresult\u5b58\u653e\u4e86\u8c03\u8282\u540e\u7684\u97f3\u91cf\u6c34\u5e73\uff0c\u6709\u53ef\u80fd\u4ecd\u7136\u662f100\n", "prefix": "audio.vol"}, "audio.setBus": {"body": "audio.setBus(${1:id},${2:bus_type})", "description": "audio.setBus(id, bus_type) - \u914d\u7f6e\u4e00\u4e2a\u97f3\u9891\u901a\u9053\u7684\u786c\u4ef6\u8f93\u51fa\u603b\u7ebf\uff0c\u53ea\u6709\u5bf9\u5e94soc\u8f6f\u786c\u4ef6\u5e73\u53f0\u652f\u6301\u624d\u8bbe\u7f6e\u5bf9\u5e94\u7c7b\u578b\n\u4f20\u5165\u503c\uff1a\nint \u97f3\u9891\u901a\u9053,\u4f8b\u59820\nint \u603b\u7ebf\u7c7b\u578b, \u4f8b\u5982 audio.BUS_SOFT_DAC\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\naudio.setBus(0, audio.BUS_SOFT_DAC)\t--\u901a\u90530\u7684\u786c\u4ef6\u8f93\u51fa\u901a\u9053\u8bbe\u7f6e\u4e3a\u8f6f\u4ef6DAC\naudio.setBus(0, audio.BUS_I2S)\t--\u901a\u90530\u7684\u786c\u4ef6\u8f93\u51fa\u901a\u9053\u8bbe\u7f6e\u4e3aI2S\n", "prefix": "audio.setBus"}, "audio.debug": {"body": "audio.debug(${1:on_off})", "description": "audio.debug(on_off) - \u914d\u7f6e\u8c03\u8bd5\u4fe1\u606f\u8f93\u51fa\n\u4f20\u5165\u503c\uff1a\nboolean true\u5f00 false\u5173\n", "prefix": "audio.debug"}, "bit64.to32": {"body": "bit64.to32(${1:data64bit})", "description": "bit64.to32(data64bit) - 64bit\u6570\u636e\u8f6c\u621032bit\u8f93\u51fa\n\u4f20\u5165\u503c\uff1a\nstring 9\u5b57\u8282\u6570\u636e\n\u8fd4\u56de\u503c\uff1a\nany \u6839\u636e64bit\u6570\u636e\u8f93\u51faint\u6216\u8005number\n", "prefix": "bit64.to32"}, "bit64.to64": {"body": "bit64.to64(${1:data32bit})", "description": "bit64.to64(data32bit) - 32bit\u6570\u636e\u8f6c\u621064bit\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nint/number 32bit\u6570\u636e\n\u8fd4\u56de\u503c\uff1a\nstring 9\u5b57\u8282\u6570\u636e\n", "prefix": "bit64.to64"}, "bit64.show": {"body": "bit64.show(${1:a},${2:type},${3:flag})", "description": "bit64.show(a,type,flag) - 64bit\u6570\u636e\u683c\u5f0f\u5316\u6253\u5370\u6210\u5b57\u7b26\u4e32\uff0c\u7528\u4e8e\u663e\u793a\u503c\n\u4f20\u5165\u503c\uff1a\nstring \u9700\u8981\u6253\u5370\u768464bit\u6570\u636e\nint \u8fdb\u5236\uff0c10=10\u8fdb\u5236\uff0c16=16\u8fdb\u5236\uff0c\u9ed8\u8ba410\uff0c\u53ea\u652f\u630110\u6216\u800516\nboolean \u6574\u5f62\u662f\u5426\u6309\u7167\u65e0\u7b26\u53f7\u65b9\u5f0f\u6253\u5370\uff0ctrue\u662f\uff0cfalse\u4e0d\u662f\uff0c\u9ed8\u8ba4false\uff0c\u6d6e\u70b9\u5ffd\u7565\n\u8fd4\u56de\u503c\uff1a\nstring \u53ef\u4ee5\u6253\u5370\u7684\u503c\n", "prefix": "bit64.show"}, "bit64.plus": {"body": "bit64.plus(${1:a},${2:b},${3:flag1},${4:flag2})", "description": "bit64.plus(a,b,flag1,flag2) - 64bit\u6570\u636e\u52a0,a+b,a\u548cb\u4e2d\u6709\u4e00\u4e2a\u4e3a\u6d6e\u70b9\uff0c\u5219\u6309\u7167\u6d6e\u70b9\u8fd0\u7b97\n\u4f20\u5165\u503c\uff1a\nstring a\nstring/int/number b\nboolean \u6574\u5f62\u8fd0\u7b97\u65f6\u662f\u5426\u6309\u7167\u65e0\u7b26\u53f7\u65b9\u5f0f\uff0ctrue\u662f\uff0cfalse\u4e0d\u662f\uff0c\u9ed8\u8ba4false\uff0c\u6d6e\u70b9\u8fd0\u7b97\u5ffd\u7565\nboolean \u6d6e\u70b9\u8fd0\u7b97\u7ed3\u679c\u662f\u5426\u8981\u5f3a\u5236\u8f6c\u6210\u6574\u6570\uff0ctrue\u662f\uff0cfalse\u4e0d\u662f\uff0c\u9ed8\u8ba4false\uff0c\u6574\u5f62\u8fd0\u7b97\u5ffd\u7565\n\u8fd4\u56de\u503c\uff1a\nstring 9\u5b57\u8282\u6570\u636e\n", "prefix": "bit64.plus"}, "bit64.minus": {"body": "bit64.minus(${1:a},${2:b},${3:flag1},${4:flag2})", "description": "bit64.minus(a,b,flag1,flag2) - 64bit\u6570\u636e\u51cf,a-b,a\u548cb\u4e2d\u6709\u4e00\u4e2a\u4e3a\u6d6e\u70b9\uff0c\u5219\u6309\u7167\u6d6e\u70b9\u8fd0\u7b97\n\u4f20\u5165\u503c\uff1a\nstring a\nstring/int/number b\nboolean \u6574\u5f62\u8fd0\u7b97\u65f6\u662f\u5426\u6309\u7167\u65e0\u7b26\u53f7\u65b9\u5f0f\uff0ctrue\u662f\uff0cfalse\u4e0d\u662f\uff0c\u9ed8\u8ba4false\uff0c\u6d6e\u70b9\u8fd0\u7b97\u5ffd\u7565\nboolean \u6d6e\u70b9\u8fd0\u7b97\u7ed3\u679c\u662f\u5426\u8981\u5f3a\u5236\u8f6c\u6210\u6574\u6570\uff0ctrue\u662f\uff0cfalse\u4e0d\u662f\uff0c\u9ed8\u8ba4false\uff0c\u6574\u5f62\u8fd0\u7b97\u5ffd\u7565\n\u8fd4\u56de\u503c\uff1a\nstring 9\u5b57\u8282\u6570\u636e\n", "prefix": "bit64.minus"}, "bit64.multi": {"body": "bit64.multi(${1:a},${2:b},${3:flag1},${4:flag2})", "description": "bit64.multi(a,b,flag1,flag2) - 64bit\u6570\u636e\u4e58,a*b,a\u548cb\u4e2d\u6709\u4e00\u4e2a\u4e3a\u6d6e\u70b9\uff0c\u5219\u6309\u7167\u6d6e\u70b9\u8fd0\u7b97\n\u4f20\u5165\u503c\uff1a\nstring a\nstring/int/number b\nboolean \u6574\u5f62\u8fd0\u7b97\u65f6\u662f\u5426\u6309\u7167\u65e0\u7b26\u53f7\u65b9\u5f0f\uff0ctrue\u662f\uff0cfalse\u4e0d\u662f\uff0c\u9ed8\u8ba4false\uff0c\u6d6e\u70b9\u8fd0\u7b97\u5ffd\u7565\nboolean \u6d6e\u70b9\u8fd0\u7b97\u7ed3\u679c\u662f\u5426\u8981\u5f3a\u5236\u8f6c\u6210\u6574\u6570\uff0ctrue\u662f\uff0cfalse\u4e0d\u662f\uff0c\u9ed8\u8ba4false\uff0c\u6574\u5f62\u8fd0\u7b97\u5ffd\u7565\n\u8fd4\u56de\u503c\uff1a\nstring 9\u5b57\u8282\u6570\u636e\n", "prefix": "bit64.multi"}, "bit64.pide": {"body": "bit64.pide(${1:a},${2:b},${3:flag1},${4:flag2})", "description": "bit64.pide(a,b,flag1,flag2) - 64bit\u6570\u636e\u9664,a/b,a\u548cb\u4e2d\u6709\u4e00\u4e2a\u4e3a\u6d6e\u70b9\uff0c\u5219\u6309\u7167\u6d6e\u70b9\u8fd0\u7b97\n\u4f20\u5165\u503c\uff1a\nstring a\nstring/int/number b\nboolean \u6574\u5f62\u8fd0\u7b97\u65f6\u662f\u5426\u6309\u7167\u65e0\u7b26\u53f7\u65b9\u5f0f\uff0ctrue\u662f\uff0cfalse\u4e0d\u662f\uff0c\u9ed8\u8ba4false\uff0c\u6d6e\u70b9\u8fd0\u7b97\u5ffd\u7565\nboolean \u6d6e\u70b9\u8fd0\u7b97\u7ed3\u679c\u662f\u5426\u8981\u5f3a\u5236\u8f6c\u6210\u6574\u6570\uff0ctrue\u662f\uff0cfalse\u4e0d\u662f\uff0c\u9ed8\u8ba4false\uff0c\u6574\u5f62\u8fd0\u7b97\u5ffd\u7565\n\u8fd4\u56de\u503c\uff1a\nstring 9\u5b57\u8282\u6570\u636e\n", "prefix": "bit64.pide"}, "bit64.shift": {"body": "bit64.shift(${1:a},${2:b},${3:flag})", "description": "bit64.shift(a,b,flag) - 64bit\u6570\u636e\u4f4d\u79fb a>>b \u6216\u8005 a<>\uff0c\u9ed8\u8ba4false\n\u8fd4\u56de\u503c\uff1a\nstring 9\u5b57\u8282\u6570\u636e\n", "prefix": "bit64.shift"}, "bit64.strtoll": {"body": "bit64.strtoll(${1:data},${2:base})", "description": "bit64.strtoll(data, base) - \u5c06\u5b57\u7b26\u4e32\u8f6c\u4e3aLongLong\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nstring \u5f85\u8f6c\u6362\u7684\u6570\u636e,\u5fc5\u987b\u5b58\u5728\nint \u8f6c\u6362\u8fdb\u5236, \u9ed8\u8ba410, \u53ef\u900916\u62168\n\u8fd4\u56de\u503c\uff1a\nstring 9\u5b57\u8282\u6570\u636e\n\u4f8b\u5b50\uff1a\n-- \u672cAPI\u4e8e 2023.10.27 \u6dfb\u52a0\n-- \u63d0\u9192, \u5982\u679c\u8f6c\u6362\u5931\u8d25, \u662f\u8fd4\u56de9\u4e2a\u5b57\u8282\u76840x00\nlocal data = bit64.strtoll(\"864040064024194\", 10)\nlog.info(\"data\", data:toHex())\nlog.info(\"data\", bit64.show(data))\n", "prefix": "bit64.strtoll"}, "camera.init": {"body": "camera.init(${1:InitReg})", "description": "camera.init(InitReg) - \u521d\u59cb\u5316\u6444\u50cf\u5934\n\u4f20\u5165\u503c\uff1a\ntable InitReg camera\u521d\u59cb\u5316\u547d\u4ee4 \u89c1demo/camera/AIR105 \u6ce8\u610f:\u5982\u626b\u7801 camera\u521d\u59cb\u5316\u65f6\u9700\u8bbe\u7f6e\u4e3a\u7070\u5ea6\u8f93\u51fa\n\u8fd4\u56de\u503c\uff1a\nint camera_id\n\u4f8b\u5b50\uff1a\ncamera_id = camera.init(GC032A_InitReg)--\u5c4f\u5e55\u8f93\u51fargb\u56fe\u50cf\n--\u521d\u59cb\u5316\u540e\u9700\u8981start\u624d\u5f00\u59cb\u8f93\u51fa/\u626b\u7801\ncamera.start(camera_id)--\u5f00\u59cb\u6307\u5b9a\u7684camera\n", "prefix": "camera.init"}, "camera.on": {"body": "camera.on(${1:id},${2:event},${3:func})", "description": "camera.on(id, event, func) - \u6ce8\u518c\u6444\u50cf\u5934\u4e8b\u4ef6\u56de\u8c03\n\u4f20\u5165\u503c\uff1a\nint camera id, camera 0\u51990, camera 1\u51991\nstring \u4e8b\u4ef6\u540d\u79f0\nfunction \u56de\u8c03\u65b9\u6cd5\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\ncamera.on(0, \"scanned\", function(id, str)\n--id int camera id\n--str \u591a\u79cd\u7c7b\u578b false \u6444\u50cf\u5934\u6ca1\u6709\u6b63\u5e38\u5de5\u4f5c\uff0ctrue \u62cd\u7167\u6a21\u5f0f\u4e0b\u62cd\u7167\u6210\u529f\u5e76\u4fdd\u5b58\u5b8c\u6210\uff0c int \u539f\u59cb\u6570\u636e\u6a21\u5f0f\u4e0b\u672c\u6b21\u8fd4\u56de\u7684\u6570\u636e\u5927\u5c0f\uff0c string \u626b\u7801\u6a21\u5f0f\u4e0b\u626b\u7801\u6210\u529f\u540e\u7684\u89e3\u7801\u503c\n print(id, str)\nend)\n", "prefix": "camera.on"}, "camera.start": {"body": "camera.start(${1:id})", "description": "camera.start(id) - \u5f00\u59cb\u6307\u5b9a\u7684camera\n\u4f20\u5165\u503c\uff1a\nint camera id,\u4f8b\u59820\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\ncamera.start(0)\n", "prefix": "camera.start"}, "camera.stop": {"body": "camera.stop(${1:id})", "description": "camera.stop(id) - \u505c\u6b62\u6307\u5b9a\u7684camera\n\u4f20\u5165\u503c\uff1a\nint camera id,\u4f8b\u59820\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\ncamera.stop(0)\n", "prefix": "camera.stop"}, "camera.close": {"body": "camera.close(${1:id})", "description": "camera.close(id) - \u5173\u95ed\u6307\u5b9a\u7684camera\uff0c\u91ca\u653e\u76f8\u5e94\u7684IO\u8d44\u6e90\n\u4f20\u5165\u503c\uff1a\nint camera id,\u4f8b\u59820\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\ncamera.close(0)\n", "prefix": "camera.close"}, "camera.capture": {"body": "camera.capture(${1:id},${2:save_path},${3:quality})", "description": "camera.capture(id, save_path, quality) - camera\u62cd\u7167\n\u4f20\u5165\u503c\uff1a\nint camera id,\u4f8b\u59820\nstring save_path,\u6587\u4ef6\u4fdd\u5b58\u8def\u5f84\uff0c\u7a7a\u5219\u5199\u5728\u4e0a\u6b21\u8def\u5f84\u91cc\uff0c\u9ed8\u8ba4\u662f/capture.jpg\nint quality, jpeg\u538b\u7f29\u8d28\u91cf\uff0c1\u6700\u5dee\uff0c\u5360\u7528\u7a7a\u95f4\u5c0f\uff0c3\u6700\u9ad8\uff0c\u5360\u7528\u7a7a\u95f4\u6700\u5927\u800c\u4e14\u8d39\u65f6\u95f4\uff0c\u9ed8\u8ba41\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\ncamera.capture(0)\n", "prefix": "camera.capture"}, "camera.video": {"body": "camera.video(${1:id},${2:w},${3:h},${4:out_path})", "description": "camera.video(id, w, h, out_path) - camera\u8f93\u51fa\u89c6\u9891\u6d41\u5230USB\n\u4f20\u5165\u503c\uff1a\nint camera id,\u4f8b\u59820\nint \u5bbd\u5ea6\nint \u9ad8\u5ea6\nint \u8f93\u51fa\u8def\u5f84\uff0c\u76ee\u524d\u53ea\u80fd\u7528\u865a\u62df\u4e32\u53e30\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\ncamera.video(0, 320, 240, uart.VUART_0)\n", "prefix": "camera.video"}, "camera.startRaw": {"body": "camera.startRaw(${1:id},${2:w},${3:h},${4:buff})", "description": "camera.startRaw(id, w, h, buff) - \u542f\u52a8camera\u8f93\u51fa\u539f\u59cb\u6570\u636e\u5230\u7528\u6237\u7684zbuff\u7f13\u5b58\u533a\uff0c\u8f93\u51fa1fps\u540e\u4f1a\u505c\u6b62\uff0c\u5e76\u901a\u8fc7camera.on\u8bbe\u7f6e\u7684\u56de\u8c03\u51fd\u6570\u56de\u8c03\u63a5\u6536\u5230\u7684\u957f\u5ea6\uff0c\u5982\u679c\u9700\u8981\u518d\u6b21\u8f93\u51fa\uff0c\u8bf7\u8c03\u7528camera.getRaw\n\u4f20\u5165\u503c\uff1a\nint camera id,\u4f8b\u59820\nint \u5bbd\u5ea6\nint \u9ad8\u5ea6\nzbuff \u7528\u4e8e\u5b58\u653e\u6570\u636e\u7684\u7f13\u5b58\u533a\uff0c\u5927\u5c0f\u5fc5\u987b\u4e0d\u5c0f\u4e8ew X h X 2 byte\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\ncamera.startRaw(0, 320, 240, buff)\n", "prefix": "camera.startRaw"}, "camera.getRaw": {"body": "camera.getRaw(${1:id})", "description": "camera.getRaw(id) - \u518d\u6b21\u542f\u52a8camera\u8f93\u51fa\u539f\u59cb\u6570\u636e\u5230\u7528\u6237\u7684zbuff\u7f13\u5b58\u533a\uff0c\u8f93\u51fa1fps\u540e\u4f1a\u505c\u6b62\uff0c\u5e76\u901a\u8fc7camera.on\u8bbe\u7f6e\u7684\u56de\u8c03\u51fd\u6570\u56de\u8c03\u63a5\u6536\u5230\u7684\u957f\u5ea6\uff0c\u5982\u679c\u9700\u8981\u518d\u6b21\u8f93\u51fa\uff0c\u8bf7\u7ee7\u7eed\u8c03\u7528\u672cAPI\n\u4f20\u5165\u503c\uff1a\nint camera id,\u4f8b\u59820\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\ncamera.getRaw(0)\n", "prefix": "camera.getRaw"}, "codec.create": {"body": "codec.create(${1:type},${2:isDecoder})", "description": "codec.create(type, isDecoder) - \u521b\u5efa\u7f16\u89e3\u7801\u7528\u7684codec\n\u4f20\u5165\u503c\uff1a\nint \u591a\u5a92\u4f53\u7c7b\u578b\uff0c\u76ee\u524d\u652f\u6301codec.MP3 codec.AMR\nboolean \u662f\u5426\u662f\u89e3\u7801\u5668\uff0ctrue\u89e3\u7801\u5668\uff0cfalse\u7f16\u7801\u5668\uff0c\u9ed8\u8ba4true\uff0c\u662f\u89e3\u7801\u5668\n\u8fd4\u56de\u503c\uff1a\nuserdata \u6210\u529f\u8fd4\u56de\u4e00\u4e2a\u6570\u636e\u7ed3\u6784,\u5426\u5219\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\n-- \u521b\u5efa\u89e3\u7801\u5668\nlocal decoder = codec.create(codec.MP3)--\u521b\u5efa\u4e00\u4e2amp3\u7684decoder\n-- \u521b\u5efa\u7f16\u7801\u5668\nlocal encoder = codec.create(codec.AMR, false)--\u521b\u5efa\u4e00\u4e2aamr\u7684encoder\n", "prefix": "codec.create"}, "codec.info": {"body": "codec.info(${1:decoder},${2:file_path})", "description": "codec.info(decoder, file_path) - decoder\u4ece\u6587\u4ef6\u4e2d\u89e3\u6790\u51fa\u97f3\u9891\u4fe1\u606f\n\u4f20\u5165\u503c\uff1a\nuserdata \u89e3\u7801\u7528\u7684decoder\nstring \u6587\u4ef6\u8def\u5f84\n\u8fd4\u56de\u503c\uff1a\nboolean \u662f\u5426\u6210\u529f\u89e3\u6790\nint \u97f3\u9891\u683c\u5f0f\nint \u58f0\u97f3\u901a\u9053\u6570\nint \u91c7\u6837\u9891\u7387\nint \u91c7\u6837\u4f4d\u6570\nboolean \u662f\u5426\u6709\u7b26\u53f7\n\u4f8b\u5b50\uff1a\nlocal result, audio_format, num_channels, sample_rate, bits_per_sample, is_signed= codec.info(coder, \"xxx\")\n", "prefix": "codec.info"}, "codec.data": {"body": "codec.data(${1:decoder},${2:out_buff})", "description": "codec.data(decoder, out_buff) - decoder\u4ece\u6587\u4ef6\u4e2d\u89e3\u6790\u51fa\u539f\u59cb\u97f3\u9891\u6570\u636e\uff0c\u6bd4\u5982\u4eceMP3\u6587\u4ef6\u91cc\u89e3\u6790\u51faPCM\u6570\u636e\uff0c\u8fd9\u91cc\u7684\u6587\u4ef6\u8def\u5f84\u5df2\u7ecf\u5728codec.info\u4f20\u5165\uff0c\u4e0d\u9700\u8981\u518d\u6b21\u4f20\u5165\n\u4f20\u5165\u503c\uff1a\nuserdata \u89e3\u7801\u7528\u7684decoder\nzbuff \u5b58\u653e\u8f93\u51fa\u6570\u636e\u7684zbuff\uff0c\u7a7a\u95f4\u5fc5\u987b\u4e0d\u5c11\u4e8e16KB\nint \u6700\u5c11\u89e3\u7801\u51fa\u591a\u5c11\u5b57\u8282\u7684\u97f3\u9891\u6570\u636e,\u9ed8\u8ba416384\n\u8fd4\u56de\u503c\uff1a\nboolean \u662f\u5426\u6210\u529f\u89e3\u6790\n\u4f8b\u5b50\uff1a\n-- \u5927\u5185\u5b58\u8bbe\u5907\nlocal buff = zbuff.create(16*1024)\nlocal result = codec.data(coder, buff)\n-- \u5c0f\u5185\u5b58\u8bbe\u5907\nlocal buff = zbuff.create(8*1024)\nlocal result = codec.data(coder, buff, 4096)\n", "prefix": "codec.data"}, "codec.encode": {"body": "codec.encode(${1:coder},${2:in_buffer},${3:out_buffer},${4:mode})", "description": "codec.encode(coder, in_buffer, out_buffer, mode) - \u7f16\u7801\u97f3\u9891\u6570\u636e\uff0c\u7531\u4e8eflash\u548cram\u7a7a\u95f4\u4e00\u822c\u6bd4\u8f83\u6709\u9650\uff0c\u76ee\u524d\u53ea\u652f\u6301amr-nb\u7f16\u7801\n\u4f20\u5165\u503c\uff1a\nuserdata codec.create\u521b\u5efa\u7684\u7f16\u89e3\u7801\u7528\u7684coder\nzbuff \u8f93\u5165\u7684\u6570\u636e,zbuff\u5f62\u5f0f,\u4ece0\u5230used\nzbuff \u8f93\u51fa\u7684\u6570\u636e,zbuff\u5f62\u5f0f,\u81ea\u52a8\u6dfb\u52a0\u5230buff\u7684\u5c3e\u90e8,\u5982\u679c\u7a7a\u95f4\u5927\u5c0f\u4e0d\u8db3,\u4f1a\u81ea\u52a8\u6269\u5c55,\u4f46\u662f\u4f1a\u989d\u5916\u6d88\u8017\u65f6\u95f4,\u751a\u81f3\u4f1a\u5931\u8d25,\u6240\u4ee5\u5c3d\u91cf\u4e00\u5f00\u59cb\u5c31\u7ed9\u8db3\u7a7a\u95f4\nint amr_nb\u7684\u7f16\u7801\u7b49\u7ea7 0~7(\u5373 MR475~MR122)\u503c\u8d8a\u5927\u6d88\u8017\u7684\u7a7a\u95f4\u8d8a\u591a,\u97f3\u8d28\u8d8a\u9ad8,\u9ed8\u8ba40\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue,\u5931\u8d25\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\ncodec.encode(amr_coder, inbuf, outbuf, codec.AMR_)\n", "prefix": "codec.encode"}, "codec.release": {"body": "codec.release(${1:coder})", "description": "codec.release(coder) - \u91ca\u653e\u7f16\u89e3\u7801\u7528\u7684coder\n\u4f20\u5165\u503c\uff1a\ncoder codec.create\u521b\u5efa\u7684\u7f16\u89e3\u7801\u7528\u7684coder\n\u4f8b\u5b50\uff1a\ncodec.release(coder)\n", "prefix": "codec.release"}, "coremark.run": {"body": "coremark.run()", "description": "coremark.run() - \u5f00\u59cb\u8dd1\u5206\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c,\u7ed3\u679c\u76f4\u63a5\u6253\u5370\u5728\u65e5\u5fd7\u4e2d\n\u4f8b\u5b50\uff1a\n-- \u5927\u90e8\u5206\u60c5\u51b5\u4e0b, \u8fd9\u4e2a\u5e93\u90fd\u4e0d\u4f1a\u5305\u542b\u5728\u6b63\u5f0f\u7248\u56fa\u4ef6\u91cc\n-- \u82e5\u9700\u4f7f\u7528,\u53ef\u4ee5\u53c2\u8003wiki\u6587\u6863\u81ea\u884c\u7f16\u8bd1\u6216\u4f7f\u7528\u4e91\u7f16\u8bd1\n-- https://wiki.luatos.com/develop/compile.html\n\n-- \u8dd1\u5206\u7684main.lua \u5e94\u79fb\u9664\u786c\u72d7\u4ee3\u7801, \u9632\u6b62\u91cd\u542f\n-- \u82e5\u8bbe\u5907\u652f\u6301\u81ea\u52a8\u4f11\u7720, \u5e94\u5173\u95ed\u4f11\u7720\u529f\u80fd\n-- \u82e5\u8bbe\u5907\u652f\u6301\u66f4\u591a\u7684\u9891\u7387\u8fd0\u884c, \u5efa\u8bae\u8bbe\u7f6e\u5230\u6700\u9ad8\u9891\u7387\n-- \u4f7f\u7528 -O3 \u6bd4 -O2 -Os \u7684\u5206\u6570\u66f4\u9ad8, \u901a\u5e38\u60c5\u51b5\u4e0b\n\n-- \u4f1a\u4e00\u76f4\u72ec\u5360\u7ebf\u7a0b\u5230\u6267\u884c\u5b8c\u6bd5, \u7136\u540e\u5728\u63a7\u5236\u53f0\u8f93\u51fa\u7ed3\u679c\ncoremark.run()\n\n-- \u8dd1\u5206\u56fe\u4e00\u4e50^_^\n\n", "prefix": "coremark.run"}, "crypto.md5": {"body": "crypto.md5(${1:str})", "description": "crypto.md5(str) - \u8ba1\u7b97md5\u503c\n\u4f20\u5165\u503c\uff1a\nstring \u9700\u8981\u8ba1\u7b97\u7684\u5b57\u7b26\u4e32\n\u8fd4\u56de\u503c\uff1a\nstring \u8ba1\u7b97\u5f97\u51fa\u7684md5\u503c\u7684hex\u5b57\u7b26\u4e32\n\u4f8b\u5b50\uff1a\n-- \u8ba1\u7b97\u5b57\u7b26\u4e32\"abc\"\u7684md5\nlog.info(\"md5\", crypto.md5(\"abc\"))\n", "prefix": "crypto.md5"}, "crypto.hmac_md5": {"body": "crypto.hmac_md5(${1:str},${2:key})", "description": "crypto.hmac_md5(str, key) - \u8ba1\u7b97hmac_md5\u503c\n\u4f20\u5165\u503c\uff1a\nstring \u9700\u8981\u8ba1\u7b97\u7684\u5b57\u7b26\u4e32\nstring \u5bc6\u94a5\n\u8fd4\u56de\u503c\uff1a\nstring \u8ba1\u7b97\u5f97\u51fa\u7684hmac_md5\u503c\u7684hex\u5b57\u7b26\u4e32\n\u4f8b\u5b50\uff1a\n-- \u8ba1\u7b97\u5b57\u7b26\u4e32\"abc\"\u7684hmac_md5\nlog.info(\"hmac_md5\", crypto.hmac_md5(\"abc\", \"1234567890\"))\n", "prefix": "crypto.hmac_md5"}, "crypto.sha1": {"body": "crypto.sha1(${1:str})", "description": "crypto.sha1(str) - \u8ba1\u7b97sha1\u503c\n\u4f20\u5165\u503c\uff1a\nstring \u9700\u8981\u8ba1\u7b97\u7684\u5b57\u7b26\u4e32\n\u8fd4\u56de\u503c\uff1a\nstring \u8ba1\u7b97\u5f97\u51fa\u7684sha1\u503c\u7684hex\u5b57\u7b26\u4e32\n\u4f8b\u5b50\uff1a\n-- \u8ba1\u7b97\u5b57\u7b26\u4e32\"abc\"\u7684sha1\nlog.info(\"sha1\", crypto.sha1(\"abc\"))\n", "prefix": "crypto.sha1"}, "crypto.hmac_sha1": {"body": "crypto.hmac_sha1(${1:str},${2:key})", "description": "crypto.hmac_sha1(str, key) - \u8ba1\u7b97hmac_sha1\u503c\n\u4f20\u5165\u503c\uff1a\nstring \u9700\u8981\u8ba1\u7b97\u7684\u5b57\u7b26\u4e32\nstring \u5bc6\u94a5\n\u8fd4\u56de\u503c\uff1a\nstring \u8ba1\u7b97\u5f97\u51fa\u7684hmac_sha1\u503c\u7684hex\u5b57\u7b26\u4e32\n\u4f8b\u5b50\uff1a\n-- \u8ba1\u7b97\u5b57\u7b26\u4e32\"abc\"\u7684hmac_sha1\nlog.info(\"hmac_sha1\", crypto.hmac_sha1(\"abc\", \"1234567890\"))\n", "prefix": "crypto.hmac_sha1"}, "crypto.sha256": {"body": "crypto.sha256(${1:str})", "description": "crypto.sha256(str) - \u8ba1\u7b97sha256\u503c\n\u4f20\u5165\u503c\uff1a\nstring \u9700\u8981\u8ba1\u7b97\u7684\u5b57\u7b26\u4e32\n\u8fd4\u56de\u503c\uff1a\nstring \u8ba1\u7b97\u5f97\u51fa\u7684sha256\u503c\u7684hex\u5b57\u7b26\u4e32\n\u4f8b\u5b50\uff1a\n-- \u8ba1\u7b97\u5b57\u7b26\u4e32\"abc\"\u7684sha256\nlog.info(\"sha256\", crypto.sha256(\"abc\"))\n", "prefix": "crypto.sha256"}, "crypto.hmac_sha256": {"body": "crypto.hmac_sha256(${1:str},${2:key})", "description": "crypto.hmac_sha256(str, key) - \u8ba1\u7b97hmac_sha256\u503c\n\u4f20\u5165\u503c\uff1a\nstring \u9700\u8981\u8ba1\u7b97\u7684\u5b57\u7b26\u4e32\nstring \u5bc6\u94a5\n\u8fd4\u56de\u503c\uff1a\nstring \u8ba1\u7b97\u5f97\u51fa\u7684hmac_sha256\u503c\u7684hex\u5b57\u7b26\u4e32\n\u4f8b\u5b50\uff1a\n-- \u8ba1\u7b97\u5b57\u7b26\u4e32\"abc\"\u7684hmac_sha256\nlog.info(\"hmac_sha256\", crypto.hmac_sha256(\"abc\", \"1234567890\"))\n", "prefix": "crypto.hmac_sha256"}, "crypto.sha512": {"body": "crypto.sha512(${1:str})", "description": "crypto.sha512(str) - \u8ba1\u7b97sha512\u503c\n\u4f20\u5165\u503c\uff1a\nstring \u9700\u8981\u8ba1\u7b97\u7684\u5b57\u7b26\u4e32\n\u8fd4\u56de\u503c\uff1a\nstring \u8ba1\u7b97\u5f97\u51fa\u7684sha512\u503c\u7684hex\u5b57\u7b26\u4e32\n\u4f8b\u5b50\uff1a\n-- \u8ba1\u7b97\u5b57\u7b26\u4e32\"abc\"\u7684sha512\nlog.info(\"sha512\", crypto.sha512(\"abc\"))\n", "prefix": "crypto.sha512"}, "crypto.hmac_sha512": {"body": "crypto.hmac_sha512(${1:str},${2:key})", "description": "crypto.hmac_sha512(str, key) - \u8ba1\u7b97hmac_sha512\u503c\n\u4f20\u5165\u503c\uff1a\nstring \u9700\u8981\u8ba1\u7b97\u7684\u5b57\u7b26\u4e32\nstring \u5bc6\u94a5\n\u8fd4\u56de\u503c\uff1a\nstring \u8ba1\u7b97\u5f97\u51fa\u7684hmac_sha512\u503c\u7684hex\u5b57\u7b26\u4e32\n\u4f8b\u5b50\uff1a\n-- \u8ba1\u7b97\u5b57\u7b26\u4e32\"abc\"\u7684hmac_sha512\nlog.info(\"hmac_sha512\", crypto.hmac_sha512(\"abc\", \"1234567890\"))\n", "prefix": "crypto.hmac_sha512"}, "crypto.cipher_encrypt": {"body": "crypto.cipher_encrypt(${1:type},${2:padding},${3:str},${4:key},${5:iv})", "description": "crypto.cipher_encrypt(type, padding, str, key, iv) - \u5bf9\u79f0\u52a0\u5bc6\n\u4f20\u5165\u503c\uff1a\nstring \u7b97\u6cd5\u540d\u79f0, \u4f8b\u5982 AES-128-ECB/AES-128-CBC, \u53ef\u67e5\u9605crypto.cipher_list()\nstring \u5bf9\u9f50\u65b9\u5f0f, \u652f\u6301PKCS7/ZERO/ONE_AND_ZEROS/ZEROS_AND_LEN/NONE\nstring \u9700\u8981\u52a0\u5bc6\u7684\u6570\u636e\nstring \u5bc6\u94a5,\u9700\u8981\u5bf9\u5e94\u7b97\u6cd5\u7684\u5bc6\u94a5\u957f\u5ea6\nstring IV\u503c, \u975eECB\u7b97\u6cd5\u9700\u8981\n\u8fd4\u56de\u503c\uff1a\nstring \u52a0\u5bc6\u540e\u7684\u5b57\u7b26\u4e32\n\u4f8b\u5b50\uff1a\n-- \u8ba1\u7b97AES\nlocal data = crypto.cipher_encrypt(\"AES-128-ECB\", \"PKCS7\", \"1234567890123456\", \"1234567890123456\")\nlocal data2 = crypto.cipher_encrypt(\"AES-128-CBC\", \"PKCS7\", \"1234567890123456\", \"1234567890123456\", \"1234567890666666\")\n", "prefix": "crypto.cipher_encrypt"}, "crypto.cipher_decrypt": {"body": "crypto.cipher_decrypt(${1:type},${2:padding},${3:str},${4:key},${5:iv})", "description": "crypto.cipher_decrypt(type, padding, str, key, iv) - \u5bf9\u79f0\u89e3\u5bc6\n\u4f20\u5165\u503c\uff1a\nstring \u7b97\u6cd5\u540d\u79f0, \u4f8b\u5982 AES-128-ECB/AES-128-CBC, \u53ef\u67e5\u9605crypto.cipher_list()\nstring \u5bf9\u9f50\u65b9\u5f0f, \u652f\u6301PKCS7/ZERO/ONE_AND_ZEROS/ZEROS_AND_LEN/NONE\nstring \u9700\u8981\u89e3\u5bc6\u7684\u6570\u636e\nstring \u5bc6\u94a5,\u9700\u8981\u5bf9\u5e94\u7b97\u6cd5\u7684\u5bc6\u94a5\u957f\u5ea6\nstring IV\u503c, \u975eECB\u7b97\u6cd5\u9700\u8981\n\u8fd4\u56de\u503c\uff1a\nstring \u89e3\u5bc6\u540e\u7684\u5b57\u7b26\u4e32\n\u4f8b\u5b50\uff1a\n-- \u7528AES\u52a0\u5bc6,\u7136\u540e\u7528AES\u89e3\u5bc6\nlocal data = crypto.cipher_encrypt(\"AES-128-ECB\", \"PKCS7\", \"1234567890123456\", \"1234567890123456\")\nlocal data2 = crypto.cipher_decrypt(\"AES-128-ECB\", \"PKCS7\", data, \"1234567890123456\")\n-- data\u7684hex\u4e3a 757CCD0CDC5C90EADBEEECF638DD0000\n-- data2\u7684\u503c\u4e3a 1234567890123456\n", "prefix": "crypto.cipher_decrypt"}, "crypto.crc16": {"body": "crypto.crc16(${1:method},${2:data},${3:poly},${4:initial},${5:finally},${6:inReversemoutReverse})", "description": "crypto.crc16(method, data, poly, initial, finally, inReversem outReverse) - \u8ba1\u7b97CRC16\n\u4f20\u5165\u503c\uff1a\nstring CRC16\u6a21\u5f0f\uff08\"IBM\",\"MAXIM\",\"USB\",\"MODBUS\",\"CCITT\",\"CCITT-FALSE\",\"X25\",\"XMODEM\",\"DNP\",\"USER-DEFINED\"\uff09\nstring \u5b57\u7b26\u4e32\nint poly\u503c\nint initial\u503c\nint finally\u503c\nint \u8f93\u5165\u53cd\u8f6c,1\u53cd\u8f6c,\u9ed8\u8ba40\u4e0d\u53cd\u8f6c\nint \u8f93\u5165\u53cd\u8f6c,1\u53cd\u8f6c,\u9ed8\u8ba40\u4e0d\u53cd\u8f6c\n\u8fd4\u56de\u503c\uff1a\nint \u5bf9\u5e94\u7684CRC16\u503c\n\u4f8b\u5b50\uff1a\n-- \u8ba1\u7b97CRC16\nlocal crc = crypto.crc16(\"\")\n", "prefix": "crypto.crc16"}, "crypto.crc16_modbus": {"body": "crypto.crc16_modbus(${1:data},${2:start})", "description": "crypto.crc16_modbus(data, start) - \u76f4\u63a5\u8ba1\u7b97modbus\u7684crc16\u503c\n\u4f20\u5165\u503c\uff1a\nstring \u6570\u636e\nint \u521d\u59cb\u5316\u503c,\u9ed8\u8ba40xFFFF\n\u8fd4\u56de\u503c\uff1a\nint \u5bf9\u5e94\u7684CRC16\u503c\n\u4f8b\u5b50\uff1a\n-- \u8ba1\u7b97CRC16 modbus\nlocal crc = crypto.crc16_modbus(data)\n-- 2023.11.06 \u65b0\u589e\u521d\u59cb\u503c\u8bbe\u7f6e\ncrc = crypto.crc16_modbus(data, 0xFFFF)\n", "prefix": "crypto.crc16_modbus"}, "crypto.crc32": {"body": "crypto.crc32(${1:data})", "description": "crypto.crc32(data) - \u8ba1\u7b97crc32\u503c\n\u4f20\u5165\u503c\uff1a\nstring \u6570\u636e\n\u8fd4\u56de\u503c\uff1a\nint \u5bf9\u5e94\u7684CRC32\u503c\n\u4f8b\u5b50\uff1a\n-- \u8ba1\u7b97CRC32\nlocal crc = crypto.crc32(data)\n", "prefix": "crypto.crc32"}, "crypto.crc8": {"body": "crypto.crc8(${1:data},${2:poly},${3:start},${4:revert})", "description": "crypto.crc8(data, poly, start, revert) - \u8ba1\u7b97crc8\u503c\n\u4f20\u5165\u503c\uff1a\nstring \u6570\u636e\nint crc\u591a\u9879\u5f0f\uff0c\u53ef\u9009\uff0c\u5982\u679c\u4e0d\u5199\uff0c\u5c06\u5ffd\u7565\u9664\u4e86\u6570\u636e\u5916\u6240\u6709\u53c2\u6570\nint crc\u521d\u59cb\u503c\uff0c\u53ef\u9009\uff0c\u9ed8\u8ba40\nboolean \u662f\u5426\u9700\u8981\u9006\u5e8f\u5904\u7406\uff0c\u9ed8\u8ba4\u5426\n\u8fd4\u56de\u503c\uff1a\nint \u5bf9\u5e94\u7684CRC8\u503c\n\u4f8b\u5b50\uff1a\n-- \u8ba1\u7b97CRC8\nlocal crc = crypto.crc8(data)\nlocal crc = crypto.crc8(data, 0x31, 0xff, false)\n", "prefix": "crypto.crc8"}, "crypto.crc7": {"body": "crypto.crc7(${1:data},${2:poly},${3:start})", "description": "crypto.crc7(data, poly, start) - \u8ba1\u7b97crc7\u503c\n\u4f20\u5165\u503c\uff1a\nstring \u6570\u636e\nint crc\u591a\u9879\u5f0f\uff0c\u53ef\u9009\uff0c\u9ed8\u8ba40xE5\nint crc\u521d\u59cb\u503c\uff0c\u53ef\u9009\uff0c\u9ed8\u8ba40x00\n\u8fd4\u56de\u503c\uff1a\nint \u5bf9\u5e94\u7684CRC7\u503c\n\u4f8b\u5b50\uff1a\n-- \u8ba1\u7b97CRC7, \u672cAPI\u4e8e2023.10.07\u65b0\u589e\nlocal crc = crypto.crc7(data)\nlocal crc = crypto.crc7(data, 0x31, 0xff)\n", "prefix": "crypto.crc7"}, "crypto.trng": {"body": "crypto.trng(${1:len})", "description": "crypto.trng(len) - \u751f\u6210\u771f\u968f\u673a\u6570\n\u4f20\u5165\u503c\uff1a\nint \u6570\u636e\u957f\u5ea6\n\u8fd4\u56de\u503c\uff1a\nstring \u6307\u5b9a\u968f\u673a\u6570\u5b57\u7b26\u4e32\n\u4f8b\u5b50\uff1a\n-- \u751f\u621032\u4f4d\u968f\u673a\u6570ir\nlocal r = crypto.trng(4)\nlocal _, ir = pack.unpack(r, \"I\")\n", "prefix": "crypto.trng"}, "crypto.totp": {"body": "crypto.totp(${1:secret},${2:time})", "description": "crypto.totp(secret,time) - \u8ba1\u7b97TOTP\u52a8\u6001\u5bc6\u7801\u7684\u7ed3\u679c\n\u4f20\u5165\u503c\uff1a\nstring \u7f51\u7ad9\u63d0\u4f9b\u7684\u5bc6\u94a5\uff08\u5c31\u662fBASE32\u7f16\u7801\u540e\u7684\u7ed3\u679c\uff09\nint \u53ef\u9009\uff0c\u65f6\u95f4\u6233\uff0c\u9ed8\u8ba4\u5f53\u524d\u65f6\u95f4\n\u8fd4\u56de\u503c\uff1a\nint \u8ba1\u7b97\u5f97\u51fa\u7684\u516d\u4f4d\u6570\u7ed3\u679c \u8ba1\u7b97\u5931\u8d25\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\n--\u4f7f\u7528\u5f53\u524d\u7cfb\u7edf\u65f6\u95f4\u8ba1\u7b97\nlocal otp = crypto.totp(\"asdfassdfasdfass\")\n", "prefix": "crypto.totp"}, "crypto.base64_encode": {"body": "crypto.base64_encode(${1:data})", "description": "crypto.base64_encode(data) - \u5c06\u6570\u636e\u8fdb\u884cbase64\u7f16\u7801\n\u4f20\u5165\u503c\uff1a\nstring \u5f85\u7f16\u7801\u7684\u6570\u636e\n\u8fd4\u56de\u503c\uff1a\nstring \u7f16\u7801\u540e\u7684\u6570\u636e\n\u4f8b\u5b50\uff1a\n-- \u672c\u51fd\u6570\u4e0e string.toBase64 \u662f\u540c\u4e00\u4e2a\nlocal data = \"123\"\nlocal bdata = crypto.base64_encode(data)\nlog.info(\"base64\", \"encode\", data, bdata)\ndata = crypto.base64_decode(data)\nlog.info(\"base64\", \"decode\", data, bdata)\n", "prefix": "crypto.base64_encode"}, "crypto.base64_decode": {"body": "crypto.base64_decode(${1:data})", "description": "crypto.base64_decode(data) - \u5c06\u6570\u636e\u8fdb\u884cbase64\u89e3\u7801\n\u4f20\u5165\u503c\uff1a\nstring \u5f85\u89e3\u7801\u7684\u6570\u636e\n\u8fd4\u56de\u503c\uff1a\nstring \u89e3\u7801\u540e\u7684\u6570\u636e\n\u4f8b\u5b50\uff1a\n-- \u672c\u51fd\u6570\u4e0e string.fromBase64 \u662f\u540c\u4e00\u4e2a\nlocal data = \"123\"\nlocal bdata = crypto.base64_encode(data)\nlog.info(\"base64\", \"encode\", data, bdata)\ndata = crypto.base64_decode(data)\nlog.info(\"base64\", \"decode\", data, bdata)\n", "prefix": "crypto.base64_decode"}, "crypto.cipher_list": {"body": "crypto.cipher_list()", "description": "crypto.cipher_list() - \u83b7\u53d6\u5f53\u524d\u56fa\u4ef6\u652f\u6301\u7684cipher\u5217\u8868\n\u8fd4\u56de\u503c\uff1a\ntable \u672c\u56fa\u4ef6\u652f\u6301\u7684cipher\u5217\u8868,\u5b57\u7b26\u4e32\u6570\u7ec4\n\u4f8b\u5b50\uff1a\n-- \u672cAPI\u4e8e2022.07.27\u6dfb\u52a0\nlocal ciphers = crypto.cipher_list()\nif ciphers then\n log.info(\"crypto\", \"ciphers list\", json.encode(ciphers))\nend\n", "prefix": "crypto.cipher_list"}, "crypto.cipher_suites": {"body": "crypto.cipher_suites()", "description": "crypto.cipher_suites() - \u83b7\u53d6\u5f53\u524d\u56fa\u4ef6\u652f\u6301\u7684cipher suites\u5217\u8868\n\u8fd4\u56de\u503c\uff1a\ntable \u672c\u56fa\u4ef6\u652f\u6301\u7684cipher suites\u5217\u8868,\u5b57\u7b26\u4e32\u6570\u7ec4\n\u4f8b\u5b50\uff1a\n-- \u672cAPI\u4e8e2022.11.16\u6dfb\u52a0\nlocal suites = crypto.cipher_suites()\nif suites then\n log.info(\"crypto\", \"ciphers suites\", json.encode(suites))\nend\n", "prefix": "crypto.cipher_suites"}, "crypto.md_file": {"body": "crypto.md_file(${1:tp},${2:path},${3:hmac})", "description": "crypto.md_file(tp, path, hmac) - \u8ba1\u7b97\u6587\u4ef6\u7684hash\u503c(md5/sha1/sha256\u53cahmac\u5f62\u5f0f)\n\u4f20\u5165\u503c\uff1a\nstring hash\u7c7b\u578b, \u5927\u5c0f\u5b57\u6bcd, \u4f8b\u5982 \"MD5\" \"SHA1\" \"SHA256\"\nstring \u6587\u4ef6\u8def\u5f84, \u4f8b\u5982 /luadb/logo.jpg\nstring hmac\u503c,\u53ef\u9009\n\u8fd4\u56de\u503c\uff1a\nstring HEX\u8fc7\u7684hash\u503c,\u82e5\u5931\u8d25\u4f1a\u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n\n-- \u65e0hmac\u7684hash\u503c\nlog.info(\"md5\", crypto.md_file(\"MD5\", \"/luadb/logo.jpg\"))\nlog.info(\"sha1\", crypto.md_file(\"SHA1\", \"/luadb/logo.jpg\"))\nlog.info(\"sha256\", crypto.md_file(\"SHA256\", \"/luadb/logo.jpg\"))\n\n-- \u5e26hmac\u7684hash\u503c\nlog.info(\"hmac_md5\", crypto.md_file(\"MD5\", \"/luadb/logo.jpg\", \"123456\"))\nlog.info(\"hmac_sha1\", crypto.md_file(\"SHA1\", \"/luadb/logo.jpg\", \"123456\"))\nlog.info(\"hmac_sha256\", crypto.md_file(\"SHA256\", \"/luadb/logo.jpg\", \"123456\"))\n", "prefix": "crypto.md_file"}, "crypto.md": {"body": "crypto.md(${1:tp},${2:data},${3:hmac})", "description": "crypto.md(tp, data, hmac) - \u8ba1\u7b97\u6570\u636e\u7684hash\u503c(md5/sha1/sha256\u53cahmac\u5f62\u5f0f)\n\u4f20\u5165\u503c\uff1a\nstring hash\u7c7b\u578b, \u5927\u5c0f\u5b57\u6bcd, \u4f8b\u5982 \"MD5\" \"SHA1\" \"SHA256\"\nstring \u5f85\u5904\u7406\u7684\u6570\u636e\nstring hmac\u503c,\u53ef\u9009\n\u8fd4\u56de\u503c\uff1a\nstring HEX\u8fc7\u7684hash\u503c,\u82e5\u5931\u8d25\u4f1a\u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n\n-- \u65e0hmac\u7684hash\u503c\nlog.info(\"md5\", crypto.md(\"MD5\", \"1234567890\"))\nlog.info(\"sha1\", crypto.md(\"SHA1\", \"1234567890\"))\nlog.info(\"sha256\", crypto.md(\"SHA256\", \"1234567890\"))\n\n-- \u5e26hmac\u7684hash\u503c\nlog.info(\"hmac_md5\", crypto.md(\"MD5\", \"1234567890\", \"123456\"))\nlog.info(\"hmac_sha1\", crypto.md(\"SHA1\", \"1234567890\", \"123456\"))\nlog.info(\"hmac_sha256\", crypto.md(\"SHA256\", \"1234567890\", \"123456\"))\n", "prefix": "crypto.md"}, "crypto.hash_init": {"body": "crypto.hash_init(${1:tp})", "description": "crypto.hash_init(tp) - \u521b\u5efa\u6d41\u5f0fhash\u7528\u7684stream\n\u4f20\u5165\u503c\uff1a\nstring hash\u7c7b\u578b, \u5927\u5199\u5b57\u6bcd, \u4f8b\u5982 \"MD5\" \"SHA1\" \"SHA256\"\nstring hmac\u503c\uff0c\u53ef\u9009\n\u8fd4\u56de\u503c\uff1a\nuserdata \u6210\u529f\u8fd4\u56de\u4e00\u4e2a\u6570\u636e\u7ed3\u6784,\u5426\u5219\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\n-- \u65e0hmac\u7684hash stream\nlocal md5_stream = crypto.hash_init(\"MD5\")\nlocal sha1_stream = crypto.hash_init(\"SHA1\")\nlocal sha256_stream = crypto.hash_init(\"SHA256\")\n\n-- \u5e26hmac\u7684hash stream\nlocal md5_stream = crypto.hash_init(\"MD5\", \"123456\")\nlocal sha1_stream = crypto.hash_init(\"SHA1\", \"123456\")\nlocal sha256_stream = crypto.hash_init(\"SHA256\", \"123456\")\n", "prefix": "crypto.hash_init"}, "crypto.hash_update": {"body": "crypto.hash_update(${1:stream},${2:data})", "description": "crypto.hash_update(stream, data) - \u6d41\u5f0fhash\u66f4\u65b0\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nuserdata crypto.hash_init()\u521b\u5efa\u7684stream, \u5fc5\u9009\nstring \u5f85\u8ba1\u7b97\u7684\u6570\u636e,\u5fc5\u9009\nreturn \u65e0\n\u4f8b\u5b50\uff1a\ncrypto.hash_update(stream, \"OK\")\n", "prefix": "crypto.hash_update"}, "crypto.hash_finish": {"body": "crypto.hash_finish(${1:stream})", "description": "crypto.hash_finish(stream) - \u83b7\u53d6\u6d41\u5f0fhash\u6821\u9a8c\u503c\u5e76\u91ca\u653e\u521b\u5efa\u7684stream\n\u4f20\u5165\u503c\uff1a\nuserdata crypto.hash_init()\u521b\u5efa\u7684stream,\u5fc5\u9009\n\u8fd4\u56de\u503c\uff1a\nstring \u6210\u529f\u8fd4\u56de\u8ba1\u7b97\u5f97\u51fa\u7684\u6d41\u5f0fhash\u503c\u7684hex\u5b57\u7b26\u4e32\uff0c\u5931\u8d25\u65e0\u8fd4\u56de\n\u4f8b\u5b50\uff1a\nlocal hashResult = crypto.hash_finish(stream)\n", "prefix": "crypto.hash_finish"}, "crypto.checksum": {"body": "crypto.checksum(${1:data},${2:mode})", "description": "crypto.checksum(data, mode) - \u8ba1\u7b97checksum\u6821\u9a8c\u548c\n\u4f20\u5165\u503c\uff1a\nstring \u5f85\u8ba1\u7b97\u7684\u6570\u636e,\u5fc5\u9009\nint \u6a21\u5f0f,\u7d2f\u52a0\u6a21\u5f0f, 0 - \u5f02\u6216, 1 - \u7d2f\u52a0, \u9ed8\u8ba4\u4e3a0\n\u8fd4\u56de\u503c\uff1a\nint checksum\u503c,\u6821\u9a8c\u548c\n\u4f8b\u5b50\uff1a\n-- \u672c\u51fd\u6570\u5728 2022.12.28 \u6dfb\u52a0\n-- \u5355\u7eaf\u8ba1\u7b97checksum\u503c\nlocal ck = crypto.checksum(\"OK\")\nlog.info(\"checksum\", \"ok\", string.format(\"%02X\", ck))\n-- \u7b2c\u4e8c\u4e2a\u53c2\u6570mode\u57282023.5.23\u65e5\u6dfb\u52a0\n", "prefix": "crypto.checksum"}, "ctiot.init": {"body": "ctiot.init()", "description": "ctiot.init() - \u521d\u59cb\u5316ctiot\uff0c\u5728\u590d\u4f4d\u5f00\u673a\u540e\u4f7f\u7528\u4e00\u6b21\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n", "prefix": "ctiot.init"}, "ctiot.param": {"body": "ctiot.param(${1:ip},${2:port},${3:lifetime})", "description": "ctiot.param(ip, port, lifetime) - \u8bbe\u7f6e\u548c\u8bfb\u53d6ctiot\u76f8\u5173\u53c2\u6570\uff0c\u6709\u53c2\u6570\u8f93\u5165\u5219\u8bbe\u7f6e\uff0c\u65e0\u8bba\u662f\u5426\u6709\u53c2\u6570\u8f93\u5165\uff0c\u5747\u8f93\u51fa\u5f53\u524d\u53c2\u6570\n\u4f20\u5165\u503c\uff1a\nstring \u670d\u52a1\u5668ip\nint \u670d\u52a1\u5668\u7aef\u53e3\nint \u751f\u547d\u5468\u671f,\u5355\u4f4d\u79d2\n\u8fd4\u56de\u503c\uff1a\nstring \u670d\u52a1\u5668ip\nint \u670d\u52a1\u5668\u7aef\u53e3\nint \u751f\u547d\u5468\u671f,\u5355\u4f4d\u79d2\n", "prefix": "ctiot.param"}, "ctiot.ep": {"body": "ctiot.ep(${1:val})", "description": "ctiot.ep(val) - \u8bbe\u7f6e\u548c\u8bfb\u53d6\u81ea\u5b9a\u4e49EP\n\u4f20\u5165\u503c\uff1a\nstring \u81ea\u5b9a\u4e49EP\u7684\u503c,\u9ed8\u8ba4\u662fimei,\u8bfb\u53d6\u7684\u8bdd\u4e0d\u8981\u586b\u8fd9\u4e2a\u53c2\u6570\n\u8fd4\u56de\u503c\uff1a\nstring \u5f53\u524dEP\u503c\n", "prefix": "ctiot.ep"}, "ctiot.connect": {"body": "ctiot.connect()", "description": "ctiot.connect() - \u8fde\u63a5CTIOT\uff0c\u5fc5\u987b\u5728\u8bbe\u7f6e\u5b8c\u53c2\u6570\u548c\u6a21\u5f0f\u540e\u518d\u4f7f\u7528\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n", "prefix": "ctiot.connect"}, "ctiot.disconnect": {"body": "ctiot.disconnect()", "description": "ctiot.disconnect() - \u65ad\u5f00ctiot\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n", "prefix": "ctiot.disconnect"}, "ctiot.write": {"body": "ctiot.write(${1:data},${2:mode},${3:seq})", "description": "ctiot.write(data, mode, seq) - \u53d1\u9001\u6570\u636e\u7ed9ctiot\n\u4f20\u5165\u503c\uff1a\nstring \u9700\u8981\u53d1\u9001\u7684\u6570\u636e\nint \u6a21\u5f0f, ctiot.CON/NON/NON_REL/CON_REL\nint \u5e8f\u53f7\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\nstring \u6210\u529f\u4e3anil,\u5931\u8d25\u8fd4\u56de\u9519\u8bef\u63cf\u8ff0\n", "prefix": "ctiot.write"}, "ctiot.ready": {"body": "ctiot.ready()", "description": "ctiot.ready() - \u662f\u5426\u5df2\u7ecf\u5c31\u7eea\n\u8fd4\u56de\u503c\uff1a\nint \u5df2\u7ecf\u5c31\u7eea\u8fd4\u56de0,\u5426\u5219\u8fd4\u56de\u9519\u8bef\u4ee3\u7801\n", "prefix": "ctiot.ready"}, "dac.open": {"body": "dac.open(${1:ch},${2:freq},${3:mode})", "description": "dac.open(ch, freq, mode) - \u6253\u5f00DAC\u901a\u9053,\u5e76\u914d\u7f6e\u53c2\u6570\n\u4f20\u5165\u503c\uff1a\nint \u901a\u9053\u7f16\u53f7,\u4f8b\u59820\nint \u8f93\u51fa\u9891\u7387,\u5355\u4f4dhz\nint \u6a21\u5f0f,\u9ed8\u8ba4\u4e3a0,\u9884\u7559\n\u8fd4\u56de\u503c\uff1a\ntrue \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\nint \u5e95\u5c42\u8fd4\u56de\u503c,\u8c03\u8bd5\u7528\n\u4f8b\u5b50\uff1a\nif dac.open(0, 44000) then\n log.info(\"dac\", \"dac ch0 is opened\")\nend\n\n", "prefix": "dac.open"}, "dac.write": {"body": "dac.write(${1:ch},${2:data})", "description": "dac.write(ch, data) - \u4ece\u6307\u5b9aDAC\u901a\u9053\u8f93\u51fa\u4e00\u6bb5\u6ce2\u5f62,\u6216\u8005\u5355\u4e2a\u503c\n\u4f20\u5165\u503c\uff1a\nint \u901a\u9053\u7f16\u53f7,\u4f8b\u59820\nstring \u82e5\u8f93\u51fa\u56fa\u5b9a\u503c,\u53ef\u4ee5\u586b\u6570\u503c, \u82e5\u8f93\u51fa\u6ce2\u5f62,\u586bstring\n\u8fd4\u56de\u503c\uff1a\ntrue \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\nint \u5e95\u5c42\u8fd4\u56de\u503c,\u8c03\u8bd5\u7528\n\u4f8b\u5b50\uff1a\nif dac.open(0, 44000) then\n log.info(\"dac\", \"dac ch0 is opened\")\n dac.write(0, string.fromHex(\"ABCDABCD\"))\nend\ndac.close(0)\n", "prefix": "dac.write"}, "dac.close": {"body": "dac.close(${1:ch})", "description": "dac.close(ch) - \u5173\u95edDAC\u901a\u9053\n\u4f20\u5165\u503c\uff1a\nint \u901a\u9053\u7f16\u53f7,\u4f8b\u59820\n\u8fd4\u56de\u503c\uff1a\ntrue \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\nint \u5e95\u5c42\u8fd4\u56de\u503c,\u8c03\u8bd5\u7528\n\u4f8b\u5b50\uff1a\nif dac.open(0, 44000) then\n log.info(\"dac\", \"dac ch0 is opened\")\n dac.write(0, string.fromHex(\"ABCDABCD\"))\nend\ndac.close(0)\n", "prefix": "dac.close"}, "disp.init": {"body": "disp.init(${1:conf})", "description": "disp.init(conf) - \u663e\u793a\u5c4f\u521d\u59cb\u5316,\u8bf7\u4f7f\u7528u8g2\u5e93\n\u4f20\u5165\u503c\uff1a\ntable conf \u914d\u7f6e\u4fe1\u606f\n\u8fd4\u56de\u503c\uff1a\nint \u6b63\u5e38\u521d\u59cb\u53161,\u5df2\u7ecf\u521d\u59cb\u5316\u8fc72,\u5185\u5b58\u4e0d\u591f3,\u521d\u59cb\u5316\u5931\u8d25\u8fd4\u56de4\n\u4f8b\u5b50\uff1a\n-- disp\u5e93\u7684\u6240\u6709API\u5747\u5df2\u5408\u5e76\u5230u8g2\u5e93\n-- disp\u5e93\u5df2\u7ecf\u6620\u5c04\u4e3au8g2\u5e93,\u6240\u6709API\u5747\u4ee3\u7406\u5230u8g2,\u8bf7\u67e5\u9605u8g2\u5e93\u7684API\n", "prefix": "disp.init"}, "eink.init": {"body": "eink.init(${1:tp},${2:args},${3:spi_device})", "description": "eink.init(tp, args,spi_device) - eink\u663e\u793a\u5c4f\u521d\u59cb\u5316\n\u4f20\u5165\u503c\uff1a\nnumber eink\u7c7b\u578b\uff0c\u5f53\u524d\u652f\u6301\uff1ahttps://wiki.luatos.com/api/eink.html#id1\ntable \u9644\u52a0\u53c2\u6570,\u4e0e\u5177\u4f53\u8bbe\u5907\u6709\u5173\uff1a
        pin_busy\uff08busy\uff09
        port\uff1aspi\u7aef\u53e3,\u4f8b\u59820,1,2...\u5982\u679c\u4e3adevice\u65b9\u5f0f\u5219\u4e3a\"device\"
        pin_dc\uff1aeink\u6570\u636e/\u547d\u4ee4\u9009\u62e9\u5f15\u811a
        pin_rst\uff1aeink\u590d\u4f4d\u5f15\u811a\nuserdata spi\u8bbe\u5907,\u5f53port = \"device\"\u65f6\u6709\u6548\n\u4f8b\u5b50\uff1a\n-- \u521d\u59cb\u5316spi0\u7684eink.MODEL_4in2bc) \u6ce8\u610f:eink\u521d\u59cb\u5316\u4e4b\u524d\u9700\u8981\u5148\u521d\u59cb\u5316spi\nspi_eink = spi.deviceSetup(0,20,0,0,8,20000000,spi.MSB,1,1)\nlog.info(\"eink.init\",\neink.init(eink.MODEL_4in2bc,{port = \"device\",pin_dc = 17, pin_pwr = 7,pin_rst = 19,direction = 2,w = 160,h = 80,xoffset = 1,yoffset = 26},spi_eink))\n", "prefix": "eink.init"}, "eink.setup": {"body": "eink.setup(${1:full},${2:spiid},${3:pin_busy},${4:pin_reset},${5:pin_dc},${6:pin_cs})", "description": "eink.setup(full, spiid, pin_busy, pin_reset, pin_dc, pin_cs) - \u521d\u59cb\u5316eink\n\u4f20\u5165\u503c\uff1a\nint \u5168\u5c4f\u5237\u65b00,\u5c40\u90e8\u5237\u65b01,\u9ed8\u8ba4\u662f\u5168\u5c4f\u5237\u65b0\nint \u6240\u5728\u7684spi,\u9ed8\u8ba4\u662f0\nint Busy \u5fd9\u4fe1\u53f7\u7ba1\u811a\nint Reset \u590d\u4f4d\u7ba1\u811a\nint DC \u6570\u636e\u547d\u4ee4\u9009\u62e9\u7ba1\u811a\nint CS \u4f7f\u80fd\u7ba1\u811a\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n", "prefix": "eink.setup"}, "eink.sleep": {"body": "eink.sleep()", "description": "eink.sleep() - \u8fdb\u5165\u4f11\u7720\u6a21\u5f0f\uff0c\u518d\u6b21\u4f7f\u7528\u65f6\u9700\u8981\u91cd\u65b0\u521d\u59cb\u5316\n", "prefix": "eink.sleep"}, "eink.clear": {"body": "eink.clear(${1:color},${2:force})", "description": "eink.clear(color, force) - \u6e05\u9664\u7ed8\u56fe\u7f13\u51b2\u533a\uff0c\u9ed8\u8ba4\u4e0d\u4f1a\u9a6c\u4e0a\u5237\u65b0\u5230\u8bbe\u5907\n\u4f20\u5165\u503c\uff1a\nnumber color \u53ef\u9009\uff0c\u9ed8\u8ba41\u3002\u5237\u5c4f\u989c\u8272\nbool force \u53ef\u9009\uff0c\u9ed8\u8ba4false\u3002\u5982\u679c\u4e3atrue\u5219\u9a6c\u4e0a\u6e05\u5c4f\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n", "prefix": "eink.clear"}, "eink.setWin": {"body": "eink.setWin(${1:width},${2:height},${3:rotate})", "description": "eink.setWin(width, height, rotate) - \u8bbe\u7f6e\u7a97\u53e3\n\u4f20\u5165\u503c\uff1a\nint width \u5bbd\u5ea6\nint height \u9ad8\u5ea6\nint rotate \u663e\u793a\u65b9\u5411,0/1/2/3, \u76f8\u5f53\u4e8e\u65cb\u8f6c0\u5ea6/90\u5ea6/180\u5ea6/270\u5ea6\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n", "prefix": "eink.setWin"}, "eink.getWin": {"body": "eink.getWin()", "description": "eink.getWin() - \u83b7\u53d6\u7a97\u53e3\u4fe1\u606f\n\u8fd4\u56de\u503c\uff1a\nint width \u5bbd\nint height \u9ad8\nint rotate \u65cb\u8f6c\u65b9\u5411\n", "prefix": "eink.getWin"}, "eink.setFont": {"body": "eink.setFont(${1:font})", "description": "eink.setFont(font) - \u8bbe\u7f6e\u5b57\u4f53\n\u4f20\u5165\u503c\uff1a\nuserdata \u5b57\u4f53\n\u4f8b\u5b50\uff1a\n-- \u8bbe\u7f6e\u4e3a\u5b57\u4f53,\u5bf9\u4e4b\u540e\u7684print\u6709\u6548\neink.setFont(eink.font_opposansm12_chinese)\n", "prefix": "eink.setFont"}, "eink.print": {"body": "eink.print(${1:x},${2:y},${3:str},${4:colored})", "description": "eink.print(x, y, str, colored) - \u7ed8\u5236\u5b57\u7b26\u4e32\n\u4f20\u5165\u503c\uff1a\nint x\u5750\u6807\nint y\u5750\u6807\nstring \u5b57\u7b26\u4e32\nint \u989c\u8272, \u53ef\u4ee5\u662f0\u6216\u80051, \u9ed8\u8ba4\u662f0\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n-- \u5148\u8bbe\u7f6e\u5b57\u4f53, \u7136\u540e\u5199\u5b57\n-- \u53ef\u7528\u5b57\u4f53\u53d6\u51b3\u4e8e\u5177\u4f53\u7684\u56fa\u4ef6, \u5982\u679c\u6ca1\u6709\u4f60\u60f3\u8981\u7684\u5927\u5c0f,\u53ef\u4ee5\u4e91\u7f16\u8bd1\u4e00\u4efd\u81ea\u5b9a\u4e49\u56fa\u4ef6\n-- font_opposansm8_chinese\n-- font_opposansm10_chinese\n-- font_opposansm12_chinese\n-- font_opposansm14_chinese\n-- font_opposansm16_chinese\neink.setFont(eink.font_opposansm12_chinese)\neink.print(10, 20, \"LuatOS\")\n", "prefix": "eink.print"}, "eink.show": {"body": "eink.show(${1:x},${2:y},${3:noClear})", "description": "eink.show(x, y, noClear) - \u5c06\u7f13\u51b2\u533a\u56fe\u50cf\u8f93\u51fa\u5230\u5c4f\u5e55\n\u4f20\u5165\u503c\uff1a\nint x \u8f93\u51fa\u7684x\u5750\u6807,\u9ed8\u8ba40\nint y \u8f93\u51fa\u7684y\u5750\u6807,\u9ed8\u8ba40\nbool \u53ef\u9009\uff0c\u9ed8\u8ba4false\u3002\u5982\u679c\u4e3atrue\u5219\u4e0d\u8fdb\u884c\u6e05\u5c4f\uff0c\u76f4\u63a5\u5237\u4e0a\u65b0\u5185\u5bb9\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n", "prefix": "eink.show"}, "eink.draw": {"body": "eink.draw(${1:buff},${2:buff2},${3:noclear})", "description": "eink.draw(buff, buff2, noclear) - \u76f4\u63a5\u8f93\u51fa\u6570\u636e\u5230\u5c4f\u5e55,\u652f\u6301\u53cc\u8272\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nuserdata zbuff\u6307\u9488\nuserdata zbuff\u6307\u9488\nbool \u53ef\u9009\uff0c\u9ed8\u8ba4false\u3002\u5982\u679c\u4e3atrue\u5219\u4e0d\u8fdb\u884c\u6e05\u5c4f\uff0c\u76f4\u63a5\u5237\u4e0a\u65b0\u5185\u5bb9\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n", "prefix": "eink.draw"}, "eink.line": {"body": "eink.line(${1:x},${2:y},${3:x2},${4:y2},${5:colored})", "description": "eink.line(x, y, x2, y2, colored) - \u7f13\u51b2\u533a\u7ed8\u5236\u7ebf\n\u4f20\u5165\u503c\uff1a\nint \u8d77\u70b9x\u5750\u6807\nint \u8d77\u70b9y\u5750\u6807\nint \u7ec8\u70b9x\u5750\u6807\nint \u7ec8\u70b9y\u5750\u6807\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\neink.line(0, 0, 10, 20, 0)\n", "prefix": "eink.line"}, "eink.rect": {"body": "eink.rect(${1:x},${2:y},${3:x2},${4:y2},${5:colored},${6:fill})", "description": "eink.rect(x, y, x2, y2, colored, fill) - \u7f13\u51b2\u533a\u7ed8\u5236\u77e9\u5f62\n\u4f20\u5165\u503c\uff1a\nint \u5de6\u4e0a\u9876\u70b9x\u5750\u6807\nint \u5de6\u4e0a\u9876\u70b9y\u5750\u6807\nint \u53f3\u4e0b\u9876\u70b9x\u5750\u6807\nint \u53f3\u4e0b\u9876\u70b9y\u5750\u6807\nint \u9ed8\u8ba4\u662f0\nint \u662f\u5426\u586b\u5145,\u9ed8\u8ba4\u662f0,\u4e0d\u586b\u5145\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\neink.rect(0, 0, 10, 20)\neink.rect(0, 0, 10, 20,0, 1) -- Filled\n", "prefix": "eink.rect"}, "eink.circle": {"body": "eink.circle(${1:x},${2:y},${3:radius},${4:colored},${5:fill})", "description": "eink.circle(x, y, radius, colored, fill) - \u7f13\u51b2\u533a\u7ed8\u5236\u5706\u5f62\n\u4f20\u5165\u503c\uff1a\nint \u5706\u5fc3x\u5750\u6807\nint \u5706\u5fc3y\u5750\u6807\nint \u534a\u5f84\nint \u9ed8\u8ba4\u662f0\nint \u662f\u5426\u586b\u5145,\u9ed8\u8ba4\u662f0,\u4e0d\u586b\u5145\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\neink.circle(0, 0, 10)\neink.circle(0, 0, 10, 1, 1) -- Filled\n", "prefix": "eink.circle"}, "eink.qrcode": {"body": "eink.qrcode(${1:x},${2:y},${3:str},${4:size})", "description": "eink.qrcode(x, y, str, size) - \u7f13\u51b2\u533a\u7ed8\u5236QRCode\n\u4f20\u5165\u503c\uff1a\nint x\u5750\u6807\nint y\u5750\u6807\nstring \u4e8c\u7ef4\u7801\u7684\u5185\u5bb9\nint \u663e\u793a\u5927\u5c0f (\u6ce8\u610f:\u4e8c\u7ef4\u7801\u751f\u6210\u5927\u5c0f\u4e0e\u8981\u663e\u793a\u5185\u5bb9\u548c\u7ea0\u9519\u7b49\u7ea7\u6709\u5173,\u751f\u6210\u7248\u672c\u4e3a1-40(\u5bf9\u5e94 21x21 - 177x177)\u7684\u4e0d\u5b9a\u5927\u5c0f,\u5982\u679c\u548c\u8bbe\u7f6e\u5927\u5c0f\u4e0d\u540c\u4f1a\u81ea\u52a8\u5728\u6307\u5b9a\u7684\u533a\u57df\u4e2d\u95f4\u663e\u793a\u4e8c\u7ef4\u7801,\u5982\u4e8c\u7ef4\u7801\u672a\u663e\u793a\u8bf7\u67e5\u770b\u65e5\u5fd7\u63d0\u793a)\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n", "prefix": "eink.qrcode"}, "eink.bat": {"body": "eink.bat(${1:x},${2:y},${3:bat})", "description": "eink.bat(x, y, bat) - \u7f13\u51b2\u533a\u7ed8\u5236\u7535\u6c60\n\u4f20\u5165\u503c\uff1a\nint x\u5750\u6807\nint y\u5750\u6807\nint \u7535\u6c60\u7535\u538b,\u5355\u4f4d\u6beb\u4f0f\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n", "prefix": "eink.bat"}, "eink.weather_icon": {"body": "eink.weather_icon(${1:x},${2:y},${3:code})", "description": "eink.weather_icon(x, y, code) - \u7f13\u51b2\u533a\u7ed8\u5236\u5929\u6c14\u56fe\u6807\n\u4f20\u5165\u503c\uff1a\nint x\u5750\u6807\nint y\u5750\u6807\nint \u5929\u6c14\u4ee3\u53f7\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n", "prefix": "eink.weather_icon"}, "eink.model": {"body": "eink.model(${1:m})", "description": "eink.model(m) - \u8bbe\u7f6e\u58a8\u6c34\u5c4f\u9a71\u52a8\u578b\u53f7\n\u4f20\u5165\u503c\uff1a\nint \u578b\u53f7\u540d\u79f0, \u4f8b\u5982 eink.model(eink.MODEL_1in54_V2)\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n", "prefix": "eink.model"}, "eink.drawXbm": {"body": "eink.drawXbm(${1:x},${2:y},${3:w},${4:h},${5:data})", "description": "eink.drawXbm(x, y, w, h, data) - \u7ed8\u5236\u4f4d\u56fe\n\u4f20\u5165\u503c\uff1a\nint X\u5750\u6807\nint y\u5750\u6807\nint \u4f4d\u56fe\u5bbd\nint \u4f4d\u56fe\u9ad8\nint \u4f4d\u56fe\u6570\u636e,\u6bcf\u4e00\u4f4d\u4ee3\u8868\u4e00\u4e2a\u50cf\u7d20\n\u4f8b\u5b50\uff1a\n-- \u53d6\u6a21\u4f7f\u7528PCtoLCD2002\u8f6f\u4ef6\u5373\u53ef\n-- \u5728(0,0)\u4e3a\u5de6\u4e0a\u89d2,\u7ed8\u5236 16x16 \"\u4eca\" \u7684\u4f4d\u56fe\neink.drawXbm(0, 0, 16,16, string.char(\n 0x80,0x00,0x80,0x00,0x40,0x01,0x20,0x02,0x10,0x04,0x48,0x08,0x84,0x10,0x83,0x60,\n 0x00,0x00,0xF8,0x0F,0x00,0x08,0x00,0x04,0x00,0x04,0x00,0x02,0x00,0x01,0x80,0x00\n))\n", "prefix": "eink.drawXbm"}, "eink.setCtx": {"body": "eink.setCtx(${1:index})", "description": "eink.setCtx(index) - \u5207\u6362\u989c\u8272\u753b\u677f, \u9002\u5408\u591a\u8272\u58a8\u6c34\u5c4f\n\u4f20\u5165\u503c\uff1a\nint \u989c\u8272\u7d22\u5f15, \u9ed1\u8272\u4e3a0, \u7ea2\u8272\u4e3a1\n\u4f8b\u5b50\uff1a\n-- \u4ec5\u9002\u5408\u591a\u8272\u58a8\u6c34\u5c4f, \u5bf9\u5355\u8272\u58a8\u6c34\u5c4f(\u53ea\u6709\u9ed1\u767d)\u7684\u65e0\u6548\neink.setCtx(1)\n-- \u5207\u6362\u540e, \u6240\u6709drawXXX\u90fd\u4f1a\u64cd\u4f5c\u5728\u6307\u5b9a\u989c\u8272\u7684\u753b\u677f\n", "prefix": "eink.setCtx"}, "eink.async": {"body": "eink.async(${1:index})", "description": "eink.async(index) - \u5f02\u6b65\u65b9\u5f0f\uff0c\u4f7f\u7528\u6b64\u65b9\u5f0f\u9700\u8981\u5148 require(\"sysplus\") \u4e4b\u540e eink.clear().wait() eink.show().wait()\u8fdb\u884c\u5237\u5c4f\n\u4f20\u5165\u503c\uff1a\nint 1 \u4f7f\u7528\u5f02\u6b65\n\u4f8b\u5b50\uff1a\n eink.async(1)\n spi_eink = spi.deviceSetup(spi_id,pin_cs,0,0,8,20*1000*1000,spi.MSB,1,1)\n eink.init(eink.MODEL_1in54,\n {port = \"device\",pin_dc = pin_dc, pin_busy = pin_busy,pin_rst = pin_reset},\n spi_eink)\n eink.setWin(200, 200, 0)\n sys.wait(100)\n log.info(\"e-paper 1.54\", \"Testing Go\")\n eink.print(30, 20, \"LuatOS-AIR780E\",0x00)\n eink.show().wait()\n log.info(\"e-paper 1.54\", \"Testing End\")\n", "prefix": "eink.async"}, "errDump.dump": {"body": "errDump.dump(${1:zbuff},${2:type},${3:isDelete})", "description": "errDump.dump(zbuff, type, isDelete) - \u624b\u52a8\u8bfb\u53d6\u5f02\u5e38\u65e5\u5fd7\uff0c\u4e3b\u8981\u7528\u4e8e\u7528\u6237\u5c06\u65e5\u5fd7\u53d1\u9001\u7ed9\u81ea\u5df1\u7684\u670d\u52a1\u5668\u800c\u4e0d\u662fIOT\u5e73\u53f0\uff0c\u5982\u679c\u5728errDump.config\u914d\u7f6e\u4e86\u5468\u671f\u4e0a\u4f20\uff0c\u5219\u4e0d\u80fd\u4f7f\u7528\u672c\u51fd\u6570\n\u4f20\u5165\u503c\uff1a\nzbuff \u65e5\u5fd7\u4fe1\u606f\u7f13\u5b58\uff0c\u5982\u679c\u4e3anil\u5c31\u4e0d\u4f1a\u8bfb\u51fa\uff0c\u4e00\u822c\u5f53\nint \u65e5\u5fd7\u7c7b\u578b\uff0c\u76ee\u524d\u53ea\u6709errDump.TYPE_SYS\u548cerrDump.TYPE_USR\nboolean \u662f\u5426\u5220\u9664\u65e5\u5fd7\n\u8fd4\u56de\u503c\uff1a\nboolean true\u8868\u793a\u672c\u6b21\u8bfb\u53d6\u524d\u5e76\u6ca1\u6709\u5199\u5165\u6570\u636e\uff0cfalse\u53cd\u4e4b\uff0c\u5728\u5220\u9664\u65e5\u5fd7\u524d\uff0c\u6700\u597d\u518d\u8bfb\u4e00\u4e0b\u786e\u4fdd\u6ca1\u6709\u65b0\u7684\u6570\u636e\u5199\u5165\u4e86\n\u4f8b\u5b50\uff1a\nlocal result = errDump.dump(buff, errDump.TYPE_SYS, false) --\u8bfb\u51fa\u7cfb\u7edf\u8bb0\u5f55\u7684\u5f02\u5e38\u65e5\u5fd7\nlocal result = errDump.dump(nil, errDump.TYPE_SYS, true) --\u6e05\u9664\u7cfb\u7edf\u8bb0\u5f55\u7684\u5f02\u5e38\u65e5\u5fd7\n", "prefix": "errDump.dump"}, "errDump.record": {"body": "errDump.record(${1:string})", "description": "errDump.record(string) - \u5199\u5165\u7528\u6237\u7684\u5f02\u5e38\u65e5\u5fd7\uff0c\u6ce8\u610f\u6700\u5927\u53ea\u67094KB\uff0c\u8d85\u8fc7\u90e8\u5206\u65b0\u7684\u8986\u76d6\u65e7\u7684\uff0c\u5f00\u542f\u81ea\u52a8\u4e0a\u4f20\u540e\u4f1a\u4e0a\u4f20\u5230\u5408\u5b99IOT\u5e73\u53f0\n\u4f20\u5165\u503c\uff1a\nstring \u65e5\u5fd7\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\nerrDump.record(\"socket long time no connect\") --\u8bb0\u5f55\u4e0b\"socket long time no connect\"\n", "prefix": "errDump.record"}, "errDump.config": {"body": "errDump.config(${1:enable},${2:period},${3:user_flag},${4:custom_id})", "description": "errDump.config(enable, period, user_flag, custom_id) - \u914d\u7f6e\u5173\u952e\u65e5\u5fd7\u4e0a\u4f20IOT\u5e73\u53f0\uff0c\u8fd9\u91cc\u7684\u65e5\u5fd7\u5305\u62ec\u5f15\u8d77luavm\u5f02\u5e38\u9000\u51fa\u7684\u65e5\u5fd7\u548c\u7528\u6237\u901a\u8fc7record\u5199\u5165\u7684\u65e5\u5fd7\uff0c\u7c7b\u4f3c\u4e8eair\u7684errDump\n\u4f20\u5165\u503c\uff1a\nboolean \u662f\u5426\u542f\u7528\u8bb0\u5f55\u529f\u80fd\uff0cfalse\u7684\u8bdd\u5c06\u4e0d\u4f1a\u8bb0\u5f55\u4efb\u4f55\u65e5\u5fd7\nint \u5b9a\u65f6\u4e0a\u4f20\u5468\u671f\uff0c\u5355\u4f4d\u79d2\uff0c\u9ed8\u8ba4600\u79d2\uff0c\u8fd9\u4e2a\u662f\u81ea\u52a8\u4e0a\u4f20\u65f6\u5019\u540e\u7684\u91cd\u8bd5\u65f6\u95f4\u65f6\u95f4\uff0c\u5728\u5f00\u673a\u540e\u6216\u8005\u6709record\u64cd\u4f5c\u540e\u4f1a\u5f88\u5feb\u5c1d\u8bd5\u4e0a\u4f20\u5230\u5408\u5b99IOT\u5e73\u53f0\u4e00\u6b21\uff0c\u5982\u679c\u4e3a0\uff0c\u5219\u4e0d\u4f1a\u4e0a\u4f20\uff0c\u7531\u7528\u6237dump\u540e\u81ea\u5df1\u4e0a\u4f20\u81ea\u5df1\u7684\u5e73\u53f0\nstring \u7528\u6237\u7684\u7279\u6b8a\u6807\u8bc6\uff0c\u53ef\u4ee5\u4e3a\u7a7a\nstring \u8bbe\u5907\u8bc6\u522b\u53f7, 4G\u8bbe\u5907\u9ed8\u8ba4\u662fimei,\u5176\u4ed6\u8bbe\u5907\u9ed8\u8ba4\u662fmcu.unique_id\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\nerrDump.config(true, 3600, \"12345678\")\t--\u4e00\u4e2a\u5c0f\u65f6\u5c1d\u8bd5\u4e0a\u6b21\u4e00\u6b21\uff0c\u4e0a\u4f20\u65f6\u4f1a\u5728imei\u540e\u9644\u52a0\u4e0a12345678\nerrDump.config(false)\t--\u5173\u95ed\u8bb0\u5f55\u529f\u80fd\uff0c\u4e0d\u518d\u4e0a\u4f20\nerrDump.config(true, 0)\t--\u8bb0\u5f55\uff0c\u4f46\u662f\u4e0d\u4f1a\u4e3b\u52a8\u4e0a\u4f20\uff0c\u7531\u7528\u6237\u5b9e\u73b0\u4e0a\u4f20\u529f\u80fd\n-- 2023.09.22\u65b0\u589ecustom_id\u53c2\u6570\nerrDump.config(true, 3600, nil, \"ABC\")\t--\u4e00\u4e2a\u5c0f\u65f6\u5c1d\u8bd5\u4e0a\u6b21\u4e00\u6b21\uff0c\u4e0a\u4f20\u65f6\u4f7f\u7528\u81ea\u5b9a\u4e49\u7684\u8bbe\u5907\u8bc6\u522b\u53f7ABC\n", "prefix": "errDump.config"}, "fastlz.compress": {"body": "fastlz.compress(${1:data},${2:level})", "description": "fastlz.compress(data, level) - \u5feb\u901f\u538b\u7f29\n\u4f20\u5165\u503c\uff1a\nstring \u5f85\u538b\u7f29\u7684\u6570\u636e, \u5c11\u4e8e400\u5b57\u8282\u7684\u6570\u636e\u4e0d\u5efa\u8bae\u538b\u7f29, \u4e14\u538b\u7f29\u540e\u7684\u6570\u636e\u4e0d\u80fd\u5927\u4e8e32k\nint \u538b\u7f29\u7ea7\u522b,\u9ed8\u8ba41, \u53ef\u90091\u6216\u80052, 2\u7684\u538b\u7f29\u6bd4\u66f4\u9ad8(\u6709\u65f6\u5019)\n\u8fd4\u56de\u503c\uff1a\nstring \u82e5\u538b\u7f29\u6210\u529f,\u8fd4\u56de\u6570\u636e\u5b57\u7b26\u4e32, \u5426\u5219\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\n-- \u6ce8\u610f, \u538b\u7f29\u8fc7\u7a0b\u7684\u5185\u5b58\u6d88\u8017\u5982\u4e0b\n-- \u7cfb\u7edf\u5185\u5b58, \u56fa\u5b9a32k\n-- lua\u5185\u5b58, \u539f\u59cb\u6570\u636e\u7684\u5927\u5c0f\u76841.05\u500d,\u6700\u5c0f\u5360\u75281024\u5b57\u8282.\n", "prefix": "fastlz.compress"}, "fastlz.uncompress": {"body": "fastlz.uncompress(${1:data},${2:maxout})", "description": "fastlz.uncompress(data, maxout) - \u5feb\u901f\u89e3\u538b\n\u4f20\u5165\u503c\uff1a\nstring \u5f85\u89e3\u538b\u7684\u6570\u636e\nint \u89e3\u538b\u540e\u7684\u6700\u5927\u5927\u5c0f, \u9ed8\u8ba4\u662f4k, \u53ef\u6309\u9700\u8c03\u6574\n\u8fd4\u56de\u503c\uff1a\nstring \u82e5\u89e3\u538b\u6210\u529f,\u8fd4\u56de\u6570\u636e\u5b57\u7b26\u4e32, \u5426\u5219\u8fd4\u56denil\n", "prefix": "fastlz.uncompress"}, "fatfs.mount": {"body": "fatfs.mount(${1:mode},${2:mount_point},${3:spiid_or_spidevice},${4:spi_cs},${5:spi_speed},${6:power_pin},${7:power_on_delay},${8:auto_format})", "description": "fatfs.mount(mode,mount_point, spiid_or_spidevice, spi_cs, spi_speed, power_pin, power_on_delay, auto_format) - \u6302\u8f7dfatfs\n\u4f20\u5165\u503c\uff1a\nint fatfs\u6a21\u5f0f,\u53ef\u9009fatfs.SPI,fatfs.SDIO,fatfs.RAM,fatfs.USB\nstring \u865a\u62df\u6587\u4ef6\u7cfb\u7edf\u7684\u6302\u8f7d\u70b9, \u9ed8\u8ba4\u662f /fatfs\nint \u4f20\u5165spi device\u6307\u9488,\u6216\u8005spi\u7684id,\u6216\u8005sdio\u7684id\nint \u7247\u9009\u811a\u7684GPIO \u53f7, spi\u6a21\u5f0f\u6709\u6548,\u82e5\u524d\u4e00\u4e2a\u53c2\u6570\u4f20\u7684\u662fspi device,\u8fd9\u4e2a\u53c2\u6570\u5c31\u4e0d\u9700\u8981\u4f20\nint SPI\u6700\u9ad8\u901f\u5ea6,\u9ed8\u8ba410M, \u82e5\u524d2\u4e2a\u53c2\u6570\u4f20\u7684\u662fspi device,\u8fd9\u4e2a\u53c2\u6570\u5c31\u4e0d\u9700\u8981\u4f20\nint TF\u5361\u7535\u6e90\u63a7\u5236\u811a,TF\u5361\u521d\u59cb\u524d\u5148\u62c9\u4f4e\u590d\u4f4d\u518d\u62c9\u9ad8,\u5982\u679c\u6ca1\u6709,\u6216\u8005\u662f\u5185\u7f6e\u7535\u6e90\u63a7\u5236\u65b9\u5f0f,\u8fd9\u4e2a\u53c2\u6570\u5c31\u4e0d\u9700\u8981\u4f20\nint TF\u5361\u7535\u6e90\u590d\u4f4d\u8fc7\u7a0b\u65f6\u95f4,\u5355\u4f4dms,\u9ed8\u8ba4\u503c\u662f1\nbool \u6302\u8f7d\u5931\u8d25\u662f\u5426\u5c1d\u8bd5\u683c\u5f0f\u5316,\u9ed8\u8ba4\u662ftrue,\u5373\u81ea\u52a8\u683c\u5f0f\u5316. \u672c\u53c2\u6570\u57282023.8.16\u6dfb\u52a0\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue, \u5426\u5219\u8fd4\u56denil\u6216\u8005false\nstring \u5931\u8d25\u7684\u539f\u56e0\n\u4f8b\u5b50\uff1a\n-- \u65b9\u6cd51, \u4f7f\u7528SPI\u6a21\u5f0f\n local spiId = 2\n local result = spi.setup(\n spiId,--\u4e32\u53e3id\n 255, -- \u4e0d\u4f7f\u7528\u9ed8\u8ba4CS\u811a\n 0,--CPHA\n 0,--CPOL\n 8,--\u6570\u636e\u5bbd\u5ea6\n 400*1000 -- \u521d\u59cb\u5316\u65f6\u4f7f\u7528\u8f83\u4f4e\u7684\u9891\u7387\n )\n local TF_CS = pin.PB3\n gpio.setup(TF_CS, 1)\n --fatfs.debug(1) -- \u82e5\u6302\u8f7d\u5931\u8d25,\u53ef\u4ee5\u5c1d\u8bd5\u6253\u5f00\u8c03\u8bd5\u4fe1\u606f,\u67e5\u627e\u539f\u56e0\n\t-- \u63d0\u9192, \u82e5TF/SD\u6a21\u5757\u5e26\u7535\u5e73\u8f6c\u6362, \u901a\u5e38\u4e0d\u652f\u630110M\u4ee5\u4e0a\u7684\u6ce2\u7279\u7387!!\n fatfs.mount(fatfs.SPI,\"SD\", spiId, TF_CS, 24000000)\n local data, err = fatfs.getfree(\"SD\")\n if data then\n log.info(\"fatfs\", \"getfree\", json.encode(data))\n else\n log.info(\"fatfs\", \"err\", err)\n end\n\t-- \u5f80\u4e0b\u7684\u64cd\u4f5c, \u4f7f\u7528 io.open(\"/sd/xxx\", \"w+\") \u7b49io\u5e93\u7684API\u5c31\u53ef\u4ee5\u4e86\n", "prefix": "fatfs.mount"}, "fatfs.getfree": {"body": "fatfs.getfree(${1:mount_point})", "description": "fatfs.getfree(mount_point) - \u83b7\u53d6\u53ef\u7528\u7a7a\u95f4\u4fe1\u606f\n\u4f20\u5165\u503c\uff1a\nstring \u6302\u8f7d\u70b9, \u9700\u8981\u8ddffatfs.mount\u4f20\u5165\u7684\u503c\u4e00\u81f4\n\u8fd4\u56de\u503c\uff1a\ntable \u82e5\u6210\u529f\u4f1a\u8fd4\u56detable,\u5426\u5219\u8fd4\u56denil\nint \u5bfc\u81f4\u5931\u8d25\u7684\u5e95\u5c42\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n-- table\u5305\u542b\u7684\u5185\u5bb9\u6709\n-- total_sectors \u603b\u6247\u533a\u6570\u91cf\n-- free_sectors \u7a7a\u95f2\u6247\u533a\u6570\u91cf\n-- total_kb \u603b\u5b57\u8282\u6570,\u5355\u4f4dkb\n-- free_kb \u7a7a\u95f2\u5b57\u8282\u6570, \u5355\u4f4dkb\n-- \u6ce8\u610f,\u5f53\u524d\u6247\u533a\u5927\u5c0f\u56fa\u5b9a\u5728512\u5b57\u8282\n\n local data, err = fatfs.getfree(\"SD\")\n if data then\n log.info(\"fatfs\", \"getfree\", json.encode(data))\n else\n log.info(\"fatfs\", \"err\", err)\n end\n", "prefix": "fatfs.getfree"}, "fatfs.debug": {"body": "fatfs.debug(${1:value})", "description": "fatfs.debug(value) - \u8bbe\u7f6e\u8c03\u8bd5\u6a21\u5f0f\n\u4f20\u5165\u503c\uff1a\nbool \u662f\u5426\u8fdb\u5165\u8c03\u8bd5\u6a21\u5f0f,true\u4ee3\u8868\u8fdb\u5165\u8c03\u8bd5\u6a21\u5f0f,\u589e\u52a0\u8c03\u8bd5\u65e5\u5fd7\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n", "prefix": "fatfs.debug"}, "fdb.kvdb_init": {"body": "fdb.kvdb_init(${1:name},${2:partition})", "description": "fdb.kvdb_init(name, partition) - \u521d\u59cb\u5316kv\u6570\u636e\u5e93\n\u4f20\u5165\u503c\uff1a\nstring \u6570\u636e\u5e93\u540d,\u5f53\u524d\u4ec5\u652f\u6301env\nstring FAL\u5206\u533a\u540d,\u5f53\u524d\u4ec5\u652f\u6301onchip_fdb\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- fdb\u5e93\u57fa\u4e8e flashdb , \u518d\u6b21\u8868\u793a\u611f\u8c22.\nif fdb.kvdb_init(\"env\", \"onchip_fdb\") then\n log.info(\"fdb\", \"kv\u6570\u636e\u5e93\u521d\u59cb\u5316\u6210\u529f\")\nend\n\n-- \u5173\u4e8e\u6e05\u7a7afdb\u5e93\n-- \u4e0b\u8f7d\u5de5\u5177\u662f\u6ca1\u6709\u63d0\u4f9b\u76f4\u63a5\u6e05\u9664fdb\u6570\u636e\u7684\u9014\u5f84\u7684, \u4f46\u6709\u6709\u529e\u6cd5\u89e3\u51b3\n-- \u5199\u4e00\u4e2amain.lua, \u6267\u884c fdb.kvdb_init \u540e \u6267\u884c fdb.clear() \u5373\u53ef\u5168\u6e05fdb\u6570\u636e.\n", "prefix": "fdb.kvdb_init"}, "fdb.kv_set": {"body": "fdb.kv_set(${1:key},${2:value})", "description": "fdb.kv_set(key, value) - \u8bbe\u7f6e\u4e00\u5bf9kv\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nstring key\u7684\u540d\u79f0,\u5fc5\u586b,\u4e0d\u80fd\u7a7a\u5b57\u7b26\u4e32\nstring \u7528\u6237\u6570\u636e,\u5fc5\u586b,\u4e0d\u80fdnil, \u652f\u6301\u5b57\u7b26\u4e32/\u6570\u503c/table/\u5e03\u5c14\u503c, \u6570\u636e\u957f\u5ea6\u6700\u5927255\u5b57\u8282\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\nnumber \u7b2c\u4e8c\u4e2a\u4e3a\u8fd4\u56de\u4e3aflashdb\u7684fdb_kv_set_blob\u8fd4\u56de\u8be6\u7ec6\u72b6\u6001,0\uff1a\u65e0\u9519\u8bef 1:\u64e6\u9664\u9519\u8bef 2:\u8bfb\u9519\u8bef 3:\u5199\u9519\u8bef 4:\u672a\u627e\u5230 5:kv\u540d\u5b57\u9519\u8bef 6:kv\u540d\u5b57\u5b58\u5728 7:\u5df2\u4fdd\u5b58 8:\u521d\u59cb\u5316\u9519\u8bef\n\u4f8b\u5b50\uff1a\nif fdb.kvdb_init(\"env\", \"onchip_fdb\") then\n log.info(\"fdb\", fdb.kv_set(\"wendal\", \"goodgoodstudy\"))\nend\n", "prefix": "fdb.kv_set"}, "fdb.kv_get": {"body": "fdb.kv_get(${1:key},${2:skey})", "description": "fdb.kv_get(key, skey) - \u6839\u636ekey\u83b7\u53d6\u5bf9\u5e94\u7684\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nstring key\u7684\u540d\u79f0,\u5fc5\u586b,\u4e0d\u80fd\u7a7a\u5b57\u7b26\u4e32\nstring \u53ef\u9009\u7684\u6b21\u7ea7key,\u4ec5\u5f53\u539f\u59cb\u503c\u4e3atable\u65f6\u6709\u6548,\u76f8\u5f53\u4e8e fdb.kv_get(key)[skey]\n\u8fd4\u56de\u503c\uff1a\nany \u5b58\u5728\u5219\u8fd4\u56de\u6570\u636e,\u5426\u5219\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\nif fdb.kvdb_init(\"env\", \"onchip_fdb\") then\n log.info(\"fdb\", fdb.kv_get(\"wendal\"))\nend\n", "prefix": "fdb.kv_get"}, "fdb.kv_del": {"body": "fdb.kv_del(${1:key})", "description": "fdb.kv_del(key) - \u6839\u636ekey\u5220\u9664\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nstring key\u7684\u540d\u79f0,\u5fc5\u586b,\u4e0d\u80fd\u7a7a\u5b57\u7b26\u4e32\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\nif fdb.kvdb_init(\"env\", \"onchip_fdb\") then\n log.info(\"fdb\", fdb.kv_del(\"wendal\"))\nend\n", "prefix": "fdb.kv_del"}, "fdb.kv_clr": {"body": "fdb.kv_clr()", "description": "fdb.kv_clr() - \u6e05\u7a7a\u6574\u4e2akv\u6570\u636e\u5e93\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- \u6e05\u7a7a\nfdb.kv_clr()\n", "prefix": "fdb.kv_clr"}, "fdb.kv_iter": {"body": "fdb.kv_iter(${1:iter})", "description": "fdb.kv_iter(iter) - kv\u8fed\u4ee3\u5668\u83b7\u53d6\u4e0b\u4e00\u4e2akey\n\u4f20\u5165\u503c\uff1a\nuserdata fdb.kv_iter()\u8fd4\u56de\u7684\u6307\u9488\n\u8fd4\u56de\u503c\uff1a\nstring \u6210\u529f\u8fd4\u56de\u5b57\u7b26\u4e32key\u503c, \u5426\u5219\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\n-- \u6e05\u7a7a\nlocal iter = fdb.kv_iter()\nif iter then\n while 1 do\n local k = fdb.kv_next(iter)\n if not k then\n break\n end\n log.info(\"fdb\", k, \"value\", fdb.kv_get(k))\n end\nend\n", "prefix": "fdb.kv_iter"}, "fdb.kv_stat": {"body": "fdb.kv_stat()", "description": "fdb.kv_stat() - \u83b7\u53d6kv\u6570\u636e\u5e93\u72b6\u6001\n\u8fd4\u56de\u503c\uff1a\nint \u5df2\u4f7f\u7528\u7684\u7a7a\u95f4,\u5355\u4f4d\u5b57\u8282\nint \u603b\u53ef\u7528\u7a7a\u95f4, \u5355\u4f4d\u5b57\u8282\nint \u603bkv\u952e\u503c\u5bf9\u6570\u91cf, \u5355\u4f4d\u4e2a\n\u4f8b\u5b50\uff1a\n-- \u672cAPI\u4e8e2022.07.23 \u6dfb\u52a0\nlocal used,maxs,kv_count = fdb.kv_stat()\nlog.info(\"fdb\", \"kv\", used,maxs,kv_count)\n", "prefix": "fdb.kv_stat"}, "fonts.list": {"body": "fonts.list(${1:tp})", "description": "fonts.list(tp) - \u8fd4\u56de\u56fa\u4ef6\u652f\u6301\u7684\u5b57\u4f53\u5217\u8868\n\u4f20\u5165\u503c\uff1a\nstring \u7c7b\u578b, \u9ed8\u8ba4 u8g2, \u8fd8\u53ef\u4ee5\u662flvgl\n\u8fd4\u56de\u503c\uff1a\ntable \u5b57\u4f53\u5217\u8868\n\u4f8b\u5b50\uff1a\n-- API\u65b0\u589e\u4e8e2022-07-12\nif fonts.list then\n log.info(\"fonts\", \"u8g2\", json.encode(fonts.list(\"u8g2\")))\nend\n", "prefix": "fonts.list"}, "fonts.u8g2_get": {"body": "fonts.u8g2_get(${1:name},${2:tp})", "description": "fonts.u8g2_get(name, tp) - \u83b7\u53d6\u5b57\u4f53\n\u4f20\u5165\u503c\uff1a\nstring \u5b57\u4f53\u540d\u79f0, \u4f8b\u5982opposansm8_chinese unifont_t_symbols\nstring \u7c7b\u578b, \u9ed8\u8ba4 u8g2, \u8fd8\u53ef\u4ee5\u662flvgl\n\u8fd4\u56de\u503c\uff1a\nuserdata \u82e5\u5b57\u4f53\u5b58\u653e,\u8fd4\u56de\u5b57\u4f53\u6307\u9488, \u5426\u5219\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\noppo_8 = fonts.get(\"opposansm8_chinese\", \"u8g2\")\nif oppo_8 then\n u8g2.SetFont(oppo_8)\nelse\n log.warn(\"fonts\", \"no such font opposansm8_chinese\")\nend\n-- \u82e5\u4f7f\u7528\u4e91\u7f16\u8bd1\u7684\u81ea\u5b9a\u4e49\u5b57\u5e93, \u4f7f\u7528\u65b9\u5f0f\u5982\u4e0b\noppo_8 = fonts.get(\"oppo_bold_8\", \"u8g2\") -- oppo_bold_8 \u662f\u4e91\u7f16\u8bd1\u754c\u9762\u7684\u5b57\u5e93\u547d\u540d\nif oppo_8 then\n u8g2.SetFont(oppo_8)\nelse\n log.warn(\"fonts\", \"no such font opposansm8_chinese\")\nend\n", "prefix": "fonts.u8g2_get"}, "fonts.u8g2_load": {"body": "fonts.u8g2_load(${1:path},${2:path})", "description": "fonts.u8g2_load(path, path) - \u4ece\u6587\u4ef6\u52a0\u8f7d\u5b57\u4f53\n\u4f20\u5165\u503c\uff1a\nstring \u5b57\u4f53\u8def\u5f84, \u4f8b\u5982 /luadb/abc.bin\nstring \u7c7b\u578b, \u9ed8\u8ba4 u8g2. \u4e5f\u652f\u6301lvgl\n\u8fd4\u56de\u503c\uff1a\nuserdata \u82e5\u5b57\u4f53\u5b58\u653e,\u8fd4\u56de\u5b57\u4f53\u6307\u9488, \u5426\u5219\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\n-- API\u65b0\u589e\u4e8e2022-07-11\n-- \u63d0\u9192: \u82e5\u6587\u4ef6\u4f4d\u4e8e/luadb\u4e0b, \u4e0d\u9700\u8981\u5360\u7528\u5185\u5b58\n-- \u82e5\u6587\u4ef6\u5904\u4e8e\u5176\u4ed6\u8def\u5f84, \u4f8b\u5982tf/sd\u5361, spi flash, \u4f1a\u81ea\u52a8\u52a0\u8f7d\u5230\u5185\u5b58, \u6d88\u8017lua vm\u7684\u5185\u5b58\u7a7a\u95f4\n-- \u52a0\u8f7d\u540e\u8bf7\u9002\u5f53\u5f15\u7528, \u4e0d\u5fc5\u53cd\u590d\u52a0\u8f7d\u540c\u4e00\u4e2a\u5b57\u4f53\u6587\u4ef6\noppo12 = fonts.load(\"/luadb/oppo12.bin\")\nif oppo12 then\n u8g2.SetFont(oppo12)\nelse\n log.warn(\"fonts\", \"no such font file oppo12.bin\")\nend\n", "prefix": "fonts.u8g2_load"}, "fota.init": {"body": "fota.init(${1:storge_location},${2:len},${3:param1})", "description": "fota.init(storge_location, len, param1) - \u521d\u59cb\u5316fota\u6d41\u7a0b\n\u4f20\u5165\u503c\uff1a\nint/string fota\u6570\u636e\u5b58\u50a8\u7684\u8d77\u59cb\u4f4d\u7f6e
        \u5982\u679c\u662fint\uff0c\u5219\u662f\u7531\u82af\u7247\u5e73\u53f0\u5177\u4f53\u5224\u65ad
        \u5982\u679c\u662fstring\uff0c\u5219\u5b58\u50a8\u5728\u6587\u4ef6\u7cfb\u7edf\u4e2d
        \u5982\u679c\u4e3anil\uff0c\u5219\u7531\u5e95\u5c42\u51b3\u5b9a\u5b58\u50a8\u4f4d\u7f6e\nint \u6570\u636e\u5b58\u50a8\u7684\u6700\u5927\u7a7a\u95f4\nuserdata param1\uff0c\u5982\u679c\u6570\u636e\u5b58\u50a8\u5728spiflash\u65f6,\u4e3aspi_device\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue, \u5931\u8d25\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- \u521d\u59cb\u5316fota\u6d41\u7a0b\nlocal result = fota.init(0, 0x00300000, spi_device)\t--\u7531\u4e8e105\u7684flash\u4ece0x01000000\u5f00\u59cb\uff0c\u6240\u4ee50\u5c31\u662f\u5916\u90e8spiflash\nlocal result = fota.init()\t--ec618\u4f7f\u7528\u56fa\u5b9a\u5185\u90e8\u5730\u5740\uff0c\u6240\u4ee5\u4e0d\u9700\u8981\u53c2\u6570\u4e86\n", "prefix": "fota.init"}, "fota.wait": {"body": "fota.wait()", "description": "fota.wait() - \u7b49\u5f85\u5e95\u5c42fota\u6d41\u7a0b\u51c6\u5907\u597d\n\u4f20\u5165\u503c\uff1a\nboolean \u662f\u5426\u5b8c\u6574\u8d70\u5b8c\u6d41\u7a0b\uff0ctrue \u8868\u793a\u6b63\u786e\u8d70\u5b8c\u6d41\u7a0b\u4e86\n\u8fd4\u56de\u503c\uff1a\nboolean \u51c6\u5907\u597d\u8fd4\u56detrue\n\u4f8b\u5b50\uff1a\nlocal isDone = fota.wait()\n", "prefix": "fota.wait"}, "fota.run": {"body": "fota.run(${1:buff})", "description": "fota.run(buff) - \u5199\u5165fota\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nzbuff/string fota\u6570\u636e\uff0c\u5c3d\u91cf\u7528zbuff\n\u8fd4\u56de\u503c\uff1a\nboolean \u6709\u5f02\u5e38\u8fd4\u56defalse\uff0c\u65e0\u5f02\u5e38\u8fd4\u56detrue\nboolean \u63a5\u6536\u5230\u6700\u540e\u4e00\u5757\u8fd4\u56detrue\nint \u8fd8\u672a\u5199\u5165\u7684\u6570\u636e\u91cf\uff0c\u8d85\u8fc764K\u5fc5\u987b\u505a\u7b49\u5f85\n\u4f8b\u5b50\uff1a\nlocal result, isDone, cache = fota.run(buf) -- \u5199\u5165fota\u6d41\u7a0b\n\n-- \u63d0\u793a: \uff0c\u5982\u679c\u4f20\u5165\u7684\u662fzbuff\uff0c\u5199\u5165\u6210\u529f\u540e\uff0c\u8bf7\u81ea\u884c\u6e05\u7a7azbuff\u5185\u7684\u6570\u636e\n", "prefix": "fota.run"}, "fota.file": {"body": "fota.file(${1:path})", "description": "fota.file(path) - \u4ece\u6307\u5b9a\u6587\u4ef6\u8bfb\u53d6fota\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nstring \u6587\u4ef6\u8def\u5f84\n\u8fd4\u56de\u503c\uff1a\nboolean \u6709\u5f02\u5e38\u8fd4\u56defalse\uff0c\u65e0\u5f02\u5e38\u8fd4\u56detrue\nboolean \u63a5\u6536\u5230\u6700\u540e\u4e00\u5757\u8fd4\u56detrue\nint \u8fd8\u672a\u5199\u5165\u7684\u6570\u636e\u91cf\uff0c\u8d85\u8fc764K\u5fc5\u987b\u505a\u7b49\u5f85\n\u4f8b\u5b50\uff1a\nlocal result, isDone, cache = fota.file(\"/xxx.bin\") -- \u5199\u5165fota\u6d41\u7a0b\n-- \u672cAPI\u4e8e2023.03.23 \u6dfb\u52a0\n", "prefix": "fota.file"}, "fota.isDone": {"body": "fota.isDone()", "description": "fota.isDone() - \u7b49\u5f85\u5e95\u5c42fota\u6d41\u7a0b\u5b8c\u6210\n\u8fd4\u56de\u503c\uff1a\nboolean \u6709\u5f02\u5e38\u8fd4\u56defalse\uff0c\u65e0\u5f02\u5e38\u8fd4\u56detrue\nboolean \u5199\u5165\u5230\u6700\u540e\u4e00\u5757\u8fd4\u56detrue\n\u4f8b\u5b50\uff1a\nlocal result, isDone = fota.isDone()\n", "prefix": "fota.isDone"}, "fota.finish": {"body": "fota.finish(${1:is_ok})", "description": "fota.finish(is_ok) - \u7ed3\u675ffota\u6d41\u7a0b\n\u4f20\u5165\u503c\uff1a\nboolean \u662f\u5426\u5b8c\u6574\u8d70\u5b8c\u6d41\u7a0b\uff0ctrue \u8868\u793a\u6b63\u786e\u8d70\u5b8c\u6d41\u7a0b\u4e86\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue, \u5931\u8d25\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- \u7ed3\u675ffota\u6d41\u7a0b\nlocal result = fota.finish(true)\n", "prefix": "fota.finish"}, "fs.fsstat": {"body": "fs.fsstat(${1:path})", "description": "fs.fsstat(path) - \u83b7\u53d6\u6587\u4ef6\u7cfb\u7edf\u4fe1\u606f\n\u4f20\u5165\u503c\uff1a\nstring \u8def\u5f84,\u9ed8\u8ba4\"/\",\u53ef\u9009\n\u8fd4\u56de\u503c\uff1a\nboolean \u83b7\u53d6\u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\nint \u603b\u7684block\u6570\u91cf\nint \u5df2\u4f7f\u7528\u7684block\u6570\u91cf\nint block\u7684\u5927\u5c0f,\u5355\u4f4d\u5b57\u8282\nstring \u6587\u4ef6\u7cfb\u7edf\u7c7b\u578b,\u4f8b\u5982lfs\u4ee3\u8868littlefs\n\u4f8b\u5b50\uff1a\n-- \u6253\u5370\u6839\u5206\u533a\u7684\u4fe1\u606f\nlog.info(\"fsstat\", fs.fsstat(\"/\"))\n", "prefix": "fs.fsstat"}, "fs.fsize": {"body": "fs.fsize(${1:path})", "description": "fs.fsize(path) - \u83b7\u53d6\u6587\u4ef6\u5927\u5c0f\n\u4f20\u5165\u503c\uff1a\nstring \u6587\u4ef6\u8def\u5f84\n\u8fd4\u56de\u503c\uff1a\nint \u6587\u4ef6\u5927\u5c0f,\u82e5\u83b7\u53d6\u5931\u8d25\u4f1a\u8fd4\u56de0\n\u4f8b\u5b50\uff1a\n-- \u6253\u5370main.luac\u7684\u5927\u5c0f\nlog.info(\"fsize\", fs.fsize(\"/main.luac\"))\n", "prefix": "fs.fsize"}, "fskv.init": {"body": "fskv.init()", "description": "fskv.init() - \u521d\u59cb\u5316kv\u6570\u636e\u5e93\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\nif fskv.init() then\n log.info(\"fdb\", \"kv\u6570\u636e\u5e93\u521d\u59cb\u5316\u6210\u529f\")\nend\n\n-- \u5173\u4e8e\u6e05\u7a7afdb\u5e93\n-- \u4e0b\u8f7d\u5de5\u5177\u662f\u6ca1\u6709\u63d0\u4f9b\u76f4\u63a5\u6e05\u9664fdb\u6570\u636e\u7684\u9014\u5f84\u7684, \u4f46\u6709\u529e\u6cd5\u89e3\u51b3\n-- \u5199\u4e00\u4e2amain.lua, \u6267\u884c fskv.kvdb_init \u540e \u6267\u884c fskv.clear() \u5373\u53ef\u5168\u6e05fdb\u6570\u636e.\n", "prefix": "fskv.init"}, "fskv.set": {"body": "fskv.set(${1:key},${2:value})", "description": "fskv.set(key, value) - \u8bbe\u7f6e\u4e00\u5bf9kv\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nstring key\u7684\u540d\u79f0,\u5fc5\u586b,\u4e0d\u80fd\u7a7a\u5b57\u7b26\u4e32\nstring \u7528\u6237\u6570\u636e,\u5fc5\u586b,\u4e0d\u80fdnil, \u652f\u6301\u5b57\u7b26\u4e32/\u6570\u503c/table/\u5e03\u5c14\u503c, \u6570\u636e\u957f\u5ea6\u6700\u59274095\u5b57\u8282\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- \u8bbe\u7f6e\u6570\u636e, \u5b57\u7b26\u4e32,\u6570\u503c,table,\u5e03\u5c14\u503c,\u5747\u53ef\n-- \u4f46\u4e0d\u53ef\u4ee5\u662fnil, function, userdata, task\nlog.info(\"fdb\", fskv.set(\"wendal\", \"goodgoodstudy\"))\nlog.info(\"fdb\", fskv.set(\"upgrade\", true))\nlog.info(\"fdb\", fskv.set(\"timer\", 1))\nlog.info(\"fdb\", fskv.set(\"bigd\", {name=\"wendal\",age=123}))\n", "prefix": "fskv.set"}, "fskv.sett": {"body": "fskv.sett(${1:key},${2:skey},${3:value})", "description": "fskv.sett(key, skey, value) - \u8bbe\u7f6etable\u5185\u7684\u952e\u503c\u5bf9\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nstring key\u7684\u540d\u79f0,\u5fc5\u586b,\u4e0d\u80fd\u7a7a\u5b57\u7b26\u4e32\nstring table\u7684key\u540d\u79f0, \u5fc5\u586b, \u4e0d\u80fd\u662f\u7a7a\u5b57\u7b26\u4e32\nstring \u7528\u6237\u6570\u636e,\u5fc5\u586b,\u652f\u6301\u5b57\u7b26\u4e32/\u6570\u503c/table/\u5e03\u5c14\u503c, \u6570\u636e\u957f\u5ea6\u6700\u59274095\u5b57\u8282\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse/nil\n\u4f8b\u5b50\uff1a\n-- \u672cAPI\u57282023.7.26\u65b0\u589e,\u6ce8\u610f\u4e0eset\u51fd\u6570\u533a\u522b\n-- \u8bbe\u7f6e\u6570\u636e, \u5b57\u7b26\u4e32,\u6570\u503c,table,\u5e03\u5c14\u503c,\u5747\u53ef\n-- \u4f46\u4e0d\u53ef\u4ee5\u662ffunction, userdata, task\nlog.info(\"fdb\", fskv.sett(\"mytable\", \"wendal\", \"goodgoodstudy\"))\nlog.info(\"fdb\", fskv.sett(\"mytable\", \"upgrade\", true))\nlog.info(\"fdb\", fskv.sett(\"mytable\", \"timer\", 1))\nlog.info(\"fdb\", fskv.sett(\"mytable\", \"bigd\", {name=\"wendal\",age=123}))\n\n-- \u4e0b\u5217\u8bed\u53e5\u5c06\u6253\u5370\u51fa4\u4e2a\u5143\u7d20\u7684table\nlog.info(\"fdb\", fskv.get(\"mytable\"), json.encode(fskv.get(\"mytable\")))\n-- \u6ce8\u610f: \u5982\u679ckey\u4e0d\u5b58\u5728, \u6216\u8005\u539f\u672c\u7684\u503c\u4e0d\u662ftable\u7c7b\u578b,\u5c06\u4f1a\u5b8c\u5168\u8986\u76d6\n-- \u4f8b\u5982\u4e0b\u5217\u5199\u6cd5,\u6700\u7ec8\u83b7\u53d6\u5230\u7684\u662ftable,\u800c\u975e\u7b2c\u4e00\u884c\u7684\u5b57\u7b26\u4e32\nlog.info(\"fdb\", fskv.set(\"mykv\", \"123\"))\nlog.info(\"fdb\", fskv.sett(\"mykv\", \"age\", \"123\")) -- \u4fdd\u5b58\u7684\u5c06\u662f {age:\"123\"}\n\n\n-- \u5982\u679c\u8bbe\u7f6e\u7684\u6570\u636e\u586bnil, \u4ee3\u8868\u5220\u9664\u5bf9\u5e94\u7684key\nlog.info(\"fdb\", fskv.sett(\"mykv\", \"name\", \"wendal\"))\nlog.info(\"fdb\", fskv.sett(\"mykv\", \"name\")) -- \u76f8\u5f53\u4e8e\u5220\u9664\n-- \n", "prefix": "fskv.sett"}, "fskv.get": {"body": "fskv.get(${1:key},${2:skey})", "description": "fskv.get(key, skey) - \u6839\u636ekey\u83b7\u53d6\u5bf9\u5e94\u7684\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nstring key\u7684\u540d\u79f0,\u5fc5\u586b,\u4e0d\u80fd\u7a7a\u5b57\u7b26\u4e32\nstring \u53ef\u9009\u7684\u6b21\u7ea7key,\u4ec5\u5f53\u539f\u59cb\u503c\u4e3atable\u65f6\u6709\u6548,\u76f8\u5f53\u4e8e fskv.get(key)[skey]\n\u8fd4\u56de\u503c\uff1a\nany \u5b58\u5728\u5219\u8fd4\u56de\u6570\u636e,\u5426\u5219\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\nif fskv.init() then\n log.info(\"fdb\", fskv.get(\"wendal\"))\nend\n\n-- \u82e5\u9700\u8981\"\u9ed8\u8ba4\u503c\", \u5bf9\u5e94\u975ebool\u5e03\u5c14\u503c, \u53ef\u4ee5\u8fd9\u6837\u5199\nlocal v = fskv.get(\"wendal\") or \"123\"\n", "prefix": "fskv.get"}, "fskv.del": {"body": "fskv.del(${1:key})", "description": "fskv.del(key) - \u6839\u636ekey\u5220\u9664\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nstring key\u7684\u540d\u79f0,\u5fc5\u586b,\u4e0d\u80fd\u7a7a\u5b57\u7b26\u4e32\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\nlog.info(\"fdb\", fskv.del(\"wendal\"))\n", "prefix": "fskv.del"}, "fskv.clear": {"body": "fskv.clear()", "description": "fskv.clear() - \u6e05\u7a7a\u6574\u4e2akv\u6570\u636e\u5e93\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- \u6e05\u7a7a\nfskv.clear()\n", "prefix": "fskv.clear"}, "fskv.iter": {"body": "fskv.iter()", "description": "fskv.iter() - kv\u6570\u636e\u5e93\u8fed\u4ee3\u5668\n\u8fd4\u56de\u503c\uff1a\nuserdata \u6210\u529f\u8fd4\u56de\u8fed\u4ee3\u5668\u6307\u9488,\u5426\u5219\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\n-- \u6e05\u7a7a\nlocal iter = fskv.iter()\nif iter then\n while 1 do\n local k = fskv.next(iter)\n if not k then\n break\n end\n log.info(\"fdb\", k, \"value\", fskv.kv_get(k))\n end\nend\n", "prefix": "fskv.iter"}, "fskv.next": {"body": "fskv.next(${1:iter})", "description": "fskv.next(iter) - kv\u8fed\u4ee3\u5668\u83b7\u53d6\u4e0b\u4e00\u4e2akey\n\u4f20\u5165\u503c\uff1a\nuserdata fskv.iter()\u8fd4\u56de\u7684\u6307\u9488\n\u8fd4\u56de\u503c\uff1a\nstring \u6210\u529f\u8fd4\u56de\u5b57\u7b26\u4e32key\u503c, \u5426\u5219\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\n-- \u6e05\u7a7a\nlocal iter = fskv.iter()\nif iter then\n while 1 do\n local k = fskv.next(iter)\n if not k then\n break\n end\n log.info(\"fskv\", k, \"value\", fskv.get(k))\n end\nend\n", "prefix": "fskv.next"}, "fskv.status": {"body": "fskv.status()", "description": "fskv.status() - \u83b7\u53d6kv\u6570\u636e\u5e93\u72b6\u6001\n\u8fd4\u56de\u503c\uff1a\nint \u5df2\u4f7f\u7528\u7684\u7a7a\u95f4,\u5355\u4f4d\u5b57\u8282\nint \u603b\u53ef\u7528\u7a7a\u95f4, \u5355\u4f4d\u5b57\u8282\nint \u603bkv\u952e\u503c\u5bf9\u6570\u91cf, \u5355\u4f4d\u4e2a\n\u4f8b\u5b50\uff1a\nlocal used, total,kv_count = fskv.status()\nlog.info(\"fdb\", \"kv\", used,total,kv_count)\n", "prefix": "fskv.status"}, "ftp.login": {"body": "ftp.login(${1:adapter},${2:ip_addr},${3:port},${4:username},${5:password})", "description": "ftp.login(adapter,ip_addr,port,username,password) - FTP\u5ba2\u6237\u7aef\n\u4f20\u5165\u503c\uff1a\nint \u9002\u914d\u5668\u5e8f\u53f7, \u53ea\u80fd\u662fsocket.ETH0, socket.STA, socket.AP,\u5982\u679c\u4e0d\u586b,\u4f1a\u9009\u62e9\u5e73\u53f0\u81ea\u5e26\u7684\u65b9\u5f0f,\u7136\u540e\u662f\u6700\u540e\u4e00\u4e2a\u6ce8\u518c\u7684\u9002\u914d\u5668\nstring ip_addr \u5730\u5740\nstring port \u7aef\u53e3,\u9ed8\u8ba421\nstring username \u7528\u6237\u540d\nstring password \u5bc6\u7801\nbool/table \u662f\u5426\u4e3assl\u52a0\u5bc6\u8fde\u63a5,\u9ed8\u8ba4\u4e0d\u52a0\u5bc6,true\u4e3a\u65e0\u8bc1\u4e66\u6700\u7b80\u5355\u7684\u52a0\u5bc6\uff0ctable\u4e3a\u6709\u8bc1\u4e66\u7684\u52a0\u5bc6
        server_cert \u670d\u52a1\u5668ca\u8bc1\u4e66\u6570\u636e
        client_cert \u5ba2\u6237\u7aefca\u8bc1\u4e66\u6570\u636e
        client_key \u5ba2\u6237\u7aef\u79c1\u94a5\u52a0\u5bc6\u6570\u636e
        client_password \u5ba2\u6237\u7aef\u79c1\u94a5\u53e3\u4ee4\u6570\u636e\n\u8fd4\u56de\u503c\uff1a\nbool/string \u6210\u529f\u8fd4\u56detrue \u5931\u8d25\u8fd4\u56destring\n\u4f8b\u5b50\uff1a\nftp_login = ftp.login(nil,\"xxx\")\n", "prefix": "ftp.login"}, "ftp.command": {"body": "ftp.command(${1:cmd})", "description": "ftp.command(cmd) - FTP\u547d\u4ee4\n\u4f20\u5165\u503c\uff1a\nstring cmd \u547d\u4ee4 \u76ee\u524d\u652f\u6301:NOOP SYST TYPE PWD MKD CWD CDUP RMD DELE LIST\n\u8fd4\u56de\u503c\uff1a\nstring \u6210\u529f\u8fd4\u56detrue \u5931\u8d25\u8fd4\u56destring\n\u4f8b\u5b50\uff1a\n print(ftp.command(\"NOOP\").wait())\n print(ftp.command(\"SYST\").wait())\n print(ftp.command(\"TYPE I\").wait())\n print(ftp.command(\"PWD\").wait())\n print(ftp.command(\"MKD QWER\").wait())\n print(ftp.command(\"CWD /QWER\").wait())\n print(ftp.command(\"CDUP\").wait())\n print(ftp.command(\"RMD QWER\").wait())\n\tprint(ftp.command(\"DELE /1/12222.txt\").wait())\n", "prefix": "ftp.command"}, "ftp.pull": {"body": "ftp.pull(${1:local_name},${2:remote_name})", "description": "ftp.pull(local_name,remote_name) - FTP\u6587\u4ef6\u4e0b\u8f7d\n\u4f20\u5165\u503c\uff1a\nstring local_name \u672c\u5730\u6587\u4ef6\nstring remote_name \u670d\u52a1\u5668\u6587\u4ef6\n\u8fd4\u56de\u503c\uff1a\nbool/string \u6210\u529f\u8fd4\u56detrue \u5931\u8d25\u8fd4\u56destring\n\u4f8b\u5b50\uff1a\nftp.pull(\"/1222.txt\",\"/1222.txt\").wait()\n", "prefix": "ftp.pull"}, "ftp.push": {"body": "ftp.push(${1:local_name},${2:remote_name})", "description": "ftp.push(local_name,remote_name) - FTP\u6587\u4ef6\u4e0a\u4f20\n\u4f20\u5165\u503c\uff1a\nstring local_name \u672c\u5730\u6587\u4ef6\nstring remote_name \u670d\u52a1\u5668\u6587\u4ef6\n\u8fd4\u56de\u503c\uff1a\nbool/string \u6210\u529f\u8fd4\u56detrue \u5931\u8d25\u8fd4\u56destring\n\u4f8b\u5b50\uff1a\nftp.push(\"/1222.txt\",\"/1222.txt\").wait()\n", "prefix": "ftp.push"}, "ftp.close": {"body": "ftp.close()", "description": "ftp.close() - FTP\u5ba2\u6237\u7aef\u5173\u95ed\n\u8fd4\u56de\u503c\uff1a\nbool/string \u6210\u529f\u8fd4\u56detrue \u5931\u8d25\u8fd4\u56destring\n\u4f8b\u5b50\uff1a\nftp.close().wait()\n", "prefix": "ftp.close"}, "sm.sm2encrypt": {"body": "sm.sm2encrypt(${1:pkx},${2:pky},${3:data},${4:mode},${5:mode2})", "description": "sm.sm2encrypt(pkx,pky,data, mode, mode2) - sm2\u7b97\u6cd5\u52a0\u5bc6\n\u4f20\u5165\u503c\uff1a\nstring \u516c\u94a5x,\u5fc5\u9009. HEX\u5b57\u7b26\u4e32\nstring \u516c\u94a5y,\u5fc5\u9009. HEX\u5b57\u7b26\u4e32\nstring \u5f85\u8ba1\u7b97\u7684\u6570\u636e,\u5fc5\u9009,\u6700\u957f32\u5b57\u8282, \u975eHEX\u5b57\u7b26\u4e32\nboolean \u8f93\u51fa\u6a21\u5f0f,\u9ed8\u8ba4false. false-GMSSL\u9ed8\u8ba4\u683c\u5f0fDER, true-\u7f51\u7ad9\u517c\u5bb9\u6a21\u5f0f\nboolean \u6807\u51c6\u7248\u672c,\u9ed8\u8ba4false. false-C1C3C2\u65b0\u56fd\u9645, true-C1C2C3\u8001\u56fd\u9645\n\u8fd4\u56de\u503c\uff1a\nstring \u52a0\u5bc6\u540e\u7684\u5b57\u7b26\u4e32, \u539f\u6837\u8f93\u51fa,\u672a\u7ecfHEX\u8f6c\u6362. \u82e5\u52a0\u5bc6\u5931\u8d25\u4f1a\u8fd4\u56denil\u6216\u7a7a\u5b57\u7b26\u4e32\n\u4f8b\u5b50\uff1a\n-- \u63d0\u793a mode/mode2 \u53c2\u6570\u662f 2023.10.17 \u65b0\u589e\n-- \u7531\u4e8eSM2\u5728\u5404\u5e73\u53f0\u7684\u5b9e\u73b0\u90fd\u6709\u5dee\u5f02,\u7528\u6cd5\u52a1\u5fc5\u53c2\u8003demo\n", "prefix": "sm.sm2encrypt"}, "sm.sm2decrypt": {"body": "sm.sm2decrypt(${1:private},${2:data},${3:mode},${4:mode2})", "description": "sm.sm2decrypt(private,data,mode,mode2) - sm2\u7b97\u6cd5\u89e3\u5bc6\n\u4f20\u5165\u503c\uff1a\nstring \u79c1\u94a5,\u5fc5\u9009,HEX\u5b57\u7b26\u4e32\nstring \u5f85\u8ba1\u7b97\u7684\u6570\u636e,\u5fc5\u9009,\u539f\u59cb\u6570\u636e,\u975eHEX\u5b57\u7b26\u4e32\nboolean \u8f93\u51fa\u6a21\u5f0f,\u9ed8\u8ba4false. false-GMSSL\u9ed8\u8ba4\u683c\u5f0fDER, true-\u7f51\u7ad9\u517c\u5bb9\u6a21\u5f0f\nboolean \u6807\u51c6\u7248\u672c,\u9ed8\u8ba4false. false-C1C3C2\u65b0\u56fd\u9645, true-C1C2C3\u8001\u56fd\u9645\n\u8fd4\u56de\u503c\uff1a\nstring \u89e3\u5bc6\u540e\u7684\u5b57\u7b26\u4e32,\u672a\u7ecfHEX\u8f6c\u6362.\u82e5\u89e3\u5bc6\u5931\u8d25\u4f1a\u8fd4\u56denil\u6216\u7a7a\u5b57\u7b26\u4e32\n\u4f8b\u5b50\uff1a\n-- \u63d0\u793a mode/mode2 \u53c2\u6570\u662f 2023.10.17 \u65b0\u589e\n-- \u7531\u4e8eSM2\u5728\u5404\u5e73\u53f0\u7684\u5b9e\u73b0\u90fd\u6709\u5dee\u5f02,\u7528\u6cd5\u52a1\u5fc5\u53c2\u8003demo\n", "prefix": "sm.sm2decrypt"}, "sm.sm3": {"body": "sm.sm3(${1:data})", "description": "sm.sm3(data) - sm3\u7b97\u6cd5,\u7b97HASH\u503c\n\u4f20\u5165\u503c\uff1a\nstring \u5f85\u8ba1\u7b97\u7684\u6570\u636e,\u5fc5\u9009\n\u8fd4\u56de\u503c\uff1a\nstring \u5bf9\u5e94\u7684hash\u503c\n\u4f8b\u5b50\uff1a\nlocal encodeStr = gmssl.sm3(\"lqlq666lqlq946\")\nlog.info(\"testsm.sm3update\",string.toHex(encodeStr))\n", "prefix": "sm.sm3"}, "sm.sm3hmac": {"body": "sm.sm3hmac(${1:data},${2:key})", "description": "sm.sm3hmac(data, key) - sm3\u7b97\u6cd5,\u7b97HASH\u503c,\u4f46\u5e26HMAC\n\u4f20\u5165\u503c\uff1a\nstring \u5f85\u8ba1\u7b97\u7684\u6570\u636e,\u5fc5\u9009\nstring \u5bc6\u94a5\n\u8fd4\u56de\u503c\uff1a\nstring \u5bf9\u5e94\u7684hash\u503c\n\u4f8b\u5b50\uff1a\nlocal encodeStr = gmssl.sm3hmac(\"lqlq666lqlq946\", \"123\")\nlog.info(\"testsm.sm3update\",string.toHex(encodeStr))\n", "prefix": "sm.sm3hmac"}, "gmssl.sm4encrypt": {"body": "gmssl.sm4encrypt(${1:mode},${2:padding},${3:originStr},${4:password})", "description": "gmssl.sm4encrypt(mode,padding,originStr,password) - SM4\u52a0\u5bc6\u7b97\u6cd5\n\u4f20\u5165\u503c\uff1a\nstring \u52a0\u5bc6\u6a21\u5f0f, CBC\u6216ECB \nstring \u586b\u5145\u65b9\u5f0f, NONE/ZERO/PKCS5/PKCS7\nstring \u52a0\u5bc6\u7684\u5b57\u7b26\u4e32\nstring \u5bc6\u94a5\n\u8fd4\u56de\u503c\uff1a\nstring \u52a0\u5bc6\u540e\u7684\u6570\u636e\n\u4f8b\u5b50\uff1a\nlocal originStr = \"SM4 ECB ZeroPadding test\"\n--\u52a0\u5bc6\u6a21\u5f0f\uff1aECB\uff1b\u586b\u5145\u65b9\u5f0f\uff1aZeroPadding\uff1b\u5bc6\u94a5\uff1a1234567890123456\uff1b\u5bc6\u94a5\u957f\u5ea6\uff1a128 bit\nlocal encodeStr = gmssl.sm4encrypt(\"ECB\",\"ZERO\",originStr,\"1234567890123456\")\nprint(originStr,\"encrypt\",string.toHex(encodeStr))\nlog.info(\"testsm.decrypt\",gmssl.sm4decrypt(\"ECB\",\"ZERO\",encodeStr,\"1234567890123456\"))\n\noriginStr = \"SM4 ECB Pkcs5Padding test\"\n--\u52a0\u5bc6\u6a21\u5f0f\uff1aECB\uff1b\u586b\u5145\u65b9\u5f0f\uff1aPkcs5Padding\uff1b\u5bc6\u94a5\uff1a1234567890123456\uff1b\u5bc6\u94a5\u957f\u5ea6\uff1a128 bit\nencodeStr = gmssl.sm4encrypt(\"ECB\",\"PKCS5\",originStr,\"1234567890123456\")\nprint(originStr,\"encrypt\",string.toHex(encodeStr))\nlog.info(\"testsm.decrypt\",gmssl.sm4decrypt(\"ECB\",\"PKCS5\",encodeStr,\"1234567890123456\"))\n\noriginStr = \"SM4 CBC Pkcs5Padding test\"\n--\u52a0\u5bc6\u6a21\u5f0f\uff1aCBC\uff1b\u586b\u5145\u65b9\u5f0f\uff1aPkcs5Padding\uff1b\u5bc6\u94a5\uff1a1234567890123456\uff1b\u5bc6\u94a5\u957f\u5ea6\uff1a256 bit\uff1b\u504f\u79fb\u91cf\uff1a1234567890666666\nencodeStr = gmssl.sm4encrypt(\"CBC\",\"PKCS5\",originStr,\"1234567890123456\",\"1234567890666666\")\nprint(originStr,\"encrypt\",string.toHex(encodeStr))\nlog.info(\"testsm.decrypt\",gmssl.sm4decrypt(\"CBC\",\"PKCS5\",encodeStr,\"1234567890123456\",\"1234567890666666\"))\n", "prefix": "gmssl.sm4encrypt"}, "gmssl.sm4decrypt": {"body": "gmssl.sm4decrypt(${1:mode},${2:padding},${3:encodeStr},${4:password})", "description": "gmssl.sm4decrypt(mode,padding,encodeStr,password) - SM4\u89e3\u5bc6\u7b97\u6cd5\n\u4f20\u5165\u503c\uff1a\nstring \u52a0\u5bc6\u6a21\u5f0f, CBC\u6216ECB \nstring \u586b\u5145\u65b9\u5f0f, NONE/ZERO/PKCS5/PKCS7\nstring \u5df2\u52a0\u5bc6\u7684\u5b57\u7b26\u4e32\nstring \u5bc6\u94a5\n\u8fd4\u56de\u503c\uff1a\nstring \u89e3\u5bc6\u7684\u5b57\u7b26\u4e32\n\u4f8b\u5b50\uff1a\n-- \u53c2\u8003gmssl.sm4encrypt\n", "prefix": "gmssl.sm4decrypt"}, "sm.sm2sign": {"body": "sm.sm2sign(${1:private},${2:data},${3:id})", "description": "sm.sm2sign(private,data,id) - sm2\u7b97\u6cd5\u7b7e\u540d\n\u4f20\u5165\u503c\uff1a\nstring \u79c1\u94a5,\u5fc5\u9009,HEX\u5b57\u7b26\u4e32\nstring \u5f85\u8ba1\u7b97\u7684\u6570\u636e,\u5fc5\u9009,\u539f\u59cb\u6570\u636e,\u975eHEX\u5b57\u7b26\u4e32\nstring id\u503c,\u975eHEX\u5b57\u7b26\u4e32,\u53ef\u9009,\u9ed8\u8ba4\u503c\"1234567812345678\"\n\u8fd4\u56de\u503c\uff1a\nstring \u524d\u9762\u5b57\u7b26\u4e32,\u672a\u7ecfHEX\u8f6c\u6362.\u82e5\u7b7e\u540d\u5931\u8d25\u4f1a\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\n-- \u672cAPI\u4e8e 2023.10.19 \u65b0\u589e\n-- \u5177\u4f53\u7528\u6cd5\u8bf7\u67e5\u9605demo\n", "prefix": "sm.sm2sign"}, "sm.sm2verify": {"body": "sm.sm2verify(${1:pkx},${2:pky},${3:data},${4:id},${5:sig})", "description": "sm.sm2verify(pkx, pky, data, id, sig) - sm2\u7b97\u6cd5\u9a8c\u7b7e\n\u4f20\u5165\u503c\uff1a\nstring \u516c\u94a5X,\u5fc5\u9009,HEX\u5b57\u7b26\u4e32\nstring \u516c\u94a5Y,\u5fc5\u9009,HEX\u5b57\u7b26\u4e32\nstring \u5f85\u8ba1\u7b97\u7684\u6570\u636e,\u5fc5\u9009,\u539f\u59cb\u6570\u636e,\u975eHEX\u5b57\u7b26\u4e32\nstring id\u503c,\u975eHEX\u5b57\u7b26\u4e32,\u53ef\u9009,\u9ed8\u8ba4\u503c\"1234567812345678\"\nstring \u7b7e\u540d\u6570\u636e,\u5fc5\u987b64\u5b57\u8282,\u975eHEX\u5b57\u7b26\u4e32\n\u8fd4\u56de\u503c\uff1a\nboolean \u9a8c\u8bc1\u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\n-- \u672cAPI\u4e8e 2023.10.19 \u65b0\u589e\n-- \u5177\u4f53\u7528\u6cd5\u8bf7\u67e5\u9605demo\n", "prefix": "sm.sm2verify"}, "gpio.setup": {"body": "gpio.setup(${1:pin},${2:mode},${3:pull},${4:irq},${5:alt})", "description": "gpio.setup(pin, mode, pull, irq, alt) - \u8bbe\u7f6e\u7ba1\u811a\u529f\u80fd\n\u4f20\u5165\u503c\uff1a\nint pin gpio\u7f16\u53f7,\u5fc5\u987b\u662f\u6570\u503c\nany mode \u8f93\u5165\u8f93\u51fa\u6a21\u5f0f\uff1a
        \u6570\u5b570/1\u4ee3\u8868\u8f93\u51fa\u6a21\u5f0f
        nil\u4ee3\u8868\u8f93\u5165\u6a21\u5f0f
        function\u4ee3\u8868\u4e2d\u65ad\u6a21\u5f0f\nint pull \u4e0a\u62c9\u4e0b\u5217\u6a21\u5f0f, \u53ef\u4ee5\u662fgpio.PULLUP \u6216 gpio.PULLDOWN, \u9700\u8981\u6839\u636e\u5b9e\u9645\u786c\u4ef6\u9009\u7528\nint irq \u4e2d\u65ad\u89e6\u53d1\u6a21\u5f0f,\u9ed8\u8ba4gpio.BOTH\u3002\u4e2d\u65ad\u89e6\u53d1\u6a21\u5f0f
        \u4e0a\u5347\u6cbfgpio.RISING
        \u4e0b\u964d\u6cbfgpio.FALLING
        \u4e0a\u5347\u548c\u4e0b\u964d\u90fd\u89e6\u53d1gpio.BOTH \nint alt \u590d\u7528\u9009\u9879\uff0c\u76ee\u524d\u53ea\u6709EC618\u5e73\u53f0\u9700\u8981\u8fd9\u4e2a\u53c2\u6570\uff0c\u6709\u4e9bGPIO\u53ef\u4ee5\u590d\u7528\u5230\u4e0d\u540c\u5f15\u811a\u4e0a\uff0c\u53ef\u4ee5\u9009\u62e9\u590d\u7528\u9009\u9879\uff080\u6216\u80054\uff09\u4ece\u800c\u590d\u7528\u5230\u5bf9\u5e94\u7684\u5f15\u811a\u4e0a\n\u8fd4\u56de\u503c\uff1a\nany \u8f93\u51fa\u6a21\u5f0f\u8fd4\u56de\u8bbe\u7f6e\u7535\u5e73\u7684\u95ed\u5305, \u8f93\u5165\u6a21\u5f0f\u548c\u4e2d\u65ad\u6a21\u5f0f\u8fd4\u56de\u83b7\u53d6\u7535\u5e73\u7684\u95ed\u5305\n\u4f8b\u5b50\uff1a\n-- \u8bbe\u7f6egpio17\u4e3a\u8f93\u5165\ngpio.setup(17, nil)\n-- \u8bbe\u7f6egpio17\u4e3a\u8f93\u51fa,\u4e14\u521d\u59cb\u5316\u7535\u5e73\u4e3a\u4f4e,\u4f7f\u7528\u786c\u4ef6\u9ed8\u8ba4\u4e0a\u4e0b\u62c9\u914d\u7f6e\ngpio.setup(17, 0)\n-- \u8bbe\u7f6egpio17\u4e3a\u8f93\u51fa,\u4e14\u521d\u59cb\u5316\u7535\u5e73\u4e3a\u9ad8,\u4e14\u542f\u7528\u5185\u90e8\u4e0a\u62c9\ngpio.setup(17, 1, gpio.PULLUP)\n-- \u8bbe\u7f6egpio27\u4e3a\u4e2d\u65ad\ngpio.setup(27, function(val) print(\"IRQ_27\",val) end, gpio.PULLUP)\n-- \u8bbe\u7f6egpio27\u4e3a\u4e2d\u65ad\ngpio.setup(27, function(val) print(\"IRQ_27\",val) end, gpio.PULLUP)\n\n-- alt_func \u4e8e2023.7.2\u65b0\u589e\n-- \u8bbe\u7f6eAIR780E\u7684PIN33\u590d\u7528\u6210gpio18\uff0c\u65b9\u5411\u8f93\u51fa,\u4e14\u521d\u59cb\u5316\u7535\u5e73\u4e3a\u4f4e,\u4f7f\u7528\u786c\u4ef6\u9ed8\u8ba4\u4e0a\u4e0b\u62c9\u914d\u7f6e\ngpio.setup(18, 0, nil, nil, 4)\n", "prefix": "gpio.setup"}, "gpio.set": {"body": "gpio.set(${1:pin},${2:value})", "description": "gpio.set(pin, value) - \u8bbe\u7f6e\u7ba1\u811a\u7535\u5e73\n\u4f20\u5165\u503c\uff1a\nint pin GPIO\u7f16\u53f7,\u5fc5\u987b\u662f\u6570\u503c\nint value \u7535\u5e73, \u53ef\u4ee5\u662f \u9ad8\u7535\u5e73gpio.HIGH, \u4f4e\u7535\u5e73gpio.LOW, \u6216\u8005\u76f4\u63a5\u5199\u6570\u503c1\u62160\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n-- \u8bbe\u7f6egpio17\u4e3a\u4f4e\u7535\u5e73\ngpio.set(17, 0)\n", "prefix": "gpio.set"}, "gpio.get": {"body": "gpio.get(${1:pin})", "description": "gpio.get(pin) - \u83b7\u53d6\u7ba1\u811a\u7535\u5e73\n\u4f20\u5165\u503c\uff1a\nint pin GPIO\u7f16\u53f7,\u5fc5\u987b\u662f\u6570\u503c\n\u8fd4\u56de\u503c\uff1a\nvalue \u7535\u5e73, \u9ad8\u7535\u5e73gpio.HIGH, \u4f4e\u7535\u5e73gpio.LOW, \u5bf9\u5e94\u6570\u503c1\u548c0\n\u4f8b\u5b50\uff1a\n-- \u83b7\u53d6gpio17\u7684\u5f53\u524d\u7535\u5e73\ngpio.get(17)\n", "prefix": "gpio.get"}, "gpio.close": {"body": "gpio.close(${1:pin})", "description": "gpio.close(pin) - \u5173\u95ed\u7ba1\u811a\u529f\u80fd(\u9ad8\u963b\u8f93\u5165\u6001),\u5173\u6389\u4e2d\u65ad\n\u4f20\u5165\u503c\uff1a\nint pin GPIO\u7f16\u53f7,\u5fc5\u987b\u662f\u6570\u503c\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c,\u603b\u662f\u6267\u884c\u6210\u529f\n\u4f8b\u5b50\uff1a\n-- \u5173\u95edgpio17\ngpio.close(17)\n", "prefix": "gpio.close"}, "gpio.setDefaultPull": {"body": "gpio.setDefaultPull(${1:val})", "description": "gpio.setDefaultPull(val) - \u8bbe\u7f6eGPIO\u811a\u7684\u9ed8\u8ba4\u4e0a\u62c9/\u4e0b\u62c9\u8bbe\u7f6e, \u9ed8\u8ba4\u662f\u5e73\u53f0\u81ea\u5b9a\u4e49(\u4e00\u822c\u4e3a\u5f00\u6f0f).\n\u4f20\u5165\u503c\uff1a\nint val 0\u5e73\u53f0\u81ea\u5b9a\u4e49,1\u4e0a\u62c9, 2\u4e0b\u62c9\n\u8fd4\u56de\u503c\uff1a\nboolean \u4f20\u503c\u6b63\u786e\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- \u8bbe\u7f6egpio.setup\u7684pull\u9ed8\u8ba4\u503c\u4e3a\u4e0a\u62c9\ngpio.setDefaultPull(1)\n", "prefix": "gpio.setDefaultPull"}, "gpio.toggle": {"body": "gpio.toggle(${1:pin})", "description": "gpio.toggle(pin) - \u53d8\u6362GPIO\u811a\u8f93\u51fa\u7535\u5e73,\u4ec5\u8f93\u51fa\u6a21\u5f0f\u53ef\u7528\n\u4f20\u5165\u503c\uff1a\nint \u7ba1\u811a\u7684GPIO\u53f7\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n-- \u672cAPI\u4e8e 2022.05.17 \u6dfb\u52a0\n-- \u5047\u8bbeGPIO16\u4e0a\u6709LED, \u6bcf500ms\u5207\u6362\u4e00\u6b21\u5f00\u5173\ngpio.setup(16, 0)\nsys.timerLoopStart(function()\n gpio.toggle(16)\nend, 500)\n", "prefix": "gpio.toggle"}, "gpio.pulse": {"body": "gpio.pulse(${1:pin},${2:level},${3:len},${4:delay})", "description": "gpio.pulse(pin,level,len,delay) - \u5728\u540c\u4e00\u4e2aGPIO\u8f93\u51fa\u4e00\u7ec4\u8109\u51b2, \u6ce8\u610f, len\u7684\u5355\u4f4d\u662fbit, \u9ad8\u4f4d\u5728\u524d.\n\u4f20\u5165\u503c\uff1a\nint gpio\u53f7\nint/string \u6570\u503c\u6216\u8005\u5b57\u7b26\u4e32.\nint len \u957f\u5ea6 \u5355\u4f4d\u662fbit, \u9ad8\u4f4d\u5728\u524d.\nint delay \u5ef6\u8fdf,\u5f53\u524d\u65e0\u56fa\u5b9a\u65f6\u95f4\u5355\u4f4d\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n-- \u901a\u8fc7PB06\u811a\u8f93\u51fa\u8f93\u51fa8\u4e2a\u7535\u5e73\u53d8\u5316.\ngpio.pulse(pin.PB06,0xA9, 8, 0)\n", "prefix": "gpio.pulse"}, "gpio.debounce": {"body": "gpio.debounce(${1:pin},${2:ms},${3:mode})", "description": "gpio.debounce(pin, ms, mode) - \u9632\u6296\u8bbe\u7f6e, \u6839\u636e\u786c\u4ef6ticks\u8fdb\u884c\u9632\u6296\n\u4f20\u5165\u503c\uff1a\nint gpio\u53f7, 0~127, \u4e0e\u786c\u4ef6\u76f8\u5173\nint \u9632\u6296\u65f6\u957f,\u5355\u4f4d\u6beb\u79d2, \u6700\u5927 65555 ms, \u8bbe\u7f6e\u4e3a0\u5219\u5173\u95ed\nint \u6a21\u5f0f, 0\u51b7\u5374\u6a21\u5f0f, 1\u5ef6\u65f6\u6a21\u5f0f. \u9ed8\u8ba4\u662f0\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n-- \u6d88\u6296\u6a21\u5f0f, \u5f53\u524d\u652f\u63012\u79cd, 2022.12.16\u5f00\u59cb\u652f\u6301mode=1\n-- 0 \u89e6\u53d1\u4e2d\u65ad\u540e,\u9a6c\u4e0a\u4e0a\u62a5\u4e00\u6b21, \u7136\u540e\u51b7\u5374N\u4e2a\u6beb\u79d2\u540e,\u91cd\u65b0\u63a5\u53d7\u4e2d\u65ad\n-- 1 \u89e6\u53d1\u4e2d\u65ad\u540e,\u5ef6\u8fdfN\u4e2a\u6beb\u79d2,\u671f\u95f4\u6ca1\u6709\u65b0\u4e2d\u65ad\u4e14\u7535\u5e73\u6ca1\u6709\u53d8\u5316,\u4e0a\u62a5\u4e00\u6b21\n\n-- \u5f00\u542f\u9632\u6296, \u6a21\u5f0f0-\u51b7\u5374, \u4e2d\u65ad\u540e\u9a6c\u4e0a\u4e0a\u62a5, \u4f46100ms\u5185\u53ea\u4e0a\u62a5\u4e00\u6b21\ngpio.debounce(7, 100) -- \u82e5\u82af\u7247\u652f\u6301pin\u5e93, \u53ef\u7528pin.PA7\u4ee3\u66ff\u6570\u5b577\n-- \u5f00\u542f\u9632\u6296, \u6a21\u5f0f1-\u5ef6\u65f6, \u4e2d\u65ad\u540e\u7b49\u5f85100ms,\u671f\u95f4\u82e5\u4fdd\u6301\u8be5\u7535\u5e73\u4e86,\u65f6\u95f4\u5230\u4e4b\u540e\u4e0a\u62a5\u4e00\u6b21\n-- \u5bf9\u5e94\u7684,\u5982\u679c\u8f93\u5165\u7684\u662f\u4e00\u4e2a 50hz\u7684\u65b9\u6ce2,\u90a3\u4e48\u4e0d\u4f1a\u89e6\u53d1\u4efb\u4f55\u4e0a\u62a5\ngpio.debounce(7, 100, 1)\n\n-- \u5173\u95ed\u9632\u6296,\u65f6\u95f4\u8bbe\u7f6e\u4e3a0\u5c31\u5173\u95ed\ngpio.debounce(7, 0)\n", "prefix": "gpio.debounce"}, "gtfont.init": {"body": "gtfont.init(${1:spi_device})", "description": "gtfont.init(spi_device) - \u521d\u59cb\u5316\u9ad8\u901a\u5b57\u4f53\u82af\u7247\n\u4f20\u5165\u503c\uff1a\nuserdata \u4ec5\u652f\u6301spi device \u751f\u6210\u7684\u6307\u9488\u6570\u636e\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- \u7279\u522b\u63d0\u9192: \u4f7f\u7528\u672c\u5e93\u7684\u4efb\u4f55\u4ee3\u7801, \u90fd\u9700\u8981 \u989d\u5916 \u7684 \u9ad8\u901a\u5b57\u4f53\u82af\u7247 !!\n-- \u6ca1\u6709\u989d\u5916\u82af\u7247\u662f\u8dd1\u4e0d\u4e86\u7684!!\ngtfont.init(spi_device)\n", "prefix": "gtfont.init"}, "hmeta.model": {"body": "hmeta.model()", "description": "hmeta.model() - \u83b7\u53d6\u6a21\u7ec4\u540d\u79f0\n\u8fd4\u56de\u503c\uff1a\nstring \u82e5\u80fd\u8bc6\u522b\u5230,\u8fd4\u56de\u6a21\u7ec4\u7c7b\u578b, \u5426\u5219\u4f1a\u662fnil\n\u4f8b\u5b50\uff1a\nsys.taskInit(function()\n while 1 do\n sys.wait(3000)\n -- hmeta\u8bc6\u522b\u5e95\u5c42\u6a21\u7ec4\u7c7b\u578b\u7684\n -- \u4e0d\u540c\u7684\u6a21\u7ec4\u53ef\u4ee5\u4f7f\u7528\u76f8\u540c\u7684bsp,\u4f46\u6839\u636e\u5c01\u88c5\u7684\u4e0d\u540c,\u6839\u636e\u5185\u90e8\u6570\u636e\u4ecd\u53ef\u8bc6\u522b\u51fa\u5177\u4f53\u6a21\u5757\n log.info(\"hmeta\", hmeta.model())\n log.info(\"bsp\", rtos.bsp())\n end\nend)\n", "prefix": "hmeta.model"}, "hmeta.hwver": {"body": "hmeta.hwver()", "description": "hmeta.hwver() - \u83b7\u53d6\u6a21\u7ec4\u7684\u786c\u4ef6\u7248\u672c\u53f7\n\u8fd4\u56de\u503c\uff1a\nstring \u82e5\u80fd\u8bc6\u522b\u5230,\u8fd4\u56de\u6a21\u7ec4\u7c7b\u578b, \u5426\u5219\u4f1a\u662fnil\n\u4f8b\u5b50\uff1a\nsys.taskInit(function()\n while 1 do\n sys.wait(3000)\n -- hmeta\u8bc6\u522b\u5e95\u5c42\u6a21\u7ec4\u7c7b\u578b\u7684\n -- \u4e0d\u540c\u7684\u6a21\u7ec4\u53ef\u4ee5\u4f7f\u7528\u76f8\u540c\u7684bsp,\u4f46\u6839\u636e\u5c01\u88c5\u7684\u4e0d\u540c,\u6839\u636e\u5185\u90e8\u6570\u636e\u4ecd\u53ef\u8bc6\u522b\u51fa\u5177\u4f53\u6a21\u5757\n log.info(\"hmeta\", hmeta.model(), hmeta.hwver())\n log.info(\"bsp\", rtos.bsp())\n end\nend)\n", "prefix": "hmeta.hwver"}, "http.request": {"body": "http.request(${1:method},${2:url},${3:headers},${4:body},${5:opts},${6:ca_file},${7:client_ca},${8:client_key},${9:client_password})", "description": "http.request(method,url,headers,body,opts,ca_file,client_ca, client_key, client_password) - http\u5ba2\u6237\u7aef\n\u4f20\u5165\u503c\uff1a\nstring \u8bf7\u6c42\u65b9\u6cd5, \u652f\u6301 GET/POST \u7b49\u5408\u6cd5\u7684HTTP\u65b9\u6cd5\nstring url\u5730\u5740, \u652f\u6301 http\u548chttps, \u652f\u6301\u57df\u540d, \u652f\u6301\u81ea\u5b9a\u4e49\u7aef\u53e3\ntabal \u8bf7\u6c42\u5934 \u53ef\u9009 \u4f8b\u5982 {[\"Content-Type\"] = \"application/x-www-form-urlencoded\"}\nstring body \u53ef\u9009, \u5bf9POST/PUT\u7b49\u8bf7\u6c42\u65b9\u5f0f\u6709\u6548\ntable \u989d\u5916\u914d\u7f6e \u53ef\u9009 \u5305\u542b timeout:\u8d85\u65f6\u65f6\u95f4\u5355\u4f4dms \u53ef\u9009,\u9ed8\u8ba410\u5206\u949f,\u51990\u5373\u6c38\u4e45\u7b49\u5f85 dst:\u4e0b\u8f7d\u8def\u5f84,\u53ef\u9009 adapter:\u9009\u62e9\u4f7f\u7528\u7f51\u5361,\u53ef\u9009 debug:\u662f\u5426\u6253\u5f00debug\u4fe1\u606f,\u53ef\u9009,ipv6:\u662f\u5426\u4e3aipv6 \u9ed8\u8ba4\u4e0d\u662f,\u53ef\u9009 callback:\u4e0b\u8f7d\u56de\u8c03\u51fd\u6570,\u53c2\u6570 content_len:\u603b\u957f\u5ea6 body_len:\u4ee5\u4e0b\u8f7d\u957f\u5ea6 userdata \u7528\u6237\u4f20\u53c2,\u53ef\u9009 userdata:\u56de\u8c03\u81ea\u5b9a\u4e49\u4f20\u53c2 \nstring \u670d\u52a1\u5668ca\u8bc1\u4e66\u6570\u636e, \u53ef\u9009, \u4e00\u822c\u4e0d\u9700\u8981\nstring \u5ba2\u6237\u7aefca\u8bc1\u4e66\u6570\u636e, \u53ef\u9009, \u4e00\u822c\u4e0d\u9700\u8981, \u53cc\u5411https\u8ba4\u8bc1\u624d\u9700\u8981\nstring \u5ba2\u6237\u7aef\u79c1\u94a5\u52a0\u5bc6\u6570\u636e, \u53ef\u9009, \u4e00\u822c\u4e0d\u9700\u8981, \u53cc\u5411https\u8ba4\u8bc1\u624d\u9700\u8981\nstring \u5ba2\u6237\u7aef\u79c1\u94a5\u53e3\u4ee4\u6570\u636e, \u53ef\u9009, \u4e00\u822c\u4e0d\u9700\u8981, \u53cc\u5411https\u8ba4\u8bc1\u624d\u9700\u8981\n\u8fd4\u56de\u503c\uff1a\nint code , \u670d\u52a1\u5668\u53cd\u9988\u7684\u503c>=100, \u6700\u5e38\u89c1\u7684\u662f200.\u5982\u679c\u662f\u5e95\u5c42\u9519\u8bef,\u4f8b\u5982\u8fde\u63a5\u5931\u8d25, \u8fd4\u56de\u503c\u5c0f\u4e8e0\ntabal headers \u5f53code>100\u65f6, \u4ee3\u8868\u670d\u52a1\u5668\u8fd4\u56de\u7684\u5934\u90e8\u6570\u636e \nstring/int body \u670d\u52a1\u5668\u54cd\u5e94\u7684\u5185\u5bb9\u5b57\u7b26\u4e32,\u5982\u679c\u662f\u4e0b\u8f7d\u6a21\u5f0f, \u5219\u8fd4\u56de\u6587\u4ef6\u5927\u5c0f\n\u4f8b\u5b50\uff1a\n\n--[[\ncode\u62a5\u9519\u4fe1\u606f\u5217\u8868:\n-1 HTTP_ERROR_STATE \u9519\u8bef\u7684\u72b6\u6001, \u4e00\u822c\u662f\u5e95\u5c42\u5f02\u5e38,\u8bf7\u62a5issue\n-2 HTTP_ERROR_HEADER \u9519\u8bef\u7684\u54cd\u5e94\u5934\u90e8, \u901a\u5e38\u662f\u670d\u52a1\u5668\u95ee\u9898\n-3 HTTP_ERROR_BODY \u9519\u8bef\u7684\u54cd\u5e94\u4f53,\u901a\u5e38\u662f\u670d\u52a1\u5668\u95ee\u9898\n-4 HTTP_ERROR_CONNECT \u8fde\u63a5\u670d\u52a1\u5668\u5931\u8d25, \u672a\u8054\u7f51,\u5730\u5740\u9519\u8bef,\u57df\u540d\u9519\u8bef\n-5 HTTP_ERROR_CLOSE \u63d0\u524d\u65ad\u5f00\u4e86\u8fde\u63a5, \u7f51\u7edc\u6216\u670d\u52a1\u5668\u95ee\u9898\n-6 HTTP_ERROR_RX \u63a5\u6536\u6570\u636e\u62a5\u9519, \u7f51\u7edc\u95ee\u9898\n-7 HTTP_ERROR_DOWNLOAD \u4e0b\u8f7d\u6587\u4ef6\u8fc7\u7a0b\u62a5\u9519, \u7f51\u7edc\u95ee\u9898\u6216\u4e0b\u8f7d\u8def\u5f84\u95ee\u9898\n-8 HTTP_ERROR_TIMEOUT \u8d85\u65f6, \u5305\u62ec\u8fde\u63a5\u8d85\u65f6,\u8bfb\u53d6\u6570\u636e\u8d85\u65f6\n-9 HTTP_ERROR_FOTA fota\u529f\u80fd\u62a5\u9519,\u901a\u5e38\u662f\u66f4\u65b0\u5305\u4e0d\u5408\u6cd5\n]]\n\n-- GET\u8bf7\u6c42\nlocal code, headers, body = http.request(\"GET\",\"http://site0.cn/api/httptest/simple/time\").wait()\nlog.info(\"http.get\", code, headers, body)\n-- POST\u8bf7\u6c42\nlocal code, headers, body = http.request(\"POST\",\"http://httpbin.com/post\", {}, \"abc=123\").wait()\nlog.info(\"http.post\", code, headers, body)\n\n-- GET\u8bf7\u6c42,\u4f46\u4e0b\u8f7d\u5230\u6587\u4ef6\nlocal code, headers, body = http.request(\"GET\",\"http://httpbin.com/\", {}, \"\", {dst=\"/data.bin\"}).wait()\nlog.info(\"http.get\", code, headers, body)\n\n-- \u81ea\u5b9a\u4e49\u8d85\u65f6\u65f6\u95f4, 5000ms\nhttp.request(\"GET\",\"http://httpbin.com/\", nil, nil, {timeout=5000}).wait()\n", "prefix": "http.request"}, "httpsrv.start": {"body": "httpsrv.start(${1:port},${2:func})", "description": "httpsrv.start(port, func) - \u542f\u52a8\u5e76\u76d1\u542c\u4e00\u4e2ahttp\u7aef\u53e3\n\u4f20\u5165\u503c\uff1a\nint \u7aef\u53e3\u53f7\nfunction \u56de\u8c03\u51fd\u6570\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue, \u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n\n-- \u76d1\u542c80\u7aef\u53e3\nhttpsrv.start(80, function(client, method, uri, headers, body)\n -- method \u662f\u5b57\u7b26\u4e32, \u4f8b\u5982 GET POST PUT DELETE\n -- uri \u4e5f\u662f\u5b57\u7b26\u4e32 \u4f8b\u5982 / /api/abc\n -- headers table\u7c7b\u578b\n -- body \u5b57\u7b26\u4e32\n log.info(\"httpsrv\", method, uri, json.encode(headers), body)\n if uri == \"/led/1\" then\n LEDA(1)\n return 200, {}, \"ok\"\n elseif uri == \"/led/0\" then\n LEDA(0)\n return 200, {}, \"ok\"\n end\n -- \u8fd4\u56de\u503c\u7684\u7ea6\u5b9a code, headers, body\n -- \u82e5\u6ca1\u6709\u8fd4\u56de\u503c, \u5219\u9ed8\u8ba4 404, {} ,\"\"\n return 404, {}, \"Not Found\" .. uri\nend)\n-- \u5173\u4e8e\u9759\u6001\u6587\u4ef6\n-- \u60c5\u51b51: / , \u6620\u5c04\u4e3a /index.html\n-- \u60c5\u51b52: /abc.html , \u5148\u67e5\u627e /abc.html, \u4e0d\u5b58\u5728\u7684\u8bdd\u67e5\u627e /abc.html.gz\n-- \u82e5gz\u5b58\u5728, \u4f1a\u81ea\u52a8\u4ee5\u538b\u7f29\u6587\u4ef6\u8fdb\u884c\u54cd\u5e94, \u7edd\u5927\u90e8\u5206\u6d4f\u89c8\u5668\u652f\u6301.\n-- \u5f53\u524d\u9ed8\u8ba4\u67e5\u627e /luadb/xxx \u4e0b\u7684\u6587\u4ef6,\u6682\u4e0d\u53ef\u914d\u7f6e\n", "prefix": "httpsrv.start"}, "httpsrv.stop": {"body": "httpsrv.stop(${1:port})", "description": "httpsrv.stop(port) - \u505c\u6b62http\u670d\u52a1\n\u4f20\u5165\u503c\uff1a\nint \u7aef\u53e3\u53f7\n\u8fd4\u56de\u503c\uff1a\nnil \u5f53\u524d\u65e0\u8fd4\u56de\u503c\n", "prefix": "httpsrv.stop"}, "i2c.exist": {"body": "i2c.exist(${1:id})", "description": "i2c.exist(id) - i2c\u7f16\u53f7\u662f\u5426\u5b58\u5728\n\u4f20\u5165\u503c\uff1a\nint \u8bbe\u5907id, \u4f8b\u5982i2c1\u7684id\u4e3a1, i2c2\u7684id\u4e3a2\n\u8fd4\u56de\u503c\uff1a\nbool \u5b58\u5728\u5c31\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- \u68c0\u67e5i2c1\u662f\u5426\u5b58\u5728\nif i2c.exist(1) then\n log.info(\"\u5b58\u5728 i2c1\")\nend\n", "prefix": "i2c.exist"}, "i2c.setup": {"body": "i2c.setup(${1:id},${2:speed},${3:slaveAddr})", "description": "i2c.setup(id, speed, slaveAddr) - i2c\u521d\u59cb\u5316\n\u4f20\u5165\u503c\uff1a\nint \u8bbe\u5907id, \u4f8b\u5982i2c1\u7684id\u4e3a1, i2c2\u7684id\u4e3a2\nint I2C\u901f\u5ea6, \u4f8b\u5982i2c.FAST\n\u8fd4\u56de\u503c\uff1a\nint \u6210\u529f\u5c31\u8fd4\u56de1,\u5426\u5219\u8fd4\u56de0\n\u4f8b\u5b50\uff1a\n-- \u521d\u59cb\u5316i2c1\ni2c.setup(1, i2c.FAST) -- \u7aef\u53e3\u6b63\u786e\u5c31\u4e00\u5b9a\u6210\u529f\n-- \u5982\u9700\u5224\u65adi2c id\u662f\u5426\u5408\u6cd5, \u8bf7\u4f7f\u7528 i2c.exist \u51fd\u6570\n", "prefix": "i2c.setup"}, "i2c.createSoft": {"body": "i2c.createSoft(${1:scl},${2:sda},${3:delay})", "description": "i2c.createSoft(scl,sda,delay) - \u65b0\u5efa\u4e00\u4e2a\u8f6f\u4ef6i2c\u5bf9\u8c61\n\u4f20\u5165\u503c\uff1a\nint i2c SCL\u5f15\u811a\u7f16\u53f7(GPIO\u7f16\u53f7)\nint i2c SDA\u5f15\u811a\u7f16\u53f7(GPIO\u7f16\u53f7)\nint \u6bcf\u4e2a\u64cd\u4f5c\u7684\u5ef6\u65f6, \u5355\u4f4dus, \u9ed8\u8ba45\n\u8fd4\u56de\u503c\uff1a\n\u8f6f\u4ef6I2C\u5bf9\u8c61 \u53ef\u5f53\u4f5ci2c\u7684id\u4f7f\u7528\n\u4f8b\u5b50\uff1a\n-- \u6ce8\u610f\uff01\u8fd9\u4e2a\u63a5\u53e3\u662f\u8f6f\u4ef6\u6a21\u62dfi2c\uff0c\u901f\u5ea6\u53ef\u80fd\u4f1a\u6bd4\u786c\u4ef6\u7684\u6162\n-- \u4e0d\u9700\u8981\u8c03\u7528i2c.close\u63a5\u53e3\n-- \u521d\u59cb\u5316\u8f6f\u4ef6i2c\nlocal softI2C = i2c.createSoft(1, 2, 5)\ni2c.send(softI2C, 0x5C, string.char(0x0F, 0x2F))\n-- \u6ce8\u610f, \u7b2c3\u4e2a\u53c2\u6570\u662f 2023.06.19 \u6dfb\u52a0\u7684delay\n-- \u901a\u8fc7\u8c03\u6574delay\u53c2\u6570\u7684\u503c, \u53ef\u589e\u52a0\u6216\u964d\u4f4eI2C\u7684\u901f\u5ea6\n", "prefix": "i2c.createSoft"}, "i2c.send": {"body": "i2c.send(${1:id},${2:addr},${3:data},${4:stop})", "description": "i2c.send(id, addr, data,stop) - i2c\u53d1\u9001\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nint \u8bbe\u5907id, \u4f8b\u5982i2c1\u7684id\u4e3a1, i2c2\u7684id\u4e3a2\nint I2C\u5b50\u8bbe\u5907\u7684\u5730\u5740, 7\u4f4d\u5730\u5740\ninteger/string/table \u5f85\u53d1\u9001\u7684\u6570\u636e,\u81ea\u9002\u5e94\u53c2\u6570\u7c7b\u578b\ninteger \u53ef\u9009\u53c2\u6570 \u662f\u5426\u53d1\u9001\u505c\u6b62\u4f4d 1\u53d1\u9001 0\u4e0d\u53d1\u9001 \u9ed8\u8ba4\u53d1\u9001(105\u4e0d\u652f\u6301)\n\u8fd4\u56de\u503c\uff1a\ntrue/false \u53d1\u9001\u662f\u5426\u6210\u529f\n\u4f8b\u5b50\uff1a\n-- \u5f80i2c0\u53d1\u90011\u4e2a\u5b57\u8282\u7684\u6570\u636e\ni2c.send(0, 0x68, 0x75)\n-- \u5f80i2c1\u53d1\u90012\u4e2a\u5b57\u8282\u7684\u6570\u636e\ni2c.send(1, 0x5C, string.char(0x0F, 0x2F))\ni2c.send(1, 0x5C, {0x0F, 0x2F})\n", "prefix": "i2c.send"}, "i2c.recv": {"body": "i2c.recv(${1:id},${2:addr},${3:len})", "description": "i2c.recv(id, addr, len) - i2c\u63a5\u6536\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nint \u8bbe\u5907id, \u4f8b\u5982i2c1\u7684id\u4e3a1, i2c2\u7684id\u4e3a2\nint I2C\u5b50\u8bbe\u5907\u7684\u5730\u5740, 7\u4f4d\u5730\u5740\nint \u63a5\u6536\u6570\u636e\u7684\u957f\u5ea6\n\u8fd4\u56de\u503c\uff1a\nstring \u6536\u5230\u7684\u6570\u636e\n\u4f8b\u5b50\uff1a\n-- \u4ecei2c1\u8bfb\u53d62\u4e2a\u5b57\u8282\u7684\u6570\u636e\nlocal data = i2c.recv(1, 0x5C, 2)\n", "prefix": "i2c.recv"}, "i2c.writeReg": {"body": "i2c.writeReg(${1:id},${2:addr},${3:reg},${4:data},${5:stop})", "description": "i2c.writeReg(id, addr, reg, data,stop) - i2c\u5199\u5bc4\u5b58\u5668\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nint \u8bbe\u5907id, \u4f8b\u5982i2c1\u7684id\u4e3a1, i2c2\u7684id\u4e3a2\nint I2C\u5b50\u8bbe\u5907\u7684\u5730\u5740, 7\u4f4d\u5730\u5740\nint \u5bc4\u5b58\u5668\u5730\u5740\nstring \u5f85\u53d1\u9001\u7684\u6570\u636e\ninteger \u53ef\u9009\u53c2\u6570 \u662f\u5426\u53d1\u9001\u505c\u6b62\u4f4d 1\u53d1\u9001 0\u4e0d\u53d1\u9001 \u9ed8\u8ba4\u53d1\u9001(105\u4e0d\u652f\u6301)\n\u8fd4\u56de\u503c\uff1a\ntrue/false \u53d1\u9001\u662f\u5426\u6210\u529f\n\u4f8b\u5b50\uff1a\n-- \u4ecei2c1\u7684\u5730\u5740\u4e3a0x5C\u7684\u8bbe\u5907\u7684\u5bc4\u5b58\u56680x01\u5199\u51652\u4e2a\u5b57\u8282\u7684\u6570\u636e\ni2c.writeReg(1, 0x5C, 0x01, string.char(0x00, 0xF2))\n", "prefix": "i2c.writeReg"}, "i2c.readReg": {"body": "i2c.readReg(${1:id},${2:addr},${3:reg},${4:len})", "description": "i2c.readReg(id, addr, reg, len) - i2c\u8bfb\u5bc4\u5b58\u5668\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nint \u8bbe\u5907id, \u4f8b\u5982i2c1\u7684id\u4e3a1, i2c2\u7684id\u4e3a2\nint I2C\u5b50\u8bbe\u5907\u7684\u5730\u5740, 7\u4f4d\u5730\u5740\nint \u5bc4\u5b58\u5668\u5730\u5740\nint \u5f85\u63a5\u6536\u7684\u6570\u636e\u957f\u5ea6\ninteger \u53ef\u9009\u53c2\u6570 \u662f\u5426\u53d1\u9001\u505c\u6b62\u4f4d 1\u53d1\u9001 0\u4e0d\u53d1\u9001 \u9ed8\u8ba4\u53d1\u9001(105\u4e0d\u652f\u6301)\n\u8fd4\u56de\u503c\uff1a\nstring \u6536\u5230\u7684\u6570\u636e\n\u4f8b\u5b50\uff1a\n-- \u4ecei2c1\u7684\u5730\u5740\u4e3a0x5C\u7684\u8bbe\u5907\u7684\u5bc4\u5b58\u56680x01\u8bfb\u51fa2\u4e2a\u5b57\u8282\u7684\u6570\u636e\ni2c.readReg(1, 0x5C, 0x01, 2)\n", "prefix": "i2c.readReg"}, "i2c.close": {"body": "i2c.close(${1:id})", "description": "i2c.close(id) - \u5173\u95edi2c\u8bbe\u5907\n\u4f20\u5165\u503c\uff1a\nint \u8bbe\u5907id, \u4f8b\u5982i2c1\u7684id\u4e3a1, i2c2\u7684id\u4e3a2\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n-- \u5173\u95edi2c1\ni2c.close(1)\n", "prefix": "i2c.close"}, "i2c.readDHT12": {"body": "i2c.readDHT12(${1:id})", "description": "i2c.readDHT12(id) - \u4ecei2c\u603b\u7ebf\u8bfb\u53d6DHT12\u7684\u6e29\u6e7f\u5ea6\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nint \u8bbe\u5907id, \u4f8b\u5982i2c1\u7684id\u4e3a1, i2c2\u7684id\u4e3a2\nint DHT12\u7684\u8bbe\u5907\u5730\u5740,\u9ed8\u8ba40x5C\n\u8fd4\u56de\u503c\uff1a\nboolean \u8bfb\u53d6\u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\nint \u6e7f\u5ea6\u503c,\u5355\u4f4d0.1%, \u4f8b\u5982 591 \u4ee3\u8868 59.1%\nint \u6e29\u5ea6\u503c,\u5355\u4f4d0.1\u6444\u6c0f\u5ea6, \u4f8b\u5982 292 \u4ee3\u8868 29.2\u6444\u6c0f\u5ea6\n\u4f8b\u5b50\uff1a\n-- \u4ecei2c0\u8bfb\u53d6DHT12\ni2c.setup(0)\nlocal re, H, T = i2c.readDHT12(0)\nif re then\n log.info(\"dht12\", H, T)\nend\n", "prefix": "i2c.readDHT12"}, "i2c.readSHT30": {"body": "i2c.readSHT30(${1:id},${2:addr})", "description": "i2c.readSHT30(id,addr) - \u4ecei2c\u603b\u7ebf\u8bfb\u53d6DHT30\u7684\u6e29\u6e7f\u5ea6\u6570\u636e(\u7531\"\u597d\u5947\u661f\"\u8d21\u732e)\n\u4f20\u5165\u503c\uff1a\nint \u8bbe\u5907id, \u4f8b\u5982i2c1\u7684id\u4e3a1, i2c2\u7684id\u4e3a2\nint \u8bbe\u5907addr,SHT30\u7684\u8bbe\u5907\u5730\u5740,\u9ed8\u8ba40x44 bit7\n\u8fd4\u56de\u503c\uff1a\nboolean \u8bfb\u53d6\u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\nint \u6e7f\u5ea6\u503c,\u5355\u4f4d0.1%, \u4f8b\u5982 591 \u4ee3\u8868 59.1%\nint \u6e29\u5ea6\u503c,\u5355\u4f4d0.1\u6444\u6c0f\u5ea6, \u4f8b\u5982 292 \u4ee3\u8868 29.2\u6444\u6c0f\u5ea6\n\u4f8b\u5b50\uff1a\n-- \u4ecei2c0\u8bfb\u53d6SHT30\ni2c.setup(0)\nlocal re, H, T = i2c.readSHT30(0)\nif re then\n log.info(\"sht30\", H, T)\nend\n", "prefix": "i2c.readSHT30"}, "i2c.transfer": {"body": "i2c.transfer(${1:id},${2:addr},${3:txBuff},${4:rxBuff},${5:rxLen})", "description": "i2c.transfer(id, addr, txBuff, rxBuff, rxLen) - i2c\u901a\u7528\u4f20\u8f93\uff0c\u5305\u62ec\u53d1\u9001N\u5b57\u8282\uff0c\u53d1\u9001N\u5b57\u8282+\u63a5\u6536N\u5b57\u8282\uff0c\u63a5\u6536N\u5b57\u8282\u4e09\u79cd\u529f\u80fd\uff0c\u5728\u53d1\u9001\u8f6c\u63a5\u6536\u8fc7\u7a0b\u4e2d\u53d1\u9001reStart\u4fe1\u53f7,\u89e3\u51b3\u7c7b\u4f3cmlx90614\u5fc5\u987b\u5e26restart\u4fe1\u53f7\uff0c\u4f46\u662f\u53c8\u4e0d\u80fd\u7528i2c.send\u6765\u63a7\u5236\u7684\uff0c\u6bd4\u5982air105\n\u4f20\u5165\u503c\uff1a\nint \u8bbe\u5907id, \u4f8b\u5982i2c1\u7684id\u4e3a1, i2c2\u7684id\u4e3a2\nint I2C\u5b50\u8bbe\u5907\u7684\u5730\u5740, 7\u4f4d\u5730\u5740\ninteger/string/zbuff \u5f85\u53d1\u9001\u7684\u6570\u636e,\u81ea\u9002\u5e94\u53c2\u6570\u7c7b\u578b\uff0c\u5982\u679c\u4e3anil\uff0c\u5219\u4e0d\u53d1\u9001\u6570\u636e\nzbuff \u5f85\u63a5\u6536\u6570\u636e\u7684zbuff \u5982\u679c\u4e0d\u7528zbuff\uff0c\u5219\u63a5\u6536\u6570\u636e\u5c06\u5728return\u8fd4\u56de\nint \u9700\u8981\u63a5\u6536\u7684\u6570\u636e\u957f\u5ea6\uff0c\u5982\u679c\u4e3a0\u6216nil\uff0c\u5219\u4e0d\u63a5\u6536\u6570\u636e\n\u8fd4\u56de\u503c\uff1a\nboolean true/false \u53d1\u9001\u662f\u5426\u6210\u529f\nstring or nil \u5982\u679c\u53c2\u65705\u662finterger\uff0c\u5219\u8fd4\u56de\u63a5\u6536\u5230\u7684\u6570\u636e\n\u4f8b\u5b50\uff1a\nlocal result, _ = i2c.transfer(0, 0x11, txbuff, rxbuff, 1)\nlocal result, _ = i2c.transfer(0, 0x11, txbuff, nil, 0)\t--\u53ea\u53d1\u9001txbuff\u91cc\u7684\u6570\u636e\uff0c\u4e0d\u63a5\u6536\u6570\u636e\uff0c\u5178\u578b\u5e94\u7528\u5c31\u662f\u5199\u5bc4\u5b58\u5668\u4e86\uff0c\u8fd9\u91cc\u5bc4\u5b58\u5668\u5730\u5740\u548c\u503c\u90fd\u653e\u5728\u4e86txbuff\u91cc\nlocal result, _ = i2c.transfer(0, 0x11, \"\\x01\\x02\\x03\", nil, 1) --\u53d1\u90010x01\uff0c 0x02\uff0c0x03\uff0c\u4e0d\u63a5\u6536\u6570\u636e\uff0c\u5982\u679c\u662feeprom\uff0c\u5c31\u662f\u5f800x01\u7684\u5730\u5740\u519902\u548c03\uff0c\u6216\u8005\u5f800x0102\u7684\u5730\u5740\u519903\uff0c\u770b\u5177\u4f53\u82af\u7247\u4e86\nlocal result, rxdata = i2c.transfer(0, 0x11, \"\\x01\\x02\", nil, 1) --\u53d1\u90010x01\uff0c 0x02\uff0c\u7136\u540e\u63a5\u65361\u4e2a\u5b57\u8282\uff0c\u5178\u578b\u5e94\u7528\u5c31\u662feeprom\nlocal result, rxdata = i2c.transfer(0, 0x11, 0x00, nil, 1) --\u53d1\u90010x00\uff0c\u7136\u540e\u63a5\u65361\u4e2a\u5b57\u8282\uff0c\u5178\u578b\u5e94\u7528\u5404\u79cd\u4f20\u611f\u5668\n", "prefix": "i2c.transfer"}, "i2c.xfer": {"body": "i2c.xfer(${1:id},${2:addr},${3:txBuff},${4:rxBuff},${5:rxLen},${6:transfer_done_topic},${7:timeout})", "description": "i2c.xfer(id, addr, txBuff, rxBuff, rxLen, transfer_done_topic, timeout) - i2c\u975e\u963b\u585e\u901a\u7528\u4f20\u8f93\uff0c\u7c7b\u4f3ctransfer\uff0c\u4f46\u662f\u4e0d\u4f1a\u7b49\u5230I2C\u4f20\u8f93\u5b8c\u6210\u624d\u8fd4\u56de\uff0c\u8c03\u7528\u672c\u51fd\u6570\u4f1a\u7acb\u523b\u8fd4\u56de\uff0cI2C\u4f20\u8f93\u5b8c\u6210\u540e\uff0c\u901a\u8fc7\u6d88\u606f\u56de\u8c03\n\u4f20\u5165\u503c\uff1a\nint \u8bbe\u5907id, \u4f8b\u5982i2c1\u7684id\u4e3a1, i2c2\u7684id\u4e3a2\nint I2C\u5b50\u8bbe\u5907\u7684\u5730\u5740, 7\u4f4d\u5730\u5740\nzbuff \u5f85\u53d1\u9001\u7684\u6570\u636e\uff0c\u7531\u4e8e\u7528\u7684\u975e\u963b\u585e\u6a21\u578b\uff0c\u4e3a\u4fdd\u8bc1\u52a8\u6001\u6570\u636e\u7684\u6709\u6548\u6027\uff0c\u53ea\u80fd\u4f7f\u7528zbuff\uff0c\u53d1\u9001\u7684\u6570\u636e\u4ecezbuff.addr\u5f00\u59cb\uff0c\u957f\u5ea6\u4e3azbuff.used\nzbuff \u5f85\u63a5\u6536\u6570\u636e\u7684zbuff\uff0c\u5982\u679c\u4e3anil\uff0c\u5219\u5ffd\u7565\u540e\u9762\u53c2\u6570\uff0c \u4e0d\u63a5\u6536\u6570\u636e\u3002\u63a5\u6536\u7684\u6570\u636e\u4f1a\u653e\u5728zbuff.addr\u5f00\u59cb\u7684\u4f4d\u7f6e\uff0c\u4f1a\u8986\u76d6\u6389\u4e4b\u524d\u7684\u6570\u636e\uff0c\u6ce8\u610fzhuff\u7684\u9884\u7559\u7a7a\u95f4\u8981\u8db3\u591f\nint \u9700\u8981\u63a5\u6536\u7684\u6570\u636e\u957f\u5ea6\uff0c\u5982\u679c\u4e3a0\u6216nil\uff0c\u5219\u4e0d\u63a5\u6536\u6570\u636e\nstring \u4f20\u8f93\u5b8c\u6210\u540e\u56de\u8c03\u7684\u6d88\u606f\nint \u8d85\u65f6\u65f6\u95f4\uff0c\u5982\u679c\u586bnil\uff0c\u5219\u4e3a100ms\n\u8fd4\u56de\u503c\uff1a\nboolean true/false \u672c\u6b21\u4f20\u8f93\u662f\u5426\u6b63\u786e\u542f\u52a8\uff0ctrue\uff0c\u542f\u52a8\uff0cfalse\uff0c\u6709\u9519\u8bef\u65e0\u6cd5\u542f\u52a8\u3002\u4f20\u8f93\u5b8c\u6210\u4f1a\u53d1\u5e03\u6d88\u606ftransfer_done_topic\u548cboolean\u578b\u7ed3\u679c\n\u4f8b\u5b50\uff1a\nlocal result = i2c.xfer(0, 0x11, txbuff, rxbuff, 1, \"I2CDONE\") if result then result, i2c_id, succ, error_code = sys.waitUntil(\"I2CDONE\") end if not result or not succ then log.info(\"i2c fail, error code\", error_code) else log.info(\"i2c ok\") end\n\n", "prefix": "i2c.xfer"}, "i2c.scan": {"body": "i2c.scan(${1:id})", "description": "i2c.scan(id) - \u626b\u63cfi2c\u8bbe\u5907\n\u4f20\u5165\u503c\uff1a\nint \u8bbe\u5907id, \u4f8b\u5982i2c1\u7684id\u4e3a1, i2c2\u7684id\u4e3a2\n\u8fd4\u56de\u503c\uff1a\nnil \u5f53\u524d\u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n-- \u672c\u51fd\u6570\u4e8e2023.07.04\u6dfb\u52a0\n-- \u8fd9\u4e2a\u51fd\u6570\u7684\u4e3b\u8981\u76ee\u6807\u662f\u4e3a\u4e86\u5728\u5f00\u53d1\u671f\u626b\u63cfi2c\u8bbe\u5907\n-- \u6709\u4e9bBSP\u5728\u6307\u5b9aaddr\u65e0\u54cd\u5e94\u65f6\u4f1a\u8f93\u51fa\u65e5\u5fd7,\u5bfc\u81f4\u8f93\u51fa\u4f1a\u88ab\u6253\u4e71\ni2c.scan()\n", "prefix": "i2c.scan"}, "i2s.setup": {"body": "i2s.setup(${1:id},${2:mode},${3:sample},${4:bitw},${5:channel},${6:format},${7:mclk})", "description": "i2s.setup(id, mode, sample, bitw, channel, format, mclk) - \u521d\u59cb\u5316i2s\n\u4f20\u5165\u503c\uff1a\nint i2s\u901a\u9053\u53f7,\u4e0e\u5177\u4f53\u8bbe\u5907\u6709\u5173\nint \u6a21\u5f0f, \u5f53\u524d\u4ec5\u652f\u63010, MASTER|TX|RX \u6a21\u5f0f, \u6682\u4e0d\u652f\u6301slave. \u53ef\u9009\nint \u91c7\u6837\u7387,\u9ed8\u8ba444100. \u53ef\u9009\nint \u6570\u636e\u4f4d\u6570,\u9ed8\u8ba416, \u53ef\u4ee5\u662f8\u7684\u500d\u6570\nint \u58f0\u9053, 0 \u5de6\u58f0\u9053, 1 \u53f3\u58f0\u9053, 2 \u53cc\u58f0\u9053. \u53ef\u9009\nint \u683c\u5f0f, \u53ef\u9009MODE_I2S, MODE_LSB, MODE_MSB\nint mclk\u9891\u7387, \u9ed8\u8ba4 8M. \u53ef\u9009\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u4e0e\u5426\nint \u5e95\u5c42\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n-- \u4ee5\u9ed8\u8ba4\u53c2\u6570\u521d\u59cb\u5316i2s\ni2s.setup(0)\n-- \u4ee5\u8be6\u7ec6\u53c2\u6570\u521d\u59cb\u5316i2s, \u793a\u4f8b\u4e3a\u9ed8\u8ba4\u503c\ni2s.setup(0, 0, 44100, 16, 0, 0, 8000000)\n", "prefix": "i2s.setup"}, "i2s.send": {"body": "i2s.send(${1:id},${2:data},${3:len})", "description": "i2s.send(id, data, len) - \u53d1\u9001i2s\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nint \u901a\u9053id\nstring \u6570\u636e, \u53ef\u4ee5\u662f\u5b57\u7b26\u4e32\u6216zbuff\nint \u6570\u636e\u957f\u5ea6,\u5355\u4f4d\u5b57\u8282, \u5b57\u7b26\u4e32\u9ed8\u8ba4\u4e3a\u5b57\u7b26\u4e32\u5168\u957f, zbuff\u9ed8\u8ba4\u4e3a\u6307\u9488\u4f4d\u7f6e\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u4e0e\u5426\nint \u5e95\u5c42\u8fd4\u56de\u503c,\u4f9b\u8c03\u8bd5\u7528\n\u4f8b\u5b50\uff1a\nlocal f = io.open(\"/luadb/abc.wav\")\nwhile 1 do\n local data = f:read(4096)\n if not data or #data == 0 then\n break\n end\n i2s.send(0, data)\n sys.wait(100)\nend\n", "prefix": "i2s.send"}, "i2s.recv": {"body": "i2s.recv(${1:id},${2:buffer},${3:len})", "description": "i2s.recv(id, buffer, len) - \u63a5\u6536i2s\u6570\u636e\uff0c\u6ce8\u610f\u5728\u6570\u636e\u5728\u56de\u8c03\u65f6\u5df2\u7ecf\u5b58\u653e\u5728zbuff\u91cc\uff0c\u76ee\u524d\u53ea\u6709air780e\u7cfb\u5217\u652f\u6301\n\u4f20\u5165\u503c\uff1a\nint \u901a\u9053id\nzbuff \u6570\u636e\u7f13\u5b58\u533a\nint \u5355\u6b21\u8fd4\u56de\u7684\u6570\u636e\u957f\u5ea6,\u5355\u4f4d\u5b57\u8282,\u5fc5\u987b\u4e0e\u4f20\u5165\u7684zbuff\u7684\u5927\u5c0f\u4e00\u81f4\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u4e0e\u5426\n\u4f8b\u5b50\uff1a\nlocal buffer = zbuff.create(3200)\nlocal succ = i2s.recv(0, buffer, 3200);\n", "prefix": "i2s.recv"}, "i2s.close": {"body": "i2s.close(${1:id})", "description": "i2s.close(id) - \u5173\u95edi2s\n\u4f20\u5165\u503c\uff1a\nint \u901a\u9053id\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\ni2s.close(0)\n", "prefix": "i2s.close"}, "i2s.on": {"body": "i2s.on(${1:id},${2:func})", "description": "i2s.on(id, func) - \u6ce8\u518cI2S\u4e8b\u4ef6\u56de\u8c03\n\u4f20\u5165\u503c\uff1a\nint i2s id, i2s0\u51990, i2s1\u51991\nfunction \u56de\u8c03\u65b9\u6cd5\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\ni2s.on(0, function(id, buff)\n\tif buff then\n\t\tlog.info(\"i2s get data in zbuff\")\n\telse\n\t\tlog.info(\"i2s tx one block done\")\n\tend\nend)\n", "prefix": "i2s.on"}, "i2s.txStat": {"body": "i2s.txStat(${1:id})", "description": "i2s.txStat(id) - \u83b7\u53d6i2s\u7684\u53d1\u9001\u7f13\u51b2\u533a\u72b6\u6001\n\u4f20\u5165\u503c\uff1a\nint i2s id, i2s0\u51990, i2s1\u51991\nreturn \u5e95\u5c42\u7f13\u51b2\u533a\u7684\u603b\u5927\u5c0f\nreturn \u5e95\u5c42\u7f13\u51b2\u533a\u7684\u5269\u4f59\u5f85\u53d1\u9001\u6570\u636e\n\u4f8b\u5b50\uff1a\n-- \u8bfb\u53d6\u53d1\u9001\u7f13\u51b2\u533a\u7684\u72b6\u6001, \u4ece\u800c\u5224\u65ad\u662f\u5426\u9700\u8981\u7ee7\u7eed\u4f20\u5165\u97f3\u9891\u6570\u636e\nlocal max, remain = i2s.txStat(0)\nlog.info(\"i2s\u53d1\u9001\u7f13\u51b2\u533a\u72b6\u6001\", max, remain)\n", "prefix": "i2s.txStat"}, "iconv.open": {"body": "iconv.open(${1:tocode},${2:fromcode})", "description": "iconv.open(tocode, fromcode) - \u6253\u5f00\u76f8\u5e94\u5b57\u7b26\u7f16\u7801\u8f6c\u6362\u51fd\u6570\n\u4f20\u5165\u503c\uff1a\nstring tocode$\u76ee\u6807\u7f16\u7801\u683c\u5f0f$gb2312/ucs2/ucs2be/utf8\nstring fromcode$\u6e90\u7f16\u7801\u683c\u5f0f$gb2312/ucs2/ucs2be/utf8\nreturn table$cd$\u7f16\u7801\u8f6c\u6362\u51fd\u6570\u7684\u8f6c\u6362\u53e5\u67c4$ \n\u4f8b\u5b50\uff1a\n--unicode\u5927\u7aef\u7f16\u7801 \u8f6c\u5316\u4e3a utf8\u7f16\u7801\nlocal cd = iconv.open(\"utf8\", \"ucs2be\")\n", "prefix": "iconv.open"}, "iconv:iconv": {"body": "iconv:iconv(${1:inbuf})", "description": "iconv:iconv(inbuf) - \u5b57\u7b26\u7f16\u7801\u8f6c\u6362\n\u4f20\u5165\u503c\uff1a\nstring \u91ca\u4e49\uff1a\u5f85\u8f6c\u6362\u5b57\u7b26\u4e32\n\u8fd4\u56de\u503c\uff1a\nnumber \u91ca\u4e49\uff1a\u8fd4\u56de\u7f16\u7801\u8f6c\u6362\u540e\u7684\u7ed3\u679c
        \u53d6\u503c\uff1a0\u6210\u529f,-1\u5931\u8d25\n\u4f8b\u5b50\uff1a\n--unicode\u5927\u7aef\u7f16\u7801 \u8f6c\u5316\u4e3a utf8\u7f16\u7801\nfunction ucs2beToUtf8(ucs2s)\n local iconv = iconv.open(\"utf8\", \"ucs2be\")\n return iconv:iconv(ucs2s)\nend\n", "prefix": "iconv:iconv"}, "cd:iconv": {"body": "cd:iconv(${1:inbuf})", "description": "cd:iconv(inbuf) - \u5b57\u7b26\u7f16\u7801\u8f6c\u6362\n\u4f20\u5165\u503c\uff1a\nstring inbuf$\u8f93\u5165\u5b57\u7b26\u4e32$\u4f8b\u5982:ucs2s \nreturn number$result$\u8fd4\u56de\u7f16\u7801\u8f6c\u6362\u540e\u7684\u7ed3\u679c$0\u6210\u529f,-1\u5931\u8d25\n\u4f8b\u5b50\uff1a\n--unicode\u5927\u7aef\u7f16\u7801 \u8f6c\u5316\u4e3a utf8\u7f16\u7801\nfunction ucs2beToUtf8(ucs2s)\n local cd = iconv.open(\"utf8\", \"ucs2be\")\n return cd:iconv(ucs2s)\nend\n", "prefix": "cd:iconv"}, "iconv.close": {"body": "iconv.close(${1:cd})", "description": "iconv.close(cd) - \u5173\u95ed\u5b57\u7b26\u7f16\u7801\u8f6c\u6362\n\u4f20\u5165\u503c\uff1a\nstring cd$iconv.open\u8fd4\u56de\u7684\u53e5\u67c4$ \nreturn \n\u4f8b\u5b50\uff1a\n--\u5173\u95ed\u5b57\u7b26\u7f16\u7801\u8f6c\u6362\nlocal cd = iconv.open(\"utf8\", \"ucs2be\")\niconv.close(cd)\n", "prefix": "iconv.close"}, "io.exists": {"body": "io.exists(${1:path})", "description": "io.exists(path) - \u5224\u65ad\u6587\u4ef6\u662f\u5426\u5b58\u5728\n\u4f20\u5165\u503c\uff1a\nstring \u6587\u4ef6\u8def\u5f84\n\u8fd4\u56de\u503c\uff1a\nbool \u5b58\u5728\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\nlog.info(\"io\", \"file exists\", io.exists(\"/boottime\"))\n", "prefix": "io.exists"}, "io.fileSize": {"body": "io.fileSize(${1:path})", "description": "io.fileSize(path) - \u83b7\u53d6\u6587\u4ef6\u5927\u5c0f\n\u4f20\u5165\u503c\uff1a\nstring \u6587\u4ef6\u8def\u5f84\n\u8fd4\u56de\u503c\uff1a\nint \u6587\u4ef6\u6570\u636e,\u82e5\u6587\u4ef6\u4e0d\u5b58\u5728\u4f1a\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\nlocal fsize = io.fileSize(\"/bootime\")\nif fsize and fsize > 1024 then\n log.info(\"io\", \"file size\", fsize)\nend\n", "prefix": "io.fileSize"}, "io.readFile": {"body": "io.readFile(${1:path},${2:mode},${3:offset},${4:len})", "description": "io.readFile(path, mode, offset, len) - \u8bfb\u53d6\u6574\u4e2a\u6587\u4ef6,\u8bf7\u6ce8\u610f\u5185\u5b58\u6d88\u8017\n\u4f20\u5165\u503c\uff1a\nstring \u6587\u4ef6\u8def\u5f84\nstring \u8bfb\u53d6\u6a21\u5f0f, \u9ed8\u8ba4 \"rb\"\nint \u8d77\u59cb\u4f4d\u7f6e,\u9ed8\u8ba40\nint \u8bfb\u53d6\u957f\u5ea6,\u9ed8\u8ba4\u6574\u4e2a\u6587\u4ef6\n\u8fd4\u56de\u503c\uff1a\nstring \u6587\u4ef6\u6570\u636e,\u82e5\u6587\u4ef6\u4e0d\u5b58\u5728\u4f1a\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\nlocal data = io.readFile(\"/bootime\")\n-- \u6ce8\u610f: offset\u548clen\u53c2\u6570\u662f 2023.6.6\u6dfb\u52a0\u7684\n-- \u8bfb\u53d6abc.txt, \u5148\u8df3\u8fc7128\u5b57\u8282, \u7136\u540e\u8bfb\u53d6512\u5b57\u8282\u6570\u636e\nlocal data = io.readFile(\"/abc.txt\", \"rb\", 128, 512)\n", "prefix": "io.readFile"}, "io.writeFile": {"body": "io.writeFile(${1:path},${2:data})", "description": "io.writeFile(path, data) - \u5c06\u6570\u636e\u5199\u5165\u6587\u4ef6\n\u4f20\u5165\u503c\uff1a\nstring \u6587\u4ef6\u8def\u5f84\nstring \u6570\u636e\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue, \u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\nio.writeFile(\"/bootime\", \"1\")\n", "prefix": "io.writeFile"}, "io.fill": {"body": "io.fill(${1:buff},${2:offset},${3:len})", "description": "io.fill(buff, offset, len) - \u8bfb\u53d6\u6587\u4ef6\u5e76\u586b\u5145\u5230zbuff\u5185,\u4f46\u4e0d\u79fb\u52a8\u6307\u9488\u4f4d\u7f6e\n\u4f20\u5165\u503c\uff1a\nuserdata zbuff\u5b9e\u4f53\nint \u5199\u5165\u7684\u4f4d\u7f6e,\u9ed8\u8ba4\u662f0\nint \u5199\u5165\u7684\u957f\u5ea6,\u9ed8\u8ba4\u662fzbuff\u7684len\u51cf\u53bboffset\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\nint \u8fd4\u56de\u5b9e\u9645\u8bfb\u53d6\u5230\u7684\u957f\u5ea6\uff0c\u5982\u679c\u5c0f\u4e8e0\u4e5f\u8bf4\u660e\u662f\u8bfb\u53d6\u5931\u8d25\u4e86\n\u4f8b\u5b50\uff1a\nlocal buff = zbuff.create(1024)\nlocal f = io.open(\"/sd/test.txt\")\nif f then\n f:fill(buff)\nend\n", "prefix": "io.fill"}, "io.mkfs": {"body": "io.mkfs(${1:path})", "description": "io.mkfs(path) - \u683c\u5f0f\u5316\u6587\u4ef6\u7cfb\u7edf,\u9700\u6307\u5b9a\u6302\u8f7d\u70b9\n\u4f20\u5165\u503c\uff1a\nstring \u6302\u8f7d\u70b9\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u4e0e\u5426\nint \u5e95\u5c42\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\nlocal ret, errio = io.mkfs(\"/sd\")\nlog.info(\"fs\", \"mkfs\", ret, errio)\n", "prefix": "io.mkfs"}, "io.mkdir": {"body": "io.mkdir(${1:path})", "description": "io.mkdir(path) - \u521b\u5efa\u6587\u4ef6\u5939\n\u4f20\u5165\u503c\uff1a\nstring \u9700\u8981\u5efa\u7acb\u7684\u76ee\u5f55\u8def\u5f84\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u4e0e\u5426\nint \u5e95\u5c42\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\nlocal ret, errio = io.mkdir(\"/data/\")\nlog.info(\"fs\", \"mkdir\", ret, errio)\n", "prefix": "io.mkdir"}, "io.rmdir": {"body": "io.rmdir(${1:path})", "description": "io.rmdir(path) - \u5220\u9664\u6587\u4ef6\u5939\n\u4f20\u5165\u503c\uff1a\nstring \u9700\u8981\u79fb\u9664\u7684\u76ee\u5f55\u8def\u5f84\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u4e0e\u5426\nint \u5e95\u5c42\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\nlocal ret, errio = io.rmdir(\"/data/\")\nlog.info(\"fs\", \"rmdir\", ret, errio)\n", "prefix": "io.rmdir"}, "io.lsdir": {"body": "io.lsdir(${1:path},${2:len},${3:offset})", "description": "io.lsdir(path, len, offset) - \u5217\u51fa\u76ee\u5f55\u4e0b\u7684\u6587\u4ef6\n\u4f20\u5165\u503c\uff1a\nstring \u9700\u8981\u679a\u4e3e\u7684\u76ee\u5f55\u8def\u5f84\nint \u6700\u5927\u957f\u5ea6, \u9ed8\u8ba410, \u6700\u9ad850\nint \u504f\u79fb\u91cf, \u9ed8\u8ba40, \u5f53\u76ee\u5f55\u6587\u4ef6\u5f88\u591a\u65f6\u5206\u9875\u67e5\u8be2\u7528\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u4e0e\u5426\nint \u5e95\u5c42\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\nlocal ret, data = io.lsdir(\"/data/\", 10, 0)\nif ret then\n log.info(\"fs\", \"lsdir\", json.encode(data))\nelse\n log.info(\"fs\", \"lsdir\", \"fail\", ret, data)\nend\n", "prefix": "io.lsdir"}, "io.lsmount": {"body": "io.lsmount()", "description": "io.lsmount() - \u5217\u51fa\u6240\u6709\u6302\u8f7d\u70b9\n\u8fd4\u56de\u503c\uff1a\ntable \u6302\u8f7d\u70b9\u5217\u8868\n\u4f8b\u5b50\uff1a\nlocal data = io.lsmount()\nlog.info(\"fs\", \"lsmount\", json.encode(data))\n", "prefix": "io.lsmount"}, "ioqueue.init": {"body": "ioqueue.init(${1:hwtimer_id},${2:cmd_cnt},${3:repeat_cnt})", "description": "ioqueue.init(hwtimer_id,cmd_cnt,repeat_cnt) - \u521d\u59cb\u5316\u4e00\u4e2aio\u64cd\u4f5c\u961f\u5217\n\u4f20\u5165\u503c\uff1a\nint \u786c\u4ef6\u5b9a\u65f6\u5668id\uff0c\u9ed8\u8ba4\u75280\uff0c\u6839\u636e\u5b9e\u9645MCU\u786e\u5b9a\uff0cair105\u4e3a0~5\uff0c\u4e0epwm\u5171\u7528\uff0c\u540c\u4e00\u4e2a\u901a\u9053\u53f7\u4e0d\u80fd\u540c\u65f6\u4e3apwm\u548cioqueue\nint \u4e00\u4e2a\u5b8c\u6574\u5468\u671f\u9700\u8981\u7684\u547d\u4ee4\uff0c\u53ef\u4ee5\u6bd4\u5b9e\u9645\u7684\u591a\nint \u91cd\u590d\u6b21\u6570,\u9ed8\u8ba4\u662f1\uff0c\u5982\u679c\u51990\u5219\u8868\u793a\u65e0\u9650\u6b21\u6570\u5faa\u73af\nreturn \u65e0\n\u4f8b\u5b50\uff1a\nioqueue.init(0,10,5) --\u4ee5timer0\u4e3a\u65f6\u949f\u6e90\u521d\u59cb\u5316\u4e00\u4e2aio\u64cd\u4f5c\u961f\u5217\uff0c\u670910\u4e2a\u6709\u6548\u547d\u4ee4\uff0c\u5faa\u73af5\u6b21\n", "prefix": "ioqueue.init"}, "ioqueue.setdelay": {"body": "ioqueue.setdelay(${1:hwtimer_id},${2:time_us},${3:time_tick},${4:continue})", "description": "ioqueue.setdelay(hwtimer_id,time_us,time_tick,continue) - \u5bf9io\u64cd\u4f5c\u961f\u5217\u589e\u52a0\u5ef6\u65f6\u547d\u4ee4\n\u4f20\u5165\u503c\uff1a\nint \u786c\u4ef6\u5b9a\u65f6\u5668id\nint \u5ef6\u65f6\u65f6\u95f4,0~65535us\nint \u5ef6\u65f6\u5fae\u8c03\u65f6\u95f4,0~255tick,\u603b\u7684\u5ef6\u65f6\u65f6\u95f4\u662ftime_us * 1us_tick + time_tick\nboolean \u662f\u5426\u8fde\u7eed\u662f\u8fde\u7eed\u5ef6\u65f6\uff0c\u9ed8\u8ba4\u5426\uff0c\u5982\u679c\u662f\uff0c\u5b9a\u65f6\u5668\u5728\u65f6\u95f4\u5230\u540e\u4e0d\u4f1a\u505c\u6b62\u800c\u662f\u91cd\u65b0\u8ba1\u65f6\uff0c\n", "prefix": "ioqueue.setdelay"}, "ioqueue.delay": {"body": "ioqueue.delay(${1:hwtimer_id})", "description": "ioqueue.delay(hwtimer_id) - \u5bf9io\u64cd\u4f5c\u961f\u5217\u589e\u52a0\u4e00\u6b21\u91cd\u590d\u5ef6\u65f6\uff0c\u5728\u524d\u9762\u5fc5\u987b\u6709setdelay\u4e14\u662f\u8fde\u7eed\u5ef6\u65f6\n\u4f20\u5165\u503c\uff1a\nint \u786c\u4ef6\u5b9a\u65f6\u5668id\nreturn \u65e0\n\u4f8b\u5b50\uff1a\nioqueue.setdelay(0,9,15,true) --\u5ef6\u65f69us+15\u4e2atick,\u5728\u4e4b\u540e\u9047\u5230delay\u547d\u4ee4\u65f6\uff0c\u4f1a\u5ef6\u65f69us+15\u4e2atick\nioqueue.delay(0)\n", "prefix": "ioqueue.delay"}, "ioqueue.setgpio": {"body": "ioqueue.setgpio(${1:hwtimer_id},${2:pin},${3:is_input},${4:pull_mode},${5:init_level})", "description": "ioqueue.setgpio(hwtimer_id,pin,is_input,pull_mode,init_level) - \u5bf9io\u64cd\u4f5c\u961f\u5217\u589e\u52a0\u8bbe\u7f6egpio\u547d\u4ee4\n\u4f20\u5165\u503c\uff1a\nint \u786c\u4ef6\u5b9a\u65f6\u5668id\nint pin\nboolean \u662f\u5426\u662f\u8f93\u5165\nint \u4e0a\u4e0b\u62c9\u6a21\u5f0f,\u53ea\u80fd\u662f0,gpio.PULLUP,gpio.PULLDOWN\nint \u521d\u59cb\u8f93\u51fa\u7535\u5e73\nreturn \u65e0\n\u4f8b\u5b50\uff1a\nioqueue.setgpio(0,pin.PB01,true,gpio.PULLUP,0) --PB01\u8bbe\u7f6e\u6210\u4e0a\u62c9\u8f93\u5165\nioqueue.setgpio(0,pin.PB01,false,0,1)--PB01\u8bbe\u7f6e\u6210\u9ed8\u8ba4\u4e0a\u4e0b\u62c9\u8f93\u51fa\u9ad8\u7535\u5e73\n", "prefix": "ioqueue.setgpio"}, "ioqueue.input": {"body": "ioqueue.input(${1:hwtimer_id},${2:pin})", "description": "ioqueue.input(hwtimer_id,pin) - \u5bf9io\u64cd\u4f5c\u961f\u5217\u589e\u52a0\u8bfb\u53d6gpio\u547d\u4ee4\n\u4f20\u5165\u503c\uff1a\nint \u786c\u4ef6\u5b9a\u65f6\u5668id\nint pin\nreturn \u65e0\n\u4f8b\u5b50\uff1a\nioqueue.input(0,pin.PB01)\n\n", "prefix": "ioqueue.input"}, "ioqueue.output": {"body": "ioqueue.output(${1:hwtimer_id},${2:pin},${3:level})", "description": "ioqueue.output(hwtimer_id,pin,level) - \u5bf9io\u64cd\u4f5c\u961f\u5217\u589e\u52a0\u8f93\u51faGPIO\u547d\u4ee4\n\u4f20\u5165\u503c\uff1a\nint \u786c\u4ef6\u5b9a\u65f6\u5668id\nint pin\nint \u8f93\u51fa\u7535\u5e73\nreturn \u65e0\n\u4f8b\u5b50\uff1a\nioqueue.output(0,pin.PB01,0)\n", "prefix": "ioqueue.output"}, "ioqueue.setcap": {"body": "ioqueue.setcap(${1:hwtimer_id},${2:pin},${3:pull_mode},${4:irq_mode},${5:max_tick})", "description": "ioqueue.setcap(hwtimer_id,pin,pull_mode,irq_mode,max_tick) - \u5bf9io\u64cd\u4f5c\u961f\u5217\u589e\u52a0\u8bbe\u7f6e\u6355\u83b7\u67d0\u4e2aIO\u547d\u4ee4\n\u4f20\u5165\u503c\uff1a\nint \u786c\u4ef6\u5b9a\u65f6\u5668id\nint pin\nint \u4e0a\u4e0b\u62c9\u6a21\u5f0f,\u53ea\u80fd\u662f0,gpio.PULLUP,gpio.PULLDOWN\nint \u4e2d\u65ad\u6a21\u5f0f,\u53ea\u80fd\u662fgpio.BOTH,gpio.RISING,gpio.FALLING\nint \u5b9a\u65f6\u5668\u6700\u5927\u8ba1\u65f6\u65f6\u95f4 \u8003\u8651\u5230lua\u662fint\u7c7b\u578b\uff0c\u6700\u5c0f0x10000, \u6700\u5927\u503c\u4e3a0x7fffffff\uff0c\u9ed8\u8ba4\u4e3a\u6700\u5927\u503c\nreturn \u65e0\n\u4f8b\u5b50\uff1a\nioqueue.setcap(0,pin.PB01,gpio.PULLUP,gpio.FALLING,48000000)\n", "prefix": "ioqueue.setcap"}, "ioqueue.capture": {"body": "ioqueue.capture(${1:hwtimer_id})", "description": "ioqueue.capture(hwtimer_id) - \u5bf9io\u64cd\u4f5c\u961f\u5217\u589e\u52a0\u6355\u83b7\u4e00\u6b21IO\u72b6\u6001\u547d\u4ee4\n\u4f20\u5165\u503c\uff1a\nint \u786c\u4ef6\u5b9a\u65f6\u5668id\nreturn \u65e0\n\u4f8b\u5b50\uff1a\nioqueue.capture(0)\n", "prefix": "ioqueue.capture"}, "ioqueue.capend": {"body": "ioqueue.capend(${1:hwtimer_id},${2:pin})", "description": "ioqueue.capend(hwtimer_id,pin) - \u5bf9io\u64cd\u4f5c\u961f\u5217\u589e\u52a0\u7ed3\u675f\u6355\u83b7\u67d0\u4e2aIO\u547d\u4ee4\n\u4f20\u5165\u503c\uff1a\nint \u786c\u4ef6\u5b9a\u65f6\u5668id\nint pin\nreturn \u65e0\n\u4f8b\u5b50\uff1a\nioqueue.capend(0,pin.PB01)\n", "prefix": "ioqueue.capend"}, "ioqueue.get": {"body": "ioqueue.get(${1:hwtimer_id},${2:input_buff},${3:capture_buff})", "description": "ioqueue.get(hwtimer_id, input_buff, capture_buff) - * \u83b7\u53d6io\u64cd\u4f5c\u961f\u5217\u4e2d\u8f93\u5165\u548c\u6355\u83b7\u7684\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nint \u786c\u4ef6\u5b9a\u65f6\u5668id\nzbuff \u5b58\u653eIO\u8f93\u5165\u6570\u636e\u7684buff\uff0c\u6309\u71671byte pin + 1byte level \u5f62\u5f0f\u5b58\u653e\u6570\u636e\nzbuff \u5b58\u653eIO\u6355\u83b7\u6570\u636e\u7684buff\uff0c\u6309\u71671byte pin + 1byte level + 4byte tick\u5f62\u5f0f\u5b58\u653e\u6570\u636e\n\u8fd4\u56de\u503c\uff1a\nint \u8fd4\u56de\u591a\u5c11\u7ec4IO\u8f93\u5165\u6570\u636e\nint \u8fd4\u56de\u591a\u5c11\u7ec4IO\u6355\u83b7\u6570\u636e\n\u4f8b\u5b50\uff1a\nlocal input_cnt, capture_cnt = ioqueue.get(0, input_buff, capture_buff)\n", "prefix": "ioqueue.get"}, "ioqueue.start": {"body": "ioqueue.start(${1:hwtimer_id})", "description": "ioqueue.start(hwtimer_id) - \u542f\u52a8io\u64cd\u4f5c\u961f\u5217\n\u4f20\u5165\u503c\uff1a\nint \u786c\u4ef6\u5b9a\u65f6\u5668id\nreturn \u65e0\n\u4f8b\u5b50\uff1a\nioqueue.start(0)\n", "prefix": "ioqueue.start"}, "ioqueue.stop": {"body": "ioqueue.stop(${1:hwtimer_id})", "description": "ioqueue.stop(hwtimer_id) - \u505c\u6b62io\u64cd\u4f5c\u961f\u5217\uff0c\u53ef\u4ee5\u901a\u8fc7start\u4ece\u5934\u5f00\u59cb\n\u4f20\u5165\u503c\uff1a\nint \u786c\u4ef6\u5b9a\u65f6\u5668id\n\u8fd4\u56de\u503c\uff1a\nint \u8fd4\u56de\u5df2\u7ecf\u5faa\u73af\u7684\u6b21\u6570\uff0c\u5982\u679c\u662f0\uff0c\u8868\u793a\u4e00\u6b21\u5faa\u73af\u90fd\u6ca1\u6709\u5b8c\u6210\nint \u8fd4\u56de\u5355\u6b21\u5faa\u73af\u4e2d\u5df2\u7ecf\u6267\u884c\u7684cmd\u6b21\u6570\uff0c\u5982\u679c\u662f0\uff0c\u53ef\u80fd\u662f\u4e00\u6b21\u5faa\u73af\u521a\u521a\u7ed3\u675f\n\u4f8b\u5b50\uff1a\nioqueue.stop(0)\n", "prefix": "ioqueue.stop"}, "ioqueue.release": {"body": "ioqueue.release(${1:hwtimer_id})", "description": "ioqueue.release(hwtimer_id) - \u91ca\u653eio\u64cd\u4f5c\u961f\u5217\u7684\u8d44\u6e90\uff0c\u4e0b\u6b21\u4f7f\u7528\u5fc5\u987b\u91cd\u65b0init\n\u4f20\u5165\u503c\uff1a\nint \u786c\u4ef6\u5b9a\u65f6\u5668id\nreturn \u65e0\n\u4f8b\u5b50\uff1a\nioqueue.clear(0)\n", "prefix": "ioqueue.release"}, "ioqueue.clear": {"body": "ioqueue.clear(${1:hwtimer_id})", "description": "ioqueue.clear(hwtimer_id) - \u6e05\u7a7aio\u64cd\u4f5c\u961f\u5217\n\u4f20\u5165\u503c\uff1a\nint \u786c\u4ef6\u5b9a\u65f6\u5668id\nreturn \u65e0\n\u4f8b\u5b50\uff1a\nioqueue.clear(0)\n", "prefix": "ioqueue.clear"}, "ioqueue.done": {"body": "ioqueue.done(${1:hwtimer_id})", "description": "ioqueue.done(hwtimer_id) - \u68c0\u6d4bio\u64cd\u4f5c\u961f\u5217\u662f\u5426\u5df2\u7ecf\u6267\u884c\u5b8c\u6210\n\u4f20\u5165\u503c\uff1a\nint \u786c\u4ef6\u5b9a\u65f6\u5668id\n\u8fd4\u56de\u503c\uff1a\nboolean \u961f\u5217\u662f\u5426\u6267\u884c\u5b8c\u6210\uff0c\n\u4f8b\u5b50\uff1a\nlocal result = ioqueue.done(0)\n", "prefix": "ioqueue.done"}, "ioqueue.exti": {"body": "ioqueue.exti(${1:pin},${2:pull_mode},${3:irq_mode},${4:onoff})", "description": "ioqueue.exti(pin,pull_mode,irq_mode,onoff) - \u542f\u52a8/\u505c\u6b62\u4e00\u4e2a\u5e26\u7cfb\u7edftick\u8fd4\u56de\u7684\u5916\u90e8\u4e2d\u65ad\n\u4f20\u5165\u503c\uff1a\nint pin\nint \u4e0a\u4e0b\u62c9\u6a21\u5f0f,\u53ea\u80fd\u662f0,gpio.PULLUP,gpio.PULLDOWN\nint \u4e2d\u65ad\u6a21\u5f0f,\u53ea\u80fd\u662fgpio.BOTH,gpio.RISING,gpio.FALLING\nboolean \u5f00\u5173\uff0c\u9ed8\u8ba4\u662ffalse\u5173\nreturn \u65e0\n\u4f8b\u5b50\uff1a\nioqueue.exti(pin.PB01, gpio.PULLUP, gpio.BOTH, true)\nioqueue.exti(pin.PB01)\n", "prefix": "ioqueue.exti"}, "iotauth.aliyun": {"body": "iotauth.aliyun(${1:product_key},${2:device_name},${3:device_secret},${4:method},${5:cur_timestamp})", "description": "iotauth.aliyun(product_key, device_name,device_secret,method,cur_timestamp) - \u963f\u91cc\u4e91\u7269\u8054\u7f51\u5e73\u53f0\u4e09\u5143\u7ec4\u751f\u6210\n\u4f20\u5165\u503c\uff1a\nstring product_key\nstring device_name\nstring device_secret\nstring method \u52a0\u5bc6\u65b9\u5f0f,\"hmacmd5\" \"hmacsha1\" \"hmacsha256\" \u53ef\u9009,\u9ed8\u8ba4\"hmacmd5\"\nnumber cur_timestamp \u53ef\u9009 \u9ed8\u8ba4\u4e3a 32472115200(2999-01-01 0:0:0)\nbool istls \u662f\u5426TLS\u76f4\u8fde true:TLS\u76f4\u8fde false:TCP\u76f4\u8fde\u6a21\u5f0f \u9ed8\u8ba4TCP\u76f4\u8fde\u6a21\u5f0f\n\u8fd4\u56de\u503c\uff1a\nstring mqtt\u4e09\u5143\u7ec4 client_id\nstring mqtt\u4e09\u5143\u7ec4 user_name\nstring mqtt\u4e09\u5143\u7ec4 password\n\u4f8b\u5b50\uff1a\nlocal client_id,user_name,password = iotauth.aliyun(\"123456789\",\"abcdefg\",\"Y877Bgo8X5owd3lcB5wWDjryNPoB\")\nprint(client_id,user_name,password)\n", "prefix": "iotauth.aliyun"}, "iotauth.onenet": {"body": "iotauth.onenet(${1:produt_id},${2:device_name},${3:key},${4:method},${5:cur_timestamp},${6:version})", "description": "iotauth.onenet(produt_id, device_name,key,method,cur_timestamp,version) - \u4e2d\u56fd\u79fb\u52a8\u7269\u8054\u7f51\u5e73\u53f0\u4e09\u5143\u7ec4\u751f\u6210\n\u4f20\u5165\u503c\uff1a\nstring produt_id\nstring device_name\nstring key\nstring method \u52a0\u5bc6\u65b9\u5f0f,\"md5\" \"sha1\" \"sha256\" \u53ef\u9009,\u9ed8\u8ba4\"md5\"\nnumber cur_timestamp \u53ef\u9009 \u9ed8\u8ba4\u4e3a 32472115200(2999-01-01 0:0:0)\nstring version \u53ef\u9009 \u9ed8\u8ba4\"2018-10-31\"\n\u8fd4\u56de\u503c\uff1a\nstring mqtt\u4e09\u5143\u7ec4 client_id\nstring mqtt\u4e09\u5143\u7ec4 user_name\nstring mqtt\u4e09\u5143\u7ec4 password\n\u4f8b\u5b50\uff1a\nlocal client_id,user_name,password = iotauth.onenet(\"123456789\",\"test\",\"KuF3NT/jUBJ62LNBB/A8XZA9CqS3Cu79B/ABmfA1UCw=\")\nprint(client_id,user_name,password)\n", "prefix": "iotauth.onenet"}, "iotauth.iotda": {"body": "iotauth.iotda(${1:device_id},${2:device_secret},${3:cur_timestamp})", "description": "iotauth.iotda(device_id,device_secret,cur_timestamp) - \u534e\u4e3a\u7269\u8054\u7f51\u5e73\u53f0\u4e09\u5143\u7ec4\u751f\u6210\n\u4f20\u5165\u503c\uff1a\nstring device_id\nstring device_secret\nnumber cur_timestamp \u53ef\u9009 \u5982\u4e0d\u586b\u5219\u4e0d\u6821\u9a8c\u65f6\u95f4\u6233\n\u8fd4\u56de\u503c\uff1a\nstring mqtt\u4e09\u5143\u7ec4 client_id\nstring mqtt\u4e09\u5143\u7ec4 user_name\nstring mqtt\u4e09\u5143\u7ec4 password\n\u4f8b\u5b50\uff1a\nlocal client_id,user_name,password = iotauth.iotda(\"6203cc94c7fb24029b110408_88888888\",\"123456789\")\nprint(client_id,user_name,password)\n", "prefix": "iotauth.iotda"}, "iotauth.qcloud": {"body": "iotauth.qcloud(${1:product_id},${2:device_name},${3:device_secret},${4:method},${5:cur_timestamp},${6:sdk_appid})", "description": "iotauth.qcloud(product_id, device_name,device_secret,method,cur_timestamp,sdk_appid) - \u817e\u8baf\u8054\u7f51\u5e73\u53f0\u4e09\u5143\u7ec4\u751f\u6210\n\u4f20\u5165\u503c\uff1a\nstring \u4ea7\u54c1id,\u521b\u5efa\u9879\u76ee\u540e\u53ef\u4ee5\u67e5\u770b\u5230,\u7c7b\u4f3c\u4e8eLD8S5J1L07\nstring \u8bbe\u5907\u540d\u79f0,\u4f8b\u5982\u8bbe\u5907\u7684imei\u53f7\nstring \u8bbe\u5907\u5bc6\u94a5,\u521b\u5efa\u8bbe\u5907\u540e,\u67e5\u770b\u8bbe\u5907\u8be6\u60c5\u53ef\u5f97\u5230\nstring method \u52a0\u5bc6\u65b9\u5f0f,\"sha1\" \"sha256\" \u53ef\u9009,\u9ed8\u8ba4\"sha256\"\nnumber cur_timestamp \u53ef\u9009 \u9ed8\u8ba4\u4e3a 32472115200(2999-01-01 0:0:0)\nstring sdk_appid \u53ef\u9009 \u9ed8\u8ba4\u4e3a\"12010126\"\n\u8fd4\u56de\u503c\uff1a\nstring mqtt\u4e09\u5143\u7ec4 client_id\nstring mqtt\u4e09\u5143\u7ec4 user_name\nstring mqtt\u4e09\u5143\u7ec4 password\n\u4f8b\u5b50\uff1a\nlocal client_id,user_name,password = iotauth.qcloud(\"LD8S5J1L07\",\"test\",\"acyv3QDJrRa0fW5UE58KnQ==\")\nprint(client_id,user_name,password)\n", "prefix": "iotauth.qcloud"}, "iotauth.tuya": {"body": "iotauth.tuya(${1:device_id},${2:device_secret},${3:cur_timestamp})", "description": "iotauth.tuya(device_id,device_secret,cur_timestamp) - \u6d82\u9e26\u8054\u7f51\u5e73\u53f0\u4e09\u5143\u7ec4\u751f\u6210\n\u4f20\u5165\u503c\uff1a\nstring device_id\nstring device_secret\nnumber cur_timestamp \u53ef\u9009 \u9ed8\u8ba47258089600(2200-01-01 0:0:0)\n\u8fd4\u56de\u503c\uff1a\nstring mqtt\u4e09\u5143\u7ec4 client_id\nstring mqtt\u4e09\u5143\u7ec4 user_name\nstring mqtt\u4e09\u5143\u7ec4 password\n\u4f8b\u5b50\uff1a\nlocal client_id,user_name,password = iotauth.tuya(\"6c95875d0f5ba69607nzfl\",\"fb803786602df760\")\nprint(client_id,user_name,password)\n", "prefix": "iotauth.tuya"}, "iotauth.baidu": {"body": "iotauth.baidu(${1:iot_core_id},${2:device_key},${3:device_secret},${4:method},${5:cur_timestamp})", "description": "iotauth.baidu(iot_core_id, device_key,device_secret,method,cur_timestamp) - \u767e\u5ea6\u7269\u8054\u7f51\u5e73\u53f0\u4e09\u5143\u7ec4\u751f\u6210\n\u4f20\u5165\u503c\uff1a\nstring iot_core_id\nstring device_key\nstring device_secret\nstring method \u52a0\u5bc6\u65b9\u5f0f,\"MD5\" \"SHA256\" \u53ef\u9009,\u9ed8\u8ba4\"MD5\"\nnumber cur_timestamp \u53ef\u9009 \u5982\u4e0d\u586b\u5219\u4e0d\u6821\u9a8c\u65f6\u95f4\u6233\n\u8fd4\u56de\u503c\uff1a\nstring mqtt\u4e09\u5143\u7ec4 client_id\nstring mqtt\u4e09\u5143\u7ec4 user_name\nstring mqtt\u4e09\u5143\u7ec4 password\n\u4f8b\u5b50\uff1a\nlocal client_id,user_name,password = iotauth.baidu(\"abcd123\",\"mydevice\",\"ImSeCrEt0I1M2jkl\")\nprint(client_id,user_name,password)\n", "prefix": "iotauth.baidu"}, "ir.sendNEC": {"body": "ir.sendNEC(${1:pin},${2:addr},${3:cmd},${4:repeat},${5:disablePWM})", "description": "ir.sendNEC(pin, addr, cmd, repeat, disablePWM) - \u53d1\u9001NEC\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nint \u4f7f\u7528\u7684GPIO\u5f15\u811a\u7f16\u53f7\nint \u7528\u6237\u7801\uff08\u5927\u4e8e0xff\u5219\u91c7\u7528Extended NEC\u6a21\u5f0f\uff09\nint \u6570\u636e\u7801\nint \u53ef\u9009\uff0c\u5f15\u5bfc\u7801\u53d1\u9001\u6b21\u6570\uff08110ms\u4e00\u6b21\uff09\uff0c\u9ed8\u8ba40\u6b21\nbool \u53ef\u9009\uff0c\u662f\u5426\u7981\u6b62\u76f4\u63a5\u53d1\u9001pwm\u6ce2\uff0c\u9ed8\u8ba4false\n\u4f8b\u5b50\uff1a\n--\u76f4\u63a5\u53d1\nir.sendNEC(0, 0x11, 0x22)\n--\u5916\u63a5\u4e8638K\u7684PWM\u8f7d\u6ce2\uff0c\u53ea\u63a7\u5236\u7535\u5e73\nir.sendNEC(0, 0x11, 0x22,0,true)\n", "prefix": "ir.sendNEC"}, "json.encode": {"body": "json.encode(${1:obj},${2:t})", "description": "json.encode(obj,t) - \u5c06\u5bf9\u8c61\u5e8f\u5217\u5316\u4e3ajson\u5b57\u7b26\u4e32\n\u4f20\u5165\u503c\uff1a\nobj \u9700\u8981\u5e8f\u5217\u5316\u7684\u5bf9\u8c61\nstring \u6d6e\u70b9\u6570\u7cbe\u5ea6\u548c\u6a21\u5f0f,\u8fd9\u9879\u4e0d\u5b58\u5728\u7684\u65f6\u5019,\u4e3a\u9ed8\u8ba4\u503c\"7g\",\u6570\u5b57\u53ea\u652f\u6301\"0~14\",\u6a21\u5f0f\u53ea\u652f\u6301\"f/g\"\n\u8fd4\u56de\u503c\uff1a\nstring \u5e8f\u5217\u5316\u540e\u7684json\u5b57\u7b26\u4e32, \u5931\u8d25\u7684\u8bdd\u8fd4\u56denil\nstring \u5e8f\u5217\u5316\u5931\u8d25\u7684\u62a5\u9519\u4fe1\u606f\n\u4f8b\u5b50\uff1a\njson.encode(obj)-->\u6d6e\u70b9\u6570\u7528%.7g\u7684\u65b9\u5f0f\u8f6c\u6362\u4e3a\u5b57\u7b26\u4e32\njson.encode(obj,\"12f\")-->\u6d6e\u70b9\u6570\u7528%.12f\u7684\u65b9\u5f0f\u8f6c\u6362\u4e3a\u5b57\u7b26\u4e32\n", "prefix": "json.encode"}, "json.decode": {"body": "json.decode(${1:str})", "description": "json.decode(str) - \u5c06\u5b57\u7b26\u4e32\u53cd\u5e8f\u5217\u5316\u4e3a\u5bf9\u8c61\n\u4f20\u5165\u503c\uff1a\nstring \u9700\u8981\u53cd\u5e8f\u5217\u5316\u7684json\u5b57\u7b26\u4e32\n\u8fd4\u56de\u503c\uff1a\nobj \u53cd\u5e8f\u5217\u5316\u540e\u7684\u5bf9\u8c61(\u901a\u5e38\u662ftable), \u5931\u8d25\u7684\u8bdd\u8fd4\u56denil\nresult \u6210\u529f\u8fd4\u56de1,\u5426\u5219\u8fd4\u56de0\nerr \u53cd\u5e8f\u5217\u5316\u5931\u8d25\u7684\u62a5\u9519\u4fe1\u606f\n\u4f8b\u5b50\uff1a\njson.decode(\"[1,2,3,4,5,6]\")\n", "prefix": "json.decode"}, "keyboard.init": {"body": "keyboard.init(${1:port},${2:conf},${3:map},${4:debounce})", "description": "keyboard.init(port, conf, map, debounce) - \u521d\u59cb\u5316\u952e\u76d8\u77e9\u9635\n\u4f20\u5165\u503c\uff1a\nint \u9884\u7559, \u5f53\u524d\u586b0\nint \u542f\u7528\u7684keyboard\u7ba1\u811a\u63a9\u7801, \u4f8b\u5982\u4f7f\u7528keyboard0~9, \u5219\u63a9\u7801\u4e3a 0x1FF, \u82e5\u4f7f\u7528 0~3 \u5219 0xF\nint keyboard\u7ba1\u811a\u65b9\u5411\u6620\u5c04, \u5176\u4e2d\u8f93\u5165\u4e3a0,\u8f93\u51fa\u4e3a1, \u6309\u4f4d\u8bbe\u7f6e. \u4f8b\u5982 keyboard0~3\u4f5c\u4e3a\u8f93\u5165, keyboard4~7\u4e3a\u8f93\u5165, \u5219 0xF0\nint \u6d88\u6296\u914d\u7f6e,\u9884\u7559,\u53ef\u4ee5\u4e0d\u586b\n\u4f8b\u5b50\uff1a\n-- \u505a\u4e00\u4e2a 4*4 \u952e\u76d8\u77e9\u9635, \u4f7f\u7528 keyboard0~7, \u5176\u4e2d0~3\u505a\u8f93\u5165, 4~7\u505a\u8f93\u51fa\n-- \u4f7f\u7528 keyboard0~7, \u5bf9\u5e94conf\u4e3a 0xFF\n-- \u5176\u4e2d0~3\u505a\u8f93\u5165, 4~7\u505a\u8f93\u51fa, \u5bf9\u5e94map \u4e3a 0xF0\nkeyboard.init(0, 0xFF, 0xF0)\n\n-- \u505a\u4e00\u4e2a 2*3 \u952e\u76d8\u77e9\u9635, \u4f7f\u7528 keyboard0~4, \u5176\u4e2d0~1\u505a\u8f93\u5165, 2~4\u505a\u8f93\u51fa\n-- \u4f7f\u7528 keyboard0~4, \u4e8c\u8fdb\u5236\u4e3a 11111, \u5bf9\u5e94conf\u7684\u5341\u516d\u8fdb\u5236\u8868\u8fbe\u4e3a 0x1F\n-- \u5176\u4e2d0~1\u505a\u8f93\u5165, 2~4\u505a\u8f93\u51fa, \u4e8c\u8fdb\u5236\u4e3a 11100 \u5bf9\u5e94map \u4e3a 0x14\n-- keyboard.init(0, 0xFF, 0x14)\n\nsys.subscribe(\"KB_INC\", function(port, data, state)\n -- port \u5f53\u524d\u56fa\u5b9a\u4e3a0, \u53ef\u4ee5\u65e0\u89c6\n -- data, \u9700\u8981\u914d\u5408init\u7684map\u8fdb\u884c\u89e3\u6790\n -- state, 1 \u4e3a\u6309\u4e0b, 0 \u4e3a \u91ca\u653e\n -- TODO \u8be6\u7ec6\u4ecb\u7ecd\nend)\n", "prefix": "keyboard.init"}, "lcd.init": {"body": "lcd.init(${1:tp},${2:args})", "description": "lcd.init(tp, args) - lcd\u663e\u793a\u5c4f\u521d\u59cb\u5316\n\u4f20\u5165\u503c\uff1a\nstring lcd\u7c7b\u578b\uff0c\u5f53\u524d\u652f\u6301\uff1a
        st7796
        st7789
        st7735
        st7735v
        st7735s
        gc9a01
        gc9106l
        gc9306x
        ili9486
        custom\ntable \u9644\u52a0\u53c2\u6570,\u4e0e\u5177\u4f53\u8bbe\u5907\u6709\u5173\uff1a
        pin_pwr\uff08\u80cc\u5149\uff09\u4e3a\u53ef\u9009\u9879,\u53ef\u4e0d\u8bbe\u7f6e
        port\uff1aspi\u7aef\u53e3,\u4f8b\u59820,1,2...\u5982\u679c\u4e3adevice\u65b9\u5f0f\u5219\u4e3a\"device\"
        pin_dc\uff1alcd\u6570\u636e/\u547d\u4ee4\u9009\u62e9\u5f15\u811a
        pin_rst\uff1alcd\u590d\u4f4d\u5f15\u811a
        pin_pwr\uff1alcd\u80cc\u5149\u5f15\u811a \u53ef\u9009\u9879,\u53ef\u4e0d\u8bbe\u7f6e
        direction\uff1alcd\u5c4f\u5e55\u65b9\u5411 0:0\u00b0 1:180\u00b0 2:270\u00b0 3:90\u00b0
        w\uff1alcd \u6c34\u5e73\u5206\u8fa8\u7387
        h\uff1alcd \u7ad6\u76f4\u5206\u8fa8\u7387
        xoffset\uff1ax\u504f\u79fb(\u4e0d\u540c\u5c4f\u5e55ic \u4e0d\u540c\u5c4f\u5e55\u65b9\u5411\u4f1a\u6709\u5dee\u5f02)
        yoffset\uff1ay\u504f\u79fb(\u4e0d\u540c\u5c4f\u5e55ic \u4e0d\u540c\u5c4f\u5e55\u65b9\u5411\u4f1a\u6709\u5dee\u5f02)\nuserdata spi\u8bbe\u5907,\u5f53port = \"device\"\u65f6\u6709\u6548\n\u4f8b\u5b50\uff1a\n-- \u521d\u59cb\u5316spi0\u7684st7735s \u6ce8\u610f:lcd\u521d\u59cb\u5316\u4e4b\u524d\u9700\u8981\u5148\u521d\u59cb\u5316spi\nspi_lcd = spi.deviceSetup(0,20,0,0,8,2000000,spi.MSB,1,1)\nlog.info(\"lcd.init\",\nlcd.init(\"st7735s\",{port = \"device\",pin_dc = 17, pin_pwr = 7,pin_rst = 19,direction = 2,w = 160,h = 80,xoffset = 1,yoffset = 26},spi_lcd))\n", "prefix": "lcd.init"}, "lcd.close": {"body": "lcd.close()", "description": "lcd.close() - \u5173\u95edlcd\u663e\u793a\u5c4f\n\u4f8b\u5b50\uff1a\n-- \u5173\u95edlcd\nlcd.close()\n", "prefix": "lcd.close"}, "lcd.on": {"body": "lcd.on()", "description": "lcd.on() - \u5f00\u542flcd\u663e\u793a\u5c4f\u80cc\u5149\n\u4f8b\u5b50\uff1a\n-- \u5f00\u542flcd\u663e\u793a\u5c4f\u80cc\u5149\nlcd.on()\n", "prefix": "lcd.on"}, "lcd.off": {"body": "lcd.off()", "description": "lcd.off() - \u5173\u95edlcd\u663e\u793a\u5c4f\u80cc\u5149\n\u4f8b\u5b50\uff1a\n-- \u5173\u95edlcd\u663e\u793a\u5c4f\u80cc\u5149\nlcd.off()\n", "prefix": "lcd.off"}, "lcd.sleep": {"body": "lcd.sleep()", "description": "lcd.sleep() - lcd\u7761\u7720\n\u4f8b\u5b50\uff1a\n-- lcd\u7761\u7720\nlcd.sleep()\n", "prefix": "lcd.sleep"}, "lcd.wakeup": {"body": "lcd.wakeup()", "description": "lcd.wakeup() - lcd\u5524\u9192\n\u4f8b\u5b50\uff1a\n-- lcd\u5524\u9192\nlcd.wakeup()\n", "prefix": "lcd.wakeup"}, "lcd.invon": {"body": "lcd.invon()", "description": "lcd.invon() - lcd\u53cd\u663e\n\u4f8b\u5b50\uff1a\n-- lcd\u53cd\u663e\nlcd.invon()\n", "prefix": "lcd.invon"}, "lcd.invoff": {"body": "lcd.invoff()", "description": "lcd.invoff() - lcd\u53cd\u663e\u5173\u95ed\n\u4f8b\u5b50\uff1a\n-- lcd\u53cd\u663e\u5173\u95ed\nlcd.invoff()\n", "prefix": "lcd.invoff"}, "lcd.cmd": {"body": "lcd.cmd(${1:cmd})", "description": "lcd.cmd(cmd) - lcd\u547d\u4ee4\n\u4f20\u5165\u503c\uff1a\nint cmd\n\u4f8b\u5b50\uff1a\n-- lcd\u547d\u4ee4\nlcd.cmd(0x21)\n", "prefix": "lcd.cmd"}, "lcd.data": {"body": "lcd.data(${1:data})", "description": "lcd.data(data) - lcd\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nint data\n\u4f8b\u5b50\uff1a\n-- lcd\u6570\u636e\nlcd.data(0x21)\n", "prefix": "lcd.data"}, "lcd.setColor": {"body": "lcd.setColor(${1:back},${2:fore})", "description": "lcd.setColor(back,fore) - lcd\u989c\u8272\u8bbe\u7f6e\n\u4f20\u5165\u503c\uff1a\nint \u80cc\u666f\u8272\nint \u524d\u666f\u8272\n\u4f8b\u5b50\uff1a\n-- lcd\u989c\u8272\u8bbe\u7f6e\nlcd.setColor(0xFFFF,0x0000)\n", "prefix": "lcd.setColor"}, "lcd.draw": {"body": "lcd.draw(${1:x1},${2:y1},${3:x2},${4:y2},${5:color})", "description": "lcd.draw(x1, y1, x2, y2,color) - lcd\u989c\u8272\u586b\u5145\n\u4f20\u5165\u503c\uff1a\nint \u5de6\u4e0a\u8fb9\u7f18\u7684X\u4f4d\u7f6e.\nint \u5de6\u4e0a\u8fb9\u7f18\u7684Y\u4f4d\u7f6e.\nint \u53f3\u4e0b\u8fb9\u7f18\u7684X\u4f4d\u7f6e.\nint \u53f3\u4e0b\u8fb9\u7f18\u7684Y\u4f4d\u7f6e.\nstring \u5b57\u7b26\u4e32\u6216zbuff\u5bf9\u8c61\n\u4f8b\u5b50\uff1a\n-- lcd\u989c\u8272\u586b\u5145\nlocal buff = zbuff.create({201,1,16},0x001F)\nlcd.draw(20,30,220,30,buff)\n", "prefix": "lcd.draw"}, "lcd.clear": {"body": "lcd.clear(${1:color})", "description": "lcd.clear(color) - lcd\u6e05\u5c4f\n\u4f20\u5165\u503c\uff1a\nint \u5c4f\u5e55\u989c\u8272 \u53ef\u9009\u53c2\u6570,\u9ed8\u8ba4\u80cc\u666f\u8272\n\u4f8b\u5b50\uff1a\n-- lcd\u6e05\u5c4f\nlcd.clear()\n", "prefix": "lcd.clear"}, "lcd.fill": {"body": "lcd.fill(${1:x1},${2:y1},${3:x2},${4:y2},${5:color})", "description": "lcd.fill(x1, y1, x2, y2,color) - lcd\u989c\u8272\u586b\u5145\n\u4f20\u5165\u503c\uff1a\nint \u5de6\u4e0a\u8fb9\u7f18\u7684X\u4f4d\u7f6e.\nint \u5de6\u4e0a\u8fb9\u7f18\u7684Y\u4f4d\u7f6e.\nint \u53f3\u4e0b\u8fb9\u7f18\u7684X\u4f4d\u7f6e,\u4e0d\u542b\nint \u53f3\u4e0b\u8fb9\u7f18\u7684Y\u4f4d\u7f6e,\u4e0d\u542b\nint \u7ed8\u753b\u989c\u8272 \u53ef\u9009\u53c2\u6570,\u9ed8\u8ba4\u80cc\u666f\u8272\n\u4f8b\u5b50\uff1a\n-- lcd\u989c\u8272\u586b\u5145\nlcd.fill(20,30,220,30,0x0000)\n", "prefix": "lcd.fill"}, "lcd.drawPoint": {"body": "lcd.drawPoint(${1:x0},${2:y0},${3:color})", "description": "lcd.drawPoint(x0,y0,color) - \u753b\u4e00\u4e2a\u70b9.\n\u4f20\u5165\u503c\uff1a\nint \u70b9\u7684X\u4f4d\u7f6e.\nint \u70b9\u7684Y\u4f4d\u7f6e.\nint \u7ed8\u753b\u989c\u8272 \u53ef\u9009\u53c2\u6570,\u9ed8\u8ba4\u524d\u666f\u8272\n\u4f8b\u5b50\uff1a\nlcd.drawPoint(20,30,0x001F)\n", "prefix": "lcd.drawPoint"}, "lcd.drawLine": {"body": "lcd.drawLine(${1:x0},${2:y0},${3:x1},${4:y1},${5:color})", "description": "lcd.drawLine(x0,y0,x1,y1,color) - \u5728\u4e24\u70b9\u4e4b\u95f4\u753b\u4e00\u6761\u7ebf.\n\u4f20\u5165\u503c\uff1a\nint \u7b2c\u4e00\u4e2a\u70b9\u7684X\u4f4d\u7f6e.\nint \u7b2c\u4e00\u4e2a\u70b9\u7684Y\u4f4d\u7f6e.\nint \u7b2c\u4e8c\u4e2a\u70b9\u7684X\u4f4d\u7f6e.\nint \u7b2c\u4e8c\u4e2a\u70b9\u7684Y\u4f4d\u7f6e.\nint \u7ed8\u753b\u989c\u8272 \u53ef\u9009\u53c2\u6570,\u9ed8\u8ba4\u524d\u666f\u8272\n\u4f8b\u5b50\uff1a\nlcd.drawLine(20,30,220,30,0x001F)\n", "prefix": "lcd.drawLine"}, "lcd.drawRectangle": {"body": "lcd.drawRectangle(${1:x0},${2:y0},${3:x1},${4:y1},${5:color})", "description": "lcd.drawRectangle(x0,y0,x1,y1,color) - \u4ecex / y\u4f4d\u7f6e\uff08\u5de6\u4e0a\u8fb9\u7f18\uff09\u5f00\u59cb\u7ed8\u5236\u4e00\u4e2a\u6846\n\u4f20\u5165\u503c\uff1a\nint \u5de6\u4e0a\u8fb9\u7f18\u7684X\u4f4d\u7f6e.\nint \u5de6\u4e0a\u8fb9\u7f18\u7684Y\u4f4d\u7f6e.\nint \u53f3\u4e0b\u8fb9\u7f18\u7684X\u4f4d\u7f6e.\nint \u53f3\u4e0b\u8fb9\u7f18\u7684Y\u4f4d\u7f6e.\nint \u7ed8\u753b\u989c\u8272 \u53ef\u9009\u53c2\u6570,\u9ed8\u8ba4\u524d\u666f\u8272\n\u4f8b\u5b50\uff1a\nlcd.drawRectangle(20,40,220,80,0x001F)\n", "prefix": "lcd.drawRectangle"}, "lcd.drawCircle": {"body": "lcd.drawCircle(${1:x0},${2:y0},${3:r},${4:color})", "description": "lcd.drawCircle(x0,y0,r,color) - \u4ecex / y\u4f4d\u7f6e\uff08\u5706\u5fc3\uff09\u5f00\u59cb\u7ed8\u5236\u4e00\u4e2a\u5706\n\u4f20\u5165\u503c\uff1a\nint \u5706\u5fc3\u7684X\u4f4d\u7f6e.\nint \u5706\u5fc3\u7684Y\u4f4d\u7f6e.\nint \u534a\u5f84.\nint \u7ed8\u753b\u989c\u8272 \u53ef\u9009\u53c2\u6570,\u9ed8\u8ba4\u524d\u666f\u8272\n\u4f8b\u5b50\uff1a\nlcd.drawCircle(120,120,20,0x001F)\n", "prefix": "lcd.drawCircle"}, "lcd.drawQrcode": {"body": "lcd.drawQrcode(${1:x},${2:y},${3:str},${4:size})", "description": "lcd.drawQrcode(x, y, str, size) - \u7f13\u51b2\u533a\u7ed8\u5236QRCode\n\u4f20\u5165\u503c\uff1a\nint x\u5750\u6807\nint y\u5750\u6807\nstring \u4e8c\u7ef4\u7801\u7684\u5185\u5bb9\nint \u663e\u793a\u5927\u5c0f (\u6ce8\u610f:\u4e8c\u7ef4\u7801\u751f\u6210\u5927\u5c0f\u4e0e\u8981\u663e\u793a\u5185\u5bb9\u548c\u7ea0\u9519\u7b49\u7ea7\u6709\u5173,\u751f\u6210\u7248\u672c\u4e3a1-40(\u5bf9\u5e94 21x21 - 177x177)\u7684\u4e0d\u5b9a\u5927\u5c0f,\u5982\u679c\u548c\u8bbe\u7f6e\u5927\u5c0f\u4e0d\u540c\u4f1a\u81ea\u52a8\u5728\u6307\u5b9a\u7684\u533a\u57df\u4e2d\u95f4\u663e\u793a\u4e8c\u7ef4\u7801,\u5982\u4e8c\u7ef4\u7801\u672a\u663e\u793a\u8bf7\u67e5\u770b\u65e5\u5fd7\u63d0\u793a)\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n", "prefix": "lcd.drawQrcode"}, "lcd.setFont": {"body": "lcd.setFont(${1:font})", "description": "lcd.setFont(font) - \u8bbe\u7f6e\u5b57\u4f53\n\u4f20\u5165\u503c\uff1a\nint font lcd.font_XXX \u8bf7\u67e5\u9605\u5e38\u91cf\u8868\n\u4f8b\u5b50\uff1a\n-- \u8bbe\u7f6e\u4e3a\u5b57\u4f53,\u5bf9\u4e4b\u540e\u7684drawStr\u6709\u6548,\u8c03\u7528lcd.drawStr\u524d\u4e00\u5b9a\u8981\u5148\u8bbe\u7f6e\n\n-- \u82e5\u63d0\u793a \"only font pointer is allow\" , \u5219\u4ee3\u8868\u5f53\u524d\u56fa\u4ef6\u4e0d\u542b\u5bf9\u5e94\u5b57\u4f53, \u53ef\u4f7f\u7528\u4e91\u7f16\u8bd1\u670d\u52a1\u514d\u8d39\u5b9a\u5236\n-- \u4e91\u7f16\u8bd1\u6587\u6863: https://wiki.luatos.com/develop/compile/Cloud_compilation.html\n\n-- lcd\u5e93\u7684\u9ed8\u8ba4\u5b57\u4f53\u5747\u4ee5 lcd.font_ \u5f00\u5934\nlcd.setFont(lcd.font_opposansm12)\nlcd.drawStr(40,10,\"drawStr\")\nsys.wait(2000)\nlcd.setFont(lcd.font_opposansm12_chinese) -- \u5177\u4f53\u53d6\u503c\u53ef\u53c2\u8003api\u6587\u6863\u7684\u5e38\u91cf\u8868\nlcd.drawStr(40,40,\"drawStr\u6d4b\u8bd5\")\n", "prefix": "lcd.setFont"}, "lcd.drawStr": {"body": "lcd.drawStr(${1:x},${2:y},${3:str},${4:fg_color})", "description": "lcd.drawStr(x,y,str,fg_color) - \u663e\u793a\u5b57\u7b26\u4e32\n\u4f20\u5165\u503c\uff1a\nint x \u6a2a\u5750\u6807\nint y \u7ad6\u5750\u6807 \u6ce8\u610f:\u6b64(x,y)\u4e3a\u5de6\u4e0b\u8d77\u59cb\u5750\u6807\nstring str \u6587\u4ef6\u5185\u5bb9\nint fg_color str\u989c\u8272 \u6ce8\u610f:\u6b64\u53c2\u6570\u53ef\u9009\uff0c\u5982\u4e0d\u586b\u5199\u5219\u4f7f\u7528\u4e4b\u524d\u8bbe\u7f6e\u7684\u989c\u8272\uff0c\u7ed8\u5236\u53ea\u4f1a\u7ed8\u5236\u5b57\u4f53\u90e8\u5206\uff0c\u80cc\u666f\u9700\u8981\u81ea\u5df1\u6e05\u9664\n\u4f8b\u5b50\uff1a\n-- \u663e\u793a\u4e4b\u524d\u5148\u8bbe\u7f6e\u4e3a\u4e2d\u6587\u5b57\u4f53,\u5bf9\u4e4b\u540e\u7684drawStr\u6709\u6548\nlcd.setFont(lcd.font_opposansm12)\nlcd.drawStr(40,10,\"drawStr\")\nsys.wait(2000)\nlcd.setFont(lcd.font_opposansm16_chinese)\nlcd.drawStr(40,40,\"drawStr\u6d4b\u8bd5\")\n", "prefix": "lcd.drawStr"}, "lcd.drawGtfontGb2312": {"body": "lcd.drawGtfontGb2312(${1:str},${2:size},${3:x},${4:y})", "description": "lcd.drawGtfontGb2312(str,size,x,y) - \u4f7f\u7528gtfont\u663e\u793agb2312\u5b57\u7b26\u4e32\n\u4f20\u5165\u503c\uff1a\nstring str \u663e\u793a\u5b57\u7b26\u4e32\nint size \u5b57\u4f53\u5927\u5c0f (\u652f\u630116-192\u53f7\u5927\u5c0f\u5b57\u4f53)\nint x \u6a2a\u5750\u6807\nint y \u7ad6\u5750\u6807\n\u4f8b\u5b50\uff1a\n-- \u6ce8\u610f, gtfont\u662f\u989d\u5916\u7684\u5b57\u4f53\u82af\u7247\u786c\u4ef6, \u9700\u8981\u5916\u6302\u5728SPI\u603b\u7ebf\u624d\u80fd\u8c03\u7528\u672c\u51fd\u6570\u7684\nlcd.drawGtfontGb2312(\"\u554a\u554a\u554a\",32,0,0)\n", "prefix": "lcd.drawGtfontGb2312"}, "lcd.drawGtfontGb2312Gray": {"body": "lcd.drawGtfontGb2312Gray(${1:str},${2:size},${3:gray},${4:x},${5:y})", "description": "lcd.drawGtfontGb2312Gray(str,size,gray,x,y) - \u4f7f\u7528gtfont\u7070\u5ea6\u663e\u793agb2312\u5b57\u7b26\u4e32\n\u4f20\u5165\u503c\uff1a\nstring str \u663e\u793a\u5b57\u7b26\u4e32\nint size \u5b57\u4f53\u5927\u5c0f (\u652f\u630116-192\u53f7\u5927\u5c0f\u5b57\u4f53)\nint gray \u7070\u5ea6[1\u9636/2\u9636/3\u9636/4\u9636]\nint x \u6a2a\u5750\u6807\nint y \u7ad6\u5750\u6807\n\u4f8b\u5b50\uff1a\n-- \u6ce8\u610f, gtfont\u662f\u989d\u5916\u7684\u5b57\u4f53\u82af\u7247\u786c\u4ef6, \u9700\u8981\u5916\u6302\u5728SPI\u603b\u7ebf\u624d\u80fd\u8c03\u7528\u672c\u51fd\u6570\u7684\nlcd.drawGtfontGb2312Gray(\"\u554a\u554a\u554a\",32,4,0,40)\n", "prefix": "lcd.drawGtfontGb2312Gray"}, "lcd.drawGtfontUtf8": {"body": "lcd.drawGtfontUtf8(${1:str},${2:size},${3:x},${4:y})", "description": "lcd.drawGtfontUtf8(str,size,x,y) - \u4f7f\u7528gtfont\u663e\u793aUTF8\u5b57\u7b26\u4e32\n\u4f20\u5165\u503c\uff1a\nstring str \u663e\u793a\u5b57\u7b26\u4e32\nint size \u5b57\u4f53\u5927\u5c0f (\u652f\u630116-192\u53f7\u5927\u5c0f\u5b57\u4f53)\nint x \u6a2a\u5750\u6807\nint y \u7ad6\u5750\u6807\n\u4f8b\u5b50\uff1a\nlcd.drawGtfontUtf8(\"\u554a\u554a\u554a\",32,0,0)\n", "prefix": "lcd.drawGtfontUtf8"}, "lcd.drawGtfontUtf8Gray": {"body": "lcd.drawGtfontUtf8Gray(${1:str},${2:size},${3:gray},${4:x},${5:y})", "description": "lcd.drawGtfontUtf8Gray(str,size,gray,x,y) - \u4f7f\u7528gtfont\u7070\u5ea6\u663e\u793aUTF8\u5b57\u7b26\u4e32\n\u4f20\u5165\u503c\uff1a\nstring str \u663e\u793a\u5b57\u7b26\u4e32\nint size \u5b57\u4f53\u5927\u5c0f (\u652f\u630116-192\u53f7\u5927\u5c0f\u5b57\u4f53)\nint gray \u7070\u5ea6[1\u9636/2\u9636/3\u9636/4\u9636]\nint x \u6a2a\u5750\u6807\nint y \u7ad6\u5750\u6807\n\u4f8b\u5b50\uff1a\nlcd.drawGtfontUtf8Gray(\"\u554a\u554a\u554a\",32,4,0,40)\n", "prefix": "lcd.drawGtfontUtf8Gray"}, "lcd.getSize": {"body": "lcd.getSize()", "description": "lcd.getSize() - \u83b7\u53d6\u5c4f\u5e55\u5c3a\u5bf8\n\u8fd4\u56de\u503c\uff1a\nint \u5bbd, \u5982\u679c\u672a\u521d\u59cb\u5316\u4f1a\u8fd4\u56de0\nint \u9ad8, \u5982\u679c\u672a\u521d\u59cb\u5316\u4f1a\u8fd4\u56de0\n\u4f8b\u5b50\uff1a\nlog.info(\"lcd\", \"size\", lcd.getSize())\n", "prefix": "lcd.getSize"}, "lcd.drawXbm": {"body": "lcd.drawXbm(${1:x},${2:y},${3:w},${4:h},${5:data})", "description": "lcd.drawXbm(x, y, w, h, data) - \u7ed8\u5236\u4f4d\u56fe\n\u4f20\u5165\u503c\uff1a\nint X\u5750\u6807\nint y\u5750\u6807\nint \u4f4d\u56fe\u5bbd\nint \u4f4d\u56fe\u9ad8\nint \u4f4d\u56fe\u6570\u636e,\u6bcf\u4e00\u4f4d\u4ee3\u8868\u4e00\u4e2a\u50cf\u7d20\n\u4f8b\u5b50\uff1a\n-- \u53d6\u6a21\u4f7f\u7528PCtoLCD2002\u8f6f\u4ef6\u5373\u53ef \u9634\u7801 \u9010\u884c \u9006\u5411\n-- \u5728(0,0)\u4e3a\u5de6\u4e0a\u89d2,\u7ed8\u5236 16x16 \"\u4eca\" \u7684\u4f4d\u56fe\nlcd.drawXbm(0, 0, 16,16, string.char(\n 0x80,0x00,0x80,0x00,0x40,0x01,0x20,0x02,0x10,0x04,0x48,0x08,0x84,0x10,0x83,0x60,\n 0x00,0x00,0xF8,0x0F,0x00,0x08,0x00,0x04,0x00,0x04,0x00,0x02,0x00,0x01,0x80,0x00\n))\n", "prefix": "lcd.drawXbm"}, "lcd.showImage": {"body": "lcd.showImage(${1:x},${2:y},${3:file})", "description": "lcd.showImage(x, y, file) - \u663e\u793a\u56fe\u7247,\u5f53\u524d\u53ea\u652f\u6301jpg,jpeg\n\u4f20\u5165\u503c\uff1a\nint X\u5750\u6807\nint y\u5750\u6807\nstring \u6587\u4ef6\u8def\u5f84\n\u4f8b\u5b50\uff1a\nlcd.showImage(0,0,\"/luadb/logo.jpg\")\n", "prefix": "lcd.showImage"}, "lcd.flush": {"body": "lcd.flush()", "description": "lcd.flush() - \u4e3b\u52a8\u5237\u65b0\u6570\u636e\u5230\u754c\u9762, \u4ec5\u8bbe\u7f6ebuff\u4e14\u7981\u7528\u81ea\u52a8\u5c5e\u6027\u540e\u4f7f\u7528\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue, \u5426\u5219\u8fd4\u56denil/false\n", "prefix": "lcd.flush"}, "lcd.setupBuff": {"body": "lcd.setupBuff(${1:conf},${2:onheap})", "description": "lcd.setupBuff(conf, onheap) - \u8bbe\u7f6e\u663e\u793a\u7f13\u51b2\u533a, \u6240\u9700\u5185\u5b58\u5927\u5c0f\u4e3a 2\u00d7\u5bbd\u00d7\u9ad8 \u5b57\u8282. \u8bf7\u8861\u91cf\u5185\u5b58\u9700\u6c42\u4e0e\u4e1a\u52a1\u6240\u9700\u7684\u5237\u65b0\u9891\u6b21.\n\u4f20\u5165\u503c\uff1a\nuserdata conf\u6307\u9488, \u4e0d\u9700\u8981\u4f20\nbool true\u4f7f\u7528heap\u5185\u5b58, false\u4f7f\u7528vm\u5185\u5b58, \u9ed8\u8ba4\u4f7f\u7528vm\u5185\u5b58, \u4e0d\u9700\u8981\u4e3b\u52a8\u4f20\n\u8fd4\u56de\u503c\uff1a\nbool \u662f\u5426\u6210\u529f\n\u4f8b\u5b50\uff1a\n-- \u521d\u59cb\u5316lcd\u7684buff\u7f13\u51b2\u533a, \u53ef\u7406\u89e3\u4e3aFrameBuffer\u533a\u57df.\nlcd.setupBuff()\n", "prefix": "lcd.setupBuff"}, "lcd.autoFlush": {"body": "lcd.autoFlush(${1:enable})", "description": "lcd.autoFlush(enable) - \u8bbe\u7f6e\u81ea\u52a8\u5237\u65b0, \u9700\u914d\u5408lcd.setupBuff\u4f7f\u7528\n\u4f20\u5165\u503c\uff1a\nbool \u662f\u5426\u81ea\u52a8\u5237\u65b0,\u9ed8\u8ba4\u4e3atrue\n\u4f8b\u5b50\uff1a\n-- \u8bbe\u7f6ebuff \u5e76\u7981\u7528\u81ea\u52a8\u66f4\u65b0\nlcd.setupBuff()\nlcd.autoFlush(false)\n-- \u7981\u6b62\u81ea\u52a8\u66f4\u65b0\u540e, \u9700\u8981\u4f7f\u7528 lcd.flush() \u4e3b\u52a8\u5237\u65b0\u6570\u636e\u5230\u5c4f\u5e55\n", "prefix": "lcd.autoFlush"}, "lcd.rgb565": {"body": "lcd.rgb565(${1:r},${2:g},${3:b},${4:swap})", "description": "lcd.rgb565(r, g, b, swap) - RGB565\u989c\u8272\u751f\u6210\n\u4f20\u5165\u503c\uff1a\nint \u7ea2\u8272, 0x00 ~ 0xFF\nint \u7eff\u8272, 0x00 ~ 0xFF\nint \u84dd\u8272, 0x00 ~ 0xFF\nbool \u662f\u5426\u7ffb\u8f6c, true \u7ffb\u8f6c, false \u4e0d\u7ffb\u8f6c. \u9ed8\u8ba4\u7ffb\u8f6c\n\u8fd4\u56de\u503c\uff1a\nint \u989c\u8272\u503c\n\u4f8b\u5b50\uff1a\n-- \u672cAPI\u652f\u6301\u591a\u79cd\u6a21\u5f0f, \u53c2\u6570\u6570\u91cf\u5206\u522b\u662f 1, 2, 3, 4\n-- 1. \u5355\u53c2\u6570\u5f62\u5f0f, 24bit RGB\u503c, swap = true, \u63a8\u8350\nlocal red = lcd.rgb565(0xFF0000)\nlocal green = lcd.rgb565(0x00FF00)\nlocal blue = lcd.rgb565(0x0000FF)\n\n-- 2. \u4e24\u53c2\u6570\u5f62\u5f0f, 24bit RGB\u503c, \u589e\u52a0swap\u7684\u8bbe\u7f6e\nlocal red = lcd.rgb565(0xFF0000, true)\nlocal green = lcd.rgb565(0x00FF00, true)\nlocal blue = lcd.rgb565(0x0000FF, true)\n\n-- 3. \u4e09\u53c2\u6570\u5f62\u5f0f, \u7ea2/\u7eff/\u84dd, \u54048bit\nlocal red = lcd.rgb565(0xFF, 0x00, 0x00)\nlocal green = lcd.rgb565(0x00, 0xFF, 0x00)\nlocal blue = lcd.rgb565(0x00, 0x00, 0xFF)\n\n-- 4. \u56db\u53c2\u6570\u5f62\u5f0f, \u7ea2/\u7eff/\u84dd, \u54048bit, \u589e\u52a0swap\u7684\u8bbe\u7f6e\nlocal red = lcd.rgb565(0xFF, 0x00, 0x00, true)\nlocal green = lcd.rgb565(0x00, 0xFF, 0x00, true)\nlocal blue = lcd.rgb565(0x00, 0x00, 0xFF, true)\n", "prefix": "lcd.rgb565"}, "lcdseg.setup": {"body": "lcdseg.setup(${1:bias},${2:duty},${3:vlcd},${4:com_number},${5:fresh_rate},${6:com_mark},${7:seg_mark})", "description": "lcdseg.setup(bias, duty, vlcd, com_number, fresh_rate, com_mark, seg_mark) - \u521d\u59cb\u5316lcdseg\u5e93\n\u4f20\u5165\u503c\uff1a\nint bias\u503c,\u901a\u5e38\u4e3a 1/3 bias, \u5bf9\u5e94 lcdseg.BIAS_ONETHIRD\nint duty\u503c,\u901a\u5e38\u4e3a 1/4 duty, \u5bf9\u5e94 lcdseg.DUTY_ONEFOURTH\nint \u7535\u538b, \u5355\u4f4d100mV, \u4f8b\u59822.7v\u519927. air103\u652f\u6301\u7684\u503c\u6709 27/29/31/33\nint COM\u811a\u7684\u6570\u91cf, \u53d6\u51b3\u4e8e\u5177\u4f53\u6a21\u5757, air103\u652f\u63011-4\nint \u5237\u65b0\u7387,\u901a\u5e38\u4e3a60, \u5bf9\u5e9460HZ\nint COM\u542f\u7528\u4e0e\u5426\u7684\u63a9\u7801, \u9ed8\u8ba4\u4e3a0xFF,\u5168\u90e8\u542f\u7528.\u82e5\u53ea\u542f\u7528COM0/COM1, \u52190x03\nint seg\u542f\u7528\u4e0e\u5426\u7684\u63a9\u7801, \u9ed8\u8ba4\u4e3a0xFFFFFFFF,\u5373\u5168\u90e8\u542f\u7528. \u82e5\u53ea\u542f\u7528\u524d16\u4e2a, 0xFFFF\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- \u521d\u59cb\u5316lcdseg\nif lcdseg.setup(lcdseg.BIAS_ONETHIRD, lcdseg.DUTY_ONEFOURTH, 33, 4, 60) then\n lcdseg.enable(1)\n\n lcdseg.seg_set(0, 1, 1)\n lcdseg.seg_set(2, 0, 1)\n lcdseg.seg_set(3, 31, 1)\nend\n", "prefix": "lcdseg.setup"}, "lcdseg.enable": {"body": "lcdseg.enable(${1:en})", "description": "lcdseg.enable(en) - \u542f\u7528\u6216\u7981\u7528lcdseg\u5e93\n\u4f20\u5165\u503c\uff1a\nint 1\u542f\u7528,0\u7981\u7528\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u4e0e\u5426\n", "prefix": "lcdseg.enable"}, "lcdseg.power": {"body": "lcdseg.power(${1:en})", "description": "lcdseg.power(en) - \u542f\u7528\u6216\u7981\u7528lcdseg\u7684\u8f93\u51fa\n\u4f20\u5165\u503c\uff1a\nint 1\u542f\u7528,0\u7981\u7528\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u4e0e\u5426\n", "prefix": "lcdseg.power"}, "lcdseg.seg_set": {"body": "lcdseg.seg_set(${1:com},${2:seg},${3:en})", "description": "lcdseg.seg_set(com, seg, en) - \u8bbe\u7f6e\u5177\u4f53\u4e00\u4e2a\u6bb5\u7801\u7684\u72b6\u6001\n\u4f20\u5165\u503c\uff1a\nint COM\u53f7\nint seg\u53f7 \u8981\u66f4\u6539\u7684\u5b57\u6bb5\u7684\u4f4d\u7d22\u5f15\nint 1\u542f\u7528,0\u7981\u7528\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u4e0e\u5426\n", "prefix": "lcdseg.seg_set"}, "libcoap.new": {"body": "libcoap.new(${1:code},${2:uri},${3:headers},${4:payload})", "description": "libcoap.new(code, uri, headers, payload) - \u521b\u5efa\u4e00\u4e2acoap\u6570\u636e\u5305\n\u4f20\u5165\u503c\uff1a\nint coap\u7684code, \u4f8b\u5982libcoap.GET/libcoap.POST/libcoap.PUT/libcoap.DELETE\nstring \u76ee\u6807URI,\u5fc5\u987b\u586b\u5199, \u4e0d\u9700\u8981\u52a0\u4e0a/\u5f00\u5934\ntable \u8bf7\u6c42\u5934,\u7c7b\u4f3c\u4e8ehttp\u7684headers,\u53ef\u9009\nstring \u8bf7\u6c42\u4f53,\u7c7b\u4f3c\u4e8ehttp\u7684body,\u53ef\u9009\n\u8fd4\u56de\u503c\uff1a\nuserdata coap\u6570\u636e\u5305\n\u4f8b\u5b50\uff1a\n-- \u521b\u5efa\u4e00\u4e2a\u8bf7\u6c42\u670d\u52a1\u5668time\u7684\u6570\u636e\u5305\nlocal coapdata = libcoap.new(libcoap.GET, \"time\")\nlocal data = coapdata:rawdata()\n", "prefix": "libcoap.new"}, "libcoap.parse": {"body": "libcoap.parse(${1:str})", "description": "libcoap.parse(str) - \u89e3\u6790coap\u6570\u636e\u5305\n\u4f20\u5165\u503c\uff1a\nstring coap\u6570\u636e\u5305\n\u8fd4\u56de\u503c\uff1a\nuserdata coap\u6570\u636e\u5305,\u5982\u679c\u89e3\u6790\u5931\u8d25\u4f1a\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\n-- \u89e3\u6790\u670d\u52a1\u5668\u4f20\u5165\u7684\u6570\u636e\u5305\nlocal coapdata = libcoap.parse(indata)\nlog.info(\"coapdata\", coapdata:hcode(), coapdata:data())\n", "prefix": "libcoap.parse"}, "coapdata:msgid": {"body": "coapdata:msgid()", "description": "coapdata:msgid() - \u83b7\u53d6coap\u6570\u636e\u5305\u7684msgid\n\u8fd4\u56de\u503c\uff1a\nint coap\u6570\u636e\u5305\u7684msgid\n\u4f8b\u5b50\uff1a\n-- \u89e3\u6790\u670d\u52a1\u5668\u4f20\u5165\u7684\u6570\u636e\u5305\nlocal coapdata = libcoap.parse(indata)\nlog.info(\"coapdata\", coapdata:msgid())\n", "prefix": "coapdata:msgid"}, "coapdata:token": {"body": "coapdata:token()", "description": "coapdata:token() - \u83b7\u53d6coap\u6570\u636e\u5305\u7684token\n\u8fd4\u56de\u503c\uff1a\nstring coap\u6570\u636e\u5305\u7684token\n\u4f8b\u5b50\uff1a\n-- \u89e3\u6790\u670d\u52a1\u5668\u4f20\u5165\u7684\u6570\u636e\u5305\nlocal coapdata = libcoap.parse(indata)\nlog.info(\"coapdata\", coapdata:token())\n", "prefix": "coapdata:token"}, "coapdata:rawdata": {"body": "coapdata:rawdata()", "description": "coapdata:rawdata() - \u83b7\u53d6coap\u6570\u636e\u5305\u7684\u4e8c\u8fdb\u5236\u6570\u636e,\u7528\u4e8e\u53d1\u9001\u5230\u670d\u52a1\u5668\n\u8fd4\u56de\u503c\uff1a\nstring coap\u6570\u636e\u5305\u7684\u4e8c\u8fdb\u5236\u6570\u636e\n\u4f8b\u5b50\uff1a\n-- \u89e3\u6790\u670d\u52a1\u5668\u4f20\u5165\u7684\u6570\u636e\u5305\nlocal coapdata = libcoap.new(libcoap.GET, \"time\")\nnetc:send(coapdata:rawdata())\n", "prefix": "coapdata:rawdata"}, "coapdata:code": {"body": "coapdata:code()", "description": "coapdata:code() - \u83b7\u53d6coap\u6570\u636e\u5305\u7684code\n\u8fd4\u56de\u503c\uff1a\nint coap\u6570\u636e\u5305\u7684code\n\u4f8b\u5b50\uff1a\n-- \u89e3\u6790\u670d\u52a1\u5668\u4f20\u5165\u7684\u6570\u636e\u5305\nlocal coapdata = libcoap.parse(indata)\nlog.info(\"coapdata\", coapdata:code())\n", "prefix": "coapdata:code"}, "coapdata:hcode": {"body": "coapdata:hcode()", "description": "coapdata:hcode() - \u83b7\u53d6coap\u6570\u636e\u5305\u7684http code, \u6bd4coap\u539f\u59cb\u7684code\u8981\u53cb\u597d\n\u8fd4\u56de\u503c\uff1a\nint coap\u6570\u636e\u5305\u7684http code,\u4f8b\u5982200,205,404\n\u4f8b\u5b50\uff1a\n-- \u89e3\u6790\u670d\u52a1\u5668\u4f20\u5165\u7684\u6570\u636e\u5305\nlocal coapdata = libcoap.parse(indata)\nlog.info(\"coapdata\", coapdata:hcode())\n", "prefix": "coapdata:hcode"}, "coapdata:type": {"body": "coapdata:type(${1:t})", "description": "coapdata:type(t) - \u83b7\u53d6coap\u6570\u636e\u5305\u7684type, \u4f8b\u5982libcoap.CON/NON/ACK/RST\n\u4f20\u5165\u503c\uff1a\nint \u65b0\u7684type\u503c,\u53ef\u9009\n\u8fd4\u56de\u503c\uff1a\nint coap\u6570\u636e\u5305\u7684type\n\u4f8b\u5b50\uff1a\n-- \u89e3\u6790\u670d\u52a1\u5668\u4f20\u5165\u7684\u6570\u636e\u5305\nlocal coapdata = libcoap.parse(indata)\nlog.info(\"coapdata\", coapdata:type())\n", "prefix": "coapdata:type"}, "coapdata:data": {"body": "coapdata:data()", "description": "coapdata:data() - \u83b7\u53d6coap\u6570\u636e\u5305\u7684data\n\u8fd4\u56de\u503c\uff1a\nstring coap\u6570\u636e\u5305\u7684data\n\u4f8b\u5b50\uff1a\n-- \u89e3\u6790\u670d\u52a1\u5668\u4f20\u5165\u7684\u6570\u636e\u5305\nlocal coapdata = libcoap.parse(indata)\nlog.info(\"coapdata\", coapdata:data())\n", "prefix": "coapdata:data"}, "libgnss.parse": {"body": "libgnss.parse(${1:str})", "description": "libgnss.parse(str) - \u5904\u7406nmea\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nstring \u539f\u59cbnmea\u6570\u636e\n\u4f8b\u5b50\uff1a\n-- \u89e3\u6790nmea\u6570\u636e\nlibgnss.parse(indata)\nlog.info(\"nmea\", json.encode(libgnss.getRmc(), \"11g\"))\n", "prefix": "libgnss.parse"}, "libgnss.isFix": {"body": "libgnss.isFix()", "description": "libgnss.isFix() - \u5f53\u524d\u662f\u5426\u5df2\u7ecf\u5b9a\u4f4d\u6210\u529f\n\u8fd4\u56de\u503c\uff1a\nboolean \u5b9a\u4f4d\u6210\u529f\u4e0e\u5426\n\u4f8b\u5b50\uff1a\nlog.info(\"nmea\", \"isFix\", libgnss.isFix())\n", "prefix": "libgnss.isFix"}, "libgnss.getIntLocation": {"body": "libgnss.getIntLocation()", "description": "libgnss.getIntLocation() - \u83b7\u53d6\u4f4d\u7f6e\u4fe1\u606f\n\u8fd4\u56de\u503c\uff1a\nint lat\u6570\u636e, \u683c\u5f0f\u4e3a ddddddddd\nint lng\u6570\u636e, \u683c\u5f0f\u4e3a ddddddddd\nint speed\u6570\u636e, \u5355\u4f4d\u7c73. \u4e8e2023.9.26\u4fee\u6b63\n\u4f8b\u5b50\uff1a\n-- \u5efa\u8bae\u7528libgnss.getRmc(1)\nlog.info(\"nmea\", \"loc\", libgnss.getIntLocation())\n", "prefix": "libgnss.getIntLocation"}, "libgnss.getRmc": {"body": "libgnss.getRmc(${1:data_mode})", "description": "libgnss.getRmc(data_mode) - \u83b7\u53d6\u539f\u59cbRMC\u4f4d\u7f6e\u4fe1\u606f\n\u4f20\u5165\u503c\uff1a\nint \u5750\u6807\u7c7b\u6570\u636e\u7684\u683c\u5f0f, 0-DDMM.MMM\u683c\u5f0f, 1-DDDDDDD\u683c\u5f0f, 2-DD.DDDDD\u683c\u5f0f\n\u8fd4\u56de\u503c\uff1a\ntable \u539f\u59cbrmc\u6570\u636e\n\u4f8b\u5b50\uff1a\n-- \u89e3\u6790nmea\nlog.info(\"nmea\", \"rmc\", json.encode(libgnss.getRmc(2)))\n-- \u5b9e\u4f8b\u8f93\u51fa\n--[[\n{\n \"course\":0,\n \"valid\":true, // true\u5b9a\u4f4d\u6210\u529f,false\u5b9a\u4f4d\u4e22\u5931\n \"lat\":23.4067, // \u7eac\u5ea6, \u6b63\u6570\u4e3a\u5317\u7eac, \u8d1f\u6570\u4e3a\u5357\u7eac\n \"lng\":113.231, // \u7ecf\u5ea6, \u6b63\u6570\u4e3a\u4e1c\u7ecf, \u8d1f\u6570\u4e3a\u897f\u7ecf\n \"variation\":0, // \u5730\u9762\u822a\u5411\uff0c\u5355\u4f4d\u4e3a\u5ea6\uff0c\u4ece\u5317\u5411\u8d77\u987a\u65f6\u9488\u8ba1\u7b97\n \"speed\":0 // \u5730\u9762\u901f\u5ea6, \u5355\u4f4d\u4e3a\"\u8282\"\n \"year\":2023, // \u5e74\u4efd\n \"month\":1, // \u6708\u4efd, 1-12\n \"day\":5, // \u6708\u4efd\u5929, 1-31\n \"hour\":7, // \u5c0f\u65f6,0-23\n \"min\":23, // \u5206\u949f,0-59\n \"sec\":20, // \u79d2,0-59\n}\n]]\n", "prefix": "libgnss.getRmc"}, "libgnss.getGsv": {"body": "libgnss.getGsv()", "description": "libgnss.getGsv() - \u83b7\u53d6\u539f\u59cbGSV\u4fe1\u606f\n\u8fd4\u56de\u503c\uff1a\ntable \u539f\u59cbGSV\u6570\u636e\n\u4f8b\u5b50\uff1a\n-- \u89e3\u6790nmea\nlog.info(\"nmea\", \"gsv\", json.encode(libgnss.getGsv()))\n--[[\u5b9e\u4f8b\u8f93\u51fa\n{\n \"total_sats\":24, // \u603b\u53ef\u89c1\u536b\u661f\u6570\u91cf\n \"sats\":[\n {\n \"snr\":27, // \u4fe1\u566a\u6bd4\n \"azimuth\":278, // \u65b9\u5411\u89d2\n \"elevation\":59, // \u4ef0\u89d2\n \"tp\":0, // 0 - GPS/SASS/QSZZ, 1 - BD\n \"nr\":4 // \u536b\u661f\u7f16\u53f7\n },\n // \u8fd9\u91cc\u5ffd\u7565\u4e8622\u4e2a\u536b\u661f\u7684\u4fe1\u606f\n {\n \"snr\":0,\n \"azimuth\":107,\n \"elevation\":19,\n \"tp\":1,\n \"nr\":31\n }\n ]\n}\n]]\n", "prefix": "libgnss.getGsv"}, "libgnss.getGsa": {"body": "libgnss.getGsa(${1:data_mode})", "description": "libgnss.getGsa(data_mode) - \u83b7\u53d6\u539f\u59cbGSA\u4fe1\u606f\n\u4f20\u5165\u503c\uff1a\nint \u5750\u6807\u7c7b\u6570\u636e\u7684\u683c\u5f0f, 0-DDMM.MMM\u683c\u5f0f, 1-DDDDDDD\u683c\u5f0f, 2-DD.DDDDD\u683c\u5f0f\n\u8fd4\u56de\u503c\uff1a\ntable \u539f\u59cbGSA\u6570\u636e\n\u4f8b\u5b50\uff1a\n-- \u83b7\u53d6\nlog.info(\"nmea\", \"gsa\", json.encode(libgnss.getGsa(), \"11g\"))\n-- \u793a\u4f8b\u6570\u636e\n--[[\n{\n \"sats\":[ // \u6b63\u5728\u4f7f\u7528\u7684\u536b\u661f\u7f16\u53f7\n 9,\n 6,\n 16,\n 16,\n 26,\n 21,\n 27,\n 27,\n 4,\n 36,\n 3,\n 7,\n 8,\n 194\n ],\n \"vdop\":0.03083333, // \u5782\u76f4\u7cbe\u5ea6\u56e0\u5b50\uff0c0.00 - 99.99\uff0c\u4e0d\u5b9a\u4f4d\u65f6\u503c\u4e3a 99.99\n \"pdop\":0.0455, // \u6c34\u5e73\u7cbe\u5ea6\u56e0\u5b50\uff0c0.00 - 99.99\uff0c\u4e0d\u5b9a\u4f4d\u65f6\u503c\u4e3a 99.99\n \"fix_type\":3, // \u5b9a\u4f4d\u6a21\u5f0f, 1-\u672a\u5b9a\u4f4d, 2-2D\u5b9a\u4f4d, 3-3D\u5b9a\u4f4d\n \"hdop\":0.0335 // \u4f4d\u7f6e\u7cbe\u5ea6\u56e0\u5b50\uff0c0.00 - 99.99\uff0c\u4e0d\u5b9a\u4f4d\u65f6\u503c\u4e3a 99.99\n}\n]]\n", "prefix": "libgnss.getGsa"}, "libgnss.getVtg": {"body": "libgnss.getVtg(${1:data_mode})", "description": "libgnss.getVtg(data_mode) - \u83b7\u53d6VTA\u901f\u5ea6\u4fe1\u606f\n\u4f20\u5165\u503c\uff1a\nint \u53ef\u9009, 3-\u539f\u59cb\u5b57\u7b26\u4e32, \u4e0d\u4f20\u6216\u8005\u4f20\u5176\u4ed6\u503c, \u5219\u8fd4\u56de\u6d6e\u70b9\u503c\n\u8fd4\u56de\u503c\uff1a\ntable \u539f\u59cbVTA\u6570\u636e\n\u4f8b\u5b50\uff1a\n-- \u89e3\u6790nmea\nlog.info(\"nmea\", \"vtg\", json.encode(libgnss.getVtg()))\n-- \u793a\u4f8b\n--[[\n{\n \"speed_knots\":0, // \u901f\u5ea6, \u82f1\u91cc/\u5c0f\u65f6\n \"true_track_degrees\":0, // \u771f\u5317\u65b9\u5411\u89d2\n \"magnetic_track_degrees\":0, // \u78c1\u5317\u65b9\u5411\u89d2\n \"speed_kph\":0 // \u901f\u5ea6, \u5343\u7c73/\u5c0f\u65f6\n}\n]]\n", "prefix": "libgnss.getVtg"}, "libgnss.getZda": {"body": "libgnss.getZda()", "description": "libgnss.getZda() - \u83b7\u53d6\u539f\u59cbZDA\u65f6\u95f4\u548c\u65e5\u671f\u4fe1\u606f\n\u8fd4\u56de\u503c\uff1a\ntable \u539f\u59cbzda\u6570\u636e\n\u4f8b\u5b50\uff1a\nlog.info(\"nmea\", \"zda\", json.encode(libgnss.getZda()))\n-- \u5b9e\u4f8b\u8f93\u51fa\n--[[\n{\n \"minute_offset\":0, // \u672c\u5730\u65f6\u533a\u7684\u5206\u949f, \u4e00\u822c\u56fa\u5b9a\u8f93\u51fa0\n \"hour_offset\":0, // \u672c\u5730\u65f6\u533a\u7684\u5c0f\u65f6, \u4e00\u822c\u56fa\u5b9a\u8f93\u51fa0\n \"year\":2023 // UTC \u5e74\uff0c\u56db\u4f4d\u6570\u5b57\n \"month\":1, // UTC \u6708\uff0c\u4e24\u4f4d\uff0c01 ~ 12\n \"day\":5, // UTC \u65e5\uff0c\u4e24\u4f4d\u6570\u5b57\uff0c01 ~ 31\n \"hour\":7, // \u5c0f\u65f6\n \"min\":50, // \u5206\n \"sec\":14, // \u79d2\n}\n]]\n", "prefix": "libgnss.getZda"}, "libgnss.debug": {"body": "libgnss.debug(${1:mode})", "description": "libgnss.debug(mode) - \u8bbe\u7f6e\u8c03\u8bd5\u6a21\u5f0f\n\u4f20\u5165\u503c\uff1a\nbool true\u5f00\u542f\u8c03\u8bd5,false\u5173\u95ed\u8c03\u8bd5,\u9ed8\u8ba4\u4e3afalse\n\u4f8b\u5b50\uff1a\n-- \u5f00\u542f\u8c03\u8bd5, \u4f1a\u8f93\u51faGNSS\u539f\u59cb\u6570\u636e\u5230\u65e5\u5fd7\u4e2d\nlibgnss.debug(true)\n-- \u5173\u95ed\u8c03\u8bd5\nlibgnss.debug(false)\n", "prefix": "libgnss.debug"}, "libgnss.getGga": {"body": "libgnss.getGga(${1:data_mode})", "description": "libgnss.getGga(data_mode) - \u83b7\u53d6GGA\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nint \u5750\u6807\u7c7b\u6570\u636e\u7684\u683c\u5f0f, 0-DDMM.MMM\u683c\u5f0f, 1-DDDDDDD\u683c\u5f0f, 2-DD.DDDDD\u683c\u5f0f, 3-\u539f\u59cb\u5b57\u7b26\u4e32\n\u8fd4\u56de\u503c\uff1a\ntable GGA\u6570\u636e, \u82e5\u5982\u4e0d\u5b58\u5728\u4f1a\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\nlocal gga = libgnss.getGga(2)\nif gga then\n log.info(\"GGA\", json.encode(gga, \"11g\"))\nend\n--\u5b9e\u4f8b\u8f93\u51fa\n--[[\n{\n \"dgps_age\":0, // \u5dee\u5206\u6821\u6b63\u65f6\u5ef6\uff0c\u5355\u4f4d\u4e3a\u79d2\n \"fix_quality\":1, // \u5b9a\u4f4d\u72b6\u6001\u6807\u8bc6 0 - \u65e0\u6548,1 - \u5355\u70b9\u5b9a\u4f4d,2 - \u5dee\u5206\u5b9a\u4f4d\n \"satellites_tracked\":14, // \u53c2\u4e0e\u5b9a\u4f4d\u7684\u536b\u661f\u6570\u91cf\n \"altitude\":0.255, // \u6d77\u5e73\u9762\u5206\u79bb\u5ea6, \u6216\u8005\u6210\u4e3a\u6d77\u62d4, \u5355\u4f4d\u662f\u7c73,\n \"hdop\":0.0335, // \u6c34\u5e73\u7cbe\u5ea6\u56e0\u5b50\uff0c0.00 - 99.99\uff0c\u4e0d\u5b9a\u4f4d\u65f6\u503c\u4e3a 99.99\n \"longitude\":113.231, // \u7ecf\u5ea6, \u6b63\u6570\u4e3a\u4e1c\u7ecf, \u8d1f\u6570\u4e3a\u897f\u7ecf\n \"latitude\":23.4067, // \u7eac\u5ea6, \u6b63\u6570\u4e3a\u5317\u7eac, \u8d1f\u6570\u4e3a\u5357\u7eac\n \"height\":0 // \u692d\u7403\u9ad8\uff0c\u56fa\u5b9a\u8f93\u51fa 1 \u4f4d\u5c0f\u6570\n}\n]]\n", "prefix": "libgnss.getGga"}, "libgnss.getGll": {"body": "libgnss.getGll(${1:data_mode})", "description": "libgnss.getGll(data_mode) - \u83b7\u53d6GLL\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nint \u5750\u6807\u7c7b\u6570\u636e\u7684\u683c\u5f0f, 0-DDMM.MMM\u683c\u5f0f, 1-DDDDDDD\u683c\u5f0f, 2-DD.DDDDD\u683c\u5f0f\n\u8fd4\u56de\u503c\uff1a\ntable GLL\u6570\u636e, \u82e5\u5982\u4e0d\u5b58\u5728\u4f1a\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\nlocal gll = libgnss.getGll(2)\nif gll then\n log.info(\"GLL\", json.encode(gll, \"11g\"))\nend\n-- \u5b9e\u4f8b\u6570\u636e\n--[[\n{\n \"status\":\"A\", // \u5b9a\u4f4d\u72b6\u6001, A\u6709\u6548, B\u65e0\u6548\n \"mode\":\"A\", // \u5b9a\u4f4d\u6a21\u5f0f, V\u65e0\u6548, A\u5355\u70b9\u89e3, D\u5dee\u5206\u89e3\n \"sec\":20, // \u79d2, UTC\u65f6\u95f4\u4e3a\u51c6\n \"min\":23, // \u5206\u949f, UTC\u65f6\u95f4\u4e3a\u51c6\n \"hour\":7, // \u5c0f\u65f6, UTC\u65f6\u95f4\u4e3a\u51c6\n \"longitude\":113.231, // \u7ecf\u5ea6, \u6b63\u6570\u4e3a\u4e1c\u7ecf, \u8d1f\u6570\u4e3a\u897f\u7ecf\n \"latitude\":23.4067, // \u7eac\u5ea6, \u6b63\u6570\u4e3a\u5317\u7eac, \u8d1f\u6570\u4e3a\u5357\u7eac\n \"us\":0 // \u5fae\u5999\u6570, \u901a\u5e38\u4e3a0\n}\n]]\n", "prefix": "libgnss.getGll"}, "libgnss.clear": {"body": "libgnss.clear()", "description": "libgnss.clear() - \u6e05\u9664\u5386\u53f2\u5b9a\u4f4d\u6570\u636e\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n-- \u8be5\u64cd\u4f5c\u4f1a\u6e05\u9664\u6240\u6709\u5b9a\u4f4d\u6570\u636e\n", "prefix": "libgnss.clear"}, "libgnss.bind": {"body": "libgnss.bind(${1:id},${2:next_id})", "description": "libgnss.bind(id, next_id) - \u7ed1\u5b9auart\u7aef\u53e3\u8fdb\u884cGNSS\u6570\u636e\u8bfb\u53d6\n\u4f20\u5165\u503c\uff1a\nint uart\u7aef\u53e3\u53f7\nint \u8f6c\u53d1\u5230uart\u7684id, \u4f8b\u5982\u865a\u62dfuart.VUART_0\n\u4f8b\u5b50\uff1a\n-- \u914d\u7f6e\u4e32\u53e3\u4fe1\u606f, \u901a\u5e38\u4e3a 115200 8N1\nuart.setup(2, 115200)\n-- \u7ed1\u5b9auart, \u9a6c\u4e0a\u5f00\u59cb\u89e3\u6790GNSS\u6570\u636e\nlibgnss.bind(2)\n-- \u65e0\u9700\u518d\u8c03\u7528uart.on\u7136\u540e\u8c03\u7528libgnss.parse\n-- \u5f00\u53d1\u671f\u53ef\u6253\u5f00\u8c03\u8bd5\u65e5\u5fd7\nlibgnss.debug(true)\n\n-- 2023-01-02\u4e4b\u540e\u7f16\u8bd1\u7684\u56fa\u4ef6\u6709\u6548\n-- \u4eceuart2\u8bfb\u53d6\u5e76\u89e3\u6790, \u540c\u65f6\u8f6c\u53d1\u5230\u865a\u62df\u4e32\u53e30\nlibgnss.bind(2, uart.VUART_0)\n", "prefix": "libgnss.bind"}, "libgnss.locStr": {"body": "libgnss.locStr(${1:mode})", "description": "libgnss.locStr(mode) - \u83b7\u53d6\u4f4d\u7f6e\u5b57\u7b26\u4e32\n\u4f20\u5165\u503c\uff1a\nint \u5b57\u7b26\u4e32\u6a21\u5f0f. 0- Air780EG\u6240\u9700\u7684\u683c\u5f0f\nreturn \u6307\u5b9a\u6a21\u5f0f\u7684\u5b57\u7b26\u4e32\n\u4f8b\u5b50\uff1a\n-- \u4ec5\u63a8\u8350\u5728\u5b9a\u4f4d\u6210\u529f\u540e\u8c03\u7528\n", "prefix": "libgnss.locStr"}, "libgnss.rtcAuto": {"body": "libgnss.rtcAuto(${1:enable})", "description": "libgnss.rtcAuto(enable) - \u5b9a\u4f4d\u6210\u529f\u540e\u81ea\u52a8\u8bbe\u7f6eRTC\n\u4f20\u5165\u503c\uff1a\nbool \u5f00\u542f\u4e0e\u5426, \u9ed8\u8ba4\u662ffalse\u5173\u95ed\n\u4f8b\u5b50\uff1a\n-- \u5f00\u542f\u81ea\u52a8\u8bbe\u7f6eRTC\nlibgnss.rtcAuto(true)\n", "prefix": "libgnss.rtcAuto"}, "libgnss.on": {"body": "libgnss.on(${1:tp},${2:fn})", "description": "libgnss.on(tp, fn) - \u5e95\u5c42\u4e8b\u4ef6\u56de\u8c03\n\u4f20\u5165\u503c\uff1a\nstring \u4e8b\u4ef6\u7c7b\u578b,\u5f53\u524d\u652f\u6301\"raw\"\n\u4f8b\u5b50\uff1a\n-- \u672c\u51fd\u6570\u4e00\u822c\u7528\u4e8e\u8c03\u8bd5, \u7528\u4e8e\u83b7\u53d6\u5e95\u5c42\u5b9e\u9645\u6536\u5230\u7684\u6570\u636e\nlibgnss.on(\"raw\", function(data)\n log.info(\"GNSS\", data)\nend)\n", "prefix": "libgnss.on"}, "libgnss.getTxt": {"body": "libgnss.getTxt()", "description": "libgnss.getTxt() - \u83b7\u53d6\u975e\u6807\u7684GPTXT\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nreturn GPTXT\u6240\u643a\u5e26\u7684\u5b57\u7b26\u4e32\n\u4f8b\u5b50\uff1a\n-- \u672c\u51fd\u6570\u4e8e2023.6.6 \u6dfb\u52a0\nlog.info(\"gnss\", \"txt\", libgnss.getTxt())\n\n-- \u6d4b\u8bd5\u8bed\u53e5\nlibgnss.parse(\"$GPTXT,01,01,01,ANTENNA SHORT*63\\r\\n\")\nlog.info(\"GNSS\", libgnss.getTxt())\nlibgnss.parse(\"$GPTXT,01,01,01,ANTENNA OPEN*25\\r\\n\")\nlog.info(\"GNSS\", libgnss.getTxt())\nlibgnss.parse(\"$GPTXT,01,01,01,ANTENNA OK*35\\r\\n\")\nlog.info(\"GNSS\", libgnss.getTxt())\n", "prefix": "libgnss.getTxt"}, "log.setLevel": {"body": "log.setLevel(${1:level})", "description": "log.setLevel(level) - \u8bbe\u7f6e\u65e5\u5fd7\u7ea7\u522b\n\u4f20\u5165\u503c\uff1a\nstring level \u65e5\u5fd7\u7ea7\u522b,\u53ef\u7528\u5b57\u7b26\u4e32\u6216\u6570\u503c, \u5b57\u7b26\u4e32\u4e3a(SILENT,DEBUG,INFO,WARN,ERROR,FATAL), \u6570\u503c\u4e3a(0,1,2,3,4,5)\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n-- \u8bbe\u7f6e\u65e5\u5fd7\u7ea7\u522b\u4e3aINFO\nlog.setLevel(\"INFO\")\n", "prefix": "log.setLevel"}, "log.style": {"body": "log.style(${1:val})", "description": "log.style(val) - \u8bbe\u7f6e\u65e5\u5fd7\u98ce\u683c\n\u4f20\u5165\u503c\uff1a\nint \u65e5\u5fd7\u98ce\u683c,\u9ed8\u8ba4\u4e3a0, \u4e0d\u4f20\u5c31\u662f\u83b7\u53d6\u5f53\u524d\u503c\n\u8fd4\u56de\u503c\uff1a\nint \u5f53\u524d\u7684\u65e5\u5fd7\u98ce\u683c\n\u4f8b\u5b50\uff1a\n-- \u4ee5 log.info(\"ABC\", \"DEF\", 123) \u4e3a\u4f8b, \u5047\u8bbe\u8be5\u4ee3\u7801\u4f4d\u4e8emain.lua\u768412\u884c\n-- \u9ed8\u8ba4\u65e5\u5fd70\n-- I/user.ABC DEF 123\n-- \u8c03\u8bd5\u98ce\u683c1, \u6dfb\u52a0\u989d\u5916\u7684\u8c03\u8bd5\u4fe1\u606f\n-- I/main.lua:12 ABC DEF 123\n-- \u8c03\u8bd5\u98ce\u683c2, \u6dfb\u52a0\u989d\u5916\u7684\u8c03\u8bd5\u4fe1\u606f, \u4f4d\u7f6e\u6709\u6240\u533a\u522b\n-- I/user.ABC main.lua:12 DEF 123\n\nlog.style(0) -- \u9ed8\u8ba4\u98ce\u683c0\nlog.style(1) -- \u8c03\u8bd5\u98ce\u683c1\nlog.style(2) -- \u8c03\u8bd5\u98ce\u683c2\n", "prefix": "log.style"}, "log.getLevel": {"body": "log.getLevel()", "description": "log.getLevel() - \u83b7\u53d6\u65e5\u5fd7\u7ea7\u522b\n\u8fd4\u56de\u503c\uff1a\nint \u65e5\u5fd7\u7ea7\u522b\u5bf9\u5e940,1,2,3,4,5\n\u4f8b\u5b50\uff1a\n-- \u5f97\u5230\u65e5\u5fd7\u7ea7\u522b\nlog.getLevel()\n", "prefix": "log.getLevel"}, "log.debug": {"body": "log.debug(${1:tag},${2:val},${3:val2},${4:val3},${5:...})", "description": "log.debug(tag, val, val2, val3, ...) - \u8f93\u51fa\u65e5\u5fd7,\u7ea7\u522bdebug\n\u4f20\u5165\u503c\uff1a\nstring tag \u65e5\u5fd7\u6807\u8bc6,\u5fc5\u987b\u662f\u5b57\u7b26\u4e32\n... \u9700\u6253\u5370\u7684\u53c2\u6570\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n-- \u65e5\u5fd7\u8f93\u51fa D/onenet connect ok\nlog.debug(\"onenet\", \"connect ok\")\n", "prefix": "log.debug"}, "log.info": {"body": "log.info(${1:tag},${2:val},${3:val2},${4:val3},${5:...})", "description": "log.info(tag, val, val2, val3, ...) - \u8f93\u51fa\u65e5\u5fd7,\u7ea7\u522binfo\n\u4f20\u5165\u503c\uff1a\nstring tag \u65e5\u5fd7\u6807\u8bc6,\u5fc5\u987b\u662f\u5b57\u7b26\u4e32\n... \u9700\u6253\u5370\u7684\u53c2\u6570\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n-- \u65e5\u5fd7\u8f93\u51fa I/onenet connect ok\nlog.info(\"onenet\", \"connect ok\")\n", "prefix": "log.info"}, "log.warn": {"body": "log.warn(${1:tag},${2:val},${3:val2},${4:val3},${5:...})", "description": "log.warn(tag, val, val2, val3, ...) - \u8f93\u51fa\u65e5\u5fd7,\u7ea7\u522bwarn\n\u4f20\u5165\u503c\uff1a\nstring tag \u65e5\u5fd7\u6807\u8bc6,\u5fc5\u987b\u662f\u5b57\u7b26\u4e32\n... \u9700\u6253\u5370\u7684\u53c2\u6570\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n-- \u65e5\u5fd7\u8f93\u51fa W/onenet connect ok\nlog.warn(\"onenet\", \"connect ok\")\n", "prefix": "log.warn"}, "log.error": {"body": "log.error(${1:tag},${2:val},${3:val2},${4:val3},${5:...})", "description": "log.error(tag, val, val2, val3, ...) - \u8f93\u51fa\u65e5\u5fd7,\u7ea7\u522berror\n\u4f20\u5165\u503c\uff1a\nstring tag \u65e5\u5fd7\u6807\u8bc6,\u5fc5\u987b\u662f\u5b57\u7b26\u4e32\n... \u9700\u6253\u5370\u7684\u53c2\u6570\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n-- \u65e5\u5fd7\u8f93\u51fa E/onenet connect ok\nlog.error(\"onenet\", \"connect ok\")\n", "prefix": "log.error"}, "lora.init": {"body": "lora.init(${1:ic},${2:loraconfig},${3:spiconfig})", "description": "lora.init(ic, loraconfig,spiconfig) - lora\u521d\u59cb\u5316\n\u4f20\u5165\u503c\uff1a\nstring lora \u578b\u53f7\uff0c\u5f53\u524d\u652f\u6301\uff1a
        llcc68
        sx1268\ntable lora\u914d\u7f6e\u53c2\u6570,\u4e0e\u5177\u4f53\u8bbe\u5907\u6709\u5173\n\u4f8b\u5b50\uff1a\nlora.init(\"llcc68\",\n {\n id = 0, -- SPI id\n cs = pin.PB04, -- SPI \u7247\u9009\u7684GPIO\u53f7,\u5982\u679c\u6ca1\u6709pin\u5e93,\u586bGPIO\u6570\u5b57\u7f16\u53f7\u5c31\u884c\n res = pin.PB00, -- \u590d\u4f4d\u811a\u8fde\u63a5\u7684GPIO\u53f7,\u5982\u679c\u6ca1\u6709pin\u5e93,\u586bGPIO\u6570\u5b57\u7f16\u53f7\u5c31\u884c\n busy = pin.PB01, -- \u5fd9\u68c0\u6d4b\u811a\u7684GPIO\u53f7\n dio1 = pin.PB06, -- \u6570\u636e\u8f93\u5165\u4e2d\u65ad\u811a\n lora_init = true -- \u662f\u5426\u53d1\u9001\u521d\u59cb\u5316\u547d\u4ee4. \u5982\u679c\u662f\u5524\u9192\u540e\u76f4\u63a5\u8bfb\u53d6, \u5c31\u4f20false\n }\n)\n", "prefix": "lora.init"}, "lora.set_channel": {"body": "lora.set_channel(${1:freq})", "description": "lora.set_channel(freq) - \u8bbe\u7f6e\u9891\u9053\u9891\u7387\n\u4f20\u5165\u503c\uff1a\nnumber \u9891\u7387\n\u4f8b\u5b50\uff1a\nlora.set_channel(433000000)\n", "prefix": "lora.set_channel"}, "lora.set_txconfig": {"body": "lora.set_txconfig(${1:ic},${2:txconfig})", "description": "lora.set_txconfig(ic, txconfig) - lora\u914d\u7f6e\u53d1\u9001\u53c2\u6570\n\u4f20\u5165\u503c\uff1a\nstring lora \u578b\u53f7\uff0c\u5f53\u524d\u652f\u6301\uff1a
        llcc68
        sx1268\ntable lora\u53d1\u9001\u914d\u7f6e\u53c2\u6570,\u4e0e\u5177\u4f53\u8bbe\u5907\u6709\u5173\n\u4f8b\u5b50\uff1a\nlora.set_txconfig(\"llcc68\",\n {\n mode=1,\n power=22,\n fdev=0,\n bandwidth=0,\n datarate=9,\n coderate=4,\n preambleLen=8,\n fixLen=false,\n crcOn=true,\n freqHopOn=0,\n hopPeriod=0,\n iqInverted=false,\n timeout=3000\n }\n)\n", "prefix": "lora.set_txconfig"}, "lora.set_rxconfig": {"body": "lora.set_rxconfig(${1:ic},${2:set_rxconfig})", "description": "lora.set_rxconfig(ic, set_rxconfig) - lora\u914d\u7f6e\u63a5\u6536\u53c2\u6570\n\u4f20\u5165\u503c\uff1a\nstring lora \u578b\u53f7\uff0c\u5f53\u524d\u652f\u6301\uff1a
        llcc68
        sx1268\ntable lora\u63a5\u6536\u914d\u7f6e\u53c2\u6570,\u4e0e\u5177\u4f53\u8bbe\u5907\u6709\u5173\n\u4f8b\u5b50\uff1a\nlora.set_rxconfig(\"llcc68\",\n {\n mode=1,\n bandwidth=0,\n datarate=9,\n coderate=4,\n bandwidthAfc=0,\n preambleLen=8,\n symbTimeout=0,\n fixLen=false,\n payloadLen=0,\n crcOn=true,\n freqHopOn=0,\n hopPeriod=0,\n iqInverted=false,\n rxContinuous=false\n }\n)\n", "prefix": "lora.set_rxconfig"}, "lora.send": {"body": "lora.send(${1:data})", "description": "lora.send(data) - \u53d1\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nstring \u5199\u5165\u7684\u6570\u636e\n\u4f8b\u5b50\uff1a\nlora.send(\"PING\")\n", "prefix": "lora.send"}, "lora.recv": {"body": "lora.recv(${1:timeout})", "description": "lora.recv(timeout) - \u5f00\u542f\u6536\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nnumber \u8d85\u65f6\u65f6\u95f4\uff0c\u9ed8\u8ba41000 \u5355\u4f4dms\n\u4f8b\u5b50\uff1a\nsys.subscribe(\"LORA_RX_DONE\", function(data, size)\n log.info(\"LORA_RX_DONE: \", data, size)\n lora.send(\"PING\")\nend)\n-- \u8001\u7248\u672c\u6ca1\u6709recv, \u53ef\u4ee5\u6539\u6210 lora.recive\nlora.recv(1000)\n", "prefix": "lora.recv"}, "lora.mode": {"body": "lora.mode(${1:mode})", "description": "lora.mode(mode) - \u8bbe\u7f6e\u8fdb\u5165\u6a21\u5f0f(\u4f11\u7720\uff0c\u6b63\u5e38\u7b49)\n\u4f20\u5165\u503c\uff1a\nnumber \u6a21\u5f0f \u6b63\u5e38\u6a21\u5f0f:lora.STANDBY \u4f11\u7720\u6a21\u5f0f:lora.SLEEP \u9ed8\u8ba4\u4e3a\u6b63\u5e38\u6a21\u5f0f\n\u4f8b\u5b50\uff1a\nlora.mode(lora.STANDBY)\n", "prefix": "lora.mode"}, "lora2.init": {"body": "lora2.init(${1:ic},${2:loraconfig},${3:spiconfig})", "description": "lora2.init(ic, loraconfig,spiconfig) - lora\u521d\u59cb\u5316\n\u4f20\u5165\u503c\uff1a\nstring lora \u578b\u53f7\uff0c\u5f53\u524d\u652f\u6301\uff1a
        llcc68
        sx1268\ntable lora\u914d\u7f6e\u53c2\u6570,\u4e0e\u5177\u4f53\u8bbe\u5907\u6709\u5173\n\u8fd4\u56de\u503c\uff1a\nuserdata \u82e5\u6210\u529f\u4f1a\u8fd4\u56delora\u5bf9\u8c61,\u5426\u5219\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\nspi_lora = spi.deviceSetup(spi_id,pin_cs,0,0,8,10*1000*1000,spi.MSB,1,0)\nlora_device = lora2.init(\"llcc68\",{res = pin_reset,busy = pin_busy,dio1 = pin_dio1},spi_lora)\n", "prefix": "lora2.init"}, "lora_device:set_channel": {"body": "lora_device:set_channel(${1:freq})", "description": "lora_device:set_channel(freq) - \u8bbe\u7f6e\u9891\u9053\u9891\u7387\n\u4f20\u5165\u503c\uff1a\nnumber \u9891\u7387\n\u4f8b\u5b50\uff1a\nlora_device:set_channel(433000000)\n", "prefix": "lora_device:set_channel"}, "lora_device:set_txconfig": {"body": "lora_device:set_txconfig(${1:txconfig})", "description": "lora_device:set_txconfig(txconfig) - lora\u914d\u7f6e\u53d1\u9001\u53c2\u6570\n\u4f20\u5165\u503c\uff1a\ntable lora\u53d1\u9001\u914d\u7f6e\u53c2\u6570,\u4e0e\u5177\u4f53\u8bbe\u5907\u6709\u5173\n\u4f8b\u5b50\uff1a\nlora_device:set_txconfig(\n {\n mode=1,\n power=22,\n fdev=0,\n bandwidth=0,\n datarate=9,\n coderate=4,\n preambleLen=8,\n fixLen=false,\n crcOn=true,\n freqHopOn=0,\n hopPeriod=0,\n iqInverted=false,\n timeout=3000\n }\n)\n", "prefix": "lora_device:set_txconfig"}, "lora_device:set_rxconfig": {"body": "lora_device:set_rxconfig(${1:set_rxconfig})", "description": "lora_device:set_rxconfig(set_rxconfig) - lora\u914d\u7f6e\u63a5\u6536\u53c2\u6570\n\u4f20\u5165\u503c\uff1a\ntable lora\u63a5\u6536\u914d\u7f6e\u53c2\u6570,\u4e0e\u5177\u4f53\u8bbe\u5907\u6709\u5173\n\u4f8b\u5b50\uff1a\nlora_device:set_rxconfig(\n {\n mode=1,\n bandwidth=0,\n datarate=9,\n coderate=4,\n bandwidthAfc=0,\n preambleLen=8,\n symbTimeout=0,\n fixLen=false,\n payloadLen=0,\n crcOn=true,\n freqHopOn=0,\n hopPeriod=0,\n iqInverted=false,\n rxContinuous=false\n }\n)\n", "prefix": "lora_device:set_rxconfig"}, "lora_device:send": {"body": "lora_device:send(${1:data})", "description": "lora_device:send(data) - \u53d1\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nstring \u5199\u5165\u7684\u6570\u636e\n\u4f8b\u5b50\uff1a\nlora_device:send(\"PING\")\n", "prefix": "lora_device:send"}, "lora_device:recv": {"body": "lora_device:recv(${1:timeout})", "description": "lora_device:recv(timeout) - \u5f00\u542f\u6536\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nnumber \u8d85\u65f6\u65f6\u95f4\uff0c\u9ed8\u8ba41000 \u5355\u4f4dms\n\u4f8b\u5b50\uff1a\nsys.subscribe(\"LORA_RX_DONE\", function(data, size)\n log.info(\"LORA_RX_DONE: \", data, size)\n lora_device:send(\"PING\")\nend)\nlora_device:recv(1000)\n", "prefix": "lora_device:recv"}, "lora_device:mode": {"body": "lora_device:mode(${1:mode})", "description": "lora_device:mode(mode) - \u8bbe\u7f6e\u8fdb\u5165\u6a21\u5f0f(\u4f11\u7720\uff0c\u6b63\u5e38\u7b49)\n\u4f20\u5165\u503c\uff1a\nnumber \u6a21\u5f0f \u6b63\u5e38\u6a21\u5f0f:lora.STANDBY \u4f11\u7720\u6a21\u5f0f:lora.SLEEP \u9ed8\u8ba4\u4e3a\u6b63\u5e38\u6a21\u5f0f\n\u4f8b\u5b50\uff1a\nlora_device:mode(lora.STANDBY)\n", "prefix": "lora_device:mode"}, "lora_device:on": {"body": "lora_device:on(${1:cb})", "description": "lora_device:on(cb) - \u6ce8\u518clora\u56de\u8c03\n\u4f20\u5165\u503c\uff1a\nfunction cb lora\u56de\u8c03,\u53c2\u6570\u5305\u62eclora_device, event, data, size\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\nlora_device:on(function(lora_device, event, data, size)\n log.info(\"lora\", \"event\", event, lora_device, data, size)\n if event == \"tx_done\" then\n lora_device:recv(1000)\n elseif event == \"rx_done\" then\n lora_device:send(\"PING\")\n elseif event == \"tx_timeout\" then\n\n elseif event == \"rx_timeout\" then\n lora_device:recv(1000)\n elseif event == \"rx_error\" then\n\n end\nend)\n--[[\nevent\u53ef\u80fd\u51fa\u73b0\u7684\u503c\u6709\n tx_done -- \u53d1\u9001\u5b8c\u6210\n rx_done -- \u63a5\u6536\u5b8c\u6210\n tx_timeout -- \u53d1\u9001\u8d85\u65f6\n rx_timeout -- \u63a5\u6536\u8d85\u65f6\n rx_error -- \u63a5\u6536\u9519\u8bef\n]]\n", "prefix": "lora_device:on"}, "lpmem.read": {"body": "lpmem.read(${1:offset},${2:size})", "description": "lpmem.read(offset, size) - \u8bfb\u53d6\u5185\u5b58\u5757\n\u4f20\u5165\u503c\uff1a\nint \u5185\u5b58\u504f\u79fb\u91cf\nint \u8bfb\u53d6\u5927\u5c0f,\u5355\u4f4d\u5b57\u8282\n\u8fd4\u56de\u503c\uff1a\nstring \u8bfb\u53d6\u6210\u529f\u8fd4\u56de\u5b57\u7b26\u4e32,\u5426\u5219\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\n-- \u8bfb\u53d61kb\u7684\u5185\u5b58\nlocal data = lpmem.read(0, 1024)\n", "prefix": "lpmem.read"}, "lpmem.write": {"body": "lpmem.write(${1:offset},${2:str})", "description": "lpmem.write(offset, str) - \u5199\u5165\u5185\u5b58\u5757\n\u4f20\u5165\u503c\uff1a\nint \u5185\u5b58\u504f\u79fb\u91cf\nstring \u5f85\u5199\u5165\u7684\u6570\u636e\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- \u5f80\u504f\u79fb\u91cf\u4e3a512\u5b57\u8282\u7684\u4f4d\u7f6e, \u5199\u5165\u6570\u636e\nlpmem.write(512, data)\n", "prefix": "lpmem.write"}, "lpmem.size": {"body": "lpmem.size()", "description": "lpmem.size() - \u83b7\u53d6\u5185\u5b58\u5757\u7684\u603b\u5927\u5c0f\n\u8fd4\u56de\u503c\uff1a\nint \u5185\u5b58\u5757\u7684\u5927\u5c0f\n\u4f8b\u5b50\uff1a\nlpmem.size()\n", "prefix": "lpmem.size"}, "lvgl.draw_mask_radius_param_t": {"body": "lvgl.draw_mask_radius_param_t()", "description": "lvgl.draw_mask_radius_param_t() - \u521b\u5efa\u4e00\u4e2alv_draw_mask_radius_param_t\n\u8fd4\u56de\u503c\uff1a\nuserdata lv_draw_mask_radius_param_t\u6307\u9488\n\u4f8b\u5b50\uff1a\nlocal radius = lvgl.draw_mask_radius_param_t()\n", "prefix": "lvgl.draw_mask_radius_param_t"}, "lvgl.draw_mask_radius_param_t_free": {"body": "lvgl.draw_mask_radius_param_t_free(${1:radius})", "description": "lvgl.draw_mask_radius_param_t_free(radius) - \u91ca\u653e\u4e00\u4e2alv_draw_mask_radius_param_t\n\u4f8b\u5b50\uff1a\nlocal lvgl.draw_mask_radius_param_t_free(radius)\n", "prefix": "lvgl.draw_mask_radius_param_t_free"}, "lvgl.draw_mask_line_param_t": {"body": "lvgl.draw_mask_line_param_t()", "description": "lvgl.draw_mask_line_param_t() - \u521b\u5efa\u4e00\u4e2alv_draw_mask_line_param_t\n\u8fd4\u56de\u503c\uff1a\nuserdata lv_draw_mask_line_param_t\u6307\u9488\n\u4f8b\u5b50\uff1a\nlocal line = lvgl.draw_mask_line_param_t()\n", "prefix": "lvgl.draw_mask_line_param_t"}, "lvgl.draw_mask_line_param_t_free": {"body": "lvgl.draw_mask_line_param_t_free(${1:line})", "description": "lvgl.draw_mask_line_param_t_free(line) - \u91ca\u653e\u4e00\u4e2alv_draw_mask_line_param_t\n\u4f8b\u5b50\uff1a\nlocal lvgl.draw_mask_line_param_t_free(line)\n", "prefix": "lvgl.draw_mask_line_param_t_free"}, "lvgl.draw_mask_fade_param_t": {"body": "lvgl.draw_mask_fade_param_t()", "description": "lvgl.draw_mask_fade_param_t() - \u521b\u5efa\u4e00\u4e2alv_draw_mask_fade_param_t\n\u8fd4\u56de\u503c\uff1a\nuserdata lv_draw_mask_fade_param_t\u6307\u9488\n\u4f8b\u5b50\uff1a\nlocal fade = lvgl.draw_mask_fade_param_t()\n", "prefix": "lvgl.draw_mask_fade_param_t"}, "lvgl.draw_mask_fade_param_t_free": {"body": "lvgl.draw_mask_fade_param_t_free(${1:fade})", "description": "lvgl.draw_mask_fade_param_t_free(fade) - \u91ca\u653e\u4e00\u4e2alv_draw_mask_fade_param_t\n\u4f8b\u5b50\uff1a\nlocal lvgl.draw_mask_fade_param_t_free(fade)\n", "prefix": "lvgl.draw_mask_fade_param_t_free"}, "lvgl.font_get": {"body": "lvgl.font_get(${1:name})", "description": "lvgl.font_get(name) - \u83b7\u53d6\u5185\u7f6e\u5b57\u4f53\n\u4f20\u5165\u503c\uff1a\nstring \u5b57\u4f53\u540d\u79f0+\u5b57\u53f7, \u4f8b\u5982 opposans_m_10\n\u8fd4\u56de\u503c\uff1a\nuserdata \u5b57\u4f53\u6307\u9488\n\u4f8b\u5b50\uff1a\n\nlocal font = lvgl.font_get(\"opposans_m_12\")\n", "prefix": "lvgl.font_get"}, "lvgl.font_load": {"body": "lvgl.font_load(${1:path/spi_device},${2:size},${3:bpp},${4:thickness},${5:cache_size},${6:sty_zh},${7:sty_en})", "description": "lvgl.font_load(path/spi_device,size,bpp,thickness,cache_size,sty_zh,sty_en) - \u4ece\u6587\u4ef6\u7cfb\u7edf\u52a0\u8f7d\u5b57\u4f53\n\u4f20\u5165\u503c\uff1a\nstring/userdata \u5b57\u4f53\u8def\u5f84/spi_device (spi_device\u4e3a\u4f7f\u7528\u5916\u7f6e\u9ad8\u901a\u77e2\u91cf\u5b57\u5e93\u82af\u7247)\nnumber size \u53ef\u9009,\u5b57\u53f7 16-192 \u9ed8\u8ba416(\u4f7f\u7528\u9ad8\u901a\u77e2\u91cf\u5b57\u5e93)\nnumber bpp \u53ef\u9009 \u6df1\u5ea6 \u9ed8\u8ba44(\u4f7f\u7528\u9ad8\u901a\u77e2\u91cf\u5b57\u5e93)\nnumber thickness \u53ef\u9009 \u7c97\u7ec6\u503c \u9ed8\u8ba4size * bpp(\u4f7f\u7528\u9ad8\u901a\u77e2\u91cf\u5b57\u5e93)\nnumber cache_size \u53ef\u9009 \u9ed8\u8ba40(\u4f7f\u7528\u9ad8\u901a\u77e2\u91cf\u5b57\u5e93)\nnumber sty_zh \u53ef\u9009 \u9009\u62e9\u5b57\u4f53 \u9ed8\u8ba41(\u4f7f\u7528\u9ad8\u901a\u77e2\u91cf\u5b57\u5e93)\nnumber sty_en \u53ef\u9009 \u9009\u62e9\u5b57\u4f53 \u9ed8\u8ba43(\u4f7f\u7528\u9ad8\u901a\u77e2\u91cf\u5b57\u5e93)\n\u8fd4\u56de\u503c\uff1a\nuserdata \u5b57\u4f53\u6307\u9488\n\u4f8b\u5b50\uff1a\nlocal font = lvgl.font_load(\"/font_32.bin\")\n--local font = lvgl.font_load(spi_device,16)(\u9ad8\u901a\u77e2\u91cf\u5b57\u5e93)\n", "prefix": "lvgl.font_load"}, "lvgl.font_free": {"body": "lvgl.font_free(${1:font})", "description": "lvgl.font_free(font) - \u91ca\u653e\u5b57\u4f53,\u614e\u7528!!!\u4ec5\u901a\u8fc7font_load\u52a0\u8f7d\u7684\u5b57\u4f53\u5141\u8bb8\u5378\u8f7d,\u901a\u8fc7font_get\u83b7\u53d6\u7684\u5b57\u4f53\u4e0d\u5141\u8bb8\u5378\u8f7d\n\u4f20\u5165\u503c\uff1a\nstring \u5b57\u4f53\u8def\u5f84\n\u8fd4\u56de\u503c\uff1a\nuserdata \u5b57\u4f53\u6307\u9488\n\u4f8b\u5b50\uff1a\nlocal font = lvgl.font_load(\"/font_32.bin\")\n-- N N N N \u64cd\u4f5c\n-- \u786e\u5b9a\u5b57\u4f53\u4e0d\u88ab\u4f7f\u7528,\u4e0d\u88ab\u5f15\u7528,\u4e14\u5185\u5b58\u7d27\u5f20\u9700\u8981\u91ca\u653e\nlvgl.font_free(font)\n", "prefix": "lvgl.font_free"}, "lvgl.obj_set_event_cb": {"body": "lvgl.obj_set_event_cb(${1:obj},${2:func})", "description": "lvgl.obj_set_event_cb(obj, func) - \u8bbe\u7f6e\u7ec4\u4ef6\u7684\u4e8b\u4ef6\u56de\u8c03\n\u4f20\u5165\u503c\uff1a\nuserdata lvgl\u7ec4\u4ef6\u6307\u9488\nfunc lua\u51fd\u6570, \u53c2\u6570\u67092\u4e2a (obj, event), \u5176\u4e2dobj\u662f\u5f53\u524d\u5bf9\u8c61, event\u662f\u4e8b\u4ef6\u7c7b\u578b, \u4e3a\u6574\u578b\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n", "prefix": "lvgl.obj_set_event_cb"}, "lvgl.obj_set_signal_cb": {"body": "lvgl.obj_set_signal_cb(${1:obj},${2:func})", "description": "lvgl.obj_set_signal_cb(obj, func) - \u8bbe\u7f6e\u7ec4\u4ef6\u7684\u4fe1\u53f7\u56de\u8c03\n\u4f20\u5165\u503c\uff1a\nuserdata lvgl\u7ec4\u4ef6\u6307\u9488\nfunc lua\u51fd\u6570, \u53c2\u6570\u67092\u4e2a (obj, signal), \u5176\u4e2dobj\u662f\u5f53\u524d\u5bf9\u8c61, signal\u662f\u4fe1\u53f7\u7c7b\u578b, \u4e3a\u6574\u578b\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n", "prefix": "lvgl.obj_set_signal_cb"}, "lvgl.anim_set_exec_cb": {"body": "lvgl.anim_set_exec_cb(${1:anim},${2:func})", "description": "lvgl.anim_set_exec_cb(anim, func) - \u8bbe\u7f6e\u52a8\u753b\u56de\u8c03\n\u4f20\u5165\u503c\uff1a\nuserdata \u52a8\u753b\u6307\u9488\nuserdata lvgl\u7ec4\u4ef6\u6307\u9488\nfunc lua\u51fd\u6570, \u53c2\u6570\u67092\u4e2a (obj, value), \u5176\u4e2dobj\u662f\u5f53\u524d\u5bf9\u8c61, signal\u662f\u4fe1\u53f7\u7c7b\u578b, \u4e3a\u6574\u578b\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n", "prefix": "lvgl.anim_set_exec_cb"}, "lvgl.anim_set_ready_cb": {"body": "lvgl.anim_set_ready_cb(${1:anim},${2:func})", "description": "lvgl.anim_set_ready_cb(anim, func) - \u8bbe\u7f6e\u52a8\u753b\u56de\u8c03\n\u4f20\u5165\u503c\uff1a\nuserdata \u52a8\u753b\u6307\u9488\nuserdata lvgl\u7ec4\u4ef6\u6307\u9488\nfunc lua\u51fd\u6570, \u53c2\u6570\u67091\u4e2a (anim), \u5176\u4e2danim\u662f\u5f53\u524d\u5bf9\u8c61\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n", "prefix": "lvgl.anim_set_ready_cb"}, "lvgl.anim_path_set_cb": {"body": "lvgl.anim_path_set_cb(${1:path},${2:func})", "description": "lvgl.anim_path_set_cb(path, func) - \u8bbe\u7f6e\u52a8\u753b\u56de\u8c03\n\u4f20\u5165\u503c\uff1a\nuserdata \u52a8\u753b\u6307\u9488\nuserdata lvgl\u7ec4\u4ef6\u6307\u9488\nfunc lua\u51fd\u6570, \u53c2\u6570\u67091\u4e2a (path), \u5176\u4e2dpath\u662f\u5f53\u524d\u5bf9\u8c61\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n", "prefix": "lvgl.anim_path_set_cb"}, "lvgl.event_send": {"body": "lvgl.event_send(${1:obj},${2:ent})", "description": "lvgl.event_send(obj, ent) - \u53d1\u9001\u4e8b\u4ef6\u7ed9\u7ec4\u4ef6\n\u4f20\u5165\u503c\uff1a\nuserdata \u7ec4\u4ef6\u6307\u9488\nint \u4e8b\u4ef6id, \u4f8b\u5982 lvgl.EVENT_PRESSED\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue, \u5bf9\u8c61\u5df2\u88ab\u5220\u9664\u7684\u8bdd\u8fd4\u56defalse\u6216\u8005nil\nint \u5e95\u5c42\u8fd4\u56de\u503c,\u5982\u679cobj\u4e3anil\u5c31\u8fd4\u56denil\n", "prefix": "lvgl.event_send"}, "lvgl.scr_act": {"body": "lvgl.scr_act()", "description": "lvgl.scr_act() - \u83b7\u53d6\u5f53\u524d\u6d3b\u8dc3\u7684screen\u5bf9\u8c61\n\u8fd4\u56de\u503c\uff1a\n\u6307\u9488 screen\u6307\u9488\n\u4f8b\u5b50\uff1a\nlocal scr = lvgl.scr_act()\n\n", "prefix": "lvgl.scr_act"}, "lvgl.layer_top": {"body": "lvgl.layer_top()", "description": "lvgl.layer_top() - \u83b7\u53d6layer_top\n\u8fd4\u56de\u503c\uff1a\n\u6307\u9488 layer\u6307\u9488\n", "prefix": "lvgl.layer_top"}, "lvgl.layer_sys": {"body": "lvgl.layer_sys()", "description": "lvgl.layer_sys() - \u83b7\u53d6layer_sys\n\u8fd4\u56de\u503c\uff1a\n\u6307\u9488 layer\u6307\u9488\n", "prefix": "lvgl.layer_sys"}, "lvgl.scr_load": {"body": "lvgl.scr_load(${1:scr})", "description": "lvgl.scr_load(scr) - \u8f7d\u5165\u6307\u5b9a\u7684screen\n\u4f20\u5165\u503c\uff1a\nuserdata screen\u6307\u9488\n\u4f8b\u5b50\uff1a\n local scr = lvgl.obj_create(nil, nil)\n local btn = lvgl.btn_create(scr)\n lvgl.obj_align(btn, lvgl.scr_act(), lvgl.ALIGN_CENTER, 0, 0)\n local label = lvgl.label_create(btn)\n lvgl.label_set_text(label, \"LuatOS!\")\n lvgl.scr_load(scr)\n", "prefix": "lvgl.scr_load"}, "lvgl.scr_load_anim": {"body": "lvgl.scr_load_anim(${1:scr})", "description": "lvgl.scr_load_anim(scr) - \u8f7d\u5165\u6307\u5b9a\u7684screen\u5e76\u4f7f\u7528\u6307\u5b9a\u7684\u8f6c\u573a\u52a8\u753b\n\u4f20\u5165\u503c\uff1a\nuserdata screen\u6307\u9488\n\u4f8b\u5b50\uff1a\n local scr = lvgl.obj_create(nil, nil)\n local btn = lvgl.btn_create(scr)\n lvgl.obj_align(btn, lvgl.scr_act(), lvgl.ALIGN_CENTER, 0, 0)\n local label = lvgl.label_create(btn)\n lvgl.label_set_text(label, \"LuatOS!\")\n\n local scr2 = lvgl.obj_create(nil,nil)\n local btn2 = lvgl.btn_create(scr2)\n lvgl.obj_align(btn, scr2, lvgl.ALIGN_CENTER, 0, 20)\n local label2 = lvgl.label_create(btn2)\n lvgl.label_set_text(label2, \"Btn2\")\n lvgl.scr_load(scr)\n --sys.wait(1000);\n lvgl.scr_load_anim(scr2,lvgl.SCR_LOAD_ANIM_OVER_LEFT,100,100,false)\n\u539f\u51fd\u6570\uff1alv_scr_load_anim(lv_obj_t * new_scr, lv_scr_load_anim_t anim_type, uint32_t time, uint32_t delay, bool auto_del)\n", "prefix": "lvgl.scr_load_anim"}, "lvgl.theme_set_act": {"body": "lvgl.theme_set_act(${1:name})", "description": "lvgl.theme_set_act(name) - \u8bbe\u7f6e\u4e3b\u9898\n\u4f20\u5165\u503c\uff1a\nstring \u4e3b\u9898\u540d\u79f0,\u53ef\u9009\u503c\u6709 default/mono/empty/material_light/material_dark/material_no_transition/material_no_focus\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\n-- \u9ed1\u767d\u4e3b\u9898\nlvgl.theme_set_act(\"mono\")\n-- \u7a7a\u767d\u4e3b\u9898\nlvgl.theme_set_act(\"empty\")\n", "prefix": "lvgl.theme_set_act"}, "lvgl.sleep": {"body": "lvgl.sleep(${1:enable})", "description": "lvgl.sleep(enable) - LVGL\u4f11\u7720\u63a7\u5236\uff0c\u6682\u505c/\u6062\u590d\u5237\u65b0\u5b9a\u65f6\u5668\uff0c\u76ee\u524d\u53ea\u6709105\u548cEC618\u53ef\u4ee5\u7528\n\u4f20\u5165\u503c\uff1a\nboolean true\u6682\u505c false\u6062\u590d\n\u4f8b\u5b50\uff1a\nlvgl.sleep(true)\t\t--\u6682\u505c\u5237\u65b0\uff0c\u7cfb\u7edf\u53ef\u4ee5\u4f11\u7720\nlvgl.sleep(false)\t\t--\u6062\u590d\u5237\u65b0\uff0c\u7cfb\u7edf\u4e0d\u4f11\u7720\n", "prefix": "lvgl.sleep"}, "lvgl.init": {"body": "lvgl.init(${1:w},${2:h},${3:lcd},${4:buff_size},${5:buff_mode})", "description": "lvgl.init(w, h, lcd, buff_size, buff_mode) - \u521d\u59cb\u5316LVGL\n\u4f20\u5165\u503c\uff1a\nint \u5c4f\u5e55\u5bbd,\u53ef\u9009,\u9ed8\u8ba4\u4ecelcd\u53d6\nint \u5c4f\u5e55\u9ad8,\u53ef\u9009,\u9ed8\u8ba4\u4ecelcd\u53d6\nuserdata lcd\u6307\u9488,\u53ef\u9009,lcd\u521d\u59cb\u5316\u540e\u6709\u9ed8\u8ba4\u503c,\u9884\u7559\u7684\u591a\u5c4f\u5165\u53e3\nint \u7f13\u51b2\u533a\u5927\u5c0f,\u9ed8\u8ba4\u5bbd*10, \u4e0d\u542b\u8272\u6df1.\nint \u7f13\u51b2\u6a21\u5f0f,\u9ed8\u8ba40, \u5355buff\u6a21\u5f0f, \u53ef\u90091,\u53ccbuff\u6a21\u5f0f\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n", "prefix": "lvgl.init"}, "lvgl.anim_create": {"body": "lvgl.anim_create()", "description": "lvgl.anim_create() - \u521b\u5efa\u5e76\u521d\u59cb\u5316\u4e00\u4e2aanim\n\u8fd4\u56de\u503c\uff1a\nuserdata anim\u6307\u9488\n\u4f8b\u5b50\uff1a\nlocal anim = lvgl.anim_create()\n", "prefix": "lvgl.anim_create"}, "lvgl.anim_free": {"body": "lvgl.anim_free(${1:anim})", "description": "lvgl.anim_free(anim) - \u91ca\u653e\u4e00\u4e2aanim\n\u4f8b\u5b50\uff1a\nlocal lvgl.anim_free(anim)\n", "prefix": "lvgl.anim_free"}, "lvgl.anim_path_t": {"body": "lvgl.anim_path_t()", "description": "lvgl.anim_path_t() - \u521b\u5efa\u4e00\u4e2alv_anim_path_t\n\u8fd4\u56de\u503c\uff1a\nuserdata lv_anim_path_t\u6307\u9488\n\u4f8b\u5b50\uff1a\nlocal anim_path_t = lvgl.anim_path_t()\n", "prefix": "lvgl.anim_path_t"}, "lvgl.anim_path_t_free": {"body": "lvgl.anim_path_t_free(${1:anim_path_t})", "description": "lvgl.anim_path_t_free(anim_path_t) - \u91ca\u653e\u4e00\u4e2alv_anim_path_t\n\u4f8b\u5b50\uff1a\nlocal lvgl.anim_path_t_free(anim_path_t)\n", "prefix": "lvgl.anim_path_t_free"}, "lvgl.anim_set_path_str": {"body": "lvgl.anim_set_path_str(${1:anim},${2:tp})", "description": "lvgl.anim_set_path_str(anim, tp) - \u8bbe\u7f6e\u52a8\u753b\u8def\u5f84\u65b9\u5f0f\n\u4f20\u5165\u503c\uff1a\nuserdata \u52a8\u753b\u6307\u9488\nstring \u7c7b\u578b, \u652f\u6301 linear/ease_in/ease_out/ease_in_out/overshoot/bounce/step\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n", "prefix": "lvgl.anim_set_path_str"}, "lvgl.qrcode_create": {"body": "lvgl.qrcode_create(${1:parent},${2:size},${3:dark_color},${4:light_color})", "description": "lvgl.qrcode_create(parent, size, dark_color, light_color) - \u521b\u5efaqrcode\u7ec4\u4ef6\n\u4f20\u5165\u503c\uff1a\nuserdata \u7236\u7ec4\u4ef6\nint \u957f\u5ea6,\u56e0\u4e3aqrcode\u662f\u6b63\u65b9\u5f62\nint \u4e8c\u7ef4\u7801\u4e2d\u6570\u636e\u70b9\u7684\u989c\u8272, RGB\u989c\u8272, \u9ed8\u8ba4 0x3333ff\nint \u4e8c\u7ef4\u7801\u4e2d\u80cc\u666f\u70b9\u7684\u989c\u8272, RGB\u989c\u8272, \u9ed8\u8ba4 0xeeeeff\n\u8fd4\u56de\u503c\uff1a\nuserdata qrcode\u7ec4\u4ef6\n\u4f8b\u5b50\uff1a\n-- \u521b\u5efa\u5e76\u663e\u793aqrcode\nlocal qrcode = lvgl.qrcode_create(scr, 100)\nlvgl.qrcode_update(qrcode, \"https://luatos.com\")\nlvgl.obj_align(qrcode, lvgl.scr_act(), lvgl.ALIGN_CENTER, -100, -100)\n", "prefix": "lvgl.qrcode_create"}, "lvgl.qrcode_update": {"body": "lvgl.qrcode_update(${1:qrcode},${2:cnt})", "description": "lvgl.qrcode_update(qrcode, cnt) - \u8bbe\u7f6eqrcode\u7ec4\u4ef6\u7684\u4e8c\u7ef4\u7801\u5185\u5bb9,\u914d\u5408qrcode_create\u4f7f\u7528\n\u4f20\u5165\u503c\uff1a\nuserdata qrcode\u7ec4\u4ef6,\u7531qrcode_create\u521b\u5efa\nstring \u4e8c\u7ef4\u7801\u7684\u5185\u5bb9\u6570\u636e\n\u8fd4\u56de\u503c\uff1a\nbool \u66f4\u65b0\u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse. \u901a\u5e38\u53ea\u6709\u6570\u636e\u592a\u957f\u65e0\u6cd5\u5bb9\u7eb3\u624d\u4f1a\u8fd4\u56defalse\n", "prefix": "lvgl.qrcode_update"}, "lvgl.qrcode_delete": {"body": "lvgl.qrcode_delete(${1:qrcode})", "description": "lvgl.qrcode_delete(qrcode) - \u5220\u9664qrcode\u7ec4\u4ef6\n\u4f20\u5165\u503c\uff1a\nuserdata qrcode\u7ec4\u4ef6,\u7531qrcode_create\u521b\u5efa\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n", "prefix": "lvgl.qrcode_delete"}, "lvgl.style_t": {"body": "lvgl.style_t()", "description": "lvgl.style_t() - \u521b\u5efa\u4e00\u4e2astyle\n\u8fd4\u56de\u503c\uff1a\nuserdata style\u6307\u9488\n\u4f8b\u5b50\uff1a\nlocal style = lvgl.style_t()\nlvgl.style_init(style)\n", "prefix": "lvgl.style_t"}, "lvgl.style_create": {"body": "lvgl.style_create()", "description": "lvgl.style_create() - \u521b\u5efa\u4e00\u4e2astyle\u5e76\u521d\u59cb\u5316\n\u8fd4\u56de\u503c\uff1a\nuserdata style\u6307\u9488\n\u4f8b\u5b50\uff1a\nlocal style = lvgl.style_create()\n", "prefix": "lvgl.style_create"}, "lvgl.style_list_create": {"body": "lvgl.style_list_create()", "description": "lvgl.style_list_create() - \u521b\u5efa\u4e00\u4e2astyle_list\n\u8fd4\u56de\u503c\uff1a\nuserdata style\u6307\u9488\n\u4f8b\u5b50\uff1a\nlocal style_list = lvgl.style_list_create()\n", "prefix": "lvgl.style_list_create"}, "lvgl.style_list_t": {"body": "lvgl.style_list_t()", "description": "lvgl.style_list_t() - \u521b\u5efa\u4e00\u4e2astyle_list\n\u8fd4\u56de\u503c\uff1a\nuserdata style\u6307\u9488\n\u4f8b\u5b50\uff1a\nlocal style = lvgl.style_list_t()\n", "prefix": "lvgl.style_list_t"}, "lvgl.style_delete": {"body": "lvgl.style_delete(${1:style})", "description": "lvgl.style_delete(style) - \u5220\u9664style,\u614e\u7528,\u901a\u5e38\u4e0d\u4f1a\u6267\u884c\u5220\u9664\u64cd\u4f5c\n\u4f20\u5165\u503c\uff1a\nuserdata style\u6307\u9488\n\u4f8b\u5b50\uff1a\nlocal style = lvgl.style_create()\n-- ...\n-- ...\n-- lvgl.style_delete(style)\n", "prefix": "lvgl.style_delete"}, "lvgl.style_list_delete": {"body": "lvgl.style_list_delete(${1:style})", "description": "lvgl.style_list_delete(style) - \u5220\u9664style_list,\u614e\u7528,\u901a\u5e38\u4e0d\u4f1a\u6267\u884c\u5220\u9664\u64cd\u4f5c\n\u4f20\u5165\u503c\uff1a\nuserdata style\u6307\u9488\n\u4f8b\u5b50\uff1a\nlocal style_list = lvgl.style_list_create()\n-- ...\n-- ...\n-- lvgl.style_list_delete(style_list)\n", "prefix": "lvgl.style_list_delete"}, "lvgl.demo_benchmark": {"body": "lvgl.demo_benchmark()", "description": "lvgl.demo_benchmark() - lvgl benchmark demo\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\nlvgl.init()\nlvgl.demo_benchmark()\n", "prefix": "lvgl.demo_benchmark"}, "lvgl.demo_keypad_encoder": {"body": "lvgl.demo_keypad_encoder()", "description": "lvgl.demo_keypad_encoder() - lvgl keypad_encoder demo\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\nlvgl.init()\nlvgl.demo_keypad_encoder()\n", "prefix": "lvgl.demo_keypad_encoder"}, "lvgl.demo_music": {"body": "lvgl.demo_music()", "description": "lvgl.demo_music() - lvgl music demo\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\nlvgl.init()\nlvgl.demo_music()\n", "prefix": "lvgl.demo_music"}, "lvgl.demo_printer": {"body": "lvgl.demo_printer()", "description": "lvgl.demo_printer() - lvgl printer demo\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\nlvgl.init()\nlvgl.demo_printer()\n", "prefix": "lvgl.demo_printer"}, "lvgl.demo_stress": {"body": "lvgl.demo_stress()", "description": "lvgl.demo_stress() - lvgl stress demo\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\nlvgl.init()\nlvgl.demo_stress()\n", "prefix": "lvgl.demo_stress"}, "lvgl.demo_widgets": {"body": "lvgl.demo_widgets()", "description": "lvgl.demo_widgets() - lvgl widgets demo\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\nlvgl.init()\nlvgl.demo_widgets()\n", "prefix": "lvgl.demo_widgets"}, "lvgl.indev_drv_register": {"body": "lvgl.indev_drv_register(${1:tp},${2:dtp})", "description": "lvgl.indev_drv_register(tp, dtp) - \u6ce8\u518c\u8f93\u5165\u8bbe\u5907\u9a71\u52a8\n\u4f20\u5165\u503c\uff1a\nstring \u8bbe\u5907\u7c7b\u578b\uff0c\u5f53\u524d\u652f\u6301\"pointer\",\u6307\u9488\u7c7b/\u89e6\u6478\u7c7b\u5747\u53ef\uff0c\"keyboard\",\u952e\u76d8\u7c7b\u578b\nstring \u8bbe\u5907\u578b\u53f7\uff0c\u5f53\u524d\u652f\u6301\"emulator\",\u6a21\u62df\u5668\u7c7b\u578b\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\nlvgl.indev_drv_register(\"pointer\", \"emulator\")\n", "prefix": "lvgl.indev_drv_register"}, "lvgl.indev_point_emulator_update": {"body": "lvgl.indev_point_emulator_update(${1:x},${2:y},${3:state})", "description": "lvgl.indev_point_emulator_update(x, y, state) - \u66f4\u65b0\u6a21\u62df\u8f93\u5165\u8bbe\u5907\u7684\u5750\u6807\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nint x\u5750\u6807,\u4ee5\u5de6\u4e0a\u89d2\u4e3a0,\u53f3\u4e0b\u89d2\u4e3a\u6700\u5927\u503c\nint y\u5750\u6807,\u4ee5\u5de6\u4e0a\u89d2\u4e3a0,\u53f3\u4e0b\u89d2\u4e3a\u6700\u5927\u503c\nint \u72b6\u6001, 0 \u4e3a \u91ca\u653e, 1 \u4e3a\u6309\u4e0b\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n-- \u6a21\u62df\u5728\u5c4f\u5e55\u4e0a\u7684\u70b9\u51fb,\u901a\u8fc7timeout\u6a21\u62df\u957f\u6309\u548c\u77ed\u6309\nsys.taskInit(function(x, y, timeout)\n lvgl.indev_point_emulator_update(x, y, 1)\n sys.wait(timeout)\n lvgl.indev_point_emulator_update(x, y, 0)\nend, 240, 120, 50)\n", "prefix": "lvgl.indev_point_emulator_update"}, "lvgl.indev_kb_update": {"body": "lvgl.indev_kb_update(${1:key})", "description": "lvgl.indev_kb_update(key) - \u66f4\u65b0\u952e\u76d8\u8f93\u5165\u8bbe\u5907\u7684\u6309\u952e\u503c\n\u4f20\u5165\u503c\uff1a\nint \u6309\u952e\u503c\uff0c\u9ed8\u8ba4\u4e3a0\uff0c\u6309\u952e\u62ac\u8d77\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n", "prefix": "lvgl.indev_kb_update"}, "lvgl.gif_create": {"body": "lvgl.gif_create(${1:parent},${2:path})", "description": "lvgl.gif_create(parent, path) - \u521b\u5efagif\u7ec4\u4ef6\n\u4f20\u5165\u503c\uff1a\nuserdata \u7236\u7ec4\u4ef6,\u53ef\u4ee5\u662fnil,\u4f46\u901a\u5e38\u4e0d\u4f1a\u662fnil\nstring \u6587\u4ef6\u8def\u5f84\n\u8fd4\u56de\u503c\uff1a\nuserdata \u7ec4\u4ef6\u6307\u9488,\u82e5\u5931\u8d25\u4f1a\u8fd4\u56denil,\u5efa\u8bae\u68c0\u67e5\n\u4f8b\u5b50\uff1a\nlocal gif = lvgl.gif_create(scr, \"S/emtry.gif\")\nif gif then\n log.info(\"gif\", \"create ok\")\nend\n\n", "prefix": "lvgl.gif_create"}, "lvgl.gif_restart": {"body": "lvgl.gif_restart(${1:gif})", "description": "lvgl.gif_restart(gif) - \u91cd\u65b0\u64ad\u653egif\u7ec4\u4ef6\n\u4f20\u5165\u503c\uff1a\nuserdata gif\u7ec4\u4ef6\u652f\u6301, \u7531gif_create\u65b9\u6cd5\u8fd4\u56de\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\nlocal gif = lvgl.gif_create(scr, \"S/emtry.gif\")\nif gif then\n log.info(\"gif\", \"create ok\")\nend\n\n", "prefix": "lvgl.gif_restart"}, "max30102.init": {"body": "max30102.init(${1:i2c_id},${2:int})", "description": "max30102.init(i2c_id,int) - \u521d\u59cb\u5316MAX30102\u4f20\u611f\u5668\n\u4f20\u5165\u503c\uff1a\nint \u4f20\u611f\u5668\u6240\u5728\u7684i2c\u603b\u7ebfid,\u9ed8\u8ba4\u4e3a0\nint int\u5f15\u811a\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue, \u5426\u5219\u8fd4\u56denil\u6216\u8005false\n\u4f8b\u5b50\uff1a\nif max30102.init(0,pin.PC05) then\n log.info(\"max30102\", \"init ok\")\nelse\n log.info(\"max30102\", \"init fail\")\nend\n", "prefix": "max30102.init"}, "max30102.get": {"body": "max30102.get()", "description": "max30102.get() - \u83b7\u53d6\u5fc3\u7387\u8840\u6c27(\u5927\u6982\u9700\u898110s\u65f6\u95f4\u6d4b\u91cf)\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue, \u5426\u5219\u8fd4\u56denil\u6216\u8005false\nnumber \u5fc3\u7387\nnumber \u8840\u6c27\n", "prefix": "max30102.get"}, "max30102.shutdown": {"body": "max30102.shutdown()", "description": "max30102.shutdown() - \u5173\u95edmax30102\n", "prefix": "max30102.shutdown"}, "mcu.setClk": {"body": "mcu.setClk(${1:mhz})", "description": "mcu.setClk(mhz) - \u8bbe\u7f6e\u4e3b\u9891,\u5355\u4f4dMHZ\n\u4f20\u5165\u503c\uff1a\nint \u4e3b\u9891,\u6839\u636e\u8bbe\u5907\u7684\u4e0d\u540c\u6709\u4e0d\u540c\u7684\u6709\u6548\u503c,\u8bf7\u67e5\u9605\u624b\u518c\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- \u8bf7\u6ce8\u610f,\u4e3b\u9891\u4e0e\u5916\u8bbe\u4e3b\u9891\u6709\u5173\u8054\u6027, \u4f8b\u5982\u4e3b\u98912M\u65f6SPI\u7684\u6700\u9ad8\u53ea\u80fd1M\n-- \u8bbe\u7f6e\u523080MHZ\nmcu.setClk(80)\nsys.wait(1000)\n-- \u8bbe\u7f6e\u5230240MHZ\nmcu.setClk(240)\nsys.wait(1000)\n-- \u8bbe\u7f6e\u52302MHZ\nmcu.setClk(2)\nsys.wait(1000)\n", "prefix": "mcu.setClk"}, "mcu.getClk": {"body": "mcu.getClk()", "description": "mcu.getClk() - \u83b7\u53d6\u4e3b\u9891,\u5355\u4f4dMHZ\n\u8fd4\u56de\u503c\uff1a\nint \u82e5\u5931\u8d25\u8fd4\u56de-1,\u5426\u5219\u8fd4\u56de\u4e3b\u9891\u6570\u503c,\u82e5\u7b49\u4e8e0,\u53ef\u80fd\u5904\u4e8e32k\u6676\u632f\u7684\u7701\u7535\u6a21\u5f0f\n\u4f8b\u5b50\uff1a\nlocal mhz = mcu.getClk()\nprint(\"Boom\", mhz)\n", "prefix": "mcu.getClk"}, "mcu.unique_id": {"body": "mcu.unique_id()", "description": "mcu.unique_id() - \u83b7\u53d6\u8bbe\u5907\u552f\u4e00id. \u6ce8\u610f,\u53ef\u80fd\u5305\u542b\u4e0d\u53ef\u89c1\u5b57\u7b26,\u5982\u9700\u67e5\u770b\u5efa\u8baetoHex()\u540e\u6253\u5370\n\u8fd4\u56de\u503c\uff1a\nstring \u8bbe\u5907\u552f\u4e00id.\u82e5\u4e0d\u652f\u6301, \u4f1a\u8fd4\u56de\u7a7a\u5b57\u7b26\u4e32.\n\u4f8b\u5b50\uff1a\nlocal unique_id = mcu.unique_id()\nprint(\"unique_id\", unique_id)\n", "prefix": "mcu.unique_id"}, "mcu.ticks": {"body": "mcu.ticks()", "description": "mcu.ticks() - \u83b7\u53d6\u542f\u52a8\u540e\u7684tick\u6570,\u6ce8\u610f\u4f1a\u51fa\u73b0\u6ea2\u51fa\u4f1a\u51fa\u73b0\u8d1f\u6570\n\u8fd4\u56de\u503c\uff1a\nint \u5f53\u524dtick\u503c\n\u4f8b\u5b50\uff1a\nlocal tick = mcu.ticks()\nprint(\"ticks\", tick)\n", "prefix": "mcu.ticks"}, "mcu.hz": {"body": "mcu.hz()", "description": "mcu.hz() - \u83b7\u53d6\u6bcf\u79d2\u7684tick\u6570\u91cf\n\u8fd4\u56de\u503c\uff1a\nint \u6bcf\u79d2\u7684tick\u6570\u91cf,\u901a\u5e38\u4e3a1000\n\u4f8b\u5b50\uff1a\nlocal hz = mcu.hz()\nprint(\"mcu.hz\", hz)\n", "prefix": "mcu.hz"}, "mcu.reg32": {"body": "mcu.reg32(${1:address},${2:value},${3:mask})", "description": "mcu.reg32(address, value, mask) - \u8bfb\u5199mcu\u768432bit\u5bc4\u5b58\u5668\u6216\u8005ram,\u8c28\u614e\u4f7f\u7528\u5199\u529f\u80fd,\u8bf7\u719f\u6089mcu\u7684\u5bc4\u5b58\u5668\u4f7f\u7528\u65b9\u6cd5\u540e\u518d\u4f7f\u7528\n\u4f20\u5165\u503c\uff1a\nint \u5bc4\u5b58\u5668\u6216\u8005ram\u5730\u5740\nint \u5199\u5165\u7684\u503c,\u5982\u679c\u6ca1\u6709,\u5219\u76f4\u63a5\u8fd4\u56de\u5f53\u524d\u503c\nint \u4f4d\u63a9\u7801,\u53ef\u4ee5\u5bf9\u7279\u5b9a\u51e0\u4e2a\u4f4d\u7f6e\u7684bit\u505a\u4fee\u6539, \u9ed8\u8ba40xffffffff,\u4fee\u6539\u5168\u90e832bit\n\u8fd4\u56de\u503c\uff1a\nint \u8fd4\u56de\u5f53\u524d\u5bc4\u5b58\u7684\u503c\n\u4f8b\u5b50\uff1a\nlocal value = mcu.reg32(0x2009FFFC, 0x01, 0x01) --\u5bf90x2009FFFC\u5730\u5740\u4e0a\u7684\u503c,\u4fee\u6539bit0\u4e3a1\n", "prefix": "mcu.reg32"}, "mcu.x32": {"body": "mcu.x32(${1:value})", "description": "mcu.x32(value) - \u8f6c\u636210\u8fdb\u5236\u6570\u4e3a16\u8fdb\u5236\u5b57\u7b26\u4e32\u8f93\u51fa\n\u4f20\u5165\u503c\uff1a\nint \u9700\u8981\u8f6c\u6362\u7684\u503c\n\u8fd4\u56de\u503c\uff1a\nstring 16\u8fdb\u5236\u5b57\u7b26\u4e32\n\u4f8b\u5b50\uff1a\nlocal value = mcu.x32(0x2009FFFC) --\u8f93\u51fa\"0x2009fffc\"\n", "prefix": "mcu.x32"}, "mcu.tick64": {"body": "mcu.tick64()", "description": "mcu.tick64() - \u83b7\u53d6\u542f\u52a8\u540e\u7684\u9ad8\u7cbe\u5ea6tick\uff0c\u5982\u679c\u652f\u6301bit64\u5e93\uff0c\u53ef\u4ee5\u76f4\u63a5\u8f93\u51fa\u8f6c\u6362\u597d\u7684bit64\u7ed3\u6784\n\u4f20\u5165\u503c\uff1a\nboolean \u662f\u5426\u8f93\u51fabit64\u7ed3\u6784,true\u662f,\u5176\u4ed6\u90fd\u662ffalse,\u7559\u7a7a\u4e5f\u662ffalse,\u7528\u4e8e\u517c\u5bb9\u65e7\u7684demo\n\u8fd4\u56de\u503c\uff1a\nstring \u5f53\u524dtick\u503c,8\u4e2a\u5b57\u8282\u7684uint64,\u5982\u679c\u652f\u630164bit\u5e93,\u540c\u65f6\u8981\u6c42\u8f93\u51fa64bit\u7ed3\u6784\u7684\u8bdd,\u4f1a\u8f93\u51fa9\u5b57\u8282\u7684string\nint 1us\u6709\u51e0\u4e2atick,0\u8868\u793a\u672a\u77e5\n\u4f8b\u5b50\uff1a\nlocal tick_str, tick_per = mcu.tick64()\nprint(\"ticks\", tick_str, tick_per)\n", "prefix": "mcu.tick64"}, "mcu.dtick64": {"body": "mcu.dtick64(${1:tick1},${2:tick2},${3:check_value})", "description": "mcu.dtick64(tick1, tick2, check_value) - \u8ba1\u7b972\u4e2a64bit tick\u7684\u5dee\u503c\n\u4f20\u5165\u503c\uff1a\nstring 64bit\u7684string\nstring 64bit\u7684string\nint \u53c2\u8003\u503c,\u53ef\u9009\u9879,\u5982\u679c\u4e3a0,\u5219\u8fd4\u56de\u7ed3\u679c\u4e2d\u7b2c\u4e00\u4e2a\u9879\u76ee\u4e3atrue\n\u8fd4\u56de\u503c\uff1a\nboolean \u4e0e\u53c2\u8003\u503c\u6bd4\u8f83,\u5982\u679c\u5927\u4e8e\u7b49\u4e8e\u4e3atrue,\u53cd\u4e4b\u4e3afalse\nint \u5dee\u503ctick1 - tick2,\u5982\u679c\u8d85\u8fc7\u4e860x7fffffff,\u7ed3\u679c\u53ef\u80fd\u662f\u9519\u7684\n\u4f8b\u5b50\uff1a\nlocal result, diff_tick = mcu.dtick64(tick1, tick2)\nprint(\"ticks\", result, diff_tick)\n", "prefix": "mcu.dtick64"}, "mcu.setXTAL": {"body": "mcu.setXTAL(${1:source_main},${2:source_32k},${3:delay})", "description": "mcu.setXTAL(source_main, source_32k, delay) - \u9009\u62e9\u65f6\u949f\u6e90,\u5f53\u524d\u4ec5air105\u652f\u6301\n\u4f20\u5165\u503c\uff1a\nboolean \u9ad8\u901f\u65f6\u949f\u662f\u5426\u4f7f\u7528\u5916\u90e8\u65f6\u949f\u6e90,\u5982\u679c\u4e3a\u7a7a\u5219\u4e0d\u6539\u53d8\nboolean \u4f4e\u901f32K\u662f\u5426\u4f7f\u7528\u5916\u90e8\u65f6\u949f\u6e90,\u5982\u679c\u4e3a\u7a7a\u5219\u4e0d\u6539\u53d8\nint PLL\u7a33\u5b9a\u65f6\u95f4,\u5728\u5207\u6362\u9ad8\u901f\u65f6\u949f\u7684\u65f6\u5019,\u6839\u636e\u786c\u4ef6\u73af\u5883,\u9700\u8981delay\u4e00\u6bb5\u65f6\u95f4\u7b49\u5f85PLL\u7a33\u5b9a,\u9ed8\u8ba4\u662f1200,\u5efa\u8bae\u4e0d\u5c0f\u4e8e1024\n\u4f8b\u5b50\uff1a\nmcu.setXTAL(true, true, 1248)\t--\u9ad8\u901f\u65f6\u949f\u4f7f\u7528\u5916\u90e8\u65f6\u949f,\u4f4e\u901f32K\u4f7f\u7528\u5916\u90e8\u6676\u632f, delay1248\n", "prefix": "mcu.setXTAL"}, "mcu.hardfault": {"body": "mcu.hardfault(${1:mode})", "description": "mcu.hardfault(mode) - mcu\u6b7b\u673a\u65f6\u5904\u7406\u6a21\u5f0f\uff0c\u76ee\u524d\u53ea\u6709EC618\u5e73\u53f0\u9002\u7528\n\u4f20\u5165\u503c\uff1a\nint \u5904\u7406\u6a21\u5f0f\uff0c0\u6b7b\u673a\u505c\u673a\uff0c1\u6b7b\u673a\u540e\u91cd\u542f\uff0c2\u6b7b\u673a\u540e\u5c3d\u91cf\u5c06\u9519\u8bef\u4fe1\u606f\u63d0\u4ea4\u7ed9\u5916\u90e8\u5de5\u5177\u540e\u91cd\u542f\n\u4f8b\u5b50\uff1a\nmcu.hardfault(0)\t--\u6b7b\u673a\u540e\u505c\u673a\uff0c\u4e00\u822c\u7528\u4e8e\u8c03\u8bd5\u72b6\u6001\nmcu.hardfault(1)\t--\u6b7b\u673a\u540e\u91cd\u542f\uff0c\u4e00\u822c\u7528\u4e8e\u6b63\u5f0f\u4ea7\u54c1\nmcu.hardfault(2)\t--\u6b7b\u673a\u540e\u5c3d\u91cf\u5c06\u9519\u8bef\u4fe1\u606f\u63d0\u4ea4\u7ed9\u5916\u90e8\u5de5\u5177\u540e\u91cd\u542f\uff0c\u4e00\u822c\u7528\u4e8e\u538b\u529b\u6d4b\u8bd5\u6216\u8005\u6b63\u5f0f\u4ea7\u54c1\n", "prefix": "mcu.hardfault"}, "mcu.iomux": {"body": "mcu.iomux(${1:type},${2:channel},${3:value})", "description": "mcu.iomux(type, channel, value) - \u5728\u5916\u8bbe\u6253\u5f00\u524d\uff0c\u5c06\u5916\u8bbeIO\u590d\u7528\u5230\u975e\u9ed8\u8ba4\u914d\u7f6e\u4e0a\uff0c\u76ee\u524d\u53ea\u652f\u6301Air780E\u7684\u90e8\u5206\u5916\u8bbe\u590d\u7528\u5230\u5176\u4ed6\u914d\u7f6e\uff0c\u8fd9\u662f\u4e00\u4e2a\u4e34\u65f6\u63a5\u53e3\uff0c\u5982\u679c\u540e\u7eed\u6709\u66f4\u5408\u9002\u7684api\uff0c\u672c\u63a5\u53e3\u5c06\u4e0d\u518d\u66f4\u65b0\n\u4f20\u5165\u503c\uff1a\nint \u5916\u8bbe\u7c7b\u578b\uff0c\u76ee\u524d\u53ea\u6709mcu.UART,mcu.I2C\nint \u603b\u7ebf\u5e8f\u53f7\uff0c0~N\uff0c\nint \u65b0\u7684\u914d\u7f6e\uff0c\u8fd9\u4e2a\u9700\u8981\u6839\u636e\u5177\u4f53\u5e73\u53f0\u51b3\u5b9a\n\u4f8b\u5b50\uff1a\nmcu.iomux(mcu.UART, 2, 1)\t-- Air780E\u7684UART2\u590d\u7528\u5230gpio12\u548cgpio13(Air780EG\u9ed8\u8ba4\u662f\u8fd9\u4e2a\u590d\u7528\uff0c\u4e0d\u8981\u52a8)\nmcu.iomux(mcu.UART, 2, 2)\t-- Air780E\u7684UART2\u590d\u7528\u5230gpio6\u548cgpio7\nmcu.iomux(mcu.I2C, 0, 1)\t-- Air780E\u7684I2C0\u590d\u7528\u5230gpio12\u548cgpio13\nmcu.iomux(mcu.I2C, 0, 2)\t-- Air780E\u7684I2C0\u590d\u7528\u5230gpio16\u548cgpio17\nmcu.iomux(mcu.I2C, 1, 1)\t-- Air780E\u7684I2C1\u590d\u7528\u5230gpio4\u548cgpio5\n", "prefix": "mcu.iomux"}, "mcu.altfun": {"body": "mcu.altfun(${1:type},${2:sn},${3:pad_index},${4:alt_fun},${5:is_input})", "description": "mcu.altfun(type, sn, pad_index, alt_fun, is_input) - IO\u5916\u8bbe\u529f\u80fd\u590d\u7528\u9009\u62e9\uff0c\u6ce8\u610f\u666e\u901aMCU\u662f\u4ee5GPIO\u53f7\u4e3a\u5e8f\u53f7\uff0c\u4f46\u662f\u4e13\u7528SOC\uff0c\u6bd4\u5982CAT1\u7684\uff0c\u662f\u4ee5PAD\u53f7\u4e3a\u5e8f\u53f7\u3002\u672c\u51fd\u6570\u4e0d\u662f\u6240\u6709\u5e73\u53f0\u9002\u7528\n\u4f20\u5165\u503c\uff1a\nint \u5916\u8bbe\u7c7b\u578b\uff0c\u76ee\u524d\u6709mcu.UART,mcu.I2C,mcu.SPI,mcu.PWM,mcu.GPIO,mcu.I2S,mcu.LCD,mcu.CAM\uff0c\u5177\u4f53\u9700\u8981\u770b\u5e73\u53f0\nint \u603b\u7ebf\u5e8f\u53f7\uff0c0~N\uff0c\u5982\u679c\u662fmcu.GPIO\uff0c\u5219\u662fGPIO\u53f7\u3002\u5177\u4f53\u770b\u5e73\u53f0\u7684IOMUX\u590d\u7528\u8868\nint pad\u53f7\uff0c\u5982\u679c\u7559\u7a7a\u4e0d\u5199\uff0c\u5219\u8868\u793a\u6e05\u9664\u914d\u7f6e\uff0c\u4f7f\u7528\u5e73\u53f0\u7684\u9ed8\u8ba4\u914d\u7f6e\u3002\u5177\u4f53\u770b\u5e73\u53f0\u7684IOMUX\u590d\u7528\u8868\nint \u590d\u7528\u529f\u80fd\u5e8f\u53f7\uff0c0~N\u3002\u5177\u4f53\u770b\u5e73\u53f0\u7684IOMUX\u590d\u7528\u8868\nboolean \u662f\u5426\u662f\u8f93\u5165\u529f\u80fd\uff0ctrue\u662f\uff0c\u7559\u7a7a\u662ffalse\n\u4f8b\u5b50\uff1a\nmcu.altfun(mcu.GPIO, 46, 32, 1, 0)\nmcu.altfun(mcu.GPIO, 46)\n", "prefix": "mcu.altfun"}, "miniz.compress": {"body": "miniz.compress(${1:data},${2:flags})", "description": "miniz.compress(data, flags) - \u5feb\u901f\u538b\u7f29,\u9700\u8981165kb\u7684\u7cfb\u7edf\u5185\u5b58\u548c32kb\u7684LuaVM\u5185\u5b58\n\u4f20\u5165\u503c\uff1a\nstring \u5f85\u538b\u7f29\u7684\u6570\u636e, \u5c11\u4e8e400\u5b57\u8282\u7684\u6570\u636e\u4e0d\u5efa\u8bae\u538b\u7f29, \u4e14\u538b\u7f29\u540e\u7684\u6570\u636e\u4e0d\u80fd\u5927\u4e8e32k.\nflags \u538b\u7f29\u53c2\u6570,\u9ed8\u8ba4\u662f miniz.WRITE_ZLIB_HEADER , \u5373\u5199\u5165zlib\u5934\u90e8\n\u8fd4\u56de\u503c\uff1a\nstring \u82e5\u538b\u7f29\u6210\u529f,\u8fd4\u56de\u6570\u636e\u5b57\u7b26\u4e32, \u5426\u5219\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\n\nlocal bigdata = \"123jfoiq4hlkfjbnasdilfhuqwo;hfashfp9qw38hrfaios;hfiuoaghfluaeisw\"\nlocal cdata = miniz.compress(bigdata)\nif cdata then\n log.info(\"miniz\", \"before\", #bigdata, \"after\", #cdata)\n log.info(\"miniz\", \"cdata as hex\", cdata:toHex())\nend\n\n", "prefix": "miniz.compress"}, "miniz.uncompress": {"body": "miniz.uncompress(${1:data},${2:flags})", "description": "miniz.uncompress(data, flags) - \u5feb\u901f\u89e3\u538b,\u9700\u898132kb\u7684LuaVM\u5185\u5b58\n\u4f20\u5165\u503c\uff1a\nstring \u5f85\u89e3\u538b\u7684\u6570\u636e, \u89e3\u538b\u540e\u7684\u6570\u636e\u4e0d\u80fd\u5927\u4e8e32k\nflags \u89e3\u538b\u53c2\u6570,\u9ed8\u8ba4\u662f miniz.PARSE_ZLIB_HEADER , \u5373\u89e3\u6790zlib\u5934\u90e8\n\u8fd4\u56de\u503c\uff1a\nstring \u82e5\u89e3\u538b\u6210\u529f,\u8fd4\u56de\u6570\u636e\u5b57\u7b26\u4e32, \u5426\u5219\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\n\nlocal bigdata = \"123jfoiq4hlkfjbnasdilfhuqwo;hfashfp9qw38hrfaios;hfiuoaghfluaeisw\"\nlocal cdata = miniz.compress(bigdata)\nif cdata then\n log.info(\"miniz\", \"before\", #bigdata, \"after\", #cdata)\n log.info(\"miniz\", \"cdata as hex\", cdata:toHex())\n\n local udata = miniz.uncompress(cdata)\n log.info(\"miniz\", \"udata\", udata)\nend\n", "prefix": "miniz.uncompress"}, "mlx90640.init": {"body": "mlx90640.init(${1:i2c_id},${2:refresh_rate)(\u6ce8\u610f:2023.5.15\u4e4b\u540e\u4f7f\u7528\u6b64\u63a5\u53e3},${3:\u7528\u6237\u9700\u8981\u81ea\u884c\u521d\u59cb\u5316i2c\u63a5\u53e3})", "description": "mlx90640.init(i2c_id,refresh_rate) (\u6ce8\u610f:2023.5.15\u4e4b\u540e\u4f7f\u7528\u6b64\u63a5\u53e3,\u7528\u6237\u9700\u8981\u81ea\u884c\u521d\u59cb\u5316i2c\u63a5\u53e3) - \u521d\u59cb\u5316MLX90640\u4f20\u611f\u5668\n\u4f20\u5165\u503c\uff1a\nint \u4f20\u611f\u5668\u6240\u5728\u7684i2c\u603b\u7ebfid\u6216\u8005\u8f6fi2c\u5bf9\u8c61,\u9ed8\u8ba4\u4e3a0\nint \u4f20\u611f\u5668\u7684\u6d4b\u91cf\u901f\u7387,\u9ed8\u8ba4\u4e3a4Hz\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue, \u5426\u5219\u8fd4\u56denil\u6216\u8005false\n\u4f8b\u5b50\uff1a\ni2c.setup(i2cid,i2c_speed)\nif mlx90640.init(0,mlx90640.FPS4HZ) then\n log.info(\"mlx90640\", \"init ok\")\n sys.wait(500) -- \u7a0d\u7b49\u7247\u523b\n while 1 do\n mlx90640.feed() -- \u53d6\u4e00\u5e27\u6570\u636e\n mlx90640.draw2lcd(0, 0 ,1)-- \u9700\u63d0\u524d\u628alcd\u521d\u59cb\u5316\u597d\n sys.wait(250) -- \u9ed8\u8ba4\u662f4HZ\n end\nelse\n log.info(\"mlx90640\", \"init fail\")\nend\n\n", "prefix": "mlx90640.init"}, "mlx90640.feed": {"body": "mlx90640.feed()", "description": "mlx90640.feed() - \u53d6\u4e00\u5e27\u6570\u636e\n", "prefix": "mlx90640.feed"}, "mlx90640.raw_data": {"body": "mlx90640.raw_data()", "description": "mlx90640.raw_data() - \u83b7\u53d6\u5e95\u5c42\u88f8\u6570\u636e,\u6d6e\u70b9\u6570\u77e9\u9635\n\u8fd4\u56de\u503c\uff1a\ntable \u6d6e\u70b9\u6570\u6570\u636e,768\u4e2a\u50cf\u7d20\u5bf9\u5e94\u7684\u6e29\u5ea6\u503c\n", "prefix": "mlx90640.raw_data"}, "mlx90640.raw_point": {"body": "mlx90640.raw_point(${1:index})", "description": "mlx90640.raw_point(index) - \u83b7\u53d6\u5355\u4e00\u70b9\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nint \u7d22\u5f15\u503c(0-767)\n\u8fd4\u56de\u503c\uff1a\nnumber \u5355\u70b9\u6e29\u5ea6\u503c\n", "prefix": "mlx90640.raw_point"}, "mlx90640.ta_temp": {"body": "mlx90640.ta_temp()", "description": "mlx90640.ta_temp() - \u83b7\u53d6\u5916\u58f3\u6e29\u5ea6\n\u8fd4\u56de\u503c\uff1a\nnumber \u5916\u58f3\u6e29\u5ea6\n", "prefix": "mlx90640.ta_temp"}, "mlx90640.max_temp": {"body": "mlx90640.max_temp()", "description": "mlx90640.max_temp() - \u83b7\u53d6\u6700\u9ad8\u6e29\u5ea6\n\u8fd4\u56de\u503c\uff1a\nnumber \u6700\u9ad8\u6e29\u5ea6\nnumber \u6700\u9ad8\u6e29\u5ea6\u4f4d\u7f6e\n", "prefix": "mlx90640.max_temp"}, "mlx90640.min_temp": {"body": "mlx90640.min_temp()", "description": "mlx90640.min_temp() - \u83b7\u53d6\u6700\u4f4e\u6e29\u5ea6\n\u8fd4\u56de\u503c\uff1a\nnumber \u6700\u4f4e\u6e29\u5ea6\nnumber \u6700\u4f4e\u6e29\u5ea6\u4f4d\u7f6e\n", "prefix": "mlx90640.min_temp"}, "mlx90640.average_temp": {"body": "mlx90640.average_temp()", "description": "mlx90640.average_temp() - \u83b7\u53d6\u5e73\u5747\u6e29\u5ea6\n\u8fd4\u56de\u503c\uff1a\nnumber \u5e73\u5747\u6e29\u5ea6\n", "prefix": "mlx90640.average_temp"}, "mlx90640.get_vdd": {"body": "mlx90640.get_vdd()", "description": "mlx90640.get_vdd() - \u83b7\u53d6vdd\n\u8fd4\u56de\u503c\uff1a\nnumber vdd\n", "prefix": "mlx90640.get_vdd"}, "mlx90640.draw2lcd": {"body": "mlx90640.draw2lcd(${1:x},${2:y},${3:fold})", "description": "mlx90640.draw2lcd(x, y, fold) - \u7ed8\u5236\u5230lcd\n\u4f20\u5165\u503c\uff1a\nint \u5de6\u4e0a\u89d2x\u5750\u6807\nint \u5de6\u4e0a\u89d2y\u5750\u6807\nint \u653e\u5927\u500d\u6570,\u5fc5\u987b\u4e3a2\u7684\u6307\u6570\u500d(1,2,4,8,16...)\u9ed8\u8ba4\u4e3a1\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n", "prefix": "mlx90640.draw2lcd"}, "mobile.imei": {"body": "mobile.imei(${1:index})", "description": "mobile.imei(index) - \u83b7\u53d6IMEI\n\u4f20\u5165\u503c\uff1a\nint \u7f16\u53f7,\u9ed8\u8ba40. \u5728\u652f\u6301\u53cc\u5361\u7684\u6a21\u5757\u4e0a\u624d\u4f1a\u51fa\u73b00\u62161\u7684\u60c5\u51b5\n\u8fd4\u56de\u503c\uff1a\nstring \u5f53\u524d\u7684IMEI\u503c,\u82e5\u5931\u8d25\u8fd4\u56denil\n", "prefix": "mobile.imei"}, "mobile.imsi": {"body": "mobile.imsi(${1:index})", "description": "mobile.imsi(index) - \u83b7\u53d6IMSI\n\u4f20\u5165\u503c\uff1a\nint \u7f16\u53f7,\u9ed8\u8ba40. \u5728\u652f\u6301\u53cc\u5361\u7684\u6a21\u5757\u4e0a\u624d\u4f1a\u51fa\u73b00\u62161\u7684\u60c5\u51b5\n\u8fd4\u56de\u503c\uff1a\nstring \u5f53\u524d\u7684IMSI\u503c,\u82e5\u5931\u8d25\u8fd4\u56denil\n", "prefix": "mobile.imsi"}, "mobile.sn": {"body": "mobile.sn()", "description": "mobile.sn() - \u83b7\u53d6SN\n\u8fd4\u56de\u503c\uff1a\nstring \u5f53\u524d\u7684SN\u503c,\u82e5\u5931\u8d25\u8fd4\u56denil. \u6ce8\u610f, SN\u53ef\u80fd\u5305\u542b\u4e0d\u53ef\u89c1\u5b57\u7b26\n\u4f8b\u5b50\uff1a\n-- \u6ce8\u610f, \u51fa\u5382\u672a\u5fc5\u6709\u5199SN\n-- \u4e00\u822c\u7528\u9014\u7684\u552f\u4e00id, \u53ef\u4ee5\u7528mobile.imei()\u4ee3\u66ff\n-- \u5982\u9700\u8981\u771f\u6b63\u7684\u552f\u4e00ID, \u4f7f\u7528 mcu.unique_id()\n", "prefix": "mobile.sn"}, "mobile.muid": {"body": "mobile.muid()", "description": "mobile.muid() - \u83b7\u53d6MUID\n\u8fd4\u56de\u503c\uff1a\nstring \u5f53\u524d\u7684MUID\u503c,\u82e5\u5931\u8d25\u8fd4\u56denil\n", "prefix": "mobile.muid"}, "mobile.iccid": {"body": "mobile.iccid(${1:id})", "description": "mobile.iccid(id) - \u83b7\u53d6\u6216\u8bbe\u7f6eICCID\n\u4f20\u5165\u503c\uff1a\nint SIM\u5361\u7684\u7f16\u53f7, \u4f8b\u59820, 1, \u9ed8\u8ba40\n\u8fd4\u56de\u503c\uff1a\nstring ICCID\u503c,\u82e5\u5931\u8d25\u8fd4\u56denil\n", "prefix": "mobile.iccid"}, "mobile.number": {"body": "mobile.number(${1:id})", "description": "mobile.number(id) - \u83b7\u53d6\u624b\u673a\u5361\u53f7\uff0c\u6ce8\u610f\uff0c\u53ea\u6709\u5199\u5165\u4e86\u624b\u673a\u53f7\u624d\u80fd\u8bfb\u51fa\uff0c\u56e0\u6b64\u6709\u53ef\u80fd\u8bfb\u51fa\u6765\u662f\u7a7a\u7684\n\u4f20\u5165\u503c\uff1a\nint SIM\u5361\u7684\u7f16\u53f7, \u4f8b\u59820, 1, \u9ed8\u8ba40\n\u8fd4\u56de\u503c\uff1a\nstring number\u503c,\u82e5\u5931\u8d25\u8fd4\u56denil\n", "prefix": "mobile.number"}, "mobile.simid": {"body": "mobile.simid(${1:id})", "description": "mobile.simid(id) - \u83b7\u53d6\u5f53\u524dSIM\u5361\u69fd,\u6216\u8005\u5207\u6362\u5361\u69fd\n\u4f20\u5165\u503c\uff1a\nint SIM\u5361\u7684\u7f16\u53f7, \u4f8b\u59820, 1, \u5982\u679c\u652f\u6301\u53cc\u5361\uff0c\u6bd4\u5982EC618\uff0c\u53ef\u4ee5\u586b2\u6765\u81ea\u9002\u5e94\uff0c\u4f46\u662f\u4f1a\u5360\u7528\u63894\u4e2aIO(gpio4/5/6/23)\u3002\u5982\u679c\u4e0d\u586b\u5c31\u76f4\u63a5\u8bfb\u53d6\u5f53\u524d\u5361\u69fd\nboolean \u662f\u5426\u4f18\u5148\u7528SIM0\uff0c\u53ea\u6709SIM\u5361\u7f16\u53f7\u51992\u81ea\u9002\u5e94\u624d\u6709\u7528\uff01\uff01\uff01\u3002true\u4f18\u5148\u7528SIM0\uff0cfalse\u5219\u7531\u5177\u4f53\u5e73\u53f0\u51b3\u5b9a\uff0c\u652f\u6301\u53cc\u5361\u53cc\u5f85SIM0\u4f18\u5148\uff0c\u4e0d\u652f\u6301\u7684\u662f\u4e0a\u4e00\u6b21\u68c0\u6d4b\u5230\u7684\u4f18\u5148\uff0c\u9ed8\u8ba4\u662ffalse\uff0c\u5fc5\u987b\u5728\u5f00\u673a\u5c31\u914d\u7f6e\uff0c\u5426\u5219\u5c31\u65e0\u6548\u4e86\n\u8fd4\u56de\u503c\uff1a\nint \u5f53\u524dsim\u5361\u69fd\u7f16\u53f7,\u82e5\u5931\u8d25\u8fd4\u56de-1\n\u4f8b\u5b50\uff1a\nmobile.simid(0) -- \u56fa\u5b9a\u4f7f\u7528SIM0\nmobile.simid(1) -- \u56fa\u4ef6\u4f7f\u7528SIM1\nmobile.simid(2) -- \u81ea\u52a8\u8bc6\u522bSIM0, SIM1, \u4f18\u5148\u7ea7\u770b\u5177\u4f53\u5e73\u53f0\nmobile.simid(2, true) -- -- \u81ea\u52a8\u8bc6\u522bSIM0, SIM1, \u4e14SIM0\u4f18\u5148\n-- \u63d0\u9192, \u81ea\u52a8\u8bc6\u522b\u662f\u4f1a\u589e\u52a0\u65f6\u95f4\u7684\n", "prefix": "mobile.simid"}, "mobile.simPin": {"body": "mobile.simPin(${1:id},${2:operation},${3:pin1},${4:pin2})", "description": "mobile.simPin(id,operation,pin1,pin2) - \u68c0\u6d4b\u5f53\u524dSIM\u5361\u662f\u5426\u51c6\u5907\u597d\uff0c\u5bf9SIM\u5361\u7684PIN\u7801\u505a\u76f8\u5173\u64cd\u4f5c\n\u4f20\u5165\u503c\uff1a\nint SIM\u5361\u7684\u7f16\u53f7, \u4f8b\u59820, 1, \u652f\u6301\u53cc\u5361\u53cc\u5f85\u7684\u624d\u9700\u8981\u9009\u62e9\nint PIN\u7801\u64cd\u4f5c\u7c7b\u578b\uff0c\u53ea\u80fd\u662fmobile.PIN_XXXX\uff0c\u4e0d\u64cd\u4f5c\u5c31\u7559\u7a7a\nstring \u66f4\u6362pin\u65f6\u64cd\u4f5c\u7684pin\u7801\uff0c\u6216\u8005\u9a8c\u8bc1\u64cd\u4f5c\u7684pin\u7801\uff0c\u6216\u8005\u89e3\u9501pin\u7801\u65f6\u7684PUK\uff0c4~8\u5b57\u8282\nstring \u66f4\u6362pin\u7801\u64cd\u4f5c\u65f6\u7684\u65b0\u7684pin\u7801\uff0c\u89e3\u9501pin\u7801\u65f6\u7684\u65b0PIN\uff0c4~8\u5b57\u8282\n\u8fd4\u56de\u503c\uff1a\nboolean \u5f53\u65e0PIN\u64cd\u4f5c\u65f6\uff0c\u8fd4\u56deSIM\u5361\u662f\u5426\u51c6\u5907\u597d\uff0c\u6709PIN\u64cd\u4f5c\u65f6\uff0c\u8fd4\u56de\u662f\u5426\u6210\u529f\n\u4f8b\u5b50\uff1a\nlocal cpin_is_ready = mobile.simPin() -- \u5f53\u524dsim\u5361\u662f\u5426\u51c6\u5907\u597d\uff0c\u4e00\u822c\u8fd4\u56defalse\u5c31\u662f\u6ca1\u5361\nlocal succ = mobile.simPin(0, mobile.PIN_VERIFY, \"1234\")\t-- \u8f93\u5165pin\u7801\u9a8c\u8bc1\n", "prefix": "mobile.simPin"}, "mobile.rtime": {"body": "mobile.rtime(${1:time},${2:auto_reset_stack})", "description": "mobile.rtime(time, auto_reset_stack) - \u8bbe\u7f6eRRC\u81ea\u52a8\u91ca\u653e\u65f6\u95f4\u95f4\u9694\uff0c\u5f53\u5f00\u542f\u65f6\u540e\uff0c\u9047\u5230\u6781\u5f31\u4fe1\u53f7+\u9891\u7e41\u6570\u636e\u64cd\u4f5c\u53ef\u80fd\u4f1a\u5f15\u8d77\u7f51\u7edc\u4e25\u91cd\u6545\u969c\uff0c\u56e0\u6b64\u9700\u8981\u989d\u5916\u8bbe\u7f6e\u81ea\u52a8\u91cd\u542f\u534f\u8bae\u6808\n\u4f20\u5165\u503c\uff1a\nint RRC\u81ea\u52a8\u91ca\u653e\u65f6\u95f4\uff0c\u7b49\u540c\u4e8eAir724\u7684AT+RTIME\uff0c\u5355\u4f4d\u79d2\uff0c\u51990\u6216\u8005\u4e0d\u5199\u5219\u662f\u505c\u7528\uff0c\u4e0d\u8981\u8d85\u8fc720\u79d2\uff0c\u6ca1\u6709\u610f\u4e49\nboolean \u7f51\u7edc\u9047\u5230\u4e25\u91cd\u6545\u969c\u65f6\u5c1d\u8bd5\u81ea\u52a8\u6062\u590d\uff0c\u548c\u98de\u884c\u6a21\u5f0f/SIM\u5361\u5207\u6362\u51b2\u7a81\uff0ctrue\u5f00\u542f\uff0cfalse\u5173\u95ed\uff0c\u7559\u7a7a\u65f6\uff0c\u5982\u679c\u8bbe\u7f6e\u4e86\u65f6\u95f4\u5219\u81ea\u52a8\u5f00\u542f\u3002\u539f\u5382\u4f18\u5316\u8fc7\u534f\u8bae\u6808\u540e\u4e0d\u9700\u8981\u4e86\u3002\u672c\u53c2\u6570\u5e9f\u5f03\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n", "prefix": "mobile.rtime"}, "mobile.setAuto": {"body": "mobile.setAuto(${1:check_sim_period},${2:get_cell_period},${3:search_cell_time},${4:auto_reset_stack},${5:network_check_period})", "description": "mobile.setAuto(check_sim_period, get_cell_period, search_cell_time, auto_reset_stack, network_check_period) - \u8bbe\u7f6e\u4e00\u4e9b\u8f85\u52a9\u5468\u671f\u6027\u6216\u8005\u81ea\u52a8\u529f\u80fd\uff0c\u76ee\u524d\u652f\u6301SIM\u5361\u6682\u65f6\u8131\u79bb\u540e\u6062\u590d\uff0c\u5468\u671f\u6027\u83b7\u53d6\u5c0f\u533a\u4fe1\u606f\uff0c\u7f51\u7edc\u9047\u5230\u4e25\u91cd\u6545\u969c\u65f6\u5c1d\u8bd5\u81ea\u52a8\u6062\u590d\n\u4f20\u5165\u503c\uff1a\nint SIM\u5361\u81ea\u52a8\u6062\u590d\u65f6\u95f4\uff0c\u5355\u4f4d\u6beb\u79d2\uff0c\u5efa\u8bae5000~10000\uff0c\u548c\u98de\u884c\u6a21\u5f0f/SIM\u5361\u5207\u6362\u51b2\u7a81\uff0c\u4e0d\u80fd\u518d\u540c\u4e00\u65f6\u95f4\u4f7f\u7528\uff0c\u5fc5\u987b\u9519\u5f00\u6267\u884c\u3002\u51990\u6216\u8005\u4e0d\u5199\u5219\u662f\u5173\u95ed\u529f\u80fd\nint \u5468\u671f\u6027\u83b7\u53d6\u5c0f\u533a\u4fe1\u606f\u7684\u65f6\u95f4\u95f4\u9694\uff0c\u5355\u4f4d\u6beb\u79d2\u3002\u83b7\u53d6\u5c0f\u533a\u4fe1\u606f\u4f1a\u589e\u52a0\u90e8\u5206\u529f\u8017\u3002\u51990\u6216\u8005\u4e0d\u5199\u5219\u662f\u5173\u95ed\u529f\u80fd\nint \u6bcf\u6b21\u641c\u7d22\u5c0f\u533a\u65f6\u6700\u5927\u641c\u7d22\u65f6\u95f4\uff0c\u5355\u4f4d\u79d2\u3002\u4e0d\u8981\u8d85\u8fc78\u79d2\nboolean \u7f51\u7edc\u9047\u5230\u4e25\u91cd\u6545\u969c\u65f6\u5c1d\u8bd5\u81ea\u52a8\u6062\u590d\uff0c\u548c\u98de\u884c\u6a21\u5f0f/SIM\u5361\u5207\u6362\u51b2\u7a81\uff0ctrue\u5f00\u542f\uff0cfalse\u5173\u95ed\uff0c\u5f00\u59cb\u72b6\u6001\u662ffalse\uff0c\u7559\u7a7a\u5219\u4e0d\u505a\u6539\u53d8\nint \u8bbe\u7f6e\u5b9a\u65f6\u68c0\u6d4b\u7f51\u7edc\u662f\u5426\u6b63\u5e38\u5e76\u4e14\u5728\u68c0\u6d4b\u5230\u957f\u65f6\u95f4\u65e0\u7f51\u65f6\u901a\u8fc7\u91cd\u542f\u534f\u8bae\u6808\u6765\u6062\u590d\uff0c\u65e0\u7f51\u6062\u590d\u65f6\u957f\uff0c\u5355\u4f4dms\uff0c\u5efa\u8bae60000\u4ee5\u4e0a\uff0c\u4e3a\u7f51\u7edc\u641c\u7d22\u7f51\u7edc\u4fdd\u7559\u8db3\u591f\u7684\u65f6\u95f4\uff0c\u7559\u7a7a\u5219\u4e0d\u505a\u66f4\u6539\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n", "prefix": "mobile.setAuto"}, "mobile.apn": {"body": "mobile.apn(${1:index},${2:cid},${3:new_apn_name},${4:user_name},${5:password},${6:ip_type},${7:protocol})", "description": "mobile.apn(index, cid, new_apn_name, user_name, password, ip_type, protocol) - \u83b7\u53d6\u6216\u8bbe\u7f6eAPN\uff0c\u8bbe\u7f6eAPN\u5fc5\u987b\u5728\u5165\u7f51\u524d\u5c31\u8bbe\u7f6e\u597d\uff0c\u6bd4\u5982\u5728SIM\u5361\u8bc6\u522b\u5b8c\u6210\u524d\u5c31\u8bbe\u7f6e\u597d\n\u4f20\u5165\u503c\uff1a\nint \u7f16\u53f7,\u9ed8\u8ba40. \u5728\u652f\u6301\u53cc\u5361\u7684\u6a21\u5757\u4e0a\u624d\u4f1a\u51fa\u73b00\u62161\u7684\u60c5\u51b5\nint cid, \u9ed8\u8ba40\uff0c\u5982\u679c\u8981\u7528\u975e\u9ed8\u8ba4APN\u6765\u6fc0\u6d3b\uff0c\u5fc5\u987b>0\nstring \u65b0\u7684APN,\u4e0d\u586b\u5c31\u662f\u83b7\u53d6APN, \u586b\u4e86\u5c31\u662f\u8bbe\u7f6eAPN, \u662f\u5426\u652f\u6301\u8bbe\u7f6e\u53d6\u51b3\u4e8e\u5e95\u5c42\u5b9e\u73b0\nstring \u65b0\u7684APN\u7684username,\u5982\u679cAPN\u4e0d\u662f\u7a7a,\u90a3\u5fc5\u987b\u586b\u5199,\u5982\u679c\u6ca1\u6709\u7559\u4e2a\u7a7a\u5b57\u7b26\u4e32\"\"\u3002\u5982\u679cAPN\u662f\u7a7a\u7684\uff0c\u90a3\u53ef\u4ee5nil\nstring \u65b0\u7684APN\u7684password,\u5982\u679cAPN\u4e0d\u662f\u7a7a,\u90a3\u5fc5\u987b\u586b\u5199,\u5982\u679c\u6ca1\u6709\u7559\u4e2a\u7a7a\u5b57\u7b26\u4e32\"\"\u3002\u5982\u679cAPN\u662f\u7a7a\u7684\uff0c\u90a3\u53ef\u4ee5nil\nint \u6fc0\u6d3bAPN\u65f6\u7684IP TYPE,1=IPV4 2=IPV6 3=IPV4V6,\u9ed8\u8ba4\u662f1\nint \u6fc0\u6d3bAPN\u65f6,\u5982\u679c\u9700\u8981username\u548cpassword,\u5c31\u8981\u5199\u9274\u6743\u534f\u8bae\u7c7b\u578b,1~3,\u9ed8\u8ba43,\u4ee3\u88681\u548c2\u90fd\u5c1d\u8bd5\u4e00\u4e0b\u3002\u4e0d\u9700\u8981\u9274\u6743\u7684\u51990\nboolean \u662f\u5426\u5220\u9664APN,true\u662f,\u5176\u4ed6\u90fd\u5426,\u53ea\u6709\u53c2\u65703\u65b0\u7684APN\u4e0d\u662fstring\u7684\u65f6\u5019\u624d\u6709\u6548\u679c\n\u8fd4\u56de\u503c\uff1a\nstring \u83b7\u53d6\u5230\u7684\u9ed8\u8ba4APN\u503c,\u5931\u8d25\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\nmobile.apn(0,1,\"cmiot\",\"\",\"\",nil,0) -- \u79fb\u52a8\u516c\u7f51\u5361\u8bbe\u7f6eAPN\u4e3acmiot,\u4e00\u822c\u4e0d\u7528\u8bbe\u7f6e\nmobile.apn(0,1,\"name\",\"user\",\"password\",nil,3) -- \u4e13\u7f51\u5361\u8bbe\u7f6e\u7684demo\uff0cname\uff0cuser\uff0cpassword\u8054\u7cfb\u5361\u5546\u83b7\u53d6\n", "prefix": "mobile.apn"}, "mobile.ipv6": {"body": "mobile.ipv6(${1:onff})", "description": "mobile.ipv6(onff) - \u662f\u5426\u9ed8\u8ba4\u5f00\u542fIPV6\u529f\u80fd\uff0c\u5fc5\u987b\u5728LTE\u7f51\u7edc\u8fde\u63a5\u524d\u5c31\u8bbe\u7f6e\u597d\n\u4f20\u5165\u503c\uff1a\nboolean \u5f00\u5173 true\u5f00\u542f false \u5173\u95ed\n\u8fd4\u56de\u503c\uff1a\nboolean true \u5f53\u524d\u662f\u5f00\u542f\u7684\uff0cfalse \u5f53\u524d\u662f\u5173\u95ed\u7684\n\u4f8b\u5b50\uff1a\n-- \u6ce8\u610f, \u5f00\u542fipv6\u540e, \u5f00\u673a\u8054\u7f51\u4f1a\u61622~3\u79d2\n", "prefix": "mobile.ipv6"}, "mobile.csq": {"body": "mobile.csq()", "description": "mobile.csq() - \u83b7\u53d6csq\n\u8fd4\u56de\u503c\uff1a\nint \u5f53\u524dCSQ\u503c, \u82e5\u5931\u8d25\u8fd4\u56de0. \u8303\u56f4 0 - 31, \u8d8a\u5927\u8d8a\u597d\n\u4f8b\u5b50\uff1a\n-- \u6ce8\u610f, 4G\u6a21\u5757\u7684CSQ\u503c\u4ec5\u4f9b\u53c2\u8003, rsrp/rsrq\u624d\u662f\u771f\u6b63\u7684\u4fe1\u53f7\u5f3a\u5ea6\u6307\u6807\n", "prefix": "mobile.csq"}, "mobile.rssi": {"body": "mobile.rssi()", "description": "mobile.rssi() - \u83b7\u53d6rssi\n\u8fd4\u56de\u503c\uff1a\nint \u5f53\u524drssi\u503c,\u82e5\u5931\u8d25\u8fd4\u56de0. \u8303\u56f4 0 \u5230 -114, \u8d8a\u5c0f\u8d8a\u597d\n", "prefix": "mobile.rssi"}, "mobile.rsrp": {"body": "mobile.rsrp()", "description": "mobile.rsrp() - \u83b7\u53d6rsrp,\u53c2\u8003\u4fe1\u53f7\u63a5\u6536\u529f\u7387\n\u8fd4\u56de\u503c\uff1a\nint \u5f53\u524drsrp\u503c,\u82e5\u5931\u8d25\u8fd4\u56de0. \u53d6\u503c\u8303\u56f4: -44 ~ -140 \uff0c\u503c\u8d8a\u5927\u8d8a\u597d\n", "prefix": "mobile.rsrp"}, "mobile.rsrq": {"body": "mobile.rsrq()", "description": "mobile.rsrq() - \u83b7\u53d6rsrq,\u53c2\u8003\u4fe1\u53f7\u53d1\u9001\u529f\u7387\n\u8fd4\u56de\u503c\uff1a\nint \u5f53\u524drsrq\u503c,\u82e5\u5931\u8d25\u8fd4\u56de0. \u53d6\u503c\u8303\u56f4: -3 ~ -19.5 \uff0c\u503c\u8d8a\u5927\u8d8a\u597d\n", "prefix": "mobile.rsrq"}, "mobile.snr": {"body": "mobile.snr()", "description": "mobile.snr() - \u83b7\u53d6snr,\u4fe1\u566a\u6bd4\n\u8fd4\u56de\u503c\uff1a\nint \u5f53\u524dsnq\u503c,\u82e5\u5931\u8d25\u8fd4\u56de0.\u8303\u56f4 0 - 30, \u8d8a\u5927\u8d8a\u597d\n", "prefix": "mobile.snr"}, "mobile.eci": {"body": "mobile.eci()", "description": "mobile.eci() - \u83b7\u53d6\u5f53\u524d\u670d\u52a1\u5c0f\u533a\u7684ECI(E-UTRAN Cell Identifier)\n\u8fd4\u56de\u503c\uff1a\nint \u5f53\u524deci\u503c,\u82e5\u5931\u8d25\u8fd4\u56de-1\n", "prefix": "mobile.eci"}, "mobile.tac": {"body": "mobile.tac()", "description": "mobile.tac() - \u83b7\u53d6\u5f53\u524d\u670d\u52a1\u5c0f\u533a\u7684TAC\u6216\u8005LAC\n\u8fd4\u56de\u503c\uff1a\nint \u5f53\u524deci\u503c,\u82e5\u5931\u8d25\u8fd4\u56de-1. \u5982\u679c\u5c1a\u672a\u6ce8\u518c\u5230\u7f51\u7edc,\u4f1a\u8fd4\u56de0\n\u4f8b\u5b50\uff1a\n-- \u672cAPI\u4e8e 2023.7.9 \u65b0\u589e\n", "prefix": "mobile.tac"}, "mobile.enbid": {"body": "mobile.enbid()", "description": "mobile.enbid() - \u83b7\u53d6\u5f53\u524d\u670d\u52a1\u5c0f\u533a\u7684eNBID(eNodeB Identifier)\n\u8fd4\u56de\u503c\uff1a\nint \u5f53\u524denbid\u503c,\u82e5\u5931\u8d25\u8fd4\u56de-1\n", "prefix": "mobile.enbid"}, "mobile.flymode": {"body": "mobile.flymode(${1:index},${2:enable})", "description": "mobile.flymode(index, enable) - \u8fdb\u51fa\u98de\u884c\u6a21\u5f0f\n\u4f20\u5165\u503c\uff1a\nint \u7f16\u53f7,\u9ed8\u8ba40. \u5728\u652f\u6301\u53cc\u5361\u7684\u6a21\u5757\u4e0a\u624d\u4f1a\u51fa\u73b00\u62161\u7684\u60c5\u51b5\nbool \u662f\u5426\u8bbe\u7f6e\u4e3a\u98de\u884c\u6a21\u5f0f,true\u4e3a\u8bbe\u7f6e, false\u4e3a\u9000\u51fa,\u53ef\u9009\n\u8fd4\u56de\u503c\uff1a\nbool \u539f\u98de\u884c\u6a21\u5f0f\u7684\u72b6\u6001\n", "prefix": "mobile.flymode"}, "mobile.status": {"body": "mobile.status()", "description": "mobile.status() - \u83b7\u53d6\u7f51\u7edc\u72b6\u6001\n\u8fd4\u56de\u503c\uff1a\nint \u5f53\u524d\u7f51\u7edc\u72b6\u6001,0:\u7f51\u7edc\u672a\u6ce8\u518c;1:\u7f51\u7edc\u5df2\u6ce8\u518c;2:\u6b63\u5728\u641c\u7f51\u4e2d;3:\u7f51\u7edc\u6ce8\u518c\u88ab\u62d2\u7edd\n", "prefix": "mobile.status"}, "mobile.getCellInfo": {"body": "mobile.getCellInfo()", "description": "mobile.getCellInfo() - \u83b7\u53d6\u673a\u5236\u4fe1\u606f\n\u8fd4\u56de\u503c\uff1a\ntable \u5305\u542b\u57fa\u7ad9\u6570\u636e\u7684\u6570\u7ec4\n\u4f8b\u5b50\uff1a\n-- \u6ce8\u610f: \u4ece2023.06.20\u5f00\u59cb, \u9700\u8981\u4e3b\u52a8\u8bf7\u6c42\u4e00\u6b21reqCellInfo\u624d\u4f1a\u6709\u57fa\u7ad9\u6570\u636e.\n\n--\u793a\u4f8b\u8f93\u51fa\n--[[\n[\n {\"rsrq\":-10,\"rssi\":-55,\"cid\":124045360,\"mnc\":17,\"pci\":115,\"earfcn\":1850,\"snr\":15,\"rsrp\":-85,\"mcc\":1120,\"tdd\":0},\n {\"pci\":388,\"rsrq\":-11,\"mnc\":17,\"earfcn\":2452,\"snr\":5,\"rsrp\":-67,\"mcc\":1120,\"cid\":124045331},\n {\"pci\":100,\"rsrq\":-9,\"mnc\":17,\"earfcn\":75,\"snr\":17,\"rsrp\":-109,\"mcc\":1120,\"cid\":227096712}\n]\n]]\n\nmobile.reqCellInfo(60)\n-- \u8ba2\u9605\nsys.subscribe(\"CELL_INFO_UPDATE\", function()\n log.info(\"cell\", json.encode(mobile.getCellInfo()))\nend)\n\n-- \u5b9a\u671f\u8f6e\u8bad\u5f0f\nsys.taskInit(function()\n sys.wait(3000)\n while 1 do\n mobile.reqCellInfo(15)\n sys.waitUntil(\"CELL_INFO_UPDATE\", 15000)\n log.info(\"cell\", json.encode(mobile.getCellInfo()))\n end\nend)\n", "prefix": "mobile.getCellInfo"}, "mobile.reqCellInfo": {"body": "mobile.reqCellInfo(${1:timeout})", "description": "mobile.reqCellInfo(timeout) - \u53d1\u8d77\u57fa\u7ad9\u4fe1\u606f\u67e5\u8be2,\u542b\u4e34\u8fd1\u5c0f\u533a\n\u4f20\u5165\u503c\uff1a\nint \u8d85\u65f6\u65f6\u957f,\u5355\u4f4d\u79d2,\u9ed8\u8ba415. \u6700\u5c115, \u6700\u9ad860\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n-- \u53c2\u8003 mobile.getCellInfo \u51fd\u6570\n", "prefix": "mobile.reqCellInfo"}, "mobile.reset": {"body": "mobile.reset()", "description": "mobile.reset() - \u91cd\u542f\u534f\u8bae\u6808\n\u4f8b\u5b50\uff1a\n-- \u91cd\u542fLTE\u534f\u8bae\u6808\nmobile.reset()\n", "prefix": "mobile.reset"}, "mobile.dataTraffic": {"body": "mobile.dataTraffic(${1:clearUplink},${2:clearDownlink})", "description": "mobile.dataTraffic(clearUplink, clearDownlink) - \u6570\u636e\u91cf\u6d41\u91cf\u5904\u7406\n\u4f20\u5165\u503c\uff1a\nboolean \u6e05\u7a7a\u4e0a\u884c\u6d41\u91cf\u7d2f\u8ba1\u503c\uff0ctrue\u6e05\u7a7a\uff0c\u5176\u4ed6\u5ffd\u7565\nboolean \u6e05\u7a7a\u4e0b\u884c\u6d41\u91cf\u7d2f\u8ba1\u503c\uff0ctrue\u6e05\u7a7a\uff0c\u5176\u4ed6\u5ffd\u7565\n\u8fd4\u56de\u503c\uff1a\nint \u4e0a\u884c\u6d41\u91cfGB\nint \u4e0a\u884c\u6d41\u91cfB\nint \u4e0b\u884c\u6d41\u91cfGB\nint \u4e0b\u884c\u6d41\u91cfB\n\u4f8b\u5b50\uff1a\n-- \u83b7\u53d6\u4e0a\u4e0b\u884c\u6d41\u91cf\u7d2f\u8ba1\u503c\n-- \u4e0a\u884c\u6d41\u91cf\u503cByte = uplinkGB * 1024 * 1024 * 1024 + uplinkB\n-- \u4e0b\u884c\u6d41\u91cf\u503cByte = downlinkGB * 1024 * 1024 * 1024 + downlinkB\nlocal uplinkGB, uplinkB, downlinkGB, downlinkB = mobile.dataTraffic()\n\n-- \u6e05\u7a7a\u4e0a\u4e0b\u884c\u6d41\u91cf\u7d2f\u8ba1\u503c\nmobile.dataTraffic(true, true)\n", "prefix": "mobile.dataTraffic"}, "mobile.config": {"body": "mobile.config(${1:item},${2:value})", "description": "mobile.config(item, value) - \u7f51\u7edc\u7279\u6b8a\u914d\u7f6e\uff0c\u9488\u5bf9\u4e0d\u540c\u5e73\u53f0\u6709\u4e0d\u540c\u7684\u914d\u7f6e\uff0c\u8c28\u614e\u4f7f\u7528\uff0c\u76ee\u524d\u53ea\u6709EC618\n\u4f20\u5165\u503c\uff1a\nint \u914d\u7f6e\u9879\u76ee\uff0c\u770bmobile.CONF_XXX\nint \u914d\u7f6e\u503c\n\u8fd4\u56de\u503c\uff1a\nboolean \u662f\u5426\u6210\u529f\n\u4f8b\u5b50\uff1a\n-- EC618\u914d\u7f6e\u5c0f\u533a\u91cd\u9009\u4fe1\u53f7\u5dee\u503c\u95e8\u9650\uff0c\u4e0d\u80fd\u5927\u4e8e15dbm\uff0c\u5fc5\u987b\u5728\u98de\u884c\u6a21\u5f0f\u4e0b\u624d\u80fd\u7528\nmobile.flymode(0,true)\nmobile.config(mobile.CONF_RESELTOWEAKNCELL, 15)\nmobile.config(mobile.CONF_STATICCONFIG, 1) --\u5f00\u542f\u7f51\u7edc\u9759\u6001\u4f18\u5316\nmobile.flymode(0,false)\n\n-- EC618\u8bbe\u7f6eSIM\u5199\u5165\u6b21\u6570\u7684\u7edf\u8ba1\n-- \u5173\u95ed\u7edf\u8ba1\nmobile.config(mobile.CONF_SIM_WC_MODE, 0)\n-- \u5f00\u542f\u7edf\u8ba1, \u9ed8\u8ba4\u4e5f\u662f\u5f00\u542f\u7684.\nmobile.config(mobile.CONF_SIM_WC_MODE, 1)\n-- \u8bfb\u53d6\u7edf\u8ba1\u503c,\u5f02\u6b65, \u9700\u8981\u901a\u8fc7\u7cfb\u7edf\u6d88\u606fSIM_IND\u83b7\u53d6\nsys.subscribe(\"SIM_IND\", function(stats, value)\n log.info(\"SIM_IND\", stats)\n if stats == \"SIM_WC\" then\n log.info(\"sim\", \"write counter\", value)\n end\nend)\nmobile.config(mobile.CONF_SIM_WC_MODE, 2)\n-- \u6e05\u7a7a\u7edf\u8ba1\u503c\nmobile.config(mobile.CONF_SIM_WC_MODE, 3)\n", "prefix": "mobile.config"}, "mobile.getBand": {"body": "mobile.getBand(${1:band},${2:is_default})", "description": "mobile.getBand(band, is_default) - \u83b7\u53d6\u5f53\u524d\u4f7f\u7528/\u652f\u6301\u7684band\n\u4f20\u5165\u503c\uff1a\nzbuff \u8f93\u51faband\nboolean true\u9ed8\u8ba4\u652f\u6301\uff0cfalse\u5f53\u524d\u652f\u6301\u7684\uff0c\u9ed8\u8ba4\u662ffalse\uff0c\u5f53\u524d\u662f\u9884\u7559\u529f\u80fd\uff0c\u4e0d\u8981\u5199true\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue\uff0c\u5931\u8d25\u653e\u56defalse\n\u4f8b\u5b50\uff1a\nlocal buff = zbuff.create(40)\nmobile.getBand(buff) --\u8f93\u51fa\u5f53\u524d\u4f7f\u7528\u7684band\uff0cband\u53f7\u653e\u5728buff\u5185\uff0cbuff[0]\uff0cbuff[1]\uff0cbuff[2] .. buff[buff:used() - 1]\n", "prefix": "mobile.getBand"}, "mobile.setBand": {"body": "mobile.setBand(${1:band},${2:num})", "description": "mobile.setBand(band, num) - \u8bbe\u7f6e\u4f7f\u7528\u7684band\n\u4f20\u5165\u503c\uff1a\nzbuff \u8f93\u5165\u4f7f\u7528\u7684band\nint band\u6570\u91cf\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue\uff0c\u5931\u8d25\u653e\u56defalse\n\u4f8b\u5b50\uff1a\nlocal buff = zbuff.create(40)\nbuff[0] = 3\nbuff[1] = 5\nbuff[2] = 8\nbuff[3] = 40\nmobile.setBand(buff, 4) --\u8bbe\u7f6e\u4f7f\u7528\u7684band\u4e00\u51714\u4e2a\uff0c\u4e3a3,5,8,40\n", "prefix": "mobile.setBand"}, "mobile.nstOnOff": {"body": "mobile.nstOnOff(${1:onoff},${2:uart_id})", "description": "mobile.nstOnOff(onoff, uart_id) - RF\u6d4b\u8bd5\u5f00\u5173\u548c\u914d\u7f6e\n\u4f20\u5165\u503c\uff1a\nboolean true\u5f00\u542f\u6d4b\u8bd5\u6a21\u5f0f\uff0cfalse\u5173\u95ed\nint \u4e32\u53e3\u53f7\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\nmobile.nstOnOff(true, uart.VUART_0)\t--\u6253\u5f00\u6d4b\u8bd5\u6a21\u5f0f\uff0c\u5e76\u4e14\u7528\u865a\u62df\u4e32\u53e3\u53d1\u9001\u7ed3\u679c\nmobile.nstOnOff(false) --\u5173\u95ed\u6d4b\u8bd5\u6a21\u5f0f\n", "prefix": "mobile.nstOnOff"}, "mobile.nstInput": {"body": "mobile.nstInput(${1:data})", "description": "mobile.nstInput(data) - RF\u6d4b\u8bd5\u6570\u636e\u8f93\u5165\n\u4f20\u5165\u503c\uff1a\nstring or zbuff \u7528\u6237\u4ece\u4e32\u53e3\u83b7\u53d6\u7684\u6570\u636e\uff0c\u6ce8\u610f\uff0c\u5f53\u83b7\u53d6\u5b8c\u6240\u6709\u6570\u636e\u540e\uff0c\u9700\u8981\u518d\u4f20\u4e00\u4e2anil\u6765\u4f5c\u4e3a\u4f20\u8f93\u7ed3\u675f\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\nmobile.nstInput(uart_data)\nmobile.nstInput(nil)\n", "prefix": "mobile.nstInput"}, "mqttc:subscribe": {"body": "mqttc:subscribe(${1:topic},${2:qos})", "description": "mqttc:subscribe(topic, qos) - \u8ba2\u9605\u4e3b\u9898\n\u4f20\u5165\u503c\uff1a\nstring/table \u4e3b\u9898\nint topic\u4e3astring\u65f6\u751f\u6548 0/1/2 \u9ed8\u8ba40\n\u8fd4\u56de\u503c\uff1a\nint \u6d88\u606fid,\u5f53qos\u4e3a1/2\u65f6\u6709\u6548, \u82e5\u5e95\u5c42\u8fd4\u56de\u5931\u8d25,\u4f1a\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\n-- \u8ba2\u9605\u5355\u4e2atopic, \u4e14qos=0\nmqttc:subscribe(\"/luatos/123456\", 0)\n-- \u8ba2\u9605\u5355\u4e2atopic, \u4e14qos=1\nmqttc:subscribe(\"/luatos/12345678\", 1)\n-- \u8ba2\u9605\u591a\u4e2atopic, \u4e14\u4f7f\u7528\u4e0d\u540c\u7684qos\nmqttc:subscribe({[\"/luatos/1234567\"]=1,[\"/luatos/12345678\"]=2})\n", "prefix": "mqttc:subscribe"}, "mqttc:unsubscribe": {"body": "mqttc:unsubscribe(${1:topic})", "description": "mqttc:unsubscribe(topic) - \u53d6\u6d88\u8ba2\u9605\u4e3b\u9898\n\u4f20\u5165\u503c\uff1a\nstring/table \u4e3b\u9898\n\u4f8b\u5b50\uff1a\nmqttc:unsubscribe(\"/luatos/123456\")\nmqttc:unsubscribe({\"/luatos/1234567\",\"/luatos/12345678\"})\n", "prefix": "mqttc:unsubscribe"}, "mqttc:debug": {"body": "mqttc:debug(${1:onoff})", "description": "mqttc:debug(onoff) - \u914d\u7f6e\u662f\u5426\u6253\u5f00debug\u4fe1\u606f\n\u4f20\u5165\u503c\uff1a\nboolean \u662f\u5426\u6253\u5f00debug\u5f00\u5173\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n", "prefix": "mqttc:debug"}, "mqtt.create": {"body": "mqtt.create(${1:adapter},${2:host},${3:port},${4:ssl},${5:isipv6})", "description": "mqtt.create(adapter,host,port,ssl,isipv6) - mqtt\u5ba2\u6237\u7aef\u521b\u5efa\n\u4f20\u5165\u503c\uff1a\nint \u9002\u914d\u5668\u5e8f\u53f7, \u53ea\u80fd\u662fsocket.ETH0, socket.STA, socket.AP,\u5982\u679c\u4e0d\u586b,\u4f1a\u9009\u62e9\u5e73\u53f0\u81ea\u5e26\u7684\u65b9\u5f0f,\u7136\u540e\u662f\u6700\u540e\u4e00\u4e2a\u6ce8\u518c\u7684\u9002\u914d\u5668\nstring \u670d\u52a1\u5668\u5730\u5740,\u53ef\u4ee5\u662f\u57df\u540d, \u4e5f\u53ef\u4ee5\u662fip\nint \t\u7aef\u53e3\u53f7\nbool/table \u662f\u5426\u4e3assl\u52a0\u5bc6\u8fde\u63a5,\u9ed8\u8ba4\u4e0d\u52a0\u5bc6,true\u4e3a\u65e0\u8bc1\u4e66\u6700\u7b80\u5355\u7684\u52a0\u5bc6\uff0ctable\u4e3a\u6709\u8bc1\u4e66\u7684\u52a0\u5bc6
        server_cert \u670d\u52a1\u5668ca\u8bc1\u4e66\u6570\u636e
        client_cert \u5ba2\u6237\u7aef\u8bc1\u4e66\u6570\u636e
        client_key \u5ba2\u6237\u7aef\u79c1\u94a5\u52a0\u5bc6\u6570\u636e
        client_password \u5ba2\u6237\u7aef\u79c1\u94a5\u53e3\u4ee4\u6570\u636e
        verify \u662f\u5426\u5f3a\u5236\u6821\u9a8c 0\u4e0d\u6821\u9a8c/1\u53ef\u9009\u6821\u9a8c/2\u5f3a\u5236\u6821\u9a8c \u9ed8\u8ba42\nbool \u662f\u5426\u4e3aipv6 \u9ed8\u8ba4\u4e0d\u662f\n\u8fd4\u56de\u503c\uff1a\nuserdata \u82e5\u6210\u529f\u4f1a\u8fd4\u56demqtt\u5ba2\u6237\u7aef\u5b9e\u4f8b,\u5426\u5219\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\n-- \u666e\u901aTCP\u94fe\u63a5\nmqttc = mqtt.create(nil,\"120.55.137.106\", 1884)\n-- \u52a0\u5bc6TCP\u94fe\u63a5,\u4e0d\u9a8c\u8bc1\u670d\u52a1\u5668\u8bc1\u4e66\nmqttc = mqtt.create(nil,\"120.55.137.106\", 8883, true)\n-- \u52a0\u5bc6TCPTCP\u94fe\u63a5,\u5355\u670d\u52a1\u5668\u8bc1\u4e66\u9a8c\u8bc1\nmqttc = mqtt.create(nil,\"120.55.137.106\", 8883, {server_cert=io.readFile(\"/luadb/ca.crt\")})\n-- \u52a0\u5bc6TCPTCP\u94fe\u63a5,\u5355\u670d\u52a1\u5668\u8bc1\u4e66\u9a8c\u8bc1, \u4f46\u53ef\u9009\u8ba4\u8bc1\nmqttc = mqtt.create(nil,\"120.55.137.106\", 8883, {server_cert=io.readFile(\"/luadb/ca.crt\"), verify=1})\n-- \u52a0\u5bc6TCPTCP\u94fe\u63a5,\u53cc\u5411\u8bc1\u4e66\u9a8c\u8bc1\nmqttc = mqtt.create(nil,\"120.55.137.106\", 8883, {\n\t\t\t\t\tserver_cert=io.readFile(\"/luadb/ca.crt\"),\n\t\t\t\t\tclient_cert=io.readFile(\"/luadb/client.pem\"),\n\t\t\t\t\tclient_key=\"123456\",\n\t\t\t\t\tclient_password=\"123456\",\n\t\t\t\t\t})\n", "prefix": "mqtt.create"}, "mqttc:auth": {"body": "mqttc:auth(${1:client_id},${2:username},${3:password},${4:cleanSession})", "description": "mqttc:auth(client_id,username,password,cleanSession) - mqtt\u4e09\u5143\u7ec4\u914d\u7f6e\u53cacleanSession\n\u4f20\u5165\u503c\uff1a\nstring \u8bbe\u5907\u8bc6\u522bid,\u5bf9\u4e8e\u540c\u4e00\u4e2amqtt\u670d\u52a1\u5668\u6765\u8bf4, \u901a\u5e38\u8981\u6c42\u552f\u4e00,\u76f8\u540cclient_id\u4f1a\u4e92\u76f8\u8e22\u4e0b\u7ebf\nstring \u8d26\u53f7 \u53ef\u9009\nstring \u5bc6\u7801 \u53ef\u9009\nbool \u6e05\u9664session,\u9ed8\u8ba4true,\u53ef\u9009\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n-- \u65e0\u8d26\u53f7\u5bc6\u7801\u767b\u5f55,\u4ec5clientId\nmqttc:auth(\"123456789\")\n-- \u5e26\u8d26\u53f7\u5bc6\u7801\u767b\u5f55\nmqttc:auth(\"123456789\",\"username\",\"password\")\n-- \u989d\u5916\u914d\u7f6ecleanSession,\u4e0d\u6e05\u9664\nmqttc:auth(\"123456789\",\"username\",\"password\", false)\n-- \u65e0clientId\u6a21\u5f0f, \u670d\u52a1\u5668\u968f\u673a\u751f\u6210id, cleanSession\u4e0d\u53ef\u914d\u7f6e\nmqttc:auth()\n", "prefix": "mqttc:auth"}, "mqttc:keepalive": {"body": "mqttc:keepalive(${1:time})", "description": "mqttc:keepalive(time) - mqtt\u5fc3\u8df3\u8bbe\u7f6e\n\u4f20\u5165\u503c\uff1a\nint \u53ef\u9009 \u5355\u4f4ds \u9ed8\u8ba4240s. \u6700\u514815,\u6700\u9ad8600\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\nmqttc:keepalive(30)\n", "prefix": "mqttc:keepalive"}, "mqttc:on": {"body": "mqttc:on(${1:cb})", "description": "mqttc:on(cb) - \u6ce8\u518cmqtt\u56de\u8c03\n\u4f20\u5165\u503c\uff1a\nfunction cb mqtt\u56de\u8c03,\u53c2\u6570\u5305\u62ecmqtt_client, event, data, payload\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\nmqttc:on(function(mqtt_client, event, data, payload, metas)\n\t-- \u7528\u6237\u81ea\u5b9a\u4e49\u4ee3\u7801\n\tlog.info(\"mqtt\", \"event\", event, mqtt_client, data, payload)\nend)\n--[[\nevent\u53ef\u80fd\u51fa\u73b0\u7684\u503c\u6709\n conack -- \u670d\u52a1\u5668\u9274\u6743\u5b8c\u6210,mqtt\u8fde\u63a5\u5df2\u7ecf\u5efa\u7acb, \u53ef\u4ee5\u8ba2\u9605\u548c\u53d1\u5e03\u6570\u636e\u4e86,\u6ca1\u6709\u9644\u52a0\u6570\u636e\n recv -- \u63a5\u6536\u5230\u6570\u636e,\u7531\u670d\u52a1\u5668\u4e0b\u53d1, data\u4e3atopic\u503c(string), payload\u4e3a\u4e1a\u52a1\u6570\u636e(string).metas\u662f\u5143\u6570\u636e(table), \u4e00\u822c\u4e0d\u5904\u7406. \n -- metas\u5305\u542b\u4ee5\u4e0b\u5185\u5bb9\n\t\t\t -- qos \u53d6\u503c\u8303\u56f40,1,2\n\t\t\t -- retain \u53d6\u503c\u8303\u56f4 0,1\n\t\t\t -- dup \u53d6\u503c\u8303\u56f4 0,1\n sent -- \u53d1\u9001\u5b8c\u6210, qos0\u4f1a\u9a6c\u4e0a\u901a\u77e5, qos1/qos2\u4f1a\u5728\u670d\u52a1\u5668\u5e94\u7b54\u4f1a\u56de\u8c03, data\u4e3a\u6d88\u606fid\n disconnect -- \u670d\u52a1\u5668\u65ad\u5f00\u8fde\u63a5,\u7f51\u7edc\u95ee\u9898\u6216\u670d\u52a1\u5668\u8e22\u4e86\u5ba2\u6237\u7aef,\u4f8b\u5982clientId\u91cd\u590d,\u8d85\u65f6\u672a\u4e0a\u62a5\u4e1a\u52a1\u6570\u636e\n]]\n", "prefix": "mqttc:on"}, "mqttc:connect": {"body": "mqttc:connect()", "description": "mqttc:connect() - \u8fde\u63a5\u670d\u52a1\u5668\n\u8fd4\u56de\u503c\uff1a\nboolean \u53d1\u8d77\u6210\u529f\u8fd4\u56detrue, \u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- \u5f00\u59cb\u5efa\u7acb\u8fde\u63a5\nmqttc:connect()\n-- \u672c\u51fd\u6570\u4ec5\u4ee3\u8868\u53d1\u8d77\u6210\u529f, \u540e\u7eed\u4ecd\u9700\u6839\u636eready\u51fd\u6570\u5224\u65admqtt\u662f\u5426\u8fde\u63a5\u6b63\u5e38\n", "prefix": "mqttc:connect"}, "mqttc:disconnect": {"body": "mqttc:disconnect()", "description": "mqttc:disconnect() - \u65ad\u5f00\u670d\u52a1\u5668\u8fde\u63a5(\u4e0d\u4f1a\u91ca\u653e\u8d44\u6e90)\n\u8fd4\u56de\u503c\uff1a\nboolean \u53d1\u8d77\u6210\u529f\u8fd4\u56detrue, \u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- \u65ad\u5f00\u8fde\u63a5\nmqttc:disconnect()\n", "prefix": "mqttc:disconnect"}, "mqttc:autoreconn": {"body": "mqttc:autoreconn(${1:reconnect},${2:reconnect_time})", "description": "mqttc:autoreconn(reconnect, reconnect_time) - \u81ea\u52a8\u91cd\u8fde\n\u4f20\u5165\u503c\uff1a\nbool \u662f\u5426\u81ea\u52a8\u91cd\u8fde\nint \u81ea\u52a8\u91cd\u8fde\u5468\u671f \u5355\u4f4dms \u9ed8\u8ba43000ms\n\u4f8b\u5b50\uff1a\nmqttc:autoreconn(true)\n", "prefix": "mqttc:autoreconn"}, "mqttc:publish": {"body": "mqttc:publish(${1:topic},${2:data},${3:qos},${4:retain})", "description": "mqttc:publish(topic, data, qos, retain) - \u53d1\u5e03\u6d88\u606f\n\u4f20\u5165\u503c\uff1a\nstring \u4e3b\u9898,\u5fc5\u586b\nstring \u6d88\u606f,\u5fc5\u586b,\u4f46\u957f\u5ea6\u53ef\u4ee5\u662f0\nint \u6d88\u606f\u7ea7\u522b 0/1 \u9ed8\u8ba40\nint \u662f\u5426\u5b58\u6863, 0/1,\u9ed8\u8ba40\n\u8fd4\u56de\u503c\uff1a\nint \u6d88\u606fid, \u5f53qos\u4e3a1\u62162\u65f6\u4f1a\u6709\u6548\u503c. \u82e5\u5e95\u5c42\u8fd4\u56de\u662f\u5426, \u4f1a\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\nmqttc:publish(\"/luatos/123456\", \"123\")\n", "prefix": "mqttc:publish"}, "mqttc:close": {"body": "mqttc:close()", "description": "mqttc:close() - mqtt\u5ba2\u6237\u7aef\u5173\u95ed(\u5173\u95ed\u540e\u8d44\u6e90\u91ca\u653e\u65e0\u6cd5\u518d\u4f7f\u7528)\n\u4f8b\u5b50\uff1a\nmqttc:close()\n", "prefix": "mqttc:close"}, "mqttc:ready": {"body": "mqttc:ready()", "description": "mqttc:ready() - mqtt\u5ba2\u6237\u7aef\u662f\u5426\u5c31\u7eea\n\u8fd4\u56de\u503c\uff1a\nbool \u5ba2\u6237\u7aef\u662f\u5426\u5c31\u7eea\n\u4f8b\u5b50\uff1a\nlocal error = mqttc:ready()\n", "prefix": "mqttc:ready"}, "mqttc:state": {"body": "mqttc:state()", "description": "mqttc:state() - mqtt\u5ba2\u6237\u7aef\u72b6\u6001\n\u8fd4\u56de\u503c\uff1a\nnumber \u5ba2\u6237\u7aef\u72b6\u6001\n\u4f8b\u5b50\uff1a\nlocal state = mqttc:state()\n", "prefix": "mqttc:state"}, "mqttc:will": {"body": "mqttc:will(${1:topic},${2:payload},${3:qos},${4:retain})", "description": "mqttc:will(topic, payload, qos, retain) - \u8bbe\u7f6e\u9057\u5631\u6d88\u606f\n\u4f20\u5165\u503c\uff1a\nstring \u9057\u5631\u6d88\u606f\u7684topic\nstring \u9057\u5631\u6d88\u606f\u7684payload\nstring \u9057\u5631\u6d88\u606f\u7684qos, \u9ed8\u8ba40, \u53ef\u4ee5\u4e0d\u586b\nstring \u9057\u5631\u6d88\u606f\u7684retain, \u9ed8\u8ba40, \u53ef\u4ee5\u4e0d\u586b\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- \u8981\u5728connect\u4e4b\u524d\u8c03\u7528\nmqttc:will(\"/xxx/xxx\", \"xxxxxx\")\n", "prefix": "mqttc:will"}, "nbiot.isReady": {"body": "nbiot.isReady()", "description": "nbiot.isReady() - \u7f51\u7edc\u662f\u5426\u5c31\u7eea\n\u8fd4\u56de\u503c\uff1a\nboolean \u5df2\u8054\u7f51\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- \u5224\u65ad\u662f\u5426\u5df2\u7ecf\u8054\u7f51\nif nbiot.isReady() then \n log.info(\"nbiot\", \"net is ready\")\nend\n", "prefix": "nbiot.isReady"}, "nbiot.imsi": {"body": "nbiot.imsi()", "description": "nbiot.imsi() - \u8bfb\u53d6IMSI\n\u8fd4\u56de\u503c\uff1a\nstring \u8fd4\u56deIMSI\u503c\uff0c\u5982\u679c\u4e0d\u5b58\u5728\u5c31\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\n--\u8bfb\u53d6imsi\nlog.info(\"nbiot\", \"imsi\", nbiot.imsi())\n", "prefix": "nbiot.imsi"}, "nbiot.iccid": {"body": "nbiot.iccid()", "description": "nbiot.iccid() - \u8bfb\u53d6ICCID\n\u8fd4\u56de\u503c\uff1a\nstring \u8fd4\u56deICCID\u503c\uff0c\u5982\u679c\u4e0d\u5b58\u5728\u5c31\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\n-- \u8bfb\u53d6iccid\nlog.info(\"nbiot\", \"iccid\", nbiot.iccid())\n", "prefix": "nbiot.iccid"}, "nbiot.imei": {"body": "nbiot.imei(${1:val})", "description": "nbiot.imei(val) - \u8bfb\u53d6\u6216\u8bbe\u7f6eIMEI\n\u4f20\u5165\u503c\uff1a\nstring \u4f20\u5165\u9700\u8981\u8bbe\u7f6e\u7684imei\u503c\uff0c\u4e0d\u4f20\u5c31\u662f\u8bfb\u53d6\n\u8fd4\u56de\u503c\uff1a\nstring \u8fd4\u56deimei\u503c\uff0c\u5982\u679c\u4e0d\u5b58\u5728\u5c31\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\n-- \u8bfb\u53d6imei\nlog.info(\"nbiot\", \"imei\", nbiot.imei())\n@usage \n-- \u8bbe\u7f6eimei\nlog.info(\"nbiot\", \"imei\", nbiot.imei(\"898989898989899898\"))\n", "prefix": "nbiot.imei"}, "nbiot.rssi": {"body": "nbiot.rssi()", "description": "nbiot.rssi() - \u8bfb\u53d6RSSI\n\u8fd4\u56de\u503c\uff1a\nint \u8fd4\u56derssi\u503c\n\u4f8b\u5b50\uff1a\n-- \u8bfb\u53d6rssi\nlog.info(\"nbiot\", \"rssi\", nbiot.rssi())\n", "prefix": "nbiot.rssi"}, "nbiot.apn": {"body": "nbiot.apn()", "description": "nbiot.apn() - \u8bfb\u53d6APN\n\u8fd4\u56de\u503c\uff1a\nstring \u8fd4\u56deapn\u503c\n\u4f8b\u5b50\uff1a\n-- \u8bfb\u53d6APN\nlog.info(\"nbiot\", \"apn\", nbiot.apn())\n", "prefix": "nbiot.apn"}, "nbiot.userApn": {"body": "nbiot.userApn(${1:apn},${2:Auth_User_Name},${3:Auth_Password},${4:PDN_TYPE})", "description": "nbiot.userApn(apn,Auth_User_Name,Auth_Password,PDN_TYPE) - \u8bfb\u53d6\u8bbe\u7f6e\u7528\u6237APN\n\u4f20\u5165\u503c\uff1a\nreturn \u8bfb\u53d6\u8fd4\u56dePDN_TYPE,Auth_User_Name,Auth_Password\uff0c\u8bbe\u7f6e\u8fd4\u56debool\n\u4f8b\u5b50\uff1a\n-- \u8bfb\u53d6APN\nlog.info(\"nbiot\", \"apn\", nbiot.userApn())\n", "prefix": "nbiot.userApn"}, "nbiot.tac": {"body": "nbiot.tac()", "description": "nbiot.tac() - \u8bfb\u53d6TAC\n\u8fd4\u56de\u503c\uff1a\nint \u8fd4\u56deTAC\u503c\n\u4f8b\u5b50\uff1a\n-- \u8bfb\u53d6TAC\nlog.info(\"nbiot\", \"tac\", nbiot.tac())\n", "prefix": "nbiot.tac"}, "nbiot.tauTime": {"body": "nbiot.tauTime()", "description": "nbiot.tauTime() - \u8bfb\u53d6Tau Time\n\u8fd4\u56de\u503c\uff1a\nint \u8fd4\u56deTau Time\u503c\n\u4f8b\u5b50\uff1a\n-- \u8bfb\u53d6Tau Time\nlog.info(\"nbiot\", \"tau time\", nbiot.tauTime())\n", "prefix": "nbiot.tauTime"}, "nbiot.activeTime": {"body": "nbiot.activeTime()", "description": "nbiot.activeTime() - \u8bfb\u53d6Active Time\n\u8fd4\u56de\u503c\uff1a\nint \u8fd4\u56deActive Time\u503c\n\u4f8b\u5b50\uff1a\n-- \u8bfb\u53d6Active Time\nlog.info(\"nbiot\", \"Active Time\", nbiot.activeTime())\n", "prefix": "nbiot.activeTime"}, "nbiot.cellID": {"body": "nbiot.cellID()", "description": "nbiot.cellID() - \u8bfb\u53d6CellID\n\u8fd4\u56de\u503c\uff1a\nint \u8fd4\u56deCellID\u503c\n\u4f8b\u5b50\uff1a\n-- \u8bfb\u53d6CellID\nlog.info(\"nbiot\", \"CellID\", nbiot.cellID())\n", "prefix": "nbiot.cellID"}, "nbiot.snr": {"body": "nbiot.snr()", "description": "nbiot.snr() - \u8bfb\u53d6SNR\n\u8fd4\u56de\u503c\uff1a\nint \u8fd4\u56deSNR\u503c\n\u4f8b\u5b50\uff1a\n-- \u8bfb\u53d6SNR\nlog.info(\"nbiot\", \"SNR\", nbiot.snr())\n", "prefix": "nbiot.snr"}, "nbiot.csq": {"body": "nbiot.csq()", "description": "nbiot.csq() - \u8bfb\u53d6CSQ, \u5e76\u4e0d\u5b8c\u5168\u7b49\u4ef7\u4e8eGSM\u7684CSQ\n\u8fd4\u56de\u503c\uff1a\nint \u8fd4\u56decsq\u503c\n\u4f8b\u5b50\uff1a\n-- \u8bfb\u53d6csq\nlog.info(\"nbiot\", \"csq\", nbiot.csq())\n", "prefix": "nbiot.csq"}, "nbiot.ceLevel": {"body": "nbiot.ceLevel()", "description": "nbiot.ceLevel() - \u8bfb\u53d6CE Level\n\u8fd4\u56de\u503c\uff1a\nint \u8fd4\u56deCE Level\u503c\n\u4f8b\u5b50\uff1a\n-- \u8bfb\u53d6CE Level\nlog.info(\"nbiot\", \"CE Level\", nbiot.ceLevel())\n", "prefix": "nbiot.ceLevel"}, "nbiot.sn": {"body": "nbiot.sn(${1:val})", "description": "nbiot.sn(val) - \u8bfb\u53d6\u6216\u8bbe\u7f6eSN,\u666e\u901a\u5237\u673a(\u5237\u5e95\u5c42/\u5237\u811a\u672c)\u4e0d\u4f1a\u6e05\u9664\n\u4f20\u5165\u503c\uff1a\nstring \u9700\u8981\u8bbe\u7f6e\u7684SN\u503c(\u53ea\u80fd\u662f\u53ef\u89c1\u5b57\u7b26),\u4e0d\u4f20\u503c\u5219\u4e3a\u8bfb\u53d6\n\u8fd4\u56de\u503c\uff1a\nstring \u8fd4\u56deSN\u503c\n\u4f8b\u5b50\uff1a\n-- \u8bfb\u53d6SN\nlog.info(\"nbiot\", \"SN\", nbiot.sn())\n@usage \n-- \u8bbe\u7f6eSN\nlog.info(\"nbiot\", \"SN\", nbiot.sn(\"My Custom SN\"))\n", "prefix": "nbiot.sn"}, "nbiot.updateCellInfo": {"body": "nbiot.updateCellInfo()", "description": "nbiot.updateCellInfo() - \u5237\u65b0\u7f51\u7edc\u4fe1\u606f,\u53ef\u901a\u8fc7\u5b9a\u65f6\u4efb\u52a1\u5237\u65b0,\u6700\u5c0f\u95f4\u96945\u79d2\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u542f\u52a8\u5237\u65b0\u7ebf\u7a0b\u8fd4\u56detrue\uff0c\u5426\u5219\u8fd4\u56defalse.\n\u4f8b\u5b50\uff1a\n-- \u5237\u65b0\u7f51\u7edc\u4fe1\u606f\nnbiot.updateCellInfo()\nsys.waitUntil(\"CELL_INFO_IND\", 3000)\nlog.info(\"nbiot\", \"cell\", json.encode(nbiot.getCellInfo()))\n", "prefix": "nbiot.updateCellInfo"}, "nbiot.mcc": {"body": "nbiot.mcc()", "description": "nbiot.mcc() - \u8bfb\u53d6MCC\u503c,\u6ce8\u518c\u7f51\u7edc\u540e\u53ef\u7528,\u901a\u8fc7nbiot.updateCellInfo()\u5237\u65b0\n\u8fd4\u56de\u503c\uff1a\nint \u8fd0\u8425\u5546MCC\u503c\n\u4f8b\u5b50\uff1a\n-- \u8bfb\u53d6MCC\nlog.info(\"nbiot\", \"mcc\", nbiot.mcc())\n", "prefix": "nbiot.mcc"}, "nbiot.mnc": {"body": "nbiot.mnc()", "description": "nbiot.mnc() - \u8bfb\u53d6MNC\u503c,\u6ce8\u518c\u7f51\u7edc\u540e\u53ef\u7528,\u901a\u8fc7nbiot.updateCellInfo()\u5237\u65b0\n\u8fd4\u56de\u503c\uff1a\nint \u8fd0\u8425\u5546MNC\u503c\n\u4f8b\u5b50\uff1a\n-- \u8bfb\u53d6MNC\nlog.info(\"nbiot\", \"mnc\", nbiot.mnc())\n", "prefix": "nbiot.mnc"}, "nbiot.earfcn": {"body": "nbiot.earfcn()", "description": "nbiot.earfcn() - \u8bfb\u53d6earfcn\u503c,\u6ce8\u518c\u7f51\u7edc\u540e\u53ef\u7528,\u901a\u8fc7nbiot.updateCellInfo()\u5237\u65b0\n\u8fd4\u56de\u503c\uff1a\nint \u8fd0\u8425\u5546earfcn\u503c\n\u4f8b\u5b50\uff1a\n-- \u8bfb\u53d6earfcn\nlog.info(\"nbiot\", \"earfcn\", nbiot.earfcn())\n", "prefix": "nbiot.earfcn"}, "nbiot.phyCellId": {"body": "nbiot.phyCellId()", "description": "nbiot.phyCellId() - \u8bfb\u53d6phyCellId\u503c,\u6ce8\u518c\u7f51\u7edc\u540e\u53ef\u7528,\u901a\u8fc7nbiot.updateCellInfo()\u5237\u65b0\n\u8fd4\u56de\u503c\uff1a\nint \u8fd0\u8425\u5546phyCellId\u503c\n\u4f8b\u5b50\uff1a\n-- \u8bfb\u53d6phyCellId\nlog.info(\"nbiot\", \"phyCellId\", nbiot.phyCellId())\n", "prefix": "nbiot.phyCellId"}, "nbiot.rsrq": {"body": "nbiot.rsrq()", "description": "nbiot.rsrq() - \u8bfb\u53d6rsrq\u503c,\u6ce8\u518c\u7f51\u7edc\u540e\u53ef\u7528,\u901a\u8fc7nbiot.updateCellInfo()\u5237\u65b0\n\u8fd4\u56de\u503c\uff1a\nint \u8fd0\u8425\u5546ersrq\u503c\n\u4f8b\u5b50\uff1a\n-- \u8bfb\u53d6rsrq\nlog.info(\"nbiot\", \"rsrq\", nbiot.rsrq())\n", "prefix": "nbiot.rsrq"}, "nbiot.rsrp": {"body": "nbiot.rsrp()", "description": "nbiot.rsrp() - \u8bfb\u53d6rsrp\u503c,\u6ce8\u518c\u7f51\u7edc\u540e\u53ef\u7528,\u901a\u8fc7nbiot.updateCellInfo()\u5237\u65b0\n\u8fd4\u56de\u503c\uff1a\nint \u8fd0\u8425\u5546rsrp\u503c\n\u4f8b\u5b50\uff1a\n-- \u8bfb\u53d6rsrp\nlog.info(\"nbiot\", \"rsrp\", nbiot.rsrp())\n", "prefix": "nbiot.rsrp"}, "nbiot.powerLevel": {"body": "nbiot.powerLevel()", "description": "nbiot.powerLevel() - \u8bfb\u53d6PowerLevel\u503c,\u6ce8\u518c\u7f51\u7edc\u540e\u53ef\u7528,\u901a\u8fc7nbiot.updateCellInfo()\u5237\u65b0\n\u8fd4\u56de\u503c\uff1a\nint \u8fd0\u8425\u5546PowerLevel\u503c\n\u4f8b\u5b50\uff1a\n-- \u8bfb\u53d6PowerLevel\nlog.info(\"nbiot\", \"PowerLevel\", nbiot.powerLevel())\n", "prefix": "nbiot.powerLevel"}, "nbiot.getCellInfo": {"body": "nbiot.getCellInfo()", "description": "nbiot.getCellInfo() - \u83b7\u53d6\u7f51\u7edc\u57fa\u7ad9\u8be6\u60c5,\u6ce8\u518c\u7f51\u7edc\u540e\u53ef\u7528,\u901a\u8fc7nbiot.updateCellInfo()\u5237\u65b0\n\u8fd4\u56de\u503c\uff1a\ntable \u7f51\u7edc\u57fa\u7ad9\u8be6\u60c5\n\u4f8b\u5b50\uff1a\n-- \u8bfb\u53d6\u57fa\u7ad9\u4fe1\u606f\nlog.info(\"nbiot\", \"cell info\", json.encode(nbiot.getCellInfo()))\n", "prefix": "nbiot.getCellInfo"}, "nbiot.setCFUN": {"body": "nbiot.setCFUN(${1:val})", "description": "nbiot.setCFUN(val) - \u8fdb\u5165\u6216\u9000\u51fa\u98de\u884c\u6a21\u5f0f\n\u4f20\u5165\u503c\uff1a\nint 0\u98de\u884c\u6a21\u5f0f,1\u666e\u901a\u8054\u7f51\u6a21\u5f0f\n\u8fd4\u56de\u503c\uff1a\nboolean \u8bbe\u7f6e\u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- \u8fdb\u5165\u98de\u884c\u6a21\u5f0f\nnbiot.setCFUN(0)\n", "prefix": "nbiot.setCFUN"}, "nbiot.setBootCFUN": {"body": "nbiot.setBootCFUN(${1:val})", "description": "nbiot.setBootCFUN(val) - \u8bbe\u7f6e\u8bbe\u5907\u4e0a\u7535\u542f\u52a8\u65f6\uff0c\u662f\u5426\u8fdb\u5165\u98de\u884c\u6a21\u5f0f\n\u4f20\u5165\u503c\uff1a\nint 0\u98de\u884c\u6a21\u5f0f,1\u666e\u901a\u8054\u7f51\u6a21\u5f0f\n\u8fd4\u56de\u503c\uff1a\nboolean \u8bbe\u7f6e\u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- \u8bbe\u7f6e\u4e3a\u4e0a\u7535\u8fdb\u5165\u98de\u884c\u6a21\u5f0f\nnbiot.setBootCFUN(0)\n", "prefix": "nbiot.setBootCFUN"}, "nbiot.getBootCFUN": {"body": "nbiot.getBootCFUN(${1:val})", "description": "nbiot.getBootCFUN(val) - \u83b7\u53d6\u8bbe\u5907\u4e0a\u7535\u542f\u52a8\u65f6\uff0c\u662f\u5426\u8fdb\u5165\u98de\u884c\u6a21\u5f0f\n\u8fd4\u56de\u503c\uff1a\nint \u5f00\u673a\u5c31\u8fdb\u5165\u98de\u884c\u6a21\u5f0f\u8fd4\u56de0,\u8fdb\u5165\u666e\u901a\u6a21\u5f0f\u8fd4\u56de1\n\u4f8b\u5b50\uff1a\n-- \u83b7\u53d6\u4e0a\u7535\u6a21\u5f0f\nnbiot.getBootCFUN()\n", "prefix": "nbiot.getBootCFUN"}, "nbiot.setPSM": {"body": "nbiot.setPSM(${1:psmMode},${2:tauTimeS},${3:activeTimeS})", "description": "nbiot.setPSM(psmMode,tauTimeS,activeTimeS) - \u8bbe\u7f6ePSM\u53c2\u6570\n\u4f20\u5165\u503c\uff1a\nint psm\u6a21\u5f0f, CMI_MM_DISABLE_PSM(0)/CMI_MM_ENABLE_PSM(1)/CMI_MM_DISCARD_PSM(2)\nint TAU time(unit: S)---related to T3412\nint active time(unit: S)---related to T3324\n\u8fd4\u56de\u503c\uff1a\nboolean \u8bbe\u7f6e\u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- \u8bbe\u7f6ePSM\nnbiot.setPSM(1, 60, 120)\n", "prefix": "nbiot.setPSM"}, "nbiot.setEDRX": {"body": "nbiot.setEDRX(${1:modeVal},${2:actType},${3:reqEdrxValueMs})", "description": "nbiot.setEDRX(modeVal,actType,reqEdrxValueMs) - \u8bbe\u7f6eEDRX\u53c2\u6570\n\u4f20\u5165\u503c\uff1a\nint \u6a21\u5f0f,CMI_MM_DISABLE_EDRX = 0/CMI_MM_ENABLE_EDRX_AND_DISABLE_IND = 1/CMI_MM_ENABLE_EDRX_AND_ENABLE_IND = 2/CMI_MM_DISCARD_EDRX = 3\nint \u53ef\u9009\u503c, 0\u6216\u80055. CMI_MM_EDRX_NO_ACT_OR_NOT_USE_EDRX = 0/CMI_MM_EDRX_NB_IOT = 5\nint edrx\u503c,4\u4e2a\u5b57\u8282\u957f\u5ea6\u4e8c\u8fdb\u5236\u5b57\u7b26\u4e32\n\u8fd4\u56de\u503c\uff1a\nboolean \u8bbe\u7f6e\u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- \u8bbe\u7f6eEDRX\nnbiot.setPSM(1, 5, \"0101\")\n", "prefix": "nbiot.setEDRX"}, "nbiot.getPSM": {"body": "nbiot.getPSM()", "description": "nbiot.getPSM() - \u83b7\u53d6PSM\u53c2\u6570\n\u8fd4\u56de\u503c\uff1a\nint psm\u6a21\u5f0f, CMI_MM_DISABLE_PSM(0)/CMI_MM_ENABLE_PSM(1)/CMI_MM_DISCARD_PSM(2)\nint TAU time(unit: S)---related to T3412\nint active time(unit: S)---related to T3324\n\u4f8b\u5b50\uff1a\n-- \u83b7\u53d6PSM\nlog.info(\"psm\", nbiot.getPSM())\n", "prefix": "nbiot.getPSM"}, "nbiot.getEDRX": {"body": "nbiot.getEDRX()", "description": "nbiot.getEDRX() - \u83b7\u53d6EDRX\u53c2\u6570\n\u8fd4\u56de\u503c\uff1a\nint \u6a21\u5f0f,CMI_MM_DISABLE_EDRX = 0/CMI_MM_ENABLE_EDRX_AND_DISABLE_IND = 1/CMI_MM_ENABLE_EDRX_AND_ENABLE_IND = 2/CMI_MM_DISCARD_EDRX = 3\nint \u53ef\u9009\u503c, 0\u6216\u80055. CMI_MM_EDRX_NO_ACT_OR_NOT_USE_EDRX = 0/CMI_MM_EDRX_NB_IOT = 5\nint edrx\u503c,\u5355\u4f4d\u6beb\u79d2\n\u4f8b\u5b50\uff1a\n-- \u83b7\u53d6EDRX\nlog.info(\"edrx\", nbiot.getEDRX())\n", "prefix": "nbiot.getEDRX"}, "nbiot.setTZ": {"body": "nbiot.setTZ(${1:tz},${2:auto})", "description": "nbiot.setTZ(tz, auto) - \u8bbe\u7f6e\u65f6\u533a\u53c2\u6570\n\u4f20\u5165\u503c\uff1a\nint \u65f6\u533a\u53c2\u6570,\u53ef\u9009, \u5355\u4f4d\u662f1/4\u65f6\u533a, \u9ed8\u8ba4\u4e3a \u4e1c8\u533a, \u5bf9\u5e94\u7684\u503c\u4e3a32\nboolean \u662f\u5426\u81ea\u52a8\u8bbe\u7f6e\u65f6\u533a,\u53ef\u9009, \u9ed8\u8ba4\u4e3atrue\n\u4f8b\u5b50\uff1a\n-- \u8bbe\u7f6e\u4e3a\u4e1c8\u533a,\u7981\u7528\u81ea\u52a8\u66f4\u65b0\u65f6\u533a\u529f\u80fd\nnbiot.setTZ(32, false)\n@usage \n-- \u542f\u7528\u81ea\u52a8\u66f4\u65b0\u65f6\u533a\u529f\u80fd\nnbiot.setTZ(nil, true)\n", "prefix": "nbiot.setTZ"}, "nbiot.getTZ": {"body": "nbiot.getTZ()", "description": "nbiot.getTZ() - \u83b7\u53d6\u65f6\u533a\u53c2\u6570\n\u8fd4\u56de\u503c\uff1a\nint \u65f6\u533a\u53c2\u6570,\u5355\u4f4d1/4\u65f6\u533a, \u9ed8\u8ba4\u4e1c8\u533a, \u503c\u4e3a32\nboolean \u81ea\u52a8\u8bbe\u7f6e\u65f6\u533a,\u9ed8\u8ba4\u4e3atrue\n\u4f8b\u5b50\uff1a\n-- \u83b7\u53d6\u65f6\u533a\u53c2\u6570\nlog.info(\"timezone\", nbiot.getTZ())\n", "prefix": "nbiot.getTZ"}, "nbiot.setBands": {"body": "nbiot.setBands(${1:modes})", "description": "nbiot.setBands(modes) - \u8bbe\u7f6eBand\u6a21\u5f0f(\u6682\u4e0d\u53ef\u7528)\n\u4f20\u5165\u503c\uff1a\nany \u6a21\u5f0f,\u9700\u8981\u662f\u4e00\u4e2atable\u5f62\u5f0f\u7684\u6570\u7ec4,\u5fc5\u987b\u4f20\u5165\n\u8fd4\u56de\u503c\uff1a\nboolean \u8bbe\u7f6e\u7ed3\u679c\n\u4f8b\u5b50\uff1a\n-- \u4ec5\u641c\u7d22band 8\nlog.info(\"band\", nbiot.setBands({8}))\n", "prefix": "nbiot.setBands"}, "nbiot.getBands": {"body": "nbiot.getBands()", "description": "nbiot.getBands() - \u83b7\u53d6\u5f53\u524d\u4f7f\u7528\u7684Band\u6a21\u5f0f(\u6682\u4e0d\u53ef\u7528)\n\u8fd4\u56de\u503c\uff1a\ntable \u6240\u8bbe\u7f6e\u7684band\u7684\u6570\u7ec4\n\u4f8b\u5b50\uff1a\n-- \u4ec5\u641c\u7d22band 8\nlog.info(\"band\", json.encode(nbiot.getBands()))\n", "prefix": "nbiot.getBands"}, "nbiot.setEDRXPtw": {"body": "nbiot.setEDRXPtw(${1:val})", "description": "nbiot.setEDRXPtw(val) - \u8bbe\u7f6eEDRX PTW\u53c2\u6570\n\u4f20\u5165\u503c\uff1a\nint \u9700\u8981\u8bbe\u7f6e\u7684\u503c\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- \u8bbe\u7f6ePTW\u503c\u4e3aX\nnbiot.setEDRXPtw(val)\n-- \u53ef\u9009\u503c\nreqPtwValue:\nNB-S1 mode\nThe field contains the PTW value in seconds for NB-S1 mode.The PTW value is used\nas specified in 3GPP TS 23.682 [133a].The PTW value is derived as follows:\nbit\n Paging Time Window length\n0 0 0 0 2,56 seconds\n0 0 0 1 5,12 seconds\n0 0 1 0 7,68 seconds\n0 0 1 1 10,24 seconds\n0 1 0 0 12,8 seconds\n0 1 0 1 15,36 seconds\n0 1 1 0 17,92 seconds\n0 1 1 1 20,48 seconds\n1 0 0 0 23,04 seconds\n1 0 0 1 25,6 seconds\n1 0 1 0 28,16 seconds\n1 0 1 1 30,72 seconds\n1 1 0 0 33,28 seconds\n1 1 0 1 35,84 seconds\n1 1 1 0 38,4 seconds\n1 1 1 1 40,96 seconds\n \n", "prefix": "nbiot.setEDRXPtw"}, "nbiot.getEDRXPtw": {"body": "nbiot.getEDRXPtw()", "description": "nbiot.getEDRXPtw() - \u83b7\u53d6EDRX PTW\u53c2\u6570\n\u8fd4\u56de\u503c\uff1a\nint ptw\u503c\n\u4f8b\u5b50\uff1a\n-- \u6253\u5370PTW\u503c\nlog.info(\"ptw\", nbiot.getEDRXPtw())\n", "prefix": "nbiot.getEDRXPtw"}, "nbiot.ticks": {"body": "nbiot.ticks()", "description": "nbiot.ticks() - \u83b7\u53d6tick\u8ba1\u6570\n\u8fd4\u56de\u503c\uff1a\nint tick\u8ba1\u6570\n\u4f8b\u5b50\uff1a\n-- \u6253\u5370PTW\u503c\nlog.info(\"tick\", nbiot.ticks())\n", "prefix": "nbiot.ticks"}, "nes.init": {"body": "nes.init(${1:file_path})", "description": "nes.init(file_path) - nes\u6a21\u62df\u5668\u521d\u59cb\u5316\n\u4f20\u5165\u503c\uff1a\nstring file_path \u6587\u4ef6\u8def\u5f84\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\nnes.init(\"/luadb/super_mario.nes\")\n", "prefix": "nes.init"}, "nes.key": {"body": "nes.key(${1:key},${2:val})", "description": "nes.key(key,val) - nes\u6a21\u62df\u5668\u521d\u59cb\u5316\n\u4f20\u5165\u503c\uff1a\nnumber key \u6309\u952e\nnumber val \u72b6\u6001 1\u6309\u4e0b 0\u62ac\u8d77\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\nnes.init(\"/luadb/super_mario.nes\")\n", "prefix": "nes.key"}, "nimble.init": {"body": "nimble.init(${1:name})", "description": "nimble.init(name) - \u521d\u59cb\u5316BLE\u4e0a\u4e0b\u6587,\u5f00\u59cb\u5bf9\u5916\u5e7f\u64ad/\u626b\u63cf\n\u4f20\u5165\u503c\uff1a\nstring \u84dd\u7259\u8bbe\u5907\u540d\u79f0,\u53ef\u9009,\u5efa\u8bae\u586b\u5199\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u4e0e\u5426\n\u4f8b\u5b50\uff1a\n-- \u53c2\u8003 demo/nimble\n-- \u672c\u51fd\u6570\u5bf9\u6240\u6709\u6a21\u5f0f\u90fd\u9002\u7528\n", "prefix": "nimble.init"}, "nimble.deinit": {"body": "nimble.deinit()", "description": "nimble.deinit() - \u5173\u95edBLE\u4e0a\u4e0b\u6587\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u4e0e\u5426\n\u4f8b\u5b50\uff1a\n-- \u4ec5\u90e8\u5206\u8bbe\u5907\u652f\u6301,\u5f53\u524d\u53ef\u80fd\u90fd\u4e0d\u652f\u6301\n-- \u672c\u51fd\u6570\u5bf9\u6240\u6709\u6a21\u5f0f\u90fd\u9002\u7528\n", "prefix": "nimble.deinit"}, "nimble.mode": {"body": "nimble.mode(${1:tp})", "description": "nimble.mode(tp) - \u8bbe\u7f6e\u6a21\u5f0f\n\u4f20\u5165\u503c\uff1a\nint \u6a21\u5f0f, \u9ed8\u8ba4server/peripheral, \u53ef\u9009 client/central\u6a21\u5f0f nimble.MODE_BLE_CLIENT\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u4e0e\u5426\n\u4f8b\u5b50\uff1a\n-- \u53c2\u8003 demo/nimble\n-- \u5fc5\u987b\u5728nimble.init()\u4e4b\u524d\u8c03\u7528\n-- nimble.mode(nimble.MODE_BLE_CLIENT) -- \u7b80\u79f0\u4ece\u673a\u6a21\u5f0f,\u672a\u5b8c\u5584\n", "prefix": "nimble.mode"}, "nimble.connok": {"body": "nimble.connok()", "description": "nimble.connok() - \u662f\u5426\u5df2\u7ecf\u5efa\u7acb\u8fde\u63a5\n\u8fd4\u56de\u503c\uff1a\nbool \u5df2\u8fde\u63a5\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\nlog.info(\"ble\", \"connected?\", nimble.connok())\n-- \u4ece\u673aperipheral\u6a21\u5f0f, \u8bbe\u5907\u662f\u5426\u5df2\u7ecf\u88ab\u8fde\u63a5\n-- \u4e3b\u673acentral\u6a21\u5f0f, \u662f\u5426\u5df2\u7ecf\u8fde\u63a5\u5230\u8bbe\u5907\n-- ibeacon\u6a21\u5f0f, \u65e0\u610f\u4e49\n", "prefix": "nimble.connok"}, "nimble.send_msg": {"body": "nimble.send_msg(${1:conn},${2:handle},${3:data})", "description": "nimble.send_msg(conn, handle, data) - \u53d1\u9001\u4fe1\u606f\n\u4f20\u5165\u503c\uff1a\nint \u8fde\u63a5id, \u5f53\u524d\u56fa\u5b9a\u586b1\nint \u5904\u7406id, \u5f53\u524d\u56fa\u5b9a\u586b0\nstring \u6570\u636e\u5b57\u7b26\u4e32,\u53ef\u5305\u542b\u4e0d\u53ef\u89c1\u5b57\u7b26\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u4e0e\u5426\n\u4f8b\u5b50\uff1a\n-- \u53c2\u8003 demo/nimble\n-- \u672c\u51fd\u6570\u5bf9peripheral/\u4ece\u673a\u6a21\u5f0f\u9002\u7528\n", "prefix": "nimble.send_msg"}, "nimble.setUUID": {"body": "nimble.setUUID(${1:tp},${2:addr})", "description": "nimble.setUUID(tp, addr) - \u8bbe\u7f6eserver/peripheral\u7684UUID\n\u4f20\u5165\u503c\uff1a\nstring \u914d\u7f6e\u5b57\u7b26\u4e32,\u540e\u9762\u7684\u793a\u4f8b\u6709\u8bf4\u660e\nstring \u5730\u5740\u5b57\u7b26\u4e32\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u4e0e\u5426\n\u4f8b\u5b50\uff1a\n-- \u53c2\u8003 demo/nimble, 2023-02-25\u4e4b\u540e\u7f16\u8bd1\u7684\u56fa\u4ef6\u652f\u6301\u672cAPI\n-- \u5fc5\u987b\u5728nimble.init()\u4e4b\u524d\u8c03\u7528\n-- \u672c\u51fd\u6570\u5bf9peripheral/\u4ece\u673a\u6a21\u5f0f\u9002\u7528\n\n-- \u8bbe\u7f6eSERVER/Peripheral\u6a21\u5f0f\u4e0b\u7684UUID, \u652f\u6301\u8bbe\u7f6e3\u4e2a\n-- \u5730\u5740\u652f\u6301 2/4/16\u5b57\u8282, \u9700\u8981\u4e8c\u8fdb\u5236\u6570\u636e\n-- 2\u5b57\u8282\u5730\u5740\u793a\u4f8b: AABB, \u5199 string.fromHex(\"AABB\") ,\u6216\u8005 string.char(0xAA, 0xBB)\n-- 4\u5b57\u8282\u5730\u5740\u793a\u4f8b: AABBCCDD , \u5199 string.fromHex(\"AABBCCDD\") ,\u6216\u8005 string.char(0xAA, 0xBB, 0xCC, 0xDD)\nnimble.setUUID(\"srv\", string.fromHex(\"380D\")) -- \u670d\u52a1\u4e3bUUID , \u9ed8\u8ba4\u503c 180D\nnimble.setUUID(\"write\", string.fromHex(\"FF31\")) -- \u5f80\u672c\u8bbe\u5907\u5199\u6570\u636e\u7684UUID, \u9ed8\u8ba4\u503c FFF1\nnimble.setUUID(\"indicate\", string.fromHex(\"FF32\")) -- \u8ba2\u9605\u672c\u8bbe\u5907\u7684\u6570\u636e\u7684UUID,\u9ed8\u8ba4\u503c FFF2\n", "prefix": "nimble.setUUID"}, "nimble.mac": {"body": "nimble.mac()", "description": "nimble.mac() - \u83b7\u53d6\u84dd\u7259MAC\n\u8fd4\u56de\u503c\uff1a\nstring \u84dd\u7259MAC\u5730\u5740,6\u5b57\u8282\n\u4f8b\u5b50\uff1a\n-- \u53c2\u8003 demo/nimble, 2023-02-25\u4e4b\u540e\u7f16\u8bd1\u7684\u56fa\u4ef6\u652f\u6301\u672cAPI\n-- \u672c\u51fd\u6570\u5bf9\u6240\u6709\u6a21\u5f0f\u90fd\u9002\u7528\nlocal mac = nimble.mac()\nlog.info(\"ble\", \"mac\", mac and mac:toHex() or \"Unknwn\")\n", "prefix": "nimble.mac"}, "nimble.sendNotify": {"body": "nimble.sendNotify(${1:srv_uuid},${2:chr_uuid},${3:data})", "description": "nimble.sendNotify(srv_uuid, chr_uuid, data) - \u53d1\u9001notify\n\u4f20\u5165\u503c\uff1a\nstring \u670d\u52a1\u7684UUID,\u9884\u7559,\u5f53\u524d\u586bnil\u5c31\u884c\nstring \u7279\u5f81\u7684UUID,\u5fc5\u987b\u586b\u5199\nstring \u6570\u636e, \u5fc5\u586b, \u8ddfMTU\u5927\u5c0f\u76f8\u5173, \u4e00\u822c\u4e0d\u8981\u8d85\u8fc7256\u5b57\u8282\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- \u672cAPI\u4e8e 2023.07.31 \u65b0\u589e\n-- \u672c\u51fd\u6570\u5bf9peripheral\u6a21\u5f0f\u9002\u7528\nnimble.sendNotify(nil, string.fromHex(\"FF01\"), string.char(0x31, 0x32, 0x33, 0x34, 0x35))\n", "prefix": "nimble.sendNotify"}, "nimble.sendIndicate": {"body": "nimble.sendIndicate(${1:srv_uuid},${2:chr_uuid},${3:data})", "description": "nimble.sendIndicate(srv_uuid, chr_uuid, data) - \u53d1\u9001indicate\n\u4f20\u5165\u503c\uff1a\nstring \u670d\u52a1\u7684UUID,\u9884\u7559,\u5f53\u524d\u586bnil\u5c31\u884c\nstring \u7279\u5f81\u7684UUID,\u5fc5\u987b\u586b\u5199\nstring \u6570\u636e, \u5fc5\u586b, \u8ddfMTU\u5927\u5c0f\u76f8\u5173, \u4e00\u822c\u4e0d\u8981\u8d85\u8fc7256\u5b57\u8282\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- \u672cAPI\u4e8e 2023.07.31 \u65b0\u589e\n-- \u672c\u51fd\u6570\u5bf9peripheral\u6a21\u5f0f\u9002\u7528\nnimble.sendIndicate(nil, string.fromHex(\"FF01\"), string.char(0x31, 0x32, 0x33, 0x34, 0x35))\n", "prefix": "nimble.sendIndicate"}, "nimble.advParams": {"body": "nimble.advParams(${1:conn_mode},${2:disc_mode},${3:itvl_min},${4:itvl_max},${5:channel_map},${6:filter_policy},${7:high_duty_cycle})", "description": "nimble.advParams(conn_mode, disc_mode, itvl_min, itvl_max, channel_map, filter_policy, high_duty_cycle) - \u8bbe\u7f6e\u5e7f\u64ad\u53c2\u6570\n\u4f20\u5165\u503c\uff1a\nint \u5e7f\u64ad\u6a21\u5f0f, 0 - \u4e0d\u53ef\u8fde\u63a5, 1 - \u5b9a\u5411\u8fde\u63a5, 2 - \u672a\u5b9a\u5411\u8fde\u63a5, \u9ed8\u8ba40\nint \u53d1\u73b0\u6a21\u5f0f, 0 - \u4e0d\u53ef\u53d1\u73b0, 1 - \u9650\u5236\u53d1\u73b0, 3 - \u901a\u7528\u53d1\u73b0, \u9ed8\u8ba40\nint \u6700\u5c0f\u5e7f\u64ad\u95f4\u9694, 0 - \u4f7f\u7528\u9ed8\u8ba4\u503c, \u8303\u56f4 1 - 65535, \u5355\u4f4d0.625ms, \u9ed8\u8ba40\nint \u6700\u5927\u5e7f\u64ad\u95f4\u9694, 0 - \u4f7f\u7528\u9ed8\u8ba4\u503c, \u8303\u56f4 1 - 65535, \u5355\u4f4d0.625ms, \u9ed8\u8ba40\nint \u5e7f\u64ad\u901a\u9053, \u9ed8\u8ba40, \u4e00\u822c\u4e0d\u9700\u8981\u8bbe\u7f6e\nint \u8fc7\u6ee4\u89c4\u5219, \u9ed8\u8ba40, \u4e00\u822c\u4e0d\u9700\u8981\u8bbe\u7f6e\nint \u5f53\u5e7f\u64ad\u6a21\u5f0f\u4e3a\"\u5b9a\u5411\u8fde\u63a5\"\u65f6,\u662f\u5426\u4f7f\u7528\u9ad8\u5360\u7a7a\u6bd4\u6a21\u5f0f, \u9ed8\u8ba40, \u53ef\u90091\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n-- \u5f53\u524d\u4ec5ibeacon\u6a21\u5f0f/peripheral/\u4ece\u673a\u53ef\u4f7f\u7528\n-- \u4f8b\u5982\u8bbe\u7f6e \u4e0d\u53ef\u8fde\u63a5 + \u9650\u5236\u53d1\u73b0\n-- \u9700\u8981\u5728nimble.init\u4e4b\u524d\u8bbe\u7f6e\u597d\nnimble.advParams(0, 1)\n-- \u6ce8\u610fperipheral\u6a21\u5f0f\u4e0b\u81ea\u52a8\u914d\u7f6e conn_mode \u548c disc_mode\n", "prefix": "nimble.advParams"}, "nimble.setChr": {"body": "nimble.setChr(${1:index},${2:uuid},${3:flags})", "description": "nimble.setChr(index, uuid, flags) - \u8bbe\u7f6echr\u7684\u7279\u5f81\n\u4f20\u5165\u503c\uff1a\nint chr\u7684\u7d22\u5f15, \u9ed8\u8ba40-3\nint chr\u7684UUID, \u53ef\u4ee5\u662f2/4/16\u5b57\u8282\nint chr\u7684FLAGS, \u8bf7\u67e5\u9605\u5e38\u91cf\u8868\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n-- \u4ec5peripheral/\u4ece\u673a\u53ef\u4f7f\u7528\nnimble.setChr(0, string.fromHex(\"FF01\"), nimble.CHR_F_WRITE_NO_RSP | nimble.CHR_F_NOTIFY)\nnimble.setChr(1, string.fromHex(\"FF02\"), nimble.CHR_F_READ | nimble.CHR_F_NOTIFY)\nnimble.setChr(2, string.fromHex(\"FF03\"), nimble.CHR_F_WRITE_NO_RSP)\n-- \u53ef\u67e5\u9605 demo/nimble/kt6368a\n", "prefix": "nimble.setChr"}, "nimble.config": {"body": "nimble.config(${1:id},${2:value})", "description": "nimble.config(id, value) - \u8bbe\u7f6echr\u7684\u7279\u5f81\n\u4f20\u5165\u503c\uff1a\nint \u914d\u7f6e\u7684id,\u8bf7\u67e5\u9605\u5e38\u91cf\u8868\nany \u6839\u636e\u914d\u7f6e\u7684\u4e0d\u540c, \u6709\u4e0d\u540c\u7684\u53ef\u9009\u503c\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n-- \u672c\u51fd\u6570\u5728\u4efb\u610f\u6a21\u5f0f\u53ef\u7528\n-- \u672cAPI\u4e8e 2023.07.31 \u65b0\u589e\n-- \u4f8b\u5982\u8bbe\u7f6e\u5730\u5740\u8f6c\u6362\u7684\u5927\u5c0f\u7aef, \u9ed8\u8ba4\u662f0, \u517c\u5bb9\u8001\u7684\u4ee3\u7801\n-- \u8bbe\u7f6e\u62101, \u670d\u52a1UUID\u548cchr\u7684UUID\u66f4\u76f4\u89c2\nnimble.config(nimble.CFG_ADDR_ORDER, 1)\n", "prefix": "nimble.config"}, "nimble.ibeacon": {"body": "nimble.ibeacon(${1:data},${2:major},${3:minor},${4:measured_power})", "description": "nimble.ibeacon(data, major, minor, measured_power) - \u914d\u7f6eiBeacon\u7684\u53c2\u6570,\u4ec5iBeacon\u6a21\u5f0f\u53ef\u7528\n\u4f20\u5165\u503c\uff1a\nstring \u6570\u636e, \u5fc5\u987b\u662f16\u5b57\u8282\nint \u4e3b\u7248\u672c\u53f7,\u9ed8\u8ba42, \u53ef\u9009, \u8303\u56f4 0 ~ 65536\nint \u6b21\u7248\u672c\u53f7,\u9ed8\u8ba410,\u53ef\u9009, \u8303\u56f4 0 ~ 65536\nint \u540d\u4e49\u529f\u7387, \u9ed8\u8ba40, \u8303\u56f4 -126 \u5230 20 \n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- \u53c2\u8003 demo/nimble, 2023-02-25\u4e4b\u540e\u7f16\u8bd1\u7684\u56fa\u4ef6\u652f\u6301\u672cAPI\n-- \u672c\u51fd\u6570\u5bf9ibeacon\u6a21\u5f0f\u9002\u7528\nnimble.ibeacon(data, 2, 10, 0)\nnimble.init()\n", "prefix": "nimble.ibeacon"}, "nimble.advData": {"body": "nimble.advData(${1:data},${2:flags})", "description": "nimble.advData(data, flags) - \u914d\u7f6e\u5e7f\u64ad\u6570\u636e,\u4ec5iBeacon\u6a21\u5f0f\u53ef\u7528\n\u4f20\u5165\u503c\uff1a\nstring \u5e7f\u64ad\u6570\u636e, \u5f53\u524d\u6700\u9ad8128\u5b57\u8282\nint \u5e7f\u64ad\u6807\u8bc6, \u53ef\u9009, \u9ed8\u8ba4\u503c\u662f 0x06,\u5373 \u4e0d\u652f\u6301\u4f20\u7edf\u84dd\u7259(0x04) + \u666e\u901a\u53d1\u73b0\u6a21\u5f0f(0x02)\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- \u53c2\u8003 demo/nimble/adv_free, 2023-03-18\u4e4b\u540e\u7f16\u8bd1\u7684\u56fa\u4ef6\u652f\u6301\u672cAPI\n-- \u672c\u51fd\u6570\u5bf9ibeacon\u6a21\u5f0f\u9002\u7528\n-- \u6570\u636e\u6765\u6e90\u53ef\u4ee5\u591a\u79cd\u591a\u6837\nlocal data = string.fromHex(\"123487651234876512348765123487651234876512348765\")\n-- local data = crypto.trng(25)\n-- local data = string.char(0x11, 0x13, 0xA3, 0x5A, 0x11, 0x13, 0xA3, 0x5A, 0x11, 0x13, 0xA3, 0x5A, 0x11, 0x13, 0xA3, 0x5A)\nnimble.advData(data)\nnimble.init()\n\n-- nimble\u652f\u6301\u5728init\u4e4b\u540e\u7684\u4efb\u610f\u65f6\u523b\u518d\u6b21\u8c03\u7528, \u4ee5\u5b9e\u73b0\u6570\u636e\u66f4\u65b0\n-- \u4f8b\u5982 1\u5206\u949f\u53d8\u4e00\u6b21\nwhile 1 do\n sys.wait(60000)\n local data = crypto.trng(25)\n nimble.advData(data)\nend\n", "prefix": "nimble.advData"}, "nimble.scan": {"body": "nimble.scan(${1:timeout})", "description": "nimble.scan(timeout) - \u626b\u63cf\u4ece\u673a\n\u4f20\u5165\u503c\uff1a\nint \u8d85\u65f6\u65f6\u95f4,\u5355\u4f4d\u79d2,\u9ed8\u8ba428\u79d2\n\u8fd4\u56de\u503c\uff1a\nbool \u542f\u52a8\u626b\u63cf\u6210\u529f\u4e0e\u5426\n\u4f8b\u5b50\uff1a\n-- \u53c2\u8003 demo/nimble/scan\n-- \u672c\u51fd\u6570\u5bf9central/\u4e3b\u673a\u6a21\u5f0f\u9002\u7528\n-- \u672c\u51fd\u6570\u4f1a\u76f4\u63a5\u8fd4\u56de, \u7136\u540e\u901a\u8fc7\u5f02\u6b65\u56de\u8c03\u8fd4\u56de\u7ed3\u679c\n\n-- \u8c03\u7528\u672c\u51fd\u6570\u524d, \u9700\u8981\u5148\u786e\u4fdd\u5df2\u7ecfnimble.init()\nnimble.scan()\n-- timeout\u53c2\u6570\u4e8e 2023.7.11 \u6dfb\u52a0\n", "prefix": "nimble.scan"}, "nimble.connect": {"body": "nimble.connect(${1:mac})", "description": "nimble.connect(mac) - \u8fde\u63a5\u5230\u4ece\u673a\n\u4f20\u5165\u503c\uff1a\nstring \u8bbe\u5907\u7684MAC\u5730\u5740\n\u8fd4\u56de\u503c\uff1a\nbool \u542f\u52a8\u8fde\u63a5\u6210\u529f\u4e0e\u5426\n\u4f8b\u5b50\uff1a\n-- \u672c\u51fd\u6570\u5bf9central/\u4e3b\u673a\u6a21\u5f0f\u9002\u7528\n-- \u672c\u51fd\u6570\u4f1a\u76f4\u63a5\u8fd4\u56de, \u7136\u540e\u901a\u8fc7\u5f02\u6b65\u56de\u8c03\u8fd4\u56de\u7ed3\u679c\n", "prefix": "nimble.connect"}, "nimble.disconnect": {"body": "nimble.disconnect()", "description": "nimble.disconnect() - \u65ad\u5f00\u4e0e\u4ece\u673a\u7684\u8fde\u63a5\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n-- \u672c\u51fd\u6570\u5bf9central/\u4e3b\u673a\u6a21\u5f0f\u9002\u7528\n-- \u672c\u51fd\u6570\u4f1a\u76f4\u63a5\u8fd4\u56de\n", "prefix": "nimble.disconnect"}, "nimble.discSvr": {"body": "nimble.discSvr()", "description": "nimble.discSvr() - \u626b\u63cf\u4ece\u673a\u7684\u670d\u52a1\u5217\u8868\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n-- \u672c\u51fd\u6570\u5bf9central/\u4e3b\u673a\u6a21\u5f0f\u9002\u7528\n-- \u672c\u51fd\u6570\u4f1a\u76f4\u63a5\u8fd4\u56de,\u7136\u540e\u5f02\u6b65\u8fd4\u56de\u7ed3\u679c\n-- \u8fd9\u4e2aAPI\u901a\u5e38\u4e0d\u9700\u8981\u8c03\u7528, \u5728\u8fde\u63a5\u4ece\u673a\u5b8c\u6210\u540e,\u4f1a\u4e3b\u52a8\u8c03\u7528\u4e00\u6b21\n", "prefix": "nimble.discSvr"}, "nimble.listSvr": {"body": "nimble.listSvr()", "description": "nimble.listSvr() - \u83b7\u53d6\u4ece\u673a\u7684\u670d\u52a1\u5217\u8868\n\u8fd4\u56de\u503c\uff1a\ntable \u670d\u52a1UUID\u7684\u6570\u7ec4\n\u4f8b\u5b50\uff1a\n-- \u672c\u51fd\u6570\u5bf9central/\u4e3b\u673a\u6a21\u5f0f\u9002\u7528\n", "prefix": "nimble.listSvr"}, "nimble.discChr": {"body": "nimble.discChr(${1:svr_uuid})", "description": "nimble.discChr(svr_uuid) - \u626b\u63cf\u4ece\u673a\u7684\u6307\u5b9a\u670d\u52a1\u7684\u7279\u5f81\u503c\n\u4f20\u5165\u503c\uff1a\nstring \u6307\u5b9a\u670d\u52a1\u7684UUID\u503c\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u542f\u52a8\u626b\u63cf\u4e0e\u5426\n\u4f8b\u5b50\uff1a\n-- \u672c\u51fd\u6570\u5bf9central/\u4e3b\u673a\u6a21\u5f0f\u9002\u7528\n", "prefix": "nimble.discChr"}, "nimble.listChr": {"body": "nimble.listChr(${1:svr_uuid})", "description": "nimble.listChr(svr_uuid) - \u83b7\u53d6\u4ece\u673a\u7684\u6307\u5b9a\u670d\u52a1\u7684\u7279\u5f81\u503c\u5217\u8868\n\u4f20\u5165\u503c\uff1a\nstring \u6307\u5b9a\u670d\u52a1\u7684UUID\u503c\n\u8fd4\u56de\u503c\uff1a\ntable \u7279\u5f81\u503c\u5217\u8868,\u5305\u542bUUID\u548cflags\n\u4f8b\u5b50\uff1a\n-- \u672c\u51fd\u6570\u5bf9central/\u4e3b\u673a\u6a21\u5f0f\u9002\u7528\n", "prefix": "nimble.listChr"}, "nimble.discDsc": {"body": "nimble.discDsc(${1:svr_uuid},${2:chr_uuid})", "description": "nimble.discDsc(svr_uuid, chr_uuid) - \u626b\u63cf\u4ece\u673a\u7684\u6307\u5b9a\u670d\u52a1\u7684\u7279\u5f81\u503c\u7684\u5176\u4ed6\u5c5e\u6027\n\u4f20\u5165\u503c\uff1a\nstring \u6307\u5b9a\u670d\u52a1\u7684UUID\u503c\nstring \u7279\u5f81\u503c\u7684UUID\u503c\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u542f\u52a8\u626b\u63cf\u4e0e\u5426\n\u4f8b\u5b50\uff1a\n-- \u672c\u51fd\u6570\u5bf9central/\u4e3b\u673a\u6a21\u5f0f\u9002\u7528\n", "prefix": "nimble.discDsc"}, "nimble.writeChr": {"body": "nimble.writeChr(${1:svr_uuid},${2:chr_uuid})", "description": "nimble.writeChr(svr_uuid, chr_uuid) - \u4ece\u6307\u5b9a\u7684\u670d\u52a1\u7684\u6307\u5b9a\u7279\u5f81\u503c\u8bfb\u53d6\u6570\u636e(\u5f02\u6b65)\n\u4f20\u5165\u503c\uff1a\nstring \u6307\u5b9a\u670d\u52a1\u7684UUID\u503c\nstring \u6307\u5b9a\u7279\u5f81\u503c\u7684UUID\u503c\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u542f\u52a8\u5199\u5165\u4e0e\u5426\n\u4f8b\u5b50\uff1a\n-- \u672c\u51fd\u6570\u5bf9central/\u4e3b\u673a\u6a21\u5f0f\u9002\u7528\n-- \u8be6\u7ec6\u7528\u6cd5\u8bf7\u53c2\u6570 demo/nimble/central\n", "prefix": "nimble.writeChr"}, "nimble.subChr": {"body": "nimble.subChr(${1:svr_uuid},${2:chr_uuid})", "description": "nimble.subChr(svr_uuid, chr_uuid) - \u8ba2\u9605\u6307\u5b9a\u7684\u670d\u52a1\u7684\u6307\u5b9a\u7279\u5f81\u503c\n\u4f20\u5165\u503c\uff1a\nstring \u6307\u5b9a\u670d\u52a1\u7684UUID\u503c\nstring \u6307\u5b9a\u7279\u5f81\u503c\u7684UUID\u503c\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u542f\u52a8\u8ba2\u9605\u4e0e\u5426\n\u4f8b\u5b50\uff1a\n-- \u672c\u51fd\u6570\u5bf9central/\u4e3b\u673a\u6a21\u5f0f\u9002\u7528\n-- \u8be6\u7ec6\u7528\u6cd5\u8bf7\u53c2\u6570 demo/nimble/central\n", "prefix": "nimble.subChr"}, "nimble.unsubChr": {"body": "nimble.unsubChr(${1:svr_uuid},${2:chr_uuid})", "description": "nimble.unsubChr(svr_uuid, chr_uuid) - \u53d6\u6d88\u8ba2\u9605\u6307\u5b9a\u7684\u670d\u52a1\u7684\u6307\u5b9a\u7279\u5f81\u503c\n\u4f20\u5165\u503c\uff1a\nstring \u6307\u5b9a\u670d\u52a1\u7684UUID\u503c\nstring \u6307\u5b9a\u7279\u5f81\u503c\u7684UUID\u503c\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u542f\u52a8\u53d6\u6d88\u8ba2\u9605\u4e0e\u5426\n\u4f8b\u5b50\uff1a\n-- \u672c\u51fd\u6570\u5bf9central/\u4e3b\u673a\u6a21\u5f0f\u9002\u7528\n-- \u8be6\u7ec6\u7528\u6cd5\u8bf7\u53c2\u6570 demo/nimble/central\n", "prefix": "nimble.unsubChr"}, "otp.read": {"body": "otp.read(${1:zone},${2:offset},${3:len})", "description": "otp.read(zone, offset, len) - \u8bfb\u53d6\u6307\u5b9aOTP\u533a\u57df\u8bfb\u53d6\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nint \u533a\u57df, \u901a\u5e38\u4e3a0/1/2/3, \u4e0e\u5177\u4f53\u786c\u4ef6\u76f8\u5173\nint \u504f\u79fb\u91cf\nint \u8bfb\u53d6\u957f\u5ea6, \u5355\u4f4d\u5b57\u8282, \u5fc5\u987b\u662f4\u7684\u500d\u6570, \u4e0d\u80fd\u8d85\u8fc74096\u5b57\u8282\n\u8fd4\u56de\u503c\uff1a\nstring \u6210\u529f\u8fd4\u56de\u5b57\u7b26\u4e32, \u5426\u5219\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\n\nlocal otpdata = otp.read(0, 0, 64)\nif otpdata then\n log.info(\"otp\", otpdata:toHex())\nend\n", "prefix": "otp.read"}, "otp.write": {"body": "otp.write(${1:zone},${2:data},${3:offset})", "description": "otp.write(zone, data, offset) - \u5f80\u6307\u5b9aOTP\u533a\u57df\u5199\u5165\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nint \u533a\u57df, \u901a\u5e38\u4e3a0/1/2/3, \u4e0e\u5177\u4f53\u786c\u4ef6\u76f8\u5173\nstring \u6570\u636e, \u957f\u5ea6\u5fc5\u987b\u662f4\u4e2a\u500d\u6570\nint \u504f\u79fb\u91cf\n\u8fd4\u56de\u503c\uff1a\nbooL \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n", "prefix": "otp.write"}, "otp.erase": {"body": "otp.erase(${1:zone})", "description": "otp.erase(zone) - \u64e6\u9664\u6307\u5b9aOTP\u533a\u57df\n\u4f20\u5165\u503c\uff1a\nint \u533a\u57df, \u901a\u5e38\u4e3a0/1/2/3, \u4e0e\u5177\u4f53\u786c\u4ef6\u76f8\u5173\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n", "prefix": "otp.erase"}, "otp.lock": {"body": "otp.lock(${1:zone})", "description": "otp.lock(zone) - \u9501\u5b9aOTP\u533a\u57df. \u7279\u522b\u6ce8\u610f!!\u4e00\u65e6\u52a0\u9501\u5373\u65e0\u6cd5\u89e3\u9501,OTP\u53d8\u6210\u53ea\u8bfb!!!\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n", "prefix": "otp.lock"}, "pack.unpack": {"body": "pack.unpack(${1:string},${2:format},${3:init})", "description": "pack.unpack( string, format, init) - \u89e3\u5305\u5b57\u7b26\u4e32\n\u4f20\u5165\u503c\uff1a\nstring \u9700\u89e3\u5305\u7684\u5b57\u7b26\u4e32\nstring \u683c\u5f0f\u5316\u7b26\u53f7 '<':\u8bbe\u4e3a\u5c0f\u7aef\u7f16\u7801 '>':\u8bbe\u4e3a\u5927\u7aef\u7f16\u7801 '=':\u5927\u5c0f\u7aef\u9075\u5faa\u672c\u5730\u8bbe\u7f6e 'z':\u7a7a\u5b57\u7b26\u4e32 'p':byte\u5b57\u7b26\u4e32 'P':word\u5b57\u7b26\u4e32 'a':size_t\u5b57\u7b26\u4e32 'A':\u6307\u5b9a\u957f\u5ea6\u5b57\u7b26\u4e32 'f':float 'd':double 'n':Lua number 'c':char 'b':byte = unsigned char 'h':short 'H':unsigned short 'i':int 'I':unsigned int 'l':long 'L':unsigned long\nint \u9ed8\u8ba4\u503c\u4e3a1\uff0c\u6807\u8bb0\u89e3\u5305\u5f00\u59cb\u7684\u4f4d\u7f6e\n\u8fd4\u56de\u503c\uff1a\nint \u5b57\u7b26\u4e32\u6807\u8bb0\u7684\u4f4d\u7f6e\nany \u7b2c\u4e00\u4e2a\u89e3\u5305\u7684\u503c, \u6839\u636eformat\u503c,\u53ef\u80fd\u6709N\u4e2a\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\nlocal _,a = pack.unpack(x,\">h\") --\u89e3\u5305\u6210short (2\u5b57\u8282)\n", "prefix": "pack.unpack"}, "pack.pack": {"body": "pack.pack(${1:format},${2:val1},${3:val2},${4:val3},${5:valn})", "description": "pack.pack( format, val1, val2, val3, valn ) - \u6253\u5305\u5b57\u7b26\u4e32\u7684\u503c\n\u4f20\u5165\u503c\uff1a\nstring format \u683c\u5f0f\u5316\u7b26\u53f7 '<':\u8bbe\u4e3a\u5c0f\u7aef\u7f16\u7801 '>':\u8bbe\u4e3a\u5927\u7aef\u7f16\u7801 '=':\u5927\u5c0f\u7aef\u9075\u5faa\u672c\u5730\u8bbe\u7f6e 'z':\u7a7a\u5b57\u7b26\u4e32 'p':byte\u5b57\u7b26\u4e32 'P':word\u5b57\u7b26\u4e32 'a':size_t\u5b57\u7b26\u4e32 'A':\u6307\u5b9a\u957f\u5ea6\u5b57\u7b26\u4e32 'f':float 'd':double 'n':Lua number 'c':char 'b':byte = unsigned char 'h':short 'H':unsigned short 'i':int 'I':unsigned int 'l':long 'L':unsigned long\nany \u7b2c\u4e00\u4e2a\u9700\u6253\u5305\u7684\u503c\nany \u7b2c\u4e8c\u4e2a\u9700\u6253\u5305\u7684\u503c\nany \u7b2c\u4e8c\u4e2a\u9700\u6253\u5305\u7684\u503c\nany \u7b2cn\u4e2a\u9700\u6253\u5305\u7684\u503c\n\u8fd4\u56de\u503c\uff1a\nstring \u4e00\u4e2a\u5305\u542b\u6240\u6709\u683c\u5f0f\u5316\u53d8\u91cf\u7684\u5b57\u7b26\u4e32\n\u4f8b\u5b50\uff1a\nlocal data = pack.pack('=0 \u662f\u672c\u6b21\u5b9a\u65f6\u5524\u9192\u7684\u5b9a\u65f6\u5668ID\uff0c\u5176\u4ed6\u9519\u8bef\uff0c\u8bf4\u660e\u4e0d\u662f\u5b9a\u65f6\u5524\u9192\u7684\n\u4f8b\u5b50\uff1a\nlocal timer_id = pm.dtimerWkId()\n", "prefix": "dtimerWkId"}, "pm.lastReson": {"body": "pm.lastReson()", "description": "pm.lastReson() - \u5f00\u673a\u539f\u56e0,\u7528\u4e8e\u5224\u65ad\u662f\u4ece\u4f11\u7720\u6a21\u5757\u5f00\u673a,\u8fd8\u662f\u7535\u6e90/\u590d\u4f4d\u5f00\u673a\n\u8fd4\u56de\u503c\uff1a\nint 0-\u4e0a\u7535/\u590d\u4f4d\u5f00\u673a, 1-RTC\u5f00\u673a, 2-WakeupIn/Pad/IO\u5f00\u673a, 3-Wakeup/RTC\u5f00\u673a\nint 0-\u666e\u901a\u5f00\u673a(\u4e0a\u7535/\u590d\u4f4d),3-\u6df1\u7761\u7720\u5f00\u673a,4-\u4f11\u7720\u5f00\u673a\nint \u590d\u4f4d\u5f00\u673a\u8be6\u7ec6\u539f\u56e0\uff1a0-powerkey\u6216\u8005\u4e0a\u7535\u5f00\u673a 1-\u5145\u7535\u6216\u8005AT\u6307\u4ee4\u4e0b\u8f7d\u5b8c\u6210\u540e\u5f00\u673a 2-\u95f9\u949f\u5f00\u673a 3-\u8f6f\u4ef6\u91cd\u542f 4-\u672a\u77e5\u539f\u56e0 5-RESET\u952e 6-\u5f02\u5e38\u91cd\u542f 7-\u5de5\u5177\u63a7\u5236\u91cd\u542f 8-\u5185\u90e8\u770b\u95e8\u72d7\u91cd\u542f 9-\u5916\u90e8\u91cd\u542f 10-\u5145\u7535\u5f00\u673a\n\u4f8b\u5b50\uff1a\n-- \u662f\u54ea\u79cd\u65b9\u5f0f\u5f00\u673a\u5462\nlog.info(\"pm\", \"last power reson\", pm.lastReson())\n", "prefix": "pm.lastReson"}, "pm.force": {"body": "pm.force(${1:mode})", "description": "pm.force(mode) - \u5f3a\u5236\u8fdb\u5165\u6307\u5b9a\u7684\u4f11\u7720\u6a21\u5f0f\uff0c\u5ffd\u7565\u67d0\u4e9b\u5916\u8bbe\u7684\u5f71\u54cd\uff0c\u6bd4\u5982USB\n\u4f20\u5165\u503c\uff1a\nint \u4f11\u7720\u6a21\u5f0f\n\u8fd4\u56de\u503c\uff1a\nboolean \u5904\u7406\u7ed3\u679c,\u82e5\u8fd4\u56de\u6210\u529f,\u5927\u6982\u7387\u4f1a\u9a6c\u4e0a\u8fdb\u5165\u8be5\u4f11\u7720\u6a21\u5f0f\n\u4f8b\u5b50\uff1a\n-- \u8bf7\u6c42\u8fdb\u5165\u4f11\u7720\u6a21\u5f0f\npm.force(pm.HIB)\n-- \u5bf9\u5e94EC618\u7cfb\u5217(Air780E/Air700E\u7b49), \u8be5\u64cd\u4f5c\u4f1a\u5173\u95edUSB\u901a\u4fe1\n-- \u5524\u9192\u540e\u5982\u9700\u5f00\u542fUSB, \u8bf7\u6253\u5f00USB\u7535\u538b\n--pm.power(pm.USB, true)\n", "prefix": "pm.force"}, "pm.check": {"body": "pm.check()", "description": "pm.check() - \u68c0\u67e5\u4f11\u7720\u72b6\u6001\n\u8fd4\u56de\u503c\uff1a\nboolean \u5904\u7406\u7ed3\u679c,\u5982\u679c\u80fd\u987a\u5229\u8fdb\u5165\u4f11\u7720,\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\nint \u5e95\u5c42\u8fd4\u56de\u503c,0\u4ee3\u8868\u80fd\u8fdb\u5165\u6700\u5e95\u5c42\u4f11\u7720,\u5176\u4ed6\u503c\u4ee3\u8868\u6700\u4f4e\u53ef\u4f11\u7720\u7ea7\u522b\n\u4f8b\u5b50\uff1a\n-- \u8bf7\u6c42\u8fdb\u5165\u4f11\u7720\u6a21\u5f0f,\u7136\u540e\u68c0\u67e5\u662f\u5426\u80fd\u771f\u7684\u4f11\u7720\npm.request(pm.HIB)\nif pm.check() then\n log.info(\"pm\", \"it is ok to hib\")\nelse\n -- \u5bf9\u5e94EC618\u7cfb\u5217(Air780E/Air700E\u7b49), \u8be5\u64cd\u4f5c\u4f1a\u5173\u95edUSB\u901a\u4fe1\n pm.force(pm.HIB) -- \u5f3a\u5236\u4f11\u7720\n -- \u5524\u9192\u540e\u5982\u9700\u5f00\u542fUSB, \u8bf7\u6253\u5f00USB\u7535\u538b\n --sys.wait(100)\n --pm.power(pm.USB, true)\nend\n", "prefix": "pm.check"}, "pm.shutdown": {"body": "pm.shutdown()", "description": "pm.shutdown() - \u5173\u673a\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n-- \u5f53\u524d\u4ec5EC618\u7cfb\u5217(Air780E/Air600E/Air700E/Air780EG\u652f\u6301)\n-- \u9700\u89812022-12-22\u4e4b\u540e\u7f16\u8bd1\u7684\u56fa\u4ef6\npm.shutdown()\n", "prefix": "pm.shutdown"}, "pm.reboot": {"body": "pm.reboot()", "description": "pm.reboot() - \u91cd\u542f\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n", "prefix": "pm.reboot"}, "pm.power": {"body": "pm.power(${1:id},${2:onoff})", "description": "pm.power(id, onoff) - \u5f00\u542f\u5185\u90e8\u7684\u7535\u6e90\u63a7\u5236\uff0c\u6ce8\u610f\u4e0d\u662f\u6240\u6709\u7684\u5e73\u53f0\u90fd\u652f\u6301\uff0c\u53ef\u80fd\u90e8\u5206\u5e73\u53f0\u652f\u6301\u90e8\u5206\u9009\u9879\uff0c\u770b\u786c\u4ef6\n\u4f20\u5165\u503c\uff1a\nint \u7535\u6e90\u63a7\u5236id,pm.USB pm.GPS\u4e4b\u7c7b\nboolean or int \u5f00\u5173true/1\u5f00\uff0cfalse/0\u5173\uff0c\u9ed8\u8ba4\u5173\uff0c\u90e8\u5206\u9009\u9879\u652f\u6301\u6570\u503c\n\u8fd4\u56de\u503c\uff1a\nboolean \u5904\u7406\u7ed3\u679ctrue\u6210\u529f\uff0cfalse\u5931\u8d25\n\u4f8b\u5b50\uff1a\n-- \u5173\u95edUSB\u7535\u6e90, \u53cd\u4e4b\u5f00\u542f\u5c31\u662f\u4f20true\npm.power(pm.USB, false) \n\n-- Air780EG,\u4e3a\u5185\u7f6e\u7684GPS\u82af\u7247\u4e0a\u7535. \u6ce8\u610f, Air780EG\u7684GPS\u548cGPS_ANT\u662f\u4e00\u8d77\u63a7\u5236\u7684,\u6240\u4ee5\u5408\u5e76\u4e86.\npm.power(pm.GPS, true)\n\n-- EC618\u7cfb\u5217\u5f00\u542fpwrkey\u5f00\u673a\u9632\u6296\n-- \u6ce8\u610f: \u5f00\u542f\u540e, \u590d\u4f4d\u952e\u5c31\u53d8\u6210\u5173\u673a\u4e86!!! pwrkey\u8981\u957f\u63092\u79d2\u624d\u80fd\u5f00\u673a\n-- pm.power(pm.PWK_MODE, true)\n\n-- EC618\u7cfb\u5217PSM+\u4f4e\u529f\u8017\u8bbe\u7f6e\n-- ec618\u7684\u8282\u80fd\u6a21\u5f0f\uff0c0~3\uff0c0\u5b8c\u5168\u5173\u95ed\uff0c1\u6027\u80fd\u4f18\u5148\uff0c2\u5e73\u8861\uff0c3\u6781\u81f4\u529f\u8017\n-- \u8be6\u60c5\u8bbf\u95ee: https://airpsm.cn\n-- pm.power(pm.WORK_MODE, 1)\n", "prefix": "pm.power"}, "pm.ioVol": {"body": "pm.ioVol(${1:id},${2:val})", "description": "pm.ioVol(id, val) - IO\u9ad8\u7535\u5e73\u7535\u538b\u63a7\u5236,\u5f53\u524d\u4ec5EC618\u7cfb\u5217\u53ef\u7528\n\u4f20\u5165\u503c\uff1a\nint \u7535\u5e73id,\u76ee\u524d\u53ea\u6709pm.IOVOL_ALL_GPIO\nint \u7535\u5e73\u503c,\u5355\u4f4d\u6beb\u4f0f\n\u8fd4\u56de\u503c\uff1a\nboolean \u5904\u7406\u7ed3\u679ctrue\u6210\u529f\uff0cfalse\u5931\u8d25\n\u4f8b\u5b50\uff1a\n-- EC618\u7cfb\u5217\u8bbe\u7f6eIO\u7535\u5e73, \u8303\u56f4 1650 ~ 2000\uff0c2650~3400 , \u5355\u4f4d\u6beb\u4f0f, \u6b65\u8fdb50mv\n-- \u4f8b\u5982Air780E/Air600E/Air700E/Air780EG\n-- \u6ce8\u610f, \u8fd9\u91cc\u7684\u8bbe\u7f6e\u4f18\u5148\u7ea7\u4f1a\u9ad8\u4e8e\u786c\u4ef6IOSEL\u811a\u7684\u914d\u7f6e\n-- \u4f46\u5f00\u673a\u65f6\u4f9d\u7136\u5148\u4f7f\u7528\u786c\u4ef6\u914d\u7f6e,\u76f4\u81f3\u8c03\u7528\u672cAPI\u8fdb\u884c\u914d\u7f6e, \u6240\u4ee5io\u7535\u5e73\u4f1a\u53d8\u5316\n-- pm.ioVol(pm.IOVOL_ALL_GPIO, 3300) -- \u6240\u6709GPIO\u9ad8\u7535\u5e73\u8f93\u51fa3.3V\n-- pm.ioVol(pm.IOVOL_ALL_GPIO, 1800) -- \u6240\u6709GPIO\u9ad8\u7535\u5e73\u8f93\u51fa1.8V\n", "prefix": "pm.ioVol"}, "pm.wakeupPin": {"body": "pm.wakeupPin(${1:pin},${2:level})", "description": "pm.wakeupPin(pin,level) - \u914d\u7f6e\u5524\u9192\u5f15\u811a (\u5f53\u524d\u4ec5\u4ec5esp\u7cfb\u5217\u53ef\u7528)\n\u4f20\u5165\u503c\uff1a\nint/table gpio\u5f15\u811a\nint \u5524\u9192\u7535\u538b \u53ef\u9009,\u9ed8\u8ba4\u4f4e\u7535\u5e73\u5524\u9192\n\u8fd4\u56de\u503c\uff1a\nboolean \u5904\u7406\u7ed3\u679c\n\u4f8b\u5b50\uff1a\npm.wakeupPin(8,0)\n", "prefix": "pm.wakeupPin"}, "protobuf.load": {"body": "protobuf.load(${1:pbdata})", "description": "protobuf.load(pbdata) - \u52a0\u8f7dpb\u4e8c\u8fdb\u5236\u5b9a\u4e49\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nstring \u901a\u8fc7protoc.exe\u7a0b\u5e8f\u8f6c\u6362\u5f97\u5230\u7684\u6570\u636e,\u901a\u5e38\u4ece\u6587\u4ef6\u8bfb\u53d6\u5f97\u5230\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u4e0e\u5426\nint \u8bfb\u53d6\u4e86\u591a\u957f, \u8c03\u8bd5\u7528\n\u4f8b\u5b50\uff1a\n-- \u6ce8\u610f, \u540c\u4e00\u4e2a\u6587\u4ef6\u53ea\u9700\u8981\u52a0\u8f7d\u4e00\u6b21, \u9664\u975e\u8c03\u7528\u8fc7protobuf.clear()\nprotobuf.load(io.readFile(\"/luadb/person.pb\"))\n", "prefix": "protobuf.load"}, "protobuf.clear": {"body": "protobuf.clear()", "description": "protobuf.clear() - \u6e05\u9664\u5df2\u52a0\u8f7d\u7684\u4e8c\u8fdb\u5236\u5b9a\u4e49\u6570\u636e\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c, \u603b\u662f\u6210\u529f\n\u4f8b\u5b50\uff1a\n-- \u6e05\u9664\u6240\u6709\u5df2\u52a0\u8f7d\u7684\u5b9a\u4e49\u6570\u636e\nprotobuf.clear()\n", "prefix": "protobuf.clear"}, "protobuf.encode": {"body": "protobuf.encode(${1:tpname},${2:data})", "description": "protobuf.encode(tpname, data) - \u7f16\u7801protobuffs\u6570\u636e\u5305\n\u4f20\u5165\u503c\uff1a\nstring \u6570\u636e\u7c7b\u578b\u540d\u79f0, \u5b9a\u4e49\u5728pb\u6587\u4ef6\u4e2d, \u7531protobuf.load\u52a0\u8f7d\ntable \u5f85\u7f16\u7801\u6570\u636e, \u5fc5\u987b\u662ftable, \u5185\u5bb9\u7b26\u5408pb\u6587\u4ef6\u91cc\u7684\u5b9a\u4e49\n\u8fd4\u56de\u503c\uff1a\nstring \u7f16\u7801\u540e\u7684\u6570\u636e,\u82e5\u5931\u8d25\u4f1a\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\n-- \u6570\u636e\u7f16\u7801\nlocal tb = {\n name = \"wendal\"\n}\nlocal pbdata = protobuf.encode(\"Person\", tb)\nif pbdata then\n -- \u6ce8\u610f, \u7f16\u7801\u540e\u7684\u6570\u636e\u901a\u5e38\u5e26\u4e0d\u53ef\u89c1\u5b57\u7b26\n log.info(\"protobuf\", #pbdata, pbdata:toHex())\nend\n", "prefix": "protobuf.encode"}, "protobuf.decode": {"body": "protobuf.decode(${1:tpname},${2:data})", "description": "protobuf.decode(tpname, data) - \u89e3\u7801protobuffs\u6570\u636e\u5305\n\u4f20\u5165\u503c\uff1a\nstring \u6570\u636e\u7c7b\u578b\u540d\u79f0, \u5b9a\u4e49\u5728pb\u6587\u4ef6\u4e2d, \u7531protobuf.load\u52a0\u8f7d\nstring \u5f85\u7f16\u7801\u6570\u636e\n\u8fd4\u56de\u503c\uff1a\ntable \u89e3\u7801\u540e\u7684\u6570\u636e\n\u4f8b\u5b50\uff1a\n-- \u6570\u636e\u7f16\u7801\nlocal tb = {\n name = \"wendal\"\n}\nlocal pbdata = protobuf.encode(\"Person\", tb)\nif pbdata then\n -- \u6ce8\u610f, \u7f16\u7801\u540e\u7684\u6570\u636e\u901a\u5e38\u5e26\u4e0d\u53ef\u89c1\u5b57\u7b26\n log.info(\"protobuf\", #pbdata, pbdata:toHex())\nend\n", "prefix": "protobuf.decode"}, "pwm.open": {"body": "pwm.open(${1:channel},${2:period},${3:pulse},${4:pnum},${5:precision})", "description": "pwm.open(channel, period, pulse, pnum, precision) - \u5f00\u542f\u6307\u5b9a\u7684PWM\u901a\u9053\n\u4f20\u5165\u503c\uff1a\nint PWM\u901a\u9053\nint \u9891\u7387, 1-1000000hz\nint \u5360\u7a7a\u6bd4 0-\u5206\u9891\u7cbe\u5ea6\nint \u8f93\u51fa\u5468\u671f 0\u4e3a\u6301\u7eed\u8f93\u51fa, 1\u4e3a\u5355\u6b21\u8f93\u51fa, \u5176\u4ed6\u4e3a\u6307\u5b9a\u8109\u51b2\u6570\u8f93\u51fa\nint \u5206\u9891\u7cbe\u5ea6, 100/256/1000, \u9ed8\u8ba4\u4e3a100, \u82e5\u8bbe\u5907\u4e0d\u652f\u6301\u4f1a\u6709\u65e5\u5fd7\u63d0\u793a\n\u8fd4\u56de\u503c\uff1a\nboolean \u5904\u7406\u7ed3\u679c,\u6210\u529f\u8fd4\u56detrue,\u5931\u8d25\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- \u6253\u5f00PWM5, \u9891\u73871kHz, \u5360\u7a7a\u6bd450%\npwm.open(5, 1000, 50)\n-- \u6253\u5f00PWM5, \u9891\u738710kHz, \u5206\u9891\u4e3a 31/256\npwm.open(5, 10000, 31, 0, 256)\n", "prefix": "pwm.open"}, "pwm.close": {"body": "pwm.close(${1:channel})", "description": "pwm.close(channel) - \u5173\u95ed\u6307\u5b9a\u7684PWM\u901a\u9053\n\u4f20\u5165\u503c\uff1a\nint PWM\u901a\u9053\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u5904\u7406\u7ed3\u679c\n\u4f8b\u5b50\uff1a\n-- \u5173\u95edPWM5\npwm.close(5)\n", "prefix": "pwm.close"}, "pwm.capture": {"body": "pwm.capture(${1:channel})", "description": "pwm.capture(channel) - PWM\u6355\u83b7\n\u4f20\u5165\u503c\uff1a\nint PWM\u901a\u9053\nint \u6355\u83b7\u9891\u7387\n\u8fd4\u56de\u503c\uff1a\nboolean \u5904\u7406\u7ed3\u679c,\u6210\u529f\u8fd4\u56detrue,\u5931\u8d25\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- PWM0\u6355\u83b7\nwhile 1 do\n pwm.capture(0,1000)\n local ret,channel,pulse,pwmH,pwmL = sys.waitUntil(\"PWM_CAPTURE\", 2000)\n if ret then\n log.info(\"PWM_CAPTURE\",\"channel\"..channel,\"pulse\"..pulse,\"pwmH\"..pwmH,\"pwmL\"..pwmL)\n end\nend\n", "prefix": "pwm.capture"}, "repl.enable": {"body": "repl.enable(${1:re})", "description": "repl.enable(re) - \u542f\u7528\u6216\u7981\u7528REPL\u529f\u80fd\n\u4f20\u5165\u503c\uff1a\nbool \u542f\u7528\u4e0e\u5426,\u9ed8\u8ba4\u662f\u542f\u7528\nreturn \u4e4b\u524d\u7684\u8bbe\u7f6e\u72b6\u6001\n\u4f8b\u5b50\uff1a\n-- \u82e5\u56fa\u4ef6\u652f\u6301REPL,\u5373\u7f16\u8bd1\u65f6\u542f\u7528\u4e86REPL,\u662f\u9ed8\u8ba4\u542f\u7528REPL\u529f\u80fd\u7684\n-- \u672c\u51fd\u6570\u662f\u63d0\u4f9b\u5173\u95edREPL\u7684\u9014\u5f84\nrepl.enable(false)\n", "prefix": "repl.enable"}, "repl.push": {"body": "repl.push(${1:data})", "description": "repl.push(data) - \u4e3b\u52a8\u63a8\u9001\u5f85\u5904\u7406\u7684\u6570\u636e\u5230\u5e95\u5c42\n\u4f20\u5165\u503c\uff1a\nstring \u5f85\u5904\u7406\u7684\u6570\u636e,\u901a\u5e38\u4ece\u4e32\u53e3\u6765\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n-- \u865a\u62df\u4e32\u53e3\u7684\u8bbe\u5907\u624d\u9700\u8981\u8fd9\u4e2a\u51fd\u6570\n", "prefix": "repl.push"}, "rsa.encrypt": {"body": "rsa.encrypt(${1:key},${2:data})", "description": "rsa.encrypt(key, data) - RSA\u52a0\u5bc6\n\u4f20\u5165\u503c\uff1a\nstring \u516c\u94a5\u6570\u636e,\u4ec5\u652f\u6301PEM\u683c\u5f0f\nstring \u5f85\u52a0\u5bc6\u6570\u636e, \u4e0d\u80fd\u8d85\u8fc7\u516c\u94a5\u4f4d\u6570\u7684\u4e00\u534a, \u4f8b\u5982 2048bit\u7684\u516c\u94a5, \u53ea\u80fd\u52a0\u5bc6128\u5b57\u8282\u7684\u6570\u636e\n\u8fd4\u56de\u503c\uff1a\nstring \u52a0\u5bc6\u6210\u529f\u540e\u7684\u6570\u636e,\u82e5\u5931\u8d25\u4f1a\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\n-- \u4e0b\u9762\u4ee3\u7801\u4e2d\u7684 \"abc\" \u662f\u5f85\u52a0\u5bc6\u6570\u636e\nlocal res = rsa.encrypt((io.readFile(\"/luadb/public.pem\")), \"abc\")\n-- \u6253\u5370\u7ed3\u679c\nlog.info(\"rsa\", \"encrypt\", res and #res or 0, res and res:toHex() or \"\")\n", "prefix": "rsa.encrypt"}, "rsa.decrypt": {"body": "rsa.decrypt(${1:key},${2:data},${3:pwd})", "description": "rsa.decrypt(key, data, pwd) - RSA\u89e3\u5bc6\n\u4f20\u5165\u503c\uff1a\nstring \u79c1\u94a5\u6570\u636e,\u4ec5\u652f\u6301PEM\u683c\u5f0f\nstring \u5f85\u89e3\u5bc6\u6570\u636e\nstring \u79c1\u94a5\u7684\u5bc6\u7801,\u53ef\u9009\n\u8fd4\u56de\u503c\uff1a\nstring \u89e3\u5bc6\u6210\u529f\u540e\u7684\u6570\u636e,\u82e5\u5931\u8d25\u4f1a\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\n-- \u6ce8\u610f, \u89e3\u5bc6\u901a\u5e38\u5f88\u6162, \u5efa\u8bae\u5728\u670d\u52a1\u5668\u7aef\u8fdb\u884c\n-- res \u662f\u5f85\u89e3\u5bc6\u7684\u6570\u636e\nlocal dst = rsa.decrypt((io.readFile(\"/luadb/privkey.pem\")), res, \"\")\nlog.info(\"rsa\", \"decrypt\", dst and #dst or 0, dst and dst:toHex() or \"\")\n", "prefix": "rsa.decrypt"}, "rsa.verify": {"body": "rsa.verify(${1:key},${2:md},${3:hash},${4:sig})", "description": "rsa.verify(key, md, hash, sig) - RSA\u9a8c\u7b7e\n\u4f20\u5165\u503c\uff1a\nstring \u516c\u94a5\u6570\u636e,\u4ec5\u652f\u6301PEM\u683c\u5f0f\nint \u7b7e\u540d\u6a21\u5f0f, \u4f8b\u5982 rsa.MD_SHA1 , rsa.MD_SHA256\nstring hash\u6570\u636e, \u5982\u679c\u662fHEX\u5b57\u7b26\u4e32,\u8bb0\u5f97fromHex\u8f6c\u4e8c\u8fdb\u5236\u6570\u636e\nstring sig\u6570\u636e, \u5982\u679c\u662fHEX\u5b57\u7b26\u4e32,\u8bb0\u5f97fromHex\u8f6c\u4e8c\u8fdb\u5236\u6570\u636e\n\u8fd4\u56de\u503c\uff1a\nbool \u6709\u6548\u8fd4\u56detrue,\u5426\u5219\u4e3afalse,\u51fa\u9519\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\nlocal ret = rsa.verify((io.readFile(\"/luadb/public.pem\")), rsa.MD_SHA1, hash, sig)\nlog.info(\"rsa\", \"verify\", ret)\n", "prefix": "rsa.verify"}, "rsa.sign": {"body": "rsa.sign(${1:key},${2:md},${3:hash},${4:pwd})", "description": "rsa.sign(key, md, hash, pwd) - RSA\u7b7e\u540d\n\u4f20\u5165\u503c\uff1a\nstring \u79c1\u94a5\u6570\u636e,\u4ec5\u652f\u6301PEM\u683c\u5f0f\nint \u7b7e\u540d\u6a21\u5f0f, \u4f8b\u5982 rsa.MD_SHA1 , rsa.MD_SHA256\nstring hash\u6570\u636e, \u5982\u679c\u662fHEX\u5b57\u7b26\u4e32,\u8bb0\u5f97fromHex\u8f6c\u4e8c\u8fdb\u5236\u6570\u636e\nstring \u79c1\u94a5\u5bc6\u7801, \u53ef\u9009\n\u8fd4\u56de\u503c\uff1a\nstring \u6210\u529f\u8fd4\u56desig\u6570\u636e, \u5426\u5219\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\nlocal sig = rsa.sign((io.readFile(\"/luadb/privkey.pem\")), rsa.MD_SHA1, hash, \"\")\nlog.info(\"rsa\", \"sign\", sig and #sig or 0, sig and sig:toHex() or \"\")\n", "prefix": "rsa.sign"}, "rtc.set": {"body": "rtc.set(${1:tab})", "description": "rtc.set(tab) - \u8bbe\u7f6e\u65f6\u949f\n\u4f20\u5165\u503c\uff1a\ntable or int \u65f6\u949f\u53c2\u6570,\u89c1\u793a\u4f8b\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56denil\u6216false\n\u4f8b\u5b50\uff1a\nrtc.set({year=2021,mon=8,day=31,hour=17,min=8,sec=43})\n--\u76ee\u524d\u53ea\u6709Air101/Air103/Air105/EC618\u7cfb\u5217\u652f\u6301\u65f6\u95f4\u6233\u65b9\u5f0f\nrtc.set(1652230554)\n", "prefix": "rtc.set"}, "rtc.get": {"body": "rtc.get()", "description": "rtc.get() - \u83b7\u53d6\u65f6\u949f\n\u8fd4\u56de\u503c\uff1a\ntable \u65f6\u949f\u53c2\u6570,\u89c1\u793a\u4f8b\n\u4f8b\u5b50\uff1a\nlocal t = rtc.get()\n-- {year=2021,mon=8,day=31,hour=17,min=8,sec=43}\nlog.info(\"rtc\", json.encode(t))\n", "prefix": "rtc.get"}, "rtc.timerStart": {"body": "rtc.timerStart(${1:id},${2:tab})", "description": "rtc.timerStart(id, tab) - \u8bbe\u7f6eRTC\u5524\u9192\u65f6\u95f4\n\u4f20\u5165\u503c\uff1a\nint \u65f6\u949fid,\u901a\u5e38\u53ea\u652f\u63010\ntable \u65f6\u949f\u53c2\u6570,\u89c1\u793a\u4f8b\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56denil\u6216false\n\u4f8b\u5b50\uff1a\n-- \u4f7f\u7528\u524d\u5efa\u8bae\u5148rtc.set\u8bbe\u7f6e\u4e3a\u6b63\u786e\u7684\u65f6\u95f4\nrtc.timerStart(0, {year=2021,mon=9,day=1,hour=17,min=8,sec=43})\n", "prefix": "rtc.timerStart"}, "rtc.timerStop": {"body": "rtc.timerStop(${1:id})", "description": "rtc.timerStop(id) - \u53d6\u6d88RTC\u5524\u9192\u65f6\u95f4\n\u4f20\u5165\u503c\uff1a\nint \u65f6\u949fid,\u901a\u5e38\u53ea\u652f\u63010\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56denil\u6216false\n\u4f8b\u5b50\uff1a\nrtc.timerStop(0)\n", "prefix": "rtc.timerStop"}, "rtc.setBaseYear": {"body": "rtc.setBaseYear(${1:Base_year})", "description": "rtc.setBaseYear(Base_year) - \u8bbe\u7f6eRTC\u57fa\u51c6\u5e74,\u4e0d\u63a8\u8350\n\u4f20\u5165\u503c\uff1a\nint \u57fa\u51c6\u5e74Base_year,\u901a\u5e381900\n\u4f8b\u5b50\uff1a\nrtc.setBaseYear(1900)\n", "prefix": "rtc.setBaseYear"}, "rtc.timezone": {"body": "rtc.timezone(${1:tz})", "description": "rtc.timezone(tz) - \u8bfb\u53d6\u6216\u8bbe\u7f6e\u65f6\u533a\n\u4f20\u5165\u503c\uff1a\nint \u65f6\u533a\u503c,\u6ce8\u610f\u5355\u4f4d\u662f1/4\u65f6\u533a.\u4f8b\u5982\u4e1c\u516b\u533a\u662f 32,\u800c\u975e8. \u53ef\u4ee5\u4e0d\u4f20\nreturn \u5f53\u524d/\u8bbe\u7f6e\u540e\u7684\u65f6\u533a\u503c\n\u4f8b\u5b50\uff1a\n-- \u8bbe\u7f6e\u4e3a\u4e1c8\u533a\nrtc.timezone(32)\n-- \u8bbe\u7f6e\u4e3a\u4e1c3\u533a\nrtc.timezone(12)\n-- \u8bbe\u7f6e\u4e3a\u897f4\u533a\nrtc.timezone(-16)\n-- \u6ce8\u610f: \u65e0\u8bba\u8bbe\u7f6e\u65f6\u533a\u662f\u591a\u5c11, rtc.get/set\u603b\u662fUTC\u65f6\u95f4\n-- \u65f6\u533a\u5f71\u54cd\u7684\u662f os.date/os.time \u51fd\u6570\n-- \u53ea\u6709\u90e8\u5206\u6a21\u5757\u652f\u6301\u8bbe\u7f6e\u65f6\u533a, \u4e14\u9ed8\u8ba4\u503c\u4e00\u822c\u4e3a32, \u5373\u4e1c\u516b\u533a\n", "prefix": "rtc.timezone"}, "rtos.receive": {"body": "rtos.receive(${1:timeout})", "description": "rtos.receive(timeout) - \u63a5\u53d7\u5e76\u5904\u7406\u5e95\u5c42\u6d88\u606f\u961f\u5217.\n\u4f20\u5165\u503c\uff1a\nint \u8d85\u65f6\u65f6\u957f,\u901a\u5e38\u662f-1,\u6c38\u4e45\u7b49\u5f85\n\u8fd4\u56de\u503c\uff1a\nmsgid \u5982\u679c\u662f\u5b9a\u65f6\u5668\u6d88\u606f,\u4f1a\u8fd4\u56de\u5b9a\u65f6\u5668\u6d88\u606fid\u53ca\u9644\u52a0\u4fe1\u606f, \u5176\u4ed6\u6d88\u606f\u7531\u5e95\u5c42\u51b3\u5b9a,\u4e0d\u5411lua\u5c42\u8fdb\u884c\u4efb\u4f55\u4fdd\u8bc1.\n", "prefix": "rtos.receive"}, "rtos.timer_start": {"body": "rtos.timer_start(${1:id},${2:timeout},${3:_repeat})", "description": "rtos.timer_start(id,timeout,_repeat) - \u542f\u52a8\u4e00\u4e2a\u5b9a\u65f6\u5668\n\u4f20\u5165\u503c\uff1a\nint \u5b9a\u65f6\u5668id\nint \u8d85\u65f6\u65f6\u957f,\u5355\u4f4d\u6beb\u79d2\nint \u91cd\u590d\u6b21\u6570,\u9ed8\u8ba4\u662f0\n\u8fd4\u56de\u503c\uff1a\nid \u5982\u679c\u662f\u5b9a\u65f6\u5668\u6d88\u606f,\u4f1a\u8fd4\u56de\u5b9a\u65f6\u5668\u6d88\u606fid\u53ca\u9644\u52a0\u4fe1\u606f, \u5176\u4ed6\u6d88\u606f\u7531\u5e95\u5c42\u51b3\u5b9a,\u4e0d\u5411lua\u5c42\u8fdb\u884c\u4efb\u4f55\u4fdd\u8bc1.\n\u4f8b\u5b50\uff1a\n-- \u7528\u6237\u4ee3\u7801\u8bf7\u4f7f\u7528 sys.timerStart\n-- \u542f\u52a8\u4e00\u4e2a3\u79d2\u7684\u5faa\u73af\u5b9a\u65f6\u5668\nrtos.timer_start(10000, 3000, -1)\n", "prefix": "rtos.timer_start"}, "rtos.timer_stop": {"body": "rtos.timer_stop(${1:id})", "description": "rtos.timer_stop(id) - \u5173\u95ed\u5e76\u91ca\u653e\u4e00\u4e2a\u5b9a\u65f6\u5668\n\u4f20\u5165\u503c\uff1a\nint \u5b9a\u65f6\u5668id\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n-- \u7528\u6237\u4ee3\u7801\u8bf7\u4f7f\u7528sys.timerStop\nrtos.timer_stop(id)\n", "prefix": "rtos.timer_stop"}, "rtos.reboot": {"body": "rtos.reboot()", "description": "rtos.reboot() - \u8bbe\u5907\u91cd\u542f\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n", "prefix": "rtos.reboot"}, "rtos.buildDate": {"body": "rtos.buildDate()", "description": "rtos.buildDate() - \u83b7\u53d6\u56fa\u4ef6\u7f16\u8bd1\u65e5\u671f\n\u8fd4\u56de\u503c\uff1a\nstring \u56fa\u4ef6\u7f16\u8bd1\u65e5\u671f\n\u4f8b\u5b50\uff1a\n-- \u83b7\u53d6\u7f16\u8bd1\u65e5\u671f\nlocal d = rtos.buildDate()\n", "prefix": "rtos.buildDate"}, "rtos.bsp": {"body": "rtos.bsp()", "description": "rtos.bsp() - \u83b7\u53d6\u786c\u4ef6bsp\u578b\u53f7\n\u8fd4\u56de\u503c\uff1a\nstring \u786c\u4ef6bsp\u578b\u53f7\n\u4f8b\u5b50\uff1a\n-- \u83b7\u53d6\u786c\u4ef6bsp\u578b\u53f7\nlocal bsp = rtos.bsp()\n", "prefix": "rtos.bsp"}, "rtos.version": {"body": "rtos.version()", "description": "rtos.version() - \u83b7\u53d6\u56fa\u4ef6\u7248\u672c\u53f7\n\u8fd4\u56de\u503c\uff1a\nstring \u56fa\u4ef6\u7248\u672c\u53f7,\u4f8b\u5982\"V0001\"\n\u4f8b\u5b50\uff1a\n-- \u8bfb\u53d6\u7248\u672c\u53f7\nlocal luatos_version = rtos.version()\n", "prefix": "rtos.version"}, "rtos.standy": {"body": "rtos.standy(${1:timeout})", "description": "rtos.standy(timeout) - \u8fdb\u5165\u5f85\u673a\u6a21\u5f0f, \u4ec5\u90e8\u5206\u8bbe\u5907\u53ef\u7528, \u672cAPI\u5df2\u5e9f\u5f03, \u63a8\u8350\u4f7f\u7528pm\u5e93\n\u4f20\u5165\u503c\uff1a\nint \u4f11\u7720\u65f6\u957f,\u5355\u4f4d\u6beb\u79d2\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n-- \u8fdb\u5165\u5f85\u673a\u6a21\u5f0f\nrtos.standby(5000)\n", "prefix": "rtos.standy"}, "rtos.meminfo": {"body": "rtos.meminfo(${1:type})", "description": "rtos.meminfo(type) - \u83b7\u53d6\u5185\u5b58\u4fe1\u606f\n\u4f20\u5165\u503c\uff1a\ntype \"sys\"\u7cfb\u7edf\u5185\u5b58, \"lua\"\u865a\u62df\u673a\u5185\u5b58, \u9ed8\u8ba4\u4e3alua\u865a\u62df\u673a\u5185\u5b58\n\u8fd4\u56de\u503c\uff1a\nint \u603b\u5185\u5b58\u5927\u5c0f,\u5355\u4f4d\u5b57\u8282\nint \u5f53\u524d\u5df2\u4f7f\u7528\u7684\u5185\u5b58\u5927\u5c0f,\u5355\u4f4d\u5b57\u8282\nint \u5386\u53f2\u6700\u9ad8\u5df2\u4f7f\u7528\u7684\u5185\u5b58\u5927\u5c0f,\u5355\u4f4d\u5b57\u8282\n\u4f8b\u5b50\uff1a\n-- \u6253\u5370\u5185\u5b58\u5360\u7528\nlog.info(\"mem.lua\", rtos.meminfo())\nlog.info(\"mem.sys\", rtos.meminfo(\"sys\"))\n", "prefix": "rtos.meminfo"}, "rtos.firmware": {"body": "rtos.firmware()", "description": "rtos.firmware() - \u8fd4\u56de\u5e95\u5c42\u63cf\u8ff0\u4fe1\u606f,\u683c\u5f0f\u4e3a LuatOS_$VERSION_$BSP,\u53ef\u7528\u4e8eOTA\u5347\u7ea7\u5224\u65ad\u5e95\u5c42\u4fe1\u606f\n\u8fd4\u56de\u503c\uff1a\nstring \u5e95\u5c42\u63cf\u8ff0\u4fe1\u606f\n\u4f8b\u5b50\uff1a\n-- \u6253\u5370\u5e95\u5c42\u63cf\u8ff0\u4fe1\u606f\nlog.info(\"firmware\", rtos.firmware())\n", "prefix": "rtos.firmware"}, "rtos.setPaths": {"body": "rtos.setPaths(${1:pathA},${2:pathB},${3:pathC},${4:pathD})", "description": "rtos.setPaths(pathA, pathB, pathC, pathD) - \u8bbe\u7f6e\u81ea\u5b9a\u4e49lua\u811a\u672c\u641c\u7d22\u8def\u5f84,\u4f18\u5148\u7ea7\u9ad8\u4e8e\u5185\u7f6e\u8def\u5f84\n\u4f20\u5165\u503c\uff1a\nstring \u8def\u5f84A, \u4f8b\u5982 \"/sdcard/%s.luac\",\u82e5\u4e0d\u4f20\u503c,\u5c06\u9ed8\u8ba4\u4e3a\"\",\u53e6\u5916,\u6700\u5927\u957f\u5ea6\u4e0d\u80fd\u8d85\u8fc723\u5b57\u8282\nstring \u8def\u5f84B, \u4f8b\u5982 \"/sdcard/%s.lua\"\nstring \u8def\u5f84C, \u4f8b\u5982 \"/lfs2/%s.luac\"\nstring \u8def\u5f84D, \u4f8b\u5982 \"/lfs2/%s.lua\"\n\u4f8b\u5b50\uff1a\n-- \u6302\u8f7dsd\u5361\u6216\u8005spiflash\u540e\nrtos.setPaths(\"/sdcard/user/%s.luac\", \"/sdcard/user/%s.lua\")\nrequire(\"sd_user_main\") -- \u5c06\u641c\u7d22\u5e76\u52a0\u8f7d /sdcard/user/sd_user_main.luac \u548c /sdcard/user/sd_user_main.lua\n", "prefix": "rtos.setPaths"}, "rtos.nop": {"body": "rtos.nop()", "description": "rtos.nop() - \u7a7a\u51fd\u6570,\u4ec0\u4e48\u90fd\u4e0d\u505a\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n-- \u8fd9\u4e2a\u51fd\u6570\u5355\u7eaf\u5c31\u662f lua -> c -> lua \u8d70\u4e00\u904d\n-- \u6ca1\u6709\u53c2\u6570,\u6ca1\u6709\u8fd4\u56de\u503c,\u6ca1\u6709\u903b\u8f91\u5904\u7406\n-- \u5728\u7edd\u5927\u591a\u6570\u60c5\u51b5\u4e0b,\u4e0d\u4f1a\u9047\u5230\u8fd9\u4e2a\u51fd\u6570\u7684\u8c03\u7528\n-- \u5b83\u901a\u5e38\u53ea\u4f1a\u51fa\u73b0\u5728\u6027\u80fd\u6d4b\u8bd5\u7684\u4ee3\u7801\u91cc, \u56e0\u4e3a\u5b83\u4ec0\u4e48\u90fd\u4e0d\u5e72.\nrtos.nop()\n", "prefix": "rtos.nop"}, "rtos.autoCollectMem": {"body": "rtos.autoCollectMem(${1:period},${2:warning_level},${3:force_level})", "description": "rtos.autoCollectMem(period, warning_level, force_level) - \u5185\u5b58\u81ea\u52a8\u6536\u96c6\u914d\u7f6e\uff0c\u662flua\u672c\u8eab\u6536\u96c6\u673a\u5236\u7684\u4e00\u79cd\u8865\u5145\uff0c\u4e0d\u662f\u5fc5\u8981\u7684\uff0c\u800c\u4e14\u53ea\u5728luavm\u7a7a\u95f2\u65f6\u89e6\u53d1\n", "prefix": "rtos.autoCollectMem"}, "sdio.init": {"body": "sdio.init(${1:id})", "description": "sdio.init(id) - \u521d\u59cb\u5316sdio\n\u4f20\u5165\u503c\uff1a\nint \u901a\u9053id,\u4e0e\u5177\u4f53\u8bbe\u5907\u6709\u5173,\u901a\u5e38\u4ece0\u5f00\u59cb,\u9ed8\u8ba40\n\u8fd4\u56de\u503c\uff1a\nboolean \u6253\u5f00\u7ed3\u679c\n", "prefix": "sdio.init"}, "sdio.sd_read": {"body": "sdio.sd_read(${1:id},${2:offset},${3:len})", "description": "sdio.sd_read(id, offset, len) - \u76f4\u63a5\u8bfb\u5199sd\u5361\u4e0a\u7684\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nint sdio\u603b\u7ebfid\nint \u504f\u79fb\u91cf,\u5fc5\u987b\u662f512\u7684\u500d\u6570\nint \u957f\u5ea6,\u5fc5\u987b\u662f512\u7684\u500d\u6570\n\u8fd4\u56de\u503c\uff1a\nstring \u82e5\u8bfb\u53d6\u6210\u529f,\u8fd4\u56de\u5b57\u7b26\u4e32,\u5426\u5219\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\n-- \u521d\u59cb\u5316sdio\u5e76\u76f4\u63a5\u8bfb\u53d6sd\u5361\u6570\u636e\nsdio.init(0)\nlocal t = sdio.sd_read(0, 0, 1024)\nif t then\n --- xxx\nend\n", "prefix": "sdio.sd_read"}, "sdio.sd_write": {"body": "sdio.sd_write(${1:id},${2:data},${3:offset})", "description": "sdio.sd_write(id, data, offset) - \u76f4\u63a5\u5199sd\u5361\n\u4f20\u5165\u503c\uff1a\nint sdio\u603b\u7ebfid\nstring \u5f85\u5199\u5165\u7684\u6570\u636e,\u957f\u5ea6\u5fc5\u987b\u662f512\u7684\u500d\u6570\nint \u504f\u79fb\u91cf,\u5fc5\u987b\u662f512\u7684\u500d\u6570\n\u8fd4\u56de\u503c\uff1a\nbool \u82e5\u8bfb\u53d6\u6210\u529f,\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- \u521d\u59cb\u5316sdio\u5e76\u76f4\u63a5\u8bfb\u53d6sd\u5361\u6570\u636e\nsdio.init(0)\nlocal t = sdio.sd_write(0, data, 0)\nif t then\n --- xxx\nend\n", "prefix": "sdio.sd_write"}, "sensor.ds18b20": {"body": "sensor.ds18b20(${1:pin})", "description": "sensor.ds18b20(pin) - \u83b7\u53d6DS18B20\u7684\u6e29\u5ea6\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nint gpio\u7aef\u53e3\u53f7\nboolean \u662f\u5426\u6821\u9a8ccrc\u503c,\u9ed8\u8ba4\u4e3atrue. \u4e0d\u6821\u9a8ccrc\u503c\u80fd\u63d0\u9ad8\u8bfb\u53d6\u6210\u529f\u7684\u6982\u7387,\u4f46\u53ef\u80fd\u4f1a\u8bfb\u53d6\u5230\u9519\u8bef\u7684\u503c\n\u8fd4\u56de\u503c\uff1a\nint \u6e29\u5ea6\u6570\u636e,\u5355\u4f4d0.1\u6444\u6c0f\u5ea6\uff0c\u8bfb\u53d6\u5931\u8d25\u65f6\u8fd4\u56de\u9519\u8bef\u7801\nboolean \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\nwhile 1 do\n sys.wait(5000)\n local val,result = sensor.ds18b20(17, true) -- GPIO17\u4e14\u6821\u9a8cCRC\u503c\n -- val 301 == 30.1\u6444\u6c0f\u5ea6\n -- result true \u8bfb\u53d6\u6210\u529f\n log.info(\"ds18b20\", val, result)\nend\n", "prefix": "sensor.ds18b20"}, "sensor.w1_reset": {"body": "sensor.w1_reset(${1:pin})", "description": "sensor.w1_reset(pin) - \u5355\u603b\u7ebf\u534f\u8bae,\u590d\u4f4d\u8bbe\u5907\n\u4f20\u5165\u503c\uff1a\nint gpio\u7aef\u53e3\u53f7\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\n", "prefix": "sensor.w1_reset"}, "sensor.w1_connect": {"body": "sensor.w1_connect(${1:pin})", "description": "sensor.w1_connect(pin) - \u5355\u603b\u7ebf\u534f\u8bae,\u8fde\u63a5\u8bbe\u5907\n\u4f20\u5165\u503c\uff1a\nint gpio\u7aef\u53e3\u53f7\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue,\u5931\u8d25\u8fd4\u56defalse\n", "prefix": "sensor.w1_connect"}, "sensor.w1_write": {"body": "sensor.w1_write(${1:pin},${2:data1},${3:data2})", "description": "sensor.w1_write(pin, data1,data2) - \u5355\u603b\u7ebf\u534f\u8bae,\u5f80\u603b\u7ebf\u5199\u5165\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nint gpio\u7aef\u53e3\u53f7\nint \u7b2c\u4e00\u4e2a\u6570\u636e\nint \u7b2c\u4e8c\u4e2a\u6570\u636e, \u53ef\u4ee5\u5199N\u4e2a\u6570\u636e\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n", "prefix": "sensor.w1_write"}, "sensor.w1_read": {"body": "sensor.w1_read(${1:pin},${2:len})", "description": "sensor.w1_read(pin, len) - \u5355\u603b\u7ebf\u534f\u8bae,\u4ece\u603b\u7ebf\u8bfb\u53d6\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nint gpio\u7aef\u53e3\u53f7\nint \u8bfb\u53d6\u7684\u957f\u5ea6\n\u8fd4\u56de\u503c\uff1a\nint \u6309\u8bfb\u53d6\u7684\u957f\u5ea6\u8fd4\u56deN\u4e2a\u6574\u6570\n", "prefix": "sensor.w1_read"}, "sensor.hx711": {"body": "sensor.hx711(${1:pin_date},${2:pin_clk})", "description": "sensor.hx711(pin_date,pin_clk) - \u83b7\u53d6Hx711\u7684\u538b\u529b\u4f20\u611f\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nint \u6570\u636e\u7684gpio\u7aef\u53e3\u53f7\nint \u65f6\u949f\u7684gpio\u7aef\u53e3\u53f7\n\u8fd4\u56de\u503c\uff1a\nint hx711\u8bfb\u5230\u7684\u6570\u636e\n\u4f8b\u5b50\uff1a\n-- \u5982\u679c\u8bbe\u5907\u4e0d\u5b58\u5728\u4f1a\u5361\u5728\u8bfb\u53d6\u63a5\u53e3\nsys.taskInit(\n function()\n sys.wait(1000)\n local maopi = sensor.hx711(0,7)\n while true do\n sys.wait(2000)\n a = sensor.hx711(0,7) - maopi\n if a > 0 then\n log.info(\"tag\", a / 4.6)\n end\n end\n end\n)\n", "prefix": "sensor.hx711"}, "sensor.ws2812b": {"body": "sensor.ws2812b(${1:pin},${2:data},${3:T0H},${4:T0L},${5:T1H},${6:T1L})", "description": "sensor.ws2812b(pin,data,T0H,T0L,T1H,T1L) - \u8bbe\u7f6ews2812b\u8f93\u51fa(gpio\u9a71\u52a8\u65b9\u5f0f)\n\u4f20\u5165\u503c\uff1a\nint ws2812b\u7684gpio\u7aef\u53e3\u53f7\nstring/zbuff \u5f85\u53d1\u9001\u7684\u6570\u636e\uff08\u5982\u679c\u4e3azbuff\u6570\u636e\uff0c\u5219\u4f1a\u65e0\u89c6\u6307\u9488\u4f4d\u7f6e\u59cb\u7ec8\u4ece0\u504f\u79fb\u5f00\u59cb\uff09\nint T0H\u65f6\u95f4\uff0c\u8868\u793a\u5ef6\u65f6\u591a\u5c11\u4e2anop\uff0c\u6bcf\u4e2a\u578b\u53f7\u4e0d\u4e00\u6837\uff0c\u81ea\u5df1\u8c03\nint T0L\u65f6\u95f4\uff0c\u8868\u793a\u5ef6\u65f6\u591a\u5c11\u4e2anop\nint T1H\u65f6\u95f4\uff0c\u8868\u793a\u5ef6\u65f6\u591a\u5c11\u4e2anop\nint T1L\u65f6\u95f4\uff0c\u8868\u793a\u5ef6\u65f6\u591a\u5c11\u4e2anop\n\u4f8b\u5b50\uff1a\nlocal buff = zbuff.create({8,8,24})\nbuff:drawLine(1,2,5,6,0x00ffff)\nsensor.ws2812b(7,buff,300,700,700,700)\n", "prefix": "sensor.ws2812b"}, "sensor.ws2812b_pwm": {"body": "sensor.ws2812b_pwm(${1:pin},${2:data})", "description": "sensor.ws2812b_pwm(pin,data) - \u8bbe\u7f6ews2812b\u8f93\u51fa(pwm\u9a71\u52a8\u65b9\u5f0f,\u9700\u8981pwm\u80fd\u8f93\u51fa800k\u9891\u7387\uff0c\u5426\u5219\u65e0\u6cd5\u4f7f\u7528\u6b64\u65b9\u6cd5)\n\u4f20\u5165\u503c\uff1a\nint pwm\u7aef\u53e3\u53f7\nstring/zbuff \u5f85\u53d1\u9001\u7684\u6570\u636e\uff08\u5982\u679c\u4e3azbuff\u6570\u636e\uff0c\u5219\u4f1a\u65e0\u89c6\u6307\u9488\u4f4d\u7f6e\u59cb\u7ec8\u4ece0\u504f\u79fb\u5f00\u59cb\uff09\n\u4f8b\u5b50\uff1a\nlocal buff = zbuff.create({8,8,24})\nbuff:setFrameBuffer(8,8,24,0x0000ff)\nsensor.ws2812b_pwm(7,buff)\n", "prefix": "sensor.ws2812b_pwm"}, "sensor.ws2812b_spi": {"body": "sensor.ws2812b_spi(${1:pin},${2:data})", "description": "sensor.ws2812b_spi(pin,data) - \u8bbe\u7f6ews2812b\u8f93\u51fa(spi\u9a71\u52a8\u65b9\u5f0f,\u9700\u8981spi\u80fd\u8f93\u51fa5M\u9891\u7387\uff0c\u5426\u5219\u65e0\u6cd5\u4f7f\u7528\u6b64\u65b9\u6cd5)\n\u4f20\u5165\u503c\uff1a\nint spi\u7aef\u53e3\u53f7\nstring/zbuff \u5f85\u53d1\u9001\u7684\u6570\u636e\uff08\u5982\u679c\u4e3azbuff\u6570\u636e\uff0c\u5219\u4f1a\u65e0\u89c6\u6307\u9488\u4f4d\u7f6e\u59cb\u7ec8\u4ece0\u504f\u79fb\u5f00\u59cb\uff09\n\u4f8b\u5b50\uff1a\nlocal buff = zbuff.create({8,8,24})\nbuff:setFrameBuffer(8,8,24,0x0000ff)\nsensor.ws2812b_spi(2,buff)\n", "prefix": "sensor.ws2812b_spi"}, "sensor.dht1x": {"body": "sensor.dht1x(${1:pin})", "description": "sensor.dht1x(pin) - \u83b7\u53d6DHT11/DHT12\u7684\u6e29\u6e7f\u5ea6\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nint gpio\u7aef\u53e3\u53f7\nboolean \u662f\u5426\u6821\u9a8ccrc\u503c,\u9ed8\u8ba4\u4e3atrue. \u4e0d\u6821\u9a8ccrc\u503c\u80fd\u63d0\u9ad8\u8bfb\u53d6\u6210\u529f\u7684\u6982\u7387,\u4f46\u53ef\u80fd\u4f1a\u8bfb\u53d6\u5230\u9519\u8bef\u7684\u503c\n\u8fd4\u56de\u503c\uff1a\nint \u6e7f\u5ea6\u6570\u636e,\u5355\u4f4d0.01%\uff0c\u8bfb\u53d6\u5931\u8d25\u65f6\u8fd4\u56de\u9519\u8bef\u503c\nint \u6e29\u5ea6\u6570\u636e,\u5355\u4f4d0.01\u6444\u6c0f\u5ea6\uff0c\u8bfb\u53d6\u5931\u8d25\u65f6\u8fd4\u56de\u9519\u8bef\u503c\nboolean \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\nwhile 1 do\n sys.wait(1000)\n local h,t,r = sensor.dht1x(17, true) -- GPIO17\u4e14\u6821\u9a8cCRC\u503c\n log.info(\"dht11\", h/100,t/100,r)--90.1 23.22\nend\n", "prefix": "sensor.dht1x"}, "sfd.init": {"body": "sfd.init(${1:type},${2:spi_id},${3:spi_cs})", "description": "sfd.init(type, spi_id, spi_cs) - \u521d\u59cb\u5316spi flash\n\u4f20\u5165\u503c\uff1a\nstring \u7c7b\u578b, \u53ef\u4ee5\u662f\"spi\", \u4e5f\u53ef\u4ee5\u662f\"zbuff\", \u6216\u8005\"onchip\"\nint SPI\u603b\u7ebf\u7684id, \u6216\u8005 zbuff\u5b9e\u4f8b\nint SPI FLASH\u7684\u7247\u9009\u811a\u5bf9\u5e94\u7684GPIO, \u5f53\u7c7b\u578b\u662fspi\u65f6\u624d\u9700\u8981\u4f20\n\u8fd4\u56de\u503c\uff1a\nuserdata \u6210\u529f\u8fd4\u56de\u4e00\u4e2a\u6570\u636e\u7ed3\u6784,\u5426\u5219\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\nlocal drv = sfd.init(\"spi\", 0, 17)\nif drv then\n log.info(\"sfd\", \"chip id\", sfd.id(drv):toHex())\nend\n-- 2023.01.15\u4e4b\u540e\u7684\u56fa\u4ef6\u652f\u6301onchip\u7c7b\u578b, \u652f\u6301\u76f4\u63a5\u8bfb\u5199\u7247\u4e0aflash\u7684\u4e00\u5c0f\u5757\u533a\u57df,\u4e00\u822c\u662f64k\n-- \u8fd9\u5757\u533a\u57df\u901a\u5e38\u662ffdb/fskv\u5e93\u6240\u5728\u7684\u533a\u57df, \u6240\u4ee5\u4e0d\u8981\u6df7\u7740\u7528\nlocal onchip = sfd.init(\"onchip\")\nlocal data = sfd.read(onchip, 0x100, 256)\nsfd.erase(onchip, 0x100)\nsfd.write(onchip, 0x100, data or \"Hi\")\n\n", "prefix": "sfd.init"}, "sfd.status": {"body": "sfd.status(${1:drv})", "description": "sfd.status(drv) - \u68c0\u67e5spi flash\u72b6\u6001\n\u4f20\u5165\u503c\uff1a\nuserdata sfd.init\u8fd4\u56de\u7684\u6570\u636e\u7ed3\u6784\n\u8fd4\u56de\u503c\uff1a\nint \u72b6\u6001\u503c, 0 \u672a\u521d\u59cb\u5316\u6210\u529f,1\u521d\u59cb\u5316\u6210\u529f\u4e14\u7a7a\u95f2,2\u6b63\u5fd9\n\u4f8b\u5b50\uff1a\nlocal drv = sfd.init(\"spi\", 0, 17)\nif drv then\n log.info(\"sfd\", \"status\", sfd.status(drv))\nend\n", "prefix": "sfd.status"}, "sfd.read": {"body": "sfd.read(${1:drv},${2:offset},${3:len})", "description": "sfd.read(drv, offset, len) - \u8bfb\u53d6\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nuserdata sfd.init\u8fd4\u56de\u7684\u6570\u636e\u7ed3\u6784\nint \u8d77\u59cb\u504f\u79fb\u91cf\nint \u8bfb\u53d6\u957f\u5ea6,\u5f53\u524d\u9650\u5236\u5728256\u4ee5\u5185\n\u8fd4\u56de\u503c\uff1a\nstring \u6570\u636e\n\u4f8b\u5b50\uff1a\nlocal drv = sfd.init(\"spi\", 0, 17)\nif drv then\n log.info(\"sfd\", \"read\", sfd.read(drv, 0x100, 256))\nend\n", "prefix": "sfd.read"}, "sfd.write": {"body": "sfd.write(${1:drv},${2:offset},${3:data})", "description": "sfd.write(drv, offset, data) - \u5199\u5165\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nuserdata sfd.init\u8fd4\u56de\u7684\u6570\u636e\u7ed3\u6784\nint \u8d77\u59cb\u504f\u79fb\u91cf\nstring \u9700\u8981\u5199\u5165\u7684\u6570\u636e,\u5f53\u524d\u652f\u6301256\u5b57\u8282\u53ca\u4ee5\u4e0b\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue,\u5931\u8d25\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\nlocal drv = sfd.init(\"spi\", 0, 17)\nif drv then\n log.info(\"sfd\", \"write\", sfd.write(drv, 0x100, \"hi,luatos\"))\nend\n", "prefix": "sfd.write"}, "sfd.erase": {"body": "sfd.erase(${1:drv},${2:offset})", "description": "sfd.erase(drv, offset) - \u64e6\u9664\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nuserdata sfd.init\u8fd4\u56de\u7684\u6570\u636e\u7ed3\u6784\nint \u8d77\u59cb\u504f\u79fb\u91cf\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue,\u5931\u8d25\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\nlocal drv = sfd.init(\"spi\", 0, 17)\nif drv then\n log.info(\"sfd\", \"write\", sfd.erase(drv, 0x100))\nend\n", "prefix": "sfd.erase"}, "sfd.id": {"body": "sfd.id(${1:drv})", "description": "sfd.id(drv) - \u82af\u7247\u552f\u4e00id\n\u4f20\u5165\u503c\uff1a\nuserdata sfd.init\u8fd4\u56de\u7684\u6570\u636e\u7ed3\u6784\n\u8fd4\u56de\u503c\uff1a\nstring 8\u5b57\u8282(64bit)\u7684\u82af\u7247id\n\u4f8b\u5b50\uff1a\nlocal drv = sfd.init(\"spi\", 0, 17)\nif drv then\n log.info(\"sfd\", \"chip id\", sfd.id(drv))\nend\n", "prefix": "sfd.id"}, "sfud.init": {"body": "sfud.init(${1:spi_id},${2:spi_cs},${3:spi_bandrate)/sfud.init(spi_device})", "description": "sfud.init(spi_id, spi_cs, spi_bandrate)/sfud.init(spi_device) - \u521d\u59cb\u5316sfud\n\u4f20\u5165\u503c\uff1a\nint spi_id SPI\u7684ID/userdata spi_device\nint spi_cs SPI\u7684\u7247\u9009\nint spi_bandrate SPI\u7684\u9891\u7387\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n--spi\nlog.info(\"sfud.init\",sfud.init(0,20,20 * 1000 * 1000))\n--spi_device\nlocal spi_device = spi.deviceSetup(0,17,0,0,8,2000000,spi.MSB,1,0)\nlog.info(\"sfud.init\",sfud.init(spi_device))\n", "prefix": "sfud.init"}, "sfud.getDeviceNum": {"body": "sfud.getDeviceNum()", "description": "sfud.getDeviceNum() - \u83b7\u53d6flash\u8bbe\u5907\u4fe1\u606f\u8868\u4e2d\u7684\u8bbe\u5907\u603b\u6570\n\u8fd4\u56de\u503c\uff1a\nint \u8fd4\u56de\u8bbe\u5907\u603b\u6570\n\u4f8b\u5b50\uff1a\nlog.info(\"sfud.getDeviceNum\",sfud.getDeviceNum())\n", "prefix": "sfud.getDeviceNum"}, "sfud.getDevice": {"body": "sfud.getDevice(${1:index})", "description": "sfud.getDevice(index) - \u901a\u8fc7flash\u4fe1\u606f\u8868\u4e2d\u7684\u7d22\u5f15\u83b7\u53d6flash\u8bbe\u5907\n\u4f20\u5165\u503c\uff1a\nint index flash\u4fe1\u606f\u8868\u4e2d\u7684\u7d22\u5f15\n\u8fd4\u56de\u503c\uff1a\nuserdata \u6210\u529f\u8fd4\u56de\u4e00\u4e2a\u6570\u636e\u7ed3\u6784,\u5426\u5219\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\nlocal sfud_device = sfud.getDevice(1)\n", "prefix": "sfud.getDevice"}, "sfud.getDeviceTable": {"body": "sfud.getDeviceTable()", "description": "sfud.getDeviceTable() - \u83b7\u53d6flash\u8bbe\u5907\u4fe1\u606f\u8868\n\u8fd4\u56de\u503c\uff1a\nuserdata \u6210\u529f\u8fd4\u56de\u4e00\u4e2a\u6570\u636e\u7ed3\u6784,\u5426\u5219\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\nlocal sfud_device = sfud.getDeviceTable()\n", "prefix": "sfud.getDeviceTable"}, "sfud.chipErase": {"body": "sfud.chipErase(${1:flash})", "description": "sfud.chipErase(flash) - \u64e6\u9664 Flash \u5168\u90e8\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nuserdata flash Flash \u8bbe\u5907\u5bf9\u8c61 sfud.get_device_table()\u8fd4\u56de\u7684\u6570\u636e\u7ed3\u6784\n\u8fd4\u56de\u503c\uff1a\nint \u6210\u529f\u8fd4\u56de0\n\u4f8b\u5b50\uff1a\nsfud.chipErase(flash)\n", "prefix": "sfud.chipErase"}, "sfud.erase": {"body": "sfud.erase(${1:flash},${2:add},${3:size})", "description": "sfud.erase(flash,add,size) - \u64e6\u9664 Flash \u6307\u5b9a\u5730\u5740\u6307\u5b9a\u5927\u5c0f\n\u4f20\u5165\u503c\uff1a\nuserdata flash Flash \u8bbe\u5907\u5bf9\u8c61 sfud.get_device_table()\u8fd4\u56de\u7684\u6570\u636e\u7ed3\u6784\nnumber add \u64e6\u9664\u5730\u5740\nnumber size \u64e6\u9664\u5927\u5c0f\n\u8fd4\u56de\u503c\uff1a\nint \u6210\u529f\u8fd4\u56de0\n\u4f8b\u5b50\uff1a\nsfud.erase(flash,add,size)\n", "prefix": "sfud.erase"}, "sfud.read": {"body": "sfud.read(${1:flash},${2:addr},${3:size})", "description": "sfud.read(flash, addr, size) - \u8bfb\u53d6 Flash \u6570\u636e\n\u4f20\u5165\u503c\uff1a\nuserdata flash Flash \u8bbe\u5907\u5bf9\u8c61 sfud.get_device_table()\u8fd4\u56de\u7684\u6570\u636e\u7ed3\u6784\nint addr \u8d77\u59cb\u5730\u5740\nint size \u4ece\u8d77\u59cb\u5730\u5740\u5f00\u59cb\u8bfb\u53d6\u6570\u636e\u7684\u603b\u5927\u5c0f\n\u8fd4\u56de\u503c\uff1a\nstring data \u8bfb\u53d6\u5230\u7684\u6570\u636e\n\u4f8b\u5b50\uff1a\nlog.info(\"sfud.read\",sfud.read(sfud_device,1024,4))\n", "prefix": "sfud.read"}, "sfud.write": {"body": "sfud.write(${1:flash},${2:addr},${3:data})", "description": "sfud.write(flash, addr,data) - \u5411 Flash \u5199\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nuserdata flash Flash \u8bbe\u5907\u5bf9\u8c61 sfud.get_device_table()\u8fd4\u56de\u7684\u6570\u636e\u7ed3\u6784\nint addr \u8d77\u59cb\u5730\u5740\nstring data \u5f85\u5199\u5165\u7684\u6570\u636e\n\u8fd4\u56de\u503c\uff1a\nint \u6210\u529f\u8fd4\u56de0\n\u4f8b\u5b50\uff1a\nlog.info(\"sfud.write\",sfud.write(sfud_device,1024,\"sfud\"))\n", "prefix": "sfud.write"}, "sfud.eraseWrite": {"body": "sfud.eraseWrite(${1:flash},${2:addr},${3:data})", "description": "sfud.eraseWrite(flash, addr,data) - \u5148\u64e6\u9664\u518d\u5f80 Flash \u5199\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nuserdata flash Flash \u8bbe\u5907\u5bf9\u8c61 sfud.get_device_table()\u8fd4\u56de\u7684\u6570\u636e\u7ed3\u6784\nint addr \u8d77\u59cb\u5730\u5740\nstring data \u5f85\u5199\u5165\u7684\u6570\u636e\n\u8fd4\u56de\u503c\uff1a\nint \u6210\u529f\u8fd4\u56de0\n\u4f8b\u5b50\uff1a\nlog.info(\"sfud.eraseWrite\",sfud.eraseWrite(sfud_device,1024,\"sfud\"))\n", "prefix": "sfud.eraseWrite"}, "sfud.mount": {"body": "sfud.mount(${1:flash},${2:mount_point},${3:offset},${4:maxsize})", "description": "sfud.mount(flash, mount_point, offset, maxsize) - \u6302\u8f7dsfud lfs\u6587\u4ef6\u7cfb\u7edf\n\u4f20\u5165\u503c\uff1a\nuserdata flash Flash \u8bbe\u5907\u5bf9\u8c61 sfud.get_device_table()\u8fd4\u56de\u7684\u6570\u636e\u7ed3\u6784\nstring mount_point \u6302\u8f7d\u76ee\u5f55\u540d\nint \u8d77\u59cb\u504f\u79fb\u91cf,\u9ed8\u8ba40\nint \u603b\u5927\u5c0f, \u9ed8\u8ba4\u662f\u6574\u4e2aflash\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue\n\u4f8b\u5b50\uff1a\nlog.info(\"sfud.mount\",sfud.mount(sfud_device,\"/sfud\"))\nlog.info(\"fsstat\", fs.fsstat(\"/\"))\nlog.info(\"fsstat\", fs.fsstat(\"/sfud\"))\n", "prefix": "sfud.mount"}, "sms.send": {"body": "sms.send(${1:phone},${2:msg},${3:auto_phone_fix})", "description": "sms.send(phone, msg, auto_phone_fix) - \u53d1\u9001\u77ed\u4fe1\n\u4f20\u5165\u503c\uff1a\nstring \u7535\u8bdd\u53f7\u7801,\u5fc5\u586b\nstring \u77ed\u4fe1\u5185\u5bb9,\u5fc5\u586b\nbool \u662f\u5426\u81ea\u52a8\u5904\u7406\u7535\u8bdd\u53f7\u53f7\u7801\u7684\u683c\u5f0f,\u9ed8\u8ba4\u662f\u6309\u77ed\u4fe1\u5185\u5bb9\u548c\u53f7\u7801\u683c\u5f0f\u8fdb\u884c\u81ea\u52a8\u5224\u65ad, \u8bbe\u7f6e\u4e3afalse\u53ef\u7981\u7528\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\u6216nil\n", "prefix": "sms.send"}, "sms.setNewSmsCb": {"body": "sms.setNewSmsCb(${1:func})", "description": "sms.setNewSmsCb(func) - \u8bbe\u7f6e\u65b0SMS\u7684\u56de\u8c03\u51fd\u6570\n\u4f20\u5165\u503c\uff1a\nfunction \u56de\u8c03\u51fd\u6570, 3\u4e2a\u53c2\u6570, num, txt, metas\n\u8fd4\u56de\u503c\uff1a\nnil \u4f20\u5165\u662f\u51fd\u6570\u5c31\u80fd\u6210\u529f,\u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n\nsms.setNewSmsCb(function(num, txt, metas)\n -- num \u624b\u673a\u53f7\u7801\n -- txt \u6587\u672c\u5185\u5bb9\n -- metas \u77ed\u4fe1\u7684\u5143\u6570\u636e,\u4f8b\u5982\u53d1\u9001\u7684\u65f6\u95f4,\u957f\u77ed\u4fe1\u7f16\u53f7\n -- \u6ce8\u610f, \u957f\u77ed\u4fe1\u4f1a\u81ea\u52a8\u5408\u5e76\u6210\u4e00\u6761txt\n log.info(\"sms\", num, txt, metas and json.encode(metas) or \"\")\nend)\n", "prefix": "sms.setNewSmsCb"}, "sms.autoLong": {"body": "sms.autoLong(${1:mode})", "description": "sms.autoLong(mode) - \u8bbe\u7f6e\u957f\u77ed\u4fe1\u7684\u81ea\u52a8\u5408\u5e76\u529f\u80fd\n\u4f20\u5165\u503c\uff1a\nbool \u662f\u5426\u81ea\u52a8\u5408\u5e76,true\u4e3a\u81ea\u52a8\u5408\u5e76,\u4e3a\u9ed8\u8ba4\u503c\n\u8fd4\u56de\u503c\uff1a\nbool \u8bbe\u7f6e\u540e\u7684\u503c\n\u4f8b\u5b50\uff1a\n-- \u7981\u7528\u957f\u77ed\u4fe1\u7684\u81ea\u52a8\u5408\u5e76, \u4e00\u822c\u4e0d\u9700\u8981\u7981\u7528\nsms.autoLong(false)\n", "prefix": "sms.autoLong"}, "sms.clearLong": {"body": "sms.clearLong()", "description": "sms.clearLong() - \u6e05\u9664\u957f\u77ed\u4fe1\u7f13\u5b58\n\u8fd4\u56de\u503c\uff1a\nint \u6e05\u7406\u6389\u7684\u7247\u6bb5\u6570\u91cf\n\u4f8b\u5b50\uff1a\nsms.clearLong()\n", "prefix": "sms.clearLong"}, "socket.sntp": {"body": "socket.sntp(${1:sntp_server})", "description": "socket.sntp(sntp_server) - sntp\u65f6\u95f4\u540c\u6b65\n\u4f20\u5165\u503c\uff1a\nstring/table sntp\u670d\u52a1\u5668\u5730\u5740 \u9009\u586b\nint \u9002\u914d\u5668\u5e8f\u53f7\uff0c \u53ea\u80fd\u662fsocket.ETH0\uff08\u5916\u7f6e\u4ee5\u592a\u7f51\uff09\uff0csocket.LWIP_ETH\uff08\u5185\u7f6e\u4ee5\u592a\u7f51\uff09\uff0csocket.LWIP_STA\uff08\u5185\u7f6eWIFI\u7684STA\uff09\uff0csocket.LWIP_AP\uff08\u5185\u7f6eWIFI\u7684AP\uff09\uff0csocket.LWIP_GP\uff08\u5185\u7f6e\u8702\u7a9d\u7f51\u7edc\u7684GPRS\uff09\uff0csocket.USB\uff08\u5916\u7f6eUSB\u7f51\u5361\uff09\uff0c\u5982\u679c\u4e0d\u586b\uff0c\u4f18\u5148\u9009\u62e9soc\u5e73\u53f0\u81ea\u5e26\u80fd\u4e0a\u5916\u7f51\u7684\u9002\u914d\u5668\uff0c\u82e5\u4ecd\u7136\u6ca1\u6709\uff0c\u9009\u62e9\u6700\u540e\u4e00\u4e2a\u6ce8\u518c\u7684\u9002\u914d\u5668\n\u4f8b\u5b50\uff1a\nsocket.sntp()\n--socket.sntp(\"ntp.aliyun.com\") --\u81ea\u5b9a\u4e49sntp\u670d\u52a1\u5668\u5730\u5740\n--socket.sntp({\"ntp.aliyun.com\",\"ntp1.aliyun.com\",\"ntp2.aliyun.com\"}) --sntp\u81ea\u5b9a\u4e49\u670d\u52a1\u5668\u5730\u5740\n--socket.sntp(nil, socket.ETH0) --sntp\u81ea\u5b9a\u4e49\u9002\u914d\u5668\u5e8f\u53f7\nsys.subscribe(\"NTP_UPDATE\", function()\n log.info(\"sntp\", \"time\", os.date())\nend)\nsys.subscribe(\"NTP_ERROR\", function()\n log.info(\"socket\", \"sntp error\")\n socket.sntp()\nend)\n", "prefix": "socket.sntp"}, "socket.localIP": {"body": "socket.localIP(${1:adapter})", "description": "socket.localIP(adapter) - \u83b7\u53d6\u672c\u5730ip\n\u4f20\u5165\u503c\uff1a\nint \u9002\u914d\u5668\u5e8f\u53f7\uff0c \u53ea\u80fd\u662fsocket.ETH0\uff08\u5916\u7f6e\u4ee5\u592a\u7f51\uff09\uff0csocket.LWIP_ETH\uff08\u5185\u7f6e\u4ee5\u592a\u7f51\uff09\uff0csocket.LWIP_STA\uff08\u5185\u7f6eWIFI\u7684STA\uff09\uff0csocket.LWIP_AP\uff08\u5185\u7f6eWIFI\u7684AP\uff09\uff0csocket.LWIP_GP\uff08\u5185\u7f6e\u8702\u7a9d\u7f51\u7edc\u7684GPRS\uff09\uff0csocket.USB\uff08\u5916\u7f6eUSB\u7f51\u5361\uff09\uff0c\u5982\u679c\u4e0d\u586b\uff0c\u4f18\u5148\u9009\u62e9soc\u5e73\u53f0\u81ea\u5e26\u80fd\u4e0a\u5916\u7f51\u7684\u9002\u914d\u5668\uff0c\u82e5\u4ecd\u7136\u6ca1\u6709\uff0c\u9009\u62e9\u6700\u540e\u4e00\u4e2a\u6ce8\u518c\u7684\u9002\u914d\u5668\n\u8fd4\u56de\u503c\uff1a\nstring \u901a\u5e38\u662f\u5185\u7f51ip, \u4e5f\u53ef\u80fd\u662f\u5916\u7f51ip, \u53d6\u51b3\u4e8e\u8fd0\u8425\u5546\u7684\u5206\u914d\nstring \u7f51\u7edc\u63a9\u7801\nstring \u7f51\u5173IP\n\u4f8b\u5b50\uff1a\nsys.taskInit(function()\n while 1 do\n sys.wait(3000)\n log.info(\"socket\", \"ip\", socket.localIP())\n\t\t-- \u8f93\u51fa\u793a\u4f8b\n\t\t-- 62.39.244.10\t255.255.255.255\t0.0.0.0\n end\nend)\n", "prefix": "socket.localIP"}, "socket.create": {"body": "socket.create(${1:adapter},${2:cb})", "description": "socket.create(adapter, cb) - \u5728\u67d0\u4e2a\u9002\u914d\u7684\u7f51\u5361\u4e0a\u7533\u8bf7\u4e00\u4e2asocket_ctrl\n\u4f20\u5165\u503c\uff1a\nint \u9002\u914d\u5668\u5e8f\u53f7\uff0c \u53ea\u80fd\u662fsocket.ETH0\uff08\u5916\u7f6e\u4ee5\u592a\u7f51\uff09\uff0csocket.LWIP_ETH\uff08\u5185\u7f6e\u4ee5\u592a\u7f51\uff09\uff0csocket.LWIP_STA\uff08\u5185\u7f6eWIFI\u7684STA\uff09\uff0csocket.LWIP_AP\uff08\u5185\u7f6eWIFI\u7684AP\uff09\uff0csocket.LWIP_GP\uff08\u5185\u7f6e\u8702\u7a9d\u7f51\u7edc\u7684GPRS\uff09\uff0csocket.USB\uff08\u5916\u7f6eUSB\u7f51\u5361\uff09\uff0c\u5982\u679c\u4e0d\u586b\uff0c\u4f18\u5148\u9009\u62e9soc\u5e73\u53f0\u81ea\u5e26\u80fd\u4e0a\u5916\u7f51\u7684\u9002\u914d\u5668\uff0c\u82e5\u4ecd\u7136\u6ca1\u6709\uff0c\u9009\u62e9\u6700\u540e\u4e00\u4e2a\u6ce8\u518c\u7684\u9002\u914d\u5668\nstring or function string\u4e3a\u6d88\u606f\u901a\u77e5\u7684taskName\uff0cfunction\u5219\u4e3a\u56de\u8c03\u51fd\u6570\uff0c\u5982\u679c\u56fa\u4ef6\u6ca1\u6709\u5185\u7f6esys_wait\uff0c\u5219\u5fc5\u987b\u662ffunction\n", "prefix": "socket.create"}, "socket.debug": {"body": "socket.debug(${1:ctrl},${2:onoff})", "description": "socket.debug(ctrl, onoff) - \u914d\u7f6e\u662f\u5426\u6253\u5f00debug\u4fe1\u606f\n\u4f20\u5165\u503c\uff1a\nuser_data socket.create\u5f97\u5230\u7684ctrl\nboolean true \u6253\u5f00debug\u5f00\u5173\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n-- \u6253\u5f00\u8c03\u8bd5\u4fe1\u606f,\u9ed8\u8ba4\u662f\u5173\u95ed\u72b6\u6001\nsocket.debug(ctrl, true)\n", "prefix": "socket.debug"}, "socket.config": {"body": "socket.config(${1:ctrl},${2:local_port},${3:is_udp},${4:is_tls},${5:keep_idle},${6:keep_interval},${7:keep_cnt},${8:server_cert},${9:client_cert},${10:client_key},${11:client_password})", "description": "socket.config(ctrl, local_port, is_udp, is_tls, keep_idle, keep_interval, keep_cnt, server_cert, client_cert, client_key, client_password) - \u914d\u7f6enetwork\u4e00\u4e9b\u4fe1\u606f\uff0c\n\u4f20\u5165\u503c\uff1a\nuser_data socket.create\u5f97\u5230\u7684ctrl\nint \u672c\u5730\u7aef\u53e3\u53f7\uff0c\u5c0f\u7aef\u683c\u5f0f\uff0c\u5982\u679c\u4e0d\u5199\uff0c\u5219\u81ea\u52a8\u5206\u914d\u4e00\u4e2a\uff0c\u5982\u679c\u7528\u6237\u586b\u4e86\u7aef\u53e3\u53f7\u5219\u9700\u8981\u5c0f\u4e8e60000, \u9ed8\u8ba4\u4e0d\u5199\nboolean \u662f\u5426\u662fUDP\uff0c\u9ed8\u8ba4false\nboolean \u662f\u5426\u662f\u52a0\u5bc6\u4f20\u8f93\uff0c\u9ed8\u8ba4false\nint tcp keep live\u6a21\u5f0f\u4e0b\u7684idle\u65f6\u95f4\uff08\u79d2\uff09\uff0c\u5982\u679c\u7559\u7a7a\u5219\u8868\u793a\u4e0d\u542f\u7528\uff0c\u5982\u679c\u662f\u4e0d\u652f\u6301\u6807\u51c6posix\u63a5\u53e3\u7684\u7f51\u5361\uff08\u6bd4\u5982W5500\uff09\uff0c\u5219\u4e3a\u5fc3\u8df3\u95f4\u9694\nint tcp keep live\u6a21\u5f0f\u4e0b\u7684\u63a2\u6d4b\u95f4\u9694\u65f6\u95f4\uff08\u79d2\uff09\nint tcp keep live\u6a21\u5f0f\u4e0b\u7684\u63a2\u6d4b\u6b21\u6570\nstring TCP\u6a21\u5f0f\u4e0b\u7684\u670d\u52a1\u5668ca\u8bc1\u4e66\u6570\u636e\uff0cUDP\u6a21\u5f0f\u4e0b\u7684PSK\uff0c\u4e0d\u9700\u8981\u52a0\u5bc6\u4f20\u8f93\u5199nil\uff0c\u540e\u7eed\u53c2\u6570\u4e5f\u5168\u90e8nil\nstring TCP\u6a21\u5f0f\u4e0b\u7684\u5ba2\u6237\u7aefca\u8bc1\u4e66\u6570\u636e\uff0cUDP\u6a21\u5f0f\u4e0b\u7684PSK-ID\uff0cTCP\u6a21\u5f0f\u4e0b\u5982\u679c\u4e0d\u9700\u8981\u9a8c\u8bc1\u5ba2\u6237\u7aef\u8bc1\u4e66\u65f6\uff0c\u5ffd\u7565\uff0c\u4e00\u822c\u4e0d\u9700\u8981\u9a8c\u8bc1\u5ba2\u6237\u7aef\u8bc1\u4e66\nstring TCP\u6a21\u5f0f\u4e0b\u7684\u5ba2\u6237\u7aef\u79c1\u94a5\u52a0\u5bc6\u6570\u636e\nstring TCP\u6a21\u5f0f\u4e0b\u7684\u5ba2\u6237\u7aef\u79c1\u94a5\u53e3\u4ee4\u6570\u636e\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue\uff0c\u5931\u8d25\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n--\u6700\u666e\u901a\u7684TCP\u4f20\u8f93\nsocket.config(ctrl)\n--\u6700\u666e\u901a\u7684\u52a0\u5bc6TCP\u4f20\u8f93\uff0c\u8bc1\u4e66\u90fd\u4e0d\u7528\u9a8c\u8bc1\u7684\u90a3\u79cd\nsocket.config(ctrl, nil, nil ,true)\n", "prefix": "socket.config"}, "socket.linkup": {"body": "socket.linkup(${1:ctrl})", "description": "socket.linkup(ctrl) - \u7b49\u5f85\u7f51\u5361linkup\n\u4f20\u5165\u503c\uff1a\nuser_data socket.create\u5f97\u5230\u7684ctrl\n\u8fd4\u56de\u503c\uff1a\nboolean true\u6ca1\u6709\u5f02\u5e38\u53d1\u751f\uff0cfalse\u5931\u8d25\u4e86\uff0c\u5982\u679cfalse\u5219\u4e0d\u9700\u8981\u770b\u4e0b\u4e00\u4e2a\u8fd4\u56de\u503c\u4e86\nboolean true\u5df2\u7ecflinkup\uff0cfalse\u6ca1\u6709linkup\uff0c\u4e4b\u540e\u9700\u8981\u63a5\u6536socket.LINK\u6d88\u606f\n\u4f8b\u5b50\uff1a\n-- \u5224\u65ad\u4e00\u4e0b\u662f\u5426\u5df2\u7ecf\u8054\u7f51\nlocal succ, result = socket.linkup(ctrl)\n", "prefix": "socket.linkup"}, "socket.connect": {"body": "socket.connect(${1:ctrl},${2:ip},${3:remote_port},${4:need_ipv6_dns})", "description": "socket.connect(ctrl, ip, remote_port, need_ipv6_dns) - \u4f5c\u4e3a\u5ba2\u6237\u7aef\u8fde\u63a5\u670d\u52a1\u5668\n\u4f20\u5165\u503c\uff1a\nuser_data socket.create\u5f97\u5230\u7684ctrl\nstring or int ip\u6216\u8005\u57df\u540d\uff0c\u5982\u679c\u662fIPV4\uff0c\u53ef\u4ee5\u662f\u5927\u7aef\u683c\u5f0f\u7684int\u503c\nint \u670d\u52a1\u5668\u7aef\u53e3\u53f7\uff0c\u5c0f\u7aef\u683c\u5f0f\nboolean \u57df\u540d\u89e3\u6790\u662f\u5426\u8981IPV6\uff0ctrue\u8981\uff0cfalse\u4e0d\u8981\uff0c\u9ed8\u8ba4false\u4e0d\u8981\uff0c\u53ea\u6709\u652f\u6301IPV6\u7684\u534f\u8bae\u6808\u624d\u6709\u6548\u679c\n\u8fd4\u56de\u503c\uff1a\nboolean true\u6ca1\u6709\u5f02\u5e38\u53d1\u751f\uff0cfalse\u5931\u8d25\u4e86\uff0c\u5982\u679cfalse\u5219\u4e0d\u9700\u8981\u770b\u4e0b\u4e00\u4e2a\u8fd4\u56de\u503c\u4e86\uff0c\u5982\u679c\u6709\u5f02\u5e38\uff0c\u540e\u7eed\u8981close\nboolean true\u5df2\u7ecfconnect\uff0cfalse\u6ca1\u6709connect\uff0c\u4e4b\u540e\u9700\u8981\u63a5\u6536socket.ON_LINE\u6d88\u606f\n\u4f8b\u5b50\uff1a\n\nlocal succ, result = socket.connect(ctrl, \"netlab.luatos.com\", 40123)\n\n--[[\n\u5e38\u89c1\u7684\u8fde\u63a5\u5931\u8d25\u7684code\u503c, \u4f1a\u5728\u65e5\u5fd7\u4e2d\u663e\u793a\n-1 \u5e95\u5c42\u5185\u5b58\u4e0d\u8db3\n-3 \u8d85\u65f6\n-8 \u7aef\u53e3\u5df2\u7ecf\u88ab\u5360\u7528\n-11 \u94fe\u63a5\u672a\u5efa\u7acb\n-13 \u6a21\u5757\u4e3b\u52a8\u65ad\u5f00\u8fde\u63a5\n-14 \u670d\u52a1\u5668\u4e3b\u52a8\u65ad\u5f00\u8fde\u63a5\n]]\n", "prefix": "socket.connect"}, "socket.discon": {"body": "socket.discon(${1:ctrl})", "description": "socket.discon(ctrl) - \u4f5c\u4e3a\u5ba2\u6237\u7aef\u65ad\u5f00\u8fde\u63a5\n\u4f20\u5165\u503c\uff1a\nuser_data socket.create\u5f97\u5230\u7684ctrl\n\u8fd4\u56de\u503c\uff1a\nboolean true\u6ca1\u6709\u5f02\u5e38\u53d1\u751f\uff0cfalse\u5931\u8d25\u4e86\uff0c\u5982\u679cfalse\u5219\u4e0d\u9700\u8981\u770b\u4e0b\u4e00\u4e2a\u8fd4\u56de\u503c\u4e86\nboolean true\u5df2\u7ecf\u65ad\u5f00\uff0cfalse\u6ca1\u6709\u65ad\u5f00\uff0c\u4e4b\u540e\u9700\u8981\u63a5\u6536socket.CLOSED\u6d88\u606f\n\u4f8b\u5b50\uff1a\nlocal succ, result = socket.discon(ctrl)\n", "prefix": "socket.discon"}, "socket.close": {"body": "socket.close(${1:ctrl})", "description": "socket.close(ctrl) - \u5f3a\u5236\u5173\u95edsocket\n\u4f20\u5165\u503c\uff1a\nuser_data socket.create\u5f97\u5230\u7684ctrl\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n", "prefix": "socket.close"}, "socket.tx": {"body": "socket.tx(${1:ctrl},${2:data},${3:ip},${4:port},${5:flag})", "description": "socket.tx(ctrl, data, ip, port, flag) - \u53d1\u9001\u6570\u636e\u7ed9\u5bf9\u7aef\uff0cUDP\u5355\u6b21\u53d1\u9001\u4e0d\u8981\u8d85\u8fc71460\u5b57\u8282\uff0c\u5426\u5219\u5f88\u5bb9\u6613\u5931\u8d25\n\u4f20\u5165\u503c\uff1a\nuser_data socket.create\u5f97\u5230\u7684ctrl\nstring or user_data zbuff \u8981\u53d1\u9001\u7684\u6570\u636e\nstring or int \u5bf9\u7aefIP\uff0c\u5982\u679c\u662fTCP\u5e94\u7528\u5219\u5ffd\u7565\uff0c\u5982\u679c\u662fUDP\uff0c\u5982\u679c\u7559\u7a7a\u5219\u7528connect\u65f6\u5019\u7684\u53c2\u6570\uff0c\u5982\u679c\u662fIPV4\uff0c\u53ef\u4ee5\u662f\u5927\u7aef\u683c\u5f0f\u7684int\u503c\nint \u5bf9\u7aef\u7aef\u53e3\u53f7\uff0c\u5c0f\u7aef\u683c\u5f0f\uff0c\u5982\u679c\u662fTCP\u5e94\u7528\u5219\u5ffd\u7565\uff0c\u5982\u679c\u662fUDP\uff0c\u5982\u679c\u7559\u7a7a\u5219\u7528connect\u65f6\u5019\u7684\u53c2\u6570\nint \u53d1\u9001\u53c2\u6570\uff0c\u76ee\u524d\u9884\u7559\uff0c\u4e0d\u8d77\u4f5c\u7528\n\u8fd4\u56de\u503c\uff1a\nboolean true\u6ca1\u6709\u5f02\u5e38\u53d1\u751f\uff0cfalse\u5931\u8d25\u4e86\uff0c\u5982\u679cfalse\u5219\u4e0d\u9700\u8981\u770b\u4e0b\u4e00\u4e2a\u8fd4\u56de\u503c\u4e86\uff0c\u5982\u679cfalse\uff0c\u540e\u7eed\u8981close\nboolean true\u7f13\u51b2\u533a\u6ee1\u4e86\uff0cfalse\u6ca1\u6709\u6ee1\uff0c\u5982\u679ctrue\uff0c\u5219\u9700\u8981\u7b49\u5f85\u4e00\u6bb5\u65f6\u95f4\u6216\u8005\u7b49\u5230socket.TX_OK\u6d88\u606f\u540e\u518d\u5c1d\u8bd5\u53d1\u9001\uff0c\u540c\u65f6\u5ffd\u7565\u4e0b\u4e00\u4e2a\u8fd4\u56de\u503c\nboolean true\u5df2\u7ecf\u6536\u5230\u5e94\u7b54\uff0cfalse\u6ca1\u6709\u6536\u5230\u5e94\u7b54\uff0c\u4e4b\u540e\u9700\u8981\u63a5\u6536socket.TX_OK\u6d88\u606f\uff0c \u4e5f\u53ef\u4ee5\u5ffd\u7565\u7ee7\u7eed\u53d1\u9001\uff0c\u76f4\u5230full==true\n\u4f8b\u5b50\uff1a\n\nlocal succ, full, result = socket.tx(ctrl, \"123456\", \"xxx.xxx.xxx.xxx\", xxxx)\n", "prefix": "socket.tx"}, "socket.rx": {"body": "socket.rx(${1:ctrl},${2:buff},${3:flag})", "description": "socket.rx(ctrl, buff, flag) - \u63a5\u6536\u5bf9\u7aef\u53d1\u51fa\u7684\u6570\u636e\uff0c\u6ce8\u610f\u6570\u636e\u5df2\u7ecf\u7f13\u5b58\u5728\u5e95\u5c42\uff0c\u4f7f\u7528\u672c\u51fd\u6570\u53ea\u662f\u63d0\u53d6\u51fa\u6765\uff0cUDP\u6a21\u5f0f\u4e0b\u4e00\u6b21\u53ea\u4f1a\u53d6\u51fa\u4e00\u4e2a\u6570\u636e\u5305\n\u4f20\u5165\u503c\uff1a\nuser_data socket.create\u5f97\u5230\u7684ctrl\nuser_data zbuff \u5b58\u653e\u63a5\u6536\u7684\u6570\u636e\uff0c\u5982\u679c\u7f13\u51b2\u533a\u4e0d\u591f\u5927\u4f1a\u81ea\u52a8\u6269\u5bb9\nint \u63a5\u6536\u53c2\u6570\uff0c\u76ee\u524d\u9884\u7559\uff0c\u4e0d\u8d77\u4f5c\u7528\n\u8fd4\u56de\u503c\uff1a\nboolean true\u6ca1\u6709\u5f02\u5e38\u53d1\u751f\uff0cfalse\u5931\u8d25\u4e86\uff0c\u5982\u679cfalse\u5219\u4e0d\u9700\u8981\u770b\u4e0b\u4e00\u4e2a\u8fd4\u56de\u503c\u4e86\uff0c\u5982\u679cfalse\uff0c\u540e\u7eed\u8981close\nint \u672c\u6b21\u63a5\u6536\u5230\u6570\u636e\u957f\u5ea6\nstring \u5bf9\u7aefIP\uff0c\u53ea\u6709UDP\u6a21\u5f0f\u4e0b\u624d\u6709\u610f\u4e49\uff0cTCP\u6a21\u5f0f\u8fd4\u56denil\uff0c\u6ce8\u610f\u8fd4\u56de\u7684\u683c\u5f0f\uff0c\u5982\u679c\u662fIPV4\uff0c1byte 0x00 + 4byte\u5730\u5740 \u5982\u679c\u662fIPV6\uff0c1byte 0x01 + 16byte\u5730\u5740\nint \u5bf9\u7aefport\uff0c\u53ea\u6709UDP\u6a21\u5f0f\u4e0b\u624d\u6709\u610f\u4e49\uff0cTCP\u6a21\u5f0f\u8fd4\u56de0\n\u4f8b\u5b50\uff1a\nlocal succ, data_len, ip, port = socket.rx(ctrl, buff)\n", "prefix": "socket.rx"}, "socket.wait": {"body": "socket.wait(${1:ctrl})", "description": "socket.wait(ctrl) - \u7b49\u5f85\u65b0\u7684socket\u6d88\u606f\uff0c\u5728\u8fde\u63a5\u6210\u529f\u548c\u53d1\u9001\u6570\u636e\u6210\u529f\u540e\uff0c\u4f7f\u7528\u4e00\u6b21\u5c06network\u72b6\u6001\u8f6c\u6362\u5230\u63a5\u6536\u65b0\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nuser_data socket.create\u5f97\u5230\u7684ctrl\n\u8fd4\u56de\u503c\uff1a\nboolean true\u6ca1\u6709\u5f02\u5e38\u53d1\u751f\uff0cfalse\u5931\u8d25\u4e86\uff0c\u5982\u679cfalse\u5219\u4e0d\u9700\u8981\u770b\u4e0b\u4e00\u4e2a\u8fd4\u56de\u503c\u4e86\uff0c\u5982\u679cfalse\uff0c\u540e\u7eed\u8981close\nboolean true\u6709\u65b0\u7684\u6570\u636e\u9700\u8981\u63a5\u6536\uff0cfalse\u6ca1\u6709\u6570\u636e\uff0c\u4e4b\u540e\u9700\u8981\u63a5\u6536socket.EVENT\u6d88\u606f\n\u4f8b\u5b50\uff1a\nlocal succ, result = socket.wait(ctrl)\n", "prefix": "socket.wait"}, "socket.listen": {"body": "socket.listen(${1:ctrl})", "description": "socket.listen(ctrl) - \u4f5c\u4e3a\u670d\u52a1\u7aef\u5f00\u59cb\u76d1\u542c\n\u4f20\u5165\u503c\uff1a\nuser_data socket.create\u5f97\u5230\u7684ctrl\n\u8fd4\u56de\u503c\uff1a\nboolean true\u6ca1\u6709\u5f02\u5e38\u53d1\u751f\uff0cfalse\u5931\u8d25\u4e86\uff0c\u5982\u679cfalse\u5219\u4e0d\u9700\u8981\u770b\u4e0b\u4e00\u4e2a\u8fd4\u56de\u503c\u4e86\uff0c\u5982\u679cfalse\uff0c\u540e\u7eed\u8981close\nboolean true\u5df2\u7ecfconnect\uff0cfalse\u6ca1\u6709connect\uff0c\u4e4b\u540e\u9700\u8981\u63a5\u6536socket.ON_LINE\u6d88\u606f\n\u4f8b\u5b50\uff1a\nlocal succ, result = socket.listen(ctrl)\n", "prefix": "socket.listen"}, "socket.accept": {"body": "socket.accept(${1:ctrl})", "description": "socket.accept(ctrl) - \u4f5c\u4e3a\u670d\u52a1\u7aef\u63a5\u6536\u5230\u4e00\u4e2a\u65b0\u7684\u5ba2\u6237\u7aef\uff0c\u6ce8\u610f\uff0c\u5982\u679c\u662f\u7c7b\u4f3cW5500\u7684\u786c\u4ef6\u534f\u8bae\u6808\u4e0d\u652f\u63011\u5bf9\u591a\uff0c\u5219\u4e0d\u9700\u8981\u7b2c\u4e8c\u4e2a\u53c2\u6570\n\u4f20\u5165\u503c\uff1a\nuser_data socket.create\u5f97\u5230\u7684ctrl\uff0c\u8fd9\u91cc\u662f\u670d\u52a1\u5668\u7aef\nstring or function or nil string\u4e3a\u6d88\u606f\u901a\u77e5\u7684taskName\uff0cfunction\u5219\u4e3a\u56de\u8c03\u51fd\u6570\uff0c\u548csocket.create\u53c2\u6570\u4e00\u81f4\n\u8fd4\u56de\u503c\uff1a\nboolean true\u6ca1\u6709\u5f02\u5e38\u53d1\u751f\uff0cfalse\u5931\u8d25\u4e86\uff0c\u5982\u679cfalse\u5219\u4e0d\u9700\u8981\u770b\u4e0b\u4e00\u4e2a\u8fd4\u56de\u503c\u4e86\uff0c\u5982\u679cfalse\uff0c\u540e\u7eed\u8981close\nuser_data or nil \u5982\u679c\u652f\u63011\u5bf9\u591a\uff0c\u5219\u4f1a\u8fd4\u56de\u65b0\u7684ctrl\uff0c\u81ea\u52a8create\uff0c\u5982\u679c\u4e0d\u652f\u6301\u5219\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\nlocal succ, new_netc = socket.listen(ctrl, cb)\n", "prefix": "socket.accept"}, "socket.release": {"body": "socket.release(${1:ctrl})", "description": "socket.release(ctrl) - \u4e3b\u52a8\u91ca\u653e\u6389network_ctrl\n", "prefix": "socket.release"}, "socket.setDNS": {"body": "socket.setDNS(${1:adapter_index},${2:dns_index},${3:ip})", "description": "socket.setDNS(adapter_index, dns_index, ip) - \u8bbe\u7f6eDNS\u670d\u52a1\u5668\n\u4f20\u5165\u503c\uff1a\nint \u9002\u914d\u5668\u5e8f\u53f7\uff0c \u53ea\u80fd\u662fsocket.ETH0\uff0csocket.STA\uff0csocket.AP\uff0c\u5982\u679c\u4e0d\u586b\uff0c\u4f1a\u9009\u62e9\u6700\u540e\u4e00\u4e2a\u6ce8\u518c\u7684\u9002\u914d\u5668\nint dns\u670d\u52a1\u5668\u5e8f\u53f7\uff0c\u4ece1\u5f00\u59cb\nstring or int dns\uff0c\u5982\u679c\u662fIPV4\uff0c\u53ef\u4ee5\u662f\u5927\u7aef\u683c\u5f0f\u7684int\u503c\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue\uff0c\u5931\u8d25\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- \u8bbe\u7f6e\u9ed8\u8ba4\u7f51\u7edc\u9002\u914d\u5668\u7684DNS\u914d\u7f6e\nsocket.setDNS(nil, 1, \"114.114.114.114\")\n-- \u8bbe\u7f6e\u5236\u5b9a\u7f51\u7edc\u9002\u914d\u5668\u7684DNS\u914d\u7f6e\nsocket.setDNS(socket.ETH0, 1, \"114.114.114.114\")\n", "prefix": "socket.setDNS"}, "socket.sslLog": {"body": "socket.sslLog(${1:log_level})", "description": "socket.sslLog(log_level) - \u8bbe\u7f6eSSL\u7684log\u767b\u8bb0\n\u4f20\u5165\u503c\uff1a\nint\tmbedtls log\u7b49\u7ea7\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n--[[\nSSL/TLS log\u7ea7\u522b\u8bf4\u660e\n0\u4e0d\u6253\u5370\n1\u53ea\u6253\u5370\u9519\u8bef\u548c\u8b66\n2\u5927\u90e8\u5206info\n3\u53ca3\u4ee5\u4e0a\u8be6\u7ec6\u7684debug\n\n\u8fc7\u591a\u7684\u4fe1\u606f\u53ef\u80fd\u4f1a\u9020\u6210\u5185\u5b58\u788e\u7247\u5316\n]]\n-- \u6253\u5370\u5927\u90e8\u5206info\u65e5\u5fd7\nsocket.sslLog(2)\n", "prefix": "socket.sslLog"}, "socket.adapter": {"body": "socket.adapter(${1:index})", "description": "socket.adapter(index) - \u67e5\u770b\u7f51\u5361\u9002\u914d\u5668\u7684\u8054\u7f51\u72b6\u6001\n\u4f20\u5165\u503c\uff1a\nint \u9700\u8981\u67e5\u770b\u7684\u9002\u914d\u5668\u5e8f\u53f7\uff0c\u53ef\u4ee5\u7559\u7a7a\u4f1a\u67e5\u770b\u5168\u90e8\u7f51\u5361\uff0c\u76f4\u5230\u9047\u5230IP READY\u7684\uff0c\u5982\u679c\u6307\u5b9a\u7f51\u5361\uff0c\u53ea\u80fd\u662fsocket.ETH0\uff08\u5916\u7f6e\u4ee5\u592a\u7f51\uff09\uff0csocket.LWIP_ETH\uff08\u5185\u7f6e\u4ee5\u592a\u7f51\uff09\uff0csocket.LWIP_STA\uff08\u5185\u7f6eWIFI\u7684STA\uff09\uff0csocket.LWIP_AP\uff08\u5185\u7f6eWIFI\u7684AP\uff09\uff0csocket.LWIP_GP\uff08\u5185\u7f6e\u8702\u7a9d\u7f51\u7edc\u7684GPRS\uff09\uff0csocket.USB\uff08\u5916\u7f6eUSB\u7f51\u5361\uff09\n\u8fd4\u56de\u503c\uff1a\nboolean \u88ab\u67e5\u770b\u7684\u9002\u914d\u5668\u662f\u5426IP READY,true\u8868\u793a\u5df2\u7ecf\u51c6\u5907\u597d\u53ef\u4ee5\u8054\u7f51\u4e86,false\u6682\u65f6\u4e0d\u53ef\u4ee5\u8054\u7f51\nint \u6700\u540e\u4e00\u4e2a\u88ab\u67e5\u770b\u7684\u9002\u914d\u5668\u5e8f\u53f7\n\u4f8b\u5b50\uff1a\n-- \u67e5\u770b\u5168\u90e8\u7f51\u5361\uff0c\u76f4\u5230\u627e\u5230\u4e00\u4e2a\u662fIP READY\u7684\nlocal isReady,index = socket.adapter() --\u5982\u679cisReady\u4e3atrue,\u5219index\u4e3aIP READY\u7684\u7f51\u5361\u9002\u914d\u5668\u5e8f\u53f7\n--\u67e5\u770b\u5916\u7f6e\u4ee5\u592a\u7f51\uff08\u6bd4\u5982W5500\uff09\u662f\u5426IP READY\nlocal isReady,default = socket.adapter(socket.ETH0)\n", "prefix": "socket.adapter"}, "socket.remoteIP": {"body": "socket.remoteIP(${1:ctrl})", "description": "socket.remoteIP(ctrl) - \u83b7\u53d6\u5bf9\u7aefip\n\u4f20\u5165\u503c\uff1a\nuser_data socket.create\u5f97\u5230\u7684ctrl\n\u8fd4\u56de\u503c\uff1a\nstring IP1\uff0c\u5982\u679c\u4e3anil\uff0c\u5219\u8868\u793a\u6ca1\u6709\u83b7\u53d6\u5230IP\u5730\u5740\nstring IP2\uff0c\u5982\u679c\u4e3anil\uff0c\u5219\u8868\u793a\u6ca1\u6709IP2\nstring IP3\uff0c\u5982\u679c\u4e3anil\uff0c\u5219\u8868\u793a\u6ca1\u6709IP3\nstring IP4\uff0c\u5982\u679c\u4e3anil\uff0c\u5219\u8868\u793a\u6ca1\u6709IP4\n\u4f8b\u5b50\uff1a\n-- \u6ce8\u610f: \uff0c\u5fc5\u987b\u5728\u63a5\u6536\u5230socket.ON_LINE\u6d88\u606f\u4e4b\u540e\u624d\u53ef\u80fd\u83b7\u53d6\u5230\uff0c\u6700\u591a\u8fd4\u56de4\u4e2aIP\u3002\n-- socket.connect\u91cc\u5982\u679cremote_port\u8bbe\u7f6e\u62100\uff0c\u5219\u5f53DNS\u5b8c\u6210\u65f6\u5c31\u8fd4\u56desocket.ON_LINE\u6d88\u606f\nlocal ip1,ip2,ip3,ip4 = socket.remoteIP(ctrl)\n", "prefix": "socket.remoteIP"}, "softkb.init": {"body": "softkb.init(${1:port},${2:key_in},${3:key_out})", "description": "softkb.init(port, key_in, key_out) - \u521d\u59cb\u5316\u8f6f\u4ef6\u952e\u76d8\u77e9\u9635\n\u4f20\u5165\u503c\uff1a\nint \u9884\u7559, \u5f53\u524d\u586b0\ntable \u77e9\u9635\u8f93\u5165\u6309\u952e\u8868\ntable \u77e9\u9635\u8f93\u51fa\u6309\u952e\u8868\n\u4f8b\u5b50\uff1a\n key_in = {pin.PD10,pin.PE00,pin.PE01,pin.PE02}\n key_out = {pin.PD12,pin.PD13,pin.PD14,pin.PD15}\n softkb.init(0,key_in,key_out)\n\nsys.subscribe(\"SOFT_KB_INC\", function(port, data, state)\n -- port \u5f53\u524d\u56fa\u5b9a\u4e3a0, \u53ef\u4ee5\u65e0\u89c6\n -- data, \u9700\u8981\u914d\u5408init\u7684map\u8fdb\u884c\u89e3\u6790\n -- state, 1 \u4e3a\u6309\u4e0b, 0 \u4e3a \u91ca\u653e\n -- TODO \u8be6\u7ec6\u4ecb\u7ecd\nend)\n", "prefix": "softkb.init"}, "softkb.deinit": {"body": "softkb.deinit(${1:port})", "description": "softkb.deinit(port) - \u5220\u9664\u8f6f\u4ef6\u952e\u76d8\u77e9\u9635\n\u4f20\u5165\u503c\uff1a\nint \u9884\u7559, \u5f53\u524d\u586b0\n\u4f8b\u5b50\uff1a\n softkb.deinit(0)\n", "prefix": "softkb.deinit"}, "spi.setup": {"body": "spi.setup(${1:id},${2:cs},${3:CPHA},${4:CPOL},${5:dataw},${6:bandrate},${7:bitdict},${8:ms},${9:mode})", "description": "spi.setup(id, cs, CPHA, CPOL, dataw, bandrate, bitdict, ms, mode) - \u8bbe\u7f6e\u5e76\u542f\u7528SPI\n\u4f20\u5165\u503c\uff1a\nint SPI\u53f7,\u4f8b\u59820\nint CS \u7247\u9009\u811a,\u5728w600\u4e0d\u53ef\u7528\u8bf7\u586bnil\nint CPHA \u9ed8\u8ba40,\u53ef\u90090/1\nint CPOL \u9ed8\u8ba40,\u53ef\u90090/1\nint \u6570\u636e\u5bbd\u5ea6,\u9ed8\u8ba48bit\nint \u6ce2\u7279\u7387,\u9ed8\u8ba42M=2000000\nint \u5927\u5c0f\u7aef, \u9ed8\u8ba4spi.MSB, \u53ef\u9009spi.LSB\nint \u4e3b\u4ece\u8bbe\u7f6e, \u9ed8\u8ba4\u4e3b1, \u53ef\u9009\u4ece\u673a0. \u901a\u5e38\u53ea\u652f\u6301\u4e3b\u673a\u6a21\u5f0f\nint \u5de5\u4f5c\u6a21\u5f0f, \u5168\u53cc\u5de51, \u534a\u53cc\u5de50, \u9ed8\u8ba4\u5168\u53cc\u5de5\n\u8fd4\u56de\u503c\uff1a\nint \u6210\u529f\u8fd4\u56de0,\u5426\u5219\u8fd4\u56de\u5176\u4ed6\u503c\n\u4f8b\u5b50\uff1a\n-- \u521d\u59cb\u5316spi\nspi.setup(0,20,0,0,8,2000000,spi.MSB,1,1)\n", "prefix": "spi.setup"}, "spi.createSoft": {"body": "spi.createSoft(${1:cs},${2:mosi},${3:miso},${4:clk},${5:CPHA},${6:CPOL},${7:dataw},${8:bitdict},${9:ms},${10:mode})", "description": "spi.createSoft(cs, mosi, miso, clk, CPHA, CPOL, dataw, bitdict, ms, mode) - \u8bbe\u7f6e\u5e76\u542f\u7528\u8f6f\u4ef6SPI\n\u4f20\u5165\u503c\uff1a\nint cs\u5f15\u811a\u7f16\u53f7\uff0c\u4f20\u5165nil\u610f\u4e3aLua\u63a7\u5236cs\u811a\nint mosi\u5f15\u811a\u7f16\u53f7\nint miso\u5f15\u811a\u7f16\u53f7\nint clk\u5f15\u811a\u7f16\u53f7\nint \u9ed8\u8ba40\uff0c\u53ef\u90090/1\nint \u9ed8\u8ba40\uff0c\u53ef\u90090/1\nint \u6570\u636e\u5bbd\u5ea6\uff0c\u9ed8\u8ba48bit\nint \u5927\u5c0f\u7aef\uff0c\u9ed8\u8ba4spi.MSB, \u53ef\u9009spi.LSB\nint \u4e3b\u4ece\u8bbe\u7f6e\uff0c\u9ed8\u8ba4\u4e3b1, \u53ef\u9009\u4ece\u673a0. \u901a\u5e38\u53ea\u652f\u6301\u4e3b\u673a\u6a21\u5f0f\nint \u5de5\u4f5c\u6a21\u5f0f\uff0c\u5168\u53cc\u5de51\uff0c\u534a\u53cc\u5de50\uff0c\u9ed8\u8ba4\u534a\u53cc\u5de5\n\u8fd4\u56de\u503c\uff1a\n\u8f6f\u4ef6SPI\u5bf9\u8c61 \u53ef\u5f53\u4f5cSPI\u7684id\u4f7f\u7528\n\u4f8b\u5b50\uff1a\n-- \u521d\u59cb\u5316\u8f6f\u4ef6spi\nlocal softSpiDevice = spi.createSoft(0, 1, 2, 3, 0, 0, 8, spi.MSB, 1, 1)\nlocal result = spi.send(softSpiDevice, string.char(0x9f))\n", "prefix": "spi.createSoft"}, "spi.close": {"body": "spi.close(${1:id})", "description": "spi.close(id) - \u5173\u95ed\u6307\u5b9a\u7684SPI\n\u4f20\u5165\u503c\uff1a\nint SPI\u53f7,\u4f8b\u59820\n\u8fd4\u56de\u503c\uff1a\nint \u6210\u529f\u8fd4\u56de0,\u5426\u5219\u8fd4\u56de\u5176\u4ed6\u503c\n\u4f8b\u5b50\uff1a\n-- \u521d\u59cb\u5316spi\nspi.close(0)\n", "prefix": "spi.close"}, "spi.transfer": {"body": "spi.transfer(${1:id},${2:send_data[},${3:len]})", "description": "spi.transfer(id, send_data[, len]) - \u4f20\u8f93SPI\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nint SPI\u53f7(\u4f8b\u59820)\u6216\u8f6f\u4ef6SPI\u5bf9\u8c61\nstring/zbuff \u5f85\u53d1\u9001\u7684\u6570\u636e\uff0c\u5982\u679c\u4e3azbuff\u6570\u636e\uff0c\u5219\u4f1a\u4ece\u5bf9\u8c61\u6240\u5904\u7684\u6307\u9488\u5904\u5f00\u59cb\u8bfb\nint \u53ef\u9009\u3002\u5f85\u53d1\u9001\u6570\u636e\u7684\u957f\u5ea6\uff0c\u9ed8\u8ba4\u4e3adata\u957f\u5ea6\nint \u53ef\u9009\u3002\u8bfb\u53d6\u6570\u636e\u7684\u957f\u5ea6\uff0c\u9ed8\u8ba4\u4e3a1\n\u8fd4\u56de\u503c\uff1a\nstring \u8bfb\u53d6\u6210\u529f\u8fd4\u56de\u5b57\u7b26\u4e32,\u5426\u5219\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\n-- \u521d\u59cb\u5316spi\nspi.setup(0,nil,0,0,8,2000000,spi.MSB,1,1)\nlocal recv = spi.transfer(0, \"123\")--\u53d1\u9001123,\u5e76\u8bfb\u53d6\u6570\u636e\n\nlocal buff = zbuff.create(1024, 0x33) --\u521b\u5efa\u4e00\u4e2a\u521d\u503c\u5168\u4e3a0x33\u7684\u5185\u5b58\u533a\u57df\nlocal recv = spi.transfer(0, buff)--\u628azbuff\u6570\u636e\u4ece\u6307\u9488\u5f00\u59cb\uff0c\u5168\u53d1\u51fa\u53bb,\u5e76\u8bfb\u53d6\u6570\u636e\n", "prefix": "spi.transfer"}, "spi.recv": {"body": "spi.recv(${1:id},${2:size})", "description": "spi.recv(id, size) - \u63a5\u6536\u6307\u5b9a\u957f\u5ea6\u7684SPI\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nint SPI\u53f7,\u4f8b\u59820\nint \u6570\u636e\u957f\u5ea6\n\u8fd4\u56de\u503c\uff1a\nstring \u8bfb\u53d6\u6210\u529f\u8fd4\u56de\u5b57\u7b26\u4e32,\u5426\u5219\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\n-- \u521d\u59cb\u5316spi\nspi.setup(0,nil,0,0,8,2000000,spi.MSB,1,1)\nlocal recv = spi.recv(0, 4)--\u63a5\u65364\u5b57\u8282\u6570\u636e\n", "prefix": "spi.recv"}, "spi.send": {"body": "spi.send(${1:id},${2:data[},${3:len]})", "description": "spi.send(id, data[, len]) - \u53d1\u9001SPI\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nint SPI\u53f7,\u4f8b\u59820\nstring/zbuff \u5f85\u53d1\u9001\u7684\u6570\u636e\uff0c\u5982\u679c\u4e3azbuff\u6570\u636e\uff0c\u5219\u4f1a\u4ece\u5bf9\u8c61\u6240\u5904\u7684\u6307\u9488\u5904\u5f00\u59cb\u8bfb\nint \u53ef\u9009\u3002\u5f85\u53d1\u9001\u6570\u636e\u7684\u957f\u5ea6\uff0c\u9ed8\u8ba4\u4e3adata\u957f\u5ea6\n\u8fd4\u56de\u503c\uff1a\nint \u53d1\u9001\u7ed3\u679c\n\u4f8b\u5b50\uff1a\n-- \u521d\u59cb\u5316spi\nspi.setup(0,nil,0,0,8,2000000,spi.MSB,1,1)\nlocal result = spi.send(0, \"123\")--\u53d1\u9001123\n\nlocal buff = zbuff.create(1024, 0x33) --\u521b\u5efa\u4e00\u4e2a\u521d\u503c\u5168\u4e3a0x33\u7684\u5185\u5b58\u533a\u57df\nlocal result = spi.send(0, buff)--\u628azbuff\u6570\u636e\u4ece\u6307\u9488\u5f00\u59cb\uff0c\u5168\u53d1\u51fa\u53bb\n", "prefix": "spi.send"}, "spi.deviceSetup": {"body": "spi.deviceSetup(${1:id},${2:cs},${3:CPHA},${4:CPOL},${5:dataw},${6:bandrate},${7:bitdict},${8:ms},${9:mode})", "description": "spi.deviceSetup(id, cs, CPHA, CPOL, dataw, bandrate, bitdict, ms, mode) - \u8bbe\u7f6e\u5e76\u542f\u7528SPI(\u5bf9\u8c61\u65b9\u5f0f)\n\u4f20\u5165\u503c\uff1a\nint SPI\u53f7,\u4f8b\u59820\nint CS \u7247\u9009\u811a,\u5728w600\u4e0d\u53ef\u7528\u8bf7\u586bnil\nint CPHA \u9ed8\u8ba40,\u53ef\u90090/1\nint CPOL \u9ed8\u8ba40,\u53ef\u90090/1\nint \u6570\u636e\u5bbd\u5ea6,\u9ed8\u8ba48bit\nint \u6ce2\u7279\u7387,\u9ed8\u8ba420M=20000000\nint \u5927\u5c0f\u7aef, \u9ed8\u8ba4spi.MSB, \u53ef\u9009spi.LSB\nint \u4e3b\u4ece\u8bbe\u7f6e, \u9ed8\u8ba4\u4e3b1, \u53ef\u9009\u4ece\u673a0. \u901a\u5e38\u53ea\u652f\u6301\u4e3b\u673a\u6a21\u5f0f\nint \u5de5\u4f5c\u6a21\u5f0f, \u5168\u53cc\u5de51, \u534a\u53cc\u5de50, \u9ed8\u8ba4\u5168\u53cc\u5de5\n\u8fd4\u56de\u503c\uff1a\nuserdata spi_device\n\u4f8b\u5b50\uff1a\n-- \u521d\u59cb\u5316spi\nlocal spi_device = spi.deviceSetup(0,17,0,0,8,2000000,spi.MSB,1,1)\n", "prefix": "spi.deviceSetup"}, "spi_device:close": {"body": "spi_device:close()", "description": "spi_device:close() - \u5173\u95ed\u6307\u5b9a\u7684SPI(\u5bf9\u8c61\u65b9\u5f0f)\n\u4f20\u5165\u503c\uff1a\nuserdata spi_device\n\u8fd4\u56de\u503c\uff1a\nint \u6210\u529f\u8fd4\u56de0,\u5426\u5219\u8fd4\u56de\u5176\u4ed6\u503c\n\u4f8b\u5b50\uff1a\n-- \u521d\u59cb\u5316spi\nspi_device.close()\n", "prefix": "spi_device:close"}, "spi_device:transfer": {"body": "spi_device:transfer(${1:send_data[},${2:len]})", "description": "spi_device:transfer(send_data[, len]) - \u4f20\u8f93SPI\u6570\u636e(\u5bf9\u8c61\u65b9\u5f0f)\n\u4f20\u5165\u503c\uff1a\nuserdata spi_device\nstring/zbuff \u5f85\u53d1\u9001\u7684\u6570\u636e\uff0c\u5982\u679c\u4e3azbuff\u6570\u636e\uff0c\u5219\u4f1a\u4ece\u5bf9\u8c61\u6240\u5904\u7684\u6307\u9488\u5904\u5f00\u59cb\u8bfb\nint \u53ef\u9009\u3002\u5f85\u53d1\u9001\u6570\u636e\u7684\u957f\u5ea6\uff0c\u9ed8\u8ba4\u4e3adata\u957f\u5ea6\nint \u53ef\u9009\u3002\u8bfb\u53d6\u6570\u636e\u7684\u957f\u5ea6\uff0c\u9ed8\u8ba4\u4e3a1\n\u8fd4\u56de\u503c\uff1a\nstring \u8bfb\u53d6\u6210\u529f\u8fd4\u56de\u5b57\u7b26\u4e32,\u5426\u5219\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\n-- \u521d\u59cb\u5316spi\nlocal spi_device = spi.device_setup(0,17,0,0,8,2000000,spi.MSB,1,1)\nlocal recv = spi_device:transfer(\"123\")--\u53d1\u9001123,\u5e76\u8bfb\u53d6\u6570\u636e\n\nlocal buff = zbuff.create(1024, 0x33) --\u521b\u5efa\u4e00\u4e2a\u521d\u503c\u5168\u4e3a0x33\u7684\u5185\u5b58\u533a\u57df\nlocal recv = spi_device:transfer(buff)--\u628azbuff\u6570\u636e\u4ece\u6307\u9488\u5f00\u59cb\uff0c\u5168\u53d1\u51fa\u53bb,\u5e76\u8bfb\u53d6\u6570\u636e\n", "prefix": "spi_device:transfer"}, "spi_device:send": {"body": "spi_device:send(${1:data[},${2:len]})", "description": "spi_device:send(data[, len]) - \u53d1\u9001SPI\u6570\u636e(\u5bf9\u8c61\u65b9\u5f0f)\n\u4f20\u5165\u503c\uff1a\nuserdata spi_device\nstring/zbuff \u5f85\u53d1\u9001\u7684\u6570\u636e\uff0c\u5982\u679c\u4e3azbuff\u6570\u636e\uff0c\u5219\u4f1a\u4ece\u5bf9\u8c61\u6240\u5904\u7684\u6307\u9488\u5904\u5f00\u59cb\u8bfb\n\u8fd4\u56de\u503c\uff1a\nint \u53d1\u9001\u7ed3\u679c\n\u4f8b\u5b50\uff1a\n-- \u521d\u59cb\u5316spi\nlocal spi_device = spi.device_setup(0,17,0,0,8,2000000,spi.MSB,1,1)\nlocal result = spi_device:send(\"123\")--\u53d1\u9001123\n\nlocal buff = zbuff.create(1024, 0x33) --\u521b\u5efa\u4e00\u4e2a\u521d\u503c\u5168\u4e3a0x33\u7684\u5185\u5b58\u533a\u57df\nlocal result = spi_device:send(buff)--\u628azbuff\u6570\u636e\u4ece\u6307\u9488\u5f00\u59cb\uff0c\u5168\u53d1\u51fa\u53bb\n", "prefix": "spi_device:send"}, "spi_device:recv": {"body": "spi_device:recv(${1:size})", "description": "spi_device:recv(size) - \u63a5\u6536\u6307\u5b9a\u957f\u5ea6\u7684SPI\u6570\u636e(\u5bf9\u8c61\u65b9\u5f0f)\n\u4f20\u5165\u503c\uff1a\nuserdata spi_device\nint \u6570\u636e\u957f\u5ea6\n\u8fd4\u56de\u503c\uff1a\nstring \u8bfb\u53d6\u6210\u529f\u8fd4\u56de\u5b57\u7b26\u4e32,\u5426\u5219\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\n-- \u521d\u59cb\u5316spi\nlocal spi_device = spi.device_setup(0,17,0,0,8,2000000,spi.MSB,1,1)\nlocal recv = spi_device:recv(4)--\u63a5\u65364\u5b57\u8282\u6570\u636e\n", "prefix": "spi_device:recv"}, "spi.xfer": {"body": "spi.xfer(${1:id},${2:txbuff},${3:rxbuff},${4:rx_len},${5:transfer_done_topic})", "description": "spi.xfer(id, txbuff, rxbuff, rx_len, transfer_done_topic) - \u975e\u963b\u585e\u65b9\u5f0f\u786c\u4ef6SPI\u4f20\u8f93SPI\u6570\u636e\uff0c\u76ee\u7684\u4e3a\u4e86\u63d0\u9ad8\u6838\u5fc3\u5229\u7528\u7387\u3002API\u76f4\u63a5\u8fd4\u56de\u662f\u5426\u542f\u52a8\u4f20\u8f93\uff0c\u4f20\u8f93\u5b8c\u6210\u540e\u901a\u8fc7topic\u56de\u8c03\uff0c\u672cAPI\u9002\u5408\u786c\u4ef6SPI\u4f20\u8f93\u5927\u91cf\u6570\u636e\u4f20\u8f93\uff0c\u5916\u8bbe\u529f\u80fd\uff08LCD SPI\uff0cW5500 SPI\u4e4b\u7c7b\u7684\uff09\u5360\u636e\u7684SPI\u548c\u8f6f\u4ef6SPI\u4e0d\u80fd\u7528\uff0c\u5c11\u91cf\u6570\u636e\u4f20\u8f93\u5efa\u8bae\u4f7f\u7528\u4f20\u7edf\u963b\u585e\u578bAPI\n\u4f20\u5165\u503c\uff1a\nuserdata or int spi_device\u6216\u8005spi_id\uff0c\u6ce8\u610f\uff0c\u5982\u679c\u662fspi_device\uff0c\u9700\u8981\u624b\u52a8\u5728\u4f20\u8f93\u5b8c\u6210\u540e\u62c9\u9ad8cs!!!!!!\nzbuff \u5f85\u53d1\u9001\u7684\u6570\u636e\uff0c\u5982\u679c\u4e3anil\uff0c\u5219\u53ea\u63a5\u6536\u6570\u636e\uff0c\u7531\u4e8e\u7528\u7684\u975e\u963b\u585e\u6a21\u578b\uff0c\u4e3a\u4fdd\u8bc1\u52a8\u6001\u6570\u636e\u7684\u6709\u6548\u6027\uff0c\u53ea\u80fd\u4f7f\u7528zbuff\uff0c\u53d1\u9001\u7684\u6570\u636e\u4ecezbuff.addr\nzbuff \u63a5\u6536\u6570\u636e\uff0c\u5982\u679c\u4e3anil\uff0c\u5219\u53ea\u53d1\u9001\u6570\u636e\uff0c\u7531\u4e8e\u7528\u7684\u975e\u963b\u585e\u6a21\u578b\uff0c\u4e3a\u4fdd\u8bc1\u52a8\u6001\u6570\u636e\u7684\u6709\u6548\u6027\uff0c\u53ea\u80fd\u4f7f\u7528zbuff\uff0c\u63a5\u6536\u7684\u6570\u636e\u4ecezbuff.addr\u5f00\u59cb\u5b58\u50a8\nint \u4f20\u8f93\u6570\u636e\u957f\u5ea6\uff0c\u7279\u522b\u8bf4\u660e \u5982\u679c\u4e3a\u534a\u53cc\u5de5\uff0c\u5148\u53d1\u540e\u6536\uff0c\u6bd4\u5982spi flash\u64cd\u4f5c\u8fd9\u79cd\uff0c\u5219\u957f\u5ea6=\u53d1\u9001\u5b57\u8282+\u63a5\u6536\u5b57\u8282\uff0c\u6ce8\u610f\u4e0a\u9762\u53d1\u9001\u548c\u63a5\u6536buff\u90fd\u8981\u7559\u8db3\u591f\u7684\u6570\u636e\uff0c\u540e\u7eed\u63a5\u6536\u6570\u636e\u5904\u7406\u9700\u8981\u8df3\u8fc7\u53d1\u9001\u6570\u636e\u957f\u5ea6\u5b57\u8282\nstring \u4f20\u8f93\u5b8c\u6210\u540e\u56de\u8c03\u7684topic\n\u8fd4\u56de\u503c\uff1a\nboolean true/false \u672c\u6b21\u4f20\u8f93\u662f\u5426\u6b63\u786e\u542f\u52a8\uff0ctrue\uff0c\u542f\u52a8\uff0cfalse\uff0c\u6709\u9519\u8bef\u65e0\u6cd5\u542f\u52a8\u3002\u4f20\u8f93\u5b8c\u6210\u4f1a\u53d1\u5e03\u6d88\u606ftransfer_done_topic\u548cboolean\u578b\u7ed3\u679c\n\u4f8b\u5b50\uff1a\nlocal result = spi.xfer(spi.SPI_0, txbuff, rxbuff, 1024, \"SPIDONE\") if result then result, spi_id, succ, error_code = sys.waitUntil(\"SPIDONE\") end if not result or not succ then log.info(\"spi fail, error code\", error_code) else log.info(\"spi ok\") end\n\n", "prefix": "spi.xfer"}, "sqlite3.open": {"body": "sqlite3.open(${1:path})", "description": "sqlite3.open(path) - \u6253\u5f00\u6570\u636e\u5e93\n\u4f20\u5165\u503c\uff1a\nstring \u6570\u636e\u5e93\u6587\u4ef6\u8def\u5f84,\u5fc5\u987b\u586b\u5199,\u4e0d\u5b58\u5728\u5c31\u4f1a\u81ea\u52a8\u65b0\u5efa\n\u8fd4\u56de\u503c\uff1a\nuserdata \u6570\u636e\u5e93\u6307\u9488,\u662f\u5426\u5c31\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\nlocal db = sqlite3.open(\"/test.db\")\nif db then\n -- \u6570\u636e\u5e93\u64cd\u4f5cxxxx\n\n -- \u7528\u5b8c\u5fc5\u987b\u5173\u6389\n sqlite3.close(db)\nend\n", "prefix": "sqlite3.open"}, "sqlite3.exec": {"body": "sqlite3.exec(${1:db},${2:sql})", "description": "sqlite3.exec(db, sql) - \u6267\u884cSQL\u8bed\u53e5\n\u4f20\u5165\u503c\uff1a\nuserdata \u901a\u8fc7sqlite3.open\u83b7\u53d6\u5230\u7684\u6570\u636e\u5e93\u6307\u9488\nstring SQL\u5b57\u7b26\u4e32,\u5fc5\u987b\u586b\u5199\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56denil\ntable \u6210\u529f\u8fd4\u56de\u67e5\u8be2\u7ed3\u679c(\u82e5\u6709),\u5426\u5219\u8fd4\u56de\u62a5\u9519\u7684\u5b57\u7b26\u4e32\n", "prefix": "sqlite3.exec"}, "sqlite3.close": {"body": "sqlite3.close(${1:db})", "description": "sqlite3.close(db) - \u5173\u95ed\u6570\u636e\u5e93\n\u4f20\u5165\u503c\uff1a\nuserdata \u901a\u8fc7sqlite3.open\u83b7\u53d6\u5230\u7684\u6570\u636e\u5e93\u6307\u9488\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56denil\n", "prefix": "sqlite3.close"}, "statem.create": {"body": "statem.create(${1:count},${2:repeat})", "description": "statem.create(count, repeat) - \u521b\u5efa\u4e00\u4e2a\u65b0\u7684\u72b6\u6001\u673a.\n\u4f20\u5165\u503c\uff1a\nint \u6307\u4ee4\u6761\u6570,\u9ed8\u8ba432\u6761\nint \u91cd\u590d\u6267\u884c\u7684\u6b21\u6570, 0 \u4ee3\u8868\u4e0d\u91cd\u590d, \u6b63\u6574\u6570\u4ee3\u8868\u5177\u4f53\u91cd\u590d\u6267\u884c\u7684\u6b21\u6570. \u6682\u4e0d\u652f\u6301\u6c38\u7eed\u6267\u884c\n\u8fd4\u56de\u503c\uff1a\nsome \u82e5\u6210\u529f,\u8fd4\u56de\u72b6\u6001\u673a\u6307\u9488,\u5426\u5219\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\ngpio.setup(7, 0, gpio.PULLUP)\ngpio.setup(12, 0, gpio.PULLUP)\ngpio.setup(13, 0, gpio.PULLUP)\ngpio.setup(14, 0, gpio.PULLUP)\nlocal sm = statem.create()\n :gpio_set(7, 0) -- gpio\u8bbe\u7f6e\u4e3a\u4f4e\u7535\u5e73\n :usleep(10) -- \u4f11\u772010us\n :gpio_set(7, 1) -- gpio\u8bbe\u7f6e\u4e3a\u9ad8\u7535\u5e73\n :usleep(40) -- \u4f11\u772040us\n :gpio_set(12, 1) -- gpio\u8bbe\u7f6e\u4e3a\u9ad8\u7535\u5e73\n :gpio_set(13, 1) -- gpio\u8bbe\u7f6e\u4e3a\u9ad8\u7535\u5e73\n :gpio_set(14, 1) -- gpio\u8bbe\u7f6e\u4e3a\u9ad8\u7535\u5e73\n :usleep(40) -- \u4f11\u772040us\n :gpio_set(7, 0) -- gpio\u8bbe\u7f6e\u4e3a\u4f4e\u7535\u5e73\n :finish()\n\n-- \u6267\u884c\u4e4b,\u540e\u7eed\u4f1a\u652f\u6301\u540e\u53f0\u6267\u884c\nsm:exec()\n", "prefix": "statem.create"}, "string.toHex": {"body": "string.toHex(${1:str},${2:separator})", "description": "string.toHex(str, separator) - \u5c06\u5b57\u7b26\u4e32\u8f6c\u6210HEX\n\u4f20\u5165\u503c\uff1a\nstring \u9700\u8981\u8f6c\u6362\u7684\u5b57\u7b26\u4e32\nstring \u5206\u9694\u7b26, \u9ed8\u8ba4\u4e3a\"\"\n\u8fd4\u56de\u503c\uff1a\nstring HEX\u5b57\u7b26\u4e32\nnumber HEX\u5b57\u7b26\u4e32\u7684\u957f\u5ea6\n\u4f8b\u5b50\uff1a\nstring.toHex(\"\\1\\2\\3\") --> \"010203\" 6\nstring.toHex(\"123abc\") --> \"313233616263\" 12\nstring.toHex(\"123abc\", \" \") --> \"31 32 33 61 62 63 \" 12\n", "prefix": "string.toHex"}, "string.fromHex": {"body": "string.fromHex(${1:hex})", "description": "string.fromHex(hex) - \u5c06HEX\u8f6c\u6210\u5b57\u7b26\u4e32\n\u4f20\u5165\u503c\uff1a\nstring hex,16\u8fdb\u5236\u7ec4\u6210\u7684\u4e32\n\u8fd4\u56de\u503c\uff1a\nstring \u5b57\u7b26\u4e32\n\u4f8b\u5b50\uff1a\nstring.fromHex(\"010203\") --> \"\\1\\2\\3\"\nstring.fromHex(\"313233616263\") --> \"123abc\"\n", "prefix": "string.fromHex"}, "string.split": {"body": "string.split(${1:str},${2:delimiter},${3:keepEmtry})", "description": "string.split(str, delimiter, keepEmtry) - \u6309\u7167\u6307\u5b9a\u5206\u9694\u7b26\u5206\u5272\u5b57\u7b26\u4e32\n\u4f20\u5165\u503c\uff1a\nstring \u8f93\u5165\u5b57\u7b26\u4e32\nstring \u5206\u9694\u7b26,\u53ef\u9009,\u9ed8\u8ba4 \",\"\nbool \u662f\u5426\u4fdd\u7559\u7a7a\u767d\u7247\u6bb5,\u9ed8\u8ba4\u4e3afalse,\u4e0d\u4fdd\u7559. 2023.4.11\u4e4b\u540e\u7684\u56fa\u4ef6\u53ef\u7528\n\u8fd4\u56de\u503c\uff1a\ntable \u5206\u5272\u540e\u7684\u5b57\u7b26\u4e32\u8868\n\u4f8b\u5b50\uff1a\nlocal tmp = string.split(\"123,233333,122\")\nlog.info(\"tmp\", json.encode(tmp))\nlocal tmp = (\"123,456,789\"):split(',') --> {'123','456','789'}\nlog.info(\"tmp\", json.encode(tmp))\n\n-- \u4fdd\u7559\u7a7a\u7247\u6bb5, 2023.4.11\u4e4b\u540e\u7684\u56fa\u4ef6\u53ef\u7528\nlocal str = \"/tmp//def/1234/\"\nlocal tmp = str:split(\"/\", true) \nlog.info(\"str.split\", #tmp, json.encode(tmp))\n", "prefix": "string.split"}, "string.toValue": {"body": "string.toValue(${1:str})", "description": "string.toValue(str) - \u8fd4\u56de\u5b57\u7b26\u4e32tonumber\u7684\u8f6c\u4e49\u5b57\u7b26\u4e32(\u7528\u6765\u652f\u6301\u8d85\u8fc731\u4f4d\u6574\u6570\u7684\u8f6c\u6362)\n\u4f20\u5165\u503c\uff1a\nstring \u8f93\u5165\u5b57\u7b26\u4e32\n\u8fd4\u56de\u503c\uff1a\nstring \u8f6c\u6362\u540e\u7684\u4e8c\u8fdb\u5236\u5b57\u7b26\u4e32\nnumber \u8f6c\u6362\u4e86\u591a\u5c11\u4e2a\u5b57\u7b26\n\u4f8b\u5b50\uff1a\nstring.toValue(\"123456\") --> \"\\1\\2\\3\\4\\5\\6\" 6\nstring.toValue(\"123abc\") --> \"\\1\\2\\3\\a\\b\\c\" 6\n", "prefix": "string.toValue"}, "string.urlEncode": {"body": "string.urlEncode(${1:\"123abc\"})", "description": "string.urlEncode(\"123 abc\") - \u5c06\u5b57\u7b26\u4e32\u8fdb\u884curl\u7f16\u7801\u8f6c\u6362\n\u4f20\u5165\u503c\uff1a\nstring \u9700\u8981\u8f6c\u6362\u7684\u5b57\u7b26\u4e32\n", "prefix": "string.urlEncode"}, "string.toBase64": {"body": "string.toBase64(${1:str})", "description": "string.toBase64(str) - \u5c06\u5b57\u7b26\u4e32\u8fdb\u884cbase64\u7f16\u7801\n\u4f20\u5165\u503c\uff1a\nstring \u9700\u8981\u8f6c\u6362\u7684\u5b57\u7b26\u4e32\n\u8fd4\u56de\u503c\uff1a\nstring \u89e3\u7801\u540e\u7684\u5b57\u7b26\u4e32,\u5982\u679c\u89e3\u7801\u5931\u8d25\u4f1a\u8fd4\u56de\u7a7a\u5b57\u7b26\u4e32\n", "prefix": "string.toBase64"}, "string.fromBase64": {"body": "string.fromBase64(${1:str})", "description": "string.fromBase64(str) - \u5c06\u5b57\u7b26\u4e32\u8fdb\u884cbase64\u89e3\u7801\n\u4f20\u5165\u503c\uff1a\nstring \u9700\u8981\u8f6c\u6362\u7684\u5b57\u7b26\u4e32\n\u8fd4\u56de\u503c\uff1a\nstring \u89e3\u7801\u540e\u7684\u5b57\u7b26\u4e32,\u5982\u679c\u89e3\u7801\u5931\u8d25\u4f1a\u8fd4\u56de\u7a7a\u5b57\u7b26\u4e32\n", "prefix": "string.fromBase64"}, "string.toBase32": {"body": "string.toBase32(${1:str})", "description": "string.toBase32(str) - \u5c06\u5b57\u7b26\u4e32\u8fdb\u884cbase32\u7f16\u7801\n\u4f20\u5165\u503c\uff1a\nstring \u9700\u8981\u8f6c\u6362\u7684\u5b57\u7b26\u4e32\n\u8fd4\u56de\u503c\uff1a\nstring \u89e3\u7801\u540e\u7684\u5b57\u7b26\u4e32,\u5982\u679c\u89e3\u7801\u5931\u8d25\u4f1a\u8fd4\u56de0\u957f\u5ea6\u5b57\u7b26\u4e32\n", "prefix": "string.toBase32"}, "string.fromBase32": {"body": "string.fromBase32(${1:str})", "description": "string.fromBase32(str) - \u5c06\u5b57\u7b26\u4e32\u8fdb\u884cbase32\u89e3\u7801\n\u4f20\u5165\u503c\uff1a\nstring \u9700\u8981\u8f6c\u6362\u7684\u5b57\u7b26\u4e32\n\u8fd4\u56de\u503c\uff1a\nstring \u89e3\u7801\u540e\u7684\u5b57\u7b26\u4e32,\u5982\u679c\u89e3\u7801\u5931\u8d25\u4f1a\u8fd4\u56de0\u957f\u5ea6\u5b57\u7b26\u4e32\n", "prefix": "string.fromBase32"}, "string.startsWith": {"body": "string.startsWith(${1:str},${2:prefix})", "description": "string.startsWith(str, prefix) - \u5224\u65ad\u5b57\u7b26\u4e32\u524d\u7f00\n\u4f20\u5165\u503c\uff1a\nstring \u9700\u8981\u68c0\u67e5\u7684\u5b57\u7b26\u4e32\nstring \u524d\u7f00\u5b57\u7b26\u4e32\n\u8fd4\u56de\u503c\uff1a\nbool \u771f\u4e3atrue, \u5047\u4e3afalse\n\u4f8b\u5b50\uff1a\nlocal str = \"abc\"\nlog.info(\"str\", str:startsWith(\"a\"))\nlog.info(\"str\", str:startsWith(\"b\"))\n", "prefix": "string.startsWith"}, "string.endsWith": {"body": "string.endsWith(${1:str},${2:suffix})", "description": "string.endsWith(str, suffix) - \u5224\u65ad\u5b57\u7b26\u4e32\u540e\u7f00\n\u4f20\u5165\u503c\uff1a\nstring \u9700\u8981\u68c0\u67e5\u7684\u5b57\u7b26\u4e32\nstring \u540e\u7f00\u5b57\u7b26\u4e32\n\u8fd4\u56de\u503c\uff1a\nbool \u771f\u4e3atrue, \u5047\u4e3afalse\n\u4f8b\u5b50\uff1a\nlocal str = \"abc\"\nlog.info(\"str\", str:endsWith(\"c\"))\nlog.info(\"str\", str:endsWith(\"b\"))\n", "prefix": "string.endsWith"}, "string.trim": {"body": "string.trim(${1:str},${2:ltrim},${3:rtrim})", "description": "string.trim(str, ltrim, rtrim) - \u88c1\u526a\u5b57\u7b26\u4e32,\u53bb\u9664\u5934\u5c3e\u7684\u7a7a\u683c\n\u4f20\u5165\u503c\uff1a\nstring \u9700\u8981\u5904\u7406\u7684\u5b57\u7b26\u4e32\nbool \u6e05\u7406\u524d\u7f00,\u9ed8\u8ba4\u4e3atrue\nbool \u6e05\u7406\u540e\u7f00,\u9ed8\u8ba4\u4e3atrue\n\u8fd4\u56de\u503c\uff1a\nstring \u6e05\u7406\u540e\u7684\u5b57\u7b26\u4e32\n\u4f8b\u5b50\uff1a\nlocal str = \"\\r\\nabc\\r\\n\"\nlog.info(\"str\", string.trim(str)) -- \u6253\u5370 \"abc\"\nlog.info(\"str\", str:trim()) -- \u6253\u5370 \"abc\"\nlog.info(\"str\", #string.trim(str, false, true)) -- \u4ec5\u88c1\u526a\u540e\u7f00,\u6240\u4ee5\u957f\u5ea6\u662f5\n", "prefix": "string.trim"}, "sys.wait": {"body": "sys.wait(${1:timeout})", "description": "sys.wait(timeout) - Task\u534f\u7a0b\u7b49\u5f85\u6307\u5b9a\u65f6\u957f\n\u4f20\u5165\u503c\uff1a\nint \u7b49\u5f85\u65f6\u957f,\u5355\u4f4d\u6beb\u79d2,\u5fc5\u987b\u5927\u4e8e0,\u5426\u5219\u65e0\u6548\n\u8fd4\u56de\u503c\uff1a\nany \u901a\u5e38\u4e3anil,\u9664\u975e\u4e3b\u52a8\u88ab\u5524\u9192(\u901a\u5e38\u4e0d\u4f1a)\n\u4f8b\u5b50\uff1a\nsys.taskInit(function()\n while 1 do\n sys.wait(500)\n end\nend)\n", "prefix": "sys.wait"}, "sys.waitUntil": {"body": "sys.waitUntil(${1:topic},${2:timeout})", "description": "sys.waitUntil(topic, timeout) - Task\u534f\u7a0b\u7b49\u5f85\u6307\u5b9a\u65f6\u957f\u6216\u8005\u7279\u5b9a\u7684topic\n\u4f20\u5165\u503c\uff1a\nstring \u4e8b\u4ef6topic\nint \u7b49\u5f85\u65f6\u957f,\u5355\u4f4d\u6beb\u79d2,\u5fc5\u987b\u5927\u4e8e0,\u5426\u5219\u65e0\u6548\n\u8fd4\u56de\u503c\uff1a\nboolean \u5982\u679c\u662f\u8d85\u65f6,\u8fd4\u56defalse,\u5426\u5219\u8fd4\u56detrue\nany \u5bf9\u5e94topic\u7684\u5185\u5bb9\n\u4f8b\u5b50\uff1a\nsys.taskInit(function()\n // do something\n local result, data = sys.waitUntil(\"NET_READY\", 30000)\n // do something else\nend)\n", "prefix": "sys.waitUntil"}, "sys.taskInit": {"body": "sys.taskInit(${1:func},${2:arg1},${3:arg2},${4:argN})", "description": "sys.taskInit(func, arg1, arg2, argN) - \u521b\u5efa\u4e00\u4e2aTask\u534f\u7a0b\n\u4f20\u5165\u503c\uff1a\nfunction \u5f85\u6267\u884c\u7684\u51fd\u6570,\u53ef\u4ee5\u662f\u533f\u540d\u51fd\u6570, \u4e5f\u53ef\u4ee5\u662flocal\u6216\u5168\u5c40\u51fd\u6570\nany \u9700\u8981\u4f20\u9012\u7684\u53c2\u65701,\u53ef\u9009 \nany \u9700\u8981\u4f20\u9012\u7684\u53c2\u65702,\u53ef\u9009 \nany \u9700\u8981\u4f20\u9012\u7684\u53c2\u6570N,\u53ef\u9009 \n\u8fd4\u56de\u503c\uff1a\ntask \u534f\u7a0b\u5bf9\u8c61\n\u4f8b\u5b50\uff1a\nsys.taskInit(function(a, b, c)\n log.info(\"task\", a, b, c) -- \u6253\u5370 task A B C\nend, \"A\", \"B\", \"N\")\n", "prefix": "sys.taskInit"}, "sys.timerStart": {"body": "sys.timerStart(${1:func},${2:timeout},${3:arg1},${4:arg2},${5:argN})", "description": "sys.timerStart(func, timeout, arg1, arg2, argN) - \u521b\u5efa\u4e00\u4e2a\u5b9a\u65f6\u5668.\u975eTask,\u51fd\u6570\u91cc\u4e0d\u80fd\u76f4\u63a5sys.waitXXX\n\u4f20\u5165\u503c\uff1a\nfunction \u5f85\u6267\u884c\u7684\u51fd\u6570,\u53ef\u4ee5\u662f\u533f\u540d\u51fd\u6570, \u4e5f\u53ef\u4ee5\u662flocal\u6216\u5168\u5c40\u51fd\u6570\nint \u5ef6\u65f6\u65f6\u957f,\u5355\u4f4d\u6beb\u79d2\nany \u9700\u8981\u4f20\u9012\u7684\u53c2\u65701,\u53ef\u9009 \nany \u9700\u8981\u4f20\u9012\u7684\u53c2\u65702,\u53ef\u9009 \nany \u9700\u8981\u4f20\u9012\u7684\u53c2\u6570N,\u53ef\u9009 \n\u8fd4\u56de\u503c\uff1a\nint \u5b9a\u65f6\u5668id\n\u4f8b\u5b50\uff1a\nsys.timerStart(function(a, b, c)\n log.info(\"task\", a, b, c) -- 1000\u6beb\u79d2\u540e\u624d\u4f1a\u6267\u884c, \u6253\u5370 task A B C\nend, 1000, \"A\", \"B\", \"N\")\n", "prefix": "sys.timerStart"}, "sys.timerLoopStart": {"body": "sys.timerLoopStart(${1:func},${2:timeout},${3:arg1},${4:arg2},${5:argN})", "description": "sys.timerLoopStart(func, timeout, arg1, arg2, argN) - \u521b\u5efa\u4e00\u4e2a\u5faa\u73af\u5b9a\u65f6\u5668.\u975eTask,\u51fd\u6570\u91cc\u4e0d\u80fd\u76f4\u63a5sys.waitXXX\n\u4f20\u5165\u503c\uff1a\nfunction \u5f85\u6267\u884c\u7684\u51fd\u6570,\u53ef\u4ee5\u662f\u533f\u540d\u51fd\u6570, \u4e5f\u53ef\u4ee5\u662flocal\u6216\u5168\u5c40\u51fd\u6570\nint \u5ef6\u65f6\u65f6\u957f,\u5355\u4f4d\u6beb\u79d2\nany \u9700\u8981\u4f20\u9012\u7684\u53c2\u65701,\u53ef\u9009 \nany \u9700\u8981\u4f20\u9012\u7684\u53c2\u65702,\u53ef\u9009 \nany \u9700\u8981\u4f20\u9012\u7684\u53c2\u6570N,\u53ef\u9009 \n\u8fd4\u56de\u503c\uff1a\nint \u5b9a\u65f6\u5668id\n\u4f8b\u5b50\uff1a\nsys.timerLoopStart(function(a, b, c)\n log.info(\"task\", a, b, c) -- 1000\u6beb\u79d2\u540e\u624d\u4f1a\u6267\u884c, \u6253\u5370 task A B C\nend, 1000, \"A\", \"B\", \"N\")\n", "prefix": "sys.timerLoopStart"}, "sys.timerStop": {"body": "sys.timerStop(${1:id})", "description": "sys.timerStop(id) - \u5173\u95ed\u4e00\u4e2a\u5b9a\u65f6\u5668.\n\u4f20\u5165\u503c\uff1a\nint \u5b9a\u65f6\u5668id\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\nlocal tcount = 0\nlocal tid \ntid = sys.timerLoopStart(function(a, b, c)\n log.info(\"task\", a, b, c) -- 1000\u6beb\u79d2\u540e\u624d\u4f1a\u6267\u884c, \u6253\u5370 task A B C\n if tcount > 10 then\n sys.timerStop(tid)\n end\n tcount = tcount + 1\nend, 1000, \"A\", \"B\", \"N\")\n", "prefix": "sys.timerStop"}, "sys.publish": {"body": "sys.publish(${1:topic},${2:arg1},${3:agr2},${4:argN})", "description": "sys.publish(topic, arg1, agr2, argN) - \u5f80\u7279\u5b9atopic\u901a\u9053\u53d1\u5e03\u4e00\u4e2a\u6d88\u606f\n\u4f20\u5165\u503c\uff1a\nstring topic\u7684\u503c\nany \u9644\u5e26\u7684\u53c2\u65701\nany \u9644\u5e26\u7684\u53c2\u65702\nany \u9644\u5e26\u7684\u53c2\u6570N\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\nsys.publish(\"BT_READY\", false)\n", "prefix": "sys.publish"}, "sys.subscribe": {"body": "sys.subscribe(${1:topic},${2:func})", "description": "sys.subscribe(topic, func) - \u8ba2\u9605\u4e00\u4e2atopic\u901a\u9053\n\u4f20\u5165\u503c\uff1a\nstring topic\u7684\u503c\nfunction \u56de\u8c03\u51fd\u6570, \u6ce8\u610f, \u4e0d\u80fd\u76f4\u63a5\u4f7f\u7528sys.waitXXX\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\nlocal function bt_cb(state)\n log.info(\"bt\", state)\nend\nsys.subscribe(\"BT_READY\", bt_cb)\nsys.subscribe(\"BT_READY\", function(state)\n log.info(\"sys\", \"Got BT_READY\", state)\nend)\n", "prefix": "sys.subscribe"}, "sys.unsubscribe": {"body": "sys.unsubscribe(${1:topic},${2:func})", "description": "sys.unsubscribe(topic, func) - \u53d6\u6d88\u8ba2\u9605topic\u901a\u9053\n\u4f20\u5165\u503c\uff1a\nstring topic\u7684\u503c\nfunction \u56de\u8c03\u51fd\u6570, \u6ce8\u610f, \u4e0d\u80fd\u76f4\u63a5\u4f7f\u7528sys.waitXXX\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\nlocal function bt_cb(state)\n log.info(\"bt\", state)\nend\nsys.unsubscribe(\"BT_READY\", bt_cb)\n", "prefix": "sys.unsubscribe"}, "sys.run": {"body": "sys.run()", "description": "sys.run() - sys\u5e93\u4e3b\u5faa\u73af\u65b9\u6cd5,\u4ec5\u5141\u8bb8\u5728main.lua\u7684\u672b\u5c3e\u8c03\u7528\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c. \u8fd9\u4e2a\u65b9\u6cd5\u51e0\u4e4e\u4e0d\u53ef\u80fd\u8fd4\u56de.\n\u4f8b\u5b50\uff1a\n-- \u603b\u662fmain.lua\u7684\u7ed3\u5c3e\u4e00\u53e5,\u5c06\u6765\u4e5f\u8bb8\u4f1a\u7b80\u5316\u6389\nsys.run()\n-- \u4e4b\u540e\u7684\u4ee3\u7801\u4e0d\u4f1a\u88ab\u6267\u884c\n", "prefix": "sys.run"}, "sysplus.waitMsg": {"body": "sysplus.waitMsg(${1:taskName},${2:target},${3:timeout})", "description": "sysplus.waitMsg(taskName, target, timeout) - \u7b49\u5f85\u63a5\u6536\u4e00\u4e2a\u76ee\u6807\u6d88\u606f\n\u4f20\u5165\u503c\uff1a\nstring \u4efb\u52a1\u540d\u79f0\uff0c\u7528\u4e8e\u5524\u9192\u4efb\u52a1\u7684id\nstring \u76ee\u6807\u6d88\u606f\uff0c\u5982\u679c\u4e3anil\uff0c\u5219\u8868\u793a\u63a5\u6536\u5230\u4efb\u610f\u6d88\u606f\u90fd\u4f1a\u9000\u51fa\nint \u8d85\u65f6\u65f6\u95f4\uff0c\u5982\u679c\u4e3anil\uff0c\u5219\u8868\u793a\u65e0\u8d85\u65f6\uff0c\u6c38\u8fdc\u7b49\u5f85\n\u8fd4\u56de\u503c\uff1a\ntable \u6210\u529f\u8fd4\u56detable\u578b\u7684msg\uff0c\u8d85\u65f6\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- \u7b49\u5f85\u4efb\u52a1\nsysplus.waitMsg('a', 'b', 1000)\n-- \u6ce8\u610f, \u672c\u51fd\u6570\u4f1a\u81ea\u52a8\u6ce8\u518c\u6210\u5168\u5c40\u51fd\u6570 sys_wait\n", "prefix": "sysplus.waitMsg"}, "sysplus.sendMsg": {"body": "sysplus.sendMsg(${1:taskName},${2:target},${3:arg2},${4:arg3},${5:arg4})", "description": "sysplus.sendMsg(taskName, target, arg2, arg3, arg4) - \u5411\u76ee\u6807\u4efb\u52a1\u53d1\u9001\u4e00\u4e2a\u6d88\u606f\n\u4f20\u5165\u503c\uff1a\nstring \u4efb\u52a1\u540d\u79f0\uff0c\u7528\u4e8e\u5524\u9192\u4efb\u52a1\u7684id\nany \u6d88\u606f\u4e2d\u7684\u53c2\u65701\uff0c\u540c\u65f6\u4e5f\u662fwaitMsg\u91cc\u7684target\nany \u6d88\u606f\u4e2d\u7684\u53c2\u65702\nany \u6d88\u606f\u4e2d\u7684\u53c2\u65703\nany \u6d88\u606f\u4e2d\u7684\u53c2\u65704\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue, \u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- \u5411\u4efb\u52a1a,\u76ee\u6807b\u53d1\u9001\u6d88\u606f\nsysplus.sendMsg('a', 'b')\n-- \u6ce8\u610f, \u672c\u51fd\u6570\u4f1a\u81ea\u52a8\u6ce8\u518c\u6210\u5168\u5c40\u51fd\u6570 sys_send\n", "prefix": "sysplus.sendMsg"}, "sysplus.taskInitEx": {"body": "sysplus.taskInitEx(${1:fun},${2:taskName},${3:cbFun},${4:...})", "description": "sysplus.taskInitEx(fun, taskName, cbFun, ...) - \u521b\u5efa\u4e00\u4e2a\u4efb\u52a1\u7ebf\u7a0b,\u5728\u6a21\u5757\u6700\u672b\u884c\u8c03\u7528\u8be5\u51fd\u6570\u5e76\u6ce8\u518c\u6a21\u5757\u4e2d\u7684\u4efb\u52a1\u51fd\u6570,main.lua\u5bfc\u5165\u8be5\u6a21\u5757\u5373\u53ef\n\u4f20\u5165\u503c\uff1a\nfunction \u4efb\u52a1\u51fd\u6570\u540d,\u7528\u4e8eresume\u5524\u9192\u65f6\u8c03\u7528\nstring \u4efb\u52a1\u540d\u79f0,\u7528\u4e8e\u5524\u9192\u4efb\u52a1\u7684id\nfunction \u63a5\u6536\u5230\u975e\u76ee\u6807\u6d88\u606f\u65f6\u7684\u56de\u8c03\u51fd\u6570\nany ... \u4efb\u52a1\u51fd\u6570fun\u7684\u53ef\u53d8\u53c2\u6570\n\u8fd4\u56de\u503c\uff1a\nnumber \u8fd4\u56de\u8be5\u4efb\u52a1\u7684\u7ebf\u7a0b\u53f7\n\u4f8b\u5b50\uff1a\nsysplus.taskInitEx(task1,'a',callback)\n", "prefix": "sysplus.taskInitEx"}, "sysplus.taskDel": {"body": "sysplus.taskDel(${1:taskName})", "description": "sysplus.taskDel(taskName) - \u5220\u9664\u7531taskInitEx\u521b\u5efa\u7684\u4efb\u52a1\u7ebf\u7a0b\n\u4f20\u5165\u503c\uff1a\nstring \u4efb\u52a1\u540d\u79f0,\u7528\u4e8e\u5524\u9192\u4efb\u52a1\u7684id\n\u4f8b\u5b50\uff1a\nsysplus.taskDel('a')\n", "prefix": "sysplus.taskDel"}, "sysplus.cleanMsg": {"body": "sysplus.cleanMsg(${1:taskName})", "description": "sysplus.cleanMsg(taskName) - \u6e05\u9664\u6307\u5b9atask\u7684\u6d88\u606f\u961f\u5217\n\u4f20\u5165\u503c\uff1a\nstring \u4efb\u52a1\u540d\u79f0\n\u4f8b\u5b50\uff1a\nsysplus.cleanMsg('a')\n", "prefix": "sysplus.cleanMsg"}, "timer.mdelay": {"body": "timer.mdelay(${1:timeout})", "description": "timer.mdelay(timeout) - \u786c\u963b\u585e\u6307\u5b9a\u65f6\u957f\n\u4f20\u5165\u503c\uff1a\nint \u963b\u585e\u65f6\u957f,\u5355\u4f4dms, \u6700\u9ad81024ms, \u5b9e\u9645\u4f7f\u7528\u5f3a\u70c8\u5efa\u8bae\u4e0d\u8981\u8d85\u8fc7200ms\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n-- \u671f\u95f4\u6ca1\u6709\u4efb\u4f55luat\u4ee3\u7801\u4f1a\u6267\u884c,\u5305\u62ec\u5e95\u5c42\u6d88\u606f\u5904\u7406\u673a\u5236\n-- \u672c\u65b9\u6cd5\u901a\u5e38\u4e0d\u4f1a\u4f7f\u7528,\u9664\u975e\u4f60\u5f88\u6e05\u695a\u4f1a\u53d1\u751f\u4ec0\u4e48\ntimer.mdelay(10)\n", "prefix": "timer.mdelay"}, "timer.udelay": {"body": "timer.udelay(${1:timeout})", "description": "timer.udelay(timeout) - \u786c\u963b\u585e\u6307\u5b9a\u65f6\u957f\u4f46us\u7ea7\u522b,\u4e0d\u4f1a\u5f88\u7cbe\u51c6\n\u4f20\u5165\u503c\uff1a\nint \u963b\u585e\u65f6\u957f,\u5355\u4f4dus, \u6700\u59273000us\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n-- \u672c\u65b9\u6cd5\u901a\u5e38\u4e0d\u4f1a\u4f7f\u7528,\u9664\u975e\u4f60\u5f88\u6e05\u695a\u4f1a\u53d1\u751f\u4ec0\u4e48\n-- \u672cAPI\u5728 2023.05.18 \u6dfb\u52a0\ntimer.udelay(10)\n-- \u5b9e\u9645\u963b\u585e\u65f6\u957f\u662f\u6709\u6ce2\u52a8\u7684\n", "prefix": "timer.udelay"}, "touchkey.setup": {"body": "touchkey.setup(${1:id},${2:scan_period},${3:window},${4:threshold})", "description": "touchkey.setup(id, scan_period, window, threshold) - \u914d\u7f6e\u89e6\u6478\u6309\u952e\n\u4f20\u5165\u503c\uff1a\nint \u4f20\u611f\u5668id,\u8bf7\u67e5\u9605\u786c\u4ef6\u6587\u6863, \u4f8b\u5982air101/air103\u652f\u6301 1~15, \u4f8b\u5982PA7\u5bf9\u5e94touch id=1\nint \u626b\u63cf\u95f4\u9694,\u8303\u56f41 ~ 0x3F, \u5355\u4f4d16ms,\u53ef\u9009\nint \u626b\u63cf\u7a97\u53e3,\u8303\u56f42-7, \u53ef\u9009\nint \u9600\u503c, \u8303\u56f40-127, \u53ef\u9009\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue, \u5931\u8d25\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\ntouchkey.setup(1)\nsys.subscribe(\"TOUCHKEY_INC\", function(id, count)\n -- \u4f20\u611f\u5668id\n -- \u8ba1\u6570\u5668,\u89e6\u6478\u6b21\u6570\u7edf\u8ba1\n log.info(\"touchkey\", id, count)\nend)\n", "prefix": "touchkey.setup"}, "touchkey.close": {"body": "touchkey.close(${1:id})", "description": "touchkey.close(id) - \u5173\u95ed\u521d\u59cb\u89e6\u6478\u6309\u952e\n\u4f20\u5165\u503c\uff1a\nint \u4f20\u611f\u5668id,\u8bf7\u67e5\u9605\u786c\u4ef6\u6587\u6863\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n-- \u4e0d\u592a\u53ef\u80fd\u9700\u8981\u5173\u6389\u7684\u6837\u5b50\ntouchkey.close(1)\n", "prefix": "touchkey.close"}, "u8g2.begin": {"body": "u8g2.begin(${1:conf})", "description": "u8g2.begin(conf) - u8g2\u663e\u793a\u5c4f\u521d\u59cb\u5316\n\u4f20\u5165\u503c\uff1a\ntable conf \u914d\u7f6e\u4fe1\u606f,\u8be6\u7ec6\u914d\u7f6e\u770b\u4e0b\u9762\u7684\u4f8b\u5b50\n\u8fd4\u56de\u503c\uff1a\nint \u6b63\u5e38\u521d\u59cb\u53161,\u5df2\u7ecf\u521d\u59cb\u5316\u8fc72,\u5185\u5b58\u4e0d\u591f3,\u521d\u59cb\u5316\u5931\u8d25\u8fd4\u56de4\n\u4f8b\u5b50\uff1a\n-- conf\u914d\u7f6e\u9879\u8bf4\u660e\n-- ic \u5b57\u7b26\u4e32,\u4e3b\u63a7\u82af\u7247\u7c7b\u578b, \u652f\u6301custom(\u81ea\u5b9a\u4e49\u547d\u4ee4) ssd1306(\u9ed8\u8ba4) ssd1309 ssd1322 sh1106 sh1107 sh1108 st7567 uc1701 ssd1306_128x32\n-- direction \u6570\u503c,\u65b9\u5411,\u53ef\u90090 90 180 270 \u9ed8\u8ba40\n-- mode \u5b57\u7b26\u4e32,\u6a21\u5f0f,\u53ef\u9009i2c_sw:\u8f6f\u4ef6i2c i2c_hw:\u786c\u4ef6i2c,spi_hw_4pin: \u786c\u4ef6spi\n-- i2c_id: \u6570\u503c,\u786c\u4ef6i2c\u65f6\u6709\u6548\n-- i2c_scl: \u6570\u503c,\u8f6f\u4ef6i2c\u65f6\u65f6\u949f\u7ebf\u7684GPIO\u7f16\u53f7\n-- i2c_sda: \u6570\u503c\u8f6f\u4ef6i2c\u65f6\u6570\u636e\u7ebf\u7684GPIO\u7f16\u53f7\n-- spi_id\u3001spi_res\u3001spi_dc\u3001spi_cs: \u6570\u503c,\u786c\u4ef6spi\u7684SPI\u7f16\u53f7,\u590d\u4f4dGPIO\u7f16\u53f7,DC\u7ebf\u7684GPIO\u7f16\u53f7, CS\u7ebf\u7684GPIO\u7f16\u53f7\n-- x_offset: \u6570\u503c,X\u8f74\u504f\u79fb\u91cf,\u9ed8\u8ba4\u6309\u9a71\u52a8\u8d70, 2023.11.10\u65b0\u589e\u7684\u914d\u7f6e\u9879\n\n-- \u521d\u59cb\u5316\u786c\u4ef6i2c\u7684ssd1306\nu8g2.begin({ic = \"ssd1306\",direction = 0,mode=\"i2c_hw\",i2c_id=0}) -- direction \u53ef\u90090 90 180 270\n-- \u521d\u59cb\u5316\u786c\u4ef6spi\u7684ssd1306\nu8g2.begin({ic = \"ssd1306\",direction = 0,mode=\"spi_hw_4pin\",spi_id=0,spi_res=pin.PB03,spi_dc=pin.PB01,spi_cs=pin.PB04}) -- direction \u53ef\u90090 90 180 270\n-- \u521d\u59cb\u5316\u8f6f\u4ef6i2c\u7684ssd1306\nu8g2.begin({ic = \"ssd1306\",direction = 0,mode=\"i2c_sw\", i2c_scl=1, i2c_sda=4}) -- \u901a\u8fc7PA1 SCL / PA4 SDA\u6a21\u62df\n", "prefix": "u8g2.begin"}, "u8g2.close": {"body": "u8g2.close()", "description": "u8g2.close() - \u5173\u95ed\u663e\u793a\u5c4f\n\u4f8b\u5b50\uff1a\n-- \u5173\u95eddisp,\u518d\u6b21\u4f7f\u7528disp\u76f8\u5173API\u7684\u8bdd,\u9700\u8981\u91cd\u65b0\u521d\u59cb\u5316\nu8g2.close()\n", "prefix": "u8g2.close"}, "u8g2.ClearBuffer": {"body": "u8g2.ClearBuffer()", "description": "u8g2.ClearBuffer() - \u6e05\u5c4f\uff0c\u6e05\u9664\u5185\u5b58\u5e27\u7f13\u51b2\u533a\u4e2d\u7684\u6240\u6709\u50cf\u7d20\n\u4f8b\u5b50\uff1a\n-- \u6e05\u5c4f\nu8g2.ClearBuffer()\n", "prefix": "u8g2.ClearBuffer"}, "u8g2.SendBuffer": {"body": "u8g2.SendBuffer()", "description": "u8g2.SendBuffer() - \u5c06\u6570\u636e\u66f4\u65b0\u5230\u5c4f\u5e55\uff0c\u5c06\u5b58\u50a8\u5668\u5e27\u7f13\u51b2\u533a\u7684\u5185\u5bb9\u53d1\u9001\u5230\u663e\u793a\u5668\n\u4f8b\u5b50\uff1a\n-- \u628a\u663e\u793a\u6570\u636e\u66f4\u65b0\u5230\u5c4f\u5e55\nu8g2.SendBuffer()\n", "prefix": "u8g2.SendBuffer"}, "u8g2.DrawUTF8": {"body": "u8g2.DrawUTF8(${1:str},${2:x},${3:y})", "description": "u8g2.DrawUTF8(str, x, y) - \u5728\u663e\u793a\u5c4f\u4e0a\u753b\u4e00\u6bb5\u6587\u5b57\uff0c\u5728\u663e\u793a\u5c4f\u4e0a\u753b\u4e00\u6bb5\u6587\u5b57,\u8981\u8c03\u7528u8g2.SendBuffer()\u624d\u4f1a\u66f4\u65b0\u5230\u5c4f\u5e55\n\u4f20\u5165\u503c\uff1a\nstring \u6587\u4ef6\u5185\u5bb9\nint \u6a2a\u5750\u6807\nint \u7ad6\u5750\u6807\n\u4f8b\u5b50\uff1a\nu8g2.DrawUTF8(\"wifi is ready\", 10, 20)\n", "prefix": "u8g2.DrawUTF8"}, "u8g2.DrawButtonUTF8": {"body": "u8g2.DrawButtonUTF8(${1:str},${2:x},${3:y},${4:flags},${5:w},${6:h},${7:v},${8:str})", "description": "u8g2.DrawButtonUTF8(str, x, y, flags, w, h, v, str) - \u5728\u63d0\u4f9b\u7684\u6587\u672c\u5468\u56f4\u753b\u4e00\u4e2a\u6846\u3002\u8fd9\u4e0e DrawUTF8 \u7c7b\u4f3c\uff0c\u4f46\u4e3a\u6587\u672c\u6dfb\u52a0\u4e86\u4e00\u4e9b\u88c5\u9970\u3002,\u8981\u8c03\u7528u8g2.SendBuffer()\u624d\u4f1a\u66f4\u65b0\u5230\u5c4f\u5e55\n\u4f20\u5165\u503c\uff1a\nstring \u6587\u4ef6\u5185\u5bb9\nint \u6a2a\u5750\u6807\nint \u7ad6\u5750\u6807\nint \u6807\u5fd7 \u591a\u4e2a\u6807\u5fd7\u53ef\u4ee5\u4e0e\u201c\u6216\u201d\u8fd0\u7b97\u7b26\u4e00\u8d77\u4f7f\u7528\u3002\nint \u6587\u672c\u7684\u6700\u5c0f\u5bbd\u5ea6\u3002\u5982\u679c\u4e3a0\uff08\u6216\u4f4e\u4e8e\u6587\u672c\u5bbd\u5ea6\uff09\uff0c\u5219\u6587\u672c\u5bbd\u5ea6\u5c06\u7528\u4e8e\u6846\u67b6\u3002\nint \u6587\u672c\u524d\u540e\u7684\u989d\u5916\u7a7a\u95f4\u3002\nint \u6587\u672c\u4e0a\u4e0b\u7684\u989d\u5916\u7a7a\u95f4\u3002\n\u4f8b\u5b50\uff1a\nu8g2.DrawButtonUTF8(\"str\", 10, 20,u8g2.BTN_BW2,0,2,2)\n", "prefix": "u8g2.DrawButtonUTF8"}, "u8g2.SetFontMode": {"body": "u8g2.SetFontMode(${1:mode})", "description": "u8g2.SetFontMode(mode) - \u8bbe\u7f6e\u5b57\u4f53\u6a21\u5f0f\n\u4f20\u5165\u503c\uff1a\nint mode\u5b57\u4f53\u6a21\u5f0f\uff0c\u542f\u7528\uff081\uff09\u6216\u7981\u7528\uff080\uff09\u900f\u660e\u6a21\u5f0f\n\u4f8b\u5b50\uff1a\nu8g2.SetFontMode(1)\n", "prefix": "u8g2.SetFontMode"}, "u8g2.SetFont": {"body": "u8g2.SetFont(${1:font})", "description": "u8g2.SetFont(font) - \u8bbe\u7f6e\u5b57\u4f53\n\u4f20\u5165\u503c\uff1a\nuserdata font, u8g2.font_opposansm8 \u4e3a\u7eaf\u82f1\u65878\u53f7\u5b57\u4f53,\u8fd8\u6709font_opposansm10 font_opposansm12 font_opposansm16 font_opposansm18 font_opposansm20 font_opposansm22 font_opposansm24 font_opposansm32 \u53ef\u9009 u8g2.font_opposansm12_chinese \u4e3a12x12\u5168\u4e2d\u6587,\u8fd8\u6709 font_opposansm16_chinese font_opposansm24_chinese font_opposansm32_chinese \u53ef\u9009, u8g2.font_unifont_t_symbols \u4e3a\u7b26\u53f7.\n\u4f8b\u5b50\uff1a\n-- \u8bbe\u7f6e\u4e3a\u4e2d\u6587\u5b57\u4f53,\u5bf9\u4e4b\u540e\u7684drawStr\u6709\u6548\nu8g2.SetFont(u8g2.font_opposansm12)\n", "prefix": "u8g2.SetFont"}, "u8g2.GetDisplayHeight": {"body": "u8g2.GetDisplayHeight()", "description": "u8g2.GetDisplayHeight() - \u83b7\u53d6\u663e\u793a\u5c4f\u9ad8\u5ea6\n\u8fd4\u56de\u503c\uff1a\nint \u663e\u793a\u5c4f\u9ad8\u5ea6\n\u4f8b\u5b50\uff1a\nu8g2.GetDisplayHeight()\n", "prefix": "u8g2.GetDisplayHeight"}, "u8g2.GetDisplayWidth": {"body": "u8g2.GetDisplayWidth()", "description": "u8g2.GetDisplayWidth() - \u83b7\u53d6\u663e\u793a\u5c4f\u5bbd\u5ea6\n\u8fd4\u56de\u503c\uff1a\nint \u663e\u793a\u5c4f\u5bbd\u5ea6\n\u4f8b\u5b50\uff1a\nu8g2.GetDisplayWidth()\n", "prefix": "u8g2.GetDisplayWidth"}, "u8g2.SetDrawColor": {"body": "u8g2.SetDrawColor(${1:c})", "description": "u8g2.SetDrawColor(c) - \u4e3a\u6240\u6709\u7ed8\u56fe\u529f\u80fd\u5206\u914d\u7ed8\u56fe\u989c\u8272\u3002\n\u4f20\u5165\u503c\uff1a\nint c\u4e3a\u989c\u8272\u503c 0\u6ca1\u6709\u8272 1\u6709\u8272 2\u4e0e\u5e95\u8272xor\n\u4f8b\u5b50\uff1a\nu8g2.SetDrawColor(0)\n", "prefix": "u8g2.SetDrawColor"}, "u8g2.DrawPixel": {"body": "u8g2.DrawPixel(${1:x},${2:y})", "description": "u8g2.DrawPixel(x,y) - \u753b\u4e00\u4e2a\u70b9.\n\u4f20\u5165\u503c\uff1a\nint X\u4f4d\u7f6e.\nint Y\u4f4d\u7f6e.\n\u4f8b\u5b50\uff1a\nu8g2.DrawPixel(20, 5)\n", "prefix": "u8g2.DrawPixel"}, "u8g2.DrawLine": {"body": "u8g2.DrawLine(${1:x0},${2:y0},${3:x1},${4:y1})", "description": "u8g2.DrawLine(x0,y0,x1,y1) - \u5728\u4e24\u70b9\u4e4b\u95f4\u753b\u4e00\u6761\u7ebf.\n\u4f20\u5165\u503c\uff1a\nint \u7b2c\u4e00\u4e2a\u70b9\u7684X\u4f4d\u7f6e.\nint \u7b2c\u4e00\u4e2a\u70b9\u7684Y\u4f4d\u7f6e.\nint \u7b2c\u4e8c\u4e2a\u70b9\u7684X\u4f4d\u7f6e.\nint \u7b2c\u4e8c\u4e2a\u70b9\u7684Y\u4f4d\u7f6e.\n\u4f8b\u5b50\uff1a\nu8g2.DrawLine(20, 5, 5, 32)\n", "prefix": "u8g2.DrawLine"}, "u8g2.DrawCircle": {"body": "u8g2.DrawCircle(${1:x0},${2:y0},${3:rad},${4:opt})", "description": "u8g2.DrawCircle(x0,y0,rad,opt) - \u5728x,y\u4f4d\u7f6e\u753b\u4e00\u4e2a\u534a\u5f84\u4e3arad\u7684\u7a7a\u5fc3\u5706.\n\u4f20\u5165\u503c\uff1a\nint \u5706\u5fc3\u4f4d\u7f6e\nint \u5706\u5fc3\u4f4d\u7f6e\nint \u5706\u534a\u5f84.\nint \u9009\u62e9\u5706\u7684\u90e8\u5206\u6216\u5168\u90e8. \u9ed8\u8ba4\u5168\u753b \u53ef\u9009 u8g2.DRAW_UPPER_RIGHT u8g2.DRAW_UPPER_LEFT u8g2.DRAW_LOWER_LEFT u8g2.DRAW_LOWER_RIGHT u8g2.DRAW_ALL\n\u4f8b\u5b50\uff1a\nu8g2.DrawCircle(60,30,8,u8g2.DRAW_ALL)\n", "prefix": "u8g2.DrawCircle"}, "u8g2.DrawDisc": {"body": "u8g2.DrawDisc(${1:x0},${2:y0},${3:rad},${4:opt})", "description": "u8g2.DrawDisc(x0,y0,rad,opt) - \u5728x,y\u4f4d\u7f6e\u753b\u4e00\u4e2a\u534a\u5f84\u4e3arad\u7684\u5b9e\u5fc3\u5706.\n\u4f20\u5165\u503c\uff1a\nint \u5706\u5fc3\u4f4d\u7f6e\nint \u5706\u5fc3\u4f4d\u7f6e\nint \u5706\u534a\u5f84.\nint \u9009\u62e9\u5706\u7684\u90e8\u5206\u6216\u5168\u90e8. \u9ed8\u8ba4\u5168\u753b \u53ef\u9009 u8g2.DRAW_UPPER_RIGHT u8g2.DRAW_UPPER_LEFT u8g2.DRAW_LOWER_LEFT u8g2.DRAW_LOWER_RIGHT u8g2.DRAW_ALL\n\u4f8b\u5b50\uff1a\nu8g2.DrawDisc(60,30,8,u8g2.DRAW_ALL)\n", "prefix": "u8g2.DrawDisc"}, "u8g2.DrawEllipse": {"body": "u8g2.DrawEllipse(${1:x0},${2:y0},${3:rx},${4:ry},${5:opt})", "description": "u8g2.DrawEllipse(x0,y0,rx,ry,opt) - \u5728x,y\u4f4d\u7f6e\u753b\u4e00\u4e2a\u534a\u5f84\u4e3arad\u7684\u7a7a\u5fc3\u692d\u5706.\n\u4f20\u5165\u503c\uff1a\nint \u5706\u5fc3\u4f4d\u7f6e\nint \u5706\u5fc3\u4f4d\u7f6e\nint \u692d\u5706\u5927\u5c0f\nint \u692d\u5706\u5927\u5c0f\nint \u9009\u62e9\u5706\u7684\u90e8\u5206\u6216\u5168\u90e8. \u9ed8\u8ba4\u5168\u753b \u53ef\u9009 u8g2.DRAW_UPPER_RIGHT u8g2.DRAW_UPPER_LEFT u8g2.DRAW_LOWER_LEFT u8g2.DRAW_LOWER_RIGHT u8g2.DRAW_ALL\n\u4f8b\u5b50\uff1a\nu8g2.DrawEllipse(60,30,8,u8g2.DRAW_ALL)\n", "prefix": "u8g2.DrawEllipse"}, "u8g2.DrawFilledEllipse": {"body": "u8g2.DrawFilledEllipse(${1:x0},${2:y0},${3:rx},${4:ry},${5:opt})", "description": "u8g2.DrawFilledEllipse(x0,y0,rx,ry,opt) - \u5728x,y\u4f4d\u7f6e\u753b\u4e00\u4e2a\u534a\u5f84\u4e3arad\u7684\u5b9e\u5fc3\u692d\u5706.\n\u4f20\u5165\u503c\uff1a\nint \u5706\u5fc3\u4f4d\u7f6e\nint \u5706\u5fc3\u4f4d\u7f6e\nint \u692d\u5706\u5927\u5c0f\nint \u692d\u5706\u5927\u5c0f\nint \u9009\u62e9\u5706\u7684\u90e8\u5206\u6216\u5168\u90e8. \u9ed8\u8ba4\u5168\u753b \u53ef\u9009 u8g2.DRAW_UPPER_RIGHT u8g2.DRAW_UPPER_LEFT u8g2.DRAW_LOWER_LEFT u8g2.DRAW_LOWER_RIGHT u8g2.DRAW_ALL\n\u4f8b\u5b50\uff1a\nu8g2.DrawFilledEllipse(60,30,8,15)\n", "prefix": "u8g2.DrawFilledEllipse"}, "u8g2.DrawBox": {"body": "u8g2.DrawBox(${1:x},${2:y},${3:w},${4:h})", "description": "u8g2.DrawBox(x,y,w,h) - \u4ecex / y\u4f4d\u7f6e\uff08\u5de6\u4e0a\u8fb9\u7f18\uff09\u5f00\u59cb\u7ed8\u5236\u4e00\u4e2a\u6846\uff08\u586b\u5145\u7684\u6846\uff09.\n\u4f20\u5165\u503c\uff1a\nint \u5de6\u4e0a\u8fb9\u7f18\u7684X\u4f4d\u7f6e\nint \u5de6\u4e0a\u8fb9\u7f18\u7684Y\u4f4d\u7f6e\nint \u76d2\u5b50\u7684\u5bbd\u5ea6\nint \u76d2\u5b50\u7684\u9ad8\u5ea6\n\u4f8b\u5b50\uff1a\nu8g2.DrawBox(3,7,25,15)\n", "prefix": "u8g2.DrawBox"}, "u8g2.DrawFrame": {"body": "u8g2.DrawFrame(${1:x},${2:y},${3:w},${4:h})", "description": "u8g2.DrawFrame(x,y,w,h) - \u4ecex / y\u4f4d\u7f6e\uff08\u5de6\u4e0a\u8fb9\u7f18\uff09\u5f00\u59cb\u7ed8\u5236\u4e00\u4e2a\u6846\uff08\u7a7a\u6846\uff09.\n\u4f20\u5165\u503c\uff1a\nint \u5de6\u4e0a\u8fb9\u7f18\u7684X\u4f4d\u7f6e\nint \u5de6\u4e0a\u8fb9\u7f18\u7684Y\u4f4d\u7f6e\nint \u76d2\u5b50\u7684\u5bbd\u5ea6\nint \u76d2\u5b50\u7684\u9ad8\u5ea6\n\u4f8b\u5b50\uff1a\nu8g2.DrawFrame(3,7,25,15)\n", "prefix": "u8g2.DrawFrame"}, "u8g2.DrawRBox": {"body": "u8g2.DrawRBox(${1:x},${2:y},${3:w},${4:h},${5:r})", "description": "u8g2.DrawRBox(x,y,w,h,r) - \u7ed8\u5236\u4e00\u4e2a\u4ecex / y\u4f4d\u7f6e\uff08\u5de6\u4e0a\u8fb9\u7f18\uff09\u5f00\u59cb\u5177\u6709\u5706\u5f62\u8fb9\u7f18\u7684\u586b\u5145\u6846/\u6846\u67b6.\n\u4f20\u5165\u503c\uff1a\nint \u5de6\u4e0a\u8fb9\u7f18\u7684X\u4f4d\u7f6e\nint \u5de6\u4e0a\u8fb9\u7f18\u7684Y\u4f4d\u7f6e\nint \u76d2\u5b50\u7684\u5bbd\u5ea6\nint \u76d2\u5b50\u7684\u9ad8\u5ea6\nint \u56db\u4e2a\u8fb9\u7f18\u7684\u534a\u5f84\n\u4f8b\u5b50\uff1a\nu8g2.DrawRBox(3,7,25,15)\n", "prefix": "u8g2.DrawRBox"}, "u8g2.DrawRFrame": {"body": "u8g2.DrawRFrame(${1:x},${2:y},${3:w},${4:h},${5:r})", "description": "u8g2.DrawRFrame(x,y,w,h,r) - \u7ed8\u5236\u4e00\u4e2a\u4ecex / y\u4f4d\u7f6e\uff08\u5de6\u4e0a\u8fb9\u7f18\uff09\u5f00\u59cb\u5177\u6709\u5706\u5f62\u8fb9\u7f18\u7684\u7a7a\u6846/\u6846\u67b6.\n\u4f20\u5165\u503c\uff1a\nint \u5de6\u4e0a\u8fb9\u7f18\u7684X\u4f4d\u7f6e\nint \u5de6\u4e0a\u8fb9\u7f18\u7684Y\u4f4d\u7f6e\nint \u76d2\u5b50\u7684\u5bbd\u5ea6\nint \u76d2\u5b50\u7684\u9ad8\u5ea6\nint \u56db\u4e2a\u8fb9\u7f18\u7684\u534a\u5f84\n\u4f8b\u5b50\uff1a\nu8g2.DrawRFrame(3,7,25,15)\n", "prefix": "u8g2.DrawRFrame"}, "u8g2.DrawGlyph": {"body": "u8g2.DrawGlyph(${1:x},${2:y},${3:encoding})", "description": "u8g2.DrawGlyph(x,y,encoding) - \u7ed8\u5236\u4e00\u4e2a\u56fe\u5f62\u5b57\u7b26\u3002\u5b57\u7b26\u653e\u7f6e\u5728\u6307\u5b9a\u7684\u50cf\u7d20\u4f4d\u7f6ex\u548cy.\n\u4f20\u5165\u503c\uff1a\nint \u5b57\u7b26\u5728\u663e\u793a\u5c4f\u4e0a\u7684\u4f4d\u7f6e\nint \u5b57\u7b26\u5728\u663e\u793a\u5c4f\u4e0a\u7684\u4f4d\u7f6e\nint \u5b57\u7b26\u7684Unicode\u503c\n\u4f8b\u5b50\uff1a\nu8g2.SetFont(u8g2_font_unifont_t_symbols)\nu8g2.DrawGlyph(5, 20, 0x2603)\t-- dec 9731/hex 2603 Snowman\n", "prefix": "u8g2.DrawGlyph"}, "u8g2.DrawTriangle": {"body": "u8g2.DrawTriangle(${1:x0},${2:y0},${3:x1},${4:y1},${5:x2},${6:y2})", "description": "u8g2.DrawTriangle(x0,y0,x1,y1,x2,y2) - \u7ed8\u5236\u4e00\u4e2a\u4e09\u89d2\u5f62\uff08\u5b9e\u5fc3\u591a\u8fb9\u5f62\uff09.\n\u4f20\u5165\u503c\uff1a\nint \u70b90X\u4f4d\u7f6e\nint \u70b90Y\u4f4d\u7f6e\nint \u70b91X\u4f4d\u7f6e\nint \u70b91Y\u4f4d\u7f6e\nint \u70b92X\u4f4d\u7f6e\nint \u70b92Y\u4f4d\u7f6e\n\u4f8b\u5b50\uff1a\nu8g2.DrawTriangle(20,5, 27,50, 5,32)\n", "prefix": "u8g2.DrawTriangle"}, "u8g2.SetBitmapMode": {"body": "u8g2.SetBitmapMode(${1:mode})", "description": "u8g2.SetBitmapMode(mode) - \u5b9a\u4e49\u4f4d\u56fe\u51fd\u6570\u662f\u5426\u5c06\u5199\u5165\u80cc\u666f\u8272\n\u4f20\u5165\u503c\uff1a\nint mode\u5b57\u4f53\u6a21\u5f0f\uff0c\u542f\u7528\uff081\uff09\u6216\u7981\u7528\uff080\uff09\u900f\u660e\u6a21\u5f0f\n\u4f8b\u5b50\uff1a\nu8g2.SetBitmapMode(1)\n", "prefix": "u8g2.SetBitmapMode"}, "u8g2.DrawXBM": {"body": "u8g2.DrawXBM(${1:x},${2:y},${3:w},${4:h},${5:data})", "description": "u8g2.DrawXBM(x, y, w, h, data) - \u7ed8\u5236\u4f4d\u56fe\n\u4f20\u5165\u503c\uff1a\nint X\u5750\u6807\nint y\u5750\u6807\nint \u4f4d\u56fe\u5bbd\nint \u4f4d\u56fe\u9ad8\nint \u4f4d\u56fe\u6570\u636e,\u6bcf\u4e00\u4f4d\u4ee3\u8868\u4e00\u4e2a\u50cf\u7d20\n\u4f8b\u5b50\uff1a\n-- \u53d6\u6a21\u4f7f\u7528PCtoLCD2002\u8f6f\u4ef6\u5373\u53ef\n-- \u5728(0,0)\u4e3a\u5de6\u4e0a\u89d2,\u7ed8\u5236 16x16 \"\u4eca\" \u7684\u4f4d\u56fe\nu8g2.DrawXBM(0, 0, 16,16, string.char(\n 0x80,0x00,0x80,0x00,0x40,0x01,0x20,0x02,0x10,0x04,0x48,0x08,0x84,0x10,0x83,0x60,\n 0x00,0x00,0xF8,0x0F,0x00,0x08,0x00,0x04,0x00,0x04,0x00,0x02,0x00,0x01,0x80,0x00\n))\n", "prefix": "u8g2.DrawXBM"}, "u8g2.DrawDrcode": {"body": "u8g2.DrawDrcode(${1:x},${2:y},${3:str},${4:size})", "description": "u8g2.DrawDrcode(x, y, str, size) - \u7f13\u51b2\u533a\u7ed8\u5236QRCode\n\u4f20\u5165\u503c\uff1a\nint x\u5750\u6807\nint y\u5750\u6807\nstring \u4e8c\u7ef4\u7801\u7684\u5185\u5bb9\nint \u663e\u793a\u5927\u5c0f (\u6ce8\u610f:\u4e8c\u7ef4\u7801\u751f\u6210\u5927\u5c0f\u4e0e\u8981\u663e\u793a\u5185\u5bb9\u548c\u7ea0\u9519\u7b49\u7ea7\u6709\u5173,\u751f\u6210\u7248\u672c\u4e3a1-40(\u5bf9\u5e94 21x21 - 177x177)\u7684\u4e0d\u5b9a\u5927\u5c0f,\u5982\u679c\u548c\u8bbe\u7f6e\u5927\u5c0f\u4e0d\u540c\u4f1a\u81ea\u52a8\u5728\u6307\u5b9a\u7684\u533a\u57df\u4e2d\u95f4\u663e\u793a\u4e8c\u7ef4\u7801,\u5982\u4e8c\u7ef4\u7801\u672a\u663e\u793a\u8bf7\u67e5\u770b\u65e5\u5fd7\u63d0\u793a)\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n", "prefix": "u8g2.DrawDrcode"}, "u8g2.SetContrast": {"body": "u8g2.SetContrast(${1:contrast})", "description": "u8g2.SetContrast(contrast) - \u8c03\u6574\u5c4f\u5e55\u5bf9\u6bd4\u5ea6\n\u4f20\u5165\u503c\uff1a\nint \u5bf9\u6bd4\u5ea6\uff08\u53d6\u503c\u8303\u56f4\u4e0eIC\u6709\u5173\uff0c\u5982st7567\u4e3a0-63\uff09\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n", "prefix": "u8g2.SetContrast"}, "u8g2.drawGtfontGb2312": {"body": "u8g2.drawGtfontGb2312(${1:str},${2:size},${3:x},${4:y})", "description": "u8g2.drawGtfontGb2312(str,size,x,y) - \u4f7f\u7528gtfont\u663e\u793agb2312\u5b57\u7b26\u4e32\n\u4f20\u5165\u503c\uff1a\nstring str \u663e\u793a\u5b57\u7b26\u4e32\nint size \u5b57\u4f53\u5927\u5c0f (\u652f\u630116-192\u53f7\u5927\u5c0f\u5b57\u4f53)\nint x \u6a2a\u5750\u6807\nint y \u7ad6\u5750\u6807\n\u4f8b\u5b50\uff1a\nu8g2.drawGtfontGb2312(\"\u554a\u554a\u554a\",32,0,0)\n", "prefix": "u8g2.drawGtfontGb2312"}, "u8g2.drawGtfontUtf8": {"body": "u8g2.drawGtfontUtf8(${1:str},${2:size},${3:x},${4:y})", "description": "u8g2.drawGtfontUtf8(str,size,x,y) - \u4f7f\u7528gtfont\u663e\u793aUTF8\u5b57\u7b26\u4e32\n\u4f20\u5165\u503c\uff1a\nstring str \u663e\u793a\u5b57\u7b26\u4e32\nint size \u5b57\u4f53\u5927\u5c0f (\u652f\u630116-192\u53f7\u5927\u5c0f\u5b57\u4f53)\nint x \u6a2a\u5750\u6807\nint y \u7ad6\u5750\u6807\n\u4f8b\u5b50\uff1a\nu8g2.drawGtfontUtf8(\"\u554a\u554a\u554a\",32,0,0)\n", "prefix": "u8g2.drawGtfontUtf8"}, "u8g2.CopyBuffer": {"body": "u8g2.CopyBuffer(${1:buff})", "description": "u8g2.CopyBuffer(buff) - \u83b7\u53d6\u5e95\u5c42\u56fe\u50cf\u7f13\u51b2\u533a\n\u4f20\u5165\u503c\uff1a\nuserdata zbuff\u5b9e\u4f8b,\u7a7a\u95f4\u8981\u5927\u4e8e\u7b49\u4e8e\u5e95\u5c42buff\u7684\u5927\u5c0f\n\u8fd4\u56de\u503c\uff1a\nint \u6210\u529f\u8fd4\u56debuff\u5927\u5c0f,\u5426\u5219\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\n-- \u672c\u51fd\u6570\u5728u8g2\u521d\u59cb\u5316\u4e4b\u540e\u624d\u80fd\u8c03\u7528\n\n-- \u83b7\u53d6\u5927\u5c0f\nlocal sz = u8g2.CopyBuffer()\n\n-- \u62f7\u8d1d\u5e95\u5c42buff\nlocal buff = zbuff.create(sz)\nu8g2.CopyBuffer(buff)\n\n", "prefix": "u8g2.CopyBuffer"}, "u8g2.SetPowerSave": {"body": "u8g2.SetPowerSave(${1:is_enable})", "description": "u8g2.SetPowerSave(is_enable) - \u8bbe\u7f6e\u7701\u7535\u6a21\u5f0f\n\u4f20\u5165\u503c\uff1a\nboolean \u542f\u7528\u4e0e\u5426. true \u542f\u7528, false\u7981\u7528\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n-- \u672cAPI\u4e8e2023.11.02\u65b0\u589e\n-- \u5f00\u542f\u7701\u7535\nu8g2.SetPowerSave(true)\n-- \u5173\u95ed\u7701\u7535\nu8g2.SetPowerSave(false)\n", "prefix": "u8g2.SetPowerSave"}, "uart.setup": {"body": "uart.setup(${1:id},${2:baud_rate},${3:data_bits},${4:stop_bits},${5:partiy},${6:bit_order},${7:buff_size},${8:rs485_gpio},${9:rs485_level},${10:rs485_delay})", "description": "uart.setup(id, baud_rate, data_bits, stop_bits, partiy, bit_order, buff_size, rs485_gpio, rs485_level, rs485_delay) - \u914d\u7f6e\u4e32\u53e3\u53c2\u6570\n\u4f20\u5165\u503c\uff1a\nint \u4e32\u53e3id, uart0\u51990, uart1\u51991, \u5982\u6b64\u7c7b\u63a8, \u6700\u5927\u503c\u53d6\u51b3\u4e8e\u8bbe\u5907\nint \u6ce2\u7279\u7387, \u9ed8\u8ba4115200\uff0c\u53ef\u9009\u62e9\u6ce2\u7279\u7387\u8868:{2000000,921600,460800,230400,115200,57600,38400,19200,9600,4800,2400}\nint \u6570\u636e\u4f4d\uff0c\u9ed8\u8ba4\u4e3a8, \u53ef\u9009 7/8\nint \u505c\u6b62\u4f4d\uff0c\u9ed8\u8ba4\u4e3a1, \u6839\u636e\u5b9e\u9645\u60c5\u51b5\uff0c\u53ef\u4ee5\u67090.5/1/1.5/2\u7b49\nint \u6821\u9a8c\u4f4d\uff0c\u53ef\u9009 uart.None/uart.Even/uart.Odd\nint \u5927\u5c0f\u7aef\uff0c\u9ed8\u8ba4\u5c0f\u7aef uart.LSB, \u53ef\u9009 uart.MSB\nint \u7f13\u51b2\u533a\u5927\u5c0f\uff0c\u9ed8\u8ba4\u503c1024\nint 485\u6a21\u5f0f\u4e0b\u7684\u8f6c\u6362GPIO, \u9ed8\u8ba4\u503c0xffffffff\nint 485\u6a21\u5f0f\u4e0b\u7684rx\u65b9\u5411GPIO\u7684\u7535\u5e73, \u9ed8\u8ba4\u503c0\nint 485\u6a21\u5f0f\u4e0btx\u5411rx\u8f6c\u6362\u7684\u5ef6\u8fdf\u65f6\u95f4\uff0c\u9ed8\u8ba4\u503c12bit\u7684\u65f6\u95f4\uff0c\u5355\u4f4dus\n\u8fd4\u56de\u503c\uff1a\nint \u6210\u529f\u8fd4\u56de0,\u5931\u8d25\u8fd4\u56de\u5176\u4ed6\u503c\n\u4f8b\u5b50\uff1a\n-- \u6700\u5e38\u7528115200 8N1\nuart.setup(1, 115200, 8, 1, uart.NONE)\n-- \u53ef\u4ee5\u7b80\u5199\u4e3a uart.setup(1)\n\n-- 485\u81ea\u52a8\u5207\u6362, \u9009\u53d6GPIO10\u4f5c\u4e3a\u6536\u53d1\u8f6c\u6362\u811a\nuart.setup(1, 115200, 8, 1, uart.NONE, uart.LSB, 1024, 10, 0, 100)\n", "prefix": "uart.setup"}, "uart.write": {"body": "uart.write(${1:id},${2:data})", "description": "uart.write(id, data) - \u5199\u4e32\u53e3\n\u4f20\u5165\u503c\uff1a\nint \u4e32\u53e3id, uart0\u51990, uart1\u51991\nstring/zbuff \u5f85\u5199\u5165\u7684\u6570\u636e\uff0c\u5982\u679c\u662fzbuff\u4f1a\u4ece\u6307\u9488\u8d77\u59cb\u4f4d\u7f6e\u5f00\u59cb\u8bfb\nint \u53ef\u9009\uff0c\u8981\u53d1\u9001\u7684\u6570\u636e\u957f\u5ea6\uff0c\u9ed8\u8ba4\u5168\u53d1\n\u8fd4\u56de\u503c\uff1a\nint \u6210\u529f\u7684\u6570\u636e\u957f\u5ea6\n\u4f8b\u5b50\uff1a\n-- \u5199\u5165\u53ef\u89c1\u5b57\u7b26\u4e32\nuart.write(1, \"rdy\\r\\n\")\n-- \u5199\u5165\u5341\u516d\u8fdb\u5236\u7684\u6570\u636e\u4e32\nuart.write(1, string.char(0x55,0xAA,0x4B,0x03,0x86))\n", "prefix": "uart.write"}, "uart.read": {"body": "uart.read(${1:id},${2:len})", "description": "uart.read(id, len) - \u8bfb\u4e32\u53e3\n\u4f20\u5165\u503c\uff1a\nint \u4e32\u53e3id, uart0\u51990, uart1\u51991\nint \u8bfb\u53d6\u957f\u5ea6\nfile/zbuff \u53ef\u9009\uff1a\u6587\u4ef6\u53e5\u67c4\u6216zbuff\u5bf9\u8c61\n\u8fd4\u56de\u503c\uff1a\nstring \u8bfb\u53d6\u5230\u7684\u6570\u636e / \u4f20\u5165zbuff\u65f6\uff0c\u8fd4\u56de\u8bfb\u5230\u7684\u957f\u5ea6\uff0c\u5e76\u628azbuff\u6307\u9488\u540e\u79fb\n\u4f8b\u5b50\uff1a\nuart.read(1, 16)\n", "prefix": "uart.read"}, "uart.close": {"body": "uart.close(${1:id})", "description": "uart.close(id) - \u5173\u95ed\u4e32\u53e3\n\u4f20\u5165\u503c\uff1a\nint \u4e32\u53e3id, uart0\u51990, uart1\u51991\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\nuart.close(1)\n", "prefix": "uart.close"}, "uart.on": {"body": "uart.on(${1:id},${2:event},${3:func})", "description": "uart.on(id, event, func) - \u6ce8\u518c\u4e32\u53e3\u4e8b\u4ef6\u56de\u8c03\n\u4f20\u5165\u503c\uff1a\nint \u4e32\u53e3id, uart0\u51990, uart1\u51991\nstring \u4e8b\u4ef6\u540d\u79f0\nfunction \u56de\u8c03\u65b9\u6cd5\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\nuart.on(1, \"receive\", function(id, len)\n local data = uart.read(id, len)\n log.info(\"uart\", id, len, data)\nend)\n", "prefix": "uart.on"}, "uart.wait485": {"body": "uart.wait485(${1:id})", "description": "uart.wait485(id) - \u7b49\u5f85485\u6a21\u5f0f\u4e0bTX\u5b8c\u6210\uff0cmcu\u4e0d\u652f\u6301\u4e32\u53e3\u53d1\u9001\u79fb\u4f4d\u5bc4\u5b58\u5668\u7a7a\u6216\u8005\u7c7b\u4f3c\u4e2d\u65ad\u65f6\u624d\u9700\u8981\uff0c\u5728sent\u4e8b\u4ef6\u56de\u8c03\u540e\u4f7f\u7528\n\u4f20\u5165\u503c\uff1a\nint \u4e32\u53e3id, uart0\u51990, uart1\u51991\n\u8fd4\u56de\u503c\uff1a\nint \u7b49\u5f85\u4e86\u591a\u5c11\u6b21\u5faa\u73af\u624d\u7b49\u5230tx\u5b8c\u6210\uff0c\u7528\u4e8e\u7c97\u52a3\u7684\u89c2\u5bdfdelay\u65f6\u95f4\u662f\u5426\u8db3\u591f\uff0c\u8fd4\u56de\u4e0d\u4e3a0\u8bf4\u660e\u8fd8\u9700\u8981\u653e\u5927delay\n", "prefix": "uart.wait485"}, "uart.exist": {"body": "uart.exist(${1:id})", "description": "uart.exist(id) - \u68c0\u67e5\u4e32\u53e3\u53f7\u662f\u5426\u5b58\u5728\n\u4f20\u5165\u503c\uff1a\nint \u4e32\u53e3id, uart0\u51990, uart1\u51991, \u5982\u6b64\u7c7b\u63a8\n\u8fd4\u56de\u503c\uff1a\nbool \u5b58\u5728\u8fd4\u56detrue\n", "prefix": "uart.exist"}, "uart.rx": {"body": "uart.rx(${1:id},${2:buff})", "description": "uart.rx(id, buff) - buff\u5f62\u5f0f\u8bfb\u4e32\u53e3\uff0c\u4e00\u6b21\u8bfb\u51fa\u5168\u90e8\u6570\u636e\u5b58\u5165buff\u4e2d\uff0c\u5982\u679cbuff\u7a7a\u95f4\u4e0d\u591f\u4f1a\u81ea\u52a8\u6269\u5c55\uff0c\u76ee\u524dair105,air780e\u652f\u6301\u8fd9\u4e2a\u64cd\u4f5c\n\u4f20\u5165\u503c\uff1a\nint \u4e32\u53e3id, uart0\u51990, uart1\u51991\nzbuff zbuff\u5bf9\u8c61\n\u8fd4\u56de\u503c\uff1a\nint \u8fd4\u56de\u8bfb\u5230\u7684\u957f\u5ea6\uff0c\u5e76\u628azbuff\u6307\u9488\u540e\u79fb\n\u4f8b\u5b50\uff1a\nuart.rx(1, buff)\n", "prefix": "uart.rx"}, "uart.rxSize": {"body": "uart.rxSize(${1:id})", "description": "uart.rxSize(id) - \u8bfb\u4e32\u53e3Rx\u7f13\u5b58\u4e2d\u5269\u4f59\u6570\u636e\u91cf\uff0c\u76ee\u524dair105,air780e\u652f\u6301\u8fd9\u4e2a\u64cd\u4f5c\n\u4f20\u5165\u503c\uff1a\nint \u4e32\u53e3id, uart0\u51990, uart1\u51991\n\u8fd4\u56de\u503c\uff1a\nint \u8fd4\u56de\u8bfb\u5230\u7684\u957f\u5ea6\n\u4f8b\u5b50\uff1a\nlocal size = uart.rxSize(1)\n", "prefix": "uart.rxSize"}, "uart.rxClear": {"body": "uart.rxClear(${1:id})", "description": "uart.rxClear(id) - \u6e05\u9664\u4e32\u53e3Rx\u7f13\u5b58\u4e2d\u5269\u4f59\u6570\u636e\u91cf\uff0c\u76ee\u524dair105,air780e\u652f\u6301\u8fd9\u4e2a\u64cd\u4f5c\n\u4f20\u5165\u503c\uff1a\nint \u4e32\u53e3id, uart0\u51990, uart1\u51991\n\u4f8b\u5b50\uff1a\nuart.rxClear(1)\n", "prefix": "uart.rxClear"}, "uart.tx": {"body": "uart.tx(${1:id},${2:buff},${3:start},${4:len})", "description": "uart.tx(id, buff, start, len) - buff\u5f62\u5f0f\u5199\u4e32\u53e3,\u7b49\u540c\u4e8ec\u8bed\u8a00uart_tx(uart_id, &buff[start], len);\n\u4f20\u5165\u503c\uff1a\nint \u4e32\u53e3id, uart0\u51990, uart1\u51991\nzbuff \u5f85\u5199\u5165\u7684\u6570\u636e\uff0c\u5982\u679c\u662fzbuff\u4f1a\u4ece\u6307\u9488\u8d77\u59cb\u4f4d\u7f6e\u5f00\u59cb\u8bfb\nint \u53ef\u9009\uff0c\u8981\u53d1\u9001\u7684\u6570\u636e\u8d77\u59cb\u4f4d\u7f6e\uff0c\u9ed8\u8ba4\u4e3a0\nint \u53ef\u9009\uff0c\u8981\u53d1\u9001\u7684\u6570\u636e\u957f\u5ea6\uff0c\u9ed8\u8ba4\u4e3azbuff\u5185\u6709\u6548\u6570\u636e\uff0c\u6700\u5927\u503c\u4e0d\u8d85\u8fc7zbuff\u7684\u6700\u5927\u7a7a\u95f4\n\u8fd4\u56de\u503c\uff1a\nint \u6210\u529f\u7684\u6570\u636e\u957f\u5ea6\n\u4f8b\u5b50\uff1a\nuart.tx(1, buf)\n", "prefix": "uart.tx"}, "uart.createSoft": {"body": "uart.createSoft(${1:tx_pin},${2:tx_hwtimer_id},${3:rx_pin},${4:rx_hwtimer_id},${5:adjust_period})", "description": "uart.createSoft(tx_pin, tx_hwtimer_id, rx_pin, rx_hwtimer_id, adjust_period) - \u8bbe\u7f6e\u8f6f\u4ef6uart\u7684\u786c\u4ef6\u914d\u7f6e\uff0c\u53ea\u6709\u652f\u6301\u786c\u4ef6\u5b9a\u65f6\u5668\u7684SOC\u624d\u80fd\u4f7f\u7528\uff0c\u76ee\u524d\u53ea\u80fd\u8bbe\u7f6e\u4e00\u4e2a\uff0c\u6ce2\u7279\u7387\u6839\u636e\u5e73\u53f0\u7684\u8f6f\u786c\u4ef6\u914d\u7f6e\u6709\u4e0d\u540c\u7684\u6781\u9650\uff0c\u5efa\u8bae9600\uff0c\u63a5\u6536\u7f13\u5b58\u4e0d\u8d85\u8fc765535\uff0c\u4e0d\u652f\u6301MSB\uff0c\u652f\u6301485\u81ea\u52a8\u63a7\u5236\u3002\u540e\u7eed\u4ecd\u8981setup\u64cd\u4f5c\n\u4f20\u5165\u503c\uff1a\nint \u53d1\u9001\u5f15\u811a\u7f16\u53f7\nint \u53d1\u9001\u7528\u7684\u786c\u4ef6\u5b9a\u65f6\u5668ID\nint \u63a5\u6536\u5f15\u811a\u7f16\u53f7\nint \u63a5\u6536\u7528\u7684\u786c\u4ef6\u5b9a\u65f6\u5668ID\nint \u53d1\u9001\u65f6\u5e8f\u8c03\u6574\uff0c\u5355\u4f4d\u662f\u5b9a\u65f6\u5668\u65f6\u949f\u5468\u671f\uff0c\u9ed8\u8ba4\u662f0\uff0c\u9700\u8981\u6839\u636e\u793a\u6ce2\u5668\u6216\u8005\u903b\u8f91\u5206\u6790\u4eea\u8fdb\u884c\u5fae\u8c03\nint \u63a5\u6536\u65f6\u5e8f\u8c03\u6574\uff0c\u5355\u4f4d\u662f\u5b9a\u65f6\u5668\u65f6\u949f\u5468\u671f\uff0c\u9ed8\u8ba4\u662f0\uff0c\u9700\u8981\u6839\u636e\u793a\u6ce2\u5668\u6216\u8005\u903b\u8f91\u5206\u6790\u4eea\u8fdb\u884c\u5fae\u8c03\n\u8fd4\u56de\u503c\uff1a\nint \u8f6f\u4ef6uart\u7684id\uff0c\u5982\u679c\u5931\u8d25\u5219\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\n-- \u521d\u59cb\u5316\u8f6f\u4ef6uart\nlocal uart_id = uart.createSoft(21, 0, 1, 2) --air780e\u5efa\u8bae\u7528\u5b9a\u65f6\u56680\u548c2\uff0ctx_pin\u6700\u597d\u7528AGPIO\uff0c\u9632\u6b62\u4f11\u7720\u65f6\u8bef\u89e6\u53d1\u5bf9\u7aefRX\n", "prefix": "uart.createSoft"}, "uart.list": {"body": "uart.list(${1:max})", "description": "uart.list(max) - \u83b7\u53d6\u53ef\u7528\u4e32\u53e3\u53f7\u5217\u8868\uff0c\u5f53\u524d\u4ec5\u9650win32\n\u4f20\u5165\u503c\uff1a\nint \u53ef\u9009\uff0c\u9ed8\u8ba4256\uff0c\u6700\u591a\u83b7\u53d6\u591a\u5c11\u4e2a\u4e32\u53e3\n\u8fd4\u56de\u503c\uff1a\ntable \u83b7\u53d6\u5230\u7684\u53ef\u7528\u4e32\u53e3\u53f7\u5217\u8868\n", "prefix": "uart.list"}, "ufont.get": {"body": "ufont.get(${1:name})", "description": "ufont.get(name) - \u83b7\u53d6\u5b57\u4f53\n\u4f20\u5165\u503c\uff1a\nstring \u5b57\u4f53\u540d\u79f0, \u4f8b\u5982\n\u8fd4\u56de\u503c\uff1a\nuserdata \u82e5\u5b57\u4f53\u5b58\u5728,\u8fd4\u56de\u5b57\u4f53\u6307\u9488, \u5426\u5219\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\n-- TODO\n", "prefix": "ufont.get"}, "ufont.list": {"body": "ufont.list()", "description": "ufont.list() - \u8fd4\u56de\u56fa\u4ef6\u652f\u6301\u7684\u5b57\u4f53\u5217\u8868\n\u8fd4\u56de\u503c\uff1a\ntable \u5b57\u4f53\u5217\u8868\n\u4f8b\u5b50\uff1a\n-- API\u65b0\u589e\u4e8e2022-08-05\nlog.info(\"fonts\", \"u8g2\", json.encode(ufont.list()))\n", "prefix": "ufont.list"}, "usbapp.set_id": {"body": "usbapp.set_id(${1:id},${2:vid},${3:pid})", "description": "usbapp.set_id(id, vid, pid) - USB \u8bbe\u7f6eVID\u548cPID\n\u4f20\u5165\u503c\uff1a\nint \u8bbe\u5907id,\u9ed8\u8ba4\u4e3a0\nint vid \u5c0f\u7aef\u683c\u5f0f\nint pid \u5c0f\u7aef\u683c\u5f0f\n\u4f8b\u5b50\uff1a\nusbapp.set_id(0, 0x1234, 0x5678)\n", "prefix": "usbapp.set_id"}, "usbapp.hid_mode": {"body": "usbapp.hid_mode(${1:id},${2:mode},${3:buff_size})", "description": "usbapp.hid_mode(id, mode, buff_size) - USB HID\u8bbe\u5907\u6a21\u5f0f\n\u4f20\u5165\u503c\uff1a\nint \u8bbe\u5907id,\u9ed8\u8ba4\u4e3a0\nint mode\uff0c\u76ee\u524d0\u662f\u952e\u76d8\uff0c1\u662f\u81ea\u5b9a\u4e49\nint buff_size\uff0c\u53ea\u80fd\u662f8,16,32,64\uff0c\u5982\u679c\u662f\u952e\u76d8\u6a21\u5f0f\u6216\u8005\u586b\u4e86\u5176\u4ed6\u503c\uff0c\u81ea\u52a8\u4e3a8\n\u4f8b\u5b50\uff1a\nusbapp.hid_mode(0, 0) -- usb hid\u952e\u76d8\u6a21\u5f0f\nusbapp.hid_mode(0, 1) -- usb hid\u81ea\u5b9a\u4e49\u6a21\u5f0f\uff0c\u7528\u4e8e\u514d\u9a71USB\u4ea4\u4e92\n", "prefix": "usbapp.hid_mode"}, "usbapp.start": {"body": "usbapp.start(${1:id})", "description": "usbapp.start(id) - \u542f\u52a8USB\u8bbe\u5907\n\u4f20\u5165\u503c\uff1a\nint \u8bbe\u5907id,\u9ed8\u8ba4\u4e3a0\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- \u542f\u52a8USB\nusbapp.start(0)\n", "prefix": "usbapp.start"}, "usbapp.stop": {"body": "usbapp.stop(${1:id})", "description": "usbapp.stop(id) - \u5173\u95edUSB\u8bbe\u5907\n\u4f20\u5165\u503c\uff1a\nint \u8bbe\u5907id,\u9ed8\u8ba4\u4e3a0\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- \u5173\u95edUSB\nusbapp.stop(0)\n", "prefix": "usbapp.stop"}, "usbapp.vhid_upload": {"body": "usbapp.vhid_upload(${1:id},${2:data})", "description": "usbapp.vhid_upload(id, data) - USB HID\u8bbe\u5907\u4e0a\u4f20\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nint \u8bbe\u5907id,\u9ed8\u8ba4\u4e3a0\nstring \u6570\u636e. \u6ce8\u610f, HID\u7684\u53ef\u7528\u5b57\u7b26\u662f\u6709\u9650\u5236\u7684, \u57fa\u672c\u4e0a\u53ea\u6709\u53ef\u89c1\u5b57\u7b26\u662f\u652f\u6301\u7684, \u4e0d\u652f\u6301\u7684\u5b57\u7b26\u4f1a\u66ff\u6362\u4e3a\u7a7a\u683c.\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- HID\u4e0a\u4f20\u6570\u636e\nusbapp.vhid_upload(0, \"1234\") -- usb hid\u4f1a\u6a21\u62df\u6572\u51fa1234\n", "prefix": "usbapp.vhid_upload"}, "usbapp.hid_tx": {"body": "usbapp.hid_tx(${1:id},${2:data},${3:start},${4:len})", "description": "usbapp.hid_tx(id, data, start, len) - USB HID\u8bbe\u5907\u4e0a\u4f20\u7528\u6237\u81ea\u5b9a\u4e49\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nint \u8bbe\u5907id,\u9ed8\u8ba4\u4e3a0\nstring or zbuff \u6ce8\u610f\u6570\u636e\u91cf\u4e0d\u8db3\u65f6\u4f1a\u81ea\u52a8\u586b\u51450\nint \u53ef\u9009\uff0cdata\u4e3azbuff\u624d\u6709\u6548\uff0c\u8981\u53d1\u9001\u7684\u6570\u636e\u8d77\u59cb\u4f4d\u7f6e\uff0c\u9ed8\u8ba4\u4e3a0\nint \u53ef\u9009\uff0cdata\u4e3azbuff\u624d\u6709\u6548\uff0c\u8981\u53d1\u9001\u7684\u6570\u636e\u957f\u5ea6\uff0c\u9ed8\u8ba4\u4e3azbuff\u5185\u6709\u6548\u6570\u636e\uff0c\u6700\u5927\u503c\u4e0d\u8d85\u8fc7zbuff\u7684\u6700\u5927\u7a7a\u95f4\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- HID\u4e0a\u4f20\u6570\u636e\nusbapp.hid_tx(0, \"1234\") -- usb hid\u4e0a\u4f200x31 0x32 0x33 0x34 + N\u4e2a0\n", "prefix": "usbapp.hid_tx"}, "usbapp.hid_rx": {"body": "usbapp.hid_rx(${1:id},${2:buff})", "description": "usbapp.hid_rx(id, buff) - buff\u5f62\u5f0f\u8bfb\u63a5\u6536\u5230\u7684\u6570\u636e\uff0c\u4e00\u6b21\u8bfb\u51fa\u5168\u90e8\u6570\u636e\u5b58\u5165buff\u4e2d\uff0c\u5982\u679cbuff\u7a7a\u95f4\u4e0d\u591f\u4f1a\u81ea\u52a8\u6269\u5c55\uff0c\u76ee\u524d\u53ea\u6709air105\u652f\u6301\u8fd9\u4e2a\u64cd\u4f5c\n\u4f20\u5165\u503c\uff1a\nint \u8bbe\u5907id,\u9ed8\u8ba4\u4e3a0\nzbuff zbuff\u5bf9\u8c61\n\u8fd4\u56de\u503c\uff1a\nint \u8fd4\u56de\u8bfb\u5230\u7684\u957f\u5ea6\uff0c\u5e76\u628azbuff\u6307\u9488\u540e\u79fb\n\u4f8b\u5b50\uff1a\nusbapp.hid_rx(0, buff)\n", "prefix": "usbapp.hid_rx"}, "usbapp.vhid_cancel_upload": {"body": "usbapp.vhid_cancel_upload(${1:id})", "description": "usbapp.vhid_cancel_upload(id) - USB HID\u8bbe\u5907\u53d6\u6d88\u4e0a\u4f20\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nint \u8bbe\u5907id,\u9ed8\u8ba4\u4e3a0\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n-- \u53d6\u6d88\u4e0a\u4f20\u6570\u636e,\u901a\u5e38\u4e0d\u9700\u8981\nusbapp.vhid_cancel_upload(0)\n", "prefix": "usbapp.vhid_cancel_upload"}, "usbapp.udisk_attach_sdhc": {"body": "usbapp.udisk_attach_sdhc(${1:id})", "description": "usbapp.udisk_attach_sdhc(id) - USB U\u76d8\u8bbe\u5907\u6302\u8f7dSDHC\uff0cTF\u5361\n\u4f20\u5165\u503c\uff1a\nint \u8bbe\u5907id,\u9ed8\u8ba4\u4e3a0\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\nusbapp.udisk_attach_sdhc(0)\n", "prefix": "usbapp.udisk_attach_sdhc"}, "usbapp.udisk_detach_sdhc": {"body": "usbapp.udisk_detach_sdhc(${1:id})", "description": "usbapp.udisk_detach_sdhc(id) - USB U\u76d8\u8bbe\u5907\u53bb\u9664\u6302\u8f7dSDHC\uff0cTF\u5361\n\u4f20\u5165\u503c\uff1a\nint \u8bbe\u5907id,\u9ed8\u8ba4\u4e3a0\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\nusbapp.udisk_detach_sdhc(0)\n", "prefix": "usbapp.udisk_detach_sdhc"}, "w5500.init": {"body": "w5500.init(${1:spiid},${2:speed},${3:cs_pin},${4:irq_pin},${5:rst_pin},${6:link_pin})", "description": "w5500.init(spiid, speed, cs_pin, irq_pin, rst_pin, link_pin) - \u521d\u59cb\u5316w5500\n\u4f20\u5165\u503c\uff1a\nint spi\u901a\u9053\u53f7, \u4f8b\u5982 0, 1, 5, \u6309\u8bbe\u5907\u5b9e\u9645\u60c5\u51b5\u9009\nint spi\u901f\u5ea6, \u53ef\u4ee5\u8bbe\u7f6e\u5230\u5bf9\u5e94SPI\u7684\u6700\u9ad8\u901f\u5ea6\nint cs pin, \u7247\u9009\u811a, \u5bf9\u5e94W5500\u7684SCS\nint irq pin, \u4e2d\u65ad\u811a, \u5bf9\u5e94W5500\u7684INT\nint reset pin, \u590d\u4f4d\u811a, \u5bf9\u5e94W5500\u7684RST\nint link \u72b6\u6001 pin\uff0c\u53ef\u4ee5\u7559\u7a7a\u4e0d\u4f7f\u7528\uff0c\u9ed8\u8ba4\u4e0d\u4f7f\u7528\n\u4f8b\u5b50\uff1a\nw5500.init(spi.SPI_0, 24000000, pin.PB13, pin.PC08, pin.PC09)\n", "prefix": "w5500.init"}, "w5500.config": {"body": "w5500.config(${1:ip},${2:submask},${3:gateway},${4:mac},${5:RTR},${6:RCR},${7:speed})", "description": "w5500.config(ip, submask, gateway, mac, RTR, RCR, speed) - w5500\u914d\u7f6e\u7f51\u7edc\u4fe1\u606f\n\u4f20\u5165\u503c\uff1a\nstring \u9759\u6001ip\u5730\u5740\uff0c\u5982\u679c\u9700\u8981\u7528DHCP\u83b7\u53d6\uff0c\u8bf7\u5199nil\nstring \u5b50\u7f51\u63a9\u7801\uff0c\u5982\u679c\u4f7f\u7528\u52a8\u6001ip\uff0c\u5219\u5ffd\u7565\nstring \u7f51\u5173\uff0c\u5982\u679c\u4f7f\u7528\u52a8\u6001ip\uff0c\u5219\u5ffd\u7565\nstring MAC\uff0c\u5199nil\u5219\u901a\u8fc7MCU\u552f\u4e00\u7801\u81ea\u52a8\u751f\u6210\uff0c\u5982\u679c\u8981\u5199\uff0c\u957f\u5ea6\u5fc5\u987b\u662f6byte\nint \u91cd\u8bd5\u95f4\u9694\u65f6\u95f4\uff0c\u9ed8\u8ba42000\uff0c\u5355\u4f4d100us\uff0c\u4e0d\u61c2\u7684\u4e0d\u8981\u6539\nint \u6700\u5927\u91cd\u8bd5\u6b21\u6570\uff0c\u9ed8\u8ba48\uff0c\u4e0d\u61c2\u7684\u4e0d\u8981\u6539\nint \u901f\u5ea6\u7c7b\u578b\uff0c\u76ee\u524d\u53ea\u67090\u786c\u4ef6\u914d\u7f6e\uff0c1\u81ea\u9002\u5e94\uff0c\u9ed8\u8ba4\u4e3a0\n\u4f8b\u5b50\uff1a\nw5500.config(\"192.168.1.2\", \"255.255.255.0\", \"192.168.1.1\", string.fromHex(\"102a3b4c5d6e\"))\n", "prefix": "w5500.config"}, "w5500.bind": {"body": "w5500.bind(${1:id})", "description": "w5500.bind(id) - \u5c06w5500\u6ce8\u518c\u8fdb\u901a\u7528\u7f51\u7edc\u63a5\u53e3\n\u4f20\u5165\u503c\uff1a\nint \u901a\u7528\u7f51\u7edc\u901a\u9053\u53f7\n\u4f8b\u5b50\uff1a\n-- \u82e5\u4f7f\u7528\u7684\u7248\u672c\u4e0d\u5e26socket\u5e93, \u6539\u6210 network.ETH0\nw5500.bind(socket.ETH0)\n", "prefix": "w5500.bind"}, "w5500.getMac": {"body": "w5500.getMac()", "description": "w5500.getMac() - \u83b7\u53d6w5500\u5f53\u524d\u7684MAC\uff0c\u5fc5\u987b\u5728init\u4e4b\u540e\u7528\uff0c\u5982\u679cconfig\u4e2d\u8bbe\u7f6e\u4e86\u81ea\u5df1\u7684MAC\uff0c\u9700\u8981\u5ef6\u8fdf\u4e00\u70b9\u65f6\u95f4\u518d\u8bfb\n\u8fd4\u56de\u503c\uff1a\nstring \u5f53\u524d\u7684MAC\n\u4f8b\u5b50\uff1a\nlocal mac = w5500.getMac()\nlog.info(\"w5500 mac\", mac:toHex())\n", "prefix": "w5500.getMac"}, "wdt.init": {"body": "wdt.init(${1:timeout})", "description": "wdt.init(timeout) - \u521d\u59cb\u5316watchdog\u5e76\u9a6c\u4e0a\u542f\u7528.\u5927\u90e8\u5206\u8bbe\u5907\u7684watchdog\u4e00\u65e6\u542f\u7528\u5c31\u65e0\u6cd5\u5173\u95ed.\n\u4f20\u5165\u503c\uff1a\nint \u8d85\u65f6\u65f6\u957f,\u5355\u4f4d\u4e3a\u6beb\u79d2\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse(\u4f8b\u5982\u5e95\u5c42\u4e0d\u652f\u6301)\n\u4f8b\u5b50\uff1a\nwdt.init(9000)\nsys.timerLoopStart(wdt.feed, 3000)\n", "prefix": "wdt.init"}, "wdt.setTimeout": {"body": "wdt.setTimeout(${1:timeout})", "description": "wdt.setTimeout(timeout) - \u90e8\u5206\u8bbe\u5907\u652f\u6301\u91cd\u65b0\u8bbe\u7f6ewatchdog\u8d85\u65f6\u65f6\u957f\n\u4f20\u5165\u503c\uff1a\nint \u8d85\u65f6\u65f6\u957f,\u5355\u4f4d\u4e3a\u6beb\u79d2\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse(\u4f8b\u5982\u5e95\u5c42\u4e0d\u652f\u6301)\n\u4f8b\u5b50\uff1a\nwdt.init(10000)\nsys.timerLoopStart(wdt.feed, 3000)\nsys.wait(5000)\nsys.setTimeout(5000)\n", "prefix": "wdt.setTimeout"}, "wdt.feed": {"body": "wdt.feed()", "description": "wdt.feed() - \u5582\u72d7,\u4f7f\u5f97\u8d85\u65f6\u8ba1\u65f6\u590d\u4f4d,\u91cd\u65b0\u8ba1\u65f6\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse(\u4f8b\u5982\u5e95\u5c42\u4e0d\u652f\u6301)\n\u4f8b\u5b50\uff1a\nwdt.init(10000)\n-- \u5b9a\u65f6\u5582\u72d7,\u6216\u8005\u6839\u636e\u4e1a\u52a1\u6309\u9700\u5582\u72d7\nsys.timerLoopStart(wdt.feed, 3000)\n", "prefix": "wdt.feed"}, "wdt.close": {"body": "wdt.close()", "description": "wdt.close() - \u5173\u95edwatchdog,\u901a\u5e38\u4e0d\u88ab\u652f\u6301\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse(\u4f8b\u5982\u5e95\u5c42\u4e0d\u652f\u6301)\n\u4f8b\u5b50\uff1a\nwdt.init(10000)\nsys.wait(9000)\nwdt.close()\n", "prefix": "wdt.close"}, "wsc:debug": {"body": "wsc:debug(${1:onoff})", "description": "wsc:debug(onoff) - \u914d\u7f6e\u662f\u5426\u6253\u5f00debug\u4fe1\u606f\n\u4f20\u5165\u503c\uff1a\nboolean \u662f\u5426\u6253\u5f00debug\u5f00\u5173\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n", "prefix": "wsc:debug"}, "websocket.create": {"body": "websocket.create(${1:adapter},${2:url})", "description": "websocket.create(adapter, url) - websocket\u5ba2\u6237\u7aef\u521b\u5efa\n\u4f20\u5165\u503c\uff1a\nint \u9002\u914d\u5668\u5e8f\u53f7, \u53ea\u80fd\u662fsocket.ETH0, socket.STA, socket.AP,\u5982\u679c\u4e0d\u586b,\u4f1a\u9009\u62e9\u5e73\u53f0\u81ea\u5e26\u7684\u65b9\u5f0f,\u7136\u540e\u662f\u6700\u540e\u4e00\u4e2a\u6ce8\u518c\u7684\u9002\u914d\u5668\nstring \u8fde\u63a5\u5b57\u7b26\u4e32,\u53c2\u8003usage\n\u8fd4\u56de\u503c\uff1a\nuserdata \u82e5\u6210\u529f\u4f1a\u8fd4\u56dewebsocket\u5ba2\u6237\u7aef\u5b9e\u4f8b,\u5426\u5219\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\n-- \u666e\u901aTCP\u94fe\u63a5\nwsc = websocket.create(nil,\"ws://air32.cn/abc\")\n-- \u52a0\u5bc6TCP\u94fe\u63a5\nwsc = websocket.create(nil,\"wss://air32.cn/abc\")\n", "prefix": "websocket.create"}, "wsc:on": {"body": "wsc:on(${1:cb})", "description": "wsc:on(cb) - \u6ce8\u518cwebsocket\u56de\u8c03\n\u4f20\u5165\u503c\uff1a\nfunction cb websocket\u56de\u8c03,\u53c2\u6570\u5305\u62ecwebsocket_client, event, data, payload\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\nwsc:on(function(websocket_client, event, data, payload)\n\t-- \u6253\u5370\u5404\u79cd\u4e8b\u4ef6\n\tlog.info(\"websocket\", \"event\", event, data, payload)\nend)\n--[[\nevent\u7684\u503c\u6709:\n\tconack \u8fde\u63a5\u670d\u52a1\u5668\u6210\u529f,\u5df2\u7ecf\u6536\u5230websocket\u534f\u8bae\u5934\u90e8\u4fe1\u606f,\u901a\u4fe1\u5df2\u5efa\u7acb\n\trecv \u6536\u5230\u670d\u52a1\u5668\u4e0b\u53d1\u7684\u4fe1\u606f, data, payload \u4e0d\u4e3anil\n\tsent send\u51fd\u6570\u53d1\u9001\u7684\u6d88\u606f,\u670d\u52a1\u5668\u5728TCP\u534f\u8bae\u5c42\u5df2\u786e\u8ba4\u6536\u5230\n\tdisconnect \u670d\u52a1\u5668\u8fde\u63a5\u5df2\u65ad\u5f00\n\n\u5176\u4e2d sent/disconnect \u4e8b\u4ef6\u5728 2023.04.01 \u65b0\u589e\n]]\n", "prefix": "wsc:on"}, "wsc:connect": {"body": "wsc:connect()", "description": "wsc:connect() - \u8fde\u63a5\u670d\u52a1\u5668\n\u8fd4\u56de\u503c\uff1a\nboolean \u53d1\u8d77\u6210\u529f\u8fd4\u56detrue, \u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- \u5f00\u59cb\u5efa\u7acb\u8fde\u63a5\nwsc:connect()\n-- \u672c\u51fd\u6570\u4ec5\u4ee3\u8868\u53d1\u8d77\u6210\u529f, \u540e\u7eed\u4ecd\u9700\u6839\u636eready\u51fd\u6570\u5224\u65adwebsocket\u662f\u5426\u8fde\u63a5\u6b63\u5e38\n", "prefix": "wsc:connect"}, "wsc:autoreconn": {"body": "wsc:autoreconn(${1:reconnect},${2:reconnect_time})", "description": "wsc:autoreconn(reconnect, reconnect_time) - \u81ea\u52a8\u91cd\u8fde\n\u4f20\u5165\u503c\uff1a\nbool \u662f\u5426\u81ea\u52a8\u91cd\u8fde\nint \u81ea\u52a8\u91cd\u8fde\u5468\u671f \u5355\u4f4dms \u9ed8\u8ba43000ms\n\u4f8b\u5b50\uff1a\nwsc:autoreconn(true)\n", "prefix": "wsc:autoreconn"}, "wsc:send": {"body": "wsc:send(${1:data},${2:fin},${3:opt})", "description": "wsc:send(data, fin, opt) - \u53d1\u5e03\u6d88\u606f\n\u4f20\u5165\u503c\uff1a\nstring \u5f85\u53d1\u9001\u7684\u6570\u636e,\u5fc5\u586b\nint \u662f\u5426\u4e3a\u6700\u540e\u4e00\u5e27,\u9ed8\u8ba41,\u5373\u9a6c\u4e0a\u8bbe\u7f6e\u4e3a\u6700\u540e\u4e00\u5e27, \u4e5f\u5c31\u662f\u5355\u5e27\u53d1\u9001\nint \u64cd\u4f5c\u7801, \u9ed8\u8ba4\u4e3a\u5b57\u7b26\u4e32\u5e270, \u53ef\u90091\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u4e3afalse\u6216\u8005nil\n\u4f8b\u5b50\uff1a\n-- \u7b80\u5355\u53d1\u9001\u6570\u636e\nwsc:send(\"123\")\n-- \u5206\u6bb5\u53d1\u9001\u6570\u636e, \u6700\u540e\u8981\u75281(\u5373FIN\u5e27\u7ed3\u675f)\nwsc:send(\"123\", 0)\nwsc:send(\"456\", 0)\nwsc:send(\"789\", 1)\n", "prefix": "wsc:send"}, "wsc:close": {"body": "wsc:close()", "description": "wsc:close() - websocket\u5ba2\u6237\u7aef\u5173\u95ed(\u5173\u95ed\u540e\u8d44\u6e90\u91ca\u653e\u65e0\u6cd5\u518d\u4f7f\u7528)\n\u4f8b\u5b50\uff1a\nwsc:close()\n", "prefix": "wsc:close"}, "wsc:ready": {"body": "wsc:ready()", "description": "wsc:ready() - websocket\u5ba2\u6237\u7aef\u662f\u5426\u5c31\u7eea\n\u8fd4\u56de\u503c\uff1a\nbool \u5ba2\u6237\u7aef\u662f\u5426\u5c31\u7eea\n\u4f8b\u5b50\uff1a\nlocal stat = wsc:ready()\n", "prefix": "wsc:ready"}, "wsc:headers": {"body": "wsc:headers(${1:headers})", "description": "wsc:headers(headers) - \u8bbe\u7f6e\u989d\u5916\u7684headers\n\u4f20\u5165\u503c\uff1a\ntable/string \u53ef\u4ee5\u662ftable,\u4e5f\u53ef\u4ee5\u662f\u5b57\u7b26\u4e32\n\u8fd4\u56de\u503c\uff1a\nbool \u5ba2\u6237\u7aef\u662f\u5426\u5c31\u7eea\n\u4f8b\u5b50\uff1a\n-- table\u5f62\u5f0f\nwsc:headers({\n\tAuth=\"Basic ABCDEFGG\"\n})\n-- \u5b57\u7b26\u4e32\u5f62\u5f0f\nwsc:headers(\"Auth: Basic ABCDERG\\r\\n\")\n", "prefix": "wsc:headers"}, "wlan.init": {"body": "wlan.init()", "description": "wlan.init() - \u521d\u59cb\u5316\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n", "prefix": "wlan.init"}, "wlan.setMode": {"body": "wlan.setMode(${1:mode})", "description": "wlan.setMode(mode) - \u8bbe\u7f6ewifi\u6a21\u5f0f\n\u4f20\u5165\u503c\uff1a\nint wifi\u6a21\u5f0f\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- \u8bbe\u7f6e\u4e3aAP\u6a21\u5f0f, \u5e7f\u64adssid, \u63a5\u6536wifi\u5ba2\u6237\u7aef\u7684\u94fe\u63a5\nwlan.setMode(wlan.AP)\n\n-- \u8bbe\u7f6e\u4e3aSTATION\u6a21\u5f0f, \u4e5f\u662f\u521d\u59cb\u5316\u540e\u7684\u9ed8\u8ba4\u6a21\u5f0f\nwlan.setMode(wlan.STATION)\n\n-- \u6df7\u5408\u6a21\u5f0f, \u505aAP\u53c8\u505aSTATION\nwlan.setMode(wlan.APSTA)\n", "prefix": "wlan.setMode"}, "wlan.ready": {"body": "wlan.ready()", "description": "wlan.ready() - \u4f5c\u4e3aSTATION\u65f6,\u662f\u5426\u5df2\u7ecf\u8fde\u63a5\u4e0aAP,\u4e14\u83b7\u53d6IP\u6210\u529f\n\u8fd4\u56de\u503c\uff1a\nbool \u5df2\u7ecf\u8fde\u63a5\u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n", "prefix": "wlan.ready"}, "wlan.connect": {"body": "wlan.connect(${1:ssid},${2:password},${3:auto_reconnect})", "description": "wlan.connect(ssid, password, auto_reconnect) - \u4f5c\u4e3aSTATION\u65f6,\u8fde\u63a5\u5230\u6307\u5b9aAP\n\u4f20\u5165\u503c\uff1a\nstring AP\u7684ssid\nstring AP\u7684password,\u53ef\u9009\nint 0\u5173\u95ed\u81ea\u52a8\u91cd\u8fde,1\u5f00\u542f\u81ea\u52a8\u91cd\u8fde.\u5f53\u524d\u5f3a\u5236\u5f00\u542f\u81ea\u52a8\u91cd\u8fde\n\u8fd4\u56de\u503c\uff1a\nbool \u53d1\u8d77\u8fde\u63a5\u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse.\u6ce8\u610f,\u4e0d\u4ee3\u8868\u8fde\u63a5AP\u6210\u529f!!\n\u4f8b\u5b50\uff1a\n\n-- \u666e\u901a\u6a21\u5f0f,\u5e26\u5bc6\u7801\nwlan.connect(\"myap\", \"12345678\")\n-- \u666e\u901a\u6a21\u5f0f,\u4e0d\u5e26\u5bc6\u7801\nwlan.connect(\"myap\")\n-- \u7279\u6b8a\u6a21\u5f0f, \u91cd\u7528\u4e4b\u524d\u7684ssid\u548c\u5bc6\u7801,\u672c\u6b21\u76f4\u63a5\u8fde\u63a5\n-- \u6ce8\u610f, \u524d\u63d0\u662f\u672c\u6b21\u4e0a\u7535\u540e\u5df2\u7ecf\u4f20\u8fc7ssid\u548c\u6216password,\u5426\u5219\u5fc5\u5931\u8d25\nwlan.connect()\n", "prefix": "wlan.connect"}, "wlan.disconnect": {"body": "wlan.disconnect()", "description": "wlan.disconnect() - \u4f5c\u4e3aSTATION\u65f6,\u65ad\u5f00AP\n", "prefix": "wlan.disconnect"}, "wlan.scan": {"body": "wlan.scan()", "description": "wlan.scan() - \u626b\u63cfwifi\u9891\u6bb5\n\u4f8b\u5b50\uff1a\n-- \u6ce8\u610f, wlan.scan()\u662f\u5f02\u6b65API,\u542f\u52a8\u626b\u63cf\u540e\u4f1a\u9a6c\u4e0a\u8fd4\u56de\n\n-- wifi\u626b\u63cf\u6210\u529f\u540e, \u4f1a\u6709WLAN_SCAN_DONE\u6d88\u606f, \u8bfb\u53d6\u5373\u53ef\nsys.subscribe(\"WLAN_SCAN_DONE\", function ()\n local results = wlan.scanResult()\n log.info(\"scan\", \"results\", #results)\n for k,v in pairs(results) do\n log.info(\"scan\", v[\"ssid\"], v[\"rssi\"], (v[\"bssid\"]:toHex()))\n end\nend)\n\n-- \u4e0b\u9762\u6f14\u793a\u7684\u662f\u521d\u59cb\u5316wifi\u540e\u5b9a\u65f6\u626b\u63cf,\u8bf7\u6309\u5b9e\u9645\u4e1a\u52a1\u9700\u6c42\u4fee\u6539\nsys.taskInit(function()\n sys.wait(1000)\n wlan.init()\n while 1 do\n wlan.scan()\n sys.wait(15000)\n end\nend)\n", "prefix": "wlan.scan"}, "wlan.scanResult": {"body": "wlan.scanResult()", "description": "wlan.scanResult() - \u83b7\u53d6wifi\u626b\u63cf\u7ed3\u679c\n\u8fd4\u56de\u503c\uff1a\ntable \u626b\u63cf\u7ed3\u679c\n\u4f8b\u5b50\uff1a\n-- \u7528\u6cd5\u8bf7\u67e5\u9605 wlan.scan() \u51fd\u6570\n", "prefix": "wlan.scanResult"}, "wlan.smartconfig": {"body": "wlan.smartconfig(${1:mode})", "description": "wlan.smartconfig(mode) - \u914d\u7f51\n\u4f20\u5165\u503c\uff1a\nint \u914d\u7f51\u6a21\u5f0f, \u9ed8\u8ba4\u4e3aesptouch, \u82e5\u4f200\u5219\u4e3b\u52a8\u505c\u6b62\u914d\u7f51\n\u8fd4\u56de\u503c\uff1a\nbool \u542f\u52a8\u6210\u529f\u6216\u505c\u6b62\u6210\u529f, \u8fd4\u56detrue, \u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\nwlan.smartconfig()\nlocal ret, ssid, passwd = sys.waitUntil(\"SC_RESULT\", 180*1000) -- \u6700\u591a\u7b493\u5206\u949f\nlog.info(\"sc\", ret, ssid, passwd)\n-- \u8be6\u7ec6\u7528\u6cd5\u8bf7\u67e5\u770bdemo\n", "prefix": "wlan.smartconfig"}, "wlan.getMac": {"body": "wlan.getMac(${1:tp},${2:hexstr})", "description": "wlan.getMac(tp, hexstr) - \u83b7\u53d6mac\n\u4f20\u5165\u503c\uff1a\nint \u8bbe\u7f6e\u4f55\u79cdmac\u5730\u5740,\u5bf9ESP32\u7cfb\u5217\u6765\u8bf4,\u53ea\u80fd\u8bbe\u7f6eSTA\u7684\u5730\u5740,\u53730,\u9ed8\u8ba4\u503c\u4e5f\u662f0\nbool \u662f\u5426\u8f6cHEX\u5b57\u7b26, \u9ed8\u8ba4\u662ftrue,\u5373\u8f93\u51fahex\u5b57\u7b26\u4e32\n\u8fd4\u56de\u503c\uff1a\nstring MAC\u5730\u5740,\u5341\u516d\u8fdb\u5236\u5b57\u7b26\u4e32\u5f62\u5f0f \"AABBCCDDEEFF\" \u6216\u539f\u59cb\u6570\u636e\n", "prefix": "wlan.getMac"}, "wlan.setMac": {"body": "wlan.setMac(${1:tp},${2:mac})", "description": "wlan.setMac(tp, mac) - \u8bbe\u7f6emac\n\u4f20\u5165\u503c\uff1a\nint \u8bbe\u7f6e\u4f55\u79cdmac\u5730\u5740,\u5bf9ESP32\u7cfb\u5217\u6765\u8bf4,\u53ea\u80fd\u8bbe\u7f6eSTA\u7684\u5730\u5740,\u53730\nstring \u5f85\u8bbe\u7f6e\u7684MAC\u5730\u5740,\u957f\u5ea66\u5b57\u8282\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- \u8bbe\u7f6eMAC\u5730\u5740, 2023-03-01\u4e4b\u540e\u7f16\u8bd1\u7684\u56fa\u4ef6\u53ef\u7528\nlocal mac = string.fromHex(\"F01122334455\")\nwlan.setMac(0, mac)\n\n-- \u90e8\u5206\u6a21\u5757\u652f\u6301\u6062\u590d\u9ed8\u8ba4MAC, \u4f8b\u5982esp32\u7cfb\u5217\n-- \u57282023-11-01 \u4e4b\u540e\u7f16\u8bd1\u7684\u56fa\u4ef6\u53ef\u7528\nlocal mac = string.fromHex(\"000000000000\")\nwlan.setMac(0, mac)\n", "prefix": "wlan.setMac"}, "wlan.getIP": {"body": "wlan.getIP()", "description": "wlan.getIP() - \u83b7\u53d6ip,\u4ec5STATION\u6216APSTA\u6a21\u5f0f\u4e0b\u6709\u610f\u4e49\n\u8fd4\u56de\u503c\uff1a\nstring ip\u5730\u5740,\u5f53\u524d\u4ec5\u8fd4\u56deipv4\u5730\u5740,\u4f8b\u5982 \"192.168.1.25\"\n", "prefix": "wlan.getIP"}, "wlan.createAP": {"body": "wlan.createAP(${1:ssid},${2:passwd},${3:gateway},${4:netmask},${5:channel})", "description": "wlan.createAP(ssid, passwd, gateway, netmask, channel) - \u542f\u52a8AP\n\u4f20\u5165\u503c\uff1a\nstring AP\u7684SSID,\u5fc5\u586b\nstring AP\u7684\u5bc6\u7801,\u53ef\u9009\nstring AP\u7684\u7f51\u5173\u5730\u5740, \u9ed8\u8ba4192.168.4.1\nstring AP\u7684\u7f51\u5173\u63a9\u7801, \u9ed8\u8ba4255.255.255.0\nint AP\u5efa\u7acb\u7684\u901a\u9053, \u9ed8\u8ba46\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u521b\u5efa\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- \u6ce8\u610f, \u8c03\u7528\u672cAP\u65f6,\u82e5wifi\u6a21\u5f0f\u4e3aSTATION,\u4f1a\u81ea\u52a8\u5207\u6362\u6210 APSTA\nwlan.createAP(\"uiot\", \"12345678\")\n-- \u8bbe\u7f6e\u7f51\u5173IP,\u63a9\u7801, \u901a\u9053, 2023.7.13 \u65b0\u589e, BSP\u672a\u5fc5\u652f\u6301\n-- wlan.createAP(\"uiot\", \"12345678\", \"192.168.4.1\", \"255.255.255.0\", 6)\n", "prefix": "wlan.createAP"}, "wlan.stopAP": {"body": "wlan.stopAP()", "description": "wlan.stopAP() - \u5173\u95edAP\u529f\u80fd\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u521b\u5efa\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\nwlan.stopAP()\n", "prefix": "wlan.stopAP"}, "wlan.getInfo": {"body": "wlan.getInfo()", "description": "wlan.getInfo() - \u83b7\u53d6\u4fe1\u606f,\u5982AP\u7684bssid,\u4fe1\u53f7\u5f3a\u5ea6\n\u8fd4\u56de\u503c\uff1a\ntable \u8be6\u60c5,\u952e\u503c\u5bf9\u5f62\u5f0f\n\u4f8b\u5b50\uff1a\n\nlog.info(\"wlan\", \"info\", json.encode(wlan.getInfo()))\n--[[\n\u5178\u578b\u8f93\u51fa\n{\n \"bssid\" : \"xxxxxx\",\n \"rssi\" : -89,\n \"gw\" : \"192.168.1.1\"\n}\n]]\n", "prefix": "wlan.getInfo"}, "wlan.powerSave": {"body": "wlan.powerSave(${1:mode})", "description": "wlan.powerSave(mode) - \u8bfb\u53d6\u6216\u8bbe\u7f6e\u7701\u7535\u6a21\u5f0f\n\u4f20\u5165\u503c\uff1a\nint \u7701\u7535\u6a21\u5f0f,\u53ef\u9009, \u4f20\u5165\u5c31\u662f\u8bbe\u7f6e, \u4f8b\u5982wlan.PS_NONE\n\u8fd4\u56de\u503c\uff1a\nint \u5f53\u524d\u7701\u7535\u6a21\u5f0f/\u8bbe\u7f6e\u540e\u7684\u7701\u7535\u6a21\u5f0f\n\u4f8b\u5b50\uff1a\n-- \u8bf7\u67e5\u9605\u5e38\u91cf\u8868 PS_NONE/PS_MIN_MODEM/PS_MAX_MODEM\nlog.info(\"wlan\", \"PS\", wlan.powerSave(wlan.PS_NONE))\n-- \u672cAPI\u4e8e 2023.03.31 \u65b0\u589e\n", "prefix": "wlan.powerSave"}, "wlan.hostname": {"body": "wlan.hostname(${1:new_name})", "description": "wlan.hostname(new_name) - \u8bfb\u53d6\u6216\u8bbe\u7f6eHostname\n\u4f20\u5165\u503c\uff1a\nstring \u65b0\u7684hostname,\u53ef\u9009, \u4f20\u5165\u5c31\u662f\u8bbe\u7f6e\n\u8fd4\u56de\u503c\uff1a\nstring \u5f53\u524d\u7684hostname\u6216\u8005\u8bbe\u7f6e\u540e\u7684hostname\n\u4f8b\u5b50\uff1a\n-- \u672cAPI\u4e8e 2023.07.23 \u65b0\u589e\n-- \u672c\u51fd\u6570\u5e94\u8be5\u5728wlan.init\u4e4b\u524d\u8bbe\u7f6e\u597d, \u6700\u665a\u5e94\u65e9\u4e8ewlan.connect\n-- hostname\u7684\u9ed8\u8ba4\u503c\u662f \"LUATOS_\" + \u8bbe\u5907\u7684MAC\u503c\n-- \u4f8b\u5982: LUATOS_0022EECC2399\n\nwlan.hostname(\"\u6211\u7684wifi\u7269\u8054\u7f51\u8bbe\u5907\")\n", "prefix": "wlan.hostname"}, "wlan.staIp": {"body": "wlan.staIp(${1:dhcp_enable},${2:ip},${3:netmask},${4:gateway})", "description": "wlan.staIp(dhcp_enable, ip, netmask, gateway) - \u8bbe\u7f6eStation\u6a21\u5f0f\u4e0b\u7684IP\u83b7\u53d6\u6a21\u5f0f\n\u4f20\u5165\u503c\uff1a\nbool \u662f\u5426\u542f\u7528DHCP,\u9ed8\u8ba4\u662ftrue\nstring \u672c\u673aIP\u5730\u5740,\u4f8b\u5982192.168.2.200, \u7981\u7528DHCP\u65f6\u5fc5\u586b\nstring \u672c\u673aIP\u63a9\u7801,\u4f8b\u5982255.255.255.0, \u7981\u7528DHCP\u65f6\u5fc5\u586b\nstring \u672c\u673aIP\u7f51\u5173,\u4f8b\u5982192.168.2.1, \u7981\u7528DHCP\u65f6\u5fc5\u586b\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- \u672cAPI\u4e8e 2023.10.06 \u65b0\u589e\n-- \u672c\u51fd\u6570\u9700\u8981\u5728wlan.init\u4e4b\u540e\u624d\u5141\u8bb8\u8c03\u7528\n\n-- \u542f\u7528DHCP, \u9ed8\u8ba4\u4e5f\u662f\u542f\u7528DHCP,\u8fd9\u91cc\u662f\u6f14\u793aAPI\u4f7f\u7528\nwlan.staIp(true)\n-- \u7981\u7528DHCP,\u81ea\u884c\u8bbe\u7f6eIP/\u63a9\u7801/\u7f51\u5173\nwlan.staIp(false, \"192.168.2.200\", \"255.255.255.0\", \"192.168.2.1\")\n", "prefix": "wlan.staIp"}, "ymodem.create": {"body": "ymodem.create(${1:dir_path},${2:file_path})", "description": "ymodem.create(dir_path,file_path) - \u521b\u5efa\u4e00\u4e2aymodem\u5904\u7406\u53e5\u67c4\n\u4f20\u5165\u503c\uff1a\nstring \u4fdd\u5b58\u7684\u6587\u4ef6\u5939\u8def\u5f84\uff0c\u9ed8\u8ba4\u662f\"/\"\nstring \u5f3a\u5236\u4fdd\u5b58\u7684\u7edd\u5bf9\u6587\u4ef6\u8def\u5f84\uff0c\u9ed8\u8ba4\u662f\u7a7a\uff0c\u5982\u679c\u8bbe\u7f6e\u4e86\uff0c\u5c31\u4f1a\u76f4\u63a5\u4fdd\u5b58\u5728\u8be5\u6587\u4ef6\u4e2d\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529ftrue, \u5931\u8d25false\n\u4f8b\u5b50\uff1a\nlocal handler = ymodem.create(\"/\")\n", "prefix": "ymodem.create"}, "ymodem.receive": {"body": "ymodem.receive(${1:handler},${2:data})", "description": "ymodem.receive(handler, data) - ymodem\u63a5\u6536\u6587\u4ef6\u6570\u636e\u5e76\u4fdd\u5b58\n\u4f20\u5165\u503c\uff1a\nuserdata ymodem\u5904\u7406\u53e5\u67c4\nzbuff/string \u8f93\u5165\u7684\u6570\u636e\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529ftrue\uff0c\u5931\u8d25false\nint ack\u503c\uff0c\u9700\u8981\u901a\u8fc7\u4e32\u53e3/\u7f51\u7edc\u7b49\u9014\u5f84\u8fd4\u56de\u53d1\u9001\u65b9\nint flag\u503c\uff0c\u9700\u8981\u901a\u8fc7\u4e32\u53e3/\u7f51\u7edc\u7b49\u9014\u5f84\u8fd4\u56de\u53d1\u9001\u65b9\uff0c\u5982\u679c\u6709ack\u503c\u5219\u4e0d\u53d1\u9001flag\nboolean, \u4e00\u4e2a\u6587\u4ef6\u63a5\u6536\u5b8c\u6210true\uff0c\u4f20\u8f93\u4e2dfalse\nboolean, \u6574\u4e2a\u4f20\u8f93\u5b8c\u6210true \u5426\u5219false\n\u4f8b\u5b50\uff1a\n-- \u6ce8\u610f, \u6570\u636e\u6765\u6e90\u4e0d\u9650, \u901a\u5e38\u662fuart.read\u5f97\u5230data\nno_error,ack,flag,file_done,all_done = ymodem.receive(handler, data)\n", "prefix": "ymodem.receive"}, "ymodem.reset": {"body": "ymodem.reset(${1:handler})", "description": "ymodem.reset(handler) - \u91cd\u7f6eymodem\u5904\u7406\u8fc7\u7a0b\n\u4f20\u5165\u503c\uff1a\nuserdata ymodem\u5904\u7406\u53e5\u67c4\n\u4f8b\u5b50\uff1a\n-- \u6062\u590d\u5230\u521d\u59cb\u72b6\u6001\uff0c\u4e00\u822c\u7528\u4e8e\u63a5\u6536\u51fa\u9519\u540e\u91cd\u7f6e\uff0c\u4ece\u800c\u8fdb\u884c\u4e0b\u4e00\u6b21\u63a5\u6536\nymodem.reset(handler)\n", "prefix": "ymodem.reset"}, "ymodem.release": {"body": "ymodem.release(${1:handler})", "description": "ymodem.release(handler) - \u91ca\u653eymodem\u5904\u7406\u53e5\u67c4\n\u4f20\u5165\u503c\uff1a\nuserdata handler\n\u4f8b\u5b50\uff1a\nymodem.release(handler)\n", "prefix": "ymodem.release"}, "zbuff.create": {"body": "zbuff.create(${1:{width},${2:height},${3:bit}},${4:data})", "description": "zbuff.create({width,height,bit},data) - \u521b\u5efaframebuff\u7528\u7684zbuff\n\u4f20\u5165\u503c\uff1a\ntable \u5bbd\u5ea6\u3001\u9ad8\u5ea6\u3001\u8272\u4f4d\u6df1\u5ea6\nint \u53ef\u9009\u53c2\u6570\uff0c\u586b\u5145\u6570\u636e\n\u8fd4\u56de\u503c\uff1a\nobject zbuff\u5bf9\u8c61\uff0c\u5982\u679c\u521b\u5efa\u5931\u8d25\u4f1a\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\n-- \u521b\u5efazbuff\nlocal buff = zbuff.create({128,160,16})--\u521b\u5efa\u4e00\u4e2a128*160\u7684framebuff\nlocal buff = zbuff.create({128,160,16},0xf800)--\u521b\u5efa\u4e00\u4e2a128*160\u7684framebuff\uff0c\u521d\u59cb\u72b6\u6001\u7ea2\u8272\n", "prefix": "zbuff.create"}, "buff:write": {"body": "buff:write(${1:para},${2:...})", "description": "buff:write(para,...) - zbuff\u5199\u6570\u636e\uff08\u4ece\u5f53\u524d\u6307\u9488\u4f4d\u7f6e\u5f00\u59cb\uff1b\u6267\u884c\u540e\u6307\u9488\u4f1a\u5411\u540e\u79fb\u52a8\uff09\n\u4f20\u5165\u503c\uff1a\nany \u5199\u5165buff\u7684\u6570\u636e\uff0cstring\u65f6\u4e3a\u4e00\u4e2a\u53c2\u6570\uff0cnumber\u65f6\u53ef\u4e3a\u591a\u4e2a\u53c2\u6570\n\u8fd4\u56de\u503c\uff1a\nnumber \u6570\u636e\u6210\u529f\u5199\u5165\u7684\u957f\u5ea6\n\u4f8b\u5b50\uff1a\n-- \u7c7bfile\u7684\u8bfb\u5199\u64cd\u4f5c\nlocal len = buff:write(\"123\") -- \u5199\u5165\u6570\u636e, \u6307\u9488\u76f8\u5e94\u5730\u5f80\u540e\u79fb\u52a8\uff0c\u8fd4\u56de\u5199\u5165\u7684\u6570\u636e\u957f\u5ea6\nlocal len = buff:write(0x1a,0x30,0x31,0x32,0x00,0x01) -- \u6309\u6570\u503c\u5199\u5165\u591a\u4e2a\u5b57\u8282\u6570\u636e\n", "prefix": "buff:write"}, "buff:read": {"body": "buff:read(${1:length})", "description": "buff:read(length) - zbuff\u8bfb\u6570\u636e\uff08\u4ece\u5f53\u524d\u6307\u9488\u4f4d\u7f6e\u5f00\u59cb\uff1b\u6267\u884c\u540e\u6307\u9488\u4f1a\u5411\u540e\u79fb\u52a8\uff09\n\u4f20\u5165\u503c\uff1a\nint \u8bfb\u53d6buff\u4e2d\u7684\u5b57\u8282\u6570\n\u8fd4\u56de\u503c\uff1a\nstring \u8bfb\u53d6\u7ed3\u679c\n\u4f8b\u5b50\uff1a\n-- \u7c7bfile\u7684\u8bfb\u5199\u64cd\u4f5c\nlocal str = buff:read(3)\n", "prefix": "buff:read"}, "buff:clear": {"body": "buff:clear(${1:num})", "description": "buff:clear(num) - zbuff\u6e05\u7a7a\u6570\u636e\uff08\u4e0e\u5f53\u524d\u6307\u9488\u4f4d\u7f6e\u65e0\u5173\uff1b\u6267\u884c\u540e\u6307\u9488\u4f4d\u7f6e\u4e0d\u53d8\uff09\n\u4f20\u5165\u503c\uff1a\nint \u53ef\u9009\uff0c\u9ed8\u8ba4\u4e3a0\u3002\u8981\u8bbe\u7f6e\u4e3a\u7684\u503c\uff0c\u4e0d\u4f1a\u6539\u53d8buff\u6307\u9488\u4f4d\u7f6e\n\u4f8b\u5b50\uff1a\n-- \u5168\u90e8\u521d\u59cb\u5316\u4e3a0\nbuff:clear(0)\n", "prefix": "buff:clear"}, "buff:seek": {"body": "buff:seek(${1:base},${2:offset})", "description": "buff:seek(base,offset) - zbuff\u8bbe\u7f6e\u5149\u6807\u4f4d\u7f6e\uff08\u53ef\u80fd\u4e0e\u5f53\u524d\u6307\u9488\u4f4d\u7f6e\u6709\u5173\uff1b\u6267\u884c\u540e\u6307\u9488\u4f1a\u88ab\u8bbe\u7f6e\u5230\u6307\u5b9a\u4f4d\u7f6e\uff09\n\u4f20\u5165\u503c\uff1a\nint \u504f\u79fb\u957f\u5ea6\nint where, \u57fa\u70b9\uff0c\u9ed8\u8ba4zbuff.SEEK_SET\u3002zbuff.SEEK_SET: \u57fa\u70b9\u4e3a 0 \uff08\u6587\u4ef6\u5f00\u5934\uff09\uff0czbuff.SEEK_CUR: \u57fa\u70b9\u4e3a\u5f53\u524d\u4f4d\u7f6e\uff0czbuff.SEEK_END: \u57fa\u70b9\u4e3a\u6587\u4ef6\u5c3e\n\u8fd4\u56de\u503c\uff1a\nint \u8bbe\u7f6e\u5149\u6807\u540e\u4ecebuff\u5f00\u5934\u8ba1\u7b97\u8d77\u7684\u5149\u6807\u7684\u4f4d\u7f6e\n\u4f8b\u5b50\uff1a\nbuff:seek(0) -- \u628a\u5149\u6807\u8bbe\u7f6e\u5230\u6307\u5b9a\u4f4d\u7f6e\nbuff:seek(5,zbuff.SEEK_CUR)\nbuff:seek(-3,zbuff.SEEK_END)\n", "prefix": "buff:seek"}, "buff:pack": {"body": "buff:pack(${1:format},${2:val1},${3:val2},${4:...})", "description": "buff:pack(format,val1, val2,...) - \u5c06\u4e00\u7cfb\u5217\u6570\u636e\u6309\u7167\u683c\u5f0f\u5b57\u7b26\u8f6c\u5316\uff0c\u5e76\u5199\u5165\uff08\u4ece\u5f53\u524d\u6307\u9488\u4f4d\u7f6e\u5f00\u59cb\uff1b\u6267\u884c\u540e\u6307\u9488\u4f1a\u5411\u540e\u79fb\u52a8\uff09\n\u4f20\u5165\u503c\uff1a\nstring \u540e\u9762\u6570\u636e\u7684\u683c\u5f0f\uff08\u7b26\u53f7\u542b\u4e49\u89c1\u4e0b\u9762\u7684\u4f8b\u5b50\uff09\nval \u4f20\u5165\u7684\u6570\u636e\uff0c\u53ef\u4ee5\u4e3a\u591a\u4e2a\u6570\u636e\n\u8fd4\u56de\u503c\uff1a\nint \u6210\u529f\u5199\u5165\u7684\u6570\u636e\u957f\u5ea6\n\u4f8b\u5b50\uff1a\nbuff:pack(\">IIHA\", 0x1234, 0x4567, 0x12,\"abcdefg\") -- \u6309\u683c\u5f0f\u5199\u5165\u51e0\u4e2a\u6570\u636e\n-- A string\n-- f float\n-- d double\n-- n Lua number\n-- c char\n-- b byte / unsignen char\n-- h short\n-- H unsigned short\n-- i int\n-- I unsigned int\n-- l long\n-- L unsigned long\n-- < \u5c0f\u7aef\n-- > \u5927\u7aef\n-- = \u9ed8\u8ba4\u5927\u5c0f\u7aef\n", "prefix": "buff:pack"}, "buff:unpack": {"body": "buff:unpack(${1:format})", "description": "buff:unpack(format) - \u5c06\u4e00\u7cfb\u5217\u6570\u636e\u6309\u7167\u683c\u5f0f\u5b57\u7b26\u8bfb\u53d6\u51fa\u6765\uff08\u4ece\u5f53\u524d\u6307\u9488\u4f4d\u7f6e\u5f00\u59cb\uff1b\u6267\u884c\u540e\u6307\u9488\u4f1a\u5411\u540e\u79fb\u52a8\uff09\n\u4f20\u5165\u503c\uff1a\nstring \u6570\u636e\u7684\u683c\u5f0f\uff08\u7b26\u53f7\u542b\u4e49\u89c1\u4e0a\u9762pack\u63a5\u53e3\u7684\u4f8b\u5b50\uff09\n\u8fd4\u56de\u503c\uff1a\nint \u6210\u529f\u8bfb\u53d6\u7684\u6570\u636e\u5b57\u8282\u957f\u5ea6\nany \u6309\u683c\u5f0f\u8bfb\u51fa\u6765\u7684\u6570\u636e\n\u4f8b\u5b50\uff1a\nlocal cnt,a,b,c,s = buff:unpack(\">IIHA10\") -- \u6309\u683c\u5f0f\u8bfb\u53d6\u51e0\u4e2a\u6570\u636e\n--\u5982\u679c\u5168\u90e8\u6210\u529f\u8bfb\u53d6\uff0ccnt\u5c31\u662f4+4+2+10=20\n", "prefix": "buff:unpack"}, "buff:read\u7c7b\u578b": {"body": "buff:read\u7c7b\u578b()", "description": "buff:read\u7c7b\u578b() - \u8bfb\u53d6\u4e00\u4e2a\u6307\u5b9a\u7c7b\u578b\u7684\u6570\u636e\uff08\u4ece\u5f53\u524d\u6307\u9488\u4f4d\u7f6e\u5f00\u59cb\uff1b\u6267\u884c\u540e\u6307\u9488\u4f1a\u5411\u540e\u79fb\u52a8\uff09\n\u4f20\u5165\u503c\uff1a\n\u6ce8\u91ca \u8bfb\u53d6\u7c7b\u578b\u53ef\u4e3a\uff1aI8\u3001U8\u3001I16\u3001U16\u3001I32\u3001U32\u3001I64\u3001U64\u3001F32\u3001F64\n\u8fd4\u56de\u503c\uff1a\nnumber \u8bfb\u53d6\u7684\u6570\u636e\uff0c\u5982\u679c\u8d8a\u754c\u5219\u4e3anil\n\u4f8b\u5b50\uff1a\nlocal data = buff:readI8()\nlocal data = buff:readU32()\n", "prefix": "buff:read\u7c7b\u578b"}, "buff:write\u7c7b\u578b": {"body": "buff:write\u7c7b\u578b()", "description": "buff:write\u7c7b\u578b() - \u5199\u5165\u4e00\u4e2a\u6307\u5b9a\u7c7b\u578b\u7684\u6570\u636e\uff08\u4ece\u5f53\u524d\u6307\u9488\u4f4d\u7f6e\u5f00\u59cb\uff1b\u6267\u884c\u540e\u6307\u9488\u4f1a\u5411\u540e\u79fb\u52a8\uff09\n\u4f20\u5165\u503c\uff1a\nnumber \u5f85\u5199\u5165\u7684\u6570\u636e\n\u6ce8\u91ca \u5199\u5165\u7c7b\u578b\u53ef\u4e3a\uff1aI8\u3001U8\u3001I16\u3001U16\u3001I32\u3001U32\u3001I64\u3001U64\u3001F32\u3001F64\n\u8fd4\u56de\u503c\uff1a\nnumber \u6210\u529f\u5199\u5165\u7684\u957f\u5ea6\n\u4f8b\u5b50\uff1a\nlocal len = buff:writeI8(10)\nlocal len = buff:writeU32(1024)\n", "prefix": "buff:write\u7c7b\u578b"}, "buff:toStr": {"body": "buff:toStr(${1:offset},${2:length})", "description": "buff:toStr(offset,length) - \u6309\u8d77\u59cb\u4f4d\u7f6e\u548c\u957f\u5ea6\u53d6\u51fa\u6570\u636e\uff08\u4e0e\u5f53\u524d\u6307\u9488\u4f4d\u7f6e\u65e0\u5173\uff1b\u6267\u884c\u540e\u6307\u9488\u4f4d\u7f6e\u4e0d\u53d8\uff09\n\u4f20\u5165\u503c\uff1a\nint \u6570\u636e\u7684\u8d77\u59cb\u4f4d\u7f6e\uff08\u8d77\u59cb\u4f4d\u7f6e\u4e3a0\uff09,\u9ed8\u8ba4\u503c\u4e5f\u662f0\nint \u6570\u636e\u7684\u957f\u5ea6,\u9ed8\u8ba4\u662f\u5168\u90e8\u6570\u636e\n\u8fd4\u56de\u503c\uff1a\nstring \u8bfb\u51fa\u6765\u7684\u6570\u636e\n\u4f8b\u5b50\uff1a\nlocal s = buff:toStr(0,5)--\u8bfb\u53d6\u5f00\u5934\u7684\u4e94\u4e2a\u5b57\u8282\u6570\u636e\nlocal s = buff:toStr() -- \u53d6\u51fa\u6574\u4e2azbuff\u7684\u6570\u636e\nlocal s = buff:toStr(0, buff:used()) -- \u53d6\u51fa\u5df2\u4f7f\u7528\u7684\u90e8\u5206, \u4e0ebuff:query()\u4e00\u6837\n", "prefix": "buff:toStr"}, "buff:len": {"body": "buff:len()", "description": "buff:len() - \u83b7\u53d6zbuff\u5bf9\u8c61\u7684\u957f\u5ea6\uff08\u4e0e\u5f53\u524d\u6307\u9488\u4f4d\u7f6e\u65e0\u5173\uff1b\u6267\u884c\u540e\u6307\u9488\u4f4d\u7f6e\u4e0d\u53d8\uff09\n\u8fd4\u56de\u503c\uff1a\nint zbuff\u5bf9\u8c61\u7684\u957f\u5ea6\n\u4f8b\u5b50\uff1a\nlen = buff:len()\nlen = #buff\n", "prefix": "buff:len"}, "buff:setFrameBuffer": {"body": "buff:setFrameBuffer(${1:width},${2:height},${3:bit},${4:color})", "description": "buff:setFrameBuffer(width,height,bit,color) - \u8bbe\u7f6ebuff\u5bf9\u8c61\u7684FrameBuffer\u5c5e\u6027\uff08\u4e0e\u5f53\u524d\u6307\u9488\u4f4d\u7f6e\u65e0\u5173\uff1b\u6267\u884c\u540e\u6307\u9488\u4f4d\u7f6e\u4e0d\u53d8\uff09\n\u4f20\u5165\u503c\uff1a\nint FrameBuffer\u7684\u5bbd\u5ea6\nint FrameBuffer\u7684\u9ad8\u5ea6\nint FrameBuffer\u7684\u8272\u4f4d\u6df1\u5ea6\nint FrameBuffer\u7684\u521d\u59cb\u989c\u8272\n\u8fd4\u56de\u503c\uff1a\nbool \u8bbe\u7f6e\u6210\u529f\u4f1a\u8fd4\u56detrue\n\u4f8b\u5b50\uff1a\nresult = buff:setFrameBuffer(320,240,16,0xffff)\n", "prefix": "buff:setFrameBuffer"}, "buff:pixel": {"body": "buff:pixel(${1:x},${2:y},${3:color})", "description": "buff:pixel(x,y,color) - \u8bbe\u7f6e\u6216\u83b7\u53d6FrameBuffer\u67d0\u4e2a\u50cf\u7d20\u70b9\u7684\u989c\u8272\uff08\u4e0e\u5f53\u524d\u6307\u9488\u4f4d\u7f6e\u65e0\u5173\uff1b\u6267\u884c\u540e\u6307\u9488\u4f4d\u7f6e\u4e0d\u53d8\uff09\n\u4f20\u5165\u503c\uff1a\nint \u4e0e\u6700\u5de6\u8fb9\u7684\u8ddd\u79bb\uff0c\u8303\u56f4\u662f0~\u5bbd\u5ea6-1\nint \u4e0e\u6700\u4e0a\u8fb9\u7684\u8ddd\u79bb\uff0c\u8303\u56f4\u662f0~\u9ad8\u5ea6-1\nint \u989c\u8272\uff0c\u5982\u679c\u7559\u7a7a\u5219\u8868\u793a\u83b7\u53d6\u8be5\u4f4d\u7f6e\u7684\u989c\u8272\n\u8fd4\u56de\u503c\uff1a\nany \u8bbe\u7f6e\u989c\u8272\u65f6\uff0c\u8bbe\u7f6e\u6210\u529f\u4f1a\u8fd4\u56detrue\uff1b\u8bfb\u53d6\u989c\u8272\u65f6\uff0c\u8fd4\u56de\u989c\u8272\u7684\u503c\uff0c\u8bfb\u53d6\u5931\u8d25\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\nrerult = buff:pixel(0,3,0)\ncolor = buff:pixel(0,3)\n", "prefix": "buff:pixel"}, "buff:drawLine": {"body": "buff:drawLine(${1:x1},${2:y1},${3:x2},${4:y2},${5:color})", "description": "buff:drawLine(x1,y1,x2,y2,color) - \u753b\u4e00\u6761\u7ebf\uff08\u4e0e\u5f53\u524d\u6307\u9488\u4f4d\u7f6e\u65e0\u5173\uff1b\u6267\u884c\u540e\u6307\u9488\u4f4d\u7f6e\u4e0d\u53d8\uff09\n\u4f20\u5165\u503c\uff1a\nint \u8d77\u59cb\u5750\u6807\u70b9\u4e0e\u6700\u5de6\u8fb9\u7684\u8ddd\u79bb\uff0c\u8303\u56f4\u662f0~\u5bbd\u5ea6-1\nint \u8d77\u59cb\u5750\u6807\u70b9\u4e0e\u6700\u4e0a\u8fb9\u7684\u8ddd\u79bb\uff0c\u8303\u56f4\u662f0~\u9ad8\u5ea6-1\nint \u7ed3\u675f\u5750\u6807\u70b9\u4e0e\u6700\u5de6\u8fb9\u7684\u8ddd\u79bb\uff0c\u8303\u56f4\u662f0~\u5bbd\u5ea6-1\nint \u7ed3\u675f\u5750\u6807\u70b9\u4e0e\u6700\u4e0a\u8fb9\u7684\u8ddd\u79bb\uff0c\u8303\u56f4\u662f0~\u9ad8\u5ea6-1\nint \u53ef\u9009\uff0c\u989c\u8272\uff0c\u9ed8\u8ba4\u4e3a0\n\u8fd4\u56de\u503c\uff1a\nbool \u753b\u6210\u529f\u4f1a\u8fd4\u56detrue\n\u4f8b\u5b50\uff1a\nrerult = buff:drawLine(0,0,2,3,0xffff)\n", "prefix": "buff:drawLine"}, "buff:drawRect": {"body": "buff:drawRect(${1:x1},${2:y1},${3:x2},${4:y2},${5:color},${6:fill})", "description": "buff:drawRect(x1,y1,x2,y2,color,fill) - \u753b\u4e00\u4e2a\u77e9\u5f62\uff08\u4e0e\u5f53\u524d\u6307\u9488\u4f4d\u7f6e\u65e0\u5173\uff1b\u6267\u884c\u540e\u6307\u9488\u4f4d\u7f6e\u4e0d\u53d8\uff09\n\u4f20\u5165\u503c\uff1a\nint \u8d77\u59cb\u5750\u6807\u70b9\u4e0e\u6700\u5de6\u8fb9\u7684\u8ddd\u79bb\uff0c\u8303\u56f4\u662f0~\u5bbd\u5ea6-1\nint \u8d77\u59cb\u5750\u6807\u70b9\u4e0e\u6700\u4e0a\u8fb9\u7684\u8ddd\u79bb\uff0c\u8303\u56f4\u662f0~\u9ad8\u5ea6-1\nint \u7ed3\u675f\u5750\u6807\u70b9\u4e0e\u6700\u5de6\u8fb9\u7684\u8ddd\u79bb\uff0c\u8303\u56f4\u662f0~\u5bbd\u5ea6-1\nint \u7ed3\u675f\u5750\u6807\u70b9\u4e0e\u6700\u4e0a\u8fb9\u7684\u8ddd\u79bb\uff0c\u8303\u56f4\u662f0~\u9ad8\u5ea6-1\nint \u53ef\u9009\uff0c\u989c\u8272\uff0c\u9ed8\u8ba4\u4e3a0\nbool \u53ef\u9009\uff0c\u662f\u5426\u5728\u5185\u90e8\u586b\u5145\uff0c\u9ed8\u8ba4nil\n\u8fd4\u56de\u503c\uff1a\nbool \u753b\u6210\u529f\u4f1a\u8fd4\u56detrue\n\u4f8b\u5b50\uff1a\nrerult = buff:drawRect(0,0,2,3,0xffff)\n", "prefix": "buff:drawRect"}, "buff:drawCircle": {"body": "buff:drawCircle(${1:x},${2:y},${3:r},${4:color},${5:fill})", "description": "buff:drawCircle(x,y,r,color,fill) - \u753b\u4e00\u4e2a\u5706\u5f62\uff08\u4e0e\u5f53\u524d\u6307\u9488\u4f4d\u7f6e\u65e0\u5173\uff1b\u6267\u884c\u540e\u6307\u9488\u4f4d\u7f6e\u4e0d\u53d8\uff09\n\u4f20\u5165\u503c\uff1a\nint **\u5706\u5fc3**\u4e0e\u6700\u5de6\u8fb9\u7684\u8ddd\u79bb\uff0c\u8303\u56f4\u662f0~\u5bbd\u5ea6-1\nint **\u5706\u5fc3**\u4e0e\u6700\u4e0a\u8fb9\u7684\u8ddd\u79bb\uff0c\u8303\u56f4\u662f0~\u9ad8\u5ea6-1\nint \u5706\u7684\u534a\u5f84\nint \u53ef\u9009\uff0c\u5706\u7684\u989c\u8272\uff0c\u9ed8\u8ba4\u4e3a0\nbool \u53ef\u9009\uff0c\u662f\u5426\u5728\u5185\u90e8\u586b\u5145\uff0c\u9ed8\u8ba4nil\n\u8fd4\u56de\u503c\uff1a\nbool \u753b\u6210\u529f\u4f1a\u8fd4\u56detrue\n\u4f8b\u5b50\uff1a\nrerult = buff:drawCircle(15,5,3,0xC)\nrerult = buff:drawCircle(15,5,3,0xC,true)\n", "prefix": "buff:drawCircle"}, "buff[n": {"body": "buff[n]", "description": "buff[n] - \u4ee5\u4e0b\u6807\u5f62\u5f0f\u8fdb\u884c\u6570\u636e\u8bfb\u5199\uff08\u4e0e\u5f53\u524d\u6307\u9488\u4f4d\u7f6e\u65e0\u5173\uff1b\u6267\u884c\u540e\u6307\u9488\u4f4d\u7f6e\u4e0d\u53d8\uff09\n\u4f20\u5165\u503c\uff1a\nint \u7b2c\u51e0\u4e2a\u6570\u636e\uff0c\u4ee50\u5f00\u59cb\u7684\u4e0b\u6807\uff08C\u6807\u51c6\uff09\n\u8fd4\u56de\u503c\uff1a\nnumber \u8be5\u4f4d\u7f6e\u7684\u6570\u636e\n\u4f8b\u5b50\uff1a\nbuff[0] = 0xc8\nlocal data = buff[0]\n", "prefix": "buff[n"}, "buff:resize": {"body": "buff:resize(${1:n})", "description": "buff:resize(n) - \u8c03\u6574zbuff\u5b9e\u9645\u5206\u914d\u7a7a\u95f4\u7684\u5927\u5c0f\uff0c\u7c7b\u4f3c\u4e8erealloc\u7684\u6548\u679c\uff0cnew = realloc(old, n)\uff0c\u53ef\u4ee5\u6269\u5927\u6216\u8005\u7f29\u5c0f\uff08\u5982\u679c\u7f29\u5c0f\u540elen\u5c0f\u4e8e\u4e86used\uff0c\u90a3\u4e48used=\u65b0len\uff09\n\u4f20\u5165\u503c\uff1a\nint \u65b0\u7a7a\u95f4\u5927\u5c0f\n\u4f8b\u5b50\uff1a\nbuff:resize(20)\n", "prefix": "buff:resize"}, "buff:copy": {"body": "buff:copy(${1:start},${2:para},${3:...})", "description": "buff:copy(start, para,...) - zbuff\u52a8\u6001\u5199\u6570\u636e\uff0c\u7c7b\u4f3c\u4e8ememcpy\u6548\u679c\uff0c\u5f53\u539f\u6709\u7a7a\u95f4\u4e0d\u8db3\u65f6\u52a8\u6001\u6269\u5927\u7a7a\u95f4\n\u4f20\u5165\u503c\uff1a\nint \u5199\u5165buff\u7684\u8d77\u59cb\u4f4d\u7f6e\uff0c\u5982\u679c\u4e0d\u4e3a\u6570\u5b57\uff0c\u5219\u4e3abuff\u7684used\uff0c\u5982\u679c\u5c0f\u4e8e0\uff0c\u5219\u4eceused\u5f80\u524d\u6570\uff0c-1 = used - 1\nany \u5199\u5165buff\u7684\u6570\u636e\uff0cstring\u6216zbuff\u8005\u65f6\u4e3a\u4e00\u4e2a\u53c2\u6570\uff0cnumber\u65f6\u53ef\u4e3a\u591a\u4e2a\u53c2\u6570\n\u8fd4\u56de\u503c\uff1a\nnumber \u6570\u636e\u6210\u529f\u5199\u5165\u7684\u957f\u5ea6\n\u4f8b\u5b50\uff1a\nlocal len = buff:copy(nil, \"123\") -- \u7c7b\u4f3c\u4e8ememcpy(&buff[used], \"123\", 3) used+= 3 \u4ecebuff\u5f00\u59cb\u5199\u5165\u6570\u636e,\u6307\u9488\u76f8\u5e94\u5730\u5f80\u540e\u79fb\u52a8\nlocal len = buff:copy(0, \"123\") -- \u7c7b\u4f3c\u4e8ememcpy(&buff[0], \"123\", 3) if (used < 3) used = 3 \u4ece\u4f4d\u7f6e0\u5199\u5165\u6570\u636e,\u6307\u9488\u6709\u53ef\u80fd\u4f1a\u79fb\u52a8\nlocal len = buff:copy(2, 0x1a,0x30,0x31,0x32,0x00,0x01) -- \u7c7b\u4f3c\u4e8ememcpy(&buff[2], [0x1a,0x30,0x31,0x32,0x00,0x01], 6) if (used < (2+6)) used = (2+6)\u4ece\u4f4d\u7f6e2\u5f00\u59cb\uff0c\u6309\u6570\u503c\u5199\u5165\u591a\u4e2a\u5b57\u8282\u6570\u636e\nlocal len = buff:copy(9, buff2) -- \u7c7b\u4f3c\u4e8ememcpy(&buff[9], &buff2[0], buff2\u7684used) if (used < (9+buff2\u7684used)) used = (9+buff2\u7684used) \u4ece\u4f4d\u7f6e9\u5f00\u59cb\uff0c\u5408\u5e76\u5165buff2\u91cc0~used\u7684\u5185\u5bb9\nlocal len = buff:copy(5, buff2, 10, 1024) -- \u7c7b\u4f3c\u4e8ememcpy(&buff[5], &buff2[10], 1024) if (used < (5+1024)) used = (5+1024)\n", "prefix": "buff:copy"}, "buff:used": {"body": "buff:used()", "description": "buff:used() - \u83b7\u53d6zbuff\u91cc\u6700\u540e\u4e00\u4e2a\u6570\u636e\u4f4d\u7f6e\u6307\u9488\u5230\u9996\u5730\u5740\u7684\u504f\u79fb\u91cf\uff0c\u6765\u8868\u793azbuff\u5185\u5df2\u6709\u6709\u6548\u6570\u636e\u91cf\u5927\u5c0f\uff0c\u6ce8\u610f\u8fd9\u4e2a\u4e0d\u540c\u4e8e\u5206\u914d\u7684\u7a7a\u95f4\u5927\u5c0f\uff0c\u7531\u4e8eseek()\u4f1a\u6539\u53d8\u6700\u540e\u4e00\u4e2a\u6570\u636e\u4f4d\u7f6e\u6307\u9488\uff0c\u56e0\u6b64\u4e5f\u4f1a\u5f71\u54cd\u5230used()\u8fd4\u56de\u503c\u3002\n\u8fd4\u56de\u503c\uff1a\nint \u6709\u6548\u6570\u636e\u91cf\u5927\u5c0f\n\u4f8b\u5b50\uff1a\nbuff:used()\n", "prefix": "buff:used"}, "buff:del": {"body": "buff:del(${1:offset},${2:length})", "description": "buff:del(offset,length) - \u5220\u9664zbuff 0~used\u8303\u56f4\u5185\u7684\u4e00\u6bb5\u6570\u636e\uff0c\u6ce8\u610f\u53ea\u662f\u6539\u53d8\u4e86used\u7684\u503c\uff0c\u5e76\u4e0d\u662f\u771f\u7684\u5728ram\u91cc\u53bb\u6e05\u9664\u6389\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nint \u8d77\u59cb\u4f4d\u7f6estart, \u9ed8\u8ba40\uff0c\u5982\u679c<0\u5219\u4eceused\u5f80\u524d\u6570\uff0c\u6bd4\u5982 -1 \u90a3\u4e48start= used - 1\nint \u957f\u5ea6del_len\uff0c\u9ed8\u8ba4\u4e3aused\uff0c\u5982\u679cstart + del_len\u6570\u503c\u5927\u4e8eused\uff0c\u4f1a\u5f3a\u5236\u8c03\u6574del_len = used - start\n\u4f8b\u5b50\uff1a\nbuff:del(1,4)\t--\u4ece\u4f4d\u7f6e1\u5f00\u59cb\u5220\u96644\u4e2a\u5b57\u8282\u6570\u636e\nbuff:del(-1,4)\t--\u4ece\u4f4d\u7f6eused-1\u5f00\u59cb\u5220\u96644\u4e2a\u5b57\u8282\u6570\u636e\uff0c\u4f46\u662f\u8fd9\u80af\u5b9a\u4f1a\u8d85\u8fc7used\uff0c\u6240\u4ee5del_len\u4f1a\u8c03\u6574\u4e3a1\uff0c\u5b9e\u9645\u4e0a\u5c31\u662f\u5220\u6389\u4e86\u6700\u540e\u4e00\u4e2a\u5b57\u8282\n", "prefix": "buff:del"}, "buff:query": {"body": "buff:query(${1:offset},${2:length},${3:isbigend},${4:issigned},${5:isfloat})", "description": "buff:query(offset,length,isbigend,issigned,isfloat) - \u6309\u8d77\u59cb\u4f4d\u7f6e\u548c\u957f\u5ea60~used\u8303\u56f4\u5185\u53d6\u51fa\u6570\u636e\uff0c\u5982\u679c\u662f1,2,4,8\u5b57\u8282\uff0c\u6839\u636e\u540e\u7eed\u53c2\u6570\u8f6c\u6362\u6210\u6d6e\u70b9\u6216\u8005\u6574\u5f62\n\u4f20\u5165\u503c\uff1a\nint \u6570\u636e\u7684\u8d77\u59cb\u4f4d\u7f6e\uff08\u8d77\u59cb\u4f4d\u7f6e\u4e3a0\uff09\nint \u6570\u636e\u7684\u957f\u5ea6\nboolean \u662f\u5426\u662f\u5927\u7aef\u683c\u5f0f\uff0c\u5982\u679c\u4e3anil\uff0c\u5219\u4e0d\u4f1a\u8f6c\u6362\uff0c\u76f4\u63a5\u5b57\u8282\u6d41\u8f93\u51fa\nboolean \u662f\u5426\u662f\u6709\u7b26\u53f7\u7684\uff0c\u9ed8\u8ba4\u4e3afalse\nboolean \u662f\u5426\u662f\u6d6e\u70b9\u578b\uff0c\u9ed8\u8ba4\u4e3afalse\n\u8fd4\u56de\u503c\uff1a\nstring \u8bfb\u51fa\u6765\u7684\u6570\u636e\n\u4f8b\u5b50\uff1a\nlocal s = buff:query(0,5)--\u8bfb\u53d6\u5f00\u5934\u7684\u4e94\u4e2a\u5b57\u8282\u6570\u636e\n", "prefix": "buff:query"}, "buff:set": {"body": "buff:set(${1:start},${2:num},${3:len})", "description": "buff:set(start, num, len) - zbuff\u7684\u7c7b\u4f3c\u4e8ememset\u64cd\u4f5c\uff0c\u7c7b\u4f3c\u4e8ememset(&buff[start], num, len)\uff0c\u5f53\u7136\u6709ram\u8d8a\u754c\u4fdd\u62a4\uff0c\u4f1a\u5bf9len\u6709\u4e00\u5b9a\u7684\u9650\u5236\n\u4f20\u5165\u503c\uff1a\nint \u53ef\u9009\uff0c\u5f00\u59cb\u4f4d\u7f6e\uff0c\u9ed8\u8ba4\u4e3a0,\nint \u53ef\u9009\uff0c\u9ed8\u8ba4\u4e3a0\u3002\u8981\u8bbe\u7f6e\u4e3a\u7684\u503c\nint \u53ef\u9009\uff0c\u957f\u5ea6\uff0c\u9ed8\u8ba4\u4e3a\u5168\u90e8\u7a7a\u95f4\uff0c\u5982\u679c\u8d85\u51fa\u8303\u56f4\u4e86\uff0c\u4f1a\u81ea\u52a8\u622a\u65ad\n\u4f8b\u5b50\uff1a\n-- \u5168\u90e8\u521d\u59cb\u5316\u4e3a0\nbuff:set() --\u7b49\u540c\u4e8e memset(buff, 0, sizeof(buff))\nbuff:set(8) --\u7b49\u540c\u4e8e memset(&buff[8], 0, sizeof(buff) - 8)\nbuff:set(0, 0x55) --\u7b49\u540c\u4e8e memset(buff, 0x55, sizeof(buff))\nbuff:set(4, 0xaa, 12) --\u7b49\u7528\u4e8e memset(&buff[4], 0xaa, 12)\n", "prefix": "buff:set"}, "buff:isEqual": {"body": "buff:isEqual(${1:start},${2:buff2},${3:start2},${4:len})", "description": "buff:isEqual(start, buff2, start2, len) - zbuff\u7684\u7c7b\u4f3c\u4e8ememcmp\u64cd\u4f5c\uff0c\u7c7b\u4f3c\u4e8ememcmp(&buff[start], &buff2[start2], len)\n\u4f20\u5165\u503c\uff1a\nint \u53ef\u9009\uff0c\u5f00\u59cb\u4f4d\u7f6e\uff0c\u9ed8\u8ba4\u4e3a0,\nzbuff \u6bd4\u8f83\u7684\u5bf9\u8c61\nint \u53ef\u9009\uff0c\u6bd4\u8f83\u7684\u5bf9\u8c61\u7684\u5f00\u59cb\u4f4d\u7f6e\uff0c\u9ed8\u8ba4\u4e3a0\nint \u6bd4\u8f83\u957f\u5ea6\n\u8fd4\u56de\u503c\uff1a\nboolean true\u76f8\u7b49\uff0cfalse\u4e0d\u76f8\u7b49\nint \u76f8\u7b49\u8fd4\u56de0\uff0c\u4e0d\u76f8\u7b49\u8fd4\u56de\u7b2c\u4e00\u4e2a\u4e0d\u76f8\u7b49\u4f4d\u7f6e\u7684\u5e8f\u53f7\n\u4f8b\u5b50\uff1a\nlocal result, offset = buff:isEqual(1, buff2, 2, 10) --\u7b49\u540c\u4e8ememcmp(&buff[1], &buff2[2], 10)\n", "prefix": "buff:isEqual"}, "zlib.c": {"body": "zlib.c(${1:input_file},${2:output_file})", "description": "zlib.c(input_file,output_file) - zlib\u538b\u7f29(\u9700\u8981\u5927\u7ea6270k\u5185\u5b58\uff0c\u5927\u90e8\u5206mcu\u4e0d\u652f\u6301)\n\u4f20\u5165\u503c\uff1a\nstring input_file \u8f93\u5165\u6587\u4ef6\nstring output_file \u8f93\u51fa\u6587\u4ef6\n\u8fd4\u56de\u503c\uff1a\nbool \u6b63\u5e38\u8fd4\u56de ture \u5931\u8d25\u8fd4\u56de false\n\u4f8b\u5b50\uff1a\nzlib.c(\"/sd/1.txt\",\"/sd/zlib\")\n", "prefix": "zlib.c"}, "zlib.d": {"body": "zlib.d(${1:input_file},${2:output_file})", "description": "zlib.d(input_file,output_file) - zlib\u89e3\u538b\u7f29(\u9700\u8981\u5927\u7ea618k\u5185\u5b58\uff0c\u5927\u90e8\u5206mcu\u90fd\u652f\u6301)\n\u4f20\u5165\u503c\uff1a\nstring input_file \u8f93\u5165\u6587\u4ef6\nstring output_file \u8f93\u51fa\u6587\u4ef6\n\u8fd4\u56de\u503c\uff1a\nbool \u6b63\u5e38\u8fd4\u56de ture \u5931\u8d25\u8fd4\u56de false\n\u4f8b\u5b50\uff1a\nzlib.d(\"/sd/zlib\",\"/sd/1.txt\")\n", "prefix": "zlib.d"}} \ No newline at end of file +{"_G": {"body": "_G(${0:...})", "description": "_G", "prefix": "_G"}, "_VERSION": {"body": "_VERSION(${0:...})", "description": "_VERSION", "prefix": "_VERSION"}, "assert": {"body": "assert(${1:v}${2:[, message]})", "description": "assert()", "prefix": "assert"}, "collectgarbage": {"body": "collectgarbage(${1:[opt]}${2:[, arg]})", "description": "collectgarbage()", "prefix": "collectgarbage"}, "coroutine.create": {"body": "coroutine.create( ${1:function} )", "description": "coroutine.create", "prefix": "coroutine.create"}, "coroutine.isyieldable": {"body": "coroutine.isyieldable( )", "description": "coroutine.isyieldable", "prefix": "coroutine.isyieldable"}, "coroutine.resume": {"body": "coroutine.resume( ${1:co}${2:[, val1, \u00b7\u00b7\u00b7]} )", "description": "coroutine.resume", "prefix": "coroutine.resume"}, "coroutine.running": {"body": "coroutine.running( )", "description": "coroutine.running", "prefix": "coroutine.running"}, "coroutine.status": {"body": "coroutine.status( ${1:co} )", "description": "coroutine.status", "prefix": "coroutine.status"}, "coroutine.wrap": {"body": "coroutine.wrap( ${1:function} )", "description": "coroutine.wrap", "prefix": "coroutine.wrap"}, "coroutine.yield": {"body": "coroutine.yield( ${1:...} )", "description": "coroutine.yield", "prefix": "coroutine.yield"}, "debug.debug": {"body": "debug.debug()", "description": "debug.debug ()", "prefix": "debug.debug"}, "debug.getfenv": {"body": "debug.getfenv(${0:...})", "description": "debug.getfenv (o)", "prefix": "debug.getfenv"}, "debug.gethook": {"body": "debug.gethook( ${1:[thread]} )", "description": "debug.gethook ([thread])", "prefix": "debug.gethook"}, "debug.getinfo": {"body": "debug.getinfo( ${1:[thread],}${2:f}${3:[, what]} )", "description": "debug.getinfo ([thread,] f [, what])", "prefix": "debug.getinfo"}, "debug.getlocal": {"body": "debug.getlocal( ${1:[thread],}${2:f}${3:[, local]} )", "description": "debug.getlocal ([thread,] f, local)", "prefix": "debug.getlocal"}, "debug.getmetatable": {"body": "debug.getmetatable( ${1:value} )", "description": "debug.getmetatable (value)", "prefix": "debug.getmetatable"}, "debug.getregistry": {"body": "debug.getregistry()", "description": "debug.getregistry ()", "prefix": "debug.getregistry"}, "debug.getupvalue": {"body": "debug.getupvalue( ${1:f}, ${2:up} )", "description": "debug.getupvalue (f, up)", "prefix": "debug.getupvalue"}, "debug.getuservalue": {"body": "debug.getuservalue(${0:...})", "description": "debug.getuservalue (u)", "prefix": "debug.getuservalue"}, "debug.getuservalue ": {"body": "debug.getuservalue ( ${1:u} )", "description": "debug.getuservalue (u)", "prefix": "debug.getuservalue "}, "debug.setfenv": {"body": "debug.setfenv(${0:...})", "description": "debug.setfenv (object, table)", "prefix": "debug.setfenv"}, "debug.sethook": {"body": "debug.sethook( ${1:[thead,]}${2:hook}, ${3:mask}${4:[, count]} )", "description": "debug.sethook ([thread,] hook, mask [, count])", "prefix": "debug.sethook"}, "debug.setlocal": {"body": "debug.setlocal( ${1:[thead,]}${2:level}, ${3:local}, ${4:value} )", "description": "debug.setlocal ([thread,] level, local, value)", "prefix": "debug.setlocal"}, "debug.setmetatable": {"body": "debug.setmetatable( ${1:value}, ${2:table} )", "description": "debug.setmetatable (value, table)", "prefix": "debug.setmetatable"}, "debug.setupvalue": {"body": "debug.setupvalue( ${1:f}, ${2:up}, ${3:value} )", "description": "debug.setupvalue (f, up, value)", "prefix": "debug.setupvalue"}, "debug.setuservalue": {"body": "debug.setuservalue( ${1:udata}, ${2:value} )", "description": "debug.setuservalue (udata, value)", "prefix": "debug.setuservalue"}, "debug.traceback": {"body": "debug.traceback( ${1:[thread,]}${2:[message]}${3:[, level]} )", "description": "debug.traceback ([thread,] [message [, level]])", "prefix": "debug.traceback"}, "debug.upvalueid": {"body": "debug.upvalueid( ${1:f}, ${2:n})", "description": "debug.upvalueid (f, n)", "prefix": "debug.upvalueid"}, "debug.upvaluejoin": {"body": "debug.upvaluejoin( ${1:f1}, ${2:n1}, ${3:f2}, ${4:n2} )", "description": "debug.upvaluejoin (f1, n1, f2, n2)", "prefix": "debug.upvaluejoin"}, "dofile": {"body": "dofile(${1:[filename]})", "description": "dofile ([filename])", "prefix": "dofile"}, "elif": {"body": "else if ${1:condition} then\n\t${0:-- body}\n", "description": "elif", "prefix": "elif"}, "error": {"body": "error(${0:...})", "description": "error (message [, level])", "prefix": "error"}, "file:close": {"body": "file:close(${0:...})", "description": "file:close ()", "prefix": "file:close"}, "file:flush": {"body": "file:flush(${0:...})", "description": "file:flush ()", "prefix": "file:flush"}, "file:lines": {"body": "file:lines(${0:...})", "description": "file:lines ()", "prefix": "file:lines"}, "file:read": {"body": "file:read(${0:...})", "description": "file:read (...)", "prefix": "file:read"}, "file:seek": {"body": "file:seek(${0:...})", "description": "file:seek ([whence] [, offset])", "prefix": "file:seek"}, "file:setvbuf": {"body": "file:setvbuf(${0:...})", "description": "file:setvbuf (mode [, size])", "prefix": "file:setvbuf"}, "file:write": {"body": "file:write(${0:...})", "description": "file:write (...)", "prefix": "file:write"}, "for": {"body": "for ${1:i}=${2:1},${3:10} do\n\t${0:print(i)}\nend", "description": "for i=1,10", "prefix": "for"}, "fori": {"body": "for ${1:i},${2:v} in ipairs(${3:table_name}) do\n\t${0:print(i,v)}\nend", "description": "for i,v in ipairs()", "prefix": "fori"}, "forp": {"body": "for ${1:k},${2:v} in pairs(${3:table_name}) do\n\t${0:print(k,v)}\nend", "description": "for k,v in pairs()", "prefix": "forp"}, "fun": {"body": "function ${1:function_name}( ${2:...} )\n\t${0:-- body}\nend", "description": "function", "prefix": "fun"}, "function": {"body": "function ${1:function_name}( ${2:...} )\n\t${0:-- body}\nend", "description": "function", "prefix": "function"}, "getfenv": {"body": "getfenv(${0:...})", "description": "getfenv ([f])", "prefix": "getfenv"}, "getmetatable": {"body": "getmetatable(${1:object})", "description": "getmetatable (object)", "prefix": "getmetatable"}, "if": {"body": "if ${1:condition} then\n\t${0:-- body}\nend", "description": "if", "prefix": "if"}, "ifel": {"body": "if ${1:condition} then\n\t${2:-- body}\nelse\n\t${0:-- body}\nend", "description": "ifel", "prefix": "ifel"}, "io.close": {"body": "io.close(${0:...})", "description": "io.close ([file])", "prefix": "io.close"}, "io.flush": {"body": "io.flush(${0:...})", "description": "io.flush ()", "prefix": "io.flush"}, "io.input": {"body": "io.input(${0:...})", "description": "io.input ([file])", "prefix": "io.input"}, "io.lines": {"body": "io.lines(${0:...})", "description": "io.lines ([filename])", "prefix": "io.lines"}, "io.open": {"body": "io.open(${0:...})", "description": "io.open (filename [, mode])", "prefix": "io.open"}, "io.output": {"body": "io.output(${0:...})", "description": "io.output ([file])", "prefix": "io.output"}, "io.popen": {"body": "io.popen(${0:...})", "description": "io.popen (prog [, mode])", "prefix": "io.popen"}, "io.read": {"body": "io.read(${0:...})", "description": "io.read (...)", "prefix": "io.read"}, "io.tmpfile": {"body": "io.tmpfile(${0:...})", "description": "io.tmpfile ()", "prefix": "io.tmpfile"}, "io.type": {"body": "io.type(${0:...})", "description": "io.type (obj)", "prefix": "io.type"}, "io.write": {"body": "io.write(${0:...})", "description": "io.write (...)", "prefix": "io.write"}, "ipairs": {"body": "ipairs(${0:...})", "description": "ipairs (t)", "prefix": "ipairs"}, "load": {"body": "load(${0:...})", "description": "load (func [, chunkname])", "prefix": "load"}, "loadfile": {"body": "loadfile(${0:...})", "description": "loadfile ([filename])", "prefix": "loadfile"}, "loadstring": {"body": "loadstring(${0:...})", "description": "loadstring (string [, chunkname])", "prefix": "loadstring"}, "local": {"body": "local ${1:x} = ${0:1}", "description": "local x = 1", "prefix": "local"}, "math.abs": {"body": "math.abs( ${1:x} )", "description": "math.abs", "prefix": "math.abs"}, "math.acos": {"body": "math.acos( ${1:x} )", "description": "math.acos", "prefix": "math.acos"}, "math.asin": {"body": "math.asin( ${1:x} )", "description": "math.asin", "prefix": "math.asin"}, "math.atan": {"body": "math.atan( ${1:y}${2:[, x]} )", "description": "math.atan", "prefix": "math.atan"}, "math.atan2": {"body": "math.atan2(${0:...})", "description": "math.atan2 (y, x)", "prefix": "math.atan2"}, "math.ceil": {"body": "math.ceil( ${1:x} )", "description": "math.ceil", "prefix": "math.ceil"}, "math.cos": {"body": "math.cos( ${1:x} )", "description": "math.cos", "prefix": "math.cos"}, "math.cosh": {"body": "math.cosh(${0:...})", "description": "math.cosh (x)", "prefix": "math.cosh"}, "math.deg": {"body": "math.deg( ${1:x} )", "description": "math.deg", "prefix": "math.deg"}, "math.exp": {"body": "math.exp( ${1:x} )", "description": "math.exp", "prefix": "math.exp"}, "math.floor": {"body": "math.floor( ${1:x} )", "description": "math.floor", "prefix": "math.floor"}, "math.fmod": {"body": "math.fmod( ${1:x},${2:y} )", "description": "math.fmod", "prefix": "math.fmod"}, "math.frexp": {"body": "math.frexp(${0:...})", "description": "math.frexp (x)", "prefix": "math.frexp"}, "math.huge": {"body": "math.huge(${0:...})", "description": "math.huge", "prefix": "math.huge"}, "math.ldexp": {"body": "math.ldexp(${0:...})", "description": "math.ldexp (m, e)", "prefix": "math.ldexp"}, "math.log": {"body": "math.log( ${1:x}${2:[, base]} )", "description": "math.log", "prefix": "math.log"}, "math.log10": {"body": "math.log10(${0:...})", "description": "math.log10 (x)", "prefix": "math.log10"}, "math.math.randomseed": {"body": "math.math.randomseed( ${1:x} )", "description": "math.math.randomseed", "prefix": "math.math.randomseed"}, "math.max": {"body": "math.max( ${1:x},${2:...} )", "description": "math.max", "prefix": "math.max"}, "math.maxinteger": {"body": "math.maxinteger(${0:...})", "description": "math.maxinteger", "prefix": "math.maxinteger"}, "math.min": {"body": "math.min( ${1:x},${2:...} )", "description": "math.min", "prefix": "math.min"}, "math.mininteger": {"body": "math.mininteger(${0:...})", "description": "math.mininteger", "prefix": "math.mininteger"}, "math.modf": {"body": "math.modf( ${1:x} )", "description": "math.modf", "prefix": "math.modf"}, "math.pi": {"body": "math.pi(${0:...})", "description": "math.pi", "prefix": "math.pi"}, "math.pow": {"body": "math.pow(${0:...})", "description": "math.pow (x, y)", "prefix": "math.pow"}, "math.rad": {"body": "math.rad(${0:...})", "description": "math.rad (x)", "prefix": "math.rad"}, "math.random": {"body": "math.random( ${1:[m]}${2:[, n]} )", "description": "math.random", "prefix": "math.random"}, "math.randomseed": {"body": "math.randomseed(${0:...})", "description": "math.randomseed (x)", "prefix": "math.randomseed"}, "math.sin": {"body": "math.sin( ${1:x} )", "description": "math.sin", "prefix": "math.sin"}, "math.sinh": {"body": "math.sinh(${0:...})", "description": "math.sinh (x)", "prefix": "math.sinh"}, "math.sqrt": {"body": "math.sqrt( ${1:x} )", "description": "math.sqrt", "prefix": "math.sqrt"}, "math.tan": {"body": "math.tan( ${1:x} )", "description": "math.tan", "prefix": "math.tan"}, "math.tanh": {"body": "math.tanh(${0:...})", "description": "math.tanh (x)", "prefix": "math.tanh"}, "math.tointeger": {"body": "math.tointeger( ${1:x} )", "description": "math.tointeger", "prefix": "math.tointeger"}, "math.type": {"body": "math.type( ${1:x} )", "description": "math.type", "prefix": "math.type"}, "math.ult": {"body": "math.ult(${0:...})", "description": "math.ult (m, n)", "prefix": "math.ult"}, "module": {"body": "module(${0:...})", "description": "module (name [, ...])", "prefix": "module"}, "next": {"body": "next(${1:table}${2:[, index]})", "description": "next (table [, index])", "prefix": "next"}, "os.clock": {"body": "os.clock()", "description": "os.clock() - \u8fd4\u56de\u7a0b\u5e8f\u4f7f\u7528\u7684\u6309\u79d2\u8ba1 CPU \u65f6\u95f4\u7684\u8fd1\u4f3c\u503c\n\u4f20\u5165\u503c\uff1a\nreturn \u65f6\u95f4\u6233\n\u4f8b\u5b50\uff1a\n-- \u4e0d\u63a8\u8350\u4f7f\u7528\u672cAPI\n-- \u5982\u9700\u8981\u83b7\u53d6 \u65f6\u95f4\u6233, \u8bf7\u4f7f\u7528 os.time()\n-- \u5982\u9700\u83b7\u53d6\u7cfb\u7edf\u8fd0\u884c\u65f6\u957f, \u8bf7\u4f7f\u7528 mcu.ticks()\n", "prefix": "os.clock"}, "os.date": {"body": "os.date(${1:fmt},${2:time})", "description": "os.date(fmt, time) - \u65e5\u671f\u51fd\u6570\n\u4f20\u5165\u503c\uff1a\nstring \u683c\u5f0f\u5316\u5b57\u7b26\u4e32,\u53ef\u4ee5\u662fnil\ntable \u65e5\u671f\u65f6\u95f4\u7684table\n\u8fd4\u56de\u503c\uff1a\ntable/string \u6839\u636efmt\u7684\u4e0d\u540c,\u8fd4\u56de\u503c\u4e0d\u540c\n\u4f8b\u5b50\uff1a\n\n-- \u503c\u5f97\u6ce8\u610f\u7684\u51e0\u70b9:\n-- 1. \u82e5\u9700\u8981UTC\u65f6\u95f4, fmt\u7684\u7b2c\u4e00\u4e2a\u5b57\u7b26\u5199\"!\"\n-- 2. fmt\u7684\u683c\u5f0f\u5316\u9075\u5faa C \u51fd\u6570 strftime, \u53ef\u4ee5\u67e5\u9605 https://developer.aliyun.com/article/320480\n\n-- \u83b7\u53d6\u672c\u5730\u65f6\u95f4\u5b57\u7b26\u4e32\nlog.info(\"\u672c\u5730\u65f6\u95f4\u5b57\u7b26\u4e32\", os.date())\n-- \u83b7\u53d6UTC\u65f6\u95f4\u5b57\u7b26\u4e32\nlog.info(\"UTC\u65f6\u95f4\u5b57\u7b26\u4e32\", os.date(\"!%c\"))\n-- \u683c\u5f0f\u5316\u672c\u5730\u65f6\u95f4\u5b57\u7b26\u4e32\nlog.info(\"\u672c\u5730\u65f6\u95f4\u5b57\u7b26\u4e32\", os.date(\"%Y-%m-%d %H:%M:%S\"))\n-- \u683c\u5f0f\u5316UTC\u65f6\u95f4\u5b57\u7b26\u4e32\nlog.info(\"UTC\u65f6\u95f4\u5b57\u7b26\u4e32\", os.date(\"!%Y-%m-%d %H:%M:%S\"))\n-- \u683c\u5f0f\u5316\u65f6\u95f4\u5b57\u7b26\u4e32\nlog.info(\"\u81ea\u5b9a\u4e49\u65f6\u95f4\u7684\u5b57\u7b26\u4e32\", os.date(\"!%Y-%m-%d %H:%M:%S\", os.time({year=2000, mon=1, day=1, hour=0, min=0, sec=0})))\n\n-- \u83b7\u53d6\u672c\u5730\u65f6\u95f4\u7684table\nlog.info(\"\u672c\u5730\u65f6\u95f4\u5b57\u7b26\u4e32\", json.encode(os.date(\"*t\")))\n-- \u83b7\u53d6UTC\u65f6\u95f4\u7684table\nlog.info(\"UTC\u65f6\u95f4\u5b57\u7b26\u4e32\", json.encode(os.date(\"!*t\")))\n", "prefix": "os.date"}, "os.difftime": {"body": "os.difftime(${1:timeA},${2:timeB})", "description": "os.difftime(timeA, timeB) - \u65f6\u95f4\u5dee\u503c\n\u4f20\u5165\u503c\uff1a\nint \u65f6\u95f4A,\u6570\u503c\u7c7b\u578b\nint \u65f6\u95f4B,\u6570\u503c\u7c7b\u578b\n\u8fd4\u56de\u503c\uff1a\nint \u65f6\u95f4\u5dee\u503c\n", "prefix": "os.difftime"}, "os.execute": {"body": "os.execute(${0:...})", "description": "os.execute ([command])", "prefix": "os.execute"}, "os.exit": {"body": "os.exit(${0:...})", "description": "os.exit ([code])", "prefix": "os.exit"}, "os.getenv": {"body": "os.getenv(${0:...})", "description": "os.getenv (varname)", "prefix": "os.getenv"}, "os.remove": {"body": "os.remove(${1:path})", "description": "os.remove(path) - \u79fb\u9664\u6587\u4ef6\n\u4f20\u5165\u503c\uff1a\nstring \u5f85\u79fb\u9664\u7684\u6587\u4ef6\u5b8c\u6574\u8def\u5f84\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5176\u4ed6\u60c5\u51b5\u8fd4\u56denil\nstring \u5931\u8d25\u65f6\u8fd4\u56de\u539f\u56e0\u5b57\u7b26\u4e32\n\u4f8b\u5b50\uff1a\n-- \u5220\u9664\u6839\u76ee\u5f55\u4e0b\u7684\u67d0\u4e2a\u6587\u4ef6\nos.remove(\"/1.txt\")\n-- \u6ce8\u610f, \u7ebf\u5237\u65f6\u7684\u6587\u4ef6, \u4e00\u822c\u5728 /luadb \u76ee\u5f55, \u8fd9\u4e2a\u76ee\u5f55\u4e0b\u7684\u6587\u4ef6\u662f\u53ea\u8bfb\u7684\n-- \u4e5f\u5c31\u662f\u65e0\u6cd5\u6267\u884c os.remove(\"/luadb/xxx.bin\")\n", "prefix": "os.remove"}, "os.rename": {"body": "os.rename(${1:old_path},${2:new_path})", "description": "os.rename(old_path, new_path) - \u6587\u4ef6\u91cd\u547d\u540d\n\u4f20\u5165\u503c\uff1a\nstring \u6e90\u6587\u4ef6\u5b8c\u6574\u8def\u5f84\nstring \u76ee\u6807\u6587\u4ef6\u5b8c\u6574\u8def\u5f84\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5176\u4ed6\u60c5\u51b5\u8fd4\u56denil\nstring \u5931\u8d25\u65f6\u8fd4\u56de\u539f\u56e0\u5b57\u7b26\u4e32\n\u4f8b\u5b50\uff1a\n-- \u6ce8\u610f, \u53ea\u6709\u5728\u76f8\u540c\u6587\u4ef6\u7cfb\u7edf\u4e0b\u7684\u6587\u4ef6\u53ef\u4ee5\u91cd\u547d\u540d\n-- \u4f8b\u5982:\nos.rename(\"/1.txt\", \"/2.txt\")\n-- \u4e0d\u540c\u6587\u4ef6\u7cfb\u7edf, \u6216\u8005\u6e90\u6587\u4ef6\u7cfb\u7edf\u662f\u53ea\u8bfb\u7684, \u5219\u65e0\u6cd5\u6267\u884c\n--os.rename(\"/luadb/1.txt\", \"/luadb/2.txt\")\n--os.rename(\"/luadb/1.txt\", \"/2.txt\")\n", "prefix": "os.rename"}, "os.setlocale": {"body": "os.setlocale(${0:...})", "description": "os.setlocale (locale [, category])", "prefix": "os.setlocale"}, "os.time": {"body": "os.time(${1:mytime})", "description": "os.time(mytime) - \u65f6\u95f4\u6233\u51fd\u6570\n\u4f20\u5165\u503c\uff1a\ntable \u65e5\u671f\u65f6\u95f4\u7684table\nreturn \u65f6\u95f4\u6233\n\u4f8b\u5b50\uff1a\n-- \u6ce8\u610f\u6ce8\u610f, \u8fd9\u4e2a\u51fd\u6570\u8fd4\u56de\u7684\u662fUTC\u65f6\u95f4\u6233\n-- \u65f6\u95f4\u6233, \u4f46lua\u4e0b\u7684\u7cbe\u5ea6\u53ea\u80fd\u5230\u79d2\nlog.info(\"UTC\u65f6\u95f4\u6233\", os.time())\nlog.info(\"\u81ea\u5b9a\u4e49\u65f6\u95f4\u6233\", os.time({year=2000, mon=1, day=1, hour=0, min=0, sec=0}))\n", "prefix": "os.time"}, "os.tmpname": {"body": "os.tmpname(${0:...})", "description": "os.tmpname ()", "prefix": "os.tmpname"}, "package.config": {"body": "package.config(${0:...})", "description": "package.config", "prefix": "package.config"}, "package.cpath": {"body": "package.cpath(${0:...})", "description": "package.cpath", "prefix": "package.cpath"}, "package.loaded": {"body": "package.loaded(${0:...})", "description": "package.loaded", "prefix": "package.loaded"}, "package.loaders": {"body": "package.loaders(${0:...})", "description": "package.loaders", "prefix": "package.loaders"}, "package.loadlib": {"body": "package.loadlib(${0:...})", "description": "package.loadlib (libname, funcname)", "prefix": "package.loadlib"}, "package.path": {"body": "package.path(${0:...})", "description": "package.path", "prefix": "package.path"}, "package.preload": {"body": "package.preload(${0:...})", "description": "package.preload", "prefix": "package.preload"}, "package.searchers": {"body": "package.searchers(${0:...})", "description": "package.searchers", "prefix": "package.searchers"}, "package.searchpath": {"body": "package.searchpath(${0:...})", "description": "package.searchpath (name, path [, sep [, rep]])", "prefix": "package.searchpath"}, "package.seeall": {"body": "package.seeall(${0:...})", "description": "package.seeall (module)", "prefix": "package.seeall"}, "pairs": {"body": "pairs(${0:...})", "description": "pairs (t)", "prefix": "pairs"}, "pcall": {"body": "pcall(${0:...})", "description": "pcall (f, arg1, ...)", "prefix": "pcall"}, "print": {"body": "print(${1:...})", "description": "print(...)", "prefix": "print"}, "require": {"body": "require\"${1:module}\"", "description": "require()", "prefix": "require"}, "ret": {"body": "return ${1:...}", "description": "return ...", "prefix": "ret"}, "select": {"body": "select(${1:index}, ${2:...})", "description": "select (index, \u00b7\u00b7\u00b7)", "prefix": "select"}, "setfenv": {"body": "setfenv(${0:...})", "description": "setfenv (f, table)", "prefix": "setfenv"}, "setmetatable": {"body": "setmetatable(${1:table}, ${2:metatable})", "description": "setmetatable (table, metatable)", "prefix": "setmetatable"}, "tonumber": {"body": "tonumber(${1:e}${2:[, base]})", "description": "tonumber (e [, base])", "prefix": "tonumber"}, "tostring": {"body": "tostring(${1:v})", "description": "tostring (v)", "prefix": "tostring"}, "type": {"body": "type(${1:v})", "description": "type (v)", "prefix": "type"}, "unpack": {"body": "unpack(${0:...})", "description": "unpack (list [, i [, j]])", "prefix": "unpack"}, "xpcall": {"body": "xpcall(${0:...})", "description": "xpcall (f, err)", "prefix": "xpcall"}, "sys.publish(...)": {"body": "sys.publish(${1:...})", "description": "\u53d1\u5e03\u5185\u90e8\u6d88\u606f\uff0c\u5b58\u50a8\u5728\u5185\u90e8\u6d88\u606f\u961f\u5217\u4e2d\r\n\u8fd4\u56de\u503c\uff1a\r\n\u65e0\r\n\u4f8b\u5b50\uff1a\r\npublish(\"NET_STATUS_IND\")\r\n", "prefix": "sys.publish(...)"}, "sys.restart(r)": {"body": "sys.restart(${1:r})", "description": "\u8f6f\u4ef6\u91cd\u542f\r\n\u8fd4\u56de\u503c\uff1a\r\n\u65e0\r\n\u4f8b\u5b50\uff1a\r\nsys.restart('\u7a0b\u5e8f\u8d85\u65f6\u8f6f\u4ef6\u91cd\u542f')\r\n", "prefix": "sys.restart(r)"}, "sys.run()": {"body": "sys.run()", "description": "run()\u4ece\u5e95\u5c42\u83b7\u53d6core\u6d88\u606f\u5e76\u53ca\u65f6\u5904\u7406\u76f8\u5173\u6d88\u606f\uff0c\u67e5\u8be2\u5b9a\u65f6\u5668\u5e76\u8c03\u5ea6\u5404\u6ce8\u518c\u6210\u529f\u7684\u4efb\u52a1\u7ebf\u7a0b\u8fd0\u884c\u548c\u6302\u8d77\r\n\u8fd4\u56de\u503c\uff1a\r\n\u65e0\r\n\u4f8b\u5b50\uff1a\r\nsys.run()\r\n", "prefix": "sys.run()"}, "sys.setRollBack(flag, secs)": {"body": "sys.setRollBack(${1:flag},${2: secs})", "description": "\u8bbe\u7f6e\u201clua\u811a\u672c\u8fd0\u884c\u51fa\u9519\u65f6\uff0c\u662f\u5426\u56de\u9000\u539f\u59cb\u70e7\u5199\u7248\u672c\u201d\u7684\u529f\u80fd\u5f00\u5173\u3002\u5982\u679c\u6ca1\u6709\u8c03\u7528\u6b64\u63a5\u53e3\u8bbe\u7f6e\uff0c\u9ed8\u8ba4\u56de\u6eda\r\n\u8fd4\u56de\u503c\uff1a\r\nnil\r\n\u4f8b\u5b50\uff1a\r\nsys.setRollBack(true)\r\nsys.setRollBack(false)\r\n", "prefix": "sys.setRollBack(flag, secs)"}, "sys.subscribe(id, callback)": {"body": "sys.subscribe(${1:id},${2: callback})", "description": "\u8ba2\u9605\u6d88\u606f\r\n\u8fd4\u56de\u503c\uff1a\r\n\u65e0\r\n\u4f8b\u5b50\uff1a\r\nsubscribe(\"NET_STATUS_IND\", callback)\r\n", "prefix": "sys.subscribe(id, callback)"}, "sys.taskInit(fun, ...)": {"body": "sys.taskInit(${1:fun},${2: ...})", "description": "\u521b\u5efa\u4e00\u4e2a\u4efb\u52a1\u7ebf\u7a0b,\u5728\u6a21\u5757\u6700\u672b\u884c\u8c03\u7528\u8be5\u51fd\u6570\u5e76\u6ce8\u518c\u6a21\u5757\u4e2d\u7684\u4efb\u52a1\u51fd\u6570\uff0cmain.lua\u5bfc\u5165\u8be5\u6a21\u5757\u5373\u53ef\r\n\u8fd4\u56de\u503c\uff1a\r\nco \u8fd4\u56de\u8be5\u4efb\u52a1\u7684\u7ebf\u7a0b\u53f7\r\n\u4f8b\u5b50\uff1a\r\nsys.taskInit(task1,'a','b')\r\n", "prefix": "sys.taskInit(fun, ...)"}, "sys.timerIsActive(val, ...)": {"body": "sys.timerIsActive(${1:val},${2: ...})", "description": "\u5224\u65ad\u67d0\u4e2a\u5b9a\u65f6\u5668\u662f\u5426\u5904\u4e8e\u5f00\u542f\u72b6\u6001\r\n\u8fd4\u56de\u503c\uff1a\r\nnumber \u5f00\u542f\u72b6\u6001\u8fd4\u56detrue\uff0c\u5426\u5219nil", "prefix": "sys.timerIsActive(val, ...)"}, "sys.timerLoopStart(fnc, ms, ...)": {"body": "sys.timerLoopStart(${1:fnc},${2: ms},${3: ...})", "description": "\u5f00\u542f\u4e00\u4e2a\u5faa\u73af\u5b9a\u65f6\u5668\r\n\u8fd4\u56de\u503c\uff1a\r\nnumber \u5b9a\u65f6\u5668ID\uff0c\u5982\u679c\u5931\u8d25\uff0c\u8fd4\u56denil", "prefix": "sys.timerLoopStart(fnc, ms, ...)"}, "sys.timerStart(fnc, ms, ...)": {"body": "sys.timerStart(${1:fnc},${2: ms},${3: ...})", "description": "\u5f00\u542f\u4e00\u4e2a\u5b9a\u65f6\u5668\r\n\u8fd4\u56de\u503c\uff1a\r\nnumber \u5b9a\u65f6\u5668ID\uff0c\u5982\u679c\u5931\u8d25\uff0c\u8fd4\u56denil", "prefix": "sys.timerStart(fnc, ms, ...)"}, "sys.timerStop(val, ...)": {"body": "sys.timerStop(${1:val},${2: ...})", "description": "\u5173\u95ed\u5b9a\u65f6\u5668\r\n\u8fd4\u56de\u503c\uff1a\r\n\u65e0\r\n\u4f8b\u5b50\uff1a\r\ntimerStop(1)\r\n", "prefix": "sys.timerStop(val, ...)"}, "sys.timerStopAll(fnc)": {"body": "sys.timerStopAll(${1:fnc})", "description": "\u5173\u95ed\u540c\u4e00\u56de\u8c03\u51fd\u6570\u7684\u6240\u6709\u5b9a\u65f6\u5668\r\n\u8fd4\u56de\u503c\uff1a\r\n\u65e0\r\n\u4f8b\u5b50\uff1a\r\ntimerStopAll(cbFnc)\r\n", "prefix": "sys.timerStopAll(fnc)"}, "sys.unsubscribe(id, callback)": {"body": "sys.unsubscribe(${1:id},${2: callback})", "description": "\u53d6\u6d88\u8ba2\u9605\u6d88\u606f\r\n\u8fd4\u56de\u503c\uff1a\r\n\u65e0\r\n\u4f8b\u5b50\uff1a\r\nunsubscribe(\"NET_STATUS_IND\", callback)\r\n", "prefix": "sys.unsubscribe(id, callback)"}, "sys.wait(ms)": {"body": "sys.wait(${1:ms})", "description": "Task\u4efb\u52a1\u5ef6\u65f6\u51fd\u6570\uff0c\u53ea\u80fd\u7528\u4e8e\u4efb\u52a1\u51fd\u6570\u4e2d\r\n\u8fd4\u56de\u503c\uff1a\r\n\u5b9a\u65f6\u7ed3\u675f\u8fd4\u56denil,\u88ab\u5176\u4ed6\u7ebf\u7a0b\u5524\u8d77\u8fd4\u56de\u8c03\u7528\u7ebf\u7a0b\u4f20\u5165\u7684\u53c2\u6570\r\n\u4f8b\u5b50\uff1a\r\nsys.wait(30)\r\n", "prefix": "sys.wait(ms)"}, "sys.waitUntil(id, ms)": {"body": "sys.waitUntil(${1:id},${2: ms})", "description": "Task\u4efb\u52a1\u7684\u6761\u4ef6\u7b49\u5f85\u51fd\u6570\uff08\u5305\u62ec\u4e8b\u4ef6\u6d88\u606f\u548c\u5b9a\u65f6\u5668\u6d88\u606f\u7b49\u6761\u4ef6\uff09\uff0c\u53ea\u80fd\u7528\u4e8e\u4efb\u52a1\u51fd\u6570\u4e2d\u3002\r\n\u8fd4\u56de\u503c\uff1a\r\nresult \u63a5\u6536\u5230\u6d88\u606f\u8fd4\u56detrue\uff0c\u8d85\u65f6\u8fd4\u56defalse\r\n\u4f8b\u5b50\uff1a\r\nresult, data = sys.waitUntil(\"SIM_IND\", 120000)\r\n", "prefix": "sys.waitUntil(id, ms)"}, "sys.waitUntilExt(id, ms)": {"body": "sys.waitUntilExt(${1:id},${2: ms})", "description": "Task\u4efb\u52a1\u7684\u6761\u4ef6\u7b49\u5f85\u51fd\u6570\u6269\u5c55\uff08\u5305\u62ec\u4e8b\u4ef6\u6d88\u606f\u548c\u5b9a\u65f6\u5668\u6d88\u606f\u7b49\u6761\u4ef6\uff09\uff0c\u53ea\u80fd\u7528\u4e8e\u4efb\u52a1\u51fd\u6570\u4e2d\u3002\r\n\u8fd4\u56de\u503c\uff1a\r\nmessage \u63a5\u6536\u5230\u6d88\u606f\u8fd4\u56demessage\uff0c\u8d85\u65f6\u8fd4\u56defalse\r\n\u4f8b\u5b50\uff1a\r\nresult, data = sys.waitUntilExt(\"SIM_IND\", 120000)\r\n", "prefix": "sys.waitUntilExt(id, ms)"}, "table.concat(t,s)": {"body": "table.concat(${1:t},${2: s})", "description": "\u8868\u8fde\u63a5\r\n\u8fd4\u56de\u503c\uff1a\r\n \u5b57\u7b26\u4e32\r\n\u4f8b\u5b50\uff1a\r\nfruits = {\"banana\",\"orange\",\"apple\"}\r\n-- \u8fd4\u56de table \u8fde\u63a5\u540e\u7684\u5b57\u7b26\u4e32\r\nprint(\"\u8fde\u63a5\u540e\u7684\u5b57\u7b26\u4e32 \",table.concat(fruits))\r\n--\u8fde\u63a5\u540e\u7684\u5b57\u7b26\u4e32 bananaorangeapple\r\n\r\n-- \u6307\u5b9a\u8fde\u63a5\u5b57\u7b26\r\nprint(\"\u8fde\u63a5\u540e\u7684\u5b57\u7b26\u4e32 \",table.concat(fruits,\", \"))\r\n--\u8fde\u63a5\u540e\u7684\u5b57\u7b26\u4e32 banana, orange, apple\r\n\r\n-- \u6307\u5b9a\u7d22\u5f15\u6765\u8fde\u63a5 table\r\nprint(\"\u8fde\u63a5\u540e\u7684\u5b57\u7b26\u4e32 \",table.concat(fruits,\", \", 2,3))\r\n--\u8fde\u63a5\u540e\u7684\u5b57\u7b26\u4e32 orange, apple\r\n", "prefix": "table.concat()"}, "table.gsort(t, f)": {"body": "table.gsort(${1:t},${2: f})", "description": "\u8fd4\u56de\u4e00\u4e2a\u8fed\u4ee3\u5668\u51fd\u6570,\u6bcf\u6b21\u8c03\u7528\u51fd\u6570\u90fd\u4f1a\u8fd4\u56dehash\u8868\u7684\u6392\u5e8f\u540e\u7684\u952e\u503c\u5bf9\r\n\u8fd4\u56de\u503c\uff1a\r\nfunction.\r\n\u4f8b\u5b50\uff1a\r\ntest = {a=1,f=9,d=2,c=8,b=5}\r\nfor name,line in pairsByKeys(test) do print(name,line) end\r\n", "prefix": "table.gsort(t, f)"}, "table.insert(t,d)": {"body": "table.insert(${1:t},${2: d})", "description": "\u6dfb\u52a0table\u53c2\u6570\r\n\u8fd4\u56de\u503c\uff1a\r\n table\r\n\u4f8b\u5b50\uff1a\r\nfruits = {\"banana\",\"orange\",\"apple\"}\r\n\r\n-- \u5728\u672b\u5c3e\u63d2\u5165\r\ntable.insert(fruits,\"mango\")\r\nprint(\"\u7d22\u5f15\u4e3a 4 \u7684\u5143\u7d20\u4e3a \",fruits[4])\r\n--\u7d22\u5f15\u4e3a 4 \u7684\u5143\u7d20\u4e3a mango\r\n\r\n-- \u5728\u7d22\u5f15\u4e3a 2 \u7684\u952e\u5904\u63d2\u5165\r\ntable.insert(fruits,2,\"grapes\")\r\nprint(\"\u7d22\u5f15\u4e3a 2 \u7684\u5143\u7d20\u4e3a \",fruits[2])\r\n--\u7d22\u5f15\u4e3a 2 \u7684\u5143\u7d20\u4e3a grapes\r\n\r\nprint(\"\u6700\u540e\u4e00\u4e2a\u5143\u7d20\u4e3a \",fruits[5])\r\n--\u6700\u540e\u4e00\u4e2a\u5143\u7d20\u4e3a mango\r\n", "prefix": "table.insert()"}, "table.remove(t,i)": {"body": "table.remove(${1:t},${2: i})", "description": "\u79fb\u9664table\u53c2\u6570\r\n\u8fd4\u56de\u503c\uff1a\r\n table", "prefix": "table.remove()"}, "string.byte()": {"body": "string.byte()", "description": "\u63a5\u6536\u63a7\u5236\u5b57\u7b26\uff0c\u8fd4\u56deASCII\u7801\r\n\u8fd4\u56de\u503c\uff1a\r\n ASCII\u7801\r\n\u4f8b\u5b50\uff1a\r\nstring.byte(\"ABCD\") --65\r\nstring.byte(\"ABCD\",4) --68\r\n", "prefix": "string.byte()"}, "string.char()": {"body": "string.char()", "description": "\u63a5\u6536ASCII\u7801\uff0c\u8fd4\u56de\u5bf9\u5e94\u7684\u63a7\u5236\u5b57\u7b26\r\n\u8fd4\u56de\u503c\uff1a\r\n \u5b57\u7b26\r\n\u4f8b\u5b50\uff1a\r\nstring.char(97,98,99,100) --abcd\r\n", "prefix": "string.char()"}, "string.find()": {"body": "string.find()", "description": "\u67e5\u627e\u7b2c\u4e00\u4e2a\u5b57\u7b26\u4e32\u00a0s\u00a0\u4e2d\u5339\u914d\u5230\u7684\u00a0pattern\r\n\u8fd4\u56de\u503c\uff1a\r\n \u8fd4\u56de\u5339\u914d\u5b57\u7b26\u5177\u4f53\u4f4d\u7f6e\u3002\u4e0d\u5b58\u5728\u5219\u8fd4\u56de nil\r\n\u4f8b\u5b50\uff1a\r\nstring.find(\"Hello Lua user\", \"Lua\", 1) --7 9\r\n", "prefix": "string.find()"}, "string.format()": {"body": "string.format()", "description": "\u683c\u5f0f\u5316\u5b57\u7b26\u4e32\r\n\u8fd4\u56de\u503c\uff1a\r\n \u5b57\u7b26\u4e32\r\n\u4f8b\u5b50\uff1a\r\nstring.format(\"the value is:%d\",4) --the value is:4\r\n", "prefix": "string.format()"}, "string.gsub()": {"body": "string.gsub()", "description": "\u5b57\u7b26\u4e32\u66ff\u6362", "prefix": "string.gsub()"}, "string.len()": {"body": "string.len()", "description": "\u8ba1\u7b97\u5b57\u7b26\u4e32\u957f\u5ea6\r\n\u8fd4\u56de\u503c\uff1a\r\n \u5b57\u7b26\u4e32\u957f\u5ea6\r\n\u4f8b\u5b50\uff1a\r\nstring.len(\"abc\") --3\r\n", "prefix": "string.len()"}, "string.lower()": {"body": "string.lower()", "description": "\u5b57\u7b26\u4e32\u5168\u90e8\u8f6c\u4e3a\u5c0f\u5199\u5b57\u6bcd\r\n\u8fd4\u56de\u503c\uff1a\r\n \u5c0f\u5199\u5b57\u6bcd\u5b57\u7b26\u4e32", "prefix": "string.lower()"}, "string.rep()": {"body": "string.rep()", "description": "\u5b57\u7b26\u4e32\u62f7\u8d1d\r\n\u8fd4\u56de\u503c\uff1a\r\n \u5b57\u7b26\u4e32\r\n\u4f8b\u5b50\uff1a\r\nstring.rep(\"abcd\",2) --abcdabcd\r\n", "prefix": "string.rep()"}, "string.reverse()": {"body": "string.reverse()", "description": "\u5b57\u7b26\u4e32\u53cd\u8f6c\r\n\u8fd4\u56de\u503c\uff1a\r\n \u53cd\u8f6c\u540e\u7684\u5b57\u7b26\u4e32\r\n\u4f8b\u5b50\uff1a\r\nstring.reverse(\"Luat\") --tauL\r\n", "prefix": "string.reverse()"}, "string.split(str, delimiter)": {"body": "string.split(${1:str},${2: delimiter})", "description": "\u6309\u7167\u6307\u5b9a\u5206\u9694\u7b26\u5206\u5272\u5b57\u7b26\u4e32\r\n\u8fd4\u56de\u503c\uff1a\r\n\u5206\u5272\u540e\u7684\u5b57\u7b26\u4e32\u5217\u8868\r\n\u4f8b\u5b50\uff1a\r\n\"123,456,789\":split(',') -> {'123','456','789'}\r\n", "prefix": "string.split(str, delimiter)"}, "string.upper()": {"body": "string.upper()", "description": "\u5b57\u7b26\u4e32\u5168\u90e8\u8f6c\u4e3a\u5927\u5199\u5b57\u6bcd\r\n\u8fd4\u56de\u503c\uff1a\r\n \u5927\u5199\u5b57\u6bcd\u5b57\u7b26\u4e32", "prefix": "string.upper()"}, "adc.open": {"body": "adc.open(${1:id})", "description": "adc.open(id) - \u6253\u5f00adc\u901a\u9053\n\u4f20\u5165\u503c\uff1a\nint \u901a\u9053id,\u4e0e\u5177\u4f53\u8bbe\u5907\u6709\u5173,\u901a\u5e38\u4ece0\u5f00\u59cb\n\u8fd4\u56de\u503c\uff1a\nboolean \u6253\u5f00\u7ed3\u679c\n\u4f8b\u5b50\uff1a\n-- \u6253\u5f00adc\u901a\u90534,\u5e76\u8bfb\u53d6\nif adc.open(4) then\n log.info(\"adc\", adc.read(4)) -- \u8fd4\u56de\u503c\u67092\u4e2a, \u539f\u59cb\u503c\u548c\u8ba1\u7b97\u503c,\u901a\u5e38\u53ea\u9700\u8981\u540e\u8005\n log.info(\"adc\", adc.get(4)) -- \u8fd4\u56de\u503c\u67091\u4e2a, \u4ec5\u8ba1\u7b97\u503c\nend\nadc.close(4) -- \u82e5\u9700\u8981\u6301\u7eed\u8bfb\u53d6, \u5219\u4e0d\u9700\u8981close, \u529f\u8017\u4f1a\u9ad8\u4e00\u70b9.\n", "prefix": "adc.open"}, "adc.setRange": {"body": "adc.setRange(${1:range})", "description": "adc.setRange(range) - \u8bbe\u7f6eADC\u7684\u6d4b\u91cf\u8303\u56f4\uff0c\u6ce8\u610f\u8fd9\u4e2a\u548c\u5177\u4f53\u82af\u7247\u6709\u5173\uff0c\u76ee\u524d\u53ea\u652f\u6301air105/Air780E\u7cfb\u5217\n\u4f20\u5165\u503c\uff1a\nint range\u53c2\u6570,\u4e0e\u5177\u4f53\u8bbe\u5907\u6709\u5173,\u6bd4\u5982air105\u586badc.ADC_RANGE_1_8\u548cadc.ADC_RANGE_3_6\nreturn nil\n\u4f8b\u5b50\uff1a\n-- \u5173\u95edair105\u5185\u90e8\u5206\u538b\nadc.setRange(adc.ADC_RANGE_1_8)\n-- \u6253\u5f00air105\u5185\u90e8\u5206\u538b\nadc.setRange(adc.ADC_RANGE_3_6)\n\n\n-- EC618\u7cfb\u5217(Air780E\u7b49)\u652f\u63012\u79cd\nadc.setRange(adc.ADC_RANGE_1_2) -- \u5173\u95ed\u5206\u538b\nadc.setRange(adc.ADC_RANGE_3_8) -- \u542f\u7528\u5206\u538b\n", "prefix": "adc.setRange"}, "adc.read": {"body": "adc.read(${1:id})", "description": "adc.read(id) - \u8bfb\u53d6adc\u901a\u9053\n\u4f20\u5165\u503c\uff1a\nint \u901a\u9053id,\u4e0e\u5177\u4f53\u8bbe\u5907\u6709\u5173,\u901a\u5e38\u4ece0\u5f00\u59cb\n\u8fd4\u56de\u503c\uff1a\nint \u539f\u59cb\u503c,\u4e00\u822c\u6ca1\u7528,\u53ef\u4ee5\u76f4\u63a5\u629b\u5f03\nint \u4ece\u539f\u59cb\u503c\u6362\u7b97\u5f97\u51fa\u7684\u5b9e\u9645\u503c\uff0c\u901a\u5e38\u5355\u4f4d\u662fmV\n\u4f8b\u5b50\uff1a\n-- \u6253\u5f00adc\u901a\u90532,\u5e76\u8bfb\u53d6\nif adc.open(2) then\n -- \u8fd9\u91cc\u4f7f\u7528\u7684\u662fadc.read\u4f1a\u8fd4\u56de2\u4e2a\u503c, \u63a8\u8350\u8d70adc.get\u51fd\u6570,\u76f4\u63a5\u53d6\u5b9e\u9645\u503c\n log.info(\"adc\", adc.read(2))\nend\nadc.close(2)\n", "prefix": "adc.read"}, "adc.get": {"body": "adc.get(${1:id})", "description": "adc.get(id) - \u83b7\u53d6adc\u8ba1\u7b97\u503c\n\u4f20\u5165\u503c\uff1a\nint \u901a\u9053id,\u4e0e\u5177\u4f53\u8bbe\u5907\u6709\u5173,\u901a\u5e38\u4ece0\u5f00\u59cb\n\u8fd4\u56de\u503c\uff1a\nint \u5355\u4f4d\u901a\u5e38\u662fmV, \u90e8\u5206\u901a\u9053\u4f1a\u8fd4\u56de\u6e29\u5ea6\u503c,\u5355\u4f4d\u5343\u5206\u4e4b\u4e00\u6444\u6c0f\u5ea6. \u82e5\u8bfb\u53d6\u5931\u8d25,\u4f1a\u8fd4\u56de-1\n\u4f8b\u5b50\uff1a\n-- \u672cAPI \u5728 2022.10.01\u540e\u7f16\u8bd1\u7684\u56fa\u4ef6\u53ef\u7528\n-- \u6253\u5f00adc\u901a\u90532,\u5e76\u8bfb\u53d6\nif adc.open(2) then\n log.info(\"adc\", adc.get(2))\nend\nadc.close(2) -- \u6309\u9700\u5173\u95ed\n", "prefix": "adc.get"}, "adc.close": {"body": "adc.close(${1:id})", "description": "adc.close(id) - \u5173\u95edadc\u901a\u9053\n\u4f20\u5165\u503c\uff1a\nint \u901a\u9053id,\u4e0e\u5177\u4f53\u8bbe\u5907\u6709\u5173,\u901a\u5e38\u4ece0\u5f00\u59cb\n\u4f8b\u5b50\uff1a\n-- \u6253\u5f00adc\u901a\u90532,\u5e76\u8bfb\u53d6\nif adc.open(2) then\n log.info(\"adc\", adc.read(2))\nend\nadc.close(2)\n", "prefix": "adc.close"}, "audio.start": {"body": "audio.start(${1:id},${2:audio_format},${3:num_channels},${4:sample_rate},${5:bits_per_sample},${6:is_signed})", "description": "audio.start(id, audio_format, num_channels, sample_rate, bits_per_sample, is_signed) - \u542f\u52a8\u4e00\u4e2a\u591a\u5a92\u4f53\u901a\u9053\u51c6\u5907\u64ad\u653e\u97f3\u9891\n\u4f20\u5165\u503c\uff1a\nint \u591a\u5a92\u4f53\u64ad\u653e\u901a\u9053\u53f7\uff0c0\u6216\u80051\nint \u97f3\u9891\u683c\u5f0f\nint \u58f0\u97f3\u901a\u9053\u6570\nint \u91c7\u6837\u9891\u7387\nint \u91c7\u6837\u4f4d\u6570\nboolean \u662f\u5426\u6709\u7b26\u53f7\uff0c\u9ed8\u8ba4true\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529ftrue, \u5931\u8d25false\n\u4f8b\u5b50\uff1a\naudio.start(0, audio.PCM, 1, 16000, 16)\n", "prefix": "audio.start"}, "audio.write": {"body": "audio.write(${1:id},${2:data})", "description": "audio.write(id, data) - \u5f80\u4e00\u4e2a\u591a\u5a92\u4f53\u901a\u9053\u5199\u5165\u97f3\u9891\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nstring or zbuff \u97f3\u9891\u6570\u636e\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\naudio.write(0, \"xxxxxx\")\n", "prefix": "audio.write"}, "audio.stop": {"body": "audio.stop(${1:id})", "description": "audio.stop(id) - \u505c\u6b62\u6307\u5b9a\u7684\u591a\u5a92\u4f53\u901a\u9053\n\u4f20\u5165\u503c\uff1a\nint audio id,\u4f8b\u59820\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\naudio.stop(0)\n", "prefix": "audio.stop"}, "audio.pause": {"body": "audio.pause(${1:id},${2:pause})", "description": "audio.pause(id, pause) - \u6682\u505c/\u6062\u590d\u6307\u5b9a\u7684\u591a\u5a92\u4f53\u901a\u9053\n\u4f20\u5165\u503c\uff1a\nint audio id,\u4f8b\u59820\nboolean onoff true \u6682\u505c\uff0cfalse \u6062\u590d\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\naudio.pause(0, true) --\u6682\u505c\u901a\u90530\naudio.pause(0, false) --\u6062\u590d\u901a\u90530\n", "prefix": "audio.pause"}, "audio.on": {"body": "audio.on(${1:id},${2:event},${3:func})", "description": "audio.on(id, event, func) - \u6ce8\u518caudio\u64ad\u653e\u4e8b\u4ef6\u56de\u8c03\n\u4f20\u5165\u503c\uff1a\nint audio id, audio 0\u51990, audio 1\u51991\nfunction \u56de\u8c03\u65b9\u6cd5\uff0c\u56de\u8c03\u65f6\u4f20\u5165\u53c2\u6570\u4e3a1\u3001int \u901a\u9053ID 2\u3001int \u6d88\u606f\u503c\uff0c\u53ea\u6709audio.MORE_DATA\u548caudio.DONE\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\naudio.on(0, function(audio_id, msg)\n log.info(\"msg\", audio_id, msg)\nend)\n", "prefix": "audio.on"}, "audio.play": {"body": "audio.play(${1:id},${2:path},${3:errStop})", "description": "audio.play(id, path, errStop) - \u64ad\u653e\u6216\u8005\u505c\u6b62\u64ad\u653e\u4e00\u4e2a\u6587\u4ef6\uff0c\u64ad\u653e\u5b8c\u6210\u540e\uff0c\u4f1a\u56de\u8c03\u4e00\u4e2aaudio.DONE\u6d88\u606f\uff0c\u53ef\u4ee5\u7528pause\u6765\u6682\u505c\u6216\u8005\u6062\u590d\uff0c\u5176\u4ed6API\u4e0d\u53ef\u7528\u3002\u8003\u8651\u5230\u8bfbSD\u5361\u901f\u5ea6\u6bd4\u8f83\u6162\u800c\u62d6\u7d2fluavm\u8fdb\u7a0b\u7684\u901f\u5ea6\uff0c\u6240\u4ee5\u5c3d\u91cf\u4f7f\u7528\u672cAPI\n\u4f20\u5165\u503c\uff1a\nint \u97f3\u9891\u901a\u9053\nstring/table \u6587\u4ef6\u540d\uff0c\u5982\u679c\u4e3a\u7a7a\uff0c\u5219\u8868\u793a\u505c\u6b62\u64ad\u653e\uff0c\u5982\u679c\u662ftable\uff0c\u5219\u8868\u793a\u8fde\u7eed\u64ad\u653e\u591a\u4e2a\u6587\u4ef6\uff0c\u4e3b\u8981\u5e94\u7528\u4e8e\u4e91\u5587\u53ed\uff0c\u76ee\u524d\u53ea\u6709EC618\u652f\u6301\uff0c\u5e76\u4e14\u4f1a\u7528\u5230errStop\u53c2\u6570\nboolean \u662f\u5426\u5728\u6587\u4ef6\u89e3\u7801\u5931\u8d25\u540e\u505c\u6b62\u89e3\u7801\uff0c\u53ea\u6709\u5728\u8fde\u7eed\u64ad\u653e\u591a\u4e2a\u6587\u4ef6\u65f6\u624d\u6709\u7528\uff0c\u9ed8\u8ba4true\uff0c\u9047\u5230\u89e3\u7801\u9519\u8bef\u81ea\u52a8\u505c\u6b62\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\naudio.play(0, \"xxxxxx\")\t\t--\u5f00\u59cb\u64ad\u653e\u67d0\u4e2a\u6587\u4ef6\naudio.play(0)\t\t\t\t--\u505c\u6b62\u64ad\u653e\u67d0\u4e2a\u6587\u4ef6\n", "prefix": "audio.play"}, "audio.tts": {"body": "audio.tts(${1:id},${2:data})", "description": "audio.tts(id, data) - TTS\u64ad\u653e\u6216\u8005\u505c\u6b62\n\u4f20\u5165\u503c\uff1a\nint \u97f3\u9891\u901a\u9053\nstring/zbuff \u9700\u8981\u64ad\u653e\u7684\u5185\u5bb9\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n", "prefix": "audio.tts"}, "audio.playStop": {"body": "audio.playStop(${1:id})", "description": "audio.playStop(id) - \u505c\u6b62\u64ad\u653e\u6587\u4ef6\uff0c\u548caudio.play(id)\u662f\u4e00\u6837\u7684\u4f5c\u7528\n\u4f20\u5165\u503c\uff1a\nint audio id,\u4f8b\u59820\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\naudio.playStop(0)\n", "prefix": "audio.playStop"}, "audio.isEnd": {"body": "audio.isEnd(${1:id})", "description": "audio.isEnd(id) - \u68c0\u67e5\u5f53\u524d\u6587\u4ef6\u662f\u5426\u5df2\u7ecf\u64ad\u653e\u7ed3\u675f\n\u4f20\u5165\u503c\uff1a\nint \u97f3\u9891\u901a\u9053\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\naudio.isEnd(0)\n\n", "prefix": "audio.isEnd"}, "audio.getError": {"body": "audio.getError(${1:id})", "description": "audio.getError(id) - \u83b7\u53d6\u6700\u8fd1\u4e00\u6b21\u64ad\u653e\u7ed3\u679c\uff0c\u4e0d\u662f\u6240\u6709\u5e73\u53f0\u90fd\u652f\u6301\u7684\uff0c\u76ee\u524d\u53ea\u6709EC618\u652f\u6301\n\u4f20\u5165\u503c\uff1a\nint \u97f3\u9891\u901a\u9053\n\u8fd4\u56de\u503c\uff1a\nboolean \u662f\u5426\u5168\u90e8\u64ad\u653e\u6210\u529f\uff0ctrue\u6210\u529f\uff0cfalse\u6709\u6587\u4ef6\u64ad\u653e\u5931\u8d25\nboolean \u5982\u679c\u64ad\u653e\u5931\u8d25\uff0c\u662f\u5426\u662f\u7528\u6237\u505c\u6b62\uff0ctrue\u662f\uff0cfalse\u4e0d\u662f\nint \u7b2c\u51e0\u4e2a\u6587\u4ef6\u5931\u8d25\u4e86\uff0c\u4ece1\u5f00\u59cb\n\u4f8b\u5b50\uff1a\nlocal result, user_stop, file_no = audio.getError(0)\n", "prefix": "audio.getError"}, "audio.config": {"body": "audio.config(${1:id},${2:paPin},${3:onLevel},${4:dacDelay},${5:paDelay},${6:dacPin},${7:dacLevel},${8:dacTimeDelay})", "description": "audio.config(id, paPin, onLevel, dacDelay, paDelay, dacPin, dacLevel, dacTimeDelay) - \u914d\u7f6e\u4e00\u4e2a\u97f3\u9891\u901a\u9053\u7684\u7279\u6027\uff0c\u6bd4\u5982\u5b9e\u73b0\u81ea\u52a8\u63a7\u5236PA\u5f00\u5173\u3002\u6ce8\u610f\u8fd9\u4e2a\u4e0d\u662f\u5fc5\u987b\u7684\uff0c\u4e00\u822c\u5728\u8c03\u7528play\u7684\u65f6\u5019\u624d\u9700\u8981\u81ea\u52a8\u63a7\u5236\uff0c\u5176\u4ed6\u60c5\u51b5\u6bd4\u5982\u4f60\u624b\u52a8\u63a7\u5236\u64ad\u653e\u65f6\uff0c\u5c31\u53ef\u4ee5\u81ea\u5df1\u63a7\u5236PA\u5f00\u5173\n\u4f20\u5165\u503c\uff1a\nint \u97f3\u9891\u901a\u9053\nint PA\u63a7\u5236IO\nint PA\u6253\u5f00\u65f6\u7684\u7535\u5e73\nint \u5728DAC\u542f\u52a8\u524d\u63d2\u5165\u7684\u5197\u4f59\u65f6\u95f4\uff0c\u5355\u4f4d100ms\uff0c\u4e00\u822c\u7528\u4e8e\u5916\u90e8DAC\nint \u5728DAC\u542f\u52a8\u540e\uff0c\u5ef6\u8fdf\u591a\u957f\u65f6\u95f4\u6253\u5f00PA\uff0c\u5355\u4f4d1ms\nint \u5916\u90e8dac\u7535\u6e90\u63a7\u5236IO\uff0c\u5982\u679c\u4e0d\u586b\uff0c\u5219\u8868\u793a\u4f7f\u7528\u5e73\u53f0\u9ed8\u8ba4IO\uff0c\u6bd4\u5982Air780E\u4f7f\u7528DACEN\u811a\uff0cair105\u5219\u4e0d\u542f\u7528\nint \u5916\u90e8dac\u6253\u5f00\u65f6\uff0c\u7535\u6e90\u63a7\u5236IO\u7684\u7535\u5e73\uff0c\u9ed8\u8ba4\u62c9\u9ad8\nint \u97f3\u9891\u64ad\u653e\u5b8c\u6bd5\u65f6\uff0cPA\u4e0eDAC\u5173\u95ed\u7684\u65f6\u95f4\u95f4\u9694\uff0c\u5355\u4f4d1ms\uff0c\u9ed8\u8ba40ms\n\u4f8b\u5b50\uff1a\naudio.config(0, pin.PC0, 1)\t--PA\u63a7\u5236\u811a\u662fPC0\uff0c\u9ad8\u7535\u5e73\u6253\u5f00\uff0cair105\u7528\u8fd9\u4e2a\u914d\u7f6e\u5c31\u53ef\u4ee5\u7528\u4e86\naudio.config(0, 25, 1, 6, 200)\t--PA\u63a7\u5236\u811a\u662fGPIO25\uff0c\u9ad8\u7535\u5e73\u6253\u5f00\uff0cAir780E\u4e91\u5587\u53ed\u677f\u7528\u8fd9\u4e2a\u914d\u7f6e\u5c31\u53ef\u4ee5\u7528\u4e86\n", "prefix": "audio.config"}, "audio.vol": {"body": "audio.vol(${1:id},${2:value})", "description": "audio.vol(id, value) - \u914d\u7f6e\u4e00\u4e2a\u97f3\u9891\u901a\u9053\u7684\u97f3\u91cf\u8c03\u8282\uff0c\u76f4\u63a5\u5c06\u539f\u59cb\u6570\u636e\u653e\u5927\u6216\u8005\u7f29\u5c0f\uff0c\u4e0d\u662f\u6240\u6709\u5e73\u53f0\u90fd\u652f\u6301\uff0c\u5efa\u8bae\u5c3d\u91cf\u7528\u786c\u4ef6\u65b9\u6cd5\u53bb\u7f29\u653e\n\u4f20\u5165\u503c\uff1a\nint \u97f3\u9891\u901a\u9053\nint \u97f3\u91cf\uff0c\u767e\u5206\u6bd4\uff0c1%~1000%\uff0c\u9ed8\u8ba4100%\uff0c\u5c31\u662f\u4e0d\u8c03\u8282\n\u8fd4\u56de\u503c\uff1a\nint \u5f53\u524d\u97f3\u91cf\n\u4f8b\u5b50\uff1a\nlocal result = audio.vol(0, 90)\t--\u901a\u90530\u7684\u97f3\u91cf\u8c03\u8282\u523090%\uff0cresult\u5b58\u653e\u4e86\u8c03\u8282\u540e\u7684\u97f3\u91cf\u6c34\u5e73\uff0c\u6709\u53ef\u80fd\u4ecd\u7136\u662f100\n", "prefix": "audio.vol"}, "audio.setBus": {"body": "audio.setBus(${1:id},${2:bus_type})", "description": "audio.setBus(id, bus_type) - \u914d\u7f6e\u4e00\u4e2a\u97f3\u9891\u901a\u9053\u7684\u786c\u4ef6\u8f93\u51fa\u603b\u7ebf\uff0c\u53ea\u6709\u5bf9\u5e94soc\u8f6f\u786c\u4ef6\u5e73\u53f0\u652f\u6301\u624d\u8bbe\u7f6e\u5bf9\u5e94\u7c7b\u578b\n\u4f20\u5165\u503c\uff1a\nint \u97f3\u9891\u901a\u9053,\u4f8b\u59820\nint \u603b\u7ebf\u7c7b\u578b, \u4f8b\u5982 audio.BUS_SOFT_DAC\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\naudio.setBus(0, audio.BUS_SOFT_DAC)\t--\u901a\u90530\u7684\u786c\u4ef6\u8f93\u51fa\u901a\u9053\u8bbe\u7f6e\u4e3a\u8f6f\u4ef6DAC\naudio.setBus(0, audio.BUS_I2S)\t--\u901a\u90530\u7684\u786c\u4ef6\u8f93\u51fa\u901a\u9053\u8bbe\u7f6e\u4e3aI2S\n", "prefix": "audio.setBus"}, "audio.debug": {"body": "audio.debug(${1:on_off})", "description": "audio.debug(on_off) - \u914d\u7f6e\u8c03\u8bd5\u4fe1\u606f\u8f93\u51fa\n\u4f20\u5165\u503c\uff1a\nboolean true\u5f00 false\u5173\n", "prefix": "audio.debug"}, "bit64.to32": {"body": "bit64.to32(${1:data64bit})", "description": "bit64.to32(data64bit) - 64bit\u6570\u636e\u8f6c\u621032bit\u8f93\u51fa\n\u4f20\u5165\u503c\uff1a\nstring 9\u5b57\u8282\u6570\u636e\n\u8fd4\u56de\u503c\uff1a\nany \u6839\u636e64bit\u6570\u636e\u8f93\u51faint\u6216\u8005number\n", "prefix": "bit64.to32"}, "bit64.to64": {"body": "bit64.to64(${1:data32bit})", "description": "bit64.to64(data32bit) - 32bit\u6570\u636e\u8f6c\u621064bit\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nint/number 32bit\u6570\u636e\n\u8fd4\u56de\u503c\uff1a\nstring 9\u5b57\u8282\u6570\u636e\n", "prefix": "bit64.to64"}, "bit64.show": {"body": "bit64.show(${1:a},${2:type},${3:flag})", "description": "bit64.show(a,type,flag) - 64bit\u6570\u636e\u683c\u5f0f\u5316\u6253\u5370\u6210\u5b57\u7b26\u4e32\uff0c\u7528\u4e8e\u663e\u793a\u503c\n\u4f20\u5165\u503c\uff1a\nstring \u9700\u8981\u6253\u5370\u768464bit\u6570\u636e\nint \u8fdb\u5236\uff0c10=10\u8fdb\u5236\uff0c16=16\u8fdb\u5236\uff0c\u9ed8\u8ba410\uff0c\u53ea\u652f\u630110\u6216\u800516\nboolean \u6574\u5f62\u662f\u5426\u6309\u7167\u65e0\u7b26\u53f7\u65b9\u5f0f\u6253\u5370\uff0ctrue\u662f\uff0cfalse\u4e0d\u662f\uff0c\u9ed8\u8ba4false\uff0c\u6d6e\u70b9\u5ffd\u7565\n\u8fd4\u56de\u503c\uff1a\nstring \u53ef\u4ee5\u6253\u5370\u7684\u503c\n", "prefix": "bit64.show"}, "bit64.plus": {"body": "bit64.plus(${1:a},${2:b},${3:flag1},${4:flag2})", "description": "bit64.plus(a,b,flag1,flag2) - 64bit\u6570\u636e\u52a0,a+b,a\u548cb\u4e2d\u6709\u4e00\u4e2a\u4e3a\u6d6e\u70b9\uff0c\u5219\u6309\u7167\u6d6e\u70b9\u8fd0\u7b97\n\u4f20\u5165\u503c\uff1a\nstring a\nstring/int/number b\nboolean \u6574\u5f62\u8fd0\u7b97\u65f6\u662f\u5426\u6309\u7167\u65e0\u7b26\u53f7\u65b9\u5f0f\uff0ctrue\u662f\uff0cfalse\u4e0d\u662f\uff0c\u9ed8\u8ba4false\uff0c\u6d6e\u70b9\u8fd0\u7b97\u5ffd\u7565\nboolean \u6d6e\u70b9\u8fd0\u7b97\u7ed3\u679c\u662f\u5426\u8981\u5f3a\u5236\u8f6c\u6210\u6574\u6570\uff0ctrue\u662f\uff0cfalse\u4e0d\u662f\uff0c\u9ed8\u8ba4false\uff0c\u6574\u5f62\u8fd0\u7b97\u5ffd\u7565\n\u8fd4\u56de\u503c\uff1a\nstring 9\u5b57\u8282\u6570\u636e\n", "prefix": "bit64.plus"}, "bit64.minus": {"body": "bit64.minus(${1:a},${2:b},${3:flag1},${4:flag2})", "description": "bit64.minus(a,b,flag1,flag2) - 64bit\u6570\u636e\u51cf,a-b,a\u548cb\u4e2d\u6709\u4e00\u4e2a\u4e3a\u6d6e\u70b9\uff0c\u5219\u6309\u7167\u6d6e\u70b9\u8fd0\u7b97\n\u4f20\u5165\u503c\uff1a\nstring a\nstring/int/number b\nboolean \u6574\u5f62\u8fd0\u7b97\u65f6\u662f\u5426\u6309\u7167\u65e0\u7b26\u53f7\u65b9\u5f0f\uff0ctrue\u662f\uff0cfalse\u4e0d\u662f\uff0c\u9ed8\u8ba4false\uff0c\u6d6e\u70b9\u8fd0\u7b97\u5ffd\u7565\nboolean \u6d6e\u70b9\u8fd0\u7b97\u7ed3\u679c\u662f\u5426\u8981\u5f3a\u5236\u8f6c\u6210\u6574\u6570\uff0ctrue\u662f\uff0cfalse\u4e0d\u662f\uff0c\u9ed8\u8ba4false\uff0c\u6574\u5f62\u8fd0\u7b97\u5ffd\u7565\n\u8fd4\u56de\u503c\uff1a\nstring 9\u5b57\u8282\u6570\u636e\n", "prefix": "bit64.minus"}, "bit64.multi": {"body": "bit64.multi(${1:a},${2:b},${3:flag1},${4:flag2})", "description": "bit64.multi(a,b,flag1,flag2) - 64bit\u6570\u636e\u4e58,a*b,a\u548cb\u4e2d\u6709\u4e00\u4e2a\u4e3a\u6d6e\u70b9\uff0c\u5219\u6309\u7167\u6d6e\u70b9\u8fd0\u7b97\n\u4f20\u5165\u503c\uff1a\nstring a\nstring/int/number b\nboolean \u6574\u5f62\u8fd0\u7b97\u65f6\u662f\u5426\u6309\u7167\u65e0\u7b26\u53f7\u65b9\u5f0f\uff0ctrue\u662f\uff0cfalse\u4e0d\u662f\uff0c\u9ed8\u8ba4false\uff0c\u6d6e\u70b9\u8fd0\u7b97\u5ffd\u7565\nboolean \u6d6e\u70b9\u8fd0\u7b97\u7ed3\u679c\u662f\u5426\u8981\u5f3a\u5236\u8f6c\u6210\u6574\u6570\uff0ctrue\u662f\uff0cfalse\u4e0d\u662f\uff0c\u9ed8\u8ba4false\uff0c\u6574\u5f62\u8fd0\u7b97\u5ffd\u7565\n\u8fd4\u56de\u503c\uff1a\nstring 9\u5b57\u8282\u6570\u636e\n", "prefix": "bit64.multi"}, "bit64.pide": {"body": "bit64.pide(${1:a},${2:b},${3:flag1},${4:flag2})", "description": "bit64.pide(a,b,flag1,flag2) - 64bit\u6570\u636e\u9664,a/b,a\u548cb\u4e2d\u6709\u4e00\u4e2a\u4e3a\u6d6e\u70b9\uff0c\u5219\u6309\u7167\u6d6e\u70b9\u8fd0\u7b97\n\u4f20\u5165\u503c\uff1a\nstring a\nstring/int/number b\nboolean \u6574\u5f62\u8fd0\u7b97\u65f6\u662f\u5426\u6309\u7167\u65e0\u7b26\u53f7\u65b9\u5f0f\uff0ctrue\u662f\uff0cfalse\u4e0d\u662f\uff0c\u9ed8\u8ba4false\uff0c\u6d6e\u70b9\u8fd0\u7b97\u5ffd\u7565\nboolean \u6d6e\u70b9\u8fd0\u7b97\u7ed3\u679c\u662f\u5426\u8981\u5f3a\u5236\u8f6c\u6210\u6574\u6570\uff0ctrue\u662f\uff0cfalse\u4e0d\u662f\uff0c\u9ed8\u8ba4false\uff0c\u6574\u5f62\u8fd0\u7b97\u5ffd\u7565\n\u8fd4\u56de\u503c\uff1a\nstring 9\u5b57\u8282\u6570\u636e\n", "prefix": "bit64.pide"}, "bit64.shift": {"body": "bit64.shift(${1:a},${2:b},${3:flag})", "description": "bit64.shift(a,b,flag) - 64bit\u6570\u636e\u4f4d\u79fb a>>b \u6216\u8005 a<>\uff0c\u9ed8\u8ba4false\n\u8fd4\u56de\u503c\uff1a\nstring 9\u5b57\u8282\u6570\u636e\n", "prefix": "bit64.shift"}, "bit64.strtoll": {"body": "bit64.strtoll(${1:data},${2:base})", "description": "bit64.strtoll(data, base) - \u5c06\u5b57\u7b26\u4e32\u8f6c\u4e3aLongLong\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nstring \u5f85\u8f6c\u6362\u7684\u6570\u636e,\u5fc5\u987b\u5b58\u5728\nint \u8f6c\u6362\u8fdb\u5236, \u9ed8\u8ba410, \u53ef\u900916\u62168\n\u8fd4\u56de\u503c\uff1a\nstring 9\u5b57\u8282\u6570\u636e\n\u4f8b\u5b50\uff1a\n-- \u672cAPI\u4e8e 2023.10.27 \u6dfb\u52a0\n-- \u63d0\u9192, \u5982\u679c\u8f6c\u6362\u5931\u8d25, \u662f\u8fd4\u56de9\u4e2a\u5b57\u8282\u76840x00\nlocal data = bit64.strtoll(\"864040064024194\", 10)\nlog.info(\"data\", data:toHex())\nlog.info(\"data\", bit64.show(data))\n", "prefix": "bit64.strtoll"}, "camera.init": {"body": "camera.init(${1:InitReg})", "description": "camera.init(InitReg) - \u521d\u59cb\u5316\u6444\u50cf\u5934\n\u4f20\u5165\u503c\uff1a\ntable InitReg camera\u521d\u59cb\u5316\u547d\u4ee4 \u89c1demo/camera/AIR105 \u6ce8\u610f:\u5982\u626b\u7801 camera\u521d\u59cb\u5316\u65f6\u9700\u8bbe\u7f6e\u4e3a\u7070\u5ea6\u8f93\u51fa\n\u8fd4\u56de\u503c\uff1a\nint camera_id\n\u4f8b\u5b50\uff1a\ncamera_id = camera.init(GC032A_InitReg)--\u5c4f\u5e55\u8f93\u51fargb\u56fe\u50cf\n--\u521d\u59cb\u5316\u540e\u9700\u8981start\u624d\u5f00\u59cb\u8f93\u51fa/\u626b\u7801\ncamera.start(camera_id)--\u5f00\u59cb\u6307\u5b9a\u7684camera\n", "prefix": "camera.init"}, "camera.on": {"body": "camera.on(${1:id},${2:event},${3:func})", "description": "camera.on(id, event, func) - \u6ce8\u518c\u6444\u50cf\u5934\u4e8b\u4ef6\u56de\u8c03\n\u4f20\u5165\u503c\uff1a\nint camera id, camera 0\u51990, camera 1\u51991\nstring \u4e8b\u4ef6\u540d\u79f0\nfunction \u56de\u8c03\u65b9\u6cd5\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\ncamera.on(0, \"scanned\", function(id, str)\n--id int camera id\n--str \u591a\u79cd\u7c7b\u578b false \u6444\u50cf\u5934\u6ca1\u6709\u6b63\u5e38\u5de5\u4f5c\uff0ctrue \u62cd\u7167\u6a21\u5f0f\u4e0b\u62cd\u7167\u6210\u529f\u5e76\u4fdd\u5b58\u5b8c\u6210\uff0c int \u539f\u59cb\u6570\u636e\u6a21\u5f0f\u4e0b\u672c\u6b21\u8fd4\u56de\u7684\u6570\u636e\u5927\u5c0f\uff0c string \u626b\u7801\u6a21\u5f0f\u4e0b\u626b\u7801\u6210\u529f\u540e\u7684\u89e3\u7801\u503c\n print(id, str)\nend)\n", "prefix": "camera.on"}, "camera.start": {"body": "camera.start(${1:id})", "description": "camera.start(id) - \u5f00\u59cb\u6307\u5b9a\u7684camera\n\u4f20\u5165\u503c\uff1a\nint camera id,\u4f8b\u59820\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\ncamera.start(0)\n", "prefix": "camera.start"}, "camera.stop": {"body": "camera.stop(${1:id})", "description": "camera.stop(id) - \u505c\u6b62\u6307\u5b9a\u7684camera\n\u4f20\u5165\u503c\uff1a\nint camera id,\u4f8b\u59820\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\ncamera.stop(0)\n", "prefix": "camera.stop"}, "camera.close": {"body": "camera.close(${1:id})", "description": "camera.close(id) - \u5173\u95ed\u6307\u5b9a\u7684camera\uff0c\u91ca\u653e\u76f8\u5e94\u7684IO\u8d44\u6e90\n\u4f20\u5165\u503c\uff1a\nint camera id,\u4f8b\u59820\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\ncamera.close(0)\n", "prefix": "camera.close"}, "camera.capture": {"body": "camera.capture(${1:id},${2:save_path},${3:quality})", "description": "camera.capture(id, save_path, quality) - camera\u62cd\u7167\n\u4f20\u5165\u503c\uff1a\nint camera id,\u4f8b\u59820\nstring save_path,\u6587\u4ef6\u4fdd\u5b58\u8def\u5f84\uff0c\u7a7a\u5219\u5199\u5728\u4e0a\u6b21\u8def\u5f84\u91cc\uff0c\u9ed8\u8ba4\u662f/capture.jpg\nint quality, jpeg\u538b\u7f29\u8d28\u91cf\uff0c1\u6700\u5dee\uff0c\u5360\u7528\u7a7a\u95f4\u5c0f\uff0c3\u6700\u9ad8\uff0c\u5360\u7528\u7a7a\u95f4\u6700\u5927\u800c\u4e14\u8d39\u65f6\u95f4\uff0c\u9ed8\u8ba41\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\ncamera.capture(0)\n", "prefix": "camera.capture"}, "camera.video": {"body": "camera.video(${1:id},${2:w},${3:h},${4:out_path})", "description": "camera.video(id, w, h, out_path) - camera\u8f93\u51fa\u89c6\u9891\u6d41\u5230USB\n\u4f20\u5165\u503c\uff1a\nint camera id,\u4f8b\u59820\nint \u5bbd\u5ea6\nint \u9ad8\u5ea6\nint \u8f93\u51fa\u8def\u5f84\uff0c\u76ee\u524d\u53ea\u80fd\u7528\u865a\u62df\u4e32\u53e30\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\ncamera.video(0, 320, 240, uart.VUART_0)\n", "prefix": "camera.video"}, "camera.startRaw": {"body": "camera.startRaw(${1:id},${2:w},${3:h},${4:buff})", "description": "camera.startRaw(id, w, h, buff) - \u542f\u52a8camera\u8f93\u51fa\u539f\u59cb\u6570\u636e\u5230\u7528\u6237\u7684zbuff\u7f13\u5b58\u533a\uff0c\u8f93\u51fa1fps\u540e\u4f1a\u505c\u6b62\uff0c\u5e76\u901a\u8fc7camera.on\u8bbe\u7f6e\u7684\u56de\u8c03\u51fd\u6570\u56de\u8c03\u63a5\u6536\u5230\u7684\u957f\u5ea6\uff0c\u5982\u679c\u9700\u8981\u518d\u6b21\u8f93\u51fa\uff0c\u8bf7\u8c03\u7528camera.getRaw\n\u4f20\u5165\u503c\uff1a\nint camera id,\u4f8b\u59820\nint \u5bbd\u5ea6\nint \u9ad8\u5ea6\nzbuff \u7528\u4e8e\u5b58\u653e\u6570\u636e\u7684\u7f13\u5b58\u533a\uff0c\u5927\u5c0f\u5fc5\u987b\u4e0d\u5c0f\u4e8ew X h X 2 byte\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\ncamera.startRaw(0, 320, 240, buff)\n", "prefix": "camera.startRaw"}, "camera.getRaw": {"body": "camera.getRaw(${1:id})", "description": "camera.getRaw(id) - \u518d\u6b21\u542f\u52a8camera\u8f93\u51fa\u539f\u59cb\u6570\u636e\u5230\u7528\u6237\u7684zbuff\u7f13\u5b58\u533a\uff0c\u8f93\u51fa1fps\u540e\u4f1a\u505c\u6b62\uff0c\u5e76\u901a\u8fc7camera.on\u8bbe\u7f6e\u7684\u56de\u8c03\u51fd\u6570\u56de\u8c03\u63a5\u6536\u5230\u7684\u957f\u5ea6\uff0c\u5982\u679c\u9700\u8981\u518d\u6b21\u8f93\u51fa\uff0c\u8bf7\u7ee7\u7eed\u8c03\u7528\u672cAPI\n\u4f20\u5165\u503c\uff1a\nint camera id,\u4f8b\u59820\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\ncamera.getRaw(0)\n", "prefix": "camera.getRaw"}, "codec.create": {"body": "codec.create(${1:type},${2:isDecoder})", "description": "codec.create(type, isDecoder) - \u521b\u5efa\u7f16\u89e3\u7801\u7528\u7684codec\n\u4f20\u5165\u503c\uff1a\nint \u591a\u5a92\u4f53\u7c7b\u578b\uff0c\u76ee\u524d\u652f\u6301codec.MP3 codec.AMR\nboolean \u662f\u5426\u662f\u89e3\u7801\u5668\uff0ctrue\u89e3\u7801\u5668\uff0cfalse\u7f16\u7801\u5668\uff0c\u9ed8\u8ba4true\uff0c\u662f\u89e3\u7801\u5668\n\u8fd4\u56de\u503c\uff1a\nuserdata \u6210\u529f\u8fd4\u56de\u4e00\u4e2a\u6570\u636e\u7ed3\u6784,\u5426\u5219\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\n-- \u521b\u5efa\u89e3\u7801\u5668\nlocal decoder = codec.create(codec.MP3)--\u521b\u5efa\u4e00\u4e2amp3\u7684decoder\n-- \u521b\u5efa\u7f16\u7801\u5668\nlocal encoder = codec.create(codec.AMR, false)--\u521b\u5efa\u4e00\u4e2aamr\u7684encoder\n", "prefix": "codec.create"}, "codec.info": {"body": "codec.info(${1:decoder},${2:file_path})", "description": "codec.info(decoder, file_path) - decoder\u4ece\u6587\u4ef6\u4e2d\u89e3\u6790\u51fa\u97f3\u9891\u4fe1\u606f\n\u4f20\u5165\u503c\uff1a\nuserdata \u89e3\u7801\u7528\u7684decoder\nstring \u6587\u4ef6\u8def\u5f84\n\u8fd4\u56de\u503c\uff1a\nboolean \u662f\u5426\u6210\u529f\u89e3\u6790\nint \u97f3\u9891\u683c\u5f0f\nint \u58f0\u97f3\u901a\u9053\u6570\nint \u91c7\u6837\u9891\u7387\nint \u91c7\u6837\u4f4d\u6570\nboolean \u662f\u5426\u6709\u7b26\u53f7\n\u4f8b\u5b50\uff1a\nlocal result, audio_format, num_channels, sample_rate, bits_per_sample, is_signed= codec.info(coder, \"xxx\")\n", "prefix": "codec.info"}, "codec.data": {"body": "codec.data(${1:decoder},${2:out_buff})", "description": "codec.data(decoder, out_buff) - decoder\u4ece\u6587\u4ef6\u4e2d\u89e3\u6790\u51fa\u539f\u59cb\u97f3\u9891\u6570\u636e\uff0c\u6bd4\u5982\u4eceMP3\u6587\u4ef6\u91cc\u89e3\u6790\u51faPCM\u6570\u636e\uff0c\u8fd9\u91cc\u7684\u6587\u4ef6\u8def\u5f84\u5df2\u7ecf\u5728codec.info\u4f20\u5165\uff0c\u4e0d\u9700\u8981\u518d\u6b21\u4f20\u5165\n\u4f20\u5165\u503c\uff1a\nuserdata \u89e3\u7801\u7528\u7684decoder\nzbuff \u5b58\u653e\u8f93\u51fa\u6570\u636e\u7684zbuff\uff0c\u7a7a\u95f4\u5fc5\u987b\u4e0d\u5c11\u4e8e16KB\nint \u6700\u5c11\u89e3\u7801\u51fa\u591a\u5c11\u5b57\u8282\u7684\u97f3\u9891\u6570\u636e,\u9ed8\u8ba416384\n\u8fd4\u56de\u503c\uff1a\nboolean \u662f\u5426\u6210\u529f\u89e3\u6790\n\u4f8b\u5b50\uff1a\n-- \u5927\u5185\u5b58\u8bbe\u5907\nlocal buff = zbuff.create(16*1024)\nlocal result = codec.data(coder, buff)\n-- \u5c0f\u5185\u5b58\u8bbe\u5907\nlocal buff = zbuff.create(8*1024)\nlocal result = codec.data(coder, buff, 4096)\n", "prefix": "codec.data"}, "codec.encode": {"body": "codec.encode(${1:coder},${2:in_buffer},${3:out_buffer},${4:mode})", "description": "codec.encode(coder, in_buffer, out_buffer, mode) - \u7f16\u7801\u97f3\u9891\u6570\u636e\uff0c\u7531\u4e8eflash\u548cram\u7a7a\u95f4\u4e00\u822c\u6bd4\u8f83\u6709\u9650\uff0c\u76ee\u524d\u53ea\u652f\u6301amr-nb\u7f16\u7801\n\u4f20\u5165\u503c\uff1a\nuserdata codec.create\u521b\u5efa\u7684\u7f16\u89e3\u7801\u7528\u7684coder\nzbuff \u8f93\u5165\u7684\u6570\u636e,zbuff\u5f62\u5f0f,\u4ece0\u5230used\nzbuff \u8f93\u51fa\u7684\u6570\u636e,zbuff\u5f62\u5f0f,\u81ea\u52a8\u6dfb\u52a0\u5230buff\u7684\u5c3e\u90e8,\u5982\u679c\u7a7a\u95f4\u5927\u5c0f\u4e0d\u8db3,\u4f1a\u81ea\u52a8\u6269\u5c55,\u4f46\u662f\u4f1a\u989d\u5916\u6d88\u8017\u65f6\u95f4,\u751a\u81f3\u4f1a\u5931\u8d25,\u6240\u4ee5\u5c3d\u91cf\u4e00\u5f00\u59cb\u5c31\u7ed9\u8db3\u7a7a\u95f4\nint amr_nb\u7684\u7f16\u7801\u7b49\u7ea7 0~7(\u5373 MR475~MR122)\u503c\u8d8a\u5927\u6d88\u8017\u7684\u7a7a\u95f4\u8d8a\u591a,\u97f3\u8d28\u8d8a\u9ad8,\u9ed8\u8ba40\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue,\u5931\u8d25\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\ncodec.encode(amr_coder, inbuf, outbuf, codec.AMR_)\n", "prefix": "codec.encode"}, "codec.release": {"body": "codec.release(${1:coder})", "description": "codec.release(coder) - \u91ca\u653e\u7f16\u89e3\u7801\u7528\u7684coder\n\u4f20\u5165\u503c\uff1a\ncoder codec.create\u521b\u5efa\u7684\u7f16\u89e3\u7801\u7528\u7684coder\n\u4f8b\u5b50\uff1a\ncodec.release(coder)\n", "prefix": "codec.release"}, "coremark.run": {"body": "coremark.run()", "description": "coremark.run() - \u5f00\u59cb\u8dd1\u5206\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c,\u7ed3\u679c\u76f4\u63a5\u6253\u5370\u5728\u65e5\u5fd7\u4e2d\n\u4f8b\u5b50\uff1a\n-- \u5927\u90e8\u5206\u60c5\u51b5\u4e0b, \u8fd9\u4e2a\u5e93\u90fd\u4e0d\u4f1a\u5305\u542b\u5728\u6b63\u5f0f\u7248\u56fa\u4ef6\u91cc\n-- \u82e5\u9700\u4f7f\u7528,\u53ef\u4ee5\u53c2\u8003wiki\u6587\u6863\u81ea\u884c\u7f16\u8bd1\u6216\u4f7f\u7528\u4e91\u7f16\u8bd1\n-- https://wiki.luatos.com/develop/compile.html\n\n-- \u8dd1\u5206\u7684main.lua \u5e94\u79fb\u9664\u786c\u72d7\u4ee3\u7801, \u9632\u6b62\u91cd\u542f\n-- \u82e5\u8bbe\u5907\u652f\u6301\u81ea\u52a8\u4f11\u7720, \u5e94\u5173\u95ed\u4f11\u7720\u529f\u80fd\n-- \u82e5\u8bbe\u5907\u652f\u6301\u66f4\u591a\u7684\u9891\u7387\u8fd0\u884c, \u5efa\u8bae\u8bbe\u7f6e\u5230\u6700\u9ad8\u9891\u7387\n-- \u4f7f\u7528 -O3 \u6bd4 -O2 -Os \u7684\u5206\u6570\u66f4\u9ad8, \u901a\u5e38\u60c5\u51b5\u4e0b\n\n-- \u4f1a\u4e00\u76f4\u72ec\u5360\u7ebf\u7a0b\u5230\u6267\u884c\u5b8c\u6bd5, \u7136\u540e\u5728\u63a7\u5236\u53f0\u8f93\u51fa\u7ed3\u679c\ncoremark.run()\n\n-- \u8dd1\u5206\u56fe\u4e00\u4e50^_^\n\n", "prefix": "coremark.run"}, "crypto.md5": {"body": "crypto.md5(${1:str})", "description": "crypto.md5(str) - \u8ba1\u7b97md5\u503c\n\u4f20\u5165\u503c\uff1a\nstring \u9700\u8981\u8ba1\u7b97\u7684\u5b57\u7b26\u4e32\n\u8fd4\u56de\u503c\uff1a\nstring \u8ba1\u7b97\u5f97\u51fa\u7684md5\u503c\u7684hex\u5b57\u7b26\u4e32\n\u4f8b\u5b50\uff1a\n-- \u8ba1\u7b97\u5b57\u7b26\u4e32\"abc\"\u7684md5\nlog.info(\"md5\", crypto.md5(\"abc\"))\n", "prefix": "crypto.md5"}, "crypto.hmac_md5": {"body": "crypto.hmac_md5(${1:str},${2:key})", "description": "crypto.hmac_md5(str, key) - \u8ba1\u7b97hmac_md5\u503c\n\u4f20\u5165\u503c\uff1a\nstring \u9700\u8981\u8ba1\u7b97\u7684\u5b57\u7b26\u4e32\nstring \u5bc6\u94a5\n\u8fd4\u56de\u503c\uff1a\nstring \u8ba1\u7b97\u5f97\u51fa\u7684hmac_md5\u503c\u7684hex\u5b57\u7b26\u4e32\n\u4f8b\u5b50\uff1a\n-- \u8ba1\u7b97\u5b57\u7b26\u4e32\"abc\"\u7684hmac_md5\nlog.info(\"hmac_md5\", crypto.hmac_md5(\"abc\", \"1234567890\"))\n", "prefix": "crypto.hmac_md5"}, "crypto.sha1": {"body": "crypto.sha1(${1:str})", "description": "crypto.sha1(str) - \u8ba1\u7b97sha1\u503c\n\u4f20\u5165\u503c\uff1a\nstring \u9700\u8981\u8ba1\u7b97\u7684\u5b57\u7b26\u4e32\n\u8fd4\u56de\u503c\uff1a\nstring \u8ba1\u7b97\u5f97\u51fa\u7684sha1\u503c\u7684hex\u5b57\u7b26\u4e32\n\u4f8b\u5b50\uff1a\n-- \u8ba1\u7b97\u5b57\u7b26\u4e32\"abc\"\u7684sha1\nlog.info(\"sha1\", crypto.sha1(\"abc\"))\n", "prefix": "crypto.sha1"}, "crypto.hmac_sha1": {"body": "crypto.hmac_sha1(${1:str},${2:key})", "description": "crypto.hmac_sha1(str, key) - \u8ba1\u7b97hmac_sha1\u503c\n\u4f20\u5165\u503c\uff1a\nstring \u9700\u8981\u8ba1\u7b97\u7684\u5b57\u7b26\u4e32\nstring \u5bc6\u94a5\n\u8fd4\u56de\u503c\uff1a\nstring \u8ba1\u7b97\u5f97\u51fa\u7684hmac_sha1\u503c\u7684hex\u5b57\u7b26\u4e32\n\u4f8b\u5b50\uff1a\n-- \u8ba1\u7b97\u5b57\u7b26\u4e32\"abc\"\u7684hmac_sha1\nlog.info(\"hmac_sha1\", crypto.hmac_sha1(\"abc\", \"1234567890\"))\n", "prefix": "crypto.hmac_sha1"}, "crypto.sha256": {"body": "crypto.sha256(${1:str})", "description": "crypto.sha256(str) - \u8ba1\u7b97sha256\u503c\n\u4f20\u5165\u503c\uff1a\nstring \u9700\u8981\u8ba1\u7b97\u7684\u5b57\u7b26\u4e32\n\u8fd4\u56de\u503c\uff1a\nstring \u8ba1\u7b97\u5f97\u51fa\u7684sha256\u503c\u7684hex\u5b57\u7b26\u4e32\n\u4f8b\u5b50\uff1a\n-- \u8ba1\u7b97\u5b57\u7b26\u4e32\"abc\"\u7684sha256\nlog.info(\"sha256\", crypto.sha256(\"abc\"))\n", "prefix": "crypto.sha256"}, "crypto.hmac_sha256": {"body": "crypto.hmac_sha256(${1:str},${2:key})", "description": "crypto.hmac_sha256(str, key) - \u8ba1\u7b97hmac_sha256\u503c\n\u4f20\u5165\u503c\uff1a\nstring \u9700\u8981\u8ba1\u7b97\u7684\u5b57\u7b26\u4e32\nstring \u5bc6\u94a5\n\u8fd4\u56de\u503c\uff1a\nstring \u8ba1\u7b97\u5f97\u51fa\u7684hmac_sha256\u503c\u7684hex\u5b57\u7b26\u4e32\n\u4f8b\u5b50\uff1a\n-- \u8ba1\u7b97\u5b57\u7b26\u4e32\"abc\"\u7684hmac_sha256\nlog.info(\"hmac_sha256\", crypto.hmac_sha256(\"abc\", \"1234567890\"))\n", "prefix": "crypto.hmac_sha256"}, "crypto.sha512": {"body": "crypto.sha512(${1:str})", "description": "crypto.sha512(str) - \u8ba1\u7b97sha512\u503c\n\u4f20\u5165\u503c\uff1a\nstring \u9700\u8981\u8ba1\u7b97\u7684\u5b57\u7b26\u4e32\n\u8fd4\u56de\u503c\uff1a\nstring \u8ba1\u7b97\u5f97\u51fa\u7684sha512\u503c\u7684hex\u5b57\u7b26\u4e32\n\u4f8b\u5b50\uff1a\n-- \u8ba1\u7b97\u5b57\u7b26\u4e32\"abc\"\u7684sha512\nlog.info(\"sha512\", crypto.sha512(\"abc\"))\n", "prefix": "crypto.sha512"}, "crypto.hmac_sha512": {"body": "crypto.hmac_sha512(${1:str},${2:key})", "description": "crypto.hmac_sha512(str, key) - \u8ba1\u7b97hmac_sha512\u503c\n\u4f20\u5165\u503c\uff1a\nstring \u9700\u8981\u8ba1\u7b97\u7684\u5b57\u7b26\u4e32\nstring \u5bc6\u94a5\n\u8fd4\u56de\u503c\uff1a\nstring \u8ba1\u7b97\u5f97\u51fa\u7684hmac_sha512\u503c\u7684hex\u5b57\u7b26\u4e32\n\u4f8b\u5b50\uff1a\n-- \u8ba1\u7b97\u5b57\u7b26\u4e32\"abc\"\u7684hmac_sha512\nlog.info(\"hmac_sha512\", crypto.hmac_sha512(\"abc\", \"1234567890\"))\n", "prefix": "crypto.hmac_sha512"}, "crypto.cipher_encrypt": {"body": "crypto.cipher_encrypt(${1:type},${2:padding},${3:str},${4:key},${5:iv})", "description": "crypto.cipher_encrypt(type, padding, str, key, iv) - \u5bf9\u79f0\u52a0\u5bc6\n\u4f20\u5165\u503c\uff1a\nstring \u7b97\u6cd5\u540d\u79f0, \u4f8b\u5982 AES-128-ECB/AES-128-CBC, \u53ef\u67e5\u9605crypto.cipher_list()\nstring \u5bf9\u9f50\u65b9\u5f0f, \u652f\u6301PKCS7/ZERO/ONE_AND_ZEROS/ZEROS_AND_LEN/NONE\nstring \u9700\u8981\u52a0\u5bc6\u7684\u6570\u636e\nstring \u5bc6\u94a5,\u9700\u8981\u5bf9\u5e94\u7b97\u6cd5\u7684\u5bc6\u94a5\u957f\u5ea6\nstring IV\u503c, \u975eECB\u7b97\u6cd5\u9700\u8981\n\u8fd4\u56de\u503c\uff1a\nstring \u52a0\u5bc6\u540e\u7684\u5b57\u7b26\u4e32\n\u4f8b\u5b50\uff1a\n-- \u8ba1\u7b97AES\nlocal data = crypto.cipher_encrypt(\"AES-128-ECB\", \"PKCS7\", \"1234567890123456\", \"1234567890123456\")\nlocal data2 = crypto.cipher_encrypt(\"AES-128-CBC\", \"PKCS7\", \"1234567890123456\", \"1234567890123456\", \"1234567890666666\")\n", "prefix": "crypto.cipher_encrypt"}, "crypto.cipher_decrypt": {"body": "crypto.cipher_decrypt(${1:type},${2:padding},${3:str},${4:key},${5:iv})", "description": "crypto.cipher_decrypt(type, padding, str, key, iv) - \u5bf9\u79f0\u89e3\u5bc6\n\u4f20\u5165\u503c\uff1a\nstring \u7b97\u6cd5\u540d\u79f0, \u4f8b\u5982 AES-128-ECB/AES-128-CBC, \u53ef\u67e5\u9605crypto.cipher_list()\nstring \u5bf9\u9f50\u65b9\u5f0f, \u652f\u6301PKCS7/ZERO/ONE_AND_ZEROS/ZEROS_AND_LEN/NONE\nstring \u9700\u8981\u89e3\u5bc6\u7684\u6570\u636e\nstring \u5bc6\u94a5,\u9700\u8981\u5bf9\u5e94\u7b97\u6cd5\u7684\u5bc6\u94a5\u957f\u5ea6\nstring IV\u503c, \u975eECB\u7b97\u6cd5\u9700\u8981\n\u8fd4\u56de\u503c\uff1a\nstring \u89e3\u5bc6\u540e\u7684\u5b57\u7b26\u4e32\n\u4f8b\u5b50\uff1a\n-- \u7528AES\u52a0\u5bc6,\u7136\u540e\u7528AES\u89e3\u5bc6\nlocal data = crypto.cipher_encrypt(\"AES-128-ECB\", \"PKCS7\", \"1234567890123456\", \"1234567890123456\")\nlocal data2 = crypto.cipher_decrypt(\"AES-128-ECB\", \"PKCS7\", data, \"1234567890123456\")\n-- data\u7684hex\u4e3a 757CCD0CDC5C90EADBEEECF638DD0000\n-- data2\u7684\u503c\u4e3a 1234567890123456\n", "prefix": "crypto.cipher_decrypt"}, "crypto.crc16": {"body": "crypto.crc16(${1:method},${2:data},${3:poly},${4:initial},${5:finally},${6:inReversemoutReverse})", "description": "crypto.crc16(method, data, poly, initial, finally, inReversem outReverse) - \u8ba1\u7b97CRC16\n\u4f20\u5165\u503c\uff1a\nstring CRC16\u6a21\u5f0f\uff08\"IBM\",\"MAXIM\",\"USB\",\"MODBUS\",\"CCITT\",\"CCITT-FALSE\",\"X25\",\"XMODEM\",\"DNP\",\"USER-DEFINED\"\uff09\nstring \u5b57\u7b26\u4e32\nint poly\u503c\nint initial\u503c\nint finally\u503c\nint \u8f93\u5165\u53cd\u8f6c,1\u53cd\u8f6c,\u9ed8\u8ba40\u4e0d\u53cd\u8f6c\nint \u8f93\u5165\u53cd\u8f6c,1\u53cd\u8f6c,\u9ed8\u8ba40\u4e0d\u53cd\u8f6c\n\u8fd4\u56de\u503c\uff1a\nint \u5bf9\u5e94\u7684CRC16\u503c\n\u4f8b\u5b50\uff1a\n-- \u8ba1\u7b97CRC16\nlocal crc = crypto.crc16(\"\")\n", "prefix": "crypto.crc16"}, "crypto.crc16_modbus": {"body": "crypto.crc16_modbus(${1:data},${2:start})", "description": "crypto.crc16_modbus(data, start) - \u76f4\u63a5\u8ba1\u7b97modbus\u7684crc16\u503c\n\u4f20\u5165\u503c\uff1a\nstring \u6570\u636e\nint \u521d\u59cb\u5316\u503c,\u9ed8\u8ba40xFFFF\n\u8fd4\u56de\u503c\uff1a\nint \u5bf9\u5e94\u7684CRC16\u503c\n\u4f8b\u5b50\uff1a\n-- \u8ba1\u7b97CRC16 modbus\nlocal crc = crypto.crc16_modbus(data)\n-- 2023.11.06 \u65b0\u589e\u521d\u59cb\u503c\u8bbe\u7f6e\ncrc = crypto.crc16_modbus(data, 0xFFFF)\n", "prefix": "crypto.crc16_modbus"}, "crypto.crc32": {"body": "crypto.crc32(${1:data})", "description": "crypto.crc32(data) - \u8ba1\u7b97crc32\u503c\n\u4f20\u5165\u503c\uff1a\nstring \u6570\u636e\n\u8fd4\u56de\u503c\uff1a\nint \u5bf9\u5e94\u7684CRC32\u503c\n\u4f8b\u5b50\uff1a\n-- \u8ba1\u7b97CRC32\nlocal crc = crypto.crc32(data)\n", "prefix": "crypto.crc32"}, "crypto.crc8": {"body": "crypto.crc8(${1:data},${2:poly},${3:start},${4:revert})", "description": "crypto.crc8(data, poly, start, revert) - \u8ba1\u7b97crc8\u503c\n\u4f20\u5165\u503c\uff1a\nstring \u6570\u636e\nint crc\u591a\u9879\u5f0f\uff0c\u53ef\u9009\uff0c\u5982\u679c\u4e0d\u5199\uff0c\u5c06\u5ffd\u7565\u9664\u4e86\u6570\u636e\u5916\u6240\u6709\u53c2\u6570\nint crc\u521d\u59cb\u503c\uff0c\u53ef\u9009\uff0c\u9ed8\u8ba40\nboolean \u662f\u5426\u9700\u8981\u9006\u5e8f\u5904\u7406\uff0c\u9ed8\u8ba4\u5426\n\u8fd4\u56de\u503c\uff1a\nint \u5bf9\u5e94\u7684CRC8\u503c\n\u4f8b\u5b50\uff1a\n-- \u8ba1\u7b97CRC8\nlocal crc = crypto.crc8(data)\nlocal crc = crypto.crc8(data, 0x31, 0xff, false)\n", "prefix": "crypto.crc8"}, "crypto.crc7": {"body": "crypto.crc7(${1:data},${2:poly},${3:start})", "description": "crypto.crc7(data, poly, start) - \u8ba1\u7b97crc7\u503c\n\u4f20\u5165\u503c\uff1a\nstring \u6570\u636e\nint crc\u591a\u9879\u5f0f\uff0c\u53ef\u9009\uff0c\u9ed8\u8ba40xE5\nint crc\u521d\u59cb\u503c\uff0c\u53ef\u9009\uff0c\u9ed8\u8ba40x00\n\u8fd4\u56de\u503c\uff1a\nint \u5bf9\u5e94\u7684CRC7\u503c\n\u4f8b\u5b50\uff1a\n-- \u8ba1\u7b97CRC7, \u672cAPI\u4e8e2023.10.07\u65b0\u589e\nlocal crc = crypto.crc7(data)\nlocal crc = crypto.crc7(data, 0x31, 0xff)\n", "prefix": "crypto.crc7"}, "crypto.trng": {"body": "crypto.trng(${1:len})", "description": "crypto.trng(len) - \u751f\u6210\u771f\u968f\u673a\u6570\n\u4f20\u5165\u503c\uff1a\nint \u6570\u636e\u957f\u5ea6\n\u8fd4\u56de\u503c\uff1a\nstring \u6307\u5b9a\u968f\u673a\u6570\u5b57\u7b26\u4e32\n\u4f8b\u5b50\uff1a\n-- \u751f\u621032\u4f4d\u968f\u673a\u6570ir\nlocal r = crypto.trng(4)\nlocal _, ir = pack.unpack(r, \"I\")\n", "prefix": "crypto.trng"}, "crypto.totp": {"body": "crypto.totp(${1:secret},${2:time})", "description": "crypto.totp(secret,time) - \u8ba1\u7b97TOTP\u52a8\u6001\u5bc6\u7801\u7684\u7ed3\u679c\n\u4f20\u5165\u503c\uff1a\nstring \u7f51\u7ad9\u63d0\u4f9b\u7684\u5bc6\u94a5\uff08\u5c31\u662fBASE32\u7f16\u7801\u540e\u7684\u7ed3\u679c\uff09\nint \u53ef\u9009\uff0c\u65f6\u95f4\u6233\uff0c\u9ed8\u8ba4\u5f53\u524d\u65f6\u95f4\n\u8fd4\u56de\u503c\uff1a\nint \u8ba1\u7b97\u5f97\u51fa\u7684\u516d\u4f4d\u6570\u7ed3\u679c \u8ba1\u7b97\u5931\u8d25\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\n--\u4f7f\u7528\u5f53\u524d\u7cfb\u7edf\u65f6\u95f4\u8ba1\u7b97\nlocal otp = crypto.totp(\"asdfassdfasdfass\")\n", "prefix": "crypto.totp"}, "crypto.base64_encode": {"body": "crypto.base64_encode(${1:data})", "description": "crypto.base64_encode(data) - \u5c06\u6570\u636e\u8fdb\u884cbase64\u7f16\u7801\n\u4f20\u5165\u503c\uff1a\nstring \u5f85\u7f16\u7801\u7684\u6570\u636e\n\u8fd4\u56de\u503c\uff1a\nstring \u7f16\u7801\u540e\u7684\u6570\u636e\n\u4f8b\u5b50\uff1a\n-- \u672c\u51fd\u6570\u4e0e string.toBase64 \u662f\u540c\u4e00\u4e2a\nlocal data = \"123\"\nlocal bdata = crypto.base64_encode(data)\nlog.info(\"base64\", \"encode\", data, bdata)\ndata = crypto.base64_decode(data)\nlog.info(\"base64\", \"decode\", data, bdata)\n", "prefix": "crypto.base64_encode"}, "crypto.base64_decode": {"body": "crypto.base64_decode(${1:data})", "description": "crypto.base64_decode(data) - \u5c06\u6570\u636e\u8fdb\u884cbase64\u89e3\u7801\n\u4f20\u5165\u503c\uff1a\nstring \u5f85\u89e3\u7801\u7684\u6570\u636e\n\u8fd4\u56de\u503c\uff1a\nstring \u89e3\u7801\u540e\u7684\u6570\u636e\n\u4f8b\u5b50\uff1a\n-- \u672c\u51fd\u6570\u4e0e string.fromBase64 \u662f\u540c\u4e00\u4e2a\nlocal data = \"123\"\nlocal bdata = crypto.base64_encode(data)\nlog.info(\"base64\", \"encode\", data, bdata)\ndata = crypto.base64_decode(data)\nlog.info(\"base64\", \"decode\", data, bdata)\n", "prefix": "crypto.base64_decode"}, "crypto.cipher_list": {"body": "crypto.cipher_list()", "description": "crypto.cipher_list() - \u83b7\u53d6\u5f53\u524d\u56fa\u4ef6\u652f\u6301\u7684cipher\u5217\u8868\n\u8fd4\u56de\u503c\uff1a\ntable \u672c\u56fa\u4ef6\u652f\u6301\u7684cipher\u5217\u8868,\u5b57\u7b26\u4e32\u6570\u7ec4\n\u4f8b\u5b50\uff1a\n-- \u672cAPI\u4e8e2022.07.27\u6dfb\u52a0\nlocal ciphers = crypto.cipher_list()\nif ciphers then\n log.info(\"crypto\", \"ciphers list\", json.encode(ciphers))\nend\n", "prefix": "crypto.cipher_list"}, "crypto.cipher_suites": {"body": "crypto.cipher_suites()", "description": "crypto.cipher_suites() - \u83b7\u53d6\u5f53\u524d\u56fa\u4ef6\u652f\u6301\u7684cipher suites\u5217\u8868\n\u8fd4\u56de\u503c\uff1a\ntable \u672c\u56fa\u4ef6\u652f\u6301\u7684cipher suites\u5217\u8868,\u5b57\u7b26\u4e32\u6570\u7ec4\n\u4f8b\u5b50\uff1a\n-- \u672cAPI\u4e8e2022.11.16\u6dfb\u52a0\nlocal suites = crypto.cipher_suites()\nif suites then\n log.info(\"crypto\", \"ciphers suites\", json.encode(suites))\nend\n", "prefix": "crypto.cipher_suites"}, "crypto.md_file": {"body": "crypto.md_file(${1:tp},${2:path},${3:hmac})", "description": "crypto.md_file(tp, path, hmac) - \u8ba1\u7b97\u6587\u4ef6\u7684hash\u503c(md5/sha1/sha256\u53cahmac\u5f62\u5f0f)\n\u4f20\u5165\u503c\uff1a\nstring hash\u7c7b\u578b, \u5927\u5c0f\u5b57\u6bcd, \u4f8b\u5982 \"MD5\" \"SHA1\" \"SHA256\"\nstring \u6587\u4ef6\u8def\u5f84, \u4f8b\u5982 /luadb/logo.jpg\nstring hmac\u503c,\u53ef\u9009\n\u8fd4\u56de\u503c\uff1a\nstring HEX\u8fc7\u7684hash\u503c,\u82e5\u5931\u8d25\u4f1a\u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n\n-- \u65e0hmac\u7684hash\u503c\nlog.info(\"md5\", crypto.md_file(\"MD5\", \"/luadb/logo.jpg\"))\nlog.info(\"sha1\", crypto.md_file(\"SHA1\", \"/luadb/logo.jpg\"))\nlog.info(\"sha256\", crypto.md_file(\"SHA256\", \"/luadb/logo.jpg\"))\n\n-- \u5e26hmac\u7684hash\u503c\nlog.info(\"hmac_md5\", crypto.md_file(\"MD5\", \"/luadb/logo.jpg\", \"123456\"))\nlog.info(\"hmac_sha1\", crypto.md_file(\"SHA1\", \"/luadb/logo.jpg\", \"123456\"))\nlog.info(\"hmac_sha256\", crypto.md_file(\"SHA256\", \"/luadb/logo.jpg\", \"123456\"))\n", "prefix": "crypto.md_file"}, "crypto.md": {"body": "crypto.md(${1:tp},${2:data},${3:hmac})", "description": "crypto.md(tp, data, hmac) - \u8ba1\u7b97\u6570\u636e\u7684hash\u503c(md5/sha1/sha256\u53cahmac\u5f62\u5f0f)\n\u4f20\u5165\u503c\uff1a\nstring hash\u7c7b\u578b, \u5927\u5c0f\u5b57\u6bcd, \u4f8b\u5982 \"MD5\" \"SHA1\" \"SHA256\"\nstring \u5f85\u5904\u7406\u7684\u6570\u636e\nstring hmac\u503c,\u53ef\u9009\n\u8fd4\u56de\u503c\uff1a\nstring HEX\u8fc7\u7684hash\u503c,\u82e5\u5931\u8d25\u4f1a\u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n\n-- \u65e0hmac\u7684hash\u503c\nlog.info(\"md5\", crypto.md(\"MD5\", \"1234567890\"))\nlog.info(\"sha1\", crypto.md(\"SHA1\", \"1234567890\"))\nlog.info(\"sha256\", crypto.md(\"SHA256\", \"1234567890\"))\n\n-- \u5e26hmac\u7684hash\u503c\nlog.info(\"hmac_md5\", crypto.md(\"MD5\", \"1234567890\", \"123456\"))\nlog.info(\"hmac_sha1\", crypto.md(\"SHA1\", \"1234567890\", \"123456\"))\nlog.info(\"hmac_sha256\", crypto.md(\"SHA256\", \"1234567890\", \"123456\"))\n", "prefix": "crypto.md"}, "crypto.hash_init": {"body": "crypto.hash_init(${1:tp})", "description": "crypto.hash_init(tp) - \u521b\u5efa\u6d41\u5f0fhash\u7528\u7684stream\n\u4f20\u5165\u503c\uff1a\nstring hash\u7c7b\u578b, \u5927\u5199\u5b57\u6bcd, \u4f8b\u5982 \"MD5\" \"SHA1\" \"SHA256\"\nstring hmac\u503c\uff0c\u53ef\u9009\n\u8fd4\u56de\u503c\uff1a\nuserdata \u6210\u529f\u8fd4\u56de\u4e00\u4e2a\u6570\u636e\u7ed3\u6784,\u5426\u5219\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\n-- \u65e0hmac\u7684hash stream\nlocal md5_stream = crypto.hash_init(\"MD5\")\nlocal sha1_stream = crypto.hash_init(\"SHA1\")\nlocal sha256_stream = crypto.hash_init(\"SHA256\")\n\n-- \u5e26hmac\u7684hash stream\nlocal md5_stream = crypto.hash_init(\"MD5\", \"123456\")\nlocal sha1_stream = crypto.hash_init(\"SHA1\", \"123456\")\nlocal sha256_stream = crypto.hash_init(\"SHA256\", \"123456\")\n", "prefix": "crypto.hash_init"}, "crypto.hash_update": {"body": "crypto.hash_update(${1:stream},${2:data})", "description": "crypto.hash_update(stream, data) - \u6d41\u5f0fhash\u66f4\u65b0\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nuserdata crypto.hash_init()\u521b\u5efa\u7684stream, \u5fc5\u9009\nstring \u5f85\u8ba1\u7b97\u7684\u6570\u636e,\u5fc5\u9009\nreturn \u65e0\n\u4f8b\u5b50\uff1a\ncrypto.hash_update(stream, \"OK\")\n", "prefix": "crypto.hash_update"}, "crypto.hash_finish": {"body": "crypto.hash_finish(${1:stream})", "description": "crypto.hash_finish(stream) - \u83b7\u53d6\u6d41\u5f0fhash\u6821\u9a8c\u503c\u5e76\u91ca\u653e\u521b\u5efa\u7684stream\n\u4f20\u5165\u503c\uff1a\nuserdata crypto.hash_init()\u521b\u5efa\u7684stream,\u5fc5\u9009\n\u8fd4\u56de\u503c\uff1a\nstring \u6210\u529f\u8fd4\u56de\u8ba1\u7b97\u5f97\u51fa\u7684\u6d41\u5f0fhash\u503c\u7684hex\u5b57\u7b26\u4e32\uff0c\u5931\u8d25\u65e0\u8fd4\u56de\n\u4f8b\u5b50\uff1a\nlocal hashResult = crypto.hash_finish(stream)\n", "prefix": "crypto.hash_finish"}, "crypto.checksum": {"body": "crypto.checksum(${1:data},${2:mode})", "description": "crypto.checksum(data, mode) - \u8ba1\u7b97checksum\u6821\u9a8c\u548c\n\u4f20\u5165\u503c\uff1a\nstring \u5f85\u8ba1\u7b97\u7684\u6570\u636e,\u5fc5\u9009\nint \u6a21\u5f0f,\u7d2f\u52a0\u6a21\u5f0f, 0 - \u5f02\u6216, 1 - \u7d2f\u52a0, \u9ed8\u8ba4\u4e3a0\n\u8fd4\u56de\u503c\uff1a\nint checksum\u503c,\u6821\u9a8c\u548c\n\u4f8b\u5b50\uff1a\n-- \u672c\u51fd\u6570\u5728 2022.12.28 \u6dfb\u52a0\n-- \u5355\u7eaf\u8ba1\u7b97checksum\u503c\nlocal ck = crypto.checksum(\"OK\")\nlog.info(\"checksum\", \"ok\", string.format(\"%02X\", ck))\n-- \u7b2c\u4e8c\u4e2a\u53c2\u6570mode\u57282023.5.23\u65e5\u6dfb\u52a0\n", "prefix": "crypto.checksum"}, "ctiot.init": {"body": "ctiot.init()", "description": "ctiot.init() - \u521d\u59cb\u5316ctiot\uff0c\u5728\u590d\u4f4d\u5f00\u673a\u540e\u4f7f\u7528\u4e00\u6b21\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n", "prefix": "ctiot.init"}, "ctiot.param": {"body": "ctiot.param(${1:ip},${2:port},${3:lifetime})", "description": "ctiot.param(ip, port, lifetime) - \u8bbe\u7f6e\u548c\u8bfb\u53d6ctiot\u76f8\u5173\u53c2\u6570\uff0c\u6709\u53c2\u6570\u8f93\u5165\u5219\u8bbe\u7f6e\uff0c\u65e0\u8bba\u662f\u5426\u6709\u53c2\u6570\u8f93\u5165\uff0c\u5747\u8f93\u51fa\u5f53\u524d\u53c2\u6570\n\u4f20\u5165\u503c\uff1a\nstring \u670d\u52a1\u5668ip\nint \u670d\u52a1\u5668\u7aef\u53e3\nint \u751f\u547d\u5468\u671f,\u5355\u4f4d\u79d2\n\u8fd4\u56de\u503c\uff1a\nstring \u670d\u52a1\u5668ip\nint \u670d\u52a1\u5668\u7aef\u53e3\nint \u751f\u547d\u5468\u671f,\u5355\u4f4d\u79d2\n", "prefix": "ctiot.param"}, "ctiot.ep": {"body": "ctiot.ep(${1:val})", "description": "ctiot.ep(val) - \u8bbe\u7f6e\u548c\u8bfb\u53d6\u81ea\u5b9a\u4e49EP\n\u4f20\u5165\u503c\uff1a\nstring \u81ea\u5b9a\u4e49EP\u7684\u503c,\u9ed8\u8ba4\u662fimei,\u8bfb\u53d6\u7684\u8bdd\u4e0d\u8981\u586b\u8fd9\u4e2a\u53c2\u6570\n\u8fd4\u56de\u503c\uff1a\nstring \u5f53\u524dEP\u503c\n", "prefix": "ctiot.ep"}, "ctiot.connect": {"body": "ctiot.connect()", "description": "ctiot.connect() - \u8fde\u63a5CTIOT\uff0c\u5fc5\u987b\u5728\u8bbe\u7f6e\u5b8c\u53c2\u6570\u548c\u6a21\u5f0f\u540e\u518d\u4f7f\u7528\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n", "prefix": "ctiot.connect"}, "ctiot.disconnect": {"body": "ctiot.disconnect()", "description": "ctiot.disconnect() - \u65ad\u5f00ctiot\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n", "prefix": "ctiot.disconnect"}, "ctiot.write": {"body": "ctiot.write(${1:data},${2:mode},${3:seq})", "description": "ctiot.write(data, mode, seq) - \u53d1\u9001\u6570\u636e\u7ed9ctiot\n\u4f20\u5165\u503c\uff1a\nstring \u9700\u8981\u53d1\u9001\u7684\u6570\u636e\nint \u6a21\u5f0f, ctiot.CON/NON/NON_REL/CON_REL\nint \u5e8f\u53f7\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\nstring \u6210\u529f\u4e3anil,\u5931\u8d25\u8fd4\u56de\u9519\u8bef\u63cf\u8ff0\n", "prefix": "ctiot.write"}, "ctiot.ready": {"body": "ctiot.ready()", "description": "ctiot.ready() - \u662f\u5426\u5df2\u7ecf\u5c31\u7eea\n\u8fd4\u56de\u503c\uff1a\nint \u5df2\u7ecf\u5c31\u7eea\u8fd4\u56de0,\u5426\u5219\u8fd4\u56de\u9519\u8bef\u4ee3\u7801\n", "prefix": "ctiot.ready"}, "dac.open": {"body": "dac.open(${1:ch},${2:freq},${3:mode})", "description": "dac.open(ch, freq, mode) - \u6253\u5f00DAC\u901a\u9053,\u5e76\u914d\u7f6e\u53c2\u6570\n\u4f20\u5165\u503c\uff1a\nint \u901a\u9053\u7f16\u53f7,\u4f8b\u59820\nint \u8f93\u51fa\u9891\u7387,\u5355\u4f4dhz\nint \u6a21\u5f0f,\u9ed8\u8ba4\u4e3a0,\u9884\u7559\n\u8fd4\u56de\u503c\uff1a\ntrue \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\nint \u5e95\u5c42\u8fd4\u56de\u503c,\u8c03\u8bd5\u7528\n\u4f8b\u5b50\uff1a\nif dac.open(0, 44000) then\n log.info(\"dac\", \"dac ch0 is opened\")\nend\n\n", "prefix": "dac.open"}, "dac.write": {"body": "dac.write(${1:ch},${2:data})", "description": "dac.write(ch, data) - \u4ece\u6307\u5b9aDAC\u901a\u9053\u8f93\u51fa\u4e00\u6bb5\u6ce2\u5f62,\u6216\u8005\u5355\u4e2a\u503c\n\u4f20\u5165\u503c\uff1a\nint \u901a\u9053\u7f16\u53f7,\u4f8b\u59820\nstring \u82e5\u8f93\u51fa\u56fa\u5b9a\u503c,\u53ef\u4ee5\u586b\u6570\u503c, \u82e5\u8f93\u51fa\u6ce2\u5f62,\u586bstring\n\u8fd4\u56de\u503c\uff1a\ntrue \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\nint \u5e95\u5c42\u8fd4\u56de\u503c,\u8c03\u8bd5\u7528\n\u4f8b\u5b50\uff1a\nif dac.open(0, 44000) then\n log.info(\"dac\", \"dac ch0 is opened\")\n dac.write(0, string.fromHex(\"ABCDABCD\"))\nend\ndac.close(0)\n", "prefix": "dac.write"}, "dac.close": {"body": "dac.close(${1:ch})", "description": "dac.close(ch) - \u5173\u95edDAC\u901a\u9053\n\u4f20\u5165\u503c\uff1a\nint \u901a\u9053\u7f16\u53f7,\u4f8b\u59820\n\u8fd4\u56de\u503c\uff1a\ntrue \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\nint \u5e95\u5c42\u8fd4\u56de\u503c,\u8c03\u8bd5\u7528\n\u4f8b\u5b50\uff1a\nif dac.open(0, 44000) then\n log.info(\"dac\", \"dac ch0 is opened\")\n dac.write(0, string.fromHex(\"ABCDABCD\"))\nend\ndac.close(0)\n", "prefix": "dac.close"}, "disp.init": {"body": "disp.init(${1:conf})", "description": "disp.init(conf) - \u663e\u793a\u5c4f\u521d\u59cb\u5316,\u8bf7\u4f7f\u7528u8g2\u5e93\n\u4f20\u5165\u503c\uff1a\ntable conf \u914d\u7f6e\u4fe1\u606f\n\u8fd4\u56de\u503c\uff1a\nint \u6b63\u5e38\u521d\u59cb\u53161,\u5df2\u7ecf\u521d\u59cb\u5316\u8fc72,\u5185\u5b58\u4e0d\u591f3,\u521d\u59cb\u5316\u5931\u8d25\u8fd4\u56de4\n\u4f8b\u5b50\uff1a\n-- disp\u5e93\u7684\u6240\u6709API\u5747\u5df2\u5408\u5e76\u5230u8g2\u5e93\n-- disp\u5e93\u5df2\u7ecf\u6620\u5c04\u4e3au8g2\u5e93,\u6240\u6709API\u5747\u4ee3\u7406\u5230u8g2,\u8bf7\u67e5\u9605u8g2\u5e93\u7684API\n", "prefix": "disp.init"}, "eink.init": {"body": "eink.init(${1:tp},${2:args},${3:spi_device})", "description": "eink.init(tp, args,spi_device) - eink\u663e\u793a\u5c4f\u521d\u59cb\u5316\n\u4f20\u5165\u503c\uff1a\nnumber eink\u7c7b\u578b\uff0c\u5f53\u524d\u652f\u6301\uff1ahttps://wiki.luatos.com/api/eink.html#id1\ntable \u9644\u52a0\u53c2\u6570,\u4e0e\u5177\u4f53\u8bbe\u5907\u6709\u5173\uff1a
        pin_busy\uff08busy\uff09
        port\uff1aspi\u7aef\u53e3,\u4f8b\u59820,1,2...\u5982\u679c\u4e3adevice\u65b9\u5f0f\u5219\u4e3a\"device\"
        pin_dc\uff1aeink\u6570\u636e/\u547d\u4ee4\u9009\u62e9\u5f15\u811a
        pin_rst\uff1aeink\u590d\u4f4d\u5f15\u811a\nuserdata spi\u8bbe\u5907,\u5f53port = \"device\"\u65f6\u6709\u6548\n\u4f8b\u5b50\uff1a\n-- \u521d\u59cb\u5316spi0\u7684eink.MODEL_4in2bc) \u6ce8\u610f:eink\u521d\u59cb\u5316\u4e4b\u524d\u9700\u8981\u5148\u521d\u59cb\u5316spi\nspi_eink = spi.deviceSetup(0,20,0,0,8,20000000,spi.MSB,1,1)\nlog.info(\"eink.init\",\neink.init(eink.MODEL_4in2bc,{port = \"device\",pin_dc = 17, pin_pwr = 7,pin_rst = 19,direction = 2,w = 160,h = 80,xoffset = 1,yoffset = 26},spi_eink))\n", "prefix": "eink.init"}, "eink.setup": {"body": "eink.setup(${1:full},${2:spiid},${3:pin_busy},${4:pin_reset},${5:pin_dc},${6:pin_cs})", "description": "eink.setup(full, spiid, pin_busy, pin_reset, pin_dc, pin_cs) - \u521d\u59cb\u5316eink\n\u4f20\u5165\u503c\uff1a\nint \u5168\u5c4f\u5237\u65b00,\u5c40\u90e8\u5237\u65b01,\u9ed8\u8ba4\u662f\u5168\u5c4f\u5237\u65b0\nint \u6240\u5728\u7684spi,\u9ed8\u8ba4\u662f0\nint Busy \u5fd9\u4fe1\u53f7\u7ba1\u811a\nint Reset \u590d\u4f4d\u7ba1\u811a\nint DC \u6570\u636e\u547d\u4ee4\u9009\u62e9\u7ba1\u811a\nint CS \u4f7f\u80fd\u7ba1\u811a\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n", "prefix": "eink.setup"}, "eink.sleep": {"body": "eink.sleep()", "description": "eink.sleep() - \u8fdb\u5165\u4f11\u7720\u6a21\u5f0f\uff0c\u518d\u6b21\u4f7f\u7528\u65f6\u9700\u8981\u91cd\u65b0\u521d\u59cb\u5316\n", "prefix": "eink.sleep"}, "eink.clear": {"body": "eink.clear(${1:color},${2:force})", "description": "eink.clear(color, force) - \u6e05\u9664\u7ed8\u56fe\u7f13\u51b2\u533a\uff0c\u9ed8\u8ba4\u4e0d\u4f1a\u9a6c\u4e0a\u5237\u65b0\u5230\u8bbe\u5907\n\u4f20\u5165\u503c\uff1a\nnumber color \u53ef\u9009\uff0c\u9ed8\u8ba41\u3002\u5237\u5c4f\u989c\u8272\nbool force \u53ef\u9009\uff0c\u9ed8\u8ba4false\u3002\u5982\u679c\u4e3atrue\u5219\u9a6c\u4e0a\u6e05\u5c4f\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n", "prefix": "eink.clear"}, "eink.setWin": {"body": "eink.setWin(${1:width},${2:height},${3:rotate})", "description": "eink.setWin(width, height, rotate) - \u8bbe\u7f6e\u7a97\u53e3\n\u4f20\u5165\u503c\uff1a\nint width \u5bbd\u5ea6\nint height \u9ad8\u5ea6\nint rotate \u663e\u793a\u65b9\u5411,0/1/2/3, \u76f8\u5f53\u4e8e\u65cb\u8f6c0\u5ea6/90\u5ea6/180\u5ea6/270\u5ea6\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n", "prefix": "eink.setWin"}, "eink.getWin": {"body": "eink.getWin()", "description": "eink.getWin() - \u83b7\u53d6\u7a97\u53e3\u4fe1\u606f\n\u8fd4\u56de\u503c\uff1a\nint width \u5bbd\nint height \u9ad8\nint rotate \u65cb\u8f6c\u65b9\u5411\n", "prefix": "eink.getWin"}, "eink.setFont": {"body": "eink.setFont(${1:font})", "description": "eink.setFont(font) - \u8bbe\u7f6e\u5b57\u4f53\n\u4f20\u5165\u503c\uff1a\nuserdata \u5b57\u4f53\n\u4f8b\u5b50\uff1a\n-- \u8bbe\u7f6e\u4e3a\u5b57\u4f53,\u5bf9\u4e4b\u540e\u7684print\u6709\u6548\neink.setFont(eink.font_opposansm12_chinese)\n", "prefix": "eink.setFont"}, "eink.print": {"body": "eink.print(${1:x},${2:y},${3:str},${4:colored})", "description": "eink.print(x, y, str, colored) - \u7ed8\u5236\u5b57\u7b26\u4e32\n\u4f20\u5165\u503c\uff1a\nint x\u5750\u6807\nint y\u5750\u6807\nstring \u5b57\u7b26\u4e32\nint \u989c\u8272, \u53ef\u4ee5\u662f0\u6216\u80051, \u9ed8\u8ba4\u662f0\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n-- \u5148\u8bbe\u7f6e\u5b57\u4f53, \u7136\u540e\u5199\u5b57\n-- \u53ef\u7528\u5b57\u4f53\u53d6\u51b3\u4e8e\u5177\u4f53\u7684\u56fa\u4ef6, \u5982\u679c\u6ca1\u6709\u4f60\u60f3\u8981\u7684\u5927\u5c0f,\u53ef\u4ee5\u4e91\u7f16\u8bd1\u4e00\u4efd\u81ea\u5b9a\u4e49\u56fa\u4ef6\n-- font_opposansm8_chinese\n-- font_opposansm10_chinese\n-- font_opposansm12_chinese\n-- font_opposansm14_chinese\n-- font_opposansm16_chinese\neink.setFont(eink.font_opposansm12_chinese)\neink.print(10, 20, \"LuatOS\")\n", "prefix": "eink.print"}, "eink.show": {"body": "eink.show(${1:x},${2:y},${3:noClear})", "description": "eink.show(x, y, noClear) - \u5c06\u7f13\u51b2\u533a\u56fe\u50cf\u8f93\u51fa\u5230\u5c4f\u5e55\n\u4f20\u5165\u503c\uff1a\nint x \u8f93\u51fa\u7684x\u5750\u6807,\u9ed8\u8ba40\nint y \u8f93\u51fa\u7684y\u5750\u6807,\u9ed8\u8ba40\nbool \u53ef\u9009\uff0c\u9ed8\u8ba4false\u3002\u5982\u679c\u4e3atrue\u5219\u4e0d\u8fdb\u884c\u6e05\u5c4f\uff0c\u76f4\u63a5\u5237\u4e0a\u65b0\u5185\u5bb9\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n", "prefix": "eink.show"}, "eink.draw": {"body": "eink.draw(${1:buff},${2:buff2},${3:noclear})", "description": "eink.draw(buff, buff2, noclear) - \u76f4\u63a5\u8f93\u51fa\u6570\u636e\u5230\u5c4f\u5e55,\u652f\u6301\u53cc\u8272\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nuserdata zbuff\u6307\u9488\nuserdata zbuff\u6307\u9488\nbool \u53ef\u9009\uff0c\u9ed8\u8ba4false\u3002\u5982\u679c\u4e3atrue\u5219\u4e0d\u8fdb\u884c\u6e05\u5c4f\uff0c\u76f4\u63a5\u5237\u4e0a\u65b0\u5185\u5bb9\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n", "prefix": "eink.draw"}, "eink.line": {"body": "eink.line(${1:x},${2:y},${3:x2},${4:y2},${5:colored})", "description": "eink.line(x, y, x2, y2, colored) - \u7f13\u51b2\u533a\u7ed8\u5236\u7ebf\n\u4f20\u5165\u503c\uff1a\nint \u8d77\u70b9x\u5750\u6807\nint \u8d77\u70b9y\u5750\u6807\nint \u7ec8\u70b9x\u5750\u6807\nint \u7ec8\u70b9y\u5750\u6807\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\neink.line(0, 0, 10, 20, 0)\n", "prefix": "eink.line"}, "eink.rect": {"body": "eink.rect(${1:x},${2:y},${3:x2},${4:y2},${5:colored},${6:fill})", "description": "eink.rect(x, y, x2, y2, colored, fill) - \u7f13\u51b2\u533a\u7ed8\u5236\u77e9\u5f62\n\u4f20\u5165\u503c\uff1a\nint \u5de6\u4e0a\u9876\u70b9x\u5750\u6807\nint \u5de6\u4e0a\u9876\u70b9y\u5750\u6807\nint \u53f3\u4e0b\u9876\u70b9x\u5750\u6807\nint \u53f3\u4e0b\u9876\u70b9y\u5750\u6807\nint \u9ed8\u8ba4\u662f0\nint \u662f\u5426\u586b\u5145,\u9ed8\u8ba4\u662f0,\u4e0d\u586b\u5145\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\neink.rect(0, 0, 10, 20)\neink.rect(0, 0, 10, 20,0, 1) -- Filled\n", "prefix": "eink.rect"}, "eink.circle": {"body": "eink.circle(${1:x},${2:y},${3:radius},${4:colored},${5:fill})", "description": "eink.circle(x, y, radius, colored, fill) - \u7f13\u51b2\u533a\u7ed8\u5236\u5706\u5f62\n\u4f20\u5165\u503c\uff1a\nint \u5706\u5fc3x\u5750\u6807\nint \u5706\u5fc3y\u5750\u6807\nint \u534a\u5f84\nint \u9ed8\u8ba4\u662f0\nint \u662f\u5426\u586b\u5145,\u9ed8\u8ba4\u662f0,\u4e0d\u586b\u5145\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\neink.circle(0, 0, 10)\neink.circle(0, 0, 10, 1, 1) -- Filled\n", "prefix": "eink.circle"}, "eink.qrcode": {"body": "eink.qrcode(${1:x},${2:y},${3:str},${4:size})", "description": "eink.qrcode(x, y, str, size) - \u7f13\u51b2\u533a\u7ed8\u5236QRCode\n\u4f20\u5165\u503c\uff1a\nint x\u5750\u6807\nint y\u5750\u6807\nstring \u4e8c\u7ef4\u7801\u7684\u5185\u5bb9\nint \u663e\u793a\u5927\u5c0f (\u6ce8\u610f:\u4e8c\u7ef4\u7801\u751f\u6210\u5927\u5c0f\u4e0e\u8981\u663e\u793a\u5185\u5bb9\u548c\u7ea0\u9519\u7b49\u7ea7\u6709\u5173,\u751f\u6210\u7248\u672c\u4e3a1-40(\u5bf9\u5e94 21x21 - 177x177)\u7684\u4e0d\u5b9a\u5927\u5c0f,\u5982\u679c\u548c\u8bbe\u7f6e\u5927\u5c0f\u4e0d\u540c\u4f1a\u81ea\u52a8\u5728\u6307\u5b9a\u7684\u533a\u57df\u4e2d\u95f4\u663e\u793a\u4e8c\u7ef4\u7801,\u5982\u4e8c\u7ef4\u7801\u672a\u663e\u793a\u8bf7\u67e5\u770b\u65e5\u5fd7\u63d0\u793a)\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n", "prefix": "eink.qrcode"}, "eink.bat": {"body": "eink.bat(${1:x},${2:y},${3:bat})", "description": "eink.bat(x, y, bat) - \u7f13\u51b2\u533a\u7ed8\u5236\u7535\u6c60\n\u4f20\u5165\u503c\uff1a\nint x\u5750\u6807\nint y\u5750\u6807\nint \u7535\u6c60\u7535\u538b,\u5355\u4f4d\u6beb\u4f0f\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n", "prefix": "eink.bat"}, "eink.weather_icon": {"body": "eink.weather_icon(${1:x},${2:y},${3:code})", "description": "eink.weather_icon(x, y, code) - \u7f13\u51b2\u533a\u7ed8\u5236\u5929\u6c14\u56fe\u6807\n\u4f20\u5165\u503c\uff1a\nint x\u5750\u6807\nint y\u5750\u6807\nint \u5929\u6c14\u4ee3\u53f7\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n", "prefix": "eink.weather_icon"}, "eink.model": {"body": "eink.model(${1:m})", "description": "eink.model(m) - \u8bbe\u7f6e\u58a8\u6c34\u5c4f\u9a71\u52a8\u578b\u53f7\n\u4f20\u5165\u503c\uff1a\nint \u578b\u53f7\u540d\u79f0, \u4f8b\u5982 eink.model(eink.MODEL_1in54_V2)\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n", "prefix": "eink.model"}, "eink.drawXbm": {"body": "eink.drawXbm(${1:x},${2:y},${3:w},${4:h},${5:data})", "description": "eink.drawXbm(x, y, w, h, data) - \u7ed8\u5236\u4f4d\u56fe\n\u4f20\u5165\u503c\uff1a\nint X\u5750\u6807\nint y\u5750\u6807\nint \u4f4d\u56fe\u5bbd\nint \u4f4d\u56fe\u9ad8\nint \u4f4d\u56fe\u6570\u636e,\u6bcf\u4e00\u4f4d\u4ee3\u8868\u4e00\u4e2a\u50cf\u7d20\n\u4f8b\u5b50\uff1a\n-- \u53d6\u6a21\u4f7f\u7528PCtoLCD2002\u8f6f\u4ef6\u5373\u53ef\n-- \u5728(0,0)\u4e3a\u5de6\u4e0a\u89d2,\u7ed8\u5236 16x16 \"\u4eca\" \u7684\u4f4d\u56fe\neink.drawXbm(0, 0, 16,16, string.char(\n 0x80,0x00,0x80,0x00,0x40,0x01,0x20,0x02,0x10,0x04,0x48,0x08,0x84,0x10,0x83,0x60,\n 0x00,0x00,0xF8,0x0F,0x00,0x08,0x00,0x04,0x00,0x04,0x00,0x02,0x00,0x01,0x80,0x00\n))\n", "prefix": "eink.drawXbm"}, "eink.setCtx": {"body": "eink.setCtx(${1:index})", "description": "eink.setCtx(index) - \u5207\u6362\u989c\u8272\u753b\u677f, \u9002\u5408\u591a\u8272\u58a8\u6c34\u5c4f\n\u4f20\u5165\u503c\uff1a\nint \u989c\u8272\u7d22\u5f15, \u9ed1\u8272\u4e3a0, \u7ea2\u8272\u4e3a1\n\u4f8b\u5b50\uff1a\n-- \u4ec5\u9002\u5408\u591a\u8272\u58a8\u6c34\u5c4f, \u5bf9\u5355\u8272\u58a8\u6c34\u5c4f(\u53ea\u6709\u9ed1\u767d)\u7684\u65e0\u6548\neink.setCtx(1)\n-- \u5207\u6362\u540e, \u6240\u6709drawXXX\u90fd\u4f1a\u64cd\u4f5c\u5728\u6307\u5b9a\u989c\u8272\u7684\u753b\u677f\n", "prefix": "eink.setCtx"}, "eink.async": {"body": "eink.async(${1:index})", "description": "eink.async(index) - \u5f02\u6b65\u65b9\u5f0f\uff0c\u4f7f\u7528\u6b64\u65b9\u5f0f\u9700\u8981\u5148 require(\"sysplus\") \u4e4b\u540e eink.clear().wait() eink.show().wait()\u8fdb\u884c\u5237\u5c4f\n\u4f20\u5165\u503c\uff1a\nint 1 \u4f7f\u7528\u5f02\u6b65\n\u4f8b\u5b50\uff1a\n eink.async(1)\n spi_eink = spi.deviceSetup(spi_id,pin_cs,0,0,8,20*1000*1000,spi.MSB,1,1)\n eink.init(eink.MODEL_1in54,\n {port = \"device\",pin_dc = pin_dc, pin_busy = pin_busy,pin_rst = pin_reset},\n spi_eink)\n eink.setWin(200, 200, 0)\n sys.wait(100)\n log.info(\"e-paper 1.54\", \"Testing Go\")\n eink.print(30, 20, \"LuatOS-AIR780E\",0x00)\n eink.show().wait()\n log.info(\"e-paper 1.54\", \"Testing End\")\n", "prefix": "eink.async"}, "errDump.dump": {"body": "errDump.dump(${1:zbuff},${2:type},${3:isDelete})", "description": "errDump.dump(zbuff, type, isDelete) - \u624b\u52a8\u8bfb\u53d6\u5f02\u5e38\u65e5\u5fd7\uff0c\u4e3b\u8981\u7528\u4e8e\u7528\u6237\u5c06\u65e5\u5fd7\u53d1\u9001\u7ed9\u81ea\u5df1\u7684\u670d\u52a1\u5668\u800c\u4e0d\u662fIOT\u5e73\u53f0\uff0c\u5982\u679c\u5728errDump.config\u914d\u7f6e\u4e86\u5468\u671f\u4e0a\u4f20\uff0c\u5219\u4e0d\u80fd\u4f7f\u7528\u672c\u51fd\u6570\n\u4f20\u5165\u503c\uff1a\nzbuff \u65e5\u5fd7\u4fe1\u606f\u7f13\u5b58\uff0c\u5982\u679c\u4e3anil\u5c31\u4e0d\u4f1a\u8bfb\u51fa\uff0c\u4e00\u822c\u5f53\nint \u65e5\u5fd7\u7c7b\u578b\uff0c\u76ee\u524d\u53ea\u6709errDump.TYPE_SYS\u548cerrDump.TYPE_USR\nboolean \u662f\u5426\u5220\u9664\u65e5\u5fd7\n\u8fd4\u56de\u503c\uff1a\nboolean true\u8868\u793a\u672c\u6b21\u8bfb\u53d6\u524d\u5e76\u6ca1\u6709\u5199\u5165\u6570\u636e\uff0cfalse\u53cd\u4e4b\uff0c\u5728\u5220\u9664\u65e5\u5fd7\u524d\uff0c\u6700\u597d\u518d\u8bfb\u4e00\u4e0b\u786e\u4fdd\u6ca1\u6709\u65b0\u7684\u6570\u636e\u5199\u5165\u4e86\n\u4f8b\u5b50\uff1a\nlocal result = errDump.dump(buff, errDump.TYPE_SYS, false) --\u8bfb\u51fa\u7cfb\u7edf\u8bb0\u5f55\u7684\u5f02\u5e38\u65e5\u5fd7\nlocal result = errDump.dump(nil, errDump.TYPE_SYS, true) --\u6e05\u9664\u7cfb\u7edf\u8bb0\u5f55\u7684\u5f02\u5e38\u65e5\u5fd7\n", "prefix": "errDump.dump"}, "errDump.record": {"body": "errDump.record(${1:string})", "description": "errDump.record(string) - \u5199\u5165\u7528\u6237\u7684\u5f02\u5e38\u65e5\u5fd7\uff0c\u6ce8\u610f\u6700\u5927\u53ea\u67094KB\uff0c\u8d85\u8fc7\u90e8\u5206\u65b0\u7684\u8986\u76d6\u65e7\u7684\uff0c\u5f00\u542f\u81ea\u52a8\u4e0a\u4f20\u540e\u4f1a\u4e0a\u4f20\u5230\u5408\u5b99IOT\u5e73\u53f0\n\u4f20\u5165\u503c\uff1a\nstring \u65e5\u5fd7\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\nerrDump.record(\"socket long time no connect\") --\u8bb0\u5f55\u4e0b\"socket long time no connect\"\n", "prefix": "errDump.record"}, "errDump.config": {"body": "errDump.config(${1:enable},${2:period},${3:user_flag},${4:custom_id})", "description": "errDump.config(enable, period, user_flag, custom_id) - \u914d\u7f6e\u5173\u952e\u65e5\u5fd7\u4e0a\u4f20IOT\u5e73\u53f0\uff0c\u8fd9\u91cc\u7684\u65e5\u5fd7\u5305\u62ec\u5f15\u8d77luavm\u5f02\u5e38\u9000\u51fa\u7684\u65e5\u5fd7\u548c\u7528\u6237\u901a\u8fc7record\u5199\u5165\u7684\u65e5\u5fd7\uff0c\u7c7b\u4f3c\u4e8eair\u7684errDump\n\u4f20\u5165\u503c\uff1a\nboolean \u662f\u5426\u542f\u7528\u8bb0\u5f55\u529f\u80fd\uff0cfalse\u7684\u8bdd\u5c06\u4e0d\u4f1a\u8bb0\u5f55\u4efb\u4f55\u65e5\u5fd7\nint \u5b9a\u65f6\u4e0a\u4f20\u5468\u671f\uff0c\u5355\u4f4d\u79d2\uff0c\u9ed8\u8ba4600\u79d2\uff0c\u8fd9\u4e2a\u662f\u81ea\u52a8\u4e0a\u4f20\u65f6\u5019\u540e\u7684\u91cd\u8bd5\u65f6\u95f4\u65f6\u95f4\uff0c\u5728\u5f00\u673a\u540e\u6216\u8005\u6709record\u64cd\u4f5c\u540e\u4f1a\u5f88\u5feb\u5c1d\u8bd5\u4e0a\u4f20\u5230\u5408\u5b99IOT\u5e73\u53f0\u4e00\u6b21\uff0c\u5982\u679c\u4e3a0\uff0c\u5219\u4e0d\u4f1a\u4e0a\u4f20\uff0c\u7531\u7528\u6237dump\u540e\u81ea\u5df1\u4e0a\u4f20\u81ea\u5df1\u7684\u5e73\u53f0\nstring \u7528\u6237\u7684\u7279\u6b8a\u6807\u8bc6\uff0c\u53ef\u4ee5\u4e3a\u7a7a\nstring \u8bbe\u5907\u8bc6\u522b\u53f7, 4G\u8bbe\u5907\u9ed8\u8ba4\u662fimei,\u5176\u4ed6\u8bbe\u5907\u9ed8\u8ba4\u662fmcu.unique_id\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\nerrDump.config(true, 3600, \"12345678\")\t--\u4e00\u4e2a\u5c0f\u65f6\u5c1d\u8bd5\u4e0a\u6b21\u4e00\u6b21\uff0c\u4e0a\u4f20\u65f6\u4f1a\u5728imei\u540e\u9644\u52a0\u4e0a12345678\nerrDump.config(false)\t--\u5173\u95ed\u8bb0\u5f55\u529f\u80fd\uff0c\u4e0d\u518d\u4e0a\u4f20\nerrDump.config(true, 0)\t--\u8bb0\u5f55\uff0c\u4f46\u662f\u4e0d\u4f1a\u4e3b\u52a8\u4e0a\u4f20\uff0c\u7531\u7528\u6237\u5b9e\u73b0\u4e0a\u4f20\u529f\u80fd\n-- 2023.09.22\u65b0\u589ecustom_id\u53c2\u6570\nerrDump.config(true, 3600, nil, \"ABC\")\t--\u4e00\u4e2a\u5c0f\u65f6\u5c1d\u8bd5\u4e0a\u6b21\u4e00\u6b21\uff0c\u4e0a\u4f20\u65f6\u4f7f\u7528\u81ea\u5b9a\u4e49\u7684\u8bbe\u5907\u8bc6\u522b\u53f7ABC\n", "prefix": "errDump.config"}, "fastlz.compress": {"body": "fastlz.compress(${1:data},${2:level})", "description": "fastlz.compress(data, level) - \u5feb\u901f\u538b\u7f29\n\u4f20\u5165\u503c\uff1a\nstring \u5f85\u538b\u7f29\u7684\u6570\u636e, \u5c11\u4e8e400\u5b57\u8282\u7684\u6570\u636e\u4e0d\u5efa\u8bae\u538b\u7f29, \u4e14\u538b\u7f29\u540e\u7684\u6570\u636e\u4e0d\u80fd\u5927\u4e8e32k\nint \u538b\u7f29\u7ea7\u522b,\u9ed8\u8ba41, \u53ef\u90091\u6216\u80052, 2\u7684\u538b\u7f29\u6bd4\u66f4\u9ad8(\u6709\u65f6\u5019)\n\u8fd4\u56de\u503c\uff1a\nstring \u82e5\u538b\u7f29\u6210\u529f,\u8fd4\u56de\u6570\u636e\u5b57\u7b26\u4e32, \u5426\u5219\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\n-- \u6ce8\u610f, \u538b\u7f29\u8fc7\u7a0b\u7684\u5185\u5b58\u6d88\u8017\u5982\u4e0b\n-- \u7cfb\u7edf\u5185\u5b58, \u56fa\u5b9a32k\n-- lua\u5185\u5b58, \u539f\u59cb\u6570\u636e\u7684\u5927\u5c0f\u76841.05\u500d,\u6700\u5c0f\u5360\u75281024\u5b57\u8282.\n", "prefix": "fastlz.compress"}, "fastlz.uncompress": {"body": "fastlz.uncompress(${1:data},${2:maxout})", "description": "fastlz.uncompress(data, maxout) - \u5feb\u901f\u89e3\u538b\n\u4f20\u5165\u503c\uff1a\nstring \u5f85\u89e3\u538b\u7684\u6570\u636e\nint \u89e3\u538b\u540e\u7684\u6700\u5927\u5927\u5c0f, \u9ed8\u8ba4\u662f4k, \u53ef\u6309\u9700\u8c03\u6574\n\u8fd4\u56de\u503c\uff1a\nstring \u82e5\u89e3\u538b\u6210\u529f,\u8fd4\u56de\u6570\u636e\u5b57\u7b26\u4e32, \u5426\u5219\u8fd4\u56denil\n", "prefix": "fastlz.uncompress"}, "fatfs.mount": {"body": "fatfs.mount(${1:mode},${2:mount_point},${3:spiid_or_spidevice},${4:spi_cs},${5:spi_speed},${6:power_pin},${7:power_on_delay},${8:auto_format})", "description": "fatfs.mount(mode,mount_point, spiid_or_spidevice, spi_cs, spi_speed, power_pin, power_on_delay, auto_format) - \u6302\u8f7dfatfs\n\u4f20\u5165\u503c\uff1a\nint fatfs\u6a21\u5f0f,\u53ef\u9009fatfs.SPI,fatfs.SDIO,fatfs.RAM,fatfs.USB\nstring \u865a\u62df\u6587\u4ef6\u7cfb\u7edf\u7684\u6302\u8f7d\u70b9, \u9ed8\u8ba4\u662f /fatfs\nint \u4f20\u5165spi device\u6307\u9488,\u6216\u8005spi\u7684id,\u6216\u8005sdio\u7684id\nint \u7247\u9009\u811a\u7684GPIO \u53f7, spi\u6a21\u5f0f\u6709\u6548,\u82e5\u524d\u4e00\u4e2a\u53c2\u6570\u4f20\u7684\u662fspi device,\u8fd9\u4e2a\u53c2\u6570\u5c31\u4e0d\u9700\u8981\u4f20\nint SPI\u6700\u9ad8\u901f\u5ea6,\u9ed8\u8ba410M, \u82e5\u524d2\u4e2a\u53c2\u6570\u4f20\u7684\u662fspi device,\u8fd9\u4e2a\u53c2\u6570\u5c31\u4e0d\u9700\u8981\u4f20\nint TF\u5361\u7535\u6e90\u63a7\u5236\u811a,TF\u5361\u521d\u59cb\u524d\u5148\u62c9\u4f4e\u590d\u4f4d\u518d\u62c9\u9ad8,\u5982\u679c\u6ca1\u6709,\u6216\u8005\u662f\u5185\u7f6e\u7535\u6e90\u63a7\u5236\u65b9\u5f0f,\u8fd9\u4e2a\u53c2\u6570\u5c31\u4e0d\u9700\u8981\u4f20\nint TF\u5361\u7535\u6e90\u590d\u4f4d\u8fc7\u7a0b\u65f6\u95f4,\u5355\u4f4dms,\u9ed8\u8ba4\u503c\u662f1\nbool \u6302\u8f7d\u5931\u8d25\u662f\u5426\u5c1d\u8bd5\u683c\u5f0f\u5316,\u9ed8\u8ba4\u662ftrue,\u5373\u81ea\u52a8\u683c\u5f0f\u5316. \u672c\u53c2\u6570\u57282023.8.16\u6dfb\u52a0\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue, \u5426\u5219\u8fd4\u56denil\u6216\u8005false\nstring \u5931\u8d25\u7684\u539f\u56e0\n\u4f8b\u5b50\uff1a\n-- \u65b9\u6cd51, \u4f7f\u7528SPI\u6a21\u5f0f\n local spiId = 2\n local result = spi.setup(\n spiId,--\u4e32\u53e3id\n 255, -- \u4e0d\u4f7f\u7528\u9ed8\u8ba4CS\u811a\n 0,--CPHA\n 0,--CPOL\n 8,--\u6570\u636e\u5bbd\u5ea6\n 400*1000 -- \u521d\u59cb\u5316\u65f6\u4f7f\u7528\u8f83\u4f4e\u7684\u9891\u7387\n )\n local TF_CS = pin.PB3\n gpio.setup(TF_CS, 1)\n --fatfs.debug(1) -- \u82e5\u6302\u8f7d\u5931\u8d25,\u53ef\u4ee5\u5c1d\u8bd5\u6253\u5f00\u8c03\u8bd5\u4fe1\u606f,\u67e5\u627e\u539f\u56e0\n\t-- \u63d0\u9192, \u82e5TF/SD\u6a21\u5757\u5e26\u7535\u5e73\u8f6c\u6362, \u901a\u5e38\u4e0d\u652f\u630110M\u4ee5\u4e0a\u7684\u6ce2\u7279\u7387!!\n fatfs.mount(fatfs.SPI,\"SD\", spiId, TF_CS, 24000000)\n local data, err = fatfs.getfree(\"SD\")\n if data then\n log.info(\"fatfs\", \"getfree\", json.encode(data))\n else\n log.info(\"fatfs\", \"err\", err)\n end\n\t-- \u5f80\u4e0b\u7684\u64cd\u4f5c, \u4f7f\u7528 io.open(\"/sd/xxx\", \"w+\") \u7b49io\u5e93\u7684API\u5c31\u53ef\u4ee5\u4e86\n", "prefix": "fatfs.mount"}, "fatfs.getfree": {"body": "fatfs.getfree(${1:mount_point})", "description": "fatfs.getfree(mount_point) - \u83b7\u53d6\u53ef\u7528\u7a7a\u95f4\u4fe1\u606f\n\u4f20\u5165\u503c\uff1a\nstring \u6302\u8f7d\u70b9, \u9700\u8981\u8ddffatfs.mount\u4f20\u5165\u7684\u503c\u4e00\u81f4\n\u8fd4\u56de\u503c\uff1a\ntable \u82e5\u6210\u529f\u4f1a\u8fd4\u56detable,\u5426\u5219\u8fd4\u56denil\nint \u5bfc\u81f4\u5931\u8d25\u7684\u5e95\u5c42\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n-- table\u5305\u542b\u7684\u5185\u5bb9\u6709\n-- total_sectors \u603b\u6247\u533a\u6570\u91cf\n-- free_sectors \u7a7a\u95f2\u6247\u533a\u6570\u91cf\n-- total_kb \u603b\u5b57\u8282\u6570,\u5355\u4f4dkb\n-- free_kb \u7a7a\u95f2\u5b57\u8282\u6570, \u5355\u4f4dkb\n-- \u6ce8\u610f,\u5f53\u524d\u6247\u533a\u5927\u5c0f\u56fa\u5b9a\u5728512\u5b57\u8282\n\n local data, err = fatfs.getfree(\"SD\")\n if data then\n log.info(\"fatfs\", \"getfree\", json.encode(data))\n else\n log.info(\"fatfs\", \"err\", err)\n end\n", "prefix": "fatfs.getfree"}, "fatfs.debug": {"body": "fatfs.debug(${1:value})", "description": "fatfs.debug(value) - \u8bbe\u7f6e\u8c03\u8bd5\u6a21\u5f0f\n\u4f20\u5165\u503c\uff1a\nbool \u662f\u5426\u8fdb\u5165\u8c03\u8bd5\u6a21\u5f0f,true\u4ee3\u8868\u8fdb\u5165\u8c03\u8bd5\u6a21\u5f0f,\u589e\u52a0\u8c03\u8bd5\u65e5\u5fd7\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n", "prefix": "fatfs.debug"}, "fdb.kvdb_init": {"body": "fdb.kvdb_init(${1:name},${2:partition})", "description": "fdb.kvdb_init(name, partition) - \u521d\u59cb\u5316kv\u6570\u636e\u5e93\n\u4f20\u5165\u503c\uff1a\nstring \u6570\u636e\u5e93\u540d,\u5f53\u524d\u4ec5\u652f\u6301env\nstring FAL\u5206\u533a\u540d,\u5f53\u524d\u4ec5\u652f\u6301onchip_fdb\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- fdb\u5e93\u57fa\u4e8e flashdb , \u518d\u6b21\u8868\u793a\u611f\u8c22.\nif fdb.kvdb_init(\"env\", \"onchip_fdb\") then\n log.info(\"fdb\", \"kv\u6570\u636e\u5e93\u521d\u59cb\u5316\u6210\u529f\")\nend\n\n-- \u5173\u4e8e\u6e05\u7a7afdb\u5e93\n-- \u4e0b\u8f7d\u5de5\u5177\u662f\u6ca1\u6709\u63d0\u4f9b\u76f4\u63a5\u6e05\u9664fdb\u6570\u636e\u7684\u9014\u5f84\u7684, \u4f46\u6709\u6709\u529e\u6cd5\u89e3\u51b3\n-- \u5199\u4e00\u4e2amain.lua, \u6267\u884c fdb.kvdb_init \u540e \u6267\u884c fdb.clear() \u5373\u53ef\u5168\u6e05fdb\u6570\u636e.\n", "prefix": "fdb.kvdb_init"}, "fdb.kv_set": {"body": "fdb.kv_set(${1:key},${2:value})", "description": "fdb.kv_set(key, value) - \u8bbe\u7f6e\u4e00\u5bf9kv\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nstring key\u7684\u540d\u79f0,\u5fc5\u586b,\u4e0d\u80fd\u7a7a\u5b57\u7b26\u4e32\nstring \u7528\u6237\u6570\u636e,\u5fc5\u586b,\u4e0d\u80fdnil, \u652f\u6301\u5b57\u7b26\u4e32/\u6570\u503c/table/\u5e03\u5c14\u503c, \u6570\u636e\u957f\u5ea6\u6700\u5927255\u5b57\u8282\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\nnumber \u7b2c\u4e8c\u4e2a\u4e3a\u8fd4\u56de\u4e3aflashdb\u7684fdb_kv_set_blob\u8fd4\u56de\u8be6\u7ec6\u72b6\u6001,0\uff1a\u65e0\u9519\u8bef 1:\u64e6\u9664\u9519\u8bef 2:\u8bfb\u9519\u8bef 3:\u5199\u9519\u8bef 4:\u672a\u627e\u5230 5:kv\u540d\u5b57\u9519\u8bef 6:kv\u540d\u5b57\u5b58\u5728 7:\u5df2\u4fdd\u5b58 8:\u521d\u59cb\u5316\u9519\u8bef\n\u4f8b\u5b50\uff1a\nif fdb.kvdb_init(\"env\", \"onchip_fdb\") then\n log.info(\"fdb\", fdb.kv_set(\"wendal\", \"goodgoodstudy\"))\nend\n", "prefix": "fdb.kv_set"}, "fdb.kv_get": {"body": "fdb.kv_get(${1:key},${2:skey})", "description": "fdb.kv_get(key, skey) - \u6839\u636ekey\u83b7\u53d6\u5bf9\u5e94\u7684\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nstring key\u7684\u540d\u79f0,\u5fc5\u586b,\u4e0d\u80fd\u7a7a\u5b57\u7b26\u4e32\nstring \u53ef\u9009\u7684\u6b21\u7ea7key,\u4ec5\u5f53\u539f\u59cb\u503c\u4e3atable\u65f6\u6709\u6548,\u76f8\u5f53\u4e8e fdb.kv_get(key)[skey]\n\u8fd4\u56de\u503c\uff1a\nany \u5b58\u5728\u5219\u8fd4\u56de\u6570\u636e,\u5426\u5219\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\nif fdb.kvdb_init(\"env\", \"onchip_fdb\") then\n log.info(\"fdb\", fdb.kv_get(\"wendal\"))\nend\n", "prefix": "fdb.kv_get"}, "fdb.kv_del": {"body": "fdb.kv_del(${1:key})", "description": "fdb.kv_del(key) - \u6839\u636ekey\u5220\u9664\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nstring key\u7684\u540d\u79f0,\u5fc5\u586b,\u4e0d\u80fd\u7a7a\u5b57\u7b26\u4e32\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\nif fdb.kvdb_init(\"env\", \"onchip_fdb\") then\n log.info(\"fdb\", fdb.kv_del(\"wendal\"))\nend\n", "prefix": "fdb.kv_del"}, "fdb.kv_clr": {"body": "fdb.kv_clr()", "description": "fdb.kv_clr() - \u6e05\u7a7a\u6574\u4e2akv\u6570\u636e\u5e93\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- \u6e05\u7a7a\nfdb.kv_clr()\n", "prefix": "fdb.kv_clr"}, "fdb.kv_iter": {"body": "fdb.kv_iter(${1:iter})", "description": "fdb.kv_iter(iter) - kv\u8fed\u4ee3\u5668\u83b7\u53d6\u4e0b\u4e00\u4e2akey\n\u4f20\u5165\u503c\uff1a\nuserdata fdb.kv_iter()\u8fd4\u56de\u7684\u6307\u9488\n\u8fd4\u56de\u503c\uff1a\nstring \u6210\u529f\u8fd4\u56de\u5b57\u7b26\u4e32key\u503c, \u5426\u5219\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\n-- \u6e05\u7a7a\nlocal iter = fdb.kv_iter()\nif iter then\n while 1 do\n local k = fdb.kv_next(iter)\n if not k then\n break\n end\n log.info(\"fdb\", k, \"value\", fdb.kv_get(k))\n end\nend\n", "prefix": "fdb.kv_iter"}, "fdb.kv_stat": {"body": "fdb.kv_stat()", "description": "fdb.kv_stat() - \u83b7\u53d6kv\u6570\u636e\u5e93\u72b6\u6001\n\u8fd4\u56de\u503c\uff1a\nint \u5df2\u4f7f\u7528\u7684\u7a7a\u95f4,\u5355\u4f4d\u5b57\u8282\nint \u603b\u53ef\u7528\u7a7a\u95f4, \u5355\u4f4d\u5b57\u8282\nint \u603bkv\u952e\u503c\u5bf9\u6570\u91cf, \u5355\u4f4d\u4e2a\n\u4f8b\u5b50\uff1a\n-- \u672cAPI\u4e8e2022.07.23 \u6dfb\u52a0\nlocal used,maxs,kv_count = fdb.kv_stat()\nlog.info(\"fdb\", \"kv\", used,maxs,kv_count)\n", "prefix": "fdb.kv_stat"}, "fonts.list": {"body": "fonts.list(${1:tp})", "description": "fonts.list(tp) - \u8fd4\u56de\u56fa\u4ef6\u652f\u6301\u7684\u5b57\u4f53\u5217\u8868\n\u4f20\u5165\u503c\uff1a\nstring \u7c7b\u578b, \u9ed8\u8ba4 u8g2, \u8fd8\u53ef\u4ee5\u662flvgl\n\u8fd4\u56de\u503c\uff1a\ntable \u5b57\u4f53\u5217\u8868\n\u4f8b\u5b50\uff1a\n-- API\u65b0\u589e\u4e8e2022-07-12\nif fonts.list then\n log.info(\"fonts\", \"u8g2\", json.encode(fonts.list(\"u8g2\")))\nend\n", "prefix": "fonts.list"}, "fonts.u8g2_get": {"body": "fonts.u8g2_get(${1:name},${2:tp})", "description": "fonts.u8g2_get(name, tp) - \u83b7\u53d6\u5b57\u4f53\n\u4f20\u5165\u503c\uff1a\nstring \u5b57\u4f53\u540d\u79f0, \u4f8b\u5982opposansm8_chinese unifont_t_symbols\nstring \u7c7b\u578b, \u9ed8\u8ba4 u8g2, \u8fd8\u53ef\u4ee5\u662flvgl\n\u8fd4\u56de\u503c\uff1a\nuserdata \u82e5\u5b57\u4f53\u5b58\u653e,\u8fd4\u56de\u5b57\u4f53\u6307\u9488, \u5426\u5219\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\noppo_8 = fonts.get(\"opposansm8_chinese\", \"u8g2\")\nif oppo_8 then\n u8g2.SetFont(oppo_8)\nelse\n log.warn(\"fonts\", \"no such font opposansm8_chinese\")\nend\n-- \u82e5\u4f7f\u7528\u4e91\u7f16\u8bd1\u7684\u81ea\u5b9a\u4e49\u5b57\u5e93, \u4f7f\u7528\u65b9\u5f0f\u5982\u4e0b\noppo_8 = fonts.get(\"oppo_bold_8\", \"u8g2\") -- oppo_bold_8 \u662f\u4e91\u7f16\u8bd1\u754c\u9762\u7684\u5b57\u5e93\u547d\u540d\nif oppo_8 then\n u8g2.SetFont(oppo_8)\nelse\n log.warn(\"fonts\", \"no such font opposansm8_chinese\")\nend\n", "prefix": "fonts.u8g2_get"}, "fonts.u8g2_load": {"body": "fonts.u8g2_load(${1:path},${2:path})", "description": "fonts.u8g2_load(path, path) - \u4ece\u6587\u4ef6\u52a0\u8f7d\u5b57\u4f53\n\u4f20\u5165\u503c\uff1a\nstring \u5b57\u4f53\u8def\u5f84, \u4f8b\u5982 /luadb/abc.bin\nstring \u7c7b\u578b, \u9ed8\u8ba4 u8g2. \u4e5f\u652f\u6301lvgl\n\u8fd4\u56de\u503c\uff1a\nuserdata \u82e5\u5b57\u4f53\u5b58\u653e,\u8fd4\u56de\u5b57\u4f53\u6307\u9488, \u5426\u5219\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\n-- API\u65b0\u589e\u4e8e2022-07-11\n-- \u63d0\u9192: \u82e5\u6587\u4ef6\u4f4d\u4e8e/luadb\u4e0b, \u4e0d\u9700\u8981\u5360\u7528\u5185\u5b58\n-- \u82e5\u6587\u4ef6\u5904\u4e8e\u5176\u4ed6\u8def\u5f84, \u4f8b\u5982tf/sd\u5361, spi flash, \u4f1a\u81ea\u52a8\u52a0\u8f7d\u5230\u5185\u5b58, \u6d88\u8017lua vm\u7684\u5185\u5b58\u7a7a\u95f4\n-- \u52a0\u8f7d\u540e\u8bf7\u9002\u5f53\u5f15\u7528, \u4e0d\u5fc5\u53cd\u590d\u52a0\u8f7d\u540c\u4e00\u4e2a\u5b57\u4f53\u6587\u4ef6\noppo12 = fonts.load(\"/luadb/oppo12.bin\")\nif oppo12 then\n u8g2.SetFont(oppo12)\nelse\n log.warn(\"fonts\", \"no such font file oppo12.bin\")\nend\n", "prefix": "fonts.u8g2_load"}, "fota.init": {"body": "fota.init(${1:storge_location},${2:len},${3:param1})", "description": "fota.init(storge_location, len, param1) - \u521d\u59cb\u5316fota\u6d41\u7a0b\n\u4f20\u5165\u503c\uff1a\nint/string fota\u6570\u636e\u5b58\u50a8\u7684\u8d77\u59cb\u4f4d\u7f6e
        \u5982\u679c\u662fint\uff0c\u5219\u662f\u7531\u82af\u7247\u5e73\u53f0\u5177\u4f53\u5224\u65ad
        \u5982\u679c\u662fstring\uff0c\u5219\u5b58\u50a8\u5728\u6587\u4ef6\u7cfb\u7edf\u4e2d
        \u5982\u679c\u4e3anil\uff0c\u5219\u7531\u5e95\u5c42\u51b3\u5b9a\u5b58\u50a8\u4f4d\u7f6e\nint \u6570\u636e\u5b58\u50a8\u7684\u6700\u5927\u7a7a\u95f4\nuserdata param1\uff0c\u5982\u679c\u6570\u636e\u5b58\u50a8\u5728spiflash\u65f6,\u4e3aspi_device\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue, \u5931\u8d25\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- \u521d\u59cb\u5316fota\u6d41\u7a0b\nlocal result = fota.init(0, 0x00300000, spi_device)\t--\u7531\u4e8e105\u7684flash\u4ece0x01000000\u5f00\u59cb\uff0c\u6240\u4ee50\u5c31\u662f\u5916\u90e8spiflash\nlocal result = fota.init()\t--ec618\u4f7f\u7528\u56fa\u5b9a\u5185\u90e8\u5730\u5740\uff0c\u6240\u4ee5\u4e0d\u9700\u8981\u53c2\u6570\u4e86\n", "prefix": "fota.init"}, "fota.wait": {"body": "fota.wait()", "description": "fota.wait() - \u7b49\u5f85\u5e95\u5c42fota\u6d41\u7a0b\u51c6\u5907\u597d\n\u4f20\u5165\u503c\uff1a\nboolean \u662f\u5426\u5b8c\u6574\u8d70\u5b8c\u6d41\u7a0b\uff0ctrue \u8868\u793a\u6b63\u786e\u8d70\u5b8c\u6d41\u7a0b\u4e86\n\u8fd4\u56de\u503c\uff1a\nboolean \u51c6\u5907\u597d\u8fd4\u56detrue\n\u4f8b\u5b50\uff1a\nlocal isDone = fota.wait()\n", "prefix": "fota.wait"}, "fota.run": {"body": "fota.run(${1:buff})", "description": "fota.run(buff) - \u5199\u5165fota\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nzbuff/string fota\u6570\u636e\uff0c\u5c3d\u91cf\u7528zbuff\n\u8fd4\u56de\u503c\uff1a\nboolean \u6709\u5f02\u5e38\u8fd4\u56defalse\uff0c\u65e0\u5f02\u5e38\u8fd4\u56detrue\nboolean \u63a5\u6536\u5230\u6700\u540e\u4e00\u5757\u8fd4\u56detrue\nint \u8fd8\u672a\u5199\u5165\u7684\u6570\u636e\u91cf\uff0c\u8d85\u8fc764K\u5fc5\u987b\u505a\u7b49\u5f85\n\u4f8b\u5b50\uff1a\nlocal result, isDone, cache = fota.run(buf) -- \u5199\u5165fota\u6d41\u7a0b\n\n-- \u63d0\u793a: \uff0c\u5982\u679c\u4f20\u5165\u7684\u662fzbuff\uff0c\u5199\u5165\u6210\u529f\u540e\uff0c\u8bf7\u81ea\u884c\u6e05\u7a7azbuff\u5185\u7684\u6570\u636e\n", "prefix": "fota.run"}, "fota.file": {"body": "fota.file(${1:path})", "description": "fota.file(path) - \u4ece\u6307\u5b9a\u6587\u4ef6\u8bfb\u53d6fota\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nstring \u6587\u4ef6\u8def\u5f84\n\u8fd4\u56de\u503c\uff1a\nboolean \u6709\u5f02\u5e38\u8fd4\u56defalse\uff0c\u65e0\u5f02\u5e38\u8fd4\u56detrue\nboolean \u63a5\u6536\u5230\u6700\u540e\u4e00\u5757\u8fd4\u56detrue\nint \u8fd8\u672a\u5199\u5165\u7684\u6570\u636e\u91cf\uff0c\u8d85\u8fc764K\u5fc5\u987b\u505a\u7b49\u5f85\n\u4f8b\u5b50\uff1a\nlocal result, isDone, cache = fota.file(\"/xxx.bin\") -- \u5199\u5165fota\u6d41\u7a0b\n-- \u672cAPI\u4e8e2023.03.23 \u6dfb\u52a0\n", "prefix": "fota.file"}, "fota.isDone": {"body": "fota.isDone()", "description": "fota.isDone() - \u7b49\u5f85\u5e95\u5c42fota\u6d41\u7a0b\u5b8c\u6210\n\u8fd4\u56de\u503c\uff1a\nboolean \u6709\u5f02\u5e38\u8fd4\u56defalse\uff0c\u65e0\u5f02\u5e38\u8fd4\u56detrue\nboolean \u5199\u5165\u5230\u6700\u540e\u4e00\u5757\u8fd4\u56detrue\n\u4f8b\u5b50\uff1a\nlocal result, isDone = fota.isDone()\n", "prefix": "fota.isDone"}, "fota.finish": {"body": "fota.finish(${1:is_ok})", "description": "fota.finish(is_ok) - \u7ed3\u675ffota\u6d41\u7a0b\n\u4f20\u5165\u503c\uff1a\nboolean \u662f\u5426\u5b8c\u6574\u8d70\u5b8c\u6d41\u7a0b\uff0ctrue \u8868\u793a\u6b63\u786e\u8d70\u5b8c\u6d41\u7a0b\u4e86\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue, \u5931\u8d25\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- \u7ed3\u675ffota\u6d41\u7a0b\nlocal result = fota.finish(true)\n", "prefix": "fota.finish"}, "fs.fsstat": {"body": "fs.fsstat(${1:path})", "description": "fs.fsstat(path) - \u83b7\u53d6\u6587\u4ef6\u7cfb\u7edf\u4fe1\u606f\n\u4f20\u5165\u503c\uff1a\nstring \u8def\u5f84,\u9ed8\u8ba4\"/\",\u53ef\u9009\n\u8fd4\u56de\u503c\uff1a\nboolean \u83b7\u53d6\u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\nint \u603b\u7684block\u6570\u91cf\nint \u5df2\u4f7f\u7528\u7684block\u6570\u91cf\nint block\u7684\u5927\u5c0f,\u5355\u4f4d\u5b57\u8282\nstring \u6587\u4ef6\u7cfb\u7edf\u7c7b\u578b,\u4f8b\u5982lfs\u4ee3\u8868littlefs\n\u4f8b\u5b50\uff1a\n-- \u6253\u5370\u6839\u5206\u533a\u7684\u4fe1\u606f\nlog.info(\"fsstat\", fs.fsstat(\"/\"))\n", "prefix": "fs.fsstat"}, "fs.fsize": {"body": "fs.fsize(${1:path})", "description": "fs.fsize(path) - \u83b7\u53d6\u6587\u4ef6\u5927\u5c0f\n\u4f20\u5165\u503c\uff1a\nstring \u6587\u4ef6\u8def\u5f84\n\u8fd4\u56de\u503c\uff1a\nint \u6587\u4ef6\u5927\u5c0f,\u82e5\u83b7\u53d6\u5931\u8d25\u4f1a\u8fd4\u56de0\n\u4f8b\u5b50\uff1a\n-- \u6253\u5370main.luac\u7684\u5927\u5c0f\nlog.info(\"fsize\", fs.fsize(\"/main.luac\"))\n", "prefix": "fs.fsize"}, "fskv.init": {"body": "fskv.init()", "description": "fskv.init() - \u521d\u59cb\u5316kv\u6570\u636e\u5e93\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\nif fskv.init() then\n log.info(\"fdb\", \"kv\u6570\u636e\u5e93\u521d\u59cb\u5316\u6210\u529f\")\nend\n\n-- \u5173\u4e8e\u6e05\u7a7afdb\u5e93\n-- \u4e0b\u8f7d\u5de5\u5177\u662f\u6ca1\u6709\u63d0\u4f9b\u76f4\u63a5\u6e05\u9664fdb\u6570\u636e\u7684\u9014\u5f84\u7684, \u4f46\u6709\u529e\u6cd5\u89e3\u51b3\n-- \u5199\u4e00\u4e2amain.lua, \u6267\u884c fskv.kvdb_init \u540e \u6267\u884c fskv.clear() \u5373\u53ef\u5168\u6e05fdb\u6570\u636e.\n", "prefix": "fskv.init"}, "fskv.set": {"body": "fskv.set(${1:key},${2:value})", "description": "fskv.set(key, value) - \u8bbe\u7f6e\u4e00\u5bf9kv\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nstring key\u7684\u540d\u79f0,\u5fc5\u586b,\u4e0d\u80fd\u7a7a\u5b57\u7b26\u4e32\nstring \u7528\u6237\u6570\u636e,\u5fc5\u586b,\u4e0d\u80fdnil, \u652f\u6301\u5b57\u7b26\u4e32/\u6570\u503c/table/\u5e03\u5c14\u503c, \u6570\u636e\u957f\u5ea6\u6700\u59274095\u5b57\u8282\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- \u8bbe\u7f6e\u6570\u636e, \u5b57\u7b26\u4e32,\u6570\u503c,table,\u5e03\u5c14\u503c,\u5747\u53ef\n-- \u4f46\u4e0d\u53ef\u4ee5\u662fnil, function, userdata, task\nlog.info(\"fdb\", fskv.set(\"wendal\", \"goodgoodstudy\"))\nlog.info(\"fdb\", fskv.set(\"upgrade\", true))\nlog.info(\"fdb\", fskv.set(\"timer\", 1))\nlog.info(\"fdb\", fskv.set(\"bigd\", {name=\"wendal\",age=123}))\n", "prefix": "fskv.set"}, "fskv.sett": {"body": "fskv.sett(${1:key},${2:skey},${3:value})", "description": "fskv.sett(key, skey, value) - \u8bbe\u7f6etable\u5185\u7684\u952e\u503c\u5bf9\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nstring key\u7684\u540d\u79f0,\u5fc5\u586b,\u4e0d\u80fd\u7a7a\u5b57\u7b26\u4e32\nstring table\u7684key\u540d\u79f0, \u5fc5\u586b, \u4e0d\u80fd\u662f\u7a7a\u5b57\u7b26\u4e32\nstring \u7528\u6237\u6570\u636e,\u5fc5\u586b,\u652f\u6301\u5b57\u7b26\u4e32/\u6570\u503c/table/\u5e03\u5c14\u503c, \u6570\u636e\u957f\u5ea6\u6700\u59274095\u5b57\u8282\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse/nil\n\u4f8b\u5b50\uff1a\n-- \u672cAPI\u57282023.7.26\u65b0\u589e,\u6ce8\u610f\u4e0eset\u51fd\u6570\u533a\u522b\n-- \u8bbe\u7f6e\u6570\u636e, \u5b57\u7b26\u4e32,\u6570\u503c,table,\u5e03\u5c14\u503c,\u5747\u53ef\n-- \u4f46\u4e0d\u53ef\u4ee5\u662ffunction, userdata, task\nlog.info(\"fdb\", fskv.sett(\"mytable\", \"wendal\", \"goodgoodstudy\"))\nlog.info(\"fdb\", fskv.sett(\"mytable\", \"upgrade\", true))\nlog.info(\"fdb\", fskv.sett(\"mytable\", \"timer\", 1))\nlog.info(\"fdb\", fskv.sett(\"mytable\", \"bigd\", {name=\"wendal\",age=123}))\n\n-- \u4e0b\u5217\u8bed\u53e5\u5c06\u6253\u5370\u51fa4\u4e2a\u5143\u7d20\u7684table\nlog.info(\"fdb\", fskv.get(\"mytable\"), json.encode(fskv.get(\"mytable\")))\n-- \u6ce8\u610f: \u5982\u679ckey\u4e0d\u5b58\u5728, \u6216\u8005\u539f\u672c\u7684\u503c\u4e0d\u662ftable\u7c7b\u578b,\u5c06\u4f1a\u5b8c\u5168\u8986\u76d6\n-- \u4f8b\u5982\u4e0b\u5217\u5199\u6cd5,\u6700\u7ec8\u83b7\u53d6\u5230\u7684\u662ftable,\u800c\u975e\u7b2c\u4e00\u884c\u7684\u5b57\u7b26\u4e32\nlog.info(\"fdb\", fskv.set(\"mykv\", \"123\"))\nlog.info(\"fdb\", fskv.sett(\"mykv\", \"age\", \"123\")) -- \u4fdd\u5b58\u7684\u5c06\u662f {age:\"123\"}\n\n\n-- \u5982\u679c\u8bbe\u7f6e\u7684\u6570\u636e\u586bnil, \u4ee3\u8868\u5220\u9664\u5bf9\u5e94\u7684key\nlog.info(\"fdb\", fskv.sett(\"mykv\", \"name\", \"wendal\"))\nlog.info(\"fdb\", fskv.sett(\"mykv\", \"name\")) -- \u76f8\u5f53\u4e8e\u5220\u9664\n-- \n", "prefix": "fskv.sett"}, "fskv.get": {"body": "fskv.get(${1:key},${2:skey})", "description": "fskv.get(key, skey) - \u6839\u636ekey\u83b7\u53d6\u5bf9\u5e94\u7684\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nstring key\u7684\u540d\u79f0,\u5fc5\u586b,\u4e0d\u80fd\u7a7a\u5b57\u7b26\u4e32\nstring \u53ef\u9009\u7684\u6b21\u7ea7key,\u4ec5\u5f53\u539f\u59cb\u503c\u4e3atable\u65f6\u6709\u6548,\u76f8\u5f53\u4e8e fskv.get(key)[skey]\n\u8fd4\u56de\u503c\uff1a\nany \u5b58\u5728\u5219\u8fd4\u56de\u6570\u636e,\u5426\u5219\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\nif fskv.init() then\n log.info(\"fdb\", fskv.get(\"wendal\"))\nend\n\n-- \u82e5\u9700\u8981\"\u9ed8\u8ba4\u503c\", \u5bf9\u5e94\u975ebool\u5e03\u5c14\u503c, \u53ef\u4ee5\u8fd9\u6837\u5199\nlocal v = fskv.get(\"wendal\") or \"123\"\n", "prefix": "fskv.get"}, "fskv.del": {"body": "fskv.del(${1:key})", "description": "fskv.del(key) - \u6839\u636ekey\u5220\u9664\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nstring key\u7684\u540d\u79f0,\u5fc5\u586b,\u4e0d\u80fd\u7a7a\u5b57\u7b26\u4e32\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\nlog.info(\"fdb\", fskv.del(\"wendal\"))\n", "prefix": "fskv.del"}, "fskv.clear": {"body": "fskv.clear()", "description": "fskv.clear() - \u6e05\u7a7a\u6574\u4e2akv\u6570\u636e\u5e93\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- \u6e05\u7a7a\nfskv.clear()\n", "prefix": "fskv.clear"}, "fskv.iter": {"body": "fskv.iter()", "description": "fskv.iter() - kv\u6570\u636e\u5e93\u8fed\u4ee3\u5668\n\u8fd4\u56de\u503c\uff1a\nuserdata \u6210\u529f\u8fd4\u56de\u8fed\u4ee3\u5668\u6307\u9488,\u5426\u5219\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\n-- \u6e05\u7a7a\nlocal iter = fskv.iter()\nif iter then\n while 1 do\n local k = fskv.next(iter)\n if not k then\n break\n end\n log.info(\"fdb\", k, \"value\", fskv.kv_get(k))\n end\nend\n", "prefix": "fskv.iter"}, "fskv.next": {"body": "fskv.next(${1:iter})", "description": "fskv.next(iter) - kv\u8fed\u4ee3\u5668\u83b7\u53d6\u4e0b\u4e00\u4e2akey\n\u4f20\u5165\u503c\uff1a\nuserdata fskv.iter()\u8fd4\u56de\u7684\u6307\u9488\n\u8fd4\u56de\u503c\uff1a\nstring \u6210\u529f\u8fd4\u56de\u5b57\u7b26\u4e32key\u503c, \u5426\u5219\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\n-- \u6e05\u7a7a\nlocal iter = fskv.iter()\nif iter then\n while 1 do\n local k = fskv.next(iter)\n if not k then\n break\n end\n log.info(\"fskv\", k, \"value\", fskv.get(k))\n end\nend\n", "prefix": "fskv.next"}, "fskv.status": {"body": "fskv.status()", "description": "fskv.status() - \u83b7\u53d6kv\u6570\u636e\u5e93\u72b6\u6001\n\u8fd4\u56de\u503c\uff1a\nint \u5df2\u4f7f\u7528\u7684\u7a7a\u95f4,\u5355\u4f4d\u5b57\u8282\nint \u603b\u53ef\u7528\u7a7a\u95f4, \u5355\u4f4d\u5b57\u8282\nint \u603bkv\u952e\u503c\u5bf9\u6570\u91cf, \u5355\u4f4d\u4e2a\n\u4f8b\u5b50\uff1a\nlocal used, total,kv_count = fskv.status()\nlog.info(\"fdb\", \"kv\", used,total,kv_count)\n", "prefix": "fskv.status"}, "ftp.login": {"body": "ftp.login(${1:adapter},${2:ip_addr},${3:port},${4:username},${5:password})", "description": "ftp.login(adapter,ip_addr,port,username,password) - FTP\u5ba2\u6237\u7aef\n\u4f20\u5165\u503c\uff1a\nint \u9002\u914d\u5668\u5e8f\u53f7, \u53ea\u80fd\u662fsocket.ETH0, socket.STA, socket.AP,\u5982\u679c\u4e0d\u586b,\u4f1a\u9009\u62e9\u5e73\u53f0\u81ea\u5e26\u7684\u65b9\u5f0f,\u7136\u540e\u662f\u6700\u540e\u4e00\u4e2a\u6ce8\u518c\u7684\u9002\u914d\u5668\nstring ip_addr \u5730\u5740\nstring port \u7aef\u53e3,\u9ed8\u8ba421\nstring username \u7528\u6237\u540d\nstring password \u5bc6\u7801\nbool/table \u662f\u5426\u4e3assl\u52a0\u5bc6\u8fde\u63a5,\u9ed8\u8ba4\u4e0d\u52a0\u5bc6,true\u4e3a\u65e0\u8bc1\u4e66\u6700\u7b80\u5355\u7684\u52a0\u5bc6\uff0ctable\u4e3a\u6709\u8bc1\u4e66\u7684\u52a0\u5bc6
        server_cert \u670d\u52a1\u5668ca\u8bc1\u4e66\u6570\u636e
        client_cert \u5ba2\u6237\u7aefca\u8bc1\u4e66\u6570\u636e
        client_key \u5ba2\u6237\u7aef\u79c1\u94a5\u52a0\u5bc6\u6570\u636e
        client_password \u5ba2\u6237\u7aef\u79c1\u94a5\u53e3\u4ee4\u6570\u636e\n\u8fd4\u56de\u503c\uff1a\nbool/string \u6210\u529f\u8fd4\u56detrue \u5931\u8d25\u8fd4\u56destring\n\u4f8b\u5b50\uff1a\nftp_login = ftp.login(nil,\"xxx\")\n", "prefix": "ftp.login"}, "ftp.command": {"body": "ftp.command(${1:cmd})", "description": "ftp.command(cmd) - FTP\u547d\u4ee4\n\u4f20\u5165\u503c\uff1a\nstring cmd \u547d\u4ee4 \u76ee\u524d\u652f\u6301:NOOP SYST TYPE PWD MKD CWD CDUP RMD DELE LIST\n\u8fd4\u56de\u503c\uff1a\nstring \u6210\u529f\u8fd4\u56detrue \u5931\u8d25\u8fd4\u56destring\n\u4f8b\u5b50\uff1a\n print(ftp.command(\"NOOP\").wait())\n print(ftp.command(\"SYST\").wait())\n print(ftp.command(\"TYPE I\").wait())\n print(ftp.command(\"PWD\").wait())\n print(ftp.command(\"MKD QWER\").wait())\n print(ftp.command(\"CWD /QWER\").wait())\n print(ftp.command(\"CDUP\").wait())\n print(ftp.command(\"RMD QWER\").wait())\n\tprint(ftp.command(\"DELE /1/12222.txt\").wait())\n", "prefix": "ftp.command"}, "ftp.pull": {"body": "ftp.pull(${1:local_name},${2:remote_name})", "description": "ftp.pull(local_name,remote_name) - FTP\u6587\u4ef6\u4e0b\u8f7d\n\u4f20\u5165\u503c\uff1a\nstring local_name \u672c\u5730\u6587\u4ef6\nstring remote_name \u670d\u52a1\u5668\u6587\u4ef6\n\u8fd4\u56de\u503c\uff1a\nbool/string \u6210\u529f\u8fd4\u56detrue \u5931\u8d25\u8fd4\u56destring\n\u4f8b\u5b50\uff1a\nftp.pull(\"/1222.txt\",\"/1222.txt\").wait()\n", "prefix": "ftp.pull"}, "ftp.push": {"body": "ftp.push(${1:local_name},${2:remote_name})", "description": "ftp.push(local_name,remote_name) - FTP\u6587\u4ef6\u4e0a\u4f20\n\u4f20\u5165\u503c\uff1a\nstring local_name \u672c\u5730\u6587\u4ef6\nstring remote_name \u670d\u52a1\u5668\u6587\u4ef6\n\u8fd4\u56de\u503c\uff1a\nbool/string \u6210\u529f\u8fd4\u56detrue \u5931\u8d25\u8fd4\u56destring\n\u4f8b\u5b50\uff1a\nftp.push(\"/1222.txt\",\"/1222.txt\").wait()\n", "prefix": "ftp.push"}, "ftp.close": {"body": "ftp.close()", "description": "ftp.close() - FTP\u5ba2\u6237\u7aef\u5173\u95ed\n\u8fd4\u56de\u503c\uff1a\nbool/string \u6210\u529f\u8fd4\u56detrue \u5931\u8d25\u8fd4\u56destring\n\u4f8b\u5b50\uff1a\nftp.close().wait()\n", "prefix": "ftp.close"}, "sm.sm2encrypt": {"body": "sm.sm2encrypt(${1:pkx},${2:pky},${3:data},${4:mode},${5:mode2})", "description": "sm.sm2encrypt(pkx,pky,data, mode, mode2) - sm2\u7b97\u6cd5\u52a0\u5bc6\n\u4f20\u5165\u503c\uff1a\nstring \u516c\u94a5x,\u5fc5\u9009. HEX\u5b57\u7b26\u4e32\nstring \u516c\u94a5y,\u5fc5\u9009. HEX\u5b57\u7b26\u4e32\nstring \u5f85\u8ba1\u7b97\u7684\u6570\u636e,\u5fc5\u9009,\u6700\u957f32\u5b57\u8282, \u975eHEX\u5b57\u7b26\u4e32\nboolean \u8f93\u51fa\u6a21\u5f0f,\u9ed8\u8ba4false. false-GMSSL\u9ed8\u8ba4\u683c\u5f0fDER, true-\u7f51\u7ad9\u517c\u5bb9\u6a21\u5f0f\nboolean \u6807\u51c6\u7248\u672c,\u9ed8\u8ba4false. false-C1C3C2\u65b0\u56fd\u9645, true-C1C2C3\u8001\u56fd\u9645\n\u8fd4\u56de\u503c\uff1a\nstring \u52a0\u5bc6\u540e\u7684\u5b57\u7b26\u4e32, \u539f\u6837\u8f93\u51fa,\u672a\u7ecfHEX\u8f6c\u6362. \u82e5\u52a0\u5bc6\u5931\u8d25\u4f1a\u8fd4\u56denil\u6216\u7a7a\u5b57\u7b26\u4e32\n\u4f8b\u5b50\uff1a\n-- \u63d0\u793a mode/mode2 \u53c2\u6570\u662f 2023.10.17 \u65b0\u589e\n-- \u7531\u4e8eSM2\u5728\u5404\u5e73\u53f0\u7684\u5b9e\u73b0\u90fd\u6709\u5dee\u5f02,\u7528\u6cd5\u52a1\u5fc5\u53c2\u8003demo\n", "prefix": "sm.sm2encrypt"}, "sm.sm2decrypt": {"body": "sm.sm2decrypt(${1:private},${2:data},${3:mode},${4:mode2})", "description": "sm.sm2decrypt(private,data,mode,mode2) - sm2\u7b97\u6cd5\u89e3\u5bc6\n\u4f20\u5165\u503c\uff1a\nstring \u79c1\u94a5,\u5fc5\u9009,HEX\u5b57\u7b26\u4e32\nstring \u5f85\u8ba1\u7b97\u7684\u6570\u636e,\u5fc5\u9009,\u539f\u59cb\u6570\u636e,\u975eHEX\u5b57\u7b26\u4e32\nboolean \u8f93\u51fa\u6a21\u5f0f,\u9ed8\u8ba4false. false-GMSSL\u9ed8\u8ba4\u683c\u5f0fDER, true-\u7f51\u7ad9\u517c\u5bb9\u6a21\u5f0f\nboolean \u6807\u51c6\u7248\u672c,\u9ed8\u8ba4false. false-C1C3C2\u65b0\u56fd\u9645, true-C1C2C3\u8001\u56fd\u9645\n\u8fd4\u56de\u503c\uff1a\nstring \u89e3\u5bc6\u540e\u7684\u5b57\u7b26\u4e32,\u672a\u7ecfHEX\u8f6c\u6362.\u82e5\u89e3\u5bc6\u5931\u8d25\u4f1a\u8fd4\u56denil\u6216\u7a7a\u5b57\u7b26\u4e32\n\u4f8b\u5b50\uff1a\n-- \u63d0\u793a mode/mode2 \u53c2\u6570\u662f 2023.10.17 \u65b0\u589e\n-- \u7531\u4e8eSM2\u5728\u5404\u5e73\u53f0\u7684\u5b9e\u73b0\u90fd\u6709\u5dee\u5f02,\u7528\u6cd5\u52a1\u5fc5\u53c2\u8003demo\n", "prefix": "sm.sm2decrypt"}, "sm.sm3": {"body": "sm.sm3(${1:data})", "description": "sm.sm3(data) - sm3\u7b97\u6cd5,\u7b97HASH\u503c\n\u4f20\u5165\u503c\uff1a\nstring \u5f85\u8ba1\u7b97\u7684\u6570\u636e,\u5fc5\u9009\n\u8fd4\u56de\u503c\uff1a\nstring \u5bf9\u5e94\u7684hash\u503c\n\u4f8b\u5b50\uff1a\nlocal encodeStr = gmssl.sm3(\"lqlq666lqlq946\")\nlog.info(\"testsm.sm3update\",string.toHex(encodeStr))\n", "prefix": "sm.sm3"}, "sm.sm3hmac": {"body": "sm.sm3hmac(${1:data},${2:key})", "description": "sm.sm3hmac(data, key) - sm3\u7b97\u6cd5,\u7b97HASH\u503c,\u4f46\u5e26HMAC\n\u4f20\u5165\u503c\uff1a\nstring \u5f85\u8ba1\u7b97\u7684\u6570\u636e,\u5fc5\u9009\nstring \u5bc6\u94a5\n\u8fd4\u56de\u503c\uff1a\nstring \u5bf9\u5e94\u7684hash\u503c\n\u4f8b\u5b50\uff1a\nlocal encodeStr = gmssl.sm3hmac(\"lqlq666lqlq946\", \"123\")\nlog.info(\"testsm.sm3update\",string.toHex(encodeStr))\n", "prefix": "sm.sm3hmac"}, "gmssl.sm4encrypt": {"body": "gmssl.sm4encrypt(${1:mode},${2:padding},${3:originStr},${4:password})", "description": "gmssl.sm4encrypt(mode,padding,originStr,password) - SM4\u52a0\u5bc6\u7b97\u6cd5\n\u4f20\u5165\u503c\uff1a\nstring \u52a0\u5bc6\u6a21\u5f0f, CBC\u6216ECB \nstring \u586b\u5145\u65b9\u5f0f, NONE/ZERO/PKCS5/PKCS7\nstring \u52a0\u5bc6\u7684\u5b57\u7b26\u4e32\nstring \u5bc6\u94a5\n\u8fd4\u56de\u503c\uff1a\nstring \u52a0\u5bc6\u540e\u7684\u6570\u636e\n\u4f8b\u5b50\uff1a\nlocal originStr = \"SM4 ECB ZeroPadding test\"\n--\u52a0\u5bc6\u6a21\u5f0f\uff1aECB\uff1b\u586b\u5145\u65b9\u5f0f\uff1aZeroPadding\uff1b\u5bc6\u94a5\uff1a1234567890123456\uff1b\u5bc6\u94a5\u957f\u5ea6\uff1a128 bit\nlocal encodeStr = gmssl.sm4encrypt(\"ECB\",\"ZERO\",originStr,\"1234567890123456\")\nprint(originStr,\"encrypt\",string.toHex(encodeStr))\nlog.info(\"testsm.decrypt\",gmssl.sm4decrypt(\"ECB\",\"ZERO\",encodeStr,\"1234567890123456\"))\n\noriginStr = \"SM4 ECB Pkcs5Padding test\"\n--\u52a0\u5bc6\u6a21\u5f0f\uff1aECB\uff1b\u586b\u5145\u65b9\u5f0f\uff1aPkcs5Padding\uff1b\u5bc6\u94a5\uff1a1234567890123456\uff1b\u5bc6\u94a5\u957f\u5ea6\uff1a128 bit\nencodeStr = gmssl.sm4encrypt(\"ECB\",\"PKCS5\",originStr,\"1234567890123456\")\nprint(originStr,\"encrypt\",string.toHex(encodeStr))\nlog.info(\"testsm.decrypt\",gmssl.sm4decrypt(\"ECB\",\"PKCS5\",encodeStr,\"1234567890123456\"))\n\noriginStr = \"SM4 CBC Pkcs5Padding test\"\n--\u52a0\u5bc6\u6a21\u5f0f\uff1aCBC\uff1b\u586b\u5145\u65b9\u5f0f\uff1aPkcs5Padding\uff1b\u5bc6\u94a5\uff1a1234567890123456\uff1b\u5bc6\u94a5\u957f\u5ea6\uff1a256 bit\uff1b\u504f\u79fb\u91cf\uff1a1234567890666666\nencodeStr = gmssl.sm4encrypt(\"CBC\",\"PKCS5\",originStr,\"1234567890123456\",\"1234567890666666\")\nprint(originStr,\"encrypt\",string.toHex(encodeStr))\nlog.info(\"testsm.decrypt\",gmssl.sm4decrypt(\"CBC\",\"PKCS5\",encodeStr,\"1234567890123456\",\"1234567890666666\"))\n", "prefix": "gmssl.sm4encrypt"}, "gmssl.sm4decrypt": {"body": "gmssl.sm4decrypt(${1:mode},${2:padding},${3:encodeStr},${4:password})", "description": "gmssl.sm4decrypt(mode,padding,encodeStr,password) - SM4\u89e3\u5bc6\u7b97\u6cd5\n\u4f20\u5165\u503c\uff1a\nstring \u52a0\u5bc6\u6a21\u5f0f, CBC\u6216ECB \nstring \u586b\u5145\u65b9\u5f0f, NONE/ZERO/PKCS5/PKCS7\nstring \u5df2\u52a0\u5bc6\u7684\u5b57\u7b26\u4e32\nstring \u5bc6\u94a5\n\u8fd4\u56de\u503c\uff1a\nstring \u89e3\u5bc6\u7684\u5b57\u7b26\u4e32\n\u4f8b\u5b50\uff1a\n-- \u53c2\u8003gmssl.sm4encrypt\n", "prefix": "gmssl.sm4decrypt"}, "sm.sm2sign": {"body": "sm.sm2sign(${1:private},${2:data},${3:id})", "description": "sm.sm2sign(private,data,id) - sm2\u7b97\u6cd5\u7b7e\u540d\n\u4f20\u5165\u503c\uff1a\nstring \u79c1\u94a5,\u5fc5\u9009,HEX\u5b57\u7b26\u4e32\nstring \u5f85\u8ba1\u7b97\u7684\u6570\u636e,\u5fc5\u9009,\u539f\u59cb\u6570\u636e,\u975eHEX\u5b57\u7b26\u4e32\nstring id\u503c,\u975eHEX\u5b57\u7b26\u4e32,\u53ef\u9009,\u9ed8\u8ba4\u503c\"1234567812345678\"\n\u8fd4\u56de\u503c\uff1a\nstring \u524d\u9762\u5b57\u7b26\u4e32,\u672a\u7ecfHEX\u8f6c\u6362.\u82e5\u7b7e\u540d\u5931\u8d25\u4f1a\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\n-- \u672cAPI\u4e8e 2023.10.19 \u65b0\u589e\n-- \u5177\u4f53\u7528\u6cd5\u8bf7\u67e5\u9605demo\n", "prefix": "sm.sm2sign"}, "sm.sm2verify": {"body": "sm.sm2verify(${1:pkx},${2:pky},${3:data},${4:id},${5:sig})", "description": "sm.sm2verify(pkx, pky, data, id, sig) - sm2\u7b97\u6cd5\u9a8c\u7b7e\n\u4f20\u5165\u503c\uff1a\nstring \u516c\u94a5X,\u5fc5\u9009,HEX\u5b57\u7b26\u4e32\nstring \u516c\u94a5Y,\u5fc5\u9009,HEX\u5b57\u7b26\u4e32\nstring \u5f85\u8ba1\u7b97\u7684\u6570\u636e,\u5fc5\u9009,\u539f\u59cb\u6570\u636e,\u975eHEX\u5b57\u7b26\u4e32\nstring id\u503c,\u975eHEX\u5b57\u7b26\u4e32,\u53ef\u9009,\u9ed8\u8ba4\u503c\"1234567812345678\"\nstring \u7b7e\u540d\u6570\u636e,\u5fc5\u987b64\u5b57\u8282,\u975eHEX\u5b57\u7b26\u4e32\n\u8fd4\u56de\u503c\uff1a\nboolean \u9a8c\u8bc1\u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\n-- \u672cAPI\u4e8e 2023.10.19 \u65b0\u589e\n-- \u5177\u4f53\u7528\u6cd5\u8bf7\u67e5\u9605demo\n", "prefix": "sm.sm2verify"}, "gpio.setup": {"body": "gpio.setup(${1:pin},${2:mode},${3:pull},${4:irq},${5:alt})", "description": "gpio.setup(pin, mode, pull, irq, alt) - \u8bbe\u7f6e\u7ba1\u811a\u529f\u80fd\n\u4f20\u5165\u503c\uff1a\nint pin gpio\u7f16\u53f7,\u5fc5\u987b\u662f\u6570\u503c\nany mode \u8f93\u5165\u8f93\u51fa\u6a21\u5f0f\uff1a
        \u6570\u5b570/1\u4ee3\u8868\u8f93\u51fa\u6a21\u5f0f
        nil\u4ee3\u8868\u8f93\u5165\u6a21\u5f0f
        function\u4ee3\u8868\u4e2d\u65ad\u6a21\u5f0f\nint pull \u4e0a\u62c9\u4e0b\u5217\u6a21\u5f0f, \u53ef\u4ee5\u662fgpio.PULLUP \u6216 gpio.PULLDOWN, \u9700\u8981\u6839\u636e\u5b9e\u9645\u786c\u4ef6\u9009\u7528\nint irq \u4e2d\u65ad\u89e6\u53d1\u6a21\u5f0f,\u9ed8\u8ba4gpio.BOTH\u3002\u4e2d\u65ad\u89e6\u53d1\u6a21\u5f0f
        \u4e0a\u5347\u6cbfgpio.RISING
        \u4e0b\u964d\u6cbfgpio.FALLING
        \u4e0a\u5347\u548c\u4e0b\u964d\u90fd\u89e6\u53d1gpio.BOTH \nint alt \u590d\u7528\u9009\u9879\uff0c\u76ee\u524d\u53ea\u6709EC618\u5e73\u53f0\u9700\u8981\u8fd9\u4e2a\u53c2\u6570\uff0c\u6709\u4e9bGPIO\u53ef\u4ee5\u590d\u7528\u5230\u4e0d\u540c\u5f15\u811a\u4e0a\uff0c\u53ef\u4ee5\u9009\u62e9\u590d\u7528\u9009\u9879\uff080\u6216\u80054\uff09\u4ece\u800c\u590d\u7528\u5230\u5bf9\u5e94\u7684\u5f15\u811a\u4e0a\n\u8fd4\u56de\u503c\uff1a\nany \u8f93\u51fa\u6a21\u5f0f\u8fd4\u56de\u8bbe\u7f6e\u7535\u5e73\u7684\u95ed\u5305, \u8f93\u5165\u6a21\u5f0f\u548c\u4e2d\u65ad\u6a21\u5f0f\u8fd4\u56de\u83b7\u53d6\u7535\u5e73\u7684\u95ed\u5305\n\u4f8b\u5b50\uff1a\n-- \u8bbe\u7f6egpio17\u4e3a\u8f93\u5165\ngpio.setup(17, nil)\n-- \u8bbe\u7f6egpio17\u4e3a\u8f93\u51fa,\u4e14\u521d\u59cb\u5316\u7535\u5e73\u4e3a\u4f4e,\u4f7f\u7528\u786c\u4ef6\u9ed8\u8ba4\u4e0a\u4e0b\u62c9\u914d\u7f6e\ngpio.setup(17, 0)\n-- \u8bbe\u7f6egpio17\u4e3a\u8f93\u51fa,\u4e14\u521d\u59cb\u5316\u7535\u5e73\u4e3a\u9ad8,\u4e14\u542f\u7528\u5185\u90e8\u4e0a\u62c9\ngpio.setup(17, 1, gpio.PULLUP)\n-- \u8bbe\u7f6egpio27\u4e3a\u4e2d\u65ad\ngpio.setup(27, function(val) print(\"IRQ_27\",val) end, gpio.PULLUP)\n-- \u8bbe\u7f6egpio27\u4e3a\u4e2d\u65ad\ngpio.setup(27, function(val) print(\"IRQ_27\",val) end, gpio.PULLUP)\n\n-- alt_func \u4e8e2023.7.2\u65b0\u589e\n-- \u8bbe\u7f6eAIR780E\u7684PIN33\u590d\u7528\u6210gpio18\uff0c\u65b9\u5411\u8f93\u51fa,\u4e14\u521d\u59cb\u5316\u7535\u5e73\u4e3a\u4f4e,\u4f7f\u7528\u786c\u4ef6\u9ed8\u8ba4\u4e0a\u4e0b\u62c9\u914d\u7f6e\ngpio.setup(18, 0, nil, nil, 4)\n", "prefix": "gpio.setup"}, "gpio.set": {"body": "gpio.set(${1:pin},${2:value})", "description": "gpio.set(pin, value) - \u8bbe\u7f6e\u7ba1\u811a\u7535\u5e73\n\u4f20\u5165\u503c\uff1a\nint pin GPIO\u7f16\u53f7,\u5fc5\u987b\u662f\u6570\u503c\nint value \u7535\u5e73, \u53ef\u4ee5\u662f \u9ad8\u7535\u5e73gpio.HIGH, \u4f4e\u7535\u5e73gpio.LOW, \u6216\u8005\u76f4\u63a5\u5199\u6570\u503c1\u62160\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n-- \u8bbe\u7f6egpio17\u4e3a\u4f4e\u7535\u5e73\ngpio.set(17, 0)\n", "prefix": "gpio.set"}, "gpio.get": {"body": "gpio.get(${1:pin})", "description": "gpio.get(pin) - \u83b7\u53d6\u7ba1\u811a\u7535\u5e73\n\u4f20\u5165\u503c\uff1a\nint pin GPIO\u7f16\u53f7,\u5fc5\u987b\u662f\u6570\u503c\n\u8fd4\u56de\u503c\uff1a\nvalue \u7535\u5e73, \u9ad8\u7535\u5e73gpio.HIGH, \u4f4e\u7535\u5e73gpio.LOW, \u5bf9\u5e94\u6570\u503c1\u548c0\n\u4f8b\u5b50\uff1a\n-- \u83b7\u53d6gpio17\u7684\u5f53\u524d\u7535\u5e73\ngpio.get(17)\n", "prefix": "gpio.get"}, "gpio.close": {"body": "gpio.close(${1:pin})", "description": "gpio.close(pin) - \u5173\u95ed\u7ba1\u811a\u529f\u80fd(\u9ad8\u963b\u8f93\u5165\u6001),\u5173\u6389\u4e2d\u65ad\n\u4f20\u5165\u503c\uff1a\nint pin GPIO\u7f16\u53f7,\u5fc5\u987b\u662f\u6570\u503c\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c,\u603b\u662f\u6267\u884c\u6210\u529f\n\u4f8b\u5b50\uff1a\n-- \u5173\u95edgpio17\ngpio.close(17)\n", "prefix": "gpio.close"}, "gpio.setDefaultPull": {"body": "gpio.setDefaultPull(${1:val})", "description": "gpio.setDefaultPull(val) - \u8bbe\u7f6eGPIO\u811a\u7684\u9ed8\u8ba4\u4e0a\u62c9/\u4e0b\u62c9\u8bbe\u7f6e, \u9ed8\u8ba4\u662f\u5e73\u53f0\u81ea\u5b9a\u4e49(\u4e00\u822c\u4e3a\u5f00\u6f0f).\n\u4f20\u5165\u503c\uff1a\nint val 0\u5e73\u53f0\u81ea\u5b9a\u4e49,1\u4e0a\u62c9, 2\u4e0b\u62c9\n\u8fd4\u56de\u503c\uff1a\nboolean \u4f20\u503c\u6b63\u786e\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- \u8bbe\u7f6egpio.setup\u7684pull\u9ed8\u8ba4\u503c\u4e3a\u4e0a\u62c9\ngpio.setDefaultPull(1)\n", "prefix": "gpio.setDefaultPull"}, "gpio.toggle": {"body": "gpio.toggle(${1:pin})", "description": "gpio.toggle(pin) - \u53d8\u6362GPIO\u811a\u8f93\u51fa\u7535\u5e73,\u4ec5\u8f93\u51fa\u6a21\u5f0f\u53ef\u7528\n\u4f20\u5165\u503c\uff1a\nint \u7ba1\u811a\u7684GPIO\u53f7\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n-- \u672cAPI\u4e8e 2022.05.17 \u6dfb\u52a0\n-- \u5047\u8bbeGPIO16\u4e0a\u6709LED, \u6bcf500ms\u5207\u6362\u4e00\u6b21\u5f00\u5173\ngpio.setup(16, 0)\nsys.timerLoopStart(function()\n gpio.toggle(16)\nend, 500)\n", "prefix": "gpio.toggle"}, "gpio.pulse": {"body": "gpio.pulse(${1:pin},${2:level},${3:len},${4:delay})", "description": "gpio.pulse(pin,level,len,delay) - \u5728\u540c\u4e00\u4e2aGPIO\u8f93\u51fa\u4e00\u7ec4\u8109\u51b2, \u6ce8\u610f, len\u7684\u5355\u4f4d\u662fbit, \u9ad8\u4f4d\u5728\u524d.\n\u4f20\u5165\u503c\uff1a\nint gpio\u53f7\nint/string \u6570\u503c\u6216\u8005\u5b57\u7b26\u4e32.\nint len \u957f\u5ea6 \u5355\u4f4d\u662fbit, \u9ad8\u4f4d\u5728\u524d.\nint delay \u5ef6\u8fdf,\u5f53\u524d\u65e0\u56fa\u5b9a\u65f6\u95f4\u5355\u4f4d\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n-- \u901a\u8fc7PB06\u811a\u8f93\u51fa\u8f93\u51fa8\u4e2a\u7535\u5e73\u53d8\u5316.\ngpio.pulse(pin.PB06,0xA9, 8, 0)\n", "prefix": "gpio.pulse"}, "gpio.debounce": {"body": "gpio.debounce(${1:pin},${2:ms},${3:mode})", "description": "gpio.debounce(pin, ms, mode) - \u9632\u6296\u8bbe\u7f6e, \u6839\u636e\u786c\u4ef6ticks\u8fdb\u884c\u9632\u6296\n\u4f20\u5165\u503c\uff1a\nint gpio\u53f7, 0~127, \u4e0e\u786c\u4ef6\u76f8\u5173\nint \u9632\u6296\u65f6\u957f,\u5355\u4f4d\u6beb\u79d2, \u6700\u5927 65555 ms, \u8bbe\u7f6e\u4e3a0\u5219\u5173\u95ed\nint \u6a21\u5f0f, 0\u51b7\u5374\u6a21\u5f0f, 1\u5ef6\u65f6\u6a21\u5f0f. \u9ed8\u8ba4\u662f0\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n-- \u6d88\u6296\u6a21\u5f0f, \u5f53\u524d\u652f\u63012\u79cd, 2022.12.16\u5f00\u59cb\u652f\u6301mode=1\n-- 0 \u89e6\u53d1\u4e2d\u65ad\u540e,\u9a6c\u4e0a\u4e0a\u62a5\u4e00\u6b21, \u7136\u540e\u51b7\u5374N\u4e2a\u6beb\u79d2\u540e,\u91cd\u65b0\u63a5\u53d7\u4e2d\u65ad\n-- 1 \u89e6\u53d1\u4e2d\u65ad\u540e,\u5ef6\u8fdfN\u4e2a\u6beb\u79d2,\u671f\u95f4\u6ca1\u6709\u65b0\u4e2d\u65ad\u4e14\u7535\u5e73\u6ca1\u6709\u53d8\u5316,\u4e0a\u62a5\u4e00\u6b21\n\n-- \u5f00\u542f\u9632\u6296, \u6a21\u5f0f0-\u51b7\u5374, \u4e2d\u65ad\u540e\u9a6c\u4e0a\u4e0a\u62a5, \u4f46100ms\u5185\u53ea\u4e0a\u62a5\u4e00\u6b21\ngpio.debounce(7, 100) -- \u82e5\u82af\u7247\u652f\u6301pin\u5e93, \u53ef\u7528pin.PA7\u4ee3\u66ff\u6570\u5b577\n-- \u5f00\u542f\u9632\u6296, \u6a21\u5f0f1-\u5ef6\u65f6, \u4e2d\u65ad\u540e\u7b49\u5f85100ms,\u671f\u95f4\u82e5\u4fdd\u6301\u8be5\u7535\u5e73\u4e86,\u65f6\u95f4\u5230\u4e4b\u540e\u4e0a\u62a5\u4e00\u6b21\n-- \u5bf9\u5e94\u7684,\u5982\u679c\u8f93\u5165\u7684\u662f\u4e00\u4e2a 50hz\u7684\u65b9\u6ce2,\u90a3\u4e48\u4e0d\u4f1a\u89e6\u53d1\u4efb\u4f55\u4e0a\u62a5\ngpio.debounce(7, 100, 1)\n\n-- \u5173\u95ed\u9632\u6296,\u65f6\u95f4\u8bbe\u7f6e\u4e3a0\u5c31\u5173\u95ed\ngpio.debounce(7, 0)\n", "prefix": "gpio.debounce"}, "gtfont.init": {"body": "gtfont.init(${1:spi_device})", "description": "gtfont.init(spi_device) - \u521d\u59cb\u5316\u9ad8\u901a\u5b57\u4f53\u82af\u7247\n\u4f20\u5165\u503c\uff1a\nuserdata \u4ec5\u652f\u6301spi device \u751f\u6210\u7684\u6307\u9488\u6570\u636e\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- \u7279\u522b\u63d0\u9192: \u4f7f\u7528\u672c\u5e93\u7684\u4efb\u4f55\u4ee3\u7801, \u90fd\u9700\u8981 \u989d\u5916 \u7684 \u9ad8\u901a\u5b57\u4f53\u82af\u7247 !!\n-- \u6ca1\u6709\u989d\u5916\u82af\u7247\u662f\u8dd1\u4e0d\u4e86\u7684!!\ngtfont.init(spi_device)\n", "prefix": "gtfont.init"}, "hmeta.model": {"body": "hmeta.model()", "description": "hmeta.model() - \u83b7\u53d6\u6a21\u7ec4\u540d\u79f0\n\u8fd4\u56de\u503c\uff1a\nstring \u82e5\u80fd\u8bc6\u522b\u5230,\u8fd4\u56de\u6a21\u7ec4\u7c7b\u578b, \u5426\u5219\u4f1a\u662fnil\n\u4f8b\u5b50\uff1a\nsys.taskInit(function()\n while 1 do\n sys.wait(3000)\n -- hmeta\u8bc6\u522b\u5e95\u5c42\u6a21\u7ec4\u7c7b\u578b\u7684\n -- \u4e0d\u540c\u7684\u6a21\u7ec4\u53ef\u4ee5\u4f7f\u7528\u76f8\u540c\u7684bsp,\u4f46\u6839\u636e\u5c01\u88c5\u7684\u4e0d\u540c,\u6839\u636e\u5185\u90e8\u6570\u636e\u4ecd\u53ef\u8bc6\u522b\u51fa\u5177\u4f53\u6a21\u5757\n log.info(\"hmeta\", hmeta.model())\n log.info(\"bsp\", rtos.bsp())\n end\nend)\n", "prefix": "hmeta.model"}, "hmeta.hwver": {"body": "hmeta.hwver()", "description": "hmeta.hwver() - \u83b7\u53d6\u6a21\u7ec4\u7684\u786c\u4ef6\u7248\u672c\u53f7\n\u8fd4\u56de\u503c\uff1a\nstring \u82e5\u80fd\u8bc6\u522b\u5230,\u8fd4\u56de\u6a21\u7ec4\u7c7b\u578b, \u5426\u5219\u4f1a\u662fnil\n\u4f8b\u5b50\uff1a\nsys.taskInit(function()\n while 1 do\n sys.wait(3000)\n -- hmeta\u8bc6\u522b\u5e95\u5c42\u6a21\u7ec4\u7c7b\u578b\u7684\n -- \u4e0d\u540c\u7684\u6a21\u7ec4\u53ef\u4ee5\u4f7f\u7528\u76f8\u540c\u7684bsp,\u4f46\u6839\u636e\u5c01\u88c5\u7684\u4e0d\u540c,\u6839\u636e\u5185\u90e8\u6570\u636e\u4ecd\u53ef\u8bc6\u522b\u51fa\u5177\u4f53\u6a21\u5757\n log.info(\"hmeta\", hmeta.model(), hmeta.hwver())\n log.info(\"bsp\", rtos.bsp())\n end\nend)\n", "prefix": "hmeta.hwver"}, "http.request": {"body": "http.request(${1:method},${2:url},${3:headers},${4:body},${5:opts},${6:ca_file},${7:client_ca},${8:client_key},${9:client_password})", "description": "http.request(method,url,headers,body,opts,ca_file,client_ca, client_key, client_password) - http\u5ba2\u6237\u7aef\n\u4f20\u5165\u503c\uff1a\nstring \u8bf7\u6c42\u65b9\u6cd5, \u652f\u6301 GET/POST \u7b49\u5408\u6cd5\u7684HTTP\u65b9\u6cd5\nstring url\u5730\u5740, \u652f\u6301 http\u548chttps, \u652f\u6301\u57df\u540d, \u652f\u6301\u81ea\u5b9a\u4e49\u7aef\u53e3\ntabal \u8bf7\u6c42\u5934 \u53ef\u9009 \u4f8b\u5982 {[\"Content-Type\"] = \"application/x-www-form-urlencoded\"}\nstring body \u53ef\u9009, \u5bf9POST/PUT\u7b49\u8bf7\u6c42\u65b9\u5f0f\u6709\u6548\ntable \u989d\u5916\u914d\u7f6e \u53ef\u9009 \u5305\u542b timeout:\u8d85\u65f6\u65f6\u95f4\u5355\u4f4dms \u53ef\u9009,\u9ed8\u8ba410\u5206\u949f,\u51990\u5373\u6c38\u4e45\u7b49\u5f85 dst:\u4e0b\u8f7d\u8def\u5f84,\u53ef\u9009 adapter:\u9009\u62e9\u4f7f\u7528\u7f51\u5361,\u53ef\u9009 debug:\u662f\u5426\u6253\u5f00debug\u4fe1\u606f,\u53ef\u9009,ipv6:\u662f\u5426\u4e3aipv6 \u9ed8\u8ba4\u4e0d\u662f,\u53ef\u9009 callback:\u4e0b\u8f7d\u56de\u8c03\u51fd\u6570,\u53c2\u6570 content_len:\u603b\u957f\u5ea6 body_len:\u4ee5\u4e0b\u8f7d\u957f\u5ea6 userdata \u7528\u6237\u4f20\u53c2,\u53ef\u9009 userdata:\u56de\u8c03\u81ea\u5b9a\u4e49\u4f20\u53c2 \nstring \u670d\u52a1\u5668ca\u8bc1\u4e66\u6570\u636e, \u53ef\u9009, \u4e00\u822c\u4e0d\u9700\u8981\nstring \u5ba2\u6237\u7aefca\u8bc1\u4e66\u6570\u636e, \u53ef\u9009, \u4e00\u822c\u4e0d\u9700\u8981, \u53cc\u5411https\u8ba4\u8bc1\u624d\u9700\u8981\nstring \u5ba2\u6237\u7aef\u79c1\u94a5\u52a0\u5bc6\u6570\u636e, \u53ef\u9009, \u4e00\u822c\u4e0d\u9700\u8981, \u53cc\u5411https\u8ba4\u8bc1\u624d\u9700\u8981\nstring \u5ba2\u6237\u7aef\u79c1\u94a5\u53e3\u4ee4\u6570\u636e, \u53ef\u9009, \u4e00\u822c\u4e0d\u9700\u8981, \u53cc\u5411https\u8ba4\u8bc1\u624d\u9700\u8981\n\u8fd4\u56de\u503c\uff1a\nint code , \u670d\u52a1\u5668\u53cd\u9988\u7684\u503c>=100, \u6700\u5e38\u89c1\u7684\u662f200.\u5982\u679c\u662f\u5e95\u5c42\u9519\u8bef,\u4f8b\u5982\u8fde\u63a5\u5931\u8d25, \u8fd4\u56de\u503c\u5c0f\u4e8e0\ntabal headers \u5f53code>100\u65f6, \u4ee3\u8868\u670d\u52a1\u5668\u8fd4\u56de\u7684\u5934\u90e8\u6570\u636e \nstring/int body \u670d\u52a1\u5668\u54cd\u5e94\u7684\u5185\u5bb9\u5b57\u7b26\u4e32,\u5982\u679c\u662f\u4e0b\u8f7d\u6a21\u5f0f, \u5219\u8fd4\u56de\u6587\u4ef6\u5927\u5c0f\n\u4f8b\u5b50\uff1a\n\n--[[\ncode\u62a5\u9519\u4fe1\u606f\u5217\u8868:\n-1 HTTP_ERROR_STATE \u9519\u8bef\u7684\u72b6\u6001, \u4e00\u822c\u662f\u5e95\u5c42\u5f02\u5e38,\u8bf7\u62a5issue\n-2 HTTP_ERROR_HEADER \u9519\u8bef\u7684\u54cd\u5e94\u5934\u90e8, \u901a\u5e38\u662f\u670d\u52a1\u5668\u95ee\u9898\n-3 HTTP_ERROR_BODY \u9519\u8bef\u7684\u54cd\u5e94\u4f53,\u901a\u5e38\u662f\u670d\u52a1\u5668\u95ee\u9898\n-4 HTTP_ERROR_CONNECT \u8fde\u63a5\u670d\u52a1\u5668\u5931\u8d25, \u672a\u8054\u7f51,\u5730\u5740\u9519\u8bef,\u57df\u540d\u9519\u8bef\n-5 HTTP_ERROR_CLOSE \u63d0\u524d\u65ad\u5f00\u4e86\u8fde\u63a5, \u7f51\u7edc\u6216\u670d\u52a1\u5668\u95ee\u9898\n-6 HTTP_ERROR_RX \u63a5\u6536\u6570\u636e\u62a5\u9519, \u7f51\u7edc\u95ee\u9898\n-7 HTTP_ERROR_DOWNLOAD \u4e0b\u8f7d\u6587\u4ef6\u8fc7\u7a0b\u62a5\u9519, \u7f51\u7edc\u95ee\u9898\u6216\u4e0b\u8f7d\u8def\u5f84\u95ee\u9898\n-8 HTTP_ERROR_TIMEOUT \u8d85\u65f6, \u5305\u62ec\u8fde\u63a5\u8d85\u65f6,\u8bfb\u53d6\u6570\u636e\u8d85\u65f6\n-9 HTTP_ERROR_FOTA fota\u529f\u80fd\u62a5\u9519,\u901a\u5e38\u662f\u66f4\u65b0\u5305\u4e0d\u5408\u6cd5\n]]\n\n-- GET\u8bf7\u6c42\nlocal code, headers, body = http.request(\"GET\",\"http://site0.cn/api/httptest/simple/time\").wait()\nlog.info(\"http.get\", code, headers, body)\n-- POST\u8bf7\u6c42\nlocal code, headers, body = http.request(\"POST\",\"http://httpbin.com/post\", {}, \"abc=123\").wait()\nlog.info(\"http.post\", code, headers, body)\n\n-- GET\u8bf7\u6c42,\u4f46\u4e0b\u8f7d\u5230\u6587\u4ef6\nlocal code, headers, body = http.request(\"GET\",\"http://httpbin.com/\", {}, \"\", {dst=\"/data.bin\"}).wait()\nlog.info(\"http.get\", code, headers, body)\n\n-- \u81ea\u5b9a\u4e49\u8d85\u65f6\u65f6\u95f4, 5000ms\nhttp.request(\"GET\",\"http://httpbin.com/\", nil, nil, {timeout=5000}).wait()\n", "prefix": "http.request"}, "httpsrv.start": {"body": "httpsrv.start(${1:port},${2:func})", "description": "httpsrv.start(port, func) - \u542f\u52a8\u5e76\u76d1\u542c\u4e00\u4e2ahttp\u7aef\u53e3\n\u4f20\u5165\u503c\uff1a\nint \u7aef\u53e3\u53f7\nfunction \u56de\u8c03\u51fd\u6570\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue, \u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n\n-- \u76d1\u542c80\u7aef\u53e3\nhttpsrv.start(80, function(client, method, uri, headers, body)\n -- method \u662f\u5b57\u7b26\u4e32, \u4f8b\u5982 GET POST PUT DELETE\n -- uri \u4e5f\u662f\u5b57\u7b26\u4e32 \u4f8b\u5982 / /api/abc\n -- headers table\u7c7b\u578b\n -- body \u5b57\u7b26\u4e32\n log.info(\"httpsrv\", method, uri, json.encode(headers), body)\n if uri == \"/led/1\" then\n LEDA(1)\n return 200, {}, \"ok\"\n elseif uri == \"/led/0\" then\n LEDA(0)\n return 200, {}, \"ok\"\n end\n -- \u8fd4\u56de\u503c\u7684\u7ea6\u5b9a code, headers, body\n -- \u82e5\u6ca1\u6709\u8fd4\u56de\u503c, \u5219\u9ed8\u8ba4 404, {} ,\"\"\n return 404, {}, \"Not Found\" .. uri\nend)\n-- \u5173\u4e8e\u9759\u6001\u6587\u4ef6\n-- \u60c5\u51b51: / , \u6620\u5c04\u4e3a /index.html\n-- \u60c5\u51b52: /abc.html , \u5148\u67e5\u627e /abc.html, \u4e0d\u5b58\u5728\u7684\u8bdd\u67e5\u627e /abc.html.gz\n-- \u82e5gz\u5b58\u5728, \u4f1a\u81ea\u52a8\u4ee5\u538b\u7f29\u6587\u4ef6\u8fdb\u884c\u54cd\u5e94, \u7edd\u5927\u90e8\u5206\u6d4f\u89c8\u5668\u652f\u6301.\n-- \u5f53\u524d\u9ed8\u8ba4\u67e5\u627e /luadb/xxx \u4e0b\u7684\u6587\u4ef6,\u6682\u4e0d\u53ef\u914d\u7f6e\n", "prefix": "httpsrv.start"}, "httpsrv.stop": {"body": "httpsrv.stop(${1:port})", "description": "httpsrv.stop(port) - \u505c\u6b62http\u670d\u52a1\n\u4f20\u5165\u503c\uff1a\nint \u7aef\u53e3\u53f7\n\u8fd4\u56de\u503c\uff1a\nnil \u5f53\u524d\u65e0\u8fd4\u56de\u503c\n", "prefix": "httpsrv.stop"}, "i2c.exist": {"body": "i2c.exist(${1:id})", "description": "i2c.exist(id) - i2c\u7f16\u53f7\u662f\u5426\u5b58\u5728\n\u4f20\u5165\u503c\uff1a\nint \u8bbe\u5907id, \u4f8b\u5982i2c1\u7684id\u4e3a1, i2c2\u7684id\u4e3a2\n\u8fd4\u56de\u503c\uff1a\nbool \u5b58\u5728\u5c31\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- \u68c0\u67e5i2c1\u662f\u5426\u5b58\u5728\nif i2c.exist(1) then\n log.info(\"\u5b58\u5728 i2c1\")\nend\n", "prefix": "i2c.exist"}, "i2c.setup": {"body": "i2c.setup(${1:id},${2:speed},${3:slaveAddr})", "description": "i2c.setup(id, speed, slaveAddr) - i2c\u521d\u59cb\u5316\n\u4f20\u5165\u503c\uff1a\nint \u8bbe\u5907id, \u4f8b\u5982i2c1\u7684id\u4e3a1, i2c2\u7684id\u4e3a2\nint I2C\u901f\u5ea6, \u4f8b\u5982i2c.FAST\n\u8fd4\u56de\u503c\uff1a\nint \u6210\u529f\u5c31\u8fd4\u56de1,\u5426\u5219\u8fd4\u56de0\n\u4f8b\u5b50\uff1a\n-- \u521d\u59cb\u5316i2c1\ni2c.setup(1, i2c.FAST) -- \u7aef\u53e3\u6b63\u786e\u5c31\u4e00\u5b9a\u6210\u529f\n-- \u5982\u9700\u5224\u65adi2c id\u662f\u5426\u5408\u6cd5, \u8bf7\u4f7f\u7528 i2c.exist \u51fd\u6570\n", "prefix": "i2c.setup"}, "i2c.createSoft": {"body": "i2c.createSoft(${1:scl},${2:sda},${3:delay})", "description": "i2c.createSoft(scl,sda,delay) - \u65b0\u5efa\u4e00\u4e2a\u8f6f\u4ef6i2c\u5bf9\u8c61\n\u4f20\u5165\u503c\uff1a\nint i2c SCL\u5f15\u811a\u7f16\u53f7(GPIO\u7f16\u53f7)\nint i2c SDA\u5f15\u811a\u7f16\u53f7(GPIO\u7f16\u53f7)\nint \u6bcf\u4e2a\u64cd\u4f5c\u7684\u5ef6\u65f6, \u5355\u4f4dus, \u9ed8\u8ba45\n\u8fd4\u56de\u503c\uff1a\n\u8f6f\u4ef6I2C\u5bf9\u8c61 \u53ef\u5f53\u4f5ci2c\u7684id\u4f7f\u7528\n\u4f8b\u5b50\uff1a\n-- \u6ce8\u610f\uff01\u8fd9\u4e2a\u63a5\u53e3\u662f\u8f6f\u4ef6\u6a21\u62dfi2c\uff0c\u901f\u5ea6\u53ef\u80fd\u4f1a\u6bd4\u786c\u4ef6\u7684\u6162\n-- \u4e0d\u9700\u8981\u8c03\u7528i2c.close\u63a5\u53e3\n-- \u521d\u59cb\u5316\u8f6f\u4ef6i2c\nlocal softI2C = i2c.createSoft(1, 2, 5)\ni2c.send(softI2C, 0x5C, string.char(0x0F, 0x2F))\n-- \u6ce8\u610f, \u7b2c3\u4e2a\u53c2\u6570\u662f 2023.06.19 \u6dfb\u52a0\u7684delay\n-- \u901a\u8fc7\u8c03\u6574delay\u53c2\u6570\u7684\u503c, \u53ef\u589e\u52a0\u6216\u964d\u4f4eI2C\u7684\u901f\u5ea6\n", "prefix": "i2c.createSoft"}, "i2c.send": {"body": "i2c.send(${1:id},${2:addr},${3:data},${4:stop})", "description": "i2c.send(id, addr, data,stop) - i2c\u53d1\u9001\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nint \u8bbe\u5907id, \u4f8b\u5982i2c1\u7684id\u4e3a1, i2c2\u7684id\u4e3a2\nint I2C\u5b50\u8bbe\u5907\u7684\u5730\u5740, 7\u4f4d\u5730\u5740\ninteger/string/table \u5f85\u53d1\u9001\u7684\u6570\u636e,\u81ea\u9002\u5e94\u53c2\u6570\u7c7b\u578b\ninteger \u53ef\u9009\u53c2\u6570 \u662f\u5426\u53d1\u9001\u505c\u6b62\u4f4d 1\u53d1\u9001 0\u4e0d\u53d1\u9001 \u9ed8\u8ba4\u53d1\u9001(105\u4e0d\u652f\u6301)\n\u8fd4\u56de\u503c\uff1a\ntrue/false \u53d1\u9001\u662f\u5426\u6210\u529f\n\u4f8b\u5b50\uff1a\n-- \u5f80i2c0\u53d1\u90011\u4e2a\u5b57\u8282\u7684\u6570\u636e\ni2c.send(0, 0x68, 0x75)\n-- \u5f80i2c1\u53d1\u90012\u4e2a\u5b57\u8282\u7684\u6570\u636e\ni2c.send(1, 0x5C, string.char(0x0F, 0x2F))\ni2c.send(1, 0x5C, {0x0F, 0x2F})\n", "prefix": "i2c.send"}, "i2c.recv": {"body": "i2c.recv(${1:id},${2:addr},${3:len})", "description": "i2c.recv(id, addr, len) - i2c\u63a5\u6536\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nint \u8bbe\u5907id, \u4f8b\u5982i2c1\u7684id\u4e3a1, i2c2\u7684id\u4e3a2\nint I2C\u5b50\u8bbe\u5907\u7684\u5730\u5740, 7\u4f4d\u5730\u5740\nint \u63a5\u6536\u6570\u636e\u7684\u957f\u5ea6\n\u8fd4\u56de\u503c\uff1a\nstring \u6536\u5230\u7684\u6570\u636e\n\u4f8b\u5b50\uff1a\n-- \u4ecei2c1\u8bfb\u53d62\u4e2a\u5b57\u8282\u7684\u6570\u636e\nlocal data = i2c.recv(1, 0x5C, 2)\n", "prefix": "i2c.recv"}, "i2c.writeReg": {"body": "i2c.writeReg(${1:id},${2:addr},${3:reg},${4:data},${5:stop})", "description": "i2c.writeReg(id, addr, reg, data,stop) - i2c\u5199\u5bc4\u5b58\u5668\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nint \u8bbe\u5907id, \u4f8b\u5982i2c1\u7684id\u4e3a1, i2c2\u7684id\u4e3a2\nint I2C\u5b50\u8bbe\u5907\u7684\u5730\u5740, 7\u4f4d\u5730\u5740\nint \u5bc4\u5b58\u5668\u5730\u5740\nstring \u5f85\u53d1\u9001\u7684\u6570\u636e\ninteger \u53ef\u9009\u53c2\u6570 \u662f\u5426\u53d1\u9001\u505c\u6b62\u4f4d 1\u53d1\u9001 0\u4e0d\u53d1\u9001 \u9ed8\u8ba4\u53d1\u9001(105\u4e0d\u652f\u6301)\n\u8fd4\u56de\u503c\uff1a\ntrue/false \u53d1\u9001\u662f\u5426\u6210\u529f\n\u4f8b\u5b50\uff1a\n-- \u4ecei2c1\u7684\u5730\u5740\u4e3a0x5C\u7684\u8bbe\u5907\u7684\u5bc4\u5b58\u56680x01\u5199\u51652\u4e2a\u5b57\u8282\u7684\u6570\u636e\ni2c.writeReg(1, 0x5C, 0x01, string.char(0x00, 0xF2))\n", "prefix": "i2c.writeReg"}, "i2c.readReg": {"body": "i2c.readReg(${1:id},${2:addr},${3:reg},${4:len})", "description": "i2c.readReg(id, addr, reg, len) - i2c\u8bfb\u5bc4\u5b58\u5668\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nint \u8bbe\u5907id, \u4f8b\u5982i2c1\u7684id\u4e3a1, i2c2\u7684id\u4e3a2\nint I2C\u5b50\u8bbe\u5907\u7684\u5730\u5740, 7\u4f4d\u5730\u5740\nint \u5bc4\u5b58\u5668\u5730\u5740\nint \u5f85\u63a5\u6536\u7684\u6570\u636e\u957f\u5ea6\ninteger \u53ef\u9009\u53c2\u6570 \u662f\u5426\u53d1\u9001\u505c\u6b62\u4f4d 1\u53d1\u9001 0\u4e0d\u53d1\u9001 \u9ed8\u8ba4\u53d1\u9001(105\u4e0d\u652f\u6301)\n\u8fd4\u56de\u503c\uff1a\nstring \u6536\u5230\u7684\u6570\u636e\n\u4f8b\u5b50\uff1a\n-- \u4ecei2c1\u7684\u5730\u5740\u4e3a0x5C\u7684\u8bbe\u5907\u7684\u5bc4\u5b58\u56680x01\u8bfb\u51fa2\u4e2a\u5b57\u8282\u7684\u6570\u636e\ni2c.readReg(1, 0x5C, 0x01, 2)\n", "prefix": "i2c.readReg"}, "i2c.close": {"body": "i2c.close(${1:id})", "description": "i2c.close(id) - \u5173\u95edi2c\u8bbe\u5907\n\u4f20\u5165\u503c\uff1a\nint \u8bbe\u5907id, \u4f8b\u5982i2c1\u7684id\u4e3a1, i2c2\u7684id\u4e3a2\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n-- \u5173\u95edi2c1\ni2c.close(1)\n", "prefix": "i2c.close"}, "i2c.readDHT12": {"body": "i2c.readDHT12(${1:id})", "description": "i2c.readDHT12(id) - \u4ecei2c\u603b\u7ebf\u8bfb\u53d6DHT12\u7684\u6e29\u6e7f\u5ea6\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nint \u8bbe\u5907id, \u4f8b\u5982i2c1\u7684id\u4e3a1, i2c2\u7684id\u4e3a2\nint DHT12\u7684\u8bbe\u5907\u5730\u5740,\u9ed8\u8ba40x5C\n\u8fd4\u56de\u503c\uff1a\nboolean \u8bfb\u53d6\u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\nint \u6e7f\u5ea6\u503c,\u5355\u4f4d0.1%, \u4f8b\u5982 591 \u4ee3\u8868 59.1%\nint \u6e29\u5ea6\u503c,\u5355\u4f4d0.1\u6444\u6c0f\u5ea6, \u4f8b\u5982 292 \u4ee3\u8868 29.2\u6444\u6c0f\u5ea6\n\u4f8b\u5b50\uff1a\n-- \u4ecei2c0\u8bfb\u53d6DHT12\ni2c.setup(0)\nlocal re, H, T = i2c.readDHT12(0)\nif re then\n log.info(\"dht12\", H, T)\nend\n", "prefix": "i2c.readDHT12"}, "i2c.readSHT30": {"body": "i2c.readSHT30(${1:id},${2:addr})", "description": "i2c.readSHT30(id,addr) - \u4ecei2c\u603b\u7ebf\u8bfb\u53d6DHT30\u7684\u6e29\u6e7f\u5ea6\u6570\u636e(\u7531\"\u597d\u5947\u661f\"\u8d21\u732e)\n\u4f20\u5165\u503c\uff1a\nint \u8bbe\u5907id, \u4f8b\u5982i2c1\u7684id\u4e3a1, i2c2\u7684id\u4e3a2\nint \u8bbe\u5907addr,SHT30\u7684\u8bbe\u5907\u5730\u5740,\u9ed8\u8ba40x44 bit7\n\u8fd4\u56de\u503c\uff1a\nboolean \u8bfb\u53d6\u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\nint \u6e7f\u5ea6\u503c,\u5355\u4f4d0.1%, \u4f8b\u5982 591 \u4ee3\u8868 59.1%\nint \u6e29\u5ea6\u503c,\u5355\u4f4d0.1\u6444\u6c0f\u5ea6, \u4f8b\u5982 292 \u4ee3\u8868 29.2\u6444\u6c0f\u5ea6\n\u4f8b\u5b50\uff1a\n-- \u4ecei2c0\u8bfb\u53d6SHT30\ni2c.setup(0)\nlocal re, H, T = i2c.readSHT30(0)\nif re then\n log.info(\"sht30\", H, T)\nend\n", "prefix": "i2c.readSHT30"}, "i2c.transfer": {"body": "i2c.transfer(${1:id},${2:addr},${3:txBuff},${4:rxBuff},${5:rxLen})", "description": "i2c.transfer(id, addr, txBuff, rxBuff, rxLen) - i2c\u901a\u7528\u4f20\u8f93\uff0c\u5305\u62ec\u53d1\u9001N\u5b57\u8282\uff0c\u53d1\u9001N\u5b57\u8282+\u63a5\u6536N\u5b57\u8282\uff0c\u63a5\u6536N\u5b57\u8282\u4e09\u79cd\u529f\u80fd\uff0c\u5728\u53d1\u9001\u8f6c\u63a5\u6536\u8fc7\u7a0b\u4e2d\u53d1\u9001reStart\u4fe1\u53f7,\u89e3\u51b3\u7c7b\u4f3cmlx90614\u5fc5\u987b\u5e26restart\u4fe1\u53f7\uff0c\u4f46\u662f\u53c8\u4e0d\u80fd\u7528i2c.send\u6765\u63a7\u5236\u7684\uff0c\u6bd4\u5982air105\n\u4f20\u5165\u503c\uff1a\nint \u8bbe\u5907id, \u4f8b\u5982i2c1\u7684id\u4e3a1, i2c2\u7684id\u4e3a2\nint I2C\u5b50\u8bbe\u5907\u7684\u5730\u5740, 7\u4f4d\u5730\u5740\ninteger/string/zbuff \u5f85\u53d1\u9001\u7684\u6570\u636e,\u81ea\u9002\u5e94\u53c2\u6570\u7c7b\u578b\uff0c\u5982\u679c\u4e3anil\uff0c\u5219\u4e0d\u53d1\u9001\u6570\u636e\nzbuff \u5f85\u63a5\u6536\u6570\u636e\u7684zbuff \u5982\u679c\u4e0d\u7528zbuff\uff0c\u5219\u63a5\u6536\u6570\u636e\u5c06\u5728return\u8fd4\u56de\nint \u9700\u8981\u63a5\u6536\u7684\u6570\u636e\u957f\u5ea6\uff0c\u5982\u679c\u4e3a0\u6216nil\uff0c\u5219\u4e0d\u63a5\u6536\u6570\u636e\n\u8fd4\u56de\u503c\uff1a\nboolean true/false \u53d1\u9001\u662f\u5426\u6210\u529f\nstring or nil \u5982\u679c\u53c2\u65705\u662finterger\uff0c\u5219\u8fd4\u56de\u63a5\u6536\u5230\u7684\u6570\u636e\n\u4f8b\u5b50\uff1a\nlocal result, _ = i2c.transfer(0, 0x11, txbuff, rxbuff, 1)\nlocal result, _ = i2c.transfer(0, 0x11, txbuff, nil, 0)\t--\u53ea\u53d1\u9001txbuff\u91cc\u7684\u6570\u636e\uff0c\u4e0d\u63a5\u6536\u6570\u636e\uff0c\u5178\u578b\u5e94\u7528\u5c31\u662f\u5199\u5bc4\u5b58\u5668\u4e86\uff0c\u8fd9\u91cc\u5bc4\u5b58\u5668\u5730\u5740\u548c\u503c\u90fd\u653e\u5728\u4e86txbuff\u91cc\nlocal result, _ = i2c.transfer(0, 0x11, \"\\x01\\x02\\x03\", nil, 1) --\u53d1\u90010x01\uff0c 0x02\uff0c0x03\uff0c\u4e0d\u63a5\u6536\u6570\u636e\uff0c\u5982\u679c\u662feeprom\uff0c\u5c31\u662f\u5f800x01\u7684\u5730\u5740\u519902\u548c03\uff0c\u6216\u8005\u5f800x0102\u7684\u5730\u5740\u519903\uff0c\u770b\u5177\u4f53\u82af\u7247\u4e86\nlocal result, rxdata = i2c.transfer(0, 0x11, \"\\x01\\x02\", nil, 1) --\u53d1\u90010x01\uff0c 0x02\uff0c\u7136\u540e\u63a5\u65361\u4e2a\u5b57\u8282\uff0c\u5178\u578b\u5e94\u7528\u5c31\u662feeprom\nlocal result, rxdata = i2c.transfer(0, 0x11, 0x00, nil, 1) --\u53d1\u90010x00\uff0c\u7136\u540e\u63a5\u65361\u4e2a\u5b57\u8282\uff0c\u5178\u578b\u5e94\u7528\u5404\u79cd\u4f20\u611f\u5668\n", "prefix": "i2c.transfer"}, "i2c.xfer": {"body": "i2c.xfer(${1:id},${2:addr},${3:txBuff},${4:rxBuff},${5:rxLen},${6:transfer_done_topic},${7:timeout})", "description": "i2c.xfer(id, addr, txBuff, rxBuff, rxLen, transfer_done_topic, timeout) - i2c\u975e\u963b\u585e\u901a\u7528\u4f20\u8f93\uff0c\u7c7b\u4f3ctransfer\uff0c\u4f46\u662f\u4e0d\u4f1a\u7b49\u5230I2C\u4f20\u8f93\u5b8c\u6210\u624d\u8fd4\u56de\uff0c\u8c03\u7528\u672c\u51fd\u6570\u4f1a\u7acb\u523b\u8fd4\u56de\uff0cI2C\u4f20\u8f93\u5b8c\u6210\u540e\uff0c\u901a\u8fc7\u6d88\u606f\u56de\u8c03\n\u4f20\u5165\u503c\uff1a\nint \u8bbe\u5907id, \u4f8b\u5982i2c1\u7684id\u4e3a1, i2c2\u7684id\u4e3a2\nint I2C\u5b50\u8bbe\u5907\u7684\u5730\u5740, 7\u4f4d\u5730\u5740\nzbuff \u5f85\u53d1\u9001\u7684\u6570\u636e\uff0c\u7531\u4e8e\u7528\u7684\u975e\u963b\u585e\u6a21\u578b\uff0c\u4e3a\u4fdd\u8bc1\u52a8\u6001\u6570\u636e\u7684\u6709\u6548\u6027\uff0c\u53ea\u80fd\u4f7f\u7528zbuff\uff0c\u53d1\u9001\u7684\u6570\u636e\u4ecezbuff.addr\u5f00\u59cb\uff0c\u957f\u5ea6\u4e3azbuff.used\nzbuff \u5f85\u63a5\u6536\u6570\u636e\u7684zbuff\uff0c\u5982\u679c\u4e3anil\uff0c\u5219\u5ffd\u7565\u540e\u9762\u53c2\u6570\uff0c \u4e0d\u63a5\u6536\u6570\u636e\u3002\u63a5\u6536\u7684\u6570\u636e\u4f1a\u653e\u5728zbuff.addr\u5f00\u59cb\u7684\u4f4d\u7f6e\uff0c\u4f1a\u8986\u76d6\u6389\u4e4b\u524d\u7684\u6570\u636e\uff0c\u6ce8\u610fzhuff\u7684\u9884\u7559\u7a7a\u95f4\u8981\u8db3\u591f\nint \u9700\u8981\u63a5\u6536\u7684\u6570\u636e\u957f\u5ea6\uff0c\u5982\u679c\u4e3a0\u6216nil\uff0c\u5219\u4e0d\u63a5\u6536\u6570\u636e\nstring \u4f20\u8f93\u5b8c\u6210\u540e\u56de\u8c03\u7684\u6d88\u606f\nint \u8d85\u65f6\u65f6\u95f4\uff0c\u5982\u679c\u586bnil\uff0c\u5219\u4e3a100ms\n\u8fd4\u56de\u503c\uff1a\nboolean true/false \u672c\u6b21\u4f20\u8f93\u662f\u5426\u6b63\u786e\u542f\u52a8\uff0ctrue\uff0c\u542f\u52a8\uff0cfalse\uff0c\u6709\u9519\u8bef\u65e0\u6cd5\u542f\u52a8\u3002\u4f20\u8f93\u5b8c\u6210\u4f1a\u53d1\u5e03\u6d88\u606ftransfer_done_topic\u548cboolean\u578b\u7ed3\u679c\n\u4f8b\u5b50\uff1a\nlocal result = i2c.xfer(0, 0x11, txbuff, rxbuff, 1, \"I2CDONE\") if result then result, i2c_id, succ, error_code = sys.waitUntil(\"I2CDONE\") end if not result or not succ then log.info(\"i2c fail, error code\", error_code) else log.info(\"i2c ok\") end\n\n", "prefix": "i2c.xfer"}, "i2c.scan": {"body": "i2c.scan(${1:id})", "description": "i2c.scan(id) - \u626b\u63cfi2c\u8bbe\u5907\n\u4f20\u5165\u503c\uff1a\nint \u8bbe\u5907id, \u4f8b\u5982i2c1\u7684id\u4e3a1, i2c2\u7684id\u4e3a2\n\u8fd4\u56de\u503c\uff1a\nnil \u5f53\u524d\u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n-- \u672c\u51fd\u6570\u4e8e2023.07.04\u6dfb\u52a0\n-- \u8fd9\u4e2a\u51fd\u6570\u7684\u4e3b\u8981\u76ee\u6807\u662f\u4e3a\u4e86\u5728\u5f00\u53d1\u671f\u626b\u63cfi2c\u8bbe\u5907\n-- \u6709\u4e9bBSP\u5728\u6307\u5b9aaddr\u65e0\u54cd\u5e94\u65f6\u4f1a\u8f93\u51fa\u65e5\u5fd7,\u5bfc\u81f4\u8f93\u51fa\u4f1a\u88ab\u6253\u4e71\ni2c.scan()\n", "prefix": "i2c.scan"}, "i2s.setup": {"body": "i2s.setup(${1:id},${2:mode},${3:sample},${4:bitw},${5:channel},${6:format},${7:mclk})", "description": "i2s.setup(id, mode, sample, bitw, channel, format, mclk) - \u521d\u59cb\u5316i2s\n\u4f20\u5165\u503c\uff1a\nint i2s\u901a\u9053\u53f7,\u4e0e\u5177\u4f53\u8bbe\u5907\u6709\u5173\nint \u6a21\u5f0f, \u5f53\u524d\u4ec5\u652f\u63010, MASTER|TX|RX \u6a21\u5f0f, \u6682\u4e0d\u652f\u6301slave. \u53ef\u9009\nint \u91c7\u6837\u7387,\u9ed8\u8ba444100. \u53ef\u9009\nint \u6570\u636e\u4f4d\u6570,\u9ed8\u8ba416, \u53ef\u4ee5\u662f8\u7684\u500d\u6570\nint \u58f0\u9053, 0 \u5de6\u58f0\u9053, 1 \u53f3\u58f0\u9053, 2 \u53cc\u58f0\u9053. \u53ef\u9009\nint \u683c\u5f0f, \u53ef\u9009MODE_I2S, MODE_LSB, MODE_MSB\nint mclk\u9891\u7387, \u9ed8\u8ba4 8M. \u53ef\u9009\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u4e0e\u5426\nint \u5e95\u5c42\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n-- \u4ee5\u9ed8\u8ba4\u53c2\u6570\u521d\u59cb\u5316i2s\ni2s.setup(0)\n-- \u4ee5\u8be6\u7ec6\u53c2\u6570\u521d\u59cb\u5316i2s, \u793a\u4f8b\u4e3a\u9ed8\u8ba4\u503c\ni2s.setup(0, 0, 44100, 16, 0, 0, 8000000)\n", "prefix": "i2s.setup"}, "i2s.send": {"body": "i2s.send(${1:id},${2:data},${3:len})", "description": "i2s.send(id, data, len) - \u53d1\u9001i2s\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nint \u901a\u9053id\nstring \u6570\u636e, \u53ef\u4ee5\u662f\u5b57\u7b26\u4e32\u6216zbuff\nint \u6570\u636e\u957f\u5ea6,\u5355\u4f4d\u5b57\u8282, \u5b57\u7b26\u4e32\u9ed8\u8ba4\u4e3a\u5b57\u7b26\u4e32\u5168\u957f, zbuff\u9ed8\u8ba4\u4e3a\u6307\u9488\u4f4d\u7f6e\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u4e0e\u5426\nint \u5e95\u5c42\u8fd4\u56de\u503c,\u4f9b\u8c03\u8bd5\u7528\n\u4f8b\u5b50\uff1a\nlocal f = io.open(\"/luadb/abc.wav\")\nwhile 1 do\n local data = f:read(4096)\n if not data or #data == 0 then\n break\n end\n i2s.send(0, data)\n sys.wait(100)\nend\n", "prefix": "i2s.send"}, "i2s.recv": {"body": "i2s.recv(${1:id},${2:buffer},${3:len})", "description": "i2s.recv(id, buffer, len) - \u63a5\u6536i2s\u6570\u636e\uff0c\u6ce8\u610f\u5728\u6570\u636e\u5728\u56de\u8c03\u65f6\u5df2\u7ecf\u5b58\u653e\u5728zbuff\u91cc\uff0c\u76ee\u524d\u53ea\u6709air780e\u7cfb\u5217\u652f\u6301\n\u4f20\u5165\u503c\uff1a\nint \u901a\u9053id\nzbuff \u6570\u636e\u7f13\u5b58\u533a\nint \u5355\u6b21\u8fd4\u56de\u7684\u6570\u636e\u957f\u5ea6,\u5355\u4f4d\u5b57\u8282,\u5fc5\u987b\u4e0e\u4f20\u5165\u7684zbuff\u7684\u5927\u5c0f\u4e00\u81f4\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u4e0e\u5426\n\u4f8b\u5b50\uff1a\nlocal buffer = zbuff.create(3200)\nlocal succ = i2s.recv(0, buffer, 3200);\n", "prefix": "i2s.recv"}, "i2s.close": {"body": "i2s.close(${1:id})", "description": "i2s.close(id) - \u5173\u95edi2s\n\u4f20\u5165\u503c\uff1a\nint \u901a\u9053id\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\ni2s.close(0)\n", "prefix": "i2s.close"}, "i2s.on": {"body": "i2s.on(${1:id},${2:func})", "description": "i2s.on(id, func) - \u6ce8\u518cI2S\u4e8b\u4ef6\u56de\u8c03\n\u4f20\u5165\u503c\uff1a\nint i2s id, i2s0\u51990, i2s1\u51991\nfunction \u56de\u8c03\u65b9\u6cd5\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\ni2s.on(0, function(id, buff)\n\tif buff then\n\t\tlog.info(\"i2s get data in zbuff\")\n\telse\n\t\tlog.info(\"i2s tx one block done\")\n\tend\nend)\n", "prefix": "i2s.on"}, "i2s.txStat": {"body": "i2s.txStat(${1:id})", "description": "i2s.txStat(id) - \u83b7\u53d6i2s\u7684\u53d1\u9001\u7f13\u51b2\u533a\u72b6\u6001\n\u4f20\u5165\u503c\uff1a\nint i2s id, i2s0\u51990, i2s1\u51991\nreturn \u5e95\u5c42\u7f13\u51b2\u533a\u7684\u603b\u5927\u5c0f\nreturn \u5e95\u5c42\u7f13\u51b2\u533a\u7684\u5269\u4f59\u5f85\u53d1\u9001\u6570\u636e\n\u4f8b\u5b50\uff1a\n-- \u8bfb\u53d6\u53d1\u9001\u7f13\u51b2\u533a\u7684\u72b6\u6001, \u4ece\u800c\u5224\u65ad\u662f\u5426\u9700\u8981\u7ee7\u7eed\u4f20\u5165\u97f3\u9891\u6570\u636e\nlocal max, remain = i2s.txStat(0)\nlog.info(\"i2s\u53d1\u9001\u7f13\u51b2\u533a\u72b6\u6001\", max, remain)\n", "prefix": "i2s.txStat"}, "iconv.open": {"body": "iconv.open(${1:tocode},${2:fromcode})", "description": "iconv.open(tocode, fromcode) - \u6253\u5f00\u76f8\u5e94\u5b57\u7b26\u7f16\u7801\u8f6c\u6362\u51fd\u6570\n\u4f20\u5165\u503c\uff1a\nstring \u91ca\u4e49\uff1a\u76ee\u6807\u7f16\u7801\u683c\u5f0f
        \u53d6\u503c\uff1agb2312/ucs2/ucs2be/utf8\nstring \u91ca\u4e49\uff1a\u6e90\u7f16\u7801\u683c\u5f0f
        \u53d6\u503c\uff1agb2312/ucs2/ucs2be/utf8\n\u8fd4\u56de\u503c\uff1a\nuserdata \u7f16\u7801\u8f6c\u6362\u51fd\u6570\u7684\u8f6c\u6362\u53e5\u67c4,\u82e5\u4e0d\u5b58\u5728\u4f1a\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\n--unicode\u5927\u7aef\u7f16\u7801 \u8f6c\u5316\u4e3a utf8\u7f16\u7801\nlocal iconv = iconv.open(\"utf8\", \"ucs2be\")\n", "prefix": "iconv.open"}, "cd:iconv": {"body": "cd:iconv(${1:inbuf})", "description": "cd:iconv(inbuf) - \u5b57\u7b26\u7f16\u7801\u8f6c\u6362\n\u4f20\u5165\u503c\uff1a\nstring inbuf$\u8f93\u5165\u5b57\u7b26\u4e32$\u4f8b\u5982:ucs2s \nreturn number$result$\u8fd4\u56de\u7f16\u7801\u8f6c\u6362\u540e\u7684\u7ed3\u679c$0\u6210\u529f,-1\u5931\u8d25\n\u4f8b\u5b50\uff1a\n--unicode\u5927\u7aef\u7f16\u7801 \u8f6c\u5316\u4e3a utf8\u7f16\u7801\nfunction ucs2beToUtf8(ucs2s)\n local cd = iconv.open(\"utf8\", \"ucs2be\")\n return cd:iconv(ucs2s)\nend\n", "prefix": "cd:iconv"}, "iconv.close": {"body": "iconv.close(${1:cd})", "description": "iconv.close(cd) - \u5173\u95ed\u5b57\u7b26\u7f16\u7801\u8f6c\u6362\n\u4f20\u5165\u503c\uff1a\nstring cd$iconv.open\u8fd4\u56de\u7684\u53e5\u67c4$ \nreturn \n\u4f8b\u5b50\uff1a\n--\u5173\u95ed\u5b57\u7b26\u7f16\u7801\u8f6c\u6362\nlocal cd = iconv.open(\"utf8\", \"ucs2be\")\niconv.close(cd)\n", "prefix": "iconv.close"}, "iconv:iconv": {"body": "iconv:iconv(${1:inbuf})", "description": "iconv:iconv(inbuf) - \u5b57\u7b26\u7f16\u7801\u8f6c\u6362\n\u4f20\u5165\u503c\uff1a\nstring \u91ca\u4e49\uff1a\u5f85\u8f6c\u6362\u5b57\u7b26\u4e32\n\u8fd4\u56de\u503c\uff1a\nnumber \u91ca\u4e49\uff1a\u8fd4\u56de\u7f16\u7801\u8f6c\u6362\u540e\u7684\u7ed3\u679c
        \u53d6\u503c\uff1a0\u6210\u529f,-1\u5931\u8d25\n\u4f8b\u5b50\uff1a\n--unicode\u5927\u7aef\u7f16\u7801 \u8f6c\u5316\u4e3a utf8\u7f16\u7801\nfunction ucs2beToUtf8(ucs2s)\n local iconv = iconv.open(\"utf8\", \"ucs2be\")\n return iconv:iconv(ucs2s)\nend\n", "prefix": "iconv:iconv"}, "io.exists": {"body": "io.exists(${1:path})", "description": "io.exists(path) - \u5224\u65ad\u6587\u4ef6\u662f\u5426\u5b58\u5728\n\u4f20\u5165\u503c\uff1a\nstring \u6587\u4ef6\u8def\u5f84\n\u8fd4\u56de\u503c\uff1a\nbool \u5b58\u5728\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\nlog.info(\"io\", \"file exists\", io.exists(\"/boottime\"))\n", "prefix": "io.exists"}, "io.fileSize": {"body": "io.fileSize(${1:path})", "description": "io.fileSize(path) - \u83b7\u53d6\u6587\u4ef6\u5927\u5c0f\n\u4f20\u5165\u503c\uff1a\nstring \u6587\u4ef6\u8def\u5f84\n\u8fd4\u56de\u503c\uff1a\nint \u6587\u4ef6\u6570\u636e,\u82e5\u6587\u4ef6\u4e0d\u5b58\u5728\u4f1a\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\nlocal fsize = io.fileSize(\"/bootime\")\nif fsize and fsize > 1024 then\n log.info(\"io\", \"file size\", fsize)\nend\n", "prefix": "io.fileSize"}, "io.readFile": {"body": "io.readFile(${1:path},${2:mode},${3:offset},${4:len})", "description": "io.readFile(path, mode, offset, len) - \u8bfb\u53d6\u6574\u4e2a\u6587\u4ef6,\u8bf7\u6ce8\u610f\u5185\u5b58\u6d88\u8017\n\u4f20\u5165\u503c\uff1a\nstring \u6587\u4ef6\u8def\u5f84\nstring \u8bfb\u53d6\u6a21\u5f0f, \u9ed8\u8ba4 \"rb\"\nint \u8d77\u59cb\u4f4d\u7f6e,\u9ed8\u8ba40\nint \u8bfb\u53d6\u957f\u5ea6,\u9ed8\u8ba4\u6574\u4e2a\u6587\u4ef6\n\u8fd4\u56de\u503c\uff1a\nstring \u6587\u4ef6\u6570\u636e,\u82e5\u6587\u4ef6\u4e0d\u5b58\u5728\u4f1a\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\nlocal data = io.readFile(\"/bootime\")\n-- \u6ce8\u610f: offset\u548clen\u53c2\u6570\u662f 2023.6.6\u6dfb\u52a0\u7684\n-- \u8bfb\u53d6abc.txt, \u5148\u8df3\u8fc7128\u5b57\u8282, \u7136\u540e\u8bfb\u53d6512\u5b57\u8282\u6570\u636e\nlocal data = io.readFile(\"/abc.txt\", \"rb\", 128, 512)\n", "prefix": "io.readFile"}, "io.writeFile": {"body": "io.writeFile(${1:path},${2:data})", "description": "io.writeFile(path, data) - \u5c06\u6570\u636e\u5199\u5165\u6587\u4ef6\n\u4f20\u5165\u503c\uff1a\nstring \u6587\u4ef6\u8def\u5f84\nstring \u6570\u636e\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue, \u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\nio.writeFile(\"/bootime\", \"1\")\n", "prefix": "io.writeFile"}, "io.fill": {"body": "io.fill(${1:buff},${2:offset},${3:len})", "description": "io.fill(buff, offset, len) - \u8bfb\u53d6\u6587\u4ef6\u5e76\u586b\u5145\u5230zbuff\u5185,\u4f46\u4e0d\u79fb\u52a8\u6307\u9488\u4f4d\u7f6e\n\u4f20\u5165\u503c\uff1a\nuserdata zbuff\u5b9e\u4f53\nint \u5199\u5165\u7684\u4f4d\u7f6e,\u9ed8\u8ba4\u662f0\nint \u5199\u5165\u7684\u957f\u5ea6,\u9ed8\u8ba4\u662fzbuff\u7684len\u51cf\u53bboffset\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\nint \u8fd4\u56de\u5b9e\u9645\u8bfb\u53d6\u5230\u7684\u957f\u5ea6\uff0c\u5982\u679c\u5c0f\u4e8e0\u4e5f\u8bf4\u660e\u662f\u8bfb\u53d6\u5931\u8d25\u4e86\n\u4f8b\u5b50\uff1a\nlocal buff = zbuff.create(1024)\nlocal f = io.open(\"/sd/test.txt\")\nif f then\n f:fill(buff)\nend\n", "prefix": "io.fill"}, "io.mkfs": {"body": "io.mkfs(${1:path})", "description": "io.mkfs(path) - \u683c\u5f0f\u5316\u6587\u4ef6\u7cfb\u7edf,\u9700\u6307\u5b9a\u6302\u8f7d\u70b9\n\u4f20\u5165\u503c\uff1a\nstring \u6302\u8f7d\u70b9\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u4e0e\u5426\nint \u5e95\u5c42\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\nlocal ret, errio = io.mkfs(\"/sd\")\nlog.info(\"fs\", \"mkfs\", ret, errio)\n", "prefix": "io.mkfs"}, "io.mkdir": {"body": "io.mkdir(${1:path})", "description": "io.mkdir(path) - \u521b\u5efa\u6587\u4ef6\u5939\n\u4f20\u5165\u503c\uff1a\nstring \u9700\u8981\u5efa\u7acb\u7684\u76ee\u5f55\u8def\u5f84\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u4e0e\u5426\nint \u5e95\u5c42\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\nlocal ret, errio = io.mkdir(\"/data/\")\nlog.info(\"fs\", \"mkdir\", ret, errio)\n", "prefix": "io.mkdir"}, "io.rmdir": {"body": "io.rmdir(${1:path})", "description": "io.rmdir(path) - \u5220\u9664\u6587\u4ef6\u5939\n\u4f20\u5165\u503c\uff1a\nstring \u9700\u8981\u79fb\u9664\u7684\u76ee\u5f55\u8def\u5f84\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u4e0e\u5426\nint \u5e95\u5c42\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\nlocal ret, errio = io.rmdir(\"/data/\")\nlog.info(\"fs\", \"rmdir\", ret, errio)\n", "prefix": "io.rmdir"}, "io.lsdir": {"body": "io.lsdir(${1:path},${2:len},${3:offset})", "description": "io.lsdir(path, len, offset) - \u5217\u51fa\u76ee\u5f55\u4e0b\u7684\u6587\u4ef6\n\u4f20\u5165\u503c\uff1a\nstring \u9700\u8981\u679a\u4e3e\u7684\u76ee\u5f55\u8def\u5f84\nint \u6700\u5927\u957f\u5ea6, \u9ed8\u8ba410, \u6700\u9ad850\nint \u504f\u79fb\u91cf, \u9ed8\u8ba40, \u5f53\u76ee\u5f55\u6587\u4ef6\u5f88\u591a\u65f6\u5206\u9875\u67e5\u8be2\u7528\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u4e0e\u5426\nint \u5e95\u5c42\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\nlocal ret, data = io.lsdir(\"/data/\", 10, 0)\nif ret then\n log.info(\"fs\", \"lsdir\", json.encode(data))\nelse\n log.info(\"fs\", \"lsdir\", \"fail\", ret, data)\nend\n", "prefix": "io.lsdir"}, "io.lsmount": {"body": "io.lsmount()", "description": "io.lsmount() - \u5217\u51fa\u6240\u6709\u6302\u8f7d\u70b9\n\u8fd4\u56de\u503c\uff1a\ntable \u6302\u8f7d\u70b9\u5217\u8868\n\u4f8b\u5b50\uff1a\nlocal data = io.lsmount()\nlog.info(\"fs\", \"lsmount\", json.encode(data))\n", "prefix": "io.lsmount"}, "ioqueue.init": {"body": "ioqueue.init(${1:hwtimer_id},${2:cmd_cnt},${3:repeat_cnt})", "description": "ioqueue.init(hwtimer_id,cmd_cnt,repeat_cnt) - \u521d\u59cb\u5316\u4e00\u4e2aio\u64cd\u4f5c\u961f\u5217\n\u4f20\u5165\u503c\uff1a\nint \u786c\u4ef6\u5b9a\u65f6\u5668id\uff0c\u9ed8\u8ba4\u75280\uff0c\u6839\u636e\u5b9e\u9645MCU\u786e\u5b9a\uff0cair105\u4e3a0~5\uff0c\u4e0epwm\u5171\u7528\uff0c\u540c\u4e00\u4e2a\u901a\u9053\u53f7\u4e0d\u80fd\u540c\u65f6\u4e3apwm\u548cioqueue\nint \u4e00\u4e2a\u5b8c\u6574\u5468\u671f\u9700\u8981\u7684\u547d\u4ee4\uff0c\u53ef\u4ee5\u6bd4\u5b9e\u9645\u7684\u591a\nint \u91cd\u590d\u6b21\u6570,\u9ed8\u8ba4\u662f1\uff0c\u5982\u679c\u51990\u5219\u8868\u793a\u65e0\u9650\u6b21\u6570\u5faa\u73af\nreturn \u65e0\n\u4f8b\u5b50\uff1a\nioqueue.init(0,10,5) --\u4ee5timer0\u4e3a\u65f6\u949f\u6e90\u521d\u59cb\u5316\u4e00\u4e2aio\u64cd\u4f5c\u961f\u5217\uff0c\u670910\u4e2a\u6709\u6548\u547d\u4ee4\uff0c\u5faa\u73af5\u6b21\n", "prefix": "ioqueue.init"}, "ioqueue.setdelay": {"body": "ioqueue.setdelay(${1:hwtimer_id},${2:time_us},${3:time_tick},${4:continue})", "description": "ioqueue.setdelay(hwtimer_id,time_us,time_tick,continue) - \u5bf9io\u64cd\u4f5c\u961f\u5217\u589e\u52a0\u5ef6\u65f6\u547d\u4ee4\n\u4f20\u5165\u503c\uff1a\nint \u786c\u4ef6\u5b9a\u65f6\u5668id\nint \u5ef6\u65f6\u65f6\u95f4,0~65535us\nint \u5ef6\u65f6\u5fae\u8c03\u65f6\u95f4,0~255tick,\u603b\u7684\u5ef6\u65f6\u65f6\u95f4\u662ftime_us * 1us_tick + time_tick\nboolean \u662f\u5426\u8fde\u7eed\u662f\u8fde\u7eed\u5ef6\u65f6\uff0c\u9ed8\u8ba4\u5426\uff0c\u5982\u679c\u662f\uff0c\u5b9a\u65f6\u5668\u5728\u65f6\u95f4\u5230\u540e\u4e0d\u4f1a\u505c\u6b62\u800c\u662f\u91cd\u65b0\u8ba1\u65f6\uff0c\n", "prefix": "ioqueue.setdelay"}, "ioqueue.delay": {"body": "ioqueue.delay(${1:hwtimer_id})", "description": "ioqueue.delay(hwtimer_id) - \u5bf9io\u64cd\u4f5c\u961f\u5217\u589e\u52a0\u4e00\u6b21\u91cd\u590d\u5ef6\u65f6\uff0c\u5728\u524d\u9762\u5fc5\u987b\u6709setdelay\u4e14\u662f\u8fde\u7eed\u5ef6\u65f6\n\u4f20\u5165\u503c\uff1a\nint \u786c\u4ef6\u5b9a\u65f6\u5668id\nreturn \u65e0\n\u4f8b\u5b50\uff1a\nioqueue.setdelay(0,9,15,true) --\u5ef6\u65f69us+15\u4e2atick,\u5728\u4e4b\u540e\u9047\u5230delay\u547d\u4ee4\u65f6\uff0c\u4f1a\u5ef6\u65f69us+15\u4e2atick\nioqueue.delay(0)\n", "prefix": "ioqueue.delay"}, "ioqueue.setgpio": {"body": "ioqueue.setgpio(${1:hwtimer_id},${2:pin},${3:is_input},${4:pull_mode},${5:init_level})", "description": "ioqueue.setgpio(hwtimer_id,pin,is_input,pull_mode,init_level) - \u5bf9io\u64cd\u4f5c\u961f\u5217\u589e\u52a0\u8bbe\u7f6egpio\u547d\u4ee4\n\u4f20\u5165\u503c\uff1a\nint \u786c\u4ef6\u5b9a\u65f6\u5668id\nint pin\nboolean \u662f\u5426\u662f\u8f93\u5165\nint \u4e0a\u4e0b\u62c9\u6a21\u5f0f,\u53ea\u80fd\u662f0,gpio.PULLUP,gpio.PULLDOWN\nint \u521d\u59cb\u8f93\u51fa\u7535\u5e73\nreturn \u65e0\n\u4f8b\u5b50\uff1a\nioqueue.setgpio(0,pin.PB01,true,gpio.PULLUP,0) --PB01\u8bbe\u7f6e\u6210\u4e0a\u62c9\u8f93\u5165\nioqueue.setgpio(0,pin.PB01,false,0,1)--PB01\u8bbe\u7f6e\u6210\u9ed8\u8ba4\u4e0a\u4e0b\u62c9\u8f93\u51fa\u9ad8\u7535\u5e73\n", "prefix": "ioqueue.setgpio"}, "ioqueue.input": {"body": "ioqueue.input(${1:hwtimer_id},${2:pin})", "description": "ioqueue.input(hwtimer_id,pin) - \u5bf9io\u64cd\u4f5c\u961f\u5217\u589e\u52a0\u8bfb\u53d6gpio\u547d\u4ee4\n\u4f20\u5165\u503c\uff1a\nint \u786c\u4ef6\u5b9a\u65f6\u5668id\nint pin\nreturn \u65e0\n\u4f8b\u5b50\uff1a\nioqueue.input(0,pin.PB01)\n\n", "prefix": "ioqueue.input"}, "ioqueue.output": {"body": "ioqueue.output(${1:hwtimer_id},${2:pin},${3:level})", "description": "ioqueue.output(hwtimer_id,pin,level) - \u5bf9io\u64cd\u4f5c\u961f\u5217\u589e\u52a0\u8f93\u51faGPIO\u547d\u4ee4\n\u4f20\u5165\u503c\uff1a\nint \u786c\u4ef6\u5b9a\u65f6\u5668id\nint pin\nint \u8f93\u51fa\u7535\u5e73\nreturn \u65e0\n\u4f8b\u5b50\uff1a\nioqueue.output(0,pin.PB01,0)\n", "prefix": "ioqueue.output"}, "ioqueue.setcap": {"body": "ioqueue.setcap(${1:hwtimer_id},${2:pin},${3:pull_mode},${4:irq_mode},${5:max_tick})", "description": "ioqueue.setcap(hwtimer_id,pin,pull_mode,irq_mode,max_tick) - \u5bf9io\u64cd\u4f5c\u961f\u5217\u589e\u52a0\u8bbe\u7f6e\u6355\u83b7\u67d0\u4e2aIO\u547d\u4ee4\n\u4f20\u5165\u503c\uff1a\nint \u786c\u4ef6\u5b9a\u65f6\u5668id\nint pin\nint \u4e0a\u4e0b\u62c9\u6a21\u5f0f,\u53ea\u80fd\u662f0,gpio.PULLUP,gpio.PULLDOWN\nint \u4e2d\u65ad\u6a21\u5f0f,\u53ea\u80fd\u662fgpio.BOTH,gpio.RISING,gpio.FALLING\nint \u5b9a\u65f6\u5668\u6700\u5927\u8ba1\u65f6\u65f6\u95f4 \u8003\u8651\u5230lua\u662fint\u7c7b\u578b\uff0c\u6700\u5c0f0x10000, \u6700\u5927\u503c\u4e3a0x7fffffff\uff0c\u9ed8\u8ba4\u4e3a\u6700\u5927\u503c\nreturn \u65e0\n\u4f8b\u5b50\uff1a\nioqueue.setcap(0,pin.PB01,gpio.PULLUP,gpio.FALLING,48000000)\n", "prefix": "ioqueue.setcap"}, "ioqueue.capture": {"body": "ioqueue.capture(${1:hwtimer_id})", "description": "ioqueue.capture(hwtimer_id) - \u5bf9io\u64cd\u4f5c\u961f\u5217\u589e\u52a0\u6355\u83b7\u4e00\u6b21IO\u72b6\u6001\u547d\u4ee4\n\u4f20\u5165\u503c\uff1a\nint \u786c\u4ef6\u5b9a\u65f6\u5668id\nreturn \u65e0\n\u4f8b\u5b50\uff1a\nioqueue.capture(0)\n", "prefix": "ioqueue.capture"}, "ioqueue.capend": {"body": "ioqueue.capend(${1:hwtimer_id},${2:pin})", "description": "ioqueue.capend(hwtimer_id,pin) - \u5bf9io\u64cd\u4f5c\u961f\u5217\u589e\u52a0\u7ed3\u675f\u6355\u83b7\u67d0\u4e2aIO\u547d\u4ee4\n\u4f20\u5165\u503c\uff1a\nint \u786c\u4ef6\u5b9a\u65f6\u5668id\nint pin\nreturn \u65e0\n\u4f8b\u5b50\uff1a\nioqueue.capend(0,pin.PB01)\n", "prefix": "ioqueue.capend"}, "ioqueue.get": {"body": "ioqueue.get(${1:hwtimer_id},${2:input_buff},${3:capture_buff})", "description": "ioqueue.get(hwtimer_id, input_buff, capture_buff) - * \u83b7\u53d6io\u64cd\u4f5c\u961f\u5217\u4e2d\u8f93\u5165\u548c\u6355\u83b7\u7684\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nint \u786c\u4ef6\u5b9a\u65f6\u5668id\nzbuff \u5b58\u653eIO\u8f93\u5165\u6570\u636e\u7684buff\uff0c\u6309\u71671byte pin + 1byte level \u5f62\u5f0f\u5b58\u653e\u6570\u636e\nzbuff \u5b58\u653eIO\u6355\u83b7\u6570\u636e\u7684buff\uff0c\u6309\u71671byte pin + 1byte level + 4byte tick\u5f62\u5f0f\u5b58\u653e\u6570\u636e\n\u8fd4\u56de\u503c\uff1a\nint \u8fd4\u56de\u591a\u5c11\u7ec4IO\u8f93\u5165\u6570\u636e\nint \u8fd4\u56de\u591a\u5c11\u7ec4IO\u6355\u83b7\u6570\u636e\n\u4f8b\u5b50\uff1a\nlocal input_cnt, capture_cnt = ioqueue.get(0, input_buff, capture_buff)\n", "prefix": "ioqueue.get"}, "ioqueue.start": {"body": "ioqueue.start(${1:hwtimer_id})", "description": "ioqueue.start(hwtimer_id) - \u542f\u52a8io\u64cd\u4f5c\u961f\u5217\n\u4f20\u5165\u503c\uff1a\nint \u786c\u4ef6\u5b9a\u65f6\u5668id\nreturn \u65e0\n\u4f8b\u5b50\uff1a\nioqueue.start(0)\n", "prefix": "ioqueue.start"}, "ioqueue.stop": {"body": "ioqueue.stop(${1:hwtimer_id})", "description": "ioqueue.stop(hwtimer_id) - \u505c\u6b62io\u64cd\u4f5c\u961f\u5217\uff0c\u53ef\u4ee5\u901a\u8fc7start\u4ece\u5934\u5f00\u59cb\n\u4f20\u5165\u503c\uff1a\nint \u786c\u4ef6\u5b9a\u65f6\u5668id\n\u8fd4\u56de\u503c\uff1a\nint \u8fd4\u56de\u5df2\u7ecf\u5faa\u73af\u7684\u6b21\u6570\uff0c\u5982\u679c\u662f0\uff0c\u8868\u793a\u4e00\u6b21\u5faa\u73af\u90fd\u6ca1\u6709\u5b8c\u6210\nint \u8fd4\u56de\u5355\u6b21\u5faa\u73af\u4e2d\u5df2\u7ecf\u6267\u884c\u7684cmd\u6b21\u6570\uff0c\u5982\u679c\u662f0\uff0c\u53ef\u80fd\u662f\u4e00\u6b21\u5faa\u73af\u521a\u521a\u7ed3\u675f\n\u4f8b\u5b50\uff1a\nioqueue.stop(0)\n", "prefix": "ioqueue.stop"}, "ioqueue.release": {"body": "ioqueue.release(${1:hwtimer_id})", "description": "ioqueue.release(hwtimer_id) - \u91ca\u653eio\u64cd\u4f5c\u961f\u5217\u7684\u8d44\u6e90\uff0c\u4e0b\u6b21\u4f7f\u7528\u5fc5\u987b\u91cd\u65b0init\n\u4f20\u5165\u503c\uff1a\nint \u786c\u4ef6\u5b9a\u65f6\u5668id\nreturn \u65e0\n\u4f8b\u5b50\uff1a\nioqueue.clear(0)\n", "prefix": "ioqueue.release"}, "ioqueue.clear": {"body": "ioqueue.clear(${1:hwtimer_id})", "description": "ioqueue.clear(hwtimer_id) - \u6e05\u7a7aio\u64cd\u4f5c\u961f\u5217\n\u4f20\u5165\u503c\uff1a\nint \u786c\u4ef6\u5b9a\u65f6\u5668id\nreturn \u65e0\n\u4f8b\u5b50\uff1a\nioqueue.clear(0)\n", "prefix": "ioqueue.clear"}, "ioqueue.done": {"body": "ioqueue.done(${1:hwtimer_id})", "description": "ioqueue.done(hwtimer_id) - \u68c0\u6d4bio\u64cd\u4f5c\u961f\u5217\u662f\u5426\u5df2\u7ecf\u6267\u884c\u5b8c\u6210\n\u4f20\u5165\u503c\uff1a\nint \u786c\u4ef6\u5b9a\u65f6\u5668id\n\u8fd4\u56de\u503c\uff1a\nboolean \u961f\u5217\u662f\u5426\u6267\u884c\u5b8c\u6210\uff0c\n\u4f8b\u5b50\uff1a\nlocal result = ioqueue.done(0)\n", "prefix": "ioqueue.done"}, "ioqueue.exti": {"body": "ioqueue.exti(${1:pin},${2:pull_mode},${3:irq_mode},${4:onoff})", "description": "ioqueue.exti(pin,pull_mode,irq_mode,onoff) - \u542f\u52a8/\u505c\u6b62\u4e00\u4e2a\u5e26\u7cfb\u7edftick\u8fd4\u56de\u7684\u5916\u90e8\u4e2d\u65ad\n\u4f20\u5165\u503c\uff1a\nint pin\nint \u4e0a\u4e0b\u62c9\u6a21\u5f0f,\u53ea\u80fd\u662f0,gpio.PULLUP,gpio.PULLDOWN\nint \u4e2d\u65ad\u6a21\u5f0f,\u53ea\u80fd\u662fgpio.BOTH,gpio.RISING,gpio.FALLING\nboolean \u5f00\u5173\uff0c\u9ed8\u8ba4\u662ffalse\u5173\nreturn \u65e0\n\u4f8b\u5b50\uff1a\nioqueue.exti(pin.PB01, gpio.PULLUP, gpio.BOTH, true)\nioqueue.exti(pin.PB01)\n", "prefix": "ioqueue.exti"}, "iotauth.aliyun": {"body": "iotauth.aliyun(${1:product_key},${2:device_name},${3:device_secret},${4:method},${5:cur_timestamp})", "description": "iotauth.aliyun(product_key, device_name,device_secret,method,cur_timestamp) - \u963f\u91cc\u4e91\u7269\u8054\u7f51\u5e73\u53f0\u4e09\u5143\u7ec4\u751f\u6210\n\u4f20\u5165\u503c\uff1a\nstring product_key\nstring device_name\nstring device_secret\nstring method \u52a0\u5bc6\u65b9\u5f0f,\"hmacmd5\" \"hmacsha1\" \"hmacsha256\" \u53ef\u9009,\u9ed8\u8ba4\"hmacmd5\"\nnumber cur_timestamp \u53ef\u9009 \u9ed8\u8ba4\u4e3a 32472115200(2999-01-01 0:0:0)\nbool istls \u662f\u5426TLS\u76f4\u8fde true:TLS\u76f4\u8fde false:TCP\u76f4\u8fde\u6a21\u5f0f \u9ed8\u8ba4TCP\u76f4\u8fde\u6a21\u5f0f\n\u8fd4\u56de\u503c\uff1a\nstring mqtt\u4e09\u5143\u7ec4 client_id\nstring mqtt\u4e09\u5143\u7ec4 user_name\nstring mqtt\u4e09\u5143\u7ec4 password\n\u4f8b\u5b50\uff1a\nlocal client_id,user_name,password = iotauth.aliyun(\"123456789\",\"abcdefg\",\"Y877Bgo8X5owd3lcB5wWDjryNPoB\")\nprint(client_id,user_name,password)\n", "prefix": "iotauth.aliyun"}, "iotauth.onenet": {"body": "iotauth.onenet(${1:produt_id},${2:device_name},${3:key},${4:method},${5:cur_timestamp},${6:version})", "description": "iotauth.onenet(produt_id, device_name,key,method,cur_timestamp,version) - \u4e2d\u56fd\u79fb\u52a8\u7269\u8054\u7f51\u5e73\u53f0\u4e09\u5143\u7ec4\u751f\u6210\n\u4f20\u5165\u503c\uff1a\nstring produt_id\nstring device_name\nstring key\nstring method \u52a0\u5bc6\u65b9\u5f0f,\"md5\" \"sha1\" \"sha256\" \u53ef\u9009,\u9ed8\u8ba4\"md5\"\nnumber cur_timestamp \u53ef\u9009 \u9ed8\u8ba4\u4e3a 32472115200(2999-01-01 0:0:0)\nstring version \u53ef\u9009 \u9ed8\u8ba4\"2018-10-31\"\n\u8fd4\u56de\u503c\uff1a\nstring mqtt\u4e09\u5143\u7ec4 client_id\nstring mqtt\u4e09\u5143\u7ec4 user_name\nstring mqtt\u4e09\u5143\u7ec4 password\n\u4f8b\u5b50\uff1a\nlocal client_id,user_name,password = iotauth.onenet(\"123456789\",\"test\",\"KuF3NT/jUBJ62LNBB/A8XZA9CqS3Cu79B/ABmfA1UCw=\")\nprint(client_id,user_name,password)\n", "prefix": "iotauth.onenet"}, "iotauth.iotda": {"body": "iotauth.iotda(${1:device_id},${2:device_secret},${3:cur_timestamp})", "description": "iotauth.iotda(device_id,device_secret,cur_timestamp) - \u534e\u4e3a\u7269\u8054\u7f51\u5e73\u53f0\u4e09\u5143\u7ec4\u751f\u6210\n\u4f20\u5165\u503c\uff1a\nstring device_id\nstring device_secret\nnumber cur_timestamp \u53ef\u9009 \u5982\u4e0d\u586b\u5219\u4e0d\u6821\u9a8c\u65f6\u95f4\u6233\n\u8fd4\u56de\u503c\uff1a\nstring mqtt\u4e09\u5143\u7ec4 client_id\nstring mqtt\u4e09\u5143\u7ec4 user_name\nstring mqtt\u4e09\u5143\u7ec4 password\n\u4f8b\u5b50\uff1a\nlocal client_id,user_name,password = iotauth.iotda(\"6203cc94c7fb24029b110408_88888888\",\"123456789\")\nprint(client_id,user_name,password)\n", "prefix": "iotauth.iotda"}, "iotauth.qcloud": {"body": "iotauth.qcloud(${1:product_id},${2:device_name},${3:device_secret},${4:method},${5:cur_timestamp},${6:sdk_appid})", "description": "iotauth.qcloud(product_id, device_name,device_secret,method,cur_timestamp,sdk_appid) - \u817e\u8baf\u8054\u7f51\u5e73\u53f0\u4e09\u5143\u7ec4\u751f\u6210\n\u4f20\u5165\u503c\uff1a\nstring \u4ea7\u54c1id,\u521b\u5efa\u9879\u76ee\u540e\u53ef\u4ee5\u67e5\u770b\u5230,\u7c7b\u4f3c\u4e8eLD8S5J1L07\nstring \u8bbe\u5907\u540d\u79f0,\u4f8b\u5982\u8bbe\u5907\u7684imei\u53f7\nstring \u8bbe\u5907\u5bc6\u94a5,\u521b\u5efa\u8bbe\u5907\u540e,\u67e5\u770b\u8bbe\u5907\u8be6\u60c5\u53ef\u5f97\u5230\nstring method \u52a0\u5bc6\u65b9\u5f0f,\"sha1\" \"sha256\" \u53ef\u9009,\u9ed8\u8ba4\"sha256\"\nnumber cur_timestamp \u53ef\u9009 \u9ed8\u8ba4\u4e3a 32472115200(2999-01-01 0:0:0)\nstring sdk_appid \u53ef\u9009 \u9ed8\u8ba4\u4e3a\"12010126\"\n\u8fd4\u56de\u503c\uff1a\nstring mqtt\u4e09\u5143\u7ec4 client_id\nstring mqtt\u4e09\u5143\u7ec4 user_name\nstring mqtt\u4e09\u5143\u7ec4 password\n\u4f8b\u5b50\uff1a\nlocal client_id,user_name,password = iotauth.qcloud(\"LD8S5J1L07\",\"test\",\"acyv3QDJrRa0fW5UE58KnQ==\")\nprint(client_id,user_name,password)\n", "prefix": "iotauth.qcloud"}, "iotauth.tuya": {"body": "iotauth.tuya(${1:device_id},${2:device_secret},${3:cur_timestamp})", "description": "iotauth.tuya(device_id,device_secret,cur_timestamp) - \u6d82\u9e26\u8054\u7f51\u5e73\u53f0\u4e09\u5143\u7ec4\u751f\u6210\n\u4f20\u5165\u503c\uff1a\nstring device_id\nstring device_secret\nnumber cur_timestamp \u53ef\u9009 \u9ed8\u8ba47258089600(2200-01-01 0:0:0)\n\u8fd4\u56de\u503c\uff1a\nstring mqtt\u4e09\u5143\u7ec4 client_id\nstring mqtt\u4e09\u5143\u7ec4 user_name\nstring mqtt\u4e09\u5143\u7ec4 password\n\u4f8b\u5b50\uff1a\nlocal client_id,user_name,password = iotauth.tuya(\"6c95875d0f5ba69607nzfl\",\"fb803786602df760\")\nprint(client_id,user_name,password)\n", "prefix": "iotauth.tuya"}, "iotauth.baidu": {"body": "iotauth.baidu(${1:iot_core_id},${2:device_key},${3:device_secret},${4:method},${5:cur_timestamp})", "description": "iotauth.baidu(iot_core_id, device_key,device_secret,method,cur_timestamp) - \u767e\u5ea6\u7269\u8054\u7f51\u5e73\u53f0\u4e09\u5143\u7ec4\u751f\u6210\n\u4f20\u5165\u503c\uff1a\nstring iot_core_id\nstring device_key\nstring device_secret\nstring method \u52a0\u5bc6\u65b9\u5f0f,\"MD5\" \"SHA256\" \u53ef\u9009,\u9ed8\u8ba4\"MD5\"\nnumber cur_timestamp \u53ef\u9009 \u5982\u4e0d\u586b\u5219\u4e0d\u6821\u9a8c\u65f6\u95f4\u6233\n\u8fd4\u56de\u503c\uff1a\nstring mqtt\u4e09\u5143\u7ec4 client_id\nstring mqtt\u4e09\u5143\u7ec4 user_name\nstring mqtt\u4e09\u5143\u7ec4 password\n\u4f8b\u5b50\uff1a\nlocal client_id,user_name,password = iotauth.baidu(\"abcd123\",\"mydevice\",\"ImSeCrEt0I1M2jkl\")\nprint(client_id,user_name,password)\n", "prefix": "iotauth.baidu"}, "ir.sendNEC": {"body": "ir.sendNEC(${1:pin},${2:addr},${3:cmd},${4:repeat},${5:disablePWM})", "description": "ir.sendNEC(pin, addr, cmd, repeat, disablePWM) - \u53d1\u9001NEC\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nint \u4f7f\u7528\u7684GPIO\u5f15\u811a\u7f16\u53f7\nint \u7528\u6237\u7801\uff08\u5927\u4e8e0xff\u5219\u91c7\u7528Extended NEC\u6a21\u5f0f\uff09\nint \u6570\u636e\u7801\nint \u53ef\u9009\uff0c\u5f15\u5bfc\u7801\u53d1\u9001\u6b21\u6570\uff08110ms\u4e00\u6b21\uff09\uff0c\u9ed8\u8ba40\u6b21\nbool \u53ef\u9009\uff0c\u662f\u5426\u7981\u6b62\u76f4\u63a5\u53d1\u9001pwm\u6ce2\uff0c\u9ed8\u8ba4false\n\u4f8b\u5b50\uff1a\n--\u76f4\u63a5\u53d1\nir.sendNEC(0, 0x11, 0x22)\n--\u5916\u63a5\u4e8638K\u7684PWM\u8f7d\u6ce2\uff0c\u53ea\u63a7\u5236\u7535\u5e73\nir.sendNEC(0, 0x11, 0x22,0,true)\n", "prefix": "ir.sendNEC"}, "json.encode": {"body": "json.encode(${1:obj},${2:t})", "description": "json.encode(obj,t) - \u5c06\u5bf9\u8c61\u5e8f\u5217\u5316\u4e3ajson\u5b57\u7b26\u4e32\n\u4f20\u5165\u503c\uff1a\nobj \u9700\u8981\u5e8f\u5217\u5316\u7684\u5bf9\u8c61\nstring \u6d6e\u70b9\u6570\u7cbe\u5ea6\u548c\u6a21\u5f0f,\u8fd9\u9879\u4e0d\u5b58\u5728\u7684\u65f6\u5019,\u4e3a\u9ed8\u8ba4\u503c\"7g\",\u6570\u5b57\u53ea\u652f\u6301\"0~14\",\u6a21\u5f0f\u53ea\u652f\u6301\"f/g\"\n\u8fd4\u56de\u503c\uff1a\nstring \u5e8f\u5217\u5316\u540e\u7684json\u5b57\u7b26\u4e32, \u5931\u8d25\u7684\u8bdd\u8fd4\u56denil\nstring \u5e8f\u5217\u5316\u5931\u8d25\u7684\u62a5\u9519\u4fe1\u606f\n\u4f8b\u5b50\uff1a\njson.encode(obj)-->\u6d6e\u70b9\u6570\u7528%.7g\u7684\u65b9\u5f0f\u8f6c\u6362\u4e3a\u5b57\u7b26\u4e32\njson.encode(obj,\"12f\")-->\u6d6e\u70b9\u6570\u7528%.12f\u7684\u65b9\u5f0f\u8f6c\u6362\u4e3a\u5b57\u7b26\u4e32\n", "prefix": "json.encode"}, "json.decode": {"body": "json.decode(${1:str})", "description": "json.decode(str) - \u5c06\u5b57\u7b26\u4e32\u53cd\u5e8f\u5217\u5316\u4e3a\u5bf9\u8c61\n\u4f20\u5165\u503c\uff1a\nstring \u9700\u8981\u53cd\u5e8f\u5217\u5316\u7684json\u5b57\u7b26\u4e32\n\u8fd4\u56de\u503c\uff1a\nobj \u53cd\u5e8f\u5217\u5316\u540e\u7684\u5bf9\u8c61(\u901a\u5e38\u662ftable), \u5931\u8d25\u7684\u8bdd\u8fd4\u56denil\nresult \u6210\u529f\u8fd4\u56de1,\u5426\u5219\u8fd4\u56de0\nerr \u53cd\u5e8f\u5217\u5316\u5931\u8d25\u7684\u62a5\u9519\u4fe1\u606f\n\u4f8b\u5b50\uff1a\njson.decode(\"[1,2,3,4,5,6]\")\n", "prefix": "json.decode"}, "keyboard.init": {"body": "keyboard.init(${1:port},${2:conf},${3:map},${4:debounce})", "description": "keyboard.init(port, conf, map, debounce) - \u521d\u59cb\u5316\u952e\u76d8\u77e9\u9635\n\u4f20\u5165\u503c\uff1a\nint \u9884\u7559, \u5f53\u524d\u586b0\nint \u542f\u7528\u7684keyboard\u7ba1\u811a\u63a9\u7801, \u4f8b\u5982\u4f7f\u7528keyboard0~9, \u5219\u63a9\u7801\u4e3a 0x1FF, \u82e5\u4f7f\u7528 0~3 \u5219 0xF\nint keyboard\u7ba1\u811a\u65b9\u5411\u6620\u5c04, \u5176\u4e2d\u8f93\u5165\u4e3a0,\u8f93\u51fa\u4e3a1, \u6309\u4f4d\u8bbe\u7f6e. \u4f8b\u5982 keyboard0~3\u4f5c\u4e3a\u8f93\u5165, keyboard4~7\u4e3a\u8f93\u5165, \u5219 0xF0\nint \u6d88\u6296\u914d\u7f6e,\u9884\u7559,\u53ef\u4ee5\u4e0d\u586b\n\u4f8b\u5b50\uff1a\n-- \u505a\u4e00\u4e2a 4*4 \u952e\u76d8\u77e9\u9635, \u4f7f\u7528 keyboard0~7, \u5176\u4e2d0~3\u505a\u8f93\u5165, 4~7\u505a\u8f93\u51fa\n-- \u4f7f\u7528 keyboard0~7, \u5bf9\u5e94conf\u4e3a 0xFF\n-- \u5176\u4e2d0~3\u505a\u8f93\u5165, 4~7\u505a\u8f93\u51fa, \u5bf9\u5e94map \u4e3a 0xF0\nkeyboard.init(0, 0xFF, 0xF0)\n\n-- \u505a\u4e00\u4e2a 2*3 \u952e\u76d8\u77e9\u9635, \u4f7f\u7528 keyboard0~4, \u5176\u4e2d0~1\u505a\u8f93\u5165, 2~4\u505a\u8f93\u51fa\n-- \u4f7f\u7528 keyboard0~4, \u4e8c\u8fdb\u5236\u4e3a 11111, \u5bf9\u5e94conf\u7684\u5341\u516d\u8fdb\u5236\u8868\u8fbe\u4e3a 0x1F\n-- \u5176\u4e2d0~1\u505a\u8f93\u5165, 2~4\u505a\u8f93\u51fa, \u4e8c\u8fdb\u5236\u4e3a 11100 \u5bf9\u5e94map \u4e3a 0x14\n-- keyboard.init(0, 0xFF, 0x14)\n\nsys.subscribe(\"KB_INC\", function(port, data, state)\n -- port \u5f53\u524d\u56fa\u5b9a\u4e3a0, \u53ef\u4ee5\u65e0\u89c6\n -- data, \u9700\u8981\u914d\u5408init\u7684map\u8fdb\u884c\u89e3\u6790\n -- state, 1 \u4e3a\u6309\u4e0b, 0 \u4e3a \u91ca\u653e\n -- TODO \u8be6\u7ec6\u4ecb\u7ecd\nend)\n", "prefix": "keyboard.init"}, "lcd.init": {"body": "lcd.init(${1:tp},${2:args})", "description": "lcd.init(tp, args) - lcd\u663e\u793a\u5c4f\u521d\u59cb\u5316\n\u4f20\u5165\u503c\uff1a\nstring lcd\u7c7b\u578b\uff0c\u5f53\u524d\u652f\u6301\uff1a
        st7796
        st7789
        st7735
        st7735v
        st7735s
        gc9a01
        gc9106l
        gc9306x
        ili9486
        custom\ntable \u9644\u52a0\u53c2\u6570,\u4e0e\u5177\u4f53\u8bbe\u5907\u6709\u5173\uff1a
        pin_pwr\uff08\u80cc\u5149\uff09\u4e3a\u53ef\u9009\u9879,\u53ef\u4e0d\u8bbe\u7f6e
        port\uff1aspi\u7aef\u53e3,\u4f8b\u59820,1,2...\u5982\u679c\u4e3adevice\u65b9\u5f0f\u5219\u4e3a\"device\"
        pin_dc\uff1alcd\u6570\u636e/\u547d\u4ee4\u9009\u62e9\u5f15\u811a
        pin_rst\uff1alcd\u590d\u4f4d\u5f15\u811a
        pin_pwr\uff1alcd\u80cc\u5149\u5f15\u811a \u53ef\u9009\u9879,\u53ef\u4e0d\u8bbe\u7f6e
        direction\uff1alcd\u5c4f\u5e55\u65b9\u5411 0:0\u00b0 1:180\u00b0 2:270\u00b0 3:90\u00b0
        w\uff1alcd \u6c34\u5e73\u5206\u8fa8\u7387
        h\uff1alcd \u7ad6\u76f4\u5206\u8fa8\u7387
        xoffset\uff1ax\u504f\u79fb(\u4e0d\u540c\u5c4f\u5e55ic \u4e0d\u540c\u5c4f\u5e55\u65b9\u5411\u4f1a\u6709\u5dee\u5f02)
        yoffset\uff1ay\u504f\u79fb(\u4e0d\u540c\u5c4f\u5e55ic \u4e0d\u540c\u5c4f\u5e55\u65b9\u5411\u4f1a\u6709\u5dee\u5f02)\nuserdata spi\u8bbe\u5907,\u5f53port = \"device\"\u65f6\u6709\u6548\n\u4f8b\u5b50\uff1a\n-- \u521d\u59cb\u5316spi0\u7684st7735s \u6ce8\u610f:lcd\u521d\u59cb\u5316\u4e4b\u524d\u9700\u8981\u5148\u521d\u59cb\u5316spi\nspi_lcd = spi.deviceSetup(0,20,0,0,8,2000000,spi.MSB,1,1)\nlog.info(\"lcd.init\",\nlcd.init(\"st7735s\",{port = \"device\",pin_dc = 17, pin_pwr = 7,pin_rst = 19,direction = 2,w = 160,h = 80,xoffset = 1,yoffset = 26},spi_lcd))\n", "prefix": "lcd.init"}, "lcd.close": {"body": "lcd.close()", "description": "lcd.close() - \u5173\u95edlcd\u663e\u793a\u5c4f\n\u4f8b\u5b50\uff1a\n-- \u5173\u95edlcd\nlcd.close()\n", "prefix": "lcd.close"}, "lcd.on": {"body": "lcd.on()", "description": "lcd.on() - \u5f00\u542flcd\u663e\u793a\u5c4f\u80cc\u5149\n\u4f8b\u5b50\uff1a\n-- \u5f00\u542flcd\u663e\u793a\u5c4f\u80cc\u5149\nlcd.on()\n", "prefix": "lcd.on"}, "lcd.off": {"body": "lcd.off()", "description": "lcd.off() - \u5173\u95edlcd\u663e\u793a\u5c4f\u80cc\u5149\n\u4f8b\u5b50\uff1a\n-- \u5173\u95edlcd\u663e\u793a\u5c4f\u80cc\u5149\nlcd.off()\n", "prefix": "lcd.off"}, "lcd.sleep": {"body": "lcd.sleep()", "description": "lcd.sleep() - lcd\u7761\u7720\n\u4f8b\u5b50\uff1a\n-- lcd\u7761\u7720\nlcd.sleep()\n", "prefix": "lcd.sleep"}, "lcd.wakeup": {"body": "lcd.wakeup()", "description": "lcd.wakeup() - lcd\u5524\u9192\n\u4f8b\u5b50\uff1a\n-- lcd\u5524\u9192\nlcd.wakeup()\n", "prefix": "lcd.wakeup"}, "lcd.invon": {"body": "lcd.invon()", "description": "lcd.invon() - lcd\u53cd\u663e\n\u4f8b\u5b50\uff1a\n-- lcd\u53cd\u663e\nlcd.invon()\n", "prefix": "lcd.invon"}, "lcd.invoff": {"body": "lcd.invoff()", "description": "lcd.invoff() - lcd\u53cd\u663e\u5173\u95ed\n\u4f8b\u5b50\uff1a\n-- lcd\u53cd\u663e\u5173\u95ed\nlcd.invoff()\n", "prefix": "lcd.invoff"}, "lcd.cmd": {"body": "lcd.cmd(${1:cmd})", "description": "lcd.cmd(cmd) - lcd\u547d\u4ee4\n\u4f20\u5165\u503c\uff1a\nint cmd\n\u4f8b\u5b50\uff1a\n-- lcd\u547d\u4ee4\nlcd.cmd(0x21)\n", "prefix": "lcd.cmd"}, "lcd.data": {"body": "lcd.data(${1:data})", "description": "lcd.data(data) - lcd\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nint data\n\u4f8b\u5b50\uff1a\n-- lcd\u6570\u636e\nlcd.data(0x21)\n", "prefix": "lcd.data"}, "lcd.setColor": {"body": "lcd.setColor(${1:back},${2:fore})", "description": "lcd.setColor(back,fore) - lcd\u989c\u8272\u8bbe\u7f6e\n\u4f20\u5165\u503c\uff1a\nint \u80cc\u666f\u8272\nint \u524d\u666f\u8272\n\u4f8b\u5b50\uff1a\n-- lcd\u989c\u8272\u8bbe\u7f6e\nlcd.setColor(0xFFFF,0x0000)\n", "prefix": "lcd.setColor"}, "lcd.draw": {"body": "lcd.draw(${1:x1},${2:y1},${3:x2},${4:y2},${5:color})", "description": "lcd.draw(x1, y1, x2, y2,color) - lcd\u989c\u8272\u586b\u5145\n\u4f20\u5165\u503c\uff1a\nint \u5de6\u4e0a\u8fb9\u7f18\u7684X\u4f4d\u7f6e.\nint \u5de6\u4e0a\u8fb9\u7f18\u7684Y\u4f4d\u7f6e.\nint \u53f3\u4e0b\u8fb9\u7f18\u7684X\u4f4d\u7f6e.\nint \u53f3\u4e0b\u8fb9\u7f18\u7684Y\u4f4d\u7f6e.\nstring \u5b57\u7b26\u4e32\u6216zbuff\u5bf9\u8c61\n\u4f8b\u5b50\uff1a\n-- lcd\u989c\u8272\u586b\u5145\nlocal buff = zbuff.create({201,1,16},0x001F)\nlcd.draw(20,30,220,30,buff)\n", "prefix": "lcd.draw"}, "lcd.clear": {"body": "lcd.clear(${1:color})", "description": "lcd.clear(color) - lcd\u6e05\u5c4f\n\u4f20\u5165\u503c\uff1a\nint \u5c4f\u5e55\u989c\u8272 \u53ef\u9009\u53c2\u6570,\u9ed8\u8ba4\u80cc\u666f\u8272\n\u4f8b\u5b50\uff1a\n-- lcd\u6e05\u5c4f\nlcd.clear()\n", "prefix": "lcd.clear"}, "lcd.fill": {"body": "lcd.fill(${1:x1},${2:y1},${3:x2},${4:y2},${5:color})", "description": "lcd.fill(x1, y1, x2, y2,color) - lcd\u989c\u8272\u586b\u5145\n\u4f20\u5165\u503c\uff1a\nint \u5de6\u4e0a\u8fb9\u7f18\u7684X\u4f4d\u7f6e.\nint \u5de6\u4e0a\u8fb9\u7f18\u7684Y\u4f4d\u7f6e.\nint \u53f3\u4e0b\u8fb9\u7f18\u7684X\u4f4d\u7f6e,\u4e0d\u542b\nint \u53f3\u4e0b\u8fb9\u7f18\u7684Y\u4f4d\u7f6e,\u4e0d\u542b\nint \u7ed8\u753b\u989c\u8272 \u53ef\u9009\u53c2\u6570,\u9ed8\u8ba4\u80cc\u666f\u8272\n\u4f8b\u5b50\uff1a\n-- lcd\u989c\u8272\u586b\u5145\nlcd.fill(20,30,220,30,0x0000)\n", "prefix": "lcd.fill"}, "lcd.drawPoint": {"body": "lcd.drawPoint(${1:x0},${2:y0},${3:color})", "description": "lcd.drawPoint(x0,y0,color) - \u753b\u4e00\u4e2a\u70b9.\n\u4f20\u5165\u503c\uff1a\nint \u70b9\u7684X\u4f4d\u7f6e.\nint \u70b9\u7684Y\u4f4d\u7f6e.\nint \u7ed8\u753b\u989c\u8272 \u53ef\u9009\u53c2\u6570,\u9ed8\u8ba4\u524d\u666f\u8272\n\u4f8b\u5b50\uff1a\nlcd.drawPoint(20,30,0x001F)\n", "prefix": "lcd.drawPoint"}, "lcd.drawLine": {"body": "lcd.drawLine(${1:x0},${2:y0},${3:x1},${4:y1},${5:color})", "description": "lcd.drawLine(x0,y0,x1,y1,color) - \u5728\u4e24\u70b9\u4e4b\u95f4\u753b\u4e00\u6761\u7ebf.\n\u4f20\u5165\u503c\uff1a\nint \u7b2c\u4e00\u4e2a\u70b9\u7684X\u4f4d\u7f6e.\nint \u7b2c\u4e00\u4e2a\u70b9\u7684Y\u4f4d\u7f6e.\nint \u7b2c\u4e8c\u4e2a\u70b9\u7684X\u4f4d\u7f6e.\nint \u7b2c\u4e8c\u4e2a\u70b9\u7684Y\u4f4d\u7f6e.\nint \u7ed8\u753b\u989c\u8272 \u53ef\u9009\u53c2\u6570,\u9ed8\u8ba4\u524d\u666f\u8272\n\u4f8b\u5b50\uff1a\nlcd.drawLine(20,30,220,30,0x001F)\n", "prefix": "lcd.drawLine"}, "lcd.drawRectangle": {"body": "lcd.drawRectangle(${1:x0},${2:y0},${3:x1},${4:y1},${5:color})", "description": "lcd.drawRectangle(x0,y0,x1,y1,color) - \u4ecex / y\u4f4d\u7f6e\uff08\u5de6\u4e0a\u8fb9\u7f18\uff09\u5f00\u59cb\u7ed8\u5236\u4e00\u4e2a\u6846\n\u4f20\u5165\u503c\uff1a\nint \u5de6\u4e0a\u8fb9\u7f18\u7684X\u4f4d\u7f6e.\nint \u5de6\u4e0a\u8fb9\u7f18\u7684Y\u4f4d\u7f6e.\nint \u53f3\u4e0b\u8fb9\u7f18\u7684X\u4f4d\u7f6e.\nint \u53f3\u4e0b\u8fb9\u7f18\u7684Y\u4f4d\u7f6e.\nint \u7ed8\u753b\u989c\u8272 \u53ef\u9009\u53c2\u6570,\u9ed8\u8ba4\u524d\u666f\u8272\n\u4f8b\u5b50\uff1a\nlcd.drawRectangle(20,40,220,80,0x001F)\n", "prefix": "lcd.drawRectangle"}, "lcd.drawCircle": {"body": "lcd.drawCircle(${1:x0},${2:y0},${3:r},${4:color})", "description": "lcd.drawCircle(x0,y0,r,color) - \u4ecex / y\u4f4d\u7f6e\uff08\u5706\u5fc3\uff09\u5f00\u59cb\u7ed8\u5236\u4e00\u4e2a\u5706\n\u4f20\u5165\u503c\uff1a\nint \u5706\u5fc3\u7684X\u4f4d\u7f6e.\nint \u5706\u5fc3\u7684Y\u4f4d\u7f6e.\nint \u534a\u5f84.\nint \u7ed8\u753b\u989c\u8272 \u53ef\u9009\u53c2\u6570,\u9ed8\u8ba4\u524d\u666f\u8272\n\u4f8b\u5b50\uff1a\nlcd.drawCircle(120,120,20,0x001F)\n", "prefix": "lcd.drawCircle"}, "lcd.drawQrcode": {"body": "lcd.drawQrcode(${1:x},${2:y},${3:str},${4:size})", "description": "lcd.drawQrcode(x, y, str, size) - \u7f13\u51b2\u533a\u7ed8\u5236QRCode\n\u4f20\u5165\u503c\uff1a\nint x\u5750\u6807\nint y\u5750\u6807\nstring \u4e8c\u7ef4\u7801\u7684\u5185\u5bb9\nint \u663e\u793a\u5927\u5c0f (\u6ce8\u610f:\u4e8c\u7ef4\u7801\u751f\u6210\u5927\u5c0f\u4e0e\u8981\u663e\u793a\u5185\u5bb9\u548c\u7ea0\u9519\u7b49\u7ea7\u6709\u5173,\u751f\u6210\u7248\u672c\u4e3a1-40(\u5bf9\u5e94 21x21 - 177x177)\u7684\u4e0d\u5b9a\u5927\u5c0f,\u5982\u679c\u548c\u8bbe\u7f6e\u5927\u5c0f\u4e0d\u540c\u4f1a\u81ea\u52a8\u5728\u6307\u5b9a\u7684\u533a\u57df\u4e2d\u95f4\u663e\u793a\u4e8c\u7ef4\u7801,\u5982\u4e8c\u7ef4\u7801\u672a\u663e\u793a\u8bf7\u67e5\u770b\u65e5\u5fd7\u63d0\u793a)\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n", "prefix": "lcd.drawQrcode"}, "lcd.setFont": {"body": "lcd.setFont(${1:font})", "description": "lcd.setFont(font) - \u8bbe\u7f6e\u5b57\u4f53\n\u4f20\u5165\u503c\uff1a\nint font lcd.font_XXX \u8bf7\u67e5\u9605\u5e38\u91cf\u8868\n\u4f8b\u5b50\uff1a\n-- \u8bbe\u7f6e\u4e3a\u5b57\u4f53,\u5bf9\u4e4b\u540e\u7684drawStr\u6709\u6548,\u8c03\u7528lcd.drawStr\u524d\u4e00\u5b9a\u8981\u5148\u8bbe\u7f6e\n\n-- \u82e5\u63d0\u793a \"only font pointer is allow\" , \u5219\u4ee3\u8868\u5f53\u524d\u56fa\u4ef6\u4e0d\u542b\u5bf9\u5e94\u5b57\u4f53, \u53ef\u4f7f\u7528\u4e91\u7f16\u8bd1\u670d\u52a1\u514d\u8d39\u5b9a\u5236\n-- \u4e91\u7f16\u8bd1\u6587\u6863: https://wiki.luatos.com/develop/compile/Cloud_compilation.html\n\n-- lcd\u5e93\u7684\u9ed8\u8ba4\u5b57\u4f53\u5747\u4ee5 lcd.font_ \u5f00\u5934\nlcd.setFont(lcd.font_opposansm12)\nlcd.drawStr(40,10,\"drawStr\")\nsys.wait(2000)\nlcd.setFont(lcd.font_opposansm12_chinese) -- \u5177\u4f53\u53d6\u503c\u53ef\u53c2\u8003api\u6587\u6863\u7684\u5e38\u91cf\u8868\nlcd.drawStr(40,40,\"drawStr\u6d4b\u8bd5\")\n", "prefix": "lcd.setFont"}, "lcd.drawStr": {"body": "lcd.drawStr(${1:x},${2:y},${3:str},${4:fg_color})", "description": "lcd.drawStr(x,y,str,fg_color) - \u663e\u793a\u5b57\u7b26\u4e32\n\u4f20\u5165\u503c\uff1a\nint x \u6a2a\u5750\u6807\nint y \u7ad6\u5750\u6807 \u6ce8\u610f:\u6b64(x,y)\u4e3a\u5de6\u4e0b\u8d77\u59cb\u5750\u6807\nstring str \u6587\u4ef6\u5185\u5bb9\nint fg_color str\u989c\u8272 \u6ce8\u610f:\u6b64\u53c2\u6570\u53ef\u9009\uff0c\u5982\u4e0d\u586b\u5199\u5219\u4f7f\u7528\u4e4b\u524d\u8bbe\u7f6e\u7684\u989c\u8272\uff0c\u7ed8\u5236\u53ea\u4f1a\u7ed8\u5236\u5b57\u4f53\u90e8\u5206\uff0c\u80cc\u666f\u9700\u8981\u81ea\u5df1\u6e05\u9664\n\u4f8b\u5b50\uff1a\n-- \u663e\u793a\u4e4b\u524d\u5148\u8bbe\u7f6e\u4e3a\u4e2d\u6587\u5b57\u4f53,\u5bf9\u4e4b\u540e\u7684drawStr\u6709\u6548\nlcd.setFont(lcd.font_opposansm12)\nlcd.drawStr(40,10,\"drawStr\")\nsys.wait(2000)\nlcd.setFont(lcd.font_opposansm16_chinese)\nlcd.drawStr(40,40,\"drawStr\u6d4b\u8bd5\")\n", "prefix": "lcd.drawStr"}, "lcd.drawGtfontGb2312": {"body": "lcd.drawGtfontGb2312(${1:str},${2:size},${3:x},${4:y})", "description": "lcd.drawGtfontGb2312(str,size,x,y) - \u4f7f\u7528gtfont\u663e\u793agb2312\u5b57\u7b26\u4e32\n\u4f20\u5165\u503c\uff1a\nstring str \u663e\u793a\u5b57\u7b26\u4e32\nint size \u5b57\u4f53\u5927\u5c0f (\u652f\u630116-192\u53f7\u5927\u5c0f\u5b57\u4f53)\nint x \u6a2a\u5750\u6807\nint y \u7ad6\u5750\u6807\n\u4f8b\u5b50\uff1a\n-- \u6ce8\u610f, gtfont\u662f\u989d\u5916\u7684\u5b57\u4f53\u82af\u7247\u786c\u4ef6, \u9700\u8981\u5916\u6302\u5728SPI\u603b\u7ebf\u624d\u80fd\u8c03\u7528\u672c\u51fd\u6570\u7684\nlcd.drawGtfontGb2312(\"\u554a\u554a\u554a\",32,0,0)\n", "prefix": "lcd.drawGtfontGb2312"}, "lcd.drawGtfontGb2312Gray": {"body": "lcd.drawGtfontGb2312Gray(${1:str},${2:size},${3:gray},${4:x},${5:y})", "description": "lcd.drawGtfontGb2312Gray(str,size,gray,x,y) - \u4f7f\u7528gtfont\u7070\u5ea6\u663e\u793agb2312\u5b57\u7b26\u4e32\n\u4f20\u5165\u503c\uff1a\nstring str \u663e\u793a\u5b57\u7b26\u4e32\nint size \u5b57\u4f53\u5927\u5c0f (\u652f\u630116-192\u53f7\u5927\u5c0f\u5b57\u4f53)\nint gray \u7070\u5ea6[1\u9636/2\u9636/3\u9636/4\u9636]\nint x \u6a2a\u5750\u6807\nint y \u7ad6\u5750\u6807\n\u4f8b\u5b50\uff1a\n-- \u6ce8\u610f, gtfont\u662f\u989d\u5916\u7684\u5b57\u4f53\u82af\u7247\u786c\u4ef6, \u9700\u8981\u5916\u6302\u5728SPI\u603b\u7ebf\u624d\u80fd\u8c03\u7528\u672c\u51fd\u6570\u7684\nlcd.drawGtfontGb2312Gray(\"\u554a\u554a\u554a\",32,4,0,40)\n", "prefix": "lcd.drawGtfontGb2312Gray"}, "lcd.drawGtfontUtf8": {"body": "lcd.drawGtfontUtf8(${1:str},${2:size},${3:x},${4:y})", "description": "lcd.drawGtfontUtf8(str,size,x,y) - \u4f7f\u7528gtfont\u663e\u793aUTF8\u5b57\u7b26\u4e32\n\u4f20\u5165\u503c\uff1a\nstring str \u663e\u793a\u5b57\u7b26\u4e32\nint size \u5b57\u4f53\u5927\u5c0f (\u652f\u630116-192\u53f7\u5927\u5c0f\u5b57\u4f53)\nint x \u6a2a\u5750\u6807\nint y \u7ad6\u5750\u6807\n\u4f8b\u5b50\uff1a\nlcd.drawGtfontUtf8(\"\u554a\u554a\u554a\",32,0,0)\n", "prefix": "lcd.drawGtfontUtf8"}, "lcd.drawGtfontUtf8Gray": {"body": "lcd.drawGtfontUtf8Gray(${1:str},${2:size},${3:gray},${4:x},${5:y})", "description": "lcd.drawGtfontUtf8Gray(str,size,gray,x,y) - \u4f7f\u7528gtfont\u7070\u5ea6\u663e\u793aUTF8\u5b57\u7b26\u4e32\n\u4f20\u5165\u503c\uff1a\nstring str \u663e\u793a\u5b57\u7b26\u4e32\nint size \u5b57\u4f53\u5927\u5c0f (\u652f\u630116-192\u53f7\u5927\u5c0f\u5b57\u4f53)\nint gray \u7070\u5ea6[1\u9636/2\u9636/3\u9636/4\u9636]\nint x \u6a2a\u5750\u6807\nint y \u7ad6\u5750\u6807\n\u4f8b\u5b50\uff1a\nlcd.drawGtfontUtf8Gray(\"\u554a\u554a\u554a\",32,4,0,40)\n", "prefix": "lcd.drawGtfontUtf8Gray"}, "lcd.getSize": {"body": "lcd.getSize()", "description": "lcd.getSize() - \u83b7\u53d6\u5c4f\u5e55\u5c3a\u5bf8\n\u8fd4\u56de\u503c\uff1a\nint \u5bbd, \u5982\u679c\u672a\u521d\u59cb\u5316\u4f1a\u8fd4\u56de0\nint \u9ad8, \u5982\u679c\u672a\u521d\u59cb\u5316\u4f1a\u8fd4\u56de0\n\u4f8b\u5b50\uff1a\nlog.info(\"lcd\", \"size\", lcd.getSize())\n", "prefix": "lcd.getSize"}, "lcd.drawXbm": {"body": "lcd.drawXbm(${1:x},${2:y},${3:w},${4:h},${5:data})", "description": "lcd.drawXbm(x, y, w, h, data) - \u7ed8\u5236\u4f4d\u56fe\n\u4f20\u5165\u503c\uff1a\nint X\u5750\u6807\nint y\u5750\u6807\nint \u4f4d\u56fe\u5bbd\nint \u4f4d\u56fe\u9ad8\nint \u4f4d\u56fe\u6570\u636e,\u6bcf\u4e00\u4f4d\u4ee3\u8868\u4e00\u4e2a\u50cf\u7d20\n\u4f8b\u5b50\uff1a\n-- \u53d6\u6a21\u4f7f\u7528PCtoLCD2002\u8f6f\u4ef6\u5373\u53ef \u9634\u7801 \u9010\u884c \u9006\u5411\n-- \u5728(0,0)\u4e3a\u5de6\u4e0a\u89d2,\u7ed8\u5236 16x16 \"\u4eca\" \u7684\u4f4d\u56fe\nlcd.drawXbm(0, 0, 16,16, string.char(\n 0x80,0x00,0x80,0x00,0x40,0x01,0x20,0x02,0x10,0x04,0x48,0x08,0x84,0x10,0x83,0x60,\n 0x00,0x00,0xF8,0x0F,0x00,0x08,0x00,0x04,0x00,0x04,0x00,0x02,0x00,0x01,0x80,0x00\n))\n", "prefix": "lcd.drawXbm"}, "lcd.showImage": {"body": "lcd.showImage(${1:x},${2:y},${3:file})", "description": "lcd.showImage(x, y, file) - \u663e\u793a\u56fe\u7247,\u5f53\u524d\u53ea\u652f\u6301jpg,jpeg\n\u4f20\u5165\u503c\uff1a\nint X\u5750\u6807\nint y\u5750\u6807\nstring \u6587\u4ef6\u8def\u5f84\n\u4f8b\u5b50\uff1a\nlcd.showImage(0,0,\"/luadb/logo.jpg\")\n", "prefix": "lcd.showImage"}, "lcd.flush": {"body": "lcd.flush()", "description": "lcd.flush() - \u4e3b\u52a8\u5237\u65b0\u6570\u636e\u5230\u754c\u9762, \u4ec5\u8bbe\u7f6ebuff\u4e14\u7981\u7528\u81ea\u52a8\u5c5e\u6027\u540e\u4f7f\u7528\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue, \u5426\u5219\u8fd4\u56denil/false\n", "prefix": "lcd.flush"}, "lcd.setupBuff": {"body": "lcd.setupBuff(${1:conf},${2:onheap})", "description": "lcd.setupBuff(conf, onheap) - \u8bbe\u7f6e\u663e\u793a\u7f13\u51b2\u533a, \u6240\u9700\u5185\u5b58\u5927\u5c0f\u4e3a 2\u00d7\u5bbd\u00d7\u9ad8 \u5b57\u8282. \u8bf7\u8861\u91cf\u5185\u5b58\u9700\u6c42\u4e0e\u4e1a\u52a1\u6240\u9700\u7684\u5237\u65b0\u9891\u6b21.\n\u4f20\u5165\u503c\uff1a\nuserdata conf\u6307\u9488, \u4e0d\u9700\u8981\u4f20\nbool true\u4f7f\u7528heap\u5185\u5b58, false\u4f7f\u7528vm\u5185\u5b58, \u9ed8\u8ba4\u4f7f\u7528vm\u5185\u5b58, \u4e0d\u9700\u8981\u4e3b\u52a8\u4f20\n\u8fd4\u56de\u503c\uff1a\nbool \u662f\u5426\u6210\u529f\n\u4f8b\u5b50\uff1a\n-- \u521d\u59cb\u5316lcd\u7684buff\u7f13\u51b2\u533a, \u53ef\u7406\u89e3\u4e3aFrameBuffer\u533a\u57df.\nlcd.setupBuff()\n", "prefix": "lcd.setupBuff"}, "lcd.autoFlush": {"body": "lcd.autoFlush(${1:enable})", "description": "lcd.autoFlush(enable) - \u8bbe\u7f6e\u81ea\u52a8\u5237\u65b0, \u9700\u914d\u5408lcd.setupBuff\u4f7f\u7528\n\u4f20\u5165\u503c\uff1a\nbool \u662f\u5426\u81ea\u52a8\u5237\u65b0,\u9ed8\u8ba4\u4e3atrue\n\u4f8b\u5b50\uff1a\n-- \u8bbe\u7f6ebuff \u5e76\u7981\u7528\u81ea\u52a8\u66f4\u65b0\nlcd.setupBuff()\nlcd.autoFlush(false)\n-- \u7981\u6b62\u81ea\u52a8\u66f4\u65b0\u540e, \u9700\u8981\u4f7f\u7528 lcd.flush() \u4e3b\u52a8\u5237\u65b0\u6570\u636e\u5230\u5c4f\u5e55\n", "prefix": "lcd.autoFlush"}, "lcd.rgb565": {"body": "lcd.rgb565(${1:r},${2:g},${3:b},${4:swap})", "description": "lcd.rgb565(r, g, b, swap) - RGB565\u989c\u8272\u751f\u6210\n\u4f20\u5165\u503c\uff1a\nint \u7ea2\u8272, 0x00 ~ 0xFF\nint \u7eff\u8272, 0x00 ~ 0xFF\nint \u84dd\u8272, 0x00 ~ 0xFF\nbool \u662f\u5426\u7ffb\u8f6c, true \u7ffb\u8f6c, false \u4e0d\u7ffb\u8f6c. \u9ed8\u8ba4\u7ffb\u8f6c\n\u8fd4\u56de\u503c\uff1a\nint \u989c\u8272\u503c\n\u4f8b\u5b50\uff1a\n-- \u672cAPI\u652f\u6301\u591a\u79cd\u6a21\u5f0f, \u53c2\u6570\u6570\u91cf\u5206\u522b\u662f 1, 2, 3, 4\n-- 1. \u5355\u53c2\u6570\u5f62\u5f0f, 24bit RGB\u503c, swap = true, \u63a8\u8350\nlocal red = lcd.rgb565(0xFF0000)\nlocal green = lcd.rgb565(0x00FF00)\nlocal blue = lcd.rgb565(0x0000FF)\n\n-- 2. \u4e24\u53c2\u6570\u5f62\u5f0f, 24bit RGB\u503c, \u589e\u52a0swap\u7684\u8bbe\u7f6e\nlocal red = lcd.rgb565(0xFF0000, true)\nlocal green = lcd.rgb565(0x00FF00, true)\nlocal blue = lcd.rgb565(0x0000FF, true)\n\n-- 3. \u4e09\u53c2\u6570\u5f62\u5f0f, \u7ea2/\u7eff/\u84dd, \u54048bit\nlocal red = lcd.rgb565(0xFF, 0x00, 0x00)\nlocal green = lcd.rgb565(0x00, 0xFF, 0x00)\nlocal blue = lcd.rgb565(0x00, 0x00, 0xFF)\n\n-- 4. \u56db\u53c2\u6570\u5f62\u5f0f, \u7ea2/\u7eff/\u84dd, \u54048bit, \u589e\u52a0swap\u7684\u8bbe\u7f6e\nlocal red = lcd.rgb565(0xFF, 0x00, 0x00, true)\nlocal green = lcd.rgb565(0x00, 0xFF, 0x00, true)\nlocal blue = lcd.rgb565(0x00, 0x00, 0xFF, true)\n", "prefix": "lcd.rgb565"}, "lcdseg.setup": {"body": "lcdseg.setup(${1:bias},${2:duty},${3:vlcd},${4:com_number},${5:fresh_rate},${6:com_mark},${7:seg_mark})", "description": "lcdseg.setup(bias, duty, vlcd, com_number, fresh_rate, com_mark, seg_mark) - \u521d\u59cb\u5316lcdseg\u5e93\n\u4f20\u5165\u503c\uff1a\nint bias\u503c,\u901a\u5e38\u4e3a 1/3 bias, \u5bf9\u5e94 lcdseg.BIAS_ONETHIRD\nint duty\u503c,\u901a\u5e38\u4e3a 1/4 duty, \u5bf9\u5e94 lcdseg.DUTY_ONEFOURTH\nint \u7535\u538b, \u5355\u4f4d100mV, \u4f8b\u59822.7v\u519927. air103\u652f\u6301\u7684\u503c\u6709 27/29/31/33\nint COM\u811a\u7684\u6570\u91cf, \u53d6\u51b3\u4e8e\u5177\u4f53\u6a21\u5757, air103\u652f\u63011-4\nint \u5237\u65b0\u7387,\u901a\u5e38\u4e3a60, \u5bf9\u5e9460HZ\nint COM\u542f\u7528\u4e0e\u5426\u7684\u63a9\u7801, \u9ed8\u8ba4\u4e3a0xFF,\u5168\u90e8\u542f\u7528.\u82e5\u53ea\u542f\u7528COM0/COM1, \u52190x03\nint seg\u542f\u7528\u4e0e\u5426\u7684\u63a9\u7801, \u9ed8\u8ba4\u4e3a0xFFFFFFFF,\u5373\u5168\u90e8\u542f\u7528. \u82e5\u53ea\u542f\u7528\u524d16\u4e2a, 0xFFFF\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- \u521d\u59cb\u5316lcdseg\nif lcdseg.setup(lcdseg.BIAS_ONETHIRD, lcdseg.DUTY_ONEFOURTH, 33, 4, 60) then\n lcdseg.enable(1)\n\n lcdseg.seg_set(0, 1, 1)\n lcdseg.seg_set(2, 0, 1)\n lcdseg.seg_set(3, 31, 1)\nend\n", "prefix": "lcdseg.setup"}, "lcdseg.enable": {"body": "lcdseg.enable(${1:en})", "description": "lcdseg.enable(en) - \u542f\u7528\u6216\u7981\u7528lcdseg\u5e93\n\u4f20\u5165\u503c\uff1a\nint 1\u542f\u7528,0\u7981\u7528\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u4e0e\u5426\n", "prefix": "lcdseg.enable"}, "lcdseg.power": {"body": "lcdseg.power(${1:en})", "description": "lcdseg.power(en) - \u542f\u7528\u6216\u7981\u7528lcdseg\u7684\u8f93\u51fa\n\u4f20\u5165\u503c\uff1a\nint 1\u542f\u7528,0\u7981\u7528\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u4e0e\u5426\n", "prefix": "lcdseg.power"}, "lcdseg.seg_set": {"body": "lcdseg.seg_set(${1:com},${2:seg},${3:en})", "description": "lcdseg.seg_set(com, seg, en) - \u8bbe\u7f6e\u5177\u4f53\u4e00\u4e2a\u6bb5\u7801\u7684\u72b6\u6001\n\u4f20\u5165\u503c\uff1a\nint COM\u53f7\nint seg\u53f7 \u8981\u66f4\u6539\u7684\u5b57\u6bb5\u7684\u4f4d\u7d22\u5f15\nint 1\u542f\u7528,0\u7981\u7528\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u4e0e\u5426\n", "prefix": "lcdseg.seg_set"}, "libcoap.new": {"body": "libcoap.new(${1:code},${2:uri},${3:headers},${4:payload})", "description": "libcoap.new(code, uri, headers, payload) - \u521b\u5efa\u4e00\u4e2acoap\u6570\u636e\u5305\n\u4f20\u5165\u503c\uff1a\nint coap\u7684code, \u4f8b\u5982libcoap.GET/libcoap.POST/libcoap.PUT/libcoap.DELETE\nstring \u76ee\u6807URI,\u5fc5\u987b\u586b\u5199, \u4e0d\u9700\u8981\u52a0\u4e0a/\u5f00\u5934\ntable \u8bf7\u6c42\u5934,\u7c7b\u4f3c\u4e8ehttp\u7684headers,\u53ef\u9009\nstring \u8bf7\u6c42\u4f53,\u7c7b\u4f3c\u4e8ehttp\u7684body,\u53ef\u9009\n\u8fd4\u56de\u503c\uff1a\nuserdata coap\u6570\u636e\u5305\n\u4f8b\u5b50\uff1a\n-- \u521b\u5efa\u4e00\u4e2a\u8bf7\u6c42\u670d\u52a1\u5668time\u7684\u6570\u636e\u5305\nlocal coapdata = libcoap.new(libcoap.GET, \"time\")\nlocal data = coapdata:rawdata()\n", "prefix": "libcoap.new"}, "libcoap.parse": {"body": "libcoap.parse(${1:str})", "description": "libcoap.parse(str) - \u89e3\u6790coap\u6570\u636e\u5305\n\u4f20\u5165\u503c\uff1a\nstring coap\u6570\u636e\u5305\n\u8fd4\u56de\u503c\uff1a\nuserdata coap\u6570\u636e\u5305,\u5982\u679c\u89e3\u6790\u5931\u8d25\u4f1a\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\n-- \u89e3\u6790\u670d\u52a1\u5668\u4f20\u5165\u7684\u6570\u636e\u5305\nlocal coapdata = libcoap.parse(indata)\nlog.info(\"coapdata\", coapdata:hcode(), coapdata:data())\n", "prefix": "libcoap.parse"}, "coapdata:msgid": {"body": "coapdata:msgid()", "description": "coapdata:msgid() - \u83b7\u53d6coap\u6570\u636e\u5305\u7684msgid\n\u8fd4\u56de\u503c\uff1a\nint coap\u6570\u636e\u5305\u7684msgid\n\u4f8b\u5b50\uff1a\n-- \u89e3\u6790\u670d\u52a1\u5668\u4f20\u5165\u7684\u6570\u636e\u5305\nlocal coapdata = libcoap.parse(indata)\nlog.info(\"coapdata\", coapdata:msgid())\n", "prefix": "coapdata:msgid"}, "coapdata:token": {"body": "coapdata:token()", "description": "coapdata:token() - \u83b7\u53d6coap\u6570\u636e\u5305\u7684token\n\u8fd4\u56de\u503c\uff1a\nstring coap\u6570\u636e\u5305\u7684token\n\u4f8b\u5b50\uff1a\n-- \u89e3\u6790\u670d\u52a1\u5668\u4f20\u5165\u7684\u6570\u636e\u5305\nlocal coapdata = libcoap.parse(indata)\nlog.info(\"coapdata\", coapdata:token())\n", "prefix": "coapdata:token"}, "coapdata:rawdata": {"body": "coapdata:rawdata()", "description": "coapdata:rawdata() - \u83b7\u53d6coap\u6570\u636e\u5305\u7684\u4e8c\u8fdb\u5236\u6570\u636e,\u7528\u4e8e\u53d1\u9001\u5230\u670d\u52a1\u5668\n\u8fd4\u56de\u503c\uff1a\nstring coap\u6570\u636e\u5305\u7684\u4e8c\u8fdb\u5236\u6570\u636e\n\u4f8b\u5b50\uff1a\n-- \u89e3\u6790\u670d\u52a1\u5668\u4f20\u5165\u7684\u6570\u636e\u5305\nlocal coapdata = libcoap.new(libcoap.GET, \"time\")\nnetc:send(coapdata:rawdata())\n", "prefix": "coapdata:rawdata"}, "coapdata:code": {"body": "coapdata:code()", "description": "coapdata:code() - \u83b7\u53d6coap\u6570\u636e\u5305\u7684code\n\u8fd4\u56de\u503c\uff1a\nint coap\u6570\u636e\u5305\u7684code\n\u4f8b\u5b50\uff1a\n-- \u89e3\u6790\u670d\u52a1\u5668\u4f20\u5165\u7684\u6570\u636e\u5305\nlocal coapdata = libcoap.parse(indata)\nlog.info(\"coapdata\", coapdata:code())\n", "prefix": "coapdata:code"}, "coapdata:hcode": {"body": "coapdata:hcode()", "description": "coapdata:hcode() - \u83b7\u53d6coap\u6570\u636e\u5305\u7684http code, \u6bd4coap\u539f\u59cb\u7684code\u8981\u53cb\u597d\n\u8fd4\u56de\u503c\uff1a\nint coap\u6570\u636e\u5305\u7684http code,\u4f8b\u5982200,205,404\n\u4f8b\u5b50\uff1a\n-- \u89e3\u6790\u670d\u52a1\u5668\u4f20\u5165\u7684\u6570\u636e\u5305\nlocal coapdata = libcoap.parse(indata)\nlog.info(\"coapdata\", coapdata:hcode())\n", "prefix": "coapdata:hcode"}, "coapdata:type": {"body": "coapdata:type(${1:t})", "description": "coapdata:type(t) - \u83b7\u53d6coap\u6570\u636e\u5305\u7684type, \u4f8b\u5982libcoap.CON/NON/ACK/RST\n\u4f20\u5165\u503c\uff1a\nint \u65b0\u7684type\u503c,\u53ef\u9009\n\u8fd4\u56de\u503c\uff1a\nint coap\u6570\u636e\u5305\u7684type\n\u4f8b\u5b50\uff1a\n-- \u89e3\u6790\u670d\u52a1\u5668\u4f20\u5165\u7684\u6570\u636e\u5305\nlocal coapdata = libcoap.parse(indata)\nlog.info(\"coapdata\", coapdata:type())\n", "prefix": "coapdata:type"}, "coapdata:data": {"body": "coapdata:data()", "description": "coapdata:data() - \u83b7\u53d6coap\u6570\u636e\u5305\u7684data\n\u8fd4\u56de\u503c\uff1a\nstring coap\u6570\u636e\u5305\u7684data\n\u4f8b\u5b50\uff1a\n-- \u89e3\u6790\u670d\u52a1\u5668\u4f20\u5165\u7684\u6570\u636e\u5305\nlocal coapdata = libcoap.parse(indata)\nlog.info(\"coapdata\", coapdata:data())\n", "prefix": "coapdata:data"}, "libgnss.parse": {"body": "libgnss.parse(${1:str})", "description": "libgnss.parse(str) - \u5904\u7406nmea\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nstring \u539f\u59cbnmea\u6570\u636e\n\u4f8b\u5b50\uff1a\n-- \u89e3\u6790nmea\u6570\u636e\nlibgnss.parse(indata)\nlog.info(\"nmea\", json.encode(libgnss.getRmc(), \"11g\"))\n", "prefix": "libgnss.parse"}, "libgnss.isFix": {"body": "libgnss.isFix()", "description": "libgnss.isFix() - \u5f53\u524d\u662f\u5426\u5df2\u7ecf\u5b9a\u4f4d\u6210\u529f\n\u8fd4\u56de\u503c\uff1a\nboolean \u5b9a\u4f4d\u6210\u529f\u4e0e\u5426\n\u4f8b\u5b50\uff1a\nlog.info(\"nmea\", \"isFix\", libgnss.isFix())\n", "prefix": "libgnss.isFix"}, "libgnss.getIntLocation": {"body": "libgnss.getIntLocation()", "description": "libgnss.getIntLocation() - \u83b7\u53d6\u4f4d\u7f6e\u4fe1\u606f\n\u8fd4\u56de\u503c\uff1a\nint lat\u6570\u636e, \u683c\u5f0f\u4e3a ddddddddd\nint lng\u6570\u636e, \u683c\u5f0f\u4e3a ddddddddd\nint speed\u6570\u636e, \u5355\u4f4d\u7c73. \u4e8e2023.9.26\u4fee\u6b63\n\u4f8b\u5b50\uff1a\n-- \u5efa\u8bae\u7528libgnss.getRmc(1)\nlog.info(\"nmea\", \"loc\", libgnss.getIntLocation())\n", "prefix": "libgnss.getIntLocation"}, "libgnss.getRmc": {"body": "libgnss.getRmc(${1:data_mode})", "description": "libgnss.getRmc(data_mode) - \u83b7\u53d6\u539f\u59cbRMC\u4f4d\u7f6e\u4fe1\u606f\n\u4f20\u5165\u503c\uff1a\nint \u5750\u6807\u7c7b\u6570\u636e\u7684\u683c\u5f0f, 0-DDMM.MMM\u683c\u5f0f, 1-DDDDDDD\u683c\u5f0f, 2-DD.DDDDD\u683c\u5f0f\n\u8fd4\u56de\u503c\uff1a\ntable \u539f\u59cbrmc\u6570\u636e\n\u4f8b\u5b50\uff1a\n-- \u89e3\u6790nmea\nlog.info(\"nmea\", \"rmc\", json.encode(libgnss.getRmc(2)))\n-- \u5b9e\u4f8b\u8f93\u51fa\n--[[\n{\n \"course\":0,\n \"valid\":true, // true\u5b9a\u4f4d\u6210\u529f,false\u5b9a\u4f4d\u4e22\u5931\n \"lat\":23.4067, // \u7eac\u5ea6, \u6b63\u6570\u4e3a\u5317\u7eac, \u8d1f\u6570\u4e3a\u5357\u7eac\n \"lng\":113.231, // \u7ecf\u5ea6, \u6b63\u6570\u4e3a\u4e1c\u7ecf, \u8d1f\u6570\u4e3a\u897f\u7ecf\n \"variation\":0, // \u5730\u9762\u822a\u5411\uff0c\u5355\u4f4d\u4e3a\u5ea6\uff0c\u4ece\u5317\u5411\u8d77\u987a\u65f6\u9488\u8ba1\u7b97\n \"speed\":0 // \u5730\u9762\u901f\u5ea6, \u5355\u4f4d\u4e3a\"\u8282\"\n \"year\":2023, // \u5e74\u4efd\n \"month\":1, // \u6708\u4efd, 1-12\n \"day\":5, // \u6708\u4efd\u5929, 1-31\n \"hour\":7, // \u5c0f\u65f6,0-23\n \"min\":23, // \u5206\u949f,0-59\n \"sec\":20, // \u79d2,0-59\n}\n]]\n", "prefix": "libgnss.getRmc"}, "libgnss.getGsv": {"body": "libgnss.getGsv()", "description": "libgnss.getGsv() - \u83b7\u53d6\u539f\u59cbGSV\u4fe1\u606f\n\u8fd4\u56de\u503c\uff1a\ntable \u539f\u59cbGSV\u6570\u636e\n\u4f8b\u5b50\uff1a\n-- \u89e3\u6790nmea\nlog.info(\"nmea\", \"gsv\", json.encode(libgnss.getGsv()))\n--[[\u5b9e\u4f8b\u8f93\u51fa\n{\n \"total_sats\":24, // \u603b\u53ef\u89c1\u536b\u661f\u6570\u91cf\n \"sats\":[\n {\n \"snr\":27, // \u4fe1\u566a\u6bd4\n \"azimuth\":278, // \u65b9\u5411\u89d2\n \"elevation\":59, // \u4ef0\u89d2\n \"tp\":0, // 0 - GPS/SASS/QSZZ, 1 - BD\n \"nr\":4 // \u536b\u661f\u7f16\u53f7\n },\n // \u8fd9\u91cc\u5ffd\u7565\u4e8622\u4e2a\u536b\u661f\u7684\u4fe1\u606f\n {\n \"snr\":0,\n \"azimuth\":107,\n \"elevation\":19,\n \"tp\":1,\n \"nr\":31\n }\n ]\n}\n]]\n", "prefix": "libgnss.getGsv"}, "libgnss.getGsa": {"body": "libgnss.getGsa(${1:data_mode})", "description": "libgnss.getGsa(data_mode) - \u83b7\u53d6\u539f\u59cbGSA\u4fe1\u606f\n\u4f20\u5165\u503c\uff1a\nint \u5750\u6807\u7c7b\u6570\u636e\u7684\u683c\u5f0f, 0-DDMM.MMM\u683c\u5f0f, 1-DDDDDDD\u683c\u5f0f, 2-DD.DDDDD\u683c\u5f0f\n\u8fd4\u56de\u503c\uff1a\ntable \u539f\u59cbGSA\u6570\u636e\n\u4f8b\u5b50\uff1a\n-- \u83b7\u53d6\nlog.info(\"nmea\", \"gsa\", json.encode(libgnss.getGsa(), \"11g\"))\n-- \u793a\u4f8b\u6570\u636e\n--[[\n{\n \"sats\":[ // \u6b63\u5728\u4f7f\u7528\u7684\u536b\u661f\u7f16\u53f7\n 9,\n 6,\n 16,\n 16,\n 26,\n 21,\n 27,\n 27,\n 4,\n 36,\n 3,\n 7,\n 8,\n 194\n ],\n \"vdop\":0.03083333, // \u5782\u76f4\u7cbe\u5ea6\u56e0\u5b50\uff0c0.00 - 99.99\uff0c\u4e0d\u5b9a\u4f4d\u65f6\u503c\u4e3a 99.99\n \"pdop\":0.0455, // \u6c34\u5e73\u7cbe\u5ea6\u56e0\u5b50\uff0c0.00 - 99.99\uff0c\u4e0d\u5b9a\u4f4d\u65f6\u503c\u4e3a 99.99\n \"fix_type\":3, // \u5b9a\u4f4d\u6a21\u5f0f, 1-\u672a\u5b9a\u4f4d, 2-2D\u5b9a\u4f4d, 3-3D\u5b9a\u4f4d\n \"hdop\":0.0335 // \u4f4d\u7f6e\u7cbe\u5ea6\u56e0\u5b50\uff0c0.00 - 99.99\uff0c\u4e0d\u5b9a\u4f4d\u65f6\u503c\u4e3a 99.99\n}\n]]\n", "prefix": "libgnss.getGsa"}, "libgnss.getVtg": {"body": "libgnss.getVtg(${1:data_mode})", "description": "libgnss.getVtg(data_mode) - \u83b7\u53d6VTA\u901f\u5ea6\u4fe1\u606f\n\u4f20\u5165\u503c\uff1a\nint \u53ef\u9009, 3-\u539f\u59cb\u5b57\u7b26\u4e32, \u4e0d\u4f20\u6216\u8005\u4f20\u5176\u4ed6\u503c, \u5219\u8fd4\u56de\u6d6e\u70b9\u503c\n\u8fd4\u56de\u503c\uff1a\ntable \u539f\u59cbVTA\u6570\u636e\n\u4f8b\u5b50\uff1a\n-- \u89e3\u6790nmea\nlog.info(\"nmea\", \"vtg\", json.encode(libgnss.getVtg()))\n-- \u793a\u4f8b\n--[[\n{\n \"speed_knots\":0, // \u901f\u5ea6, \u82f1\u91cc/\u5c0f\u65f6\n \"true_track_degrees\":0, // \u771f\u5317\u65b9\u5411\u89d2\n \"magnetic_track_degrees\":0, // \u78c1\u5317\u65b9\u5411\u89d2\n \"speed_kph\":0 // \u901f\u5ea6, \u5343\u7c73/\u5c0f\u65f6\n}\n]]\n", "prefix": "libgnss.getVtg"}, "libgnss.getZda": {"body": "libgnss.getZda()", "description": "libgnss.getZda() - \u83b7\u53d6\u539f\u59cbZDA\u65f6\u95f4\u548c\u65e5\u671f\u4fe1\u606f\n\u8fd4\u56de\u503c\uff1a\ntable \u539f\u59cbzda\u6570\u636e\n\u4f8b\u5b50\uff1a\nlog.info(\"nmea\", \"zda\", json.encode(libgnss.getZda()))\n-- \u5b9e\u4f8b\u8f93\u51fa\n--[[\n{\n \"minute_offset\":0, // \u672c\u5730\u65f6\u533a\u7684\u5206\u949f, \u4e00\u822c\u56fa\u5b9a\u8f93\u51fa0\n \"hour_offset\":0, // \u672c\u5730\u65f6\u533a\u7684\u5c0f\u65f6, \u4e00\u822c\u56fa\u5b9a\u8f93\u51fa0\n \"year\":2023 // UTC \u5e74\uff0c\u56db\u4f4d\u6570\u5b57\n \"month\":1, // UTC \u6708\uff0c\u4e24\u4f4d\uff0c01 ~ 12\n \"day\":5, // UTC \u65e5\uff0c\u4e24\u4f4d\u6570\u5b57\uff0c01 ~ 31\n \"hour\":7, // \u5c0f\u65f6\n \"min\":50, // \u5206\n \"sec\":14, // \u79d2\n}\n]]\n", "prefix": "libgnss.getZda"}, "libgnss.debug": {"body": "libgnss.debug(${1:mode})", "description": "libgnss.debug(mode) - \u8bbe\u7f6e\u8c03\u8bd5\u6a21\u5f0f\n\u4f20\u5165\u503c\uff1a\nbool true\u5f00\u542f\u8c03\u8bd5,false\u5173\u95ed\u8c03\u8bd5,\u9ed8\u8ba4\u4e3afalse\n\u4f8b\u5b50\uff1a\n-- \u5f00\u542f\u8c03\u8bd5, \u4f1a\u8f93\u51faGNSS\u539f\u59cb\u6570\u636e\u5230\u65e5\u5fd7\u4e2d\nlibgnss.debug(true)\n-- \u5173\u95ed\u8c03\u8bd5\nlibgnss.debug(false)\n", "prefix": "libgnss.debug"}, "libgnss.getGga": {"body": "libgnss.getGga(${1:data_mode})", "description": "libgnss.getGga(data_mode) - \u83b7\u53d6GGA\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nint \u5750\u6807\u7c7b\u6570\u636e\u7684\u683c\u5f0f, 0-DDMM.MMM\u683c\u5f0f, 1-DDDDDDD\u683c\u5f0f, 2-DD.DDDDD\u683c\u5f0f, 3-\u539f\u59cb\u5b57\u7b26\u4e32\n\u8fd4\u56de\u503c\uff1a\ntable GGA\u6570\u636e, \u82e5\u5982\u4e0d\u5b58\u5728\u4f1a\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\nlocal gga = libgnss.getGga(2)\nif gga then\n log.info(\"GGA\", json.encode(gga, \"11g\"))\nend\n--\u5b9e\u4f8b\u8f93\u51fa\n--[[\n{\n \"dgps_age\":0, // \u5dee\u5206\u6821\u6b63\u65f6\u5ef6\uff0c\u5355\u4f4d\u4e3a\u79d2\n \"fix_quality\":1, // \u5b9a\u4f4d\u72b6\u6001\u6807\u8bc6 0 - \u65e0\u6548,1 - \u5355\u70b9\u5b9a\u4f4d,2 - \u5dee\u5206\u5b9a\u4f4d\n \"satellites_tracked\":14, // \u53c2\u4e0e\u5b9a\u4f4d\u7684\u536b\u661f\u6570\u91cf\n \"altitude\":0.255, // \u6d77\u5e73\u9762\u5206\u79bb\u5ea6, \u6216\u8005\u6210\u4e3a\u6d77\u62d4, \u5355\u4f4d\u662f\u7c73,\n \"hdop\":0.0335, // \u6c34\u5e73\u7cbe\u5ea6\u56e0\u5b50\uff0c0.00 - 99.99\uff0c\u4e0d\u5b9a\u4f4d\u65f6\u503c\u4e3a 99.99\n \"longitude\":113.231, // \u7ecf\u5ea6, \u6b63\u6570\u4e3a\u4e1c\u7ecf, \u8d1f\u6570\u4e3a\u897f\u7ecf\n \"latitude\":23.4067, // \u7eac\u5ea6, \u6b63\u6570\u4e3a\u5317\u7eac, \u8d1f\u6570\u4e3a\u5357\u7eac\n \"height\":0 // \u692d\u7403\u9ad8\uff0c\u56fa\u5b9a\u8f93\u51fa 1 \u4f4d\u5c0f\u6570\n}\n]]\n", "prefix": "libgnss.getGga"}, "libgnss.getGll": {"body": "libgnss.getGll(${1:data_mode})", "description": "libgnss.getGll(data_mode) - \u83b7\u53d6GLL\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nint \u5750\u6807\u7c7b\u6570\u636e\u7684\u683c\u5f0f, 0-DDMM.MMM\u683c\u5f0f, 1-DDDDDDD\u683c\u5f0f, 2-DD.DDDDD\u683c\u5f0f\n\u8fd4\u56de\u503c\uff1a\ntable GLL\u6570\u636e, \u82e5\u5982\u4e0d\u5b58\u5728\u4f1a\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\nlocal gll = libgnss.getGll(2)\nif gll then\n log.info(\"GLL\", json.encode(gll, \"11g\"))\nend\n-- \u5b9e\u4f8b\u6570\u636e\n--[[\n{\n \"status\":\"A\", // \u5b9a\u4f4d\u72b6\u6001, A\u6709\u6548, B\u65e0\u6548\n \"mode\":\"A\", // \u5b9a\u4f4d\u6a21\u5f0f, V\u65e0\u6548, A\u5355\u70b9\u89e3, D\u5dee\u5206\u89e3\n \"sec\":20, // \u79d2, UTC\u65f6\u95f4\u4e3a\u51c6\n \"min\":23, // \u5206\u949f, UTC\u65f6\u95f4\u4e3a\u51c6\n \"hour\":7, // \u5c0f\u65f6, UTC\u65f6\u95f4\u4e3a\u51c6\n \"longitude\":113.231, // \u7ecf\u5ea6, \u6b63\u6570\u4e3a\u4e1c\u7ecf, \u8d1f\u6570\u4e3a\u897f\u7ecf\n \"latitude\":23.4067, // \u7eac\u5ea6, \u6b63\u6570\u4e3a\u5317\u7eac, \u8d1f\u6570\u4e3a\u5357\u7eac\n \"us\":0 // \u5fae\u5999\u6570, \u901a\u5e38\u4e3a0\n}\n]]\n", "prefix": "libgnss.getGll"}, "libgnss.clear": {"body": "libgnss.clear()", "description": "libgnss.clear() - \u6e05\u9664\u5386\u53f2\u5b9a\u4f4d\u6570\u636e\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n-- \u8be5\u64cd\u4f5c\u4f1a\u6e05\u9664\u6240\u6709\u5b9a\u4f4d\u6570\u636e\n", "prefix": "libgnss.clear"}, "libgnss.bind": {"body": "libgnss.bind(${1:id},${2:next_id})", "description": "libgnss.bind(id, next_id) - \u7ed1\u5b9auart\u7aef\u53e3\u8fdb\u884cGNSS\u6570\u636e\u8bfb\u53d6\n\u4f20\u5165\u503c\uff1a\nint uart\u7aef\u53e3\u53f7\nint \u8f6c\u53d1\u5230uart\u7684id, \u4f8b\u5982\u865a\u62dfuart.VUART_0\n\u4f8b\u5b50\uff1a\n-- \u914d\u7f6e\u4e32\u53e3\u4fe1\u606f, \u901a\u5e38\u4e3a 115200 8N1\nuart.setup(2, 115200)\n-- \u7ed1\u5b9auart, \u9a6c\u4e0a\u5f00\u59cb\u89e3\u6790GNSS\u6570\u636e\nlibgnss.bind(2)\n-- \u65e0\u9700\u518d\u8c03\u7528uart.on\u7136\u540e\u8c03\u7528libgnss.parse\n-- \u5f00\u53d1\u671f\u53ef\u6253\u5f00\u8c03\u8bd5\u65e5\u5fd7\nlibgnss.debug(true)\n\n-- 2023-01-02\u4e4b\u540e\u7f16\u8bd1\u7684\u56fa\u4ef6\u6709\u6548\n-- \u4eceuart2\u8bfb\u53d6\u5e76\u89e3\u6790, \u540c\u65f6\u8f6c\u53d1\u5230\u865a\u62df\u4e32\u53e30\nlibgnss.bind(2, uart.VUART_0)\n", "prefix": "libgnss.bind"}, "libgnss.locStr": {"body": "libgnss.locStr(${1:mode})", "description": "libgnss.locStr(mode) - \u83b7\u53d6\u4f4d\u7f6e\u5b57\u7b26\u4e32\n\u4f20\u5165\u503c\uff1a\nint \u5b57\u7b26\u4e32\u6a21\u5f0f. 0- Air780EG\u6240\u9700\u7684\u683c\u5f0f\nreturn \u6307\u5b9a\u6a21\u5f0f\u7684\u5b57\u7b26\u4e32\n\u4f8b\u5b50\uff1a\n-- \u4ec5\u63a8\u8350\u5728\u5b9a\u4f4d\u6210\u529f\u540e\u8c03\u7528\n", "prefix": "libgnss.locStr"}, "libgnss.rtcAuto": {"body": "libgnss.rtcAuto(${1:enable})", "description": "libgnss.rtcAuto(enable) - \u5b9a\u4f4d\u6210\u529f\u540e\u81ea\u52a8\u8bbe\u7f6eRTC\n\u4f20\u5165\u503c\uff1a\nbool \u5f00\u542f\u4e0e\u5426, \u9ed8\u8ba4\u662ffalse\u5173\u95ed\n\u4f8b\u5b50\uff1a\n-- \u5f00\u542f\u81ea\u52a8\u8bbe\u7f6eRTC\nlibgnss.rtcAuto(true)\n", "prefix": "libgnss.rtcAuto"}, "libgnss.on": {"body": "libgnss.on(${1:tp},${2:fn})", "description": "libgnss.on(tp, fn) - \u5e95\u5c42\u4e8b\u4ef6\u56de\u8c03\n\u4f20\u5165\u503c\uff1a\nstring \u4e8b\u4ef6\u7c7b\u578b,\u5f53\u524d\u652f\u6301\"raw\"\n\u4f8b\u5b50\uff1a\n-- \u672c\u51fd\u6570\u4e00\u822c\u7528\u4e8e\u8c03\u8bd5, \u7528\u4e8e\u83b7\u53d6\u5e95\u5c42\u5b9e\u9645\u6536\u5230\u7684\u6570\u636e\nlibgnss.on(\"raw\", function(data)\n log.info(\"GNSS\", data)\nend)\n", "prefix": "libgnss.on"}, "libgnss.getTxt": {"body": "libgnss.getTxt()", "description": "libgnss.getTxt() - \u83b7\u53d6\u975e\u6807\u7684GPTXT\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nreturn GPTXT\u6240\u643a\u5e26\u7684\u5b57\u7b26\u4e32\n\u4f8b\u5b50\uff1a\n-- \u672c\u51fd\u6570\u4e8e2023.6.6 \u6dfb\u52a0\nlog.info(\"gnss\", \"txt\", libgnss.getTxt())\n\n-- \u6d4b\u8bd5\u8bed\u53e5\nlibgnss.parse(\"$GPTXT,01,01,01,ANTENNA SHORT*63\\r\\n\")\nlog.info(\"GNSS\", libgnss.getTxt())\nlibgnss.parse(\"$GPTXT,01,01,01,ANTENNA OPEN*25\\r\\n\")\nlog.info(\"GNSS\", libgnss.getTxt())\nlibgnss.parse(\"$GPTXT,01,01,01,ANTENNA OK*35\\r\\n\")\nlog.info(\"GNSS\", libgnss.getTxt())\n", "prefix": "libgnss.getTxt"}, "log.setLevel": {"body": "log.setLevel(${1:level})", "description": "log.setLevel(level) - \u8bbe\u7f6e\u65e5\u5fd7\u7ea7\u522b\n\u4f20\u5165\u503c\uff1a\nstring level \u65e5\u5fd7\u7ea7\u522b,\u53ef\u7528\u5b57\u7b26\u4e32\u6216\u6570\u503c, \u5b57\u7b26\u4e32\u4e3a(SILENT,DEBUG,INFO,WARN,ERROR,FATAL), \u6570\u503c\u4e3a(0,1,2,3,4,5)\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n-- \u8bbe\u7f6e\u65e5\u5fd7\u7ea7\u522b\u4e3aINFO\nlog.setLevel(\"INFO\")\n", "prefix": "log.setLevel"}, "log.style": {"body": "log.style(${1:val})", "description": "log.style(val) - \u8bbe\u7f6e\u65e5\u5fd7\u98ce\u683c\n\u4f20\u5165\u503c\uff1a\nint \u65e5\u5fd7\u98ce\u683c,\u9ed8\u8ba4\u4e3a0, \u4e0d\u4f20\u5c31\u662f\u83b7\u53d6\u5f53\u524d\u503c\n\u8fd4\u56de\u503c\uff1a\nint \u5f53\u524d\u7684\u65e5\u5fd7\u98ce\u683c\n\u4f8b\u5b50\uff1a\n-- \u4ee5 log.info(\"ABC\", \"DEF\", 123) \u4e3a\u4f8b, \u5047\u8bbe\u8be5\u4ee3\u7801\u4f4d\u4e8emain.lua\u768412\u884c\n-- \u9ed8\u8ba4\u65e5\u5fd70\n-- I/user.ABC DEF 123\n-- \u8c03\u8bd5\u98ce\u683c1, \u6dfb\u52a0\u989d\u5916\u7684\u8c03\u8bd5\u4fe1\u606f\n-- I/main.lua:12 ABC DEF 123\n-- \u8c03\u8bd5\u98ce\u683c2, \u6dfb\u52a0\u989d\u5916\u7684\u8c03\u8bd5\u4fe1\u606f, \u4f4d\u7f6e\u6709\u6240\u533a\u522b\n-- I/user.ABC main.lua:12 DEF 123\n\nlog.style(0) -- \u9ed8\u8ba4\u98ce\u683c0\nlog.style(1) -- \u8c03\u8bd5\u98ce\u683c1\nlog.style(2) -- \u8c03\u8bd5\u98ce\u683c2\n", "prefix": "log.style"}, "log.getLevel": {"body": "log.getLevel()", "description": "log.getLevel() - \u83b7\u53d6\u65e5\u5fd7\u7ea7\u522b\n\u8fd4\u56de\u503c\uff1a\nint \u65e5\u5fd7\u7ea7\u522b\u5bf9\u5e940,1,2,3,4,5\n\u4f8b\u5b50\uff1a\n-- \u5f97\u5230\u65e5\u5fd7\u7ea7\u522b\nlog.getLevel()\n", "prefix": "log.getLevel"}, "log.debug": {"body": "log.debug(${1:tag},${2:val},${3:val2},${4:val3},${5:...})", "description": "log.debug(tag, val, val2, val3, ...) - \u8f93\u51fa\u65e5\u5fd7,\u7ea7\u522bdebug\n\u4f20\u5165\u503c\uff1a\nstring tag \u65e5\u5fd7\u6807\u8bc6,\u5fc5\u987b\u662f\u5b57\u7b26\u4e32\n... \u9700\u6253\u5370\u7684\u53c2\u6570\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n-- \u65e5\u5fd7\u8f93\u51fa D/onenet connect ok\nlog.debug(\"onenet\", \"connect ok\")\n", "prefix": "log.debug"}, "log.info": {"body": "log.info(${1:tag},${2:val},${3:val2},${4:val3},${5:...})", "description": "log.info(tag, val, val2, val3, ...) - \u8f93\u51fa\u65e5\u5fd7,\u7ea7\u522binfo\n\u4f20\u5165\u503c\uff1a\nstring tag \u65e5\u5fd7\u6807\u8bc6,\u5fc5\u987b\u662f\u5b57\u7b26\u4e32\n... \u9700\u6253\u5370\u7684\u53c2\u6570\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n-- \u65e5\u5fd7\u8f93\u51fa I/onenet connect ok\nlog.info(\"onenet\", \"connect ok\")\n", "prefix": "log.info"}, "log.warn": {"body": "log.warn(${1:tag},${2:val},${3:val2},${4:val3},${5:...})", "description": "log.warn(tag, val, val2, val3, ...) - \u8f93\u51fa\u65e5\u5fd7,\u7ea7\u522bwarn\n\u4f20\u5165\u503c\uff1a\nstring tag \u65e5\u5fd7\u6807\u8bc6,\u5fc5\u987b\u662f\u5b57\u7b26\u4e32\n... \u9700\u6253\u5370\u7684\u53c2\u6570\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n-- \u65e5\u5fd7\u8f93\u51fa W/onenet connect ok\nlog.warn(\"onenet\", \"connect ok\")\n", "prefix": "log.warn"}, "log.error": {"body": "log.error(${1:tag},${2:val},${3:val2},${4:val3},${5:...})", "description": "log.error(tag, val, val2, val3, ...) - \u8f93\u51fa\u65e5\u5fd7,\u7ea7\u522berror\n\u4f20\u5165\u503c\uff1a\nstring tag \u65e5\u5fd7\u6807\u8bc6,\u5fc5\u987b\u662f\u5b57\u7b26\u4e32\n... \u9700\u6253\u5370\u7684\u53c2\u6570\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n-- \u65e5\u5fd7\u8f93\u51fa E/onenet connect ok\nlog.error(\"onenet\", \"connect ok\")\n", "prefix": "log.error"}, "lora.init": {"body": "lora.init(${1:ic},${2:loraconfig},${3:spiconfig})", "description": "lora.init(ic, loraconfig,spiconfig) - lora\u521d\u59cb\u5316\n\u4f20\u5165\u503c\uff1a\nstring lora \u578b\u53f7\uff0c\u5f53\u524d\u652f\u6301\uff1a
        llcc68
        sx1268\ntable lora\u914d\u7f6e\u53c2\u6570,\u4e0e\u5177\u4f53\u8bbe\u5907\u6709\u5173\n\u4f8b\u5b50\uff1a\nlora.init(\"llcc68\",\n {\n id = 0, -- SPI id\n cs = pin.PB04, -- SPI \u7247\u9009\u7684GPIO\u53f7,\u5982\u679c\u6ca1\u6709pin\u5e93,\u586bGPIO\u6570\u5b57\u7f16\u53f7\u5c31\u884c\n res = pin.PB00, -- \u590d\u4f4d\u811a\u8fde\u63a5\u7684GPIO\u53f7,\u5982\u679c\u6ca1\u6709pin\u5e93,\u586bGPIO\u6570\u5b57\u7f16\u53f7\u5c31\u884c\n busy = pin.PB01, -- \u5fd9\u68c0\u6d4b\u811a\u7684GPIO\u53f7\n dio1 = pin.PB06, -- \u6570\u636e\u8f93\u5165\u4e2d\u65ad\u811a\n lora_init = true -- \u662f\u5426\u53d1\u9001\u521d\u59cb\u5316\u547d\u4ee4. \u5982\u679c\u662f\u5524\u9192\u540e\u76f4\u63a5\u8bfb\u53d6, \u5c31\u4f20false\n }\n)\n", "prefix": "lora.init"}, "lora.set_channel": {"body": "lora.set_channel(${1:freq})", "description": "lora.set_channel(freq) - \u8bbe\u7f6e\u9891\u9053\u9891\u7387\n\u4f20\u5165\u503c\uff1a\nnumber \u9891\u7387\n\u4f8b\u5b50\uff1a\nlora.set_channel(433000000)\n", "prefix": "lora.set_channel"}, "lora.set_txconfig": {"body": "lora.set_txconfig(${1:ic},${2:txconfig})", "description": "lora.set_txconfig(ic, txconfig) - lora\u914d\u7f6e\u53d1\u9001\u53c2\u6570\n\u4f20\u5165\u503c\uff1a\nstring lora \u578b\u53f7\uff0c\u5f53\u524d\u652f\u6301\uff1a
        llcc68
        sx1268\ntable lora\u53d1\u9001\u914d\u7f6e\u53c2\u6570,\u4e0e\u5177\u4f53\u8bbe\u5907\u6709\u5173\n\u4f8b\u5b50\uff1a\nlora.set_txconfig(\"llcc68\",\n {\n mode=1,\n power=22,\n fdev=0,\n bandwidth=0,\n datarate=9,\n coderate=4,\n preambleLen=8,\n fixLen=false,\n crcOn=true,\n freqHopOn=0,\n hopPeriod=0,\n iqInverted=false,\n timeout=3000\n }\n)\n", "prefix": "lora.set_txconfig"}, "lora.set_rxconfig": {"body": "lora.set_rxconfig(${1:ic},${2:set_rxconfig})", "description": "lora.set_rxconfig(ic, set_rxconfig) - lora\u914d\u7f6e\u63a5\u6536\u53c2\u6570\n\u4f20\u5165\u503c\uff1a\nstring lora \u578b\u53f7\uff0c\u5f53\u524d\u652f\u6301\uff1a
        llcc68
        sx1268\ntable lora\u63a5\u6536\u914d\u7f6e\u53c2\u6570,\u4e0e\u5177\u4f53\u8bbe\u5907\u6709\u5173\n\u4f8b\u5b50\uff1a\nlora.set_rxconfig(\"llcc68\",\n {\n mode=1,\n bandwidth=0,\n datarate=9,\n coderate=4,\n bandwidthAfc=0,\n preambleLen=8,\n symbTimeout=0,\n fixLen=false,\n payloadLen=0,\n crcOn=true,\n freqHopOn=0,\n hopPeriod=0,\n iqInverted=false,\n rxContinuous=false\n }\n)\n", "prefix": "lora.set_rxconfig"}, "lora.send": {"body": "lora.send(${1:data})", "description": "lora.send(data) - \u53d1\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nstring \u5199\u5165\u7684\u6570\u636e\n\u4f8b\u5b50\uff1a\nlora.send(\"PING\")\n", "prefix": "lora.send"}, "lora.recv": {"body": "lora.recv(${1:timeout})", "description": "lora.recv(timeout) - \u5f00\u542f\u6536\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nnumber \u8d85\u65f6\u65f6\u95f4\uff0c\u9ed8\u8ba41000 \u5355\u4f4dms\n\u4f8b\u5b50\uff1a\nsys.subscribe(\"LORA_RX_DONE\", function(data, size)\n log.info(\"LORA_RX_DONE: \", data, size)\n lora.send(\"PING\")\nend)\n-- \u8001\u7248\u672c\u6ca1\u6709recv, \u53ef\u4ee5\u6539\u6210 lora.recive\nlora.recv(1000)\n", "prefix": "lora.recv"}, "lora.mode": {"body": "lora.mode(${1:mode})", "description": "lora.mode(mode) - \u8bbe\u7f6e\u8fdb\u5165\u6a21\u5f0f(\u4f11\u7720\uff0c\u6b63\u5e38\u7b49)\n\u4f20\u5165\u503c\uff1a\nnumber \u6a21\u5f0f \u6b63\u5e38\u6a21\u5f0f:lora.STANDBY \u4f11\u7720\u6a21\u5f0f:lora.SLEEP \u9ed8\u8ba4\u4e3a\u6b63\u5e38\u6a21\u5f0f\n\u4f8b\u5b50\uff1a\nlora.mode(lora.STANDBY)\n", "prefix": "lora.mode"}, "lora2.init": {"body": "lora2.init(${1:ic},${2:loraconfig},${3:spiconfig})", "description": "lora2.init(ic, loraconfig,spiconfig) - lora\u521d\u59cb\u5316\n\u4f20\u5165\u503c\uff1a\nstring lora \u578b\u53f7\uff0c\u5f53\u524d\u652f\u6301\uff1a
        llcc68
        sx1268\ntable lora\u914d\u7f6e\u53c2\u6570,\u4e0e\u5177\u4f53\u8bbe\u5907\u6709\u5173\n\u8fd4\u56de\u503c\uff1a\nuserdata \u82e5\u6210\u529f\u4f1a\u8fd4\u56delora\u5bf9\u8c61,\u5426\u5219\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\nspi_lora = spi.deviceSetup(spi_id,pin_cs,0,0,8,10*1000*1000,spi.MSB,1,0)\nlora_device = lora2.init(\"llcc68\",{res = pin_reset,busy = pin_busy,dio1 = pin_dio1},spi_lora)\n", "prefix": "lora2.init"}, "lora_device:set_channel": {"body": "lora_device:set_channel(${1:freq})", "description": "lora_device:set_channel(freq) - \u8bbe\u7f6e\u9891\u9053\u9891\u7387\n\u4f20\u5165\u503c\uff1a\nnumber \u9891\u7387\n\u4f8b\u5b50\uff1a\nlora_device:set_channel(433000000)\n", "prefix": "lora_device:set_channel"}, "lora_device:set_txconfig": {"body": "lora_device:set_txconfig(${1:txconfig})", "description": "lora_device:set_txconfig(txconfig) - lora\u914d\u7f6e\u53d1\u9001\u53c2\u6570\n\u4f20\u5165\u503c\uff1a\ntable lora\u53d1\u9001\u914d\u7f6e\u53c2\u6570,\u4e0e\u5177\u4f53\u8bbe\u5907\u6709\u5173\n\u4f8b\u5b50\uff1a\nlora_device:set_txconfig(\n {\n mode=1,\n power=22,\n fdev=0,\n bandwidth=0,\n datarate=9,\n coderate=4,\n preambleLen=8,\n fixLen=false,\n crcOn=true,\n freqHopOn=0,\n hopPeriod=0,\n iqInverted=false,\n timeout=3000\n }\n)\n", "prefix": "lora_device:set_txconfig"}, "lora_device:set_rxconfig": {"body": "lora_device:set_rxconfig(${1:set_rxconfig})", "description": "lora_device:set_rxconfig(set_rxconfig) - lora\u914d\u7f6e\u63a5\u6536\u53c2\u6570\n\u4f20\u5165\u503c\uff1a\ntable lora\u63a5\u6536\u914d\u7f6e\u53c2\u6570,\u4e0e\u5177\u4f53\u8bbe\u5907\u6709\u5173\n\u4f8b\u5b50\uff1a\nlora_device:set_rxconfig(\n {\n mode=1,\n bandwidth=0,\n datarate=9,\n coderate=4,\n bandwidthAfc=0,\n preambleLen=8,\n symbTimeout=0,\n fixLen=false,\n payloadLen=0,\n crcOn=true,\n freqHopOn=0,\n hopPeriod=0,\n iqInverted=false,\n rxContinuous=false\n }\n)\n", "prefix": "lora_device:set_rxconfig"}, "lora_device:send": {"body": "lora_device:send(${1:data})", "description": "lora_device:send(data) - \u53d1\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nstring \u5199\u5165\u7684\u6570\u636e\n\u4f8b\u5b50\uff1a\nlora_device:send(\"PING\")\n", "prefix": "lora_device:send"}, "lora_device:recv": {"body": "lora_device:recv(${1:timeout})", "description": "lora_device:recv(timeout) - \u5f00\u542f\u6536\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nnumber \u8d85\u65f6\u65f6\u95f4\uff0c\u9ed8\u8ba41000 \u5355\u4f4dms\n\u4f8b\u5b50\uff1a\nsys.subscribe(\"LORA_RX_DONE\", function(data, size)\n log.info(\"LORA_RX_DONE: \", data, size)\n lora_device:send(\"PING\")\nend)\nlora_device:recv(1000)\n", "prefix": "lora_device:recv"}, "lora_device:mode": {"body": "lora_device:mode(${1:mode})", "description": "lora_device:mode(mode) - \u8bbe\u7f6e\u8fdb\u5165\u6a21\u5f0f(\u4f11\u7720\uff0c\u6b63\u5e38\u7b49)\n\u4f20\u5165\u503c\uff1a\nnumber \u6a21\u5f0f \u6b63\u5e38\u6a21\u5f0f:lora.STANDBY \u4f11\u7720\u6a21\u5f0f:lora.SLEEP \u9ed8\u8ba4\u4e3a\u6b63\u5e38\u6a21\u5f0f\n\u4f8b\u5b50\uff1a\nlora_device:mode(lora.STANDBY)\n", "prefix": "lora_device:mode"}, "lora_device:on": {"body": "lora_device:on(${1:cb})", "description": "lora_device:on(cb) - \u6ce8\u518clora\u56de\u8c03\n\u4f20\u5165\u503c\uff1a\nfunction cb lora\u56de\u8c03,\u53c2\u6570\u5305\u62eclora_device, event, data, size\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\nlora_device:on(function(lora_device, event, data, size)\n log.info(\"lora\", \"event\", event, lora_device, data, size)\n if event == \"tx_done\" then\n lora_device:recv(1000)\n elseif event == \"rx_done\" then\n lora_device:send(\"PING\")\n elseif event == \"tx_timeout\" then\n\n elseif event == \"rx_timeout\" then\n lora_device:recv(1000)\n elseif event == \"rx_error\" then\n\n end\nend)\n--[[\nevent\u53ef\u80fd\u51fa\u73b0\u7684\u503c\u6709\n tx_done -- \u53d1\u9001\u5b8c\u6210\n rx_done -- \u63a5\u6536\u5b8c\u6210\n tx_timeout -- \u53d1\u9001\u8d85\u65f6\n rx_timeout -- \u63a5\u6536\u8d85\u65f6\n rx_error -- \u63a5\u6536\u9519\u8bef\n]]\n", "prefix": "lora_device:on"}, "lpmem.read": {"body": "lpmem.read(${1:offset},${2:size})", "description": "lpmem.read(offset, size) - \u8bfb\u53d6\u5185\u5b58\u5757\n\u4f20\u5165\u503c\uff1a\nint \u5185\u5b58\u504f\u79fb\u91cf\nint \u8bfb\u53d6\u5927\u5c0f,\u5355\u4f4d\u5b57\u8282\n\u8fd4\u56de\u503c\uff1a\nstring \u8bfb\u53d6\u6210\u529f\u8fd4\u56de\u5b57\u7b26\u4e32,\u5426\u5219\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\n-- \u8bfb\u53d61kb\u7684\u5185\u5b58\nlocal data = lpmem.read(0, 1024)\n", "prefix": "lpmem.read"}, "lpmem.write": {"body": "lpmem.write(${1:offset},${2:str})", "description": "lpmem.write(offset, str) - \u5199\u5165\u5185\u5b58\u5757\n\u4f20\u5165\u503c\uff1a\nint \u5185\u5b58\u504f\u79fb\u91cf\nstring \u5f85\u5199\u5165\u7684\u6570\u636e\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- \u5f80\u504f\u79fb\u91cf\u4e3a512\u5b57\u8282\u7684\u4f4d\u7f6e, \u5199\u5165\u6570\u636e\nlpmem.write(512, data)\n", "prefix": "lpmem.write"}, "lpmem.size": {"body": "lpmem.size()", "description": "lpmem.size() - \u83b7\u53d6\u5185\u5b58\u5757\u7684\u603b\u5927\u5c0f\n\u8fd4\u56de\u503c\uff1a\nint \u5185\u5b58\u5757\u7684\u5927\u5c0f\n\u4f8b\u5b50\uff1a\nlpmem.size()\n", "prefix": "lpmem.size"}, "lvgl.draw_mask_radius_param_t": {"body": "lvgl.draw_mask_radius_param_t()", "description": "lvgl.draw_mask_radius_param_t() - \u521b\u5efa\u4e00\u4e2alv_draw_mask_radius_param_t\n\u8fd4\u56de\u503c\uff1a\nuserdata lv_draw_mask_radius_param_t\u6307\u9488\n\u4f8b\u5b50\uff1a\nlocal radius = lvgl.draw_mask_radius_param_t()\n", "prefix": "lvgl.draw_mask_radius_param_t"}, "lvgl.draw_mask_radius_param_t_free": {"body": "lvgl.draw_mask_radius_param_t_free(${1:radius})", "description": "lvgl.draw_mask_radius_param_t_free(radius) - \u91ca\u653e\u4e00\u4e2alv_draw_mask_radius_param_t\n\u4f8b\u5b50\uff1a\nlocal lvgl.draw_mask_radius_param_t_free(radius)\n", "prefix": "lvgl.draw_mask_radius_param_t_free"}, "lvgl.draw_mask_line_param_t": {"body": "lvgl.draw_mask_line_param_t()", "description": "lvgl.draw_mask_line_param_t() - \u521b\u5efa\u4e00\u4e2alv_draw_mask_line_param_t\n\u8fd4\u56de\u503c\uff1a\nuserdata lv_draw_mask_line_param_t\u6307\u9488\n\u4f8b\u5b50\uff1a\nlocal line = lvgl.draw_mask_line_param_t()\n", "prefix": "lvgl.draw_mask_line_param_t"}, "lvgl.draw_mask_line_param_t_free": {"body": "lvgl.draw_mask_line_param_t_free(${1:line})", "description": "lvgl.draw_mask_line_param_t_free(line) - \u91ca\u653e\u4e00\u4e2alv_draw_mask_line_param_t\n\u4f8b\u5b50\uff1a\nlocal lvgl.draw_mask_line_param_t_free(line)\n", "prefix": "lvgl.draw_mask_line_param_t_free"}, "lvgl.draw_mask_fade_param_t": {"body": "lvgl.draw_mask_fade_param_t()", "description": "lvgl.draw_mask_fade_param_t() - \u521b\u5efa\u4e00\u4e2alv_draw_mask_fade_param_t\n\u8fd4\u56de\u503c\uff1a\nuserdata lv_draw_mask_fade_param_t\u6307\u9488\n\u4f8b\u5b50\uff1a\nlocal fade = lvgl.draw_mask_fade_param_t()\n", "prefix": "lvgl.draw_mask_fade_param_t"}, "lvgl.draw_mask_fade_param_t_free": {"body": "lvgl.draw_mask_fade_param_t_free(${1:fade})", "description": "lvgl.draw_mask_fade_param_t_free(fade) - \u91ca\u653e\u4e00\u4e2alv_draw_mask_fade_param_t\n\u4f8b\u5b50\uff1a\nlocal lvgl.draw_mask_fade_param_t_free(fade)\n", "prefix": "lvgl.draw_mask_fade_param_t_free"}, "lvgl.obj_set_event_cb": {"body": "lvgl.obj_set_event_cb(${1:obj},${2:func})", "description": "lvgl.obj_set_event_cb(obj, func) - \u8bbe\u7f6e\u7ec4\u4ef6\u7684\u4e8b\u4ef6\u56de\u8c03\n\u4f20\u5165\u503c\uff1a\nuserdata lvgl\u7ec4\u4ef6\u6307\u9488\nfunc lua\u51fd\u6570, \u53c2\u6570\u67092\u4e2a (obj, event), \u5176\u4e2dobj\u662f\u5f53\u524d\u5bf9\u8c61, event\u662f\u4e8b\u4ef6\u7c7b\u578b, \u4e3a\u6574\u578b\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n", "prefix": "lvgl.obj_set_event_cb"}, "lvgl.obj_set_signal_cb": {"body": "lvgl.obj_set_signal_cb(${1:obj},${2:func})", "description": "lvgl.obj_set_signal_cb(obj, func) - \u8bbe\u7f6e\u7ec4\u4ef6\u7684\u4fe1\u53f7\u56de\u8c03\n\u4f20\u5165\u503c\uff1a\nuserdata lvgl\u7ec4\u4ef6\u6307\u9488\nfunc lua\u51fd\u6570, \u53c2\u6570\u67092\u4e2a (obj, signal), \u5176\u4e2dobj\u662f\u5f53\u524d\u5bf9\u8c61, signal\u662f\u4fe1\u53f7\u7c7b\u578b, \u4e3a\u6574\u578b\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n", "prefix": "lvgl.obj_set_signal_cb"}, "lvgl.anim_set_exec_cb": {"body": "lvgl.anim_set_exec_cb(${1:anim},${2:func})", "description": "lvgl.anim_set_exec_cb(anim, func) - \u8bbe\u7f6e\u52a8\u753b\u56de\u8c03\n\u4f20\u5165\u503c\uff1a\nuserdata \u52a8\u753b\u6307\u9488\nuserdata lvgl\u7ec4\u4ef6\u6307\u9488\nfunc lua\u51fd\u6570, \u53c2\u6570\u67092\u4e2a (obj, value), \u5176\u4e2dobj\u662f\u5f53\u524d\u5bf9\u8c61, signal\u662f\u4fe1\u53f7\u7c7b\u578b, \u4e3a\u6574\u578b\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n", "prefix": "lvgl.anim_set_exec_cb"}, "lvgl.anim_set_ready_cb": {"body": "lvgl.anim_set_ready_cb(${1:anim},${2:func})", "description": "lvgl.anim_set_ready_cb(anim, func) - \u8bbe\u7f6e\u52a8\u753b\u56de\u8c03\n\u4f20\u5165\u503c\uff1a\nuserdata \u52a8\u753b\u6307\u9488\nuserdata lvgl\u7ec4\u4ef6\u6307\u9488\nfunc lua\u51fd\u6570, \u53c2\u6570\u67091\u4e2a (anim), \u5176\u4e2danim\u662f\u5f53\u524d\u5bf9\u8c61\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n", "prefix": "lvgl.anim_set_ready_cb"}, "lvgl.anim_path_set_cb": {"body": "lvgl.anim_path_set_cb(${1:path},${2:func})", "description": "lvgl.anim_path_set_cb(path, func) - \u8bbe\u7f6e\u52a8\u753b\u56de\u8c03\n\u4f20\u5165\u503c\uff1a\nuserdata \u52a8\u753b\u6307\u9488\nuserdata lvgl\u7ec4\u4ef6\u6307\u9488\nfunc lua\u51fd\u6570, \u53c2\u6570\u67091\u4e2a (path), \u5176\u4e2dpath\u662f\u5f53\u524d\u5bf9\u8c61\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n", "prefix": "lvgl.anim_path_set_cb"}, "lvgl.event_send": {"body": "lvgl.event_send(${1:obj},${2:ent})", "description": "lvgl.event_send(obj, ent) - \u53d1\u9001\u4e8b\u4ef6\u7ed9\u7ec4\u4ef6\n\u4f20\u5165\u503c\uff1a\nuserdata \u7ec4\u4ef6\u6307\u9488\nint \u4e8b\u4ef6id, \u4f8b\u5982 lvgl.EVENT_PRESSED\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue, \u5bf9\u8c61\u5df2\u88ab\u5220\u9664\u7684\u8bdd\u8fd4\u56defalse\u6216\u8005nil\nint \u5e95\u5c42\u8fd4\u56de\u503c,\u5982\u679cobj\u4e3anil\u5c31\u8fd4\u56denil\n", "prefix": "lvgl.event_send"}, "lvgl.style_t": {"body": "lvgl.style_t()", "description": "lvgl.style_t() - \u521b\u5efa\u4e00\u4e2astyle\n\u8fd4\u56de\u503c\uff1a\nuserdata style\u6307\u9488\n\u4f8b\u5b50\uff1a\nlocal style = lvgl.style_t()\nlvgl.style_init(style)\n", "prefix": "lvgl.style_t"}, "lvgl.style_create": {"body": "lvgl.style_create()", "description": "lvgl.style_create() - \u521b\u5efa\u4e00\u4e2astyle\u5e76\u521d\u59cb\u5316\n\u8fd4\u56de\u503c\uff1a\nuserdata style\u6307\u9488\n\u4f8b\u5b50\uff1a\nlocal style = lvgl.style_create()\n", "prefix": "lvgl.style_create"}, "lvgl.style_list_create": {"body": "lvgl.style_list_create()", "description": "lvgl.style_list_create() - \u521b\u5efa\u4e00\u4e2astyle_list\n\u8fd4\u56de\u503c\uff1a\nuserdata style\u6307\u9488\n\u4f8b\u5b50\uff1a\nlocal style_list = lvgl.style_list_create()\n", "prefix": "lvgl.style_list_create"}, "lvgl.style_list_t": {"body": "lvgl.style_list_t()", "description": "lvgl.style_list_t() - \u521b\u5efa\u4e00\u4e2astyle_list\n\u8fd4\u56de\u503c\uff1a\nuserdata style\u6307\u9488\n\u4f8b\u5b50\uff1a\nlocal style = lvgl.style_list_t()\n", "prefix": "lvgl.style_list_t"}, "lvgl.style_delete": {"body": "lvgl.style_delete(${1:style})", "description": "lvgl.style_delete(style) - \u5220\u9664style,\u614e\u7528,\u901a\u5e38\u4e0d\u4f1a\u6267\u884c\u5220\u9664\u64cd\u4f5c\n\u4f20\u5165\u503c\uff1a\nuserdata style\u6307\u9488\n\u4f8b\u5b50\uff1a\nlocal style = lvgl.style_create()\n-- ...\n-- ...\n-- lvgl.style_delete(style)\n", "prefix": "lvgl.style_delete"}, "lvgl.style_list_delete": {"body": "lvgl.style_list_delete(${1:style})", "description": "lvgl.style_list_delete(style) - \u5220\u9664style_list,\u614e\u7528,\u901a\u5e38\u4e0d\u4f1a\u6267\u884c\u5220\u9664\u64cd\u4f5c\n\u4f20\u5165\u503c\uff1a\nuserdata style\u6307\u9488\n\u4f8b\u5b50\uff1a\nlocal style_list = lvgl.style_list_create()\n-- ...\n-- ...\n-- lvgl.style_list_delete(style_list)\n", "prefix": "lvgl.style_list_delete"}, "lvgl.indev_drv_register": {"body": "lvgl.indev_drv_register(${1:tp},${2:dtp})", "description": "lvgl.indev_drv_register(tp, dtp) - \u6ce8\u518c\u8f93\u5165\u8bbe\u5907\u9a71\u52a8\n\u4f20\u5165\u503c\uff1a\nstring \u8bbe\u5907\u7c7b\u578b\uff0c\u5f53\u524d\u652f\u6301\"pointer\",\u6307\u9488\u7c7b/\u89e6\u6478\u7c7b\u5747\u53ef\uff0c\"keyboard\",\u952e\u76d8\u7c7b\u578b\nstring \u8bbe\u5907\u578b\u53f7\uff0c\u5f53\u524d\u652f\u6301\"emulator\",\u6a21\u62df\u5668\u7c7b\u578b\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\nlvgl.indev_drv_register(\"pointer\", \"emulator\")\n", "prefix": "lvgl.indev_drv_register"}, "lvgl.indev_point_emulator_update": {"body": "lvgl.indev_point_emulator_update(${1:x},${2:y},${3:state})", "description": "lvgl.indev_point_emulator_update(x, y, state) - \u66f4\u65b0\u6a21\u62df\u8f93\u5165\u8bbe\u5907\u7684\u5750\u6807\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nint x\u5750\u6807,\u4ee5\u5de6\u4e0a\u89d2\u4e3a0,\u53f3\u4e0b\u89d2\u4e3a\u6700\u5927\u503c\nint y\u5750\u6807,\u4ee5\u5de6\u4e0a\u89d2\u4e3a0,\u53f3\u4e0b\u89d2\u4e3a\u6700\u5927\u503c\nint \u72b6\u6001, 0 \u4e3a \u91ca\u653e, 1 \u4e3a\u6309\u4e0b\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n-- \u6a21\u62df\u5728\u5c4f\u5e55\u4e0a\u7684\u70b9\u51fb,\u901a\u8fc7timeout\u6a21\u62df\u957f\u6309\u548c\u77ed\u6309\nsys.taskInit(function(x, y, timeout)\n lvgl.indev_point_emulator_update(x, y, 1)\n sys.wait(timeout)\n lvgl.indev_point_emulator_update(x, y, 0)\nend, 240, 120, 50)\n", "prefix": "lvgl.indev_point_emulator_update"}, "lvgl.indev_kb_update": {"body": "lvgl.indev_kb_update(${1:key})", "description": "lvgl.indev_kb_update(key) - \u66f4\u65b0\u952e\u76d8\u8f93\u5165\u8bbe\u5907\u7684\u6309\u952e\u503c\n\u4f20\u5165\u503c\uff1a\nint \u6309\u952e\u503c\uff0c\u9ed8\u8ba4\u4e3a0\uff0c\u6309\u952e\u62ac\u8d77\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n", "prefix": "lvgl.indev_kb_update"}, "lvgl.font_get": {"body": "lvgl.font_get(${1:name})", "description": "lvgl.font_get(name) - \u83b7\u53d6\u5185\u7f6e\u5b57\u4f53\n\u4f20\u5165\u503c\uff1a\nstring \u5b57\u4f53\u540d\u79f0+\u5b57\u53f7, \u4f8b\u5982 opposans_m_10\n\u8fd4\u56de\u503c\uff1a\nuserdata \u5b57\u4f53\u6307\u9488\n\u4f8b\u5b50\uff1a\n\nlocal font = lvgl.font_get(\"opposans_m_12\")\n", "prefix": "lvgl.font_get"}, "lvgl.font_load": {"body": "lvgl.font_load(${1:path/spi_device},${2:size},${3:bpp},${4:thickness},${5:cache_size},${6:sty_zh},${7:sty_en})", "description": "lvgl.font_load(path/spi_device,size,bpp,thickness,cache_size,sty_zh,sty_en) - \u4ece\u6587\u4ef6\u7cfb\u7edf\u52a0\u8f7d\u5b57\u4f53\n\u4f20\u5165\u503c\uff1a\nstring/userdata \u5b57\u4f53\u8def\u5f84/spi_device (spi_device\u4e3a\u4f7f\u7528\u5916\u7f6e\u9ad8\u901a\u77e2\u91cf\u5b57\u5e93\u82af\u7247)\nnumber size \u53ef\u9009,\u5b57\u53f7 16-192 \u9ed8\u8ba416(\u4f7f\u7528\u9ad8\u901a\u77e2\u91cf\u5b57\u5e93)\nnumber bpp \u53ef\u9009 \u6df1\u5ea6 \u9ed8\u8ba44(\u4f7f\u7528\u9ad8\u901a\u77e2\u91cf\u5b57\u5e93)\nnumber thickness \u53ef\u9009 \u7c97\u7ec6\u503c \u9ed8\u8ba4size * bpp(\u4f7f\u7528\u9ad8\u901a\u77e2\u91cf\u5b57\u5e93)\nnumber cache_size \u53ef\u9009 \u9ed8\u8ba40(\u4f7f\u7528\u9ad8\u901a\u77e2\u91cf\u5b57\u5e93)\nnumber sty_zh \u53ef\u9009 \u9009\u62e9\u5b57\u4f53 \u9ed8\u8ba41(\u4f7f\u7528\u9ad8\u901a\u77e2\u91cf\u5b57\u5e93)\nnumber sty_en \u53ef\u9009 \u9009\u62e9\u5b57\u4f53 \u9ed8\u8ba43(\u4f7f\u7528\u9ad8\u901a\u77e2\u91cf\u5b57\u5e93)\n\u8fd4\u56de\u503c\uff1a\nuserdata \u5b57\u4f53\u6307\u9488\n\u4f8b\u5b50\uff1a\nlocal font = lvgl.font_load(\"/font_32.bin\")\n--local font = lvgl.font_load(spi_device,16)(\u9ad8\u901a\u77e2\u91cf\u5b57\u5e93)\n", "prefix": "lvgl.font_load"}, "lvgl.font_free": {"body": "lvgl.font_free(${1:font})", "description": "lvgl.font_free(font) - \u91ca\u653e\u5b57\u4f53,\u614e\u7528!!!\u4ec5\u901a\u8fc7font_load\u52a0\u8f7d\u7684\u5b57\u4f53\u5141\u8bb8\u5378\u8f7d,\u901a\u8fc7font_get\u83b7\u53d6\u7684\u5b57\u4f53\u4e0d\u5141\u8bb8\u5378\u8f7d\n\u4f20\u5165\u503c\uff1a\nstring \u5b57\u4f53\u8def\u5f84\n\u8fd4\u56de\u503c\uff1a\nuserdata \u5b57\u4f53\u6307\u9488\n\u4f8b\u5b50\uff1a\nlocal font = lvgl.font_load(\"/font_32.bin\")\n-- N N N N \u64cd\u4f5c\n-- \u786e\u5b9a\u5b57\u4f53\u4e0d\u88ab\u4f7f\u7528,\u4e0d\u88ab\u5f15\u7528,\u4e14\u5185\u5b58\u7d27\u5f20\u9700\u8981\u91ca\u653e\nlvgl.font_free(font)\n", "prefix": "lvgl.font_free"}, "lvgl.anim_create": {"body": "lvgl.anim_create()", "description": "lvgl.anim_create() - \u521b\u5efa\u5e76\u521d\u59cb\u5316\u4e00\u4e2aanim\n\u8fd4\u56de\u503c\uff1a\nuserdata anim\u6307\u9488\n\u4f8b\u5b50\uff1a\nlocal anim = lvgl.anim_create()\n", "prefix": "lvgl.anim_create"}, "lvgl.anim_free": {"body": "lvgl.anim_free(${1:anim})", "description": "lvgl.anim_free(anim) - \u91ca\u653e\u4e00\u4e2aanim\n\u4f8b\u5b50\uff1a\nlocal lvgl.anim_free(anim)\n", "prefix": "lvgl.anim_free"}, "lvgl.anim_path_t": {"body": "lvgl.anim_path_t()", "description": "lvgl.anim_path_t() - \u521b\u5efa\u4e00\u4e2alv_anim_path_t\n\u8fd4\u56de\u503c\uff1a\nuserdata lv_anim_path_t\u6307\u9488\n\u4f8b\u5b50\uff1a\nlocal anim_path_t = lvgl.anim_path_t()\n", "prefix": "lvgl.anim_path_t"}, "lvgl.anim_path_t_free": {"body": "lvgl.anim_path_t_free(${1:anim_path_t})", "description": "lvgl.anim_path_t_free(anim_path_t) - \u91ca\u653e\u4e00\u4e2alv_anim_path_t\n\u4f8b\u5b50\uff1a\nlocal lvgl.anim_path_t_free(anim_path_t)\n", "prefix": "lvgl.anim_path_t_free"}, "lvgl.anim_set_path_str": {"body": "lvgl.anim_set_path_str(${1:anim},${2:tp})", "description": "lvgl.anim_set_path_str(anim, tp) - \u8bbe\u7f6e\u52a8\u753b\u8def\u5f84\u65b9\u5f0f\n\u4f20\u5165\u503c\uff1a\nuserdata \u52a8\u753b\u6307\u9488\nstring \u7c7b\u578b, \u652f\u6301 linear/ease_in/ease_out/ease_in_out/overshoot/bounce/step\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n", "prefix": "lvgl.anim_set_path_str"}, "lvgl.init": {"body": "lvgl.init(${1:w},${2:h},${3:lcd},${4:buff_size},${5:buff_mode})", "description": "lvgl.init(w, h, lcd, buff_size, buff_mode) - \u521d\u59cb\u5316LVGL\n\u4f20\u5165\u503c\uff1a\nint \u5c4f\u5e55\u5bbd,\u53ef\u9009,\u9ed8\u8ba4\u4ecelcd\u53d6\nint \u5c4f\u5e55\u9ad8,\u53ef\u9009,\u9ed8\u8ba4\u4ecelcd\u53d6\nuserdata lcd\u6307\u9488,\u53ef\u9009,lcd\u521d\u59cb\u5316\u540e\u6709\u9ed8\u8ba4\u503c,\u9884\u7559\u7684\u591a\u5c4f\u5165\u53e3\nint \u7f13\u51b2\u533a\u5927\u5c0f,\u9ed8\u8ba4\u5bbd*10, \u4e0d\u542b\u8272\u6df1.\nint \u7f13\u51b2\u6a21\u5f0f,\u9ed8\u8ba40, \u5355buff\u6a21\u5f0f, \u53ef\u90091,\u53ccbuff\u6a21\u5f0f\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n", "prefix": "lvgl.init"}, "lvgl.demo_benchmark": {"body": "lvgl.demo_benchmark()", "description": "lvgl.demo_benchmark() - lvgl benchmark demo\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\nlvgl.init()\nlvgl.demo_benchmark()\n", "prefix": "lvgl.demo_benchmark"}, "lvgl.demo_keypad_encoder": {"body": "lvgl.demo_keypad_encoder()", "description": "lvgl.demo_keypad_encoder() - lvgl keypad_encoder demo\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\nlvgl.init()\nlvgl.demo_keypad_encoder()\n", "prefix": "lvgl.demo_keypad_encoder"}, "lvgl.demo_music": {"body": "lvgl.demo_music()", "description": "lvgl.demo_music() - lvgl music demo\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\nlvgl.init()\nlvgl.demo_music()\n", "prefix": "lvgl.demo_music"}, "lvgl.demo_printer": {"body": "lvgl.demo_printer()", "description": "lvgl.demo_printer() - lvgl printer demo\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\nlvgl.init()\nlvgl.demo_printer()\n", "prefix": "lvgl.demo_printer"}, "lvgl.demo_stress": {"body": "lvgl.demo_stress()", "description": "lvgl.demo_stress() - lvgl stress demo\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\nlvgl.init()\nlvgl.demo_stress()\n", "prefix": "lvgl.demo_stress"}, "lvgl.demo_widgets": {"body": "lvgl.demo_widgets()", "description": "lvgl.demo_widgets() - lvgl widgets demo\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\nlvgl.init()\nlvgl.demo_widgets()\n", "prefix": "lvgl.demo_widgets"}, "lvgl.qrcode_create": {"body": "lvgl.qrcode_create(${1:parent},${2:size},${3:dark_color},${4:light_color})", "description": "lvgl.qrcode_create(parent, size, dark_color, light_color) - \u521b\u5efaqrcode\u7ec4\u4ef6\n\u4f20\u5165\u503c\uff1a\nuserdata \u7236\u7ec4\u4ef6\nint \u957f\u5ea6,\u56e0\u4e3aqrcode\u662f\u6b63\u65b9\u5f62\nint \u4e8c\u7ef4\u7801\u4e2d\u6570\u636e\u70b9\u7684\u989c\u8272, RGB\u989c\u8272, \u9ed8\u8ba4 0x3333ff\nint \u4e8c\u7ef4\u7801\u4e2d\u80cc\u666f\u70b9\u7684\u989c\u8272, RGB\u989c\u8272, \u9ed8\u8ba4 0xeeeeff\n\u8fd4\u56de\u503c\uff1a\nuserdata qrcode\u7ec4\u4ef6\n\u4f8b\u5b50\uff1a\n-- \u521b\u5efa\u5e76\u663e\u793aqrcode\nlocal qrcode = lvgl.qrcode_create(scr, 100)\nlvgl.qrcode_update(qrcode, \"https://luatos.com\")\nlvgl.obj_align(qrcode, lvgl.scr_act(), lvgl.ALIGN_CENTER, -100, -100)\n", "prefix": "lvgl.qrcode_create"}, "lvgl.qrcode_update": {"body": "lvgl.qrcode_update(${1:qrcode},${2:cnt})", "description": "lvgl.qrcode_update(qrcode, cnt) - \u8bbe\u7f6eqrcode\u7ec4\u4ef6\u7684\u4e8c\u7ef4\u7801\u5185\u5bb9,\u914d\u5408qrcode_create\u4f7f\u7528\n\u4f20\u5165\u503c\uff1a\nuserdata qrcode\u7ec4\u4ef6,\u7531qrcode_create\u521b\u5efa\nstring \u4e8c\u7ef4\u7801\u7684\u5185\u5bb9\u6570\u636e\n\u8fd4\u56de\u503c\uff1a\nbool \u66f4\u65b0\u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse. \u901a\u5e38\u53ea\u6709\u6570\u636e\u592a\u957f\u65e0\u6cd5\u5bb9\u7eb3\u624d\u4f1a\u8fd4\u56defalse\n", "prefix": "lvgl.qrcode_update"}, "lvgl.qrcode_delete": {"body": "lvgl.qrcode_delete(${1:qrcode})", "description": "lvgl.qrcode_delete(qrcode) - \u5220\u9664qrcode\u7ec4\u4ef6\n\u4f20\u5165\u503c\uff1a\nuserdata qrcode\u7ec4\u4ef6,\u7531qrcode_create\u521b\u5efa\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n", "prefix": "lvgl.qrcode_delete"}, "lvgl.gif_create": {"body": "lvgl.gif_create(${1:parent},${2:path})", "description": "lvgl.gif_create(parent, path) - \u521b\u5efagif\u7ec4\u4ef6\n\u4f20\u5165\u503c\uff1a\nuserdata \u7236\u7ec4\u4ef6,\u53ef\u4ee5\u662fnil,\u4f46\u901a\u5e38\u4e0d\u4f1a\u662fnil\nstring \u6587\u4ef6\u8def\u5f84\n\u8fd4\u56de\u503c\uff1a\nuserdata \u7ec4\u4ef6\u6307\u9488,\u82e5\u5931\u8d25\u4f1a\u8fd4\u56denil,\u5efa\u8bae\u68c0\u67e5\n\u4f8b\u5b50\uff1a\nlocal gif = lvgl.gif_create(scr, \"S/emtry.gif\")\nif gif then\n log.info(\"gif\", \"create ok\")\nend\n\n", "prefix": "lvgl.gif_create"}, "lvgl.gif_restart": {"body": "lvgl.gif_restart(${1:gif})", "description": "lvgl.gif_restart(gif) - \u91cd\u65b0\u64ad\u653egif\u7ec4\u4ef6\n\u4f20\u5165\u503c\uff1a\nuserdata gif\u7ec4\u4ef6\u652f\u6301, \u7531gif_create\u65b9\u6cd5\u8fd4\u56de\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\nlocal gif = lvgl.gif_create(scr, \"S/emtry.gif\")\nif gif then\n log.info(\"gif\", \"create ok\")\nend\n\n", "prefix": "lvgl.gif_restart"}, "lvgl.scr_act": {"body": "lvgl.scr_act()", "description": "lvgl.scr_act() - \u83b7\u53d6\u5f53\u524d\u6d3b\u8dc3\u7684screen\u5bf9\u8c61\n\u8fd4\u56de\u503c\uff1a\n\u6307\u9488 screen\u6307\u9488\n\u4f8b\u5b50\uff1a\nlocal scr = lvgl.scr_act()\n\n", "prefix": "lvgl.scr_act"}, "lvgl.layer_top": {"body": "lvgl.layer_top()", "description": "lvgl.layer_top() - \u83b7\u53d6layer_top\n\u8fd4\u56de\u503c\uff1a\n\u6307\u9488 layer\u6307\u9488\n", "prefix": "lvgl.layer_top"}, "lvgl.layer_sys": {"body": "lvgl.layer_sys()", "description": "lvgl.layer_sys() - \u83b7\u53d6layer_sys\n\u8fd4\u56de\u503c\uff1a\n\u6307\u9488 layer\u6307\u9488\n", "prefix": "lvgl.layer_sys"}, "lvgl.scr_load": {"body": "lvgl.scr_load(${1:scr})", "description": "lvgl.scr_load(scr) - \u8f7d\u5165\u6307\u5b9a\u7684screen\n\u4f20\u5165\u503c\uff1a\nuserdata screen\u6307\u9488\n\u4f8b\u5b50\uff1a\n local scr = lvgl.obj_create(nil, nil)\n local btn = lvgl.btn_create(scr)\n lvgl.obj_align(btn, lvgl.scr_act(), lvgl.ALIGN_CENTER, 0, 0)\n local label = lvgl.label_create(btn)\n lvgl.label_set_text(label, \"LuatOS!\")\n lvgl.scr_load(scr)\n", "prefix": "lvgl.scr_load"}, "lvgl.scr_load_anim": {"body": "lvgl.scr_load_anim(${1:scr})", "description": "lvgl.scr_load_anim(scr) - \u8f7d\u5165\u6307\u5b9a\u7684screen\u5e76\u4f7f\u7528\u6307\u5b9a\u7684\u8f6c\u573a\u52a8\u753b\n\u4f20\u5165\u503c\uff1a\nuserdata screen\u6307\u9488\n\u4f8b\u5b50\uff1a\n local scr = lvgl.obj_create(nil, nil)\n local btn = lvgl.btn_create(scr)\n lvgl.obj_align(btn, lvgl.scr_act(), lvgl.ALIGN_CENTER, 0, 0)\n local label = lvgl.label_create(btn)\n lvgl.label_set_text(label, \"LuatOS!\")\n\n local scr2 = lvgl.obj_create(nil,nil)\n local btn2 = lvgl.btn_create(scr2)\n lvgl.obj_align(btn, scr2, lvgl.ALIGN_CENTER, 0, 20)\n local label2 = lvgl.label_create(btn2)\n lvgl.label_set_text(label2, \"Btn2\")\n lvgl.scr_load(scr)\n --sys.wait(1000);\n lvgl.scr_load_anim(scr2,lvgl.SCR_LOAD_ANIM_OVER_LEFT,100,100,false)\n\u539f\u51fd\u6570\uff1alv_scr_load_anim(lv_obj_t * new_scr, lv_scr_load_anim_t anim_type, uint32_t time, uint32_t delay, bool auto_del)\n", "prefix": "lvgl.scr_load_anim"}, "lvgl.theme_set_act": {"body": "lvgl.theme_set_act(${1:name})", "description": "lvgl.theme_set_act(name) - \u8bbe\u7f6e\u4e3b\u9898\n\u4f20\u5165\u503c\uff1a\nstring \u4e3b\u9898\u540d\u79f0,\u53ef\u9009\u503c\u6709 default/mono/empty/material_light/material_dark/material_no_transition/material_no_focus\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\n-- \u9ed1\u767d\u4e3b\u9898\nlvgl.theme_set_act(\"mono\")\n-- \u7a7a\u767d\u4e3b\u9898\nlvgl.theme_set_act(\"empty\")\n", "prefix": "lvgl.theme_set_act"}, "lvgl.sleep": {"body": "lvgl.sleep(${1:enable})", "description": "lvgl.sleep(enable) - LVGL\u4f11\u7720\u63a7\u5236\uff0c\u6682\u505c/\u6062\u590d\u5237\u65b0\u5b9a\u65f6\u5668\uff0c\u76ee\u524d\u53ea\u6709105\u548cEC618\u53ef\u4ee5\u7528\n\u4f20\u5165\u503c\uff1a\nboolean true\u6682\u505c false\u6062\u590d\n\u4f8b\u5b50\uff1a\nlvgl.sleep(true)\t\t--\u6682\u505c\u5237\u65b0\uff0c\u7cfb\u7edf\u53ef\u4ee5\u4f11\u7720\nlvgl.sleep(false)\t\t--\u6062\u590d\u5237\u65b0\uff0c\u7cfb\u7edf\u4e0d\u4f11\u7720\n", "prefix": "lvgl.sleep"}, "max30102.init": {"body": "max30102.init(${1:i2c_id},${2:int})", "description": "max30102.init(i2c_id,int) - \u521d\u59cb\u5316MAX30102\u4f20\u611f\u5668\n\u4f20\u5165\u503c\uff1a\nint \u4f20\u611f\u5668\u6240\u5728\u7684i2c\u603b\u7ebfid,\u9ed8\u8ba4\u4e3a0\nint int\u5f15\u811a\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue, \u5426\u5219\u8fd4\u56denil\u6216\u8005false\n\u4f8b\u5b50\uff1a\nif max30102.init(0,pin.PC05) then\n log.info(\"max30102\", \"init ok\")\nelse\n log.info(\"max30102\", \"init fail\")\nend\n", "prefix": "max30102.init"}, "max30102.get": {"body": "max30102.get()", "description": "max30102.get() - \u83b7\u53d6\u5fc3\u7387\u8840\u6c27(\u5927\u6982\u9700\u898110s\u65f6\u95f4\u6d4b\u91cf)\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue, \u5426\u5219\u8fd4\u56denil\u6216\u8005false\nnumber \u5fc3\u7387\nnumber \u8840\u6c27\n", "prefix": "max30102.get"}, "max30102.shutdown": {"body": "max30102.shutdown()", "description": "max30102.shutdown() - \u5173\u95edmax30102\n", "prefix": "max30102.shutdown"}, "mcu.setClk": {"body": "mcu.setClk(${1:mhz})", "description": "mcu.setClk(mhz) - \u8bbe\u7f6e\u4e3b\u9891,\u5355\u4f4dMHZ\n\u4f20\u5165\u503c\uff1a\nint \u4e3b\u9891,\u6839\u636e\u8bbe\u5907\u7684\u4e0d\u540c\u6709\u4e0d\u540c\u7684\u6709\u6548\u503c,\u8bf7\u67e5\u9605\u624b\u518c\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- \u8bf7\u6ce8\u610f,\u4e3b\u9891\u4e0e\u5916\u8bbe\u4e3b\u9891\u6709\u5173\u8054\u6027, \u4f8b\u5982\u4e3b\u98912M\u65f6SPI\u7684\u6700\u9ad8\u53ea\u80fd1M\n-- \u8bbe\u7f6e\u523080MHZ\nmcu.setClk(80)\nsys.wait(1000)\n-- \u8bbe\u7f6e\u5230240MHZ\nmcu.setClk(240)\nsys.wait(1000)\n-- \u8bbe\u7f6e\u52302MHZ\nmcu.setClk(2)\nsys.wait(1000)\n", "prefix": "mcu.setClk"}, "mcu.getClk": {"body": "mcu.getClk()", "description": "mcu.getClk() - \u83b7\u53d6\u4e3b\u9891,\u5355\u4f4dMHZ\n\u8fd4\u56de\u503c\uff1a\nint \u82e5\u5931\u8d25\u8fd4\u56de-1,\u5426\u5219\u8fd4\u56de\u4e3b\u9891\u6570\u503c,\u82e5\u7b49\u4e8e0,\u53ef\u80fd\u5904\u4e8e32k\u6676\u632f\u7684\u7701\u7535\u6a21\u5f0f\n\u4f8b\u5b50\uff1a\nlocal mhz = mcu.getClk()\nprint(\"Boom\", mhz)\n", "prefix": "mcu.getClk"}, "mcu.unique_id": {"body": "mcu.unique_id()", "description": "mcu.unique_id() - \u83b7\u53d6\u8bbe\u5907\u552f\u4e00id. \u6ce8\u610f,\u53ef\u80fd\u5305\u542b\u4e0d\u53ef\u89c1\u5b57\u7b26,\u5982\u9700\u67e5\u770b\u5efa\u8baetoHex()\u540e\u6253\u5370\n\u8fd4\u56de\u503c\uff1a\nstring \u8bbe\u5907\u552f\u4e00id.\u82e5\u4e0d\u652f\u6301, \u4f1a\u8fd4\u56de\u7a7a\u5b57\u7b26\u4e32.\n\u4f8b\u5b50\uff1a\nlocal unique_id = mcu.unique_id()\nprint(\"unique_id\", unique_id)\n", "prefix": "mcu.unique_id"}, "mcu.ticks": {"body": "mcu.ticks()", "description": "mcu.ticks() - \u83b7\u53d6\u542f\u52a8\u540e\u7684tick\u6570,\u6ce8\u610f\u4f1a\u51fa\u73b0\u6ea2\u51fa\u4f1a\u51fa\u73b0\u8d1f\u6570\n\u8fd4\u56de\u503c\uff1a\nint \u5f53\u524dtick\u503c\n\u4f8b\u5b50\uff1a\nlocal tick = mcu.ticks()\nprint(\"ticks\", tick)\n", "prefix": "mcu.ticks"}, "mcu.hz": {"body": "mcu.hz()", "description": "mcu.hz() - \u83b7\u53d6\u6bcf\u79d2\u7684tick\u6570\u91cf\n\u8fd4\u56de\u503c\uff1a\nint \u6bcf\u79d2\u7684tick\u6570\u91cf,\u901a\u5e38\u4e3a1000\n\u4f8b\u5b50\uff1a\nlocal hz = mcu.hz()\nprint(\"mcu.hz\", hz)\n", "prefix": "mcu.hz"}, "mcu.reg32": {"body": "mcu.reg32(${1:address},${2:value},${3:mask})", "description": "mcu.reg32(address, value, mask) - \u8bfb\u5199mcu\u768432bit\u5bc4\u5b58\u5668\u6216\u8005ram,\u8c28\u614e\u4f7f\u7528\u5199\u529f\u80fd,\u8bf7\u719f\u6089mcu\u7684\u5bc4\u5b58\u5668\u4f7f\u7528\u65b9\u6cd5\u540e\u518d\u4f7f\u7528\n\u4f20\u5165\u503c\uff1a\nint \u5bc4\u5b58\u5668\u6216\u8005ram\u5730\u5740\nint \u5199\u5165\u7684\u503c,\u5982\u679c\u6ca1\u6709,\u5219\u76f4\u63a5\u8fd4\u56de\u5f53\u524d\u503c\nint \u4f4d\u63a9\u7801,\u53ef\u4ee5\u5bf9\u7279\u5b9a\u51e0\u4e2a\u4f4d\u7f6e\u7684bit\u505a\u4fee\u6539, \u9ed8\u8ba40xffffffff,\u4fee\u6539\u5168\u90e832bit\n\u8fd4\u56de\u503c\uff1a\nint \u8fd4\u56de\u5f53\u524d\u5bc4\u5b58\u7684\u503c\n\u4f8b\u5b50\uff1a\nlocal value = mcu.reg32(0x2009FFFC, 0x01, 0x01) --\u5bf90x2009FFFC\u5730\u5740\u4e0a\u7684\u503c,\u4fee\u6539bit0\u4e3a1\n", "prefix": "mcu.reg32"}, "mcu.x32": {"body": "mcu.x32(${1:value})", "description": "mcu.x32(value) - \u8f6c\u636210\u8fdb\u5236\u6570\u4e3a16\u8fdb\u5236\u5b57\u7b26\u4e32\u8f93\u51fa\n\u4f20\u5165\u503c\uff1a\nint \u9700\u8981\u8f6c\u6362\u7684\u503c\n\u8fd4\u56de\u503c\uff1a\nstring 16\u8fdb\u5236\u5b57\u7b26\u4e32\n\u4f8b\u5b50\uff1a\nlocal value = mcu.x32(0x2009FFFC) --\u8f93\u51fa\"0x2009fffc\"\n", "prefix": "mcu.x32"}, "mcu.tick64": {"body": "mcu.tick64()", "description": "mcu.tick64() - \u83b7\u53d6\u542f\u52a8\u540e\u7684\u9ad8\u7cbe\u5ea6tick\uff0c\u5982\u679c\u652f\u6301bit64\u5e93\uff0c\u53ef\u4ee5\u76f4\u63a5\u8f93\u51fa\u8f6c\u6362\u597d\u7684bit64\u7ed3\u6784\n\u4f20\u5165\u503c\uff1a\nboolean \u662f\u5426\u8f93\u51fabit64\u7ed3\u6784,true\u662f,\u5176\u4ed6\u90fd\u662ffalse,\u7559\u7a7a\u4e5f\u662ffalse,\u7528\u4e8e\u517c\u5bb9\u65e7\u7684demo\n\u8fd4\u56de\u503c\uff1a\nstring \u5f53\u524dtick\u503c,8\u4e2a\u5b57\u8282\u7684uint64,\u5982\u679c\u652f\u630164bit\u5e93,\u540c\u65f6\u8981\u6c42\u8f93\u51fa64bit\u7ed3\u6784\u7684\u8bdd,\u4f1a\u8f93\u51fa9\u5b57\u8282\u7684string\nint 1us\u6709\u51e0\u4e2atick,0\u8868\u793a\u672a\u77e5\n\u4f8b\u5b50\uff1a\nlocal tick_str, tick_per = mcu.tick64()\nprint(\"ticks\", tick_str, tick_per)\n", "prefix": "mcu.tick64"}, "mcu.dtick64": {"body": "mcu.dtick64(${1:tick1},${2:tick2},${3:check_value})", "description": "mcu.dtick64(tick1, tick2, check_value) - \u8ba1\u7b972\u4e2a64bit tick\u7684\u5dee\u503c\n\u4f20\u5165\u503c\uff1a\nstring 64bit\u7684string\nstring 64bit\u7684string\nint \u53c2\u8003\u503c,\u53ef\u9009\u9879,\u5982\u679c\u4e3a0,\u5219\u8fd4\u56de\u7ed3\u679c\u4e2d\u7b2c\u4e00\u4e2a\u9879\u76ee\u4e3atrue\n\u8fd4\u56de\u503c\uff1a\nboolean \u4e0e\u53c2\u8003\u503c\u6bd4\u8f83,\u5982\u679c\u5927\u4e8e\u7b49\u4e8e\u4e3atrue,\u53cd\u4e4b\u4e3afalse\nint \u5dee\u503ctick1 - tick2,\u5982\u679c\u8d85\u8fc7\u4e860x7fffffff,\u7ed3\u679c\u53ef\u80fd\u662f\u9519\u7684\n\u4f8b\u5b50\uff1a\nlocal result, diff_tick = mcu.dtick64(tick1, tick2)\nprint(\"ticks\", result, diff_tick)\n", "prefix": "mcu.dtick64"}, "mcu.setXTAL": {"body": "mcu.setXTAL(${1:source_main},${2:source_32k},${3:delay})", "description": "mcu.setXTAL(source_main, source_32k, delay) - \u9009\u62e9\u65f6\u949f\u6e90,\u5f53\u524d\u4ec5air105\u652f\u6301\n\u4f20\u5165\u503c\uff1a\nboolean \u9ad8\u901f\u65f6\u949f\u662f\u5426\u4f7f\u7528\u5916\u90e8\u65f6\u949f\u6e90,\u5982\u679c\u4e3a\u7a7a\u5219\u4e0d\u6539\u53d8\nboolean \u4f4e\u901f32K\u662f\u5426\u4f7f\u7528\u5916\u90e8\u65f6\u949f\u6e90,\u5982\u679c\u4e3a\u7a7a\u5219\u4e0d\u6539\u53d8\nint PLL\u7a33\u5b9a\u65f6\u95f4,\u5728\u5207\u6362\u9ad8\u901f\u65f6\u949f\u7684\u65f6\u5019,\u6839\u636e\u786c\u4ef6\u73af\u5883,\u9700\u8981delay\u4e00\u6bb5\u65f6\u95f4\u7b49\u5f85PLL\u7a33\u5b9a,\u9ed8\u8ba4\u662f1200,\u5efa\u8bae\u4e0d\u5c0f\u4e8e1024\n\u4f8b\u5b50\uff1a\nmcu.setXTAL(true, true, 1248)\t--\u9ad8\u901f\u65f6\u949f\u4f7f\u7528\u5916\u90e8\u65f6\u949f,\u4f4e\u901f32K\u4f7f\u7528\u5916\u90e8\u6676\u632f, delay1248\n", "prefix": "mcu.setXTAL"}, "mcu.hardfault": {"body": "mcu.hardfault(${1:mode})", "description": "mcu.hardfault(mode) - mcu\u6b7b\u673a\u65f6\u5904\u7406\u6a21\u5f0f\uff0c\u76ee\u524d\u53ea\u6709EC618\u5e73\u53f0\u9002\u7528\n\u4f20\u5165\u503c\uff1a\nint \u5904\u7406\u6a21\u5f0f\uff0c0\u6b7b\u673a\u505c\u673a\uff0c1\u6b7b\u673a\u540e\u91cd\u542f\uff0c2\u6b7b\u673a\u540e\u5c3d\u91cf\u5c06\u9519\u8bef\u4fe1\u606f\u63d0\u4ea4\u7ed9\u5916\u90e8\u5de5\u5177\u540e\u91cd\u542f\n\u4f8b\u5b50\uff1a\nmcu.hardfault(0)\t--\u6b7b\u673a\u540e\u505c\u673a\uff0c\u4e00\u822c\u7528\u4e8e\u8c03\u8bd5\u72b6\u6001\nmcu.hardfault(1)\t--\u6b7b\u673a\u540e\u91cd\u542f\uff0c\u4e00\u822c\u7528\u4e8e\u6b63\u5f0f\u4ea7\u54c1\nmcu.hardfault(2)\t--\u6b7b\u673a\u540e\u5c3d\u91cf\u5c06\u9519\u8bef\u4fe1\u606f\u63d0\u4ea4\u7ed9\u5916\u90e8\u5de5\u5177\u540e\u91cd\u542f\uff0c\u4e00\u822c\u7528\u4e8e\u538b\u529b\u6d4b\u8bd5\u6216\u8005\u6b63\u5f0f\u4ea7\u54c1\n", "prefix": "mcu.hardfault"}, "mcu.iomux": {"body": "mcu.iomux(${1:type},${2:channel},${3:value})", "description": "mcu.iomux(type, channel, value) - \u5728\u5916\u8bbe\u6253\u5f00\u524d\uff0c\u5c06\u5916\u8bbeIO\u590d\u7528\u5230\u975e\u9ed8\u8ba4\u914d\u7f6e\u4e0a\uff0c\u76ee\u524d\u53ea\u652f\u6301Air780E\u7684\u90e8\u5206\u5916\u8bbe\u590d\u7528\u5230\u5176\u4ed6\u914d\u7f6e\uff0c\u8fd9\u662f\u4e00\u4e2a\u4e34\u65f6\u63a5\u53e3\uff0c\u5982\u679c\u540e\u7eed\u6709\u66f4\u5408\u9002\u7684api\uff0c\u672c\u63a5\u53e3\u5c06\u4e0d\u518d\u66f4\u65b0\n\u4f20\u5165\u503c\uff1a\nint \u5916\u8bbe\u7c7b\u578b\uff0c\u76ee\u524d\u53ea\u6709mcu.UART,mcu.I2C\nint \u603b\u7ebf\u5e8f\u53f7\uff0c0~N\uff0c\nint \u65b0\u7684\u914d\u7f6e\uff0c\u8fd9\u4e2a\u9700\u8981\u6839\u636e\u5177\u4f53\u5e73\u53f0\u51b3\u5b9a\n\u4f8b\u5b50\uff1a\nmcu.iomux(mcu.UART, 2, 1)\t-- Air780E\u7684UART2\u590d\u7528\u5230gpio12\u548cgpio13(Air780EG\u9ed8\u8ba4\u662f\u8fd9\u4e2a\u590d\u7528\uff0c\u4e0d\u8981\u52a8)\nmcu.iomux(mcu.UART, 2, 2)\t-- Air780E\u7684UART2\u590d\u7528\u5230gpio6\u548cgpio7\nmcu.iomux(mcu.I2C, 0, 1)\t-- Air780E\u7684I2C0\u590d\u7528\u5230gpio12\u548cgpio13\nmcu.iomux(mcu.I2C, 0, 2)\t-- Air780E\u7684I2C0\u590d\u7528\u5230gpio16\u548cgpio17\nmcu.iomux(mcu.I2C, 1, 1)\t-- Air780E\u7684I2C1\u590d\u7528\u5230gpio4\u548cgpio5\n", "prefix": "mcu.iomux"}, "mcu.altfun": {"body": "mcu.altfun(${1:type},${2:sn},${3:pad_index},${4:alt_fun},${5:is_input})", "description": "mcu.altfun(type, sn, pad_index, alt_fun, is_input) - IO\u5916\u8bbe\u529f\u80fd\u590d\u7528\u9009\u62e9\uff0c\u6ce8\u610f\u666e\u901aMCU\u662f\u4ee5GPIO\u53f7\u4e3a\u5e8f\u53f7\uff0c\u4f46\u662f\u4e13\u7528SOC\uff0c\u6bd4\u5982CAT1\u7684\uff0c\u662f\u4ee5PAD\u53f7\u4e3a\u5e8f\u53f7\u3002\u672c\u51fd\u6570\u4e0d\u662f\u6240\u6709\u5e73\u53f0\u9002\u7528\n\u4f20\u5165\u503c\uff1a\nint \u5916\u8bbe\u7c7b\u578b\uff0c\u76ee\u524d\u6709mcu.UART,mcu.I2C,mcu.SPI,mcu.PWM,mcu.GPIO,mcu.I2S,mcu.LCD,mcu.CAM\uff0c\u5177\u4f53\u9700\u8981\u770b\u5e73\u53f0\nint \u603b\u7ebf\u5e8f\u53f7\uff0c0~N\uff0c\u5982\u679c\u662fmcu.GPIO\uff0c\u5219\u662fGPIO\u53f7\u3002\u5177\u4f53\u770b\u5e73\u53f0\u7684IOMUX\u590d\u7528\u8868\nint pad\u53f7\uff0c\u5982\u679c\u7559\u7a7a\u4e0d\u5199\uff0c\u5219\u8868\u793a\u6e05\u9664\u914d\u7f6e\uff0c\u4f7f\u7528\u5e73\u53f0\u7684\u9ed8\u8ba4\u914d\u7f6e\u3002\u5177\u4f53\u770b\u5e73\u53f0\u7684IOMUX\u590d\u7528\u8868\nint \u590d\u7528\u529f\u80fd\u5e8f\u53f7\uff0c0~N\u3002\u5177\u4f53\u770b\u5e73\u53f0\u7684IOMUX\u590d\u7528\u8868\nboolean \u662f\u5426\u662f\u8f93\u5165\u529f\u80fd\uff0ctrue\u662f\uff0c\u7559\u7a7a\u662ffalse\n\u4f8b\u5b50\uff1a\nmcu.altfun(mcu.GPIO, 46, 32, 1, 0)\nmcu.altfun(mcu.GPIO, 46)\n", "prefix": "mcu.altfun"}, "miniz.compress": {"body": "miniz.compress(${1:data},${2:flags})", "description": "miniz.compress(data, flags) - \u5feb\u901f\u538b\u7f29,\u9700\u8981165kb\u7684\u7cfb\u7edf\u5185\u5b58\u548c32kb\u7684LuaVM\u5185\u5b58\n\u4f20\u5165\u503c\uff1a\nstring \u5f85\u538b\u7f29\u7684\u6570\u636e, \u5c11\u4e8e400\u5b57\u8282\u7684\u6570\u636e\u4e0d\u5efa\u8bae\u538b\u7f29, \u4e14\u538b\u7f29\u540e\u7684\u6570\u636e\u4e0d\u80fd\u5927\u4e8e32k.\nflags \u538b\u7f29\u53c2\u6570,\u9ed8\u8ba4\u662f miniz.WRITE_ZLIB_HEADER , \u5373\u5199\u5165zlib\u5934\u90e8\n\u8fd4\u56de\u503c\uff1a\nstring \u82e5\u538b\u7f29\u6210\u529f,\u8fd4\u56de\u6570\u636e\u5b57\u7b26\u4e32, \u5426\u5219\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\n\nlocal bigdata = \"123jfoiq4hlkfjbnasdilfhuqwo;hfashfp9qw38hrfaios;hfiuoaghfluaeisw\"\nlocal cdata = miniz.compress(bigdata)\nif cdata then\n log.info(\"miniz\", \"before\", #bigdata, \"after\", #cdata)\n log.info(\"miniz\", \"cdata as hex\", cdata:toHex())\nend\n\n", "prefix": "miniz.compress"}, "miniz.uncompress": {"body": "miniz.uncompress(${1:data},${2:flags})", "description": "miniz.uncompress(data, flags) - \u5feb\u901f\u89e3\u538b,\u9700\u898132kb\u7684LuaVM\u5185\u5b58\n\u4f20\u5165\u503c\uff1a\nstring \u5f85\u89e3\u538b\u7684\u6570\u636e, \u89e3\u538b\u540e\u7684\u6570\u636e\u4e0d\u80fd\u5927\u4e8e32k\nflags \u89e3\u538b\u53c2\u6570,\u9ed8\u8ba4\u662f miniz.PARSE_ZLIB_HEADER , \u5373\u89e3\u6790zlib\u5934\u90e8\n\u8fd4\u56de\u503c\uff1a\nstring \u82e5\u89e3\u538b\u6210\u529f,\u8fd4\u56de\u6570\u636e\u5b57\u7b26\u4e32, \u5426\u5219\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\n\nlocal bigdata = \"123jfoiq4hlkfjbnasdilfhuqwo;hfashfp9qw38hrfaios;hfiuoaghfluaeisw\"\nlocal cdata = miniz.compress(bigdata)\nif cdata then\n log.info(\"miniz\", \"before\", #bigdata, \"after\", #cdata)\n log.info(\"miniz\", \"cdata as hex\", cdata:toHex())\n\n local udata = miniz.uncompress(cdata)\n log.info(\"miniz\", \"udata\", udata)\nend\n", "prefix": "miniz.uncompress"}, "mlx90640.init": {"body": "mlx90640.init(${1:i2c_id},${2:refresh_rate)(\u6ce8\u610f:2023.5.15\u4e4b\u540e\u4f7f\u7528\u6b64\u63a5\u53e3},${3:\u7528\u6237\u9700\u8981\u81ea\u884c\u521d\u59cb\u5316i2c\u63a5\u53e3})", "description": "mlx90640.init(i2c_id,refresh_rate) (\u6ce8\u610f:2023.5.15\u4e4b\u540e\u4f7f\u7528\u6b64\u63a5\u53e3,\u7528\u6237\u9700\u8981\u81ea\u884c\u521d\u59cb\u5316i2c\u63a5\u53e3) - \u521d\u59cb\u5316MLX90640\u4f20\u611f\u5668\n\u4f20\u5165\u503c\uff1a\nint \u4f20\u611f\u5668\u6240\u5728\u7684i2c\u603b\u7ebfid\u6216\u8005\u8f6fi2c\u5bf9\u8c61,\u9ed8\u8ba4\u4e3a0\nint \u4f20\u611f\u5668\u7684\u6d4b\u91cf\u901f\u7387,\u9ed8\u8ba4\u4e3a4Hz\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue, \u5426\u5219\u8fd4\u56denil\u6216\u8005false\n\u4f8b\u5b50\uff1a\ni2c.setup(i2cid,i2c_speed)\nif mlx90640.init(0,mlx90640.FPS4HZ) then\n log.info(\"mlx90640\", \"init ok\")\n sys.wait(500) -- \u7a0d\u7b49\u7247\u523b\n while 1 do\n mlx90640.feed() -- \u53d6\u4e00\u5e27\u6570\u636e\n mlx90640.draw2lcd(0, 0 ,1)-- \u9700\u63d0\u524d\u628alcd\u521d\u59cb\u5316\u597d\n sys.wait(250) -- \u9ed8\u8ba4\u662f4HZ\n end\nelse\n log.info(\"mlx90640\", \"init fail\")\nend\n\n", "prefix": "mlx90640.init"}, "mlx90640.feed": {"body": "mlx90640.feed()", "description": "mlx90640.feed() - \u53d6\u4e00\u5e27\u6570\u636e\n", "prefix": "mlx90640.feed"}, "mlx90640.raw_data": {"body": "mlx90640.raw_data()", "description": "mlx90640.raw_data() - \u83b7\u53d6\u5e95\u5c42\u88f8\u6570\u636e,\u6d6e\u70b9\u6570\u77e9\u9635\n\u8fd4\u56de\u503c\uff1a\ntable \u6d6e\u70b9\u6570\u6570\u636e,768\u4e2a\u50cf\u7d20\u5bf9\u5e94\u7684\u6e29\u5ea6\u503c\n", "prefix": "mlx90640.raw_data"}, "mlx90640.raw_point": {"body": "mlx90640.raw_point(${1:index})", "description": "mlx90640.raw_point(index) - \u83b7\u53d6\u5355\u4e00\u70b9\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nint \u7d22\u5f15\u503c(0-767)\n\u8fd4\u56de\u503c\uff1a\nnumber \u5355\u70b9\u6e29\u5ea6\u503c\n", "prefix": "mlx90640.raw_point"}, "mlx90640.ta_temp": {"body": "mlx90640.ta_temp()", "description": "mlx90640.ta_temp() - \u83b7\u53d6\u5916\u58f3\u6e29\u5ea6\n\u8fd4\u56de\u503c\uff1a\nnumber \u5916\u58f3\u6e29\u5ea6\n", "prefix": "mlx90640.ta_temp"}, "mlx90640.max_temp": {"body": "mlx90640.max_temp()", "description": "mlx90640.max_temp() - \u83b7\u53d6\u6700\u9ad8\u6e29\u5ea6\n\u8fd4\u56de\u503c\uff1a\nnumber \u6700\u9ad8\u6e29\u5ea6\nnumber \u6700\u9ad8\u6e29\u5ea6\u4f4d\u7f6e\n", "prefix": "mlx90640.max_temp"}, "mlx90640.min_temp": {"body": "mlx90640.min_temp()", "description": "mlx90640.min_temp() - \u83b7\u53d6\u6700\u4f4e\u6e29\u5ea6\n\u8fd4\u56de\u503c\uff1a\nnumber \u6700\u4f4e\u6e29\u5ea6\nnumber \u6700\u4f4e\u6e29\u5ea6\u4f4d\u7f6e\n", "prefix": "mlx90640.min_temp"}, "mlx90640.average_temp": {"body": "mlx90640.average_temp()", "description": "mlx90640.average_temp() - \u83b7\u53d6\u5e73\u5747\u6e29\u5ea6\n\u8fd4\u56de\u503c\uff1a\nnumber \u5e73\u5747\u6e29\u5ea6\n", "prefix": "mlx90640.average_temp"}, "mlx90640.get_vdd": {"body": "mlx90640.get_vdd()", "description": "mlx90640.get_vdd() - \u83b7\u53d6vdd\n\u8fd4\u56de\u503c\uff1a\nnumber vdd\n", "prefix": "mlx90640.get_vdd"}, "mlx90640.draw2lcd": {"body": "mlx90640.draw2lcd(${1:x},${2:y},${3:fold})", "description": "mlx90640.draw2lcd(x, y, fold) - \u7ed8\u5236\u5230lcd\n\u4f20\u5165\u503c\uff1a\nint \u5de6\u4e0a\u89d2x\u5750\u6807\nint \u5de6\u4e0a\u89d2y\u5750\u6807\nint \u653e\u5927\u500d\u6570,\u5fc5\u987b\u4e3a2\u7684\u6307\u6570\u500d(1,2,4,8,16...)\u9ed8\u8ba4\u4e3a1\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n", "prefix": "mlx90640.draw2lcd"}, "mobile.imei": {"body": "mobile.imei(${1:index})", "description": "mobile.imei(index) - \u83b7\u53d6IMEI\n\u4f20\u5165\u503c\uff1a\nint \u7f16\u53f7,\u9ed8\u8ba40. \u5728\u652f\u6301\u53cc\u5361\u7684\u6a21\u5757\u4e0a\u624d\u4f1a\u51fa\u73b00\u62161\u7684\u60c5\u51b5\n\u8fd4\u56de\u503c\uff1a\nstring \u5f53\u524d\u7684IMEI\u503c,\u82e5\u5931\u8d25\u8fd4\u56denil\n", "prefix": "mobile.imei"}, "mobile.imsi": {"body": "mobile.imsi(${1:index})", "description": "mobile.imsi(index) - \u83b7\u53d6IMSI\n\u4f20\u5165\u503c\uff1a\nint \u7f16\u53f7,\u9ed8\u8ba40. \u5728\u652f\u6301\u53cc\u5361\u7684\u6a21\u5757\u4e0a\u624d\u4f1a\u51fa\u73b00\u62161\u7684\u60c5\u51b5\n\u8fd4\u56de\u503c\uff1a\nstring \u5f53\u524d\u7684IMSI\u503c,\u82e5\u5931\u8d25\u8fd4\u56denil\n", "prefix": "mobile.imsi"}, "mobile.sn": {"body": "mobile.sn()", "description": "mobile.sn() - \u83b7\u53d6SN\n\u8fd4\u56de\u503c\uff1a\nstring \u5f53\u524d\u7684SN\u503c,\u82e5\u5931\u8d25\u8fd4\u56denil. \u6ce8\u610f, SN\u53ef\u80fd\u5305\u542b\u4e0d\u53ef\u89c1\u5b57\u7b26\n\u4f8b\u5b50\uff1a\n-- \u6ce8\u610f, \u51fa\u5382\u672a\u5fc5\u6709\u5199SN\n-- \u4e00\u822c\u7528\u9014\u7684\u552f\u4e00id, \u53ef\u4ee5\u7528mobile.imei()\u4ee3\u66ff\n-- \u5982\u9700\u8981\u771f\u6b63\u7684\u552f\u4e00ID, \u4f7f\u7528 mcu.unique_id()\n", "prefix": "mobile.sn"}, "mobile.muid": {"body": "mobile.muid()", "description": "mobile.muid() - \u83b7\u53d6MUID\n\u8fd4\u56de\u503c\uff1a\nstring \u5f53\u524d\u7684MUID\u503c,\u82e5\u5931\u8d25\u8fd4\u56denil\n", "prefix": "mobile.muid"}, "mobile.iccid": {"body": "mobile.iccid(${1:id})", "description": "mobile.iccid(id) - \u83b7\u53d6\u6216\u8bbe\u7f6eICCID\n\u4f20\u5165\u503c\uff1a\nint SIM\u5361\u7684\u7f16\u53f7, \u4f8b\u59820, 1, \u9ed8\u8ba40\n\u8fd4\u56de\u503c\uff1a\nstring ICCID\u503c,\u82e5\u5931\u8d25\u8fd4\u56denil\n", "prefix": "mobile.iccid"}, "mobile.number": {"body": "mobile.number(${1:id})", "description": "mobile.number(id) - \u83b7\u53d6\u624b\u673a\u5361\u53f7\uff0c\u6ce8\u610f\uff0c\u53ea\u6709\u5199\u5165\u4e86\u624b\u673a\u53f7\u624d\u80fd\u8bfb\u51fa\uff0c\u56e0\u6b64\u6709\u53ef\u80fd\u8bfb\u51fa\u6765\u662f\u7a7a\u7684\n\u4f20\u5165\u503c\uff1a\nint SIM\u5361\u7684\u7f16\u53f7, \u4f8b\u59820, 1, \u9ed8\u8ba40\n\u8fd4\u56de\u503c\uff1a\nstring number\u503c,\u82e5\u5931\u8d25\u8fd4\u56denil\n", "prefix": "mobile.number"}, "mobile.simid": {"body": "mobile.simid(${1:id})", "description": "mobile.simid(id) - \u83b7\u53d6\u5f53\u524dSIM\u5361\u69fd,\u6216\u8005\u5207\u6362\u5361\u69fd\n\u4f20\u5165\u503c\uff1a\nint SIM\u5361\u7684\u7f16\u53f7, \u4f8b\u59820, 1, \u5982\u679c\u652f\u6301\u53cc\u5361\uff0c\u6bd4\u5982EC618\uff0c\u53ef\u4ee5\u586b2\u6765\u81ea\u9002\u5e94\uff0c\u4f46\u662f\u4f1a\u5360\u7528\u63894\u4e2aIO(gpio4/5/6/23)\u3002\u5982\u679c\u4e0d\u586b\u5c31\u76f4\u63a5\u8bfb\u53d6\u5f53\u524d\u5361\u69fd\nboolean \u662f\u5426\u4f18\u5148\u7528SIM0\uff0c\u53ea\u6709SIM\u5361\u7f16\u53f7\u51992\u81ea\u9002\u5e94\u624d\u6709\u7528\uff01\uff01\uff01\u3002true\u4f18\u5148\u7528SIM0\uff0cfalse\u5219\u7531\u5177\u4f53\u5e73\u53f0\u51b3\u5b9a\uff0c\u652f\u6301\u53cc\u5361\u53cc\u5f85SIM0\u4f18\u5148\uff0c\u4e0d\u652f\u6301\u7684\u662f\u4e0a\u4e00\u6b21\u68c0\u6d4b\u5230\u7684\u4f18\u5148\uff0c\u9ed8\u8ba4\u662ffalse\uff0c\u5fc5\u987b\u5728\u5f00\u673a\u5c31\u914d\u7f6e\uff0c\u5426\u5219\u5c31\u65e0\u6548\u4e86\n\u8fd4\u56de\u503c\uff1a\nint \u5f53\u524dsim\u5361\u69fd\u7f16\u53f7,\u82e5\u5931\u8d25\u8fd4\u56de-1\n\u4f8b\u5b50\uff1a\nmobile.simid(0) -- \u56fa\u5b9a\u4f7f\u7528SIM0\nmobile.simid(1) -- \u56fa\u4ef6\u4f7f\u7528SIM1\nmobile.simid(2) -- \u81ea\u52a8\u8bc6\u522bSIM0, SIM1, \u4f18\u5148\u7ea7\u770b\u5177\u4f53\u5e73\u53f0\nmobile.simid(2, true) -- -- \u81ea\u52a8\u8bc6\u522bSIM0, SIM1, \u4e14SIM0\u4f18\u5148\n-- \u63d0\u9192, \u81ea\u52a8\u8bc6\u522b\u662f\u4f1a\u589e\u52a0\u65f6\u95f4\u7684\n", "prefix": "mobile.simid"}, "mobile.simPin": {"body": "mobile.simPin(${1:id},${2:operation},${3:pin1},${4:pin2})", "description": "mobile.simPin(id,operation,pin1,pin2) - \u68c0\u6d4b\u5f53\u524dSIM\u5361\u662f\u5426\u51c6\u5907\u597d\uff0c\u5bf9SIM\u5361\u7684PIN\u7801\u505a\u76f8\u5173\u64cd\u4f5c\n\u4f20\u5165\u503c\uff1a\nint SIM\u5361\u7684\u7f16\u53f7, \u4f8b\u59820, 1, \u652f\u6301\u53cc\u5361\u53cc\u5f85\u7684\u624d\u9700\u8981\u9009\u62e9\nint PIN\u7801\u64cd\u4f5c\u7c7b\u578b\uff0c\u53ea\u80fd\u662fmobile.PIN_XXXX\uff0c\u4e0d\u64cd\u4f5c\u5c31\u7559\u7a7a\nstring \u66f4\u6362pin\u65f6\u64cd\u4f5c\u7684pin\u7801\uff0c\u6216\u8005\u9a8c\u8bc1\u64cd\u4f5c\u7684pin\u7801\uff0c\u6216\u8005\u89e3\u9501pin\u7801\u65f6\u7684PUK\uff0c4~8\u5b57\u8282\nstring \u66f4\u6362pin\u7801\u64cd\u4f5c\u65f6\u7684\u65b0\u7684pin\u7801\uff0c\u89e3\u9501pin\u7801\u65f6\u7684\u65b0PIN\uff0c4~8\u5b57\u8282\n\u8fd4\u56de\u503c\uff1a\nboolean \u5f53\u65e0PIN\u64cd\u4f5c\u65f6\uff0c\u8fd4\u56deSIM\u5361\u662f\u5426\u51c6\u5907\u597d\uff0c\u6709PIN\u64cd\u4f5c\u65f6\uff0c\u8fd4\u56de\u662f\u5426\u6210\u529f\n\u4f8b\u5b50\uff1a\nlocal cpin_is_ready = mobile.simPin() -- \u5f53\u524dsim\u5361\u662f\u5426\u51c6\u5907\u597d\uff0c\u4e00\u822c\u8fd4\u56defalse\u5c31\u662f\u6ca1\u5361\nlocal succ = mobile.simPin(0, mobile.PIN_VERIFY, \"1234\")\t-- \u8f93\u5165pin\u7801\u9a8c\u8bc1\n", "prefix": "mobile.simPin"}, "mobile.rtime": {"body": "mobile.rtime(${1:time},${2:auto_reset_stack})", "description": "mobile.rtime(time, auto_reset_stack) - \u8bbe\u7f6eRRC\u81ea\u52a8\u91ca\u653e\u65f6\u95f4\u95f4\u9694\uff0c\u5f53\u5f00\u542f\u65f6\u540e\uff0c\u9047\u5230\u6781\u5f31\u4fe1\u53f7+\u9891\u7e41\u6570\u636e\u64cd\u4f5c\u53ef\u80fd\u4f1a\u5f15\u8d77\u7f51\u7edc\u4e25\u91cd\u6545\u969c\uff0c\u56e0\u6b64\u9700\u8981\u989d\u5916\u8bbe\u7f6e\u81ea\u52a8\u91cd\u542f\u534f\u8bae\u6808\n\u4f20\u5165\u503c\uff1a\nint RRC\u81ea\u52a8\u91ca\u653e\u65f6\u95f4\uff0c\u7b49\u540c\u4e8eAir724\u7684AT+RTIME\uff0c\u5355\u4f4d\u79d2\uff0c\u51990\u6216\u8005\u4e0d\u5199\u5219\u662f\u505c\u7528\uff0c\u4e0d\u8981\u8d85\u8fc720\u79d2\uff0c\u6ca1\u6709\u610f\u4e49\nboolean \u7f51\u7edc\u9047\u5230\u4e25\u91cd\u6545\u969c\u65f6\u5c1d\u8bd5\u81ea\u52a8\u6062\u590d\uff0c\u548c\u98de\u884c\u6a21\u5f0f/SIM\u5361\u5207\u6362\u51b2\u7a81\uff0ctrue\u5f00\u542f\uff0cfalse\u5173\u95ed\uff0c\u7559\u7a7a\u65f6\uff0c\u5982\u679c\u8bbe\u7f6e\u4e86\u65f6\u95f4\u5219\u81ea\u52a8\u5f00\u542f\u3002\u539f\u5382\u4f18\u5316\u8fc7\u534f\u8bae\u6808\u540e\u4e0d\u9700\u8981\u4e86\u3002\u672c\u53c2\u6570\u5e9f\u5f03\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n", "prefix": "mobile.rtime"}, "mobile.setAuto": {"body": "mobile.setAuto(${1:check_sim_period},${2:get_cell_period},${3:search_cell_time},${4:auto_reset_stack},${5:network_check_period})", "description": "mobile.setAuto(check_sim_period, get_cell_period, search_cell_time, auto_reset_stack, network_check_period) - \u8bbe\u7f6e\u4e00\u4e9b\u8f85\u52a9\u5468\u671f\u6027\u6216\u8005\u81ea\u52a8\u529f\u80fd\uff0c\u76ee\u524d\u652f\u6301SIM\u5361\u6682\u65f6\u8131\u79bb\u540e\u6062\u590d\uff0c\u5468\u671f\u6027\u83b7\u53d6\u5c0f\u533a\u4fe1\u606f\uff0c\u7f51\u7edc\u9047\u5230\u4e25\u91cd\u6545\u969c\u65f6\u5c1d\u8bd5\u81ea\u52a8\u6062\u590d\n\u4f20\u5165\u503c\uff1a\nint SIM\u5361\u81ea\u52a8\u6062\u590d\u65f6\u95f4\uff0c\u5355\u4f4d\u6beb\u79d2\uff0c\u5efa\u8bae5000~10000\uff0c\u548c\u98de\u884c\u6a21\u5f0f/SIM\u5361\u5207\u6362\u51b2\u7a81\uff0c\u4e0d\u80fd\u518d\u540c\u4e00\u65f6\u95f4\u4f7f\u7528\uff0c\u5fc5\u987b\u9519\u5f00\u6267\u884c\u3002\u51990\u6216\u8005\u4e0d\u5199\u5219\u662f\u5173\u95ed\u529f\u80fd\nint \u5468\u671f\u6027\u83b7\u53d6\u5c0f\u533a\u4fe1\u606f\u7684\u65f6\u95f4\u95f4\u9694\uff0c\u5355\u4f4d\u6beb\u79d2\u3002\u83b7\u53d6\u5c0f\u533a\u4fe1\u606f\u4f1a\u589e\u52a0\u90e8\u5206\u529f\u8017\u3002\u51990\u6216\u8005\u4e0d\u5199\u5219\u662f\u5173\u95ed\u529f\u80fd\nint \u6bcf\u6b21\u641c\u7d22\u5c0f\u533a\u65f6\u6700\u5927\u641c\u7d22\u65f6\u95f4\uff0c\u5355\u4f4d\u79d2\u3002\u4e0d\u8981\u8d85\u8fc78\u79d2\nboolean \u7f51\u7edc\u9047\u5230\u4e25\u91cd\u6545\u969c\u65f6\u5c1d\u8bd5\u81ea\u52a8\u6062\u590d\uff0c\u548c\u98de\u884c\u6a21\u5f0f/SIM\u5361\u5207\u6362\u51b2\u7a81\uff0ctrue\u5f00\u542f\uff0cfalse\u5173\u95ed\uff0c\u5f00\u59cb\u72b6\u6001\u662ffalse\uff0c\u7559\u7a7a\u5219\u4e0d\u505a\u6539\u53d8\nint \u8bbe\u7f6e\u5b9a\u65f6\u68c0\u6d4b\u7f51\u7edc\u662f\u5426\u6b63\u5e38\u5e76\u4e14\u5728\u68c0\u6d4b\u5230\u957f\u65f6\u95f4\u65e0\u7f51\u65f6\u901a\u8fc7\u91cd\u542f\u534f\u8bae\u6808\u6765\u6062\u590d\uff0c\u65e0\u7f51\u6062\u590d\u65f6\u957f\uff0c\u5355\u4f4dms\uff0c\u5efa\u8bae60000\u4ee5\u4e0a\uff0c\u4e3a\u7f51\u7edc\u641c\u7d22\u7f51\u7edc\u4fdd\u7559\u8db3\u591f\u7684\u65f6\u95f4\uff0c\u7559\u7a7a\u5219\u4e0d\u505a\u66f4\u6539\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n", "prefix": "mobile.setAuto"}, "mobile.apn": {"body": "mobile.apn(${1:index},${2:cid},${3:new_apn_name},${4:user_name},${5:password},${6:ip_type},${7:protocol})", "description": "mobile.apn(index, cid, new_apn_name, user_name, password, ip_type, protocol) - \u83b7\u53d6\u6216\u8bbe\u7f6eAPN\uff0c\u8bbe\u7f6eAPN\u5fc5\u987b\u5728\u5165\u7f51\u524d\u5c31\u8bbe\u7f6e\u597d\uff0c\u6bd4\u5982\u5728SIM\u5361\u8bc6\u522b\u5b8c\u6210\u524d\u5c31\u8bbe\u7f6e\u597d\n\u4f20\u5165\u503c\uff1a\nint \u7f16\u53f7,\u9ed8\u8ba40. \u5728\u652f\u6301\u53cc\u5361\u7684\u6a21\u5757\u4e0a\u624d\u4f1a\u51fa\u73b00\u62161\u7684\u60c5\u51b5\nint cid, \u9ed8\u8ba40\uff0c\u5982\u679c\u8981\u7528\u975e\u9ed8\u8ba4APN\u6765\u6fc0\u6d3b\uff0c\u5fc5\u987b>0\nstring \u65b0\u7684APN,\u4e0d\u586b\u5c31\u662f\u83b7\u53d6APN, \u586b\u4e86\u5c31\u662f\u8bbe\u7f6eAPN, \u662f\u5426\u652f\u6301\u8bbe\u7f6e\u53d6\u51b3\u4e8e\u5e95\u5c42\u5b9e\u73b0\nstring \u65b0\u7684APN\u7684username,\u5982\u679cAPN\u4e0d\u662f\u7a7a,\u90a3\u5fc5\u987b\u586b\u5199,\u5982\u679c\u6ca1\u6709\u7559\u4e2a\u7a7a\u5b57\u7b26\u4e32\"\"\u3002\u5982\u679cAPN\u662f\u7a7a\u7684\uff0c\u90a3\u53ef\u4ee5nil\nstring \u65b0\u7684APN\u7684password,\u5982\u679cAPN\u4e0d\u662f\u7a7a,\u90a3\u5fc5\u987b\u586b\u5199,\u5982\u679c\u6ca1\u6709\u7559\u4e2a\u7a7a\u5b57\u7b26\u4e32\"\"\u3002\u5982\u679cAPN\u662f\u7a7a\u7684\uff0c\u90a3\u53ef\u4ee5nil\nint \u6fc0\u6d3bAPN\u65f6\u7684IP TYPE,1=IPV4 2=IPV6 3=IPV4V6,\u9ed8\u8ba4\u662f1\nint \u6fc0\u6d3bAPN\u65f6,\u5982\u679c\u9700\u8981username\u548cpassword,\u5c31\u8981\u5199\u9274\u6743\u534f\u8bae\u7c7b\u578b,1~3,\u9ed8\u8ba43,\u4ee3\u88681\u548c2\u90fd\u5c1d\u8bd5\u4e00\u4e0b\u3002\u4e0d\u9700\u8981\u9274\u6743\u7684\u51990\nboolean \u662f\u5426\u5220\u9664APN,true\u662f,\u5176\u4ed6\u90fd\u5426,\u53ea\u6709\u53c2\u65703\u65b0\u7684APN\u4e0d\u662fstring\u7684\u65f6\u5019\u624d\u6709\u6548\u679c\n\u8fd4\u56de\u503c\uff1a\nstring \u83b7\u53d6\u5230\u7684\u9ed8\u8ba4APN\u503c,\u5931\u8d25\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\nmobile.apn(0,1,\"cmiot\",\"\",\"\",nil,0) -- \u79fb\u52a8\u516c\u7f51\u5361\u8bbe\u7f6eAPN\u4e3acmiot,\u4e00\u822c\u4e0d\u7528\u8bbe\u7f6e\nmobile.apn(0,1,\"name\",\"user\",\"password\",nil,3) -- \u4e13\u7f51\u5361\u8bbe\u7f6e\u7684demo\uff0cname\uff0cuser\uff0cpassword\u8054\u7cfb\u5361\u5546\u83b7\u53d6\n", "prefix": "mobile.apn"}, "mobile.ipv6": {"body": "mobile.ipv6(${1:onff})", "description": "mobile.ipv6(onff) - \u662f\u5426\u9ed8\u8ba4\u5f00\u542fIPV6\u529f\u80fd\uff0c\u5fc5\u987b\u5728LTE\u7f51\u7edc\u8fde\u63a5\u524d\u5c31\u8bbe\u7f6e\u597d\n\u4f20\u5165\u503c\uff1a\nboolean \u5f00\u5173 true\u5f00\u542f false \u5173\u95ed\n\u8fd4\u56de\u503c\uff1a\nboolean true \u5f53\u524d\u662f\u5f00\u542f\u7684\uff0cfalse \u5f53\u524d\u662f\u5173\u95ed\u7684\n\u4f8b\u5b50\uff1a\n-- \u6ce8\u610f, \u5f00\u542fipv6\u540e, \u5f00\u673a\u8054\u7f51\u4f1a\u61622~3\u79d2\n", "prefix": "mobile.ipv6"}, "mobile.csq": {"body": "mobile.csq()", "description": "mobile.csq() - \u83b7\u53d6csq\n\u8fd4\u56de\u503c\uff1a\nint \u5f53\u524dCSQ\u503c, \u82e5\u5931\u8d25\u8fd4\u56de0. \u8303\u56f4 0 - 31, \u8d8a\u5927\u8d8a\u597d\n\u4f8b\u5b50\uff1a\n-- \u6ce8\u610f, 4G\u6a21\u5757\u7684CSQ\u503c\u4ec5\u4f9b\u53c2\u8003, rsrp/rsrq\u624d\u662f\u771f\u6b63\u7684\u4fe1\u53f7\u5f3a\u5ea6\u6307\u6807\n", "prefix": "mobile.csq"}, "mobile.rssi": {"body": "mobile.rssi()", "description": "mobile.rssi() - \u83b7\u53d6rssi\n\u8fd4\u56de\u503c\uff1a\nint \u5f53\u524drssi\u503c,\u82e5\u5931\u8d25\u8fd4\u56de0. \u8303\u56f4 0 \u5230 -114, \u8d8a\u5c0f\u8d8a\u597d\n", "prefix": "mobile.rssi"}, "mobile.rsrp": {"body": "mobile.rsrp()", "description": "mobile.rsrp() - \u83b7\u53d6rsrp,\u53c2\u8003\u4fe1\u53f7\u63a5\u6536\u529f\u7387\n\u8fd4\u56de\u503c\uff1a\nint \u5f53\u524drsrp\u503c,\u82e5\u5931\u8d25\u8fd4\u56de0. \u53d6\u503c\u8303\u56f4: -44 ~ -140 \uff0c\u503c\u8d8a\u5927\u8d8a\u597d\n", "prefix": "mobile.rsrp"}, "mobile.rsrq": {"body": "mobile.rsrq()", "description": "mobile.rsrq() - \u83b7\u53d6rsrq,\u53c2\u8003\u4fe1\u53f7\u53d1\u9001\u529f\u7387\n\u8fd4\u56de\u503c\uff1a\nint \u5f53\u524drsrq\u503c,\u82e5\u5931\u8d25\u8fd4\u56de0. \u53d6\u503c\u8303\u56f4: -3 ~ -19.5 \uff0c\u503c\u8d8a\u5927\u8d8a\u597d\n", "prefix": "mobile.rsrq"}, "mobile.snr": {"body": "mobile.snr()", "description": "mobile.snr() - \u83b7\u53d6snr,\u4fe1\u566a\u6bd4\n\u8fd4\u56de\u503c\uff1a\nint \u5f53\u524dsnq\u503c,\u82e5\u5931\u8d25\u8fd4\u56de0.\u8303\u56f4 0 - 30, \u8d8a\u5927\u8d8a\u597d\n", "prefix": "mobile.snr"}, "mobile.eci": {"body": "mobile.eci()", "description": "mobile.eci() - \u83b7\u53d6\u5f53\u524d\u670d\u52a1\u5c0f\u533a\u7684ECI(E-UTRAN Cell Identifier)\n\u8fd4\u56de\u503c\uff1a\nint \u5f53\u524deci\u503c,\u82e5\u5931\u8d25\u8fd4\u56de-1\n", "prefix": "mobile.eci"}, "mobile.tac": {"body": "mobile.tac()", "description": "mobile.tac() - \u83b7\u53d6\u5f53\u524d\u670d\u52a1\u5c0f\u533a\u7684TAC\u6216\u8005LAC\n\u8fd4\u56de\u503c\uff1a\nint \u5f53\u524deci\u503c,\u82e5\u5931\u8d25\u8fd4\u56de-1. \u5982\u679c\u5c1a\u672a\u6ce8\u518c\u5230\u7f51\u7edc,\u4f1a\u8fd4\u56de0\n\u4f8b\u5b50\uff1a\n-- \u672cAPI\u4e8e 2023.7.9 \u65b0\u589e\n", "prefix": "mobile.tac"}, "mobile.enbid": {"body": "mobile.enbid()", "description": "mobile.enbid() - \u83b7\u53d6\u5f53\u524d\u670d\u52a1\u5c0f\u533a\u7684eNBID(eNodeB Identifier)\n\u8fd4\u56de\u503c\uff1a\nint \u5f53\u524denbid\u503c,\u82e5\u5931\u8d25\u8fd4\u56de-1\n", "prefix": "mobile.enbid"}, "mobile.flymode": {"body": "mobile.flymode(${1:index},${2:enable})", "description": "mobile.flymode(index, enable) - \u8fdb\u51fa\u98de\u884c\u6a21\u5f0f\n\u4f20\u5165\u503c\uff1a\nint \u7f16\u53f7,\u9ed8\u8ba40. \u5728\u652f\u6301\u53cc\u5361\u7684\u6a21\u5757\u4e0a\u624d\u4f1a\u51fa\u73b00\u62161\u7684\u60c5\u51b5\nbool \u662f\u5426\u8bbe\u7f6e\u4e3a\u98de\u884c\u6a21\u5f0f,true\u4e3a\u8bbe\u7f6e, false\u4e3a\u9000\u51fa,\u53ef\u9009\n\u8fd4\u56de\u503c\uff1a\nbool \u539f\u98de\u884c\u6a21\u5f0f\u7684\u72b6\u6001\n", "prefix": "mobile.flymode"}, "mobile.status": {"body": "mobile.status()", "description": "mobile.status() - \u83b7\u53d6\u7f51\u7edc\u72b6\u6001\n\u8fd4\u56de\u503c\uff1a\nint \u5f53\u524d\u7f51\u7edc\u72b6\u6001,0:\u7f51\u7edc\u672a\u6ce8\u518c;1:\u7f51\u7edc\u5df2\u6ce8\u518c;2:\u6b63\u5728\u641c\u7f51\u4e2d;3:\u7f51\u7edc\u6ce8\u518c\u88ab\u62d2\u7edd\n", "prefix": "mobile.status"}, "mobile.getCellInfo": {"body": "mobile.getCellInfo()", "description": "mobile.getCellInfo() - \u83b7\u53d6\u673a\u5236\u4fe1\u606f\n\u8fd4\u56de\u503c\uff1a\ntable \u5305\u542b\u57fa\u7ad9\u6570\u636e\u7684\u6570\u7ec4\n\u4f8b\u5b50\uff1a\n-- \u6ce8\u610f: \u4ece2023.06.20\u5f00\u59cb, \u9700\u8981\u4e3b\u52a8\u8bf7\u6c42\u4e00\u6b21reqCellInfo\u624d\u4f1a\u6709\u57fa\u7ad9\u6570\u636e.\n\n--\u793a\u4f8b\u8f93\u51fa\n--[[\n[\n {\"rsrq\":-10,\"rssi\":-55,\"cid\":124045360,\"mnc\":17,\"pci\":115,\"earfcn\":1850,\"snr\":15,\"rsrp\":-85,\"mcc\":1120,\"tdd\":0},\n {\"pci\":388,\"rsrq\":-11,\"mnc\":17,\"earfcn\":2452,\"snr\":5,\"rsrp\":-67,\"mcc\":1120,\"cid\":124045331},\n {\"pci\":100,\"rsrq\":-9,\"mnc\":17,\"earfcn\":75,\"snr\":17,\"rsrp\":-109,\"mcc\":1120,\"cid\":227096712}\n]\n]]\n\nmobile.reqCellInfo(60)\n-- \u8ba2\u9605\nsys.subscribe(\"CELL_INFO_UPDATE\", function()\n log.info(\"cell\", json.encode(mobile.getCellInfo()))\nend)\n\n-- \u5b9a\u671f\u8f6e\u8bad\u5f0f\nsys.taskInit(function()\n sys.wait(3000)\n while 1 do\n mobile.reqCellInfo(15)\n sys.waitUntil(\"CELL_INFO_UPDATE\", 15000)\n log.info(\"cell\", json.encode(mobile.getCellInfo()))\n end\nend)\n", "prefix": "mobile.getCellInfo"}, "mobile.reqCellInfo": {"body": "mobile.reqCellInfo(${1:timeout})", "description": "mobile.reqCellInfo(timeout) - \u53d1\u8d77\u57fa\u7ad9\u4fe1\u606f\u67e5\u8be2,\u542b\u4e34\u8fd1\u5c0f\u533a\n\u4f20\u5165\u503c\uff1a\nint \u8d85\u65f6\u65f6\u957f,\u5355\u4f4d\u79d2,\u9ed8\u8ba415. \u6700\u5c115, \u6700\u9ad860\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n-- \u53c2\u8003 mobile.getCellInfo \u51fd\u6570\n", "prefix": "mobile.reqCellInfo"}, "mobile.reset": {"body": "mobile.reset()", "description": "mobile.reset() - \u91cd\u542f\u534f\u8bae\u6808\n\u4f8b\u5b50\uff1a\n-- \u91cd\u542fLTE\u534f\u8bae\u6808\nmobile.reset()\n", "prefix": "mobile.reset"}, "mobile.dataTraffic": {"body": "mobile.dataTraffic(${1:clearUplink},${2:clearDownlink})", "description": "mobile.dataTraffic(clearUplink, clearDownlink) - \u6570\u636e\u91cf\u6d41\u91cf\u5904\u7406\n\u4f20\u5165\u503c\uff1a\nboolean \u6e05\u7a7a\u4e0a\u884c\u6d41\u91cf\u7d2f\u8ba1\u503c\uff0ctrue\u6e05\u7a7a\uff0c\u5176\u4ed6\u5ffd\u7565\nboolean \u6e05\u7a7a\u4e0b\u884c\u6d41\u91cf\u7d2f\u8ba1\u503c\uff0ctrue\u6e05\u7a7a\uff0c\u5176\u4ed6\u5ffd\u7565\n\u8fd4\u56de\u503c\uff1a\nint \u4e0a\u884c\u6d41\u91cfGB\nint \u4e0a\u884c\u6d41\u91cfB\nint \u4e0b\u884c\u6d41\u91cfGB\nint \u4e0b\u884c\u6d41\u91cfB\n\u4f8b\u5b50\uff1a\n-- \u83b7\u53d6\u4e0a\u4e0b\u884c\u6d41\u91cf\u7d2f\u8ba1\u503c\n-- \u4e0a\u884c\u6d41\u91cf\u503cByte = uplinkGB * 1024 * 1024 * 1024 + uplinkB\n-- \u4e0b\u884c\u6d41\u91cf\u503cByte = downlinkGB * 1024 * 1024 * 1024 + downlinkB\nlocal uplinkGB, uplinkB, downlinkGB, downlinkB = mobile.dataTraffic()\n\n-- \u6e05\u7a7a\u4e0a\u4e0b\u884c\u6d41\u91cf\u7d2f\u8ba1\u503c\nmobile.dataTraffic(true, true)\n", "prefix": "mobile.dataTraffic"}, "mobile.config": {"body": "mobile.config(${1:item},${2:value})", "description": "mobile.config(item, value) - \u7f51\u7edc\u7279\u6b8a\u914d\u7f6e\uff0c\u9488\u5bf9\u4e0d\u540c\u5e73\u53f0\u6709\u4e0d\u540c\u7684\u914d\u7f6e\uff0c\u8c28\u614e\u4f7f\u7528\uff0c\u76ee\u524d\u53ea\u6709EC618\n\u4f20\u5165\u503c\uff1a\nint \u914d\u7f6e\u9879\u76ee\uff0c\u770bmobile.CONF_XXX\nint \u914d\u7f6e\u503c\n\u8fd4\u56de\u503c\uff1a\nboolean \u662f\u5426\u6210\u529f\n\u4f8b\u5b50\uff1a\n-- EC618\u914d\u7f6e\u5c0f\u533a\u91cd\u9009\u4fe1\u53f7\u5dee\u503c\u95e8\u9650\uff0c\u4e0d\u80fd\u5927\u4e8e15dbm\uff0c\u5fc5\u987b\u5728\u98de\u884c\u6a21\u5f0f\u4e0b\u624d\u80fd\u7528\nmobile.flymode(0,true)\nmobile.config(mobile.CONF_RESELTOWEAKNCELL, 15)\nmobile.config(mobile.CONF_STATICCONFIG, 1) --\u5f00\u542f\u7f51\u7edc\u9759\u6001\u4f18\u5316\nmobile.flymode(0,false)\n\n-- EC618\u8bbe\u7f6eSIM\u5199\u5165\u6b21\u6570\u7684\u7edf\u8ba1\n-- \u5173\u95ed\u7edf\u8ba1\nmobile.config(mobile.CONF_SIM_WC_MODE, 0)\n-- \u5f00\u542f\u7edf\u8ba1, \u9ed8\u8ba4\u4e5f\u662f\u5f00\u542f\u7684.\nmobile.config(mobile.CONF_SIM_WC_MODE, 1)\n-- \u8bfb\u53d6\u7edf\u8ba1\u503c,\u5f02\u6b65, \u9700\u8981\u901a\u8fc7\u7cfb\u7edf\u6d88\u606fSIM_IND\u83b7\u53d6\nsys.subscribe(\"SIM_IND\", function(stats, value)\n log.info(\"SIM_IND\", stats)\n if stats == \"SIM_WC\" then\n log.info(\"sim\", \"write counter\", value)\n end\nend)\nmobile.config(mobile.CONF_SIM_WC_MODE, 2)\n-- \u6e05\u7a7a\u7edf\u8ba1\u503c\nmobile.config(mobile.CONF_SIM_WC_MODE, 3)\n", "prefix": "mobile.config"}, "mobile.getBand": {"body": "mobile.getBand(${1:band},${2:is_default})", "description": "mobile.getBand(band, is_default) - \u83b7\u53d6\u5f53\u524d\u4f7f\u7528/\u652f\u6301\u7684band\n\u4f20\u5165\u503c\uff1a\nzbuff \u8f93\u51faband\nboolean true\u9ed8\u8ba4\u652f\u6301\uff0cfalse\u5f53\u524d\u652f\u6301\u7684\uff0c\u9ed8\u8ba4\u662ffalse\uff0c\u5f53\u524d\u662f\u9884\u7559\u529f\u80fd\uff0c\u4e0d\u8981\u5199true\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue\uff0c\u5931\u8d25\u653e\u56defalse\n\u4f8b\u5b50\uff1a\nlocal buff = zbuff.create(40)\nmobile.getBand(buff) --\u8f93\u51fa\u5f53\u524d\u4f7f\u7528\u7684band\uff0cband\u53f7\u653e\u5728buff\u5185\uff0cbuff[0]\uff0cbuff[1]\uff0cbuff[2] .. buff[buff:used() - 1]\n", "prefix": "mobile.getBand"}, "mobile.setBand": {"body": "mobile.setBand(${1:band},${2:num})", "description": "mobile.setBand(band, num) - \u8bbe\u7f6e\u4f7f\u7528\u7684band\n\u4f20\u5165\u503c\uff1a\nzbuff \u8f93\u5165\u4f7f\u7528\u7684band\nint band\u6570\u91cf\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue\uff0c\u5931\u8d25\u653e\u56defalse\n\u4f8b\u5b50\uff1a\nlocal buff = zbuff.create(40)\nbuff[0] = 3\nbuff[1] = 5\nbuff[2] = 8\nbuff[3] = 40\nmobile.setBand(buff, 4) --\u8bbe\u7f6e\u4f7f\u7528\u7684band\u4e00\u51714\u4e2a\uff0c\u4e3a3,5,8,40\n", "prefix": "mobile.setBand"}, "mobile.nstOnOff": {"body": "mobile.nstOnOff(${1:onoff},${2:uart_id})", "description": "mobile.nstOnOff(onoff, uart_id) - RF\u6d4b\u8bd5\u5f00\u5173\u548c\u914d\u7f6e\n\u4f20\u5165\u503c\uff1a\nboolean true\u5f00\u542f\u6d4b\u8bd5\u6a21\u5f0f\uff0cfalse\u5173\u95ed\nint \u4e32\u53e3\u53f7\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\nmobile.nstOnOff(true, uart.VUART_0)\t--\u6253\u5f00\u6d4b\u8bd5\u6a21\u5f0f\uff0c\u5e76\u4e14\u7528\u865a\u62df\u4e32\u53e3\u53d1\u9001\u7ed3\u679c\nmobile.nstOnOff(false) --\u5173\u95ed\u6d4b\u8bd5\u6a21\u5f0f\n", "prefix": "mobile.nstOnOff"}, "mobile.nstInput": {"body": "mobile.nstInput(${1:data})", "description": "mobile.nstInput(data) - RF\u6d4b\u8bd5\u6570\u636e\u8f93\u5165\n\u4f20\u5165\u503c\uff1a\nstring or zbuff \u7528\u6237\u4ece\u4e32\u53e3\u83b7\u53d6\u7684\u6570\u636e\uff0c\u6ce8\u610f\uff0c\u5f53\u83b7\u53d6\u5b8c\u6240\u6709\u6570\u636e\u540e\uff0c\u9700\u8981\u518d\u4f20\u4e00\u4e2anil\u6765\u4f5c\u4e3a\u4f20\u8f93\u7ed3\u675f\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\nmobile.nstInput(uart_data)\nmobile.nstInput(nil)\n", "prefix": "mobile.nstInput"}, "mqttc:subscribe": {"body": "mqttc:subscribe(${1:topic},${2:qos})", "description": "mqttc:subscribe(topic, qos) - \u8ba2\u9605\u4e3b\u9898\n\u4f20\u5165\u503c\uff1a\nstring/table \u4e3b\u9898\nint topic\u4e3astring\u65f6\u751f\u6548 0/1/2 \u9ed8\u8ba40\n\u8fd4\u56de\u503c\uff1a\nint \u6d88\u606fid,\u5f53qos\u4e3a1/2\u65f6\u6709\u6548, \u82e5\u5e95\u5c42\u8fd4\u56de\u5931\u8d25,\u4f1a\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\n-- \u8ba2\u9605\u5355\u4e2atopic, \u4e14qos=0\nmqttc:subscribe(\"/luatos/123456\", 0)\n-- \u8ba2\u9605\u5355\u4e2atopic, \u4e14qos=1\nmqttc:subscribe(\"/luatos/12345678\", 1)\n-- \u8ba2\u9605\u591a\u4e2atopic, \u4e14\u4f7f\u7528\u4e0d\u540c\u7684qos\nmqttc:subscribe({[\"/luatos/1234567\"]=1,[\"/luatos/12345678\"]=2})\n", "prefix": "mqttc:subscribe"}, "mqttc:unsubscribe": {"body": "mqttc:unsubscribe(${1:topic})", "description": "mqttc:unsubscribe(topic) - \u53d6\u6d88\u8ba2\u9605\u4e3b\u9898\n\u4f20\u5165\u503c\uff1a\nstring/table \u4e3b\u9898\n\u4f8b\u5b50\uff1a\nmqttc:unsubscribe(\"/luatos/123456\")\nmqttc:unsubscribe({\"/luatos/1234567\",\"/luatos/12345678\"})\n", "prefix": "mqttc:unsubscribe"}, "mqttc:debug": {"body": "mqttc:debug(${1:onoff})", "description": "mqttc:debug(onoff) - \u914d\u7f6e\u662f\u5426\u6253\u5f00debug\u4fe1\u606f\n\u4f20\u5165\u503c\uff1a\nboolean \u662f\u5426\u6253\u5f00debug\u5f00\u5173\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n", "prefix": "mqttc:debug"}, "mqtt.create": {"body": "mqtt.create(${1:adapter},${2:host},${3:port},${4:ssl},${5:isipv6})", "description": "mqtt.create(adapter,host,port,ssl,isipv6) - mqtt\u5ba2\u6237\u7aef\u521b\u5efa\n\u4f20\u5165\u503c\uff1a\nint \u9002\u914d\u5668\u5e8f\u53f7, \u53ea\u80fd\u662fsocket.ETH0, socket.STA, socket.AP,\u5982\u679c\u4e0d\u586b,\u4f1a\u9009\u62e9\u5e73\u53f0\u81ea\u5e26\u7684\u65b9\u5f0f,\u7136\u540e\u662f\u6700\u540e\u4e00\u4e2a\u6ce8\u518c\u7684\u9002\u914d\u5668\nstring \u670d\u52a1\u5668\u5730\u5740,\u53ef\u4ee5\u662f\u57df\u540d, \u4e5f\u53ef\u4ee5\u662fip\nint \t\u7aef\u53e3\u53f7\nbool/table \u662f\u5426\u4e3assl\u52a0\u5bc6\u8fde\u63a5,\u9ed8\u8ba4\u4e0d\u52a0\u5bc6,true\u4e3a\u65e0\u8bc1\u4e66\u6700\u7b80\u5355\u7684\u52a0\u5bc6\uff0ctable\u4e3a\u6709\u8bc1\u4e66\u7684\u52a0\u5bc6
        server_cert \u670d\u52a1\u5668ca\u8bc1\u4e66\u6570\u636e
        client_cert \u5ba2\u6237\u7aef\u8bc1\u4e66\u6570\u636e
        client_key \u5ba2\u6237\u7aef\u79c1\u94a5\u52a0\u5bc6\u6570\u636e
        client_password \u5ba2\u6237\u7aef\u79c1\u94a5\u53e3\u4ee4\u6570\u636e
        verify \u662f\u5426\u5f3a\u5236\u6821\u9a8c 0\u4e0d\u6821\u9a8c/1\u53ef\u9009\u6821\u9a8c/2\u5f3a\u5236\u6821\u9a8c \u9ed8\u8ba42\nbool \u662f\u5426\u4e3aipv6 \u9ed8\u8ba4\u4e0d\u662f\n\u8fd4\u56de\u503c\uff1a\nuserdata \u82e5\u6210\u529f\u4f1a\u8fd4\u56demqtt\u5ba2\u6237\u7aef\u5b9e\u4f8b,\u5426\u5219\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\n-- \u666e\u901aTCP\u94fe\u63a5\nmqttc = mqtt.create(nil,\"120.55.137.106\", 1884)\n-- \u52a0\u5bc6TCP\u94fe\u63a5,\u4e0d\u9a8c\u8bc1\u670d\u52a1\u5668\u8bc1\u4e66\nmqttc = mqtt.create(nil,\"120.55.137.106\", 8883, true)\n-- \u52a0\u5bc6TCPTCP\u94fe\u63a5,\u5355\u670d\u52a1\u5668\u8bc1\u4e66\u9a8c\u8bc1\nmqttc = mqtt.create(nil,\"120.55.137.106\", 8883, {server_cert=io.readFile(\"/luadb/ca.crt\")})\n-- \u52a0\u5bc6TCPTCP\u94fe\u63a5,\u5355\u670d\u52a1\u5668\u8bc1\u4e66\u9a8c\u8bc1, \u4f46\u53ef\u9009\u8ba4\u8bc1\nmqttc = mqtt.create(nil,\"120.55.137.106\", 8883, {server_cert=io.readFile(\"/luadb/ca.crt\"), verify=1})\n-- \u52a0\u5bc6TCPTCP\u94fe\u63a5,\u53cc\u5411\u8bc1\u4e66\u9a8c\u8bc1\nmqttc = mqtt.create(nil,\"120.55.137.106\", 8883, {\n\t\t\t\t\tserver_cert=io.readFile(\"/luadb/ca.crt\"),\n\t\t\t\t\tclient_cert=io.readFile(\"/luadb/client.pem\"),\n\t\t\t\t\tclient_key=\"123456\",\n\t\t\t\t\tclient_password=\"123456\",\n\t\t\t\t\t})\n", "prefix": "mqtt.create"}, "mqttc:auth": {"body": "mqttc:auth(${1:client_id},${2:username},${3:password},${4:cleanSession})", "description": "mqttc:auth(client_id,username,password,cleanSession) - mqtt\u4e09\u5143\u7ec4\u914d\u7f6e\u53cacleanSession\n\u4f20\u5165\u503c\uff1a\nstring \u8bbe\u5907\u8bc6\u522bid,\u5bf9\u4e8e\u540c\u4e00\u4e2amqtt\u670d\u52a1\u5668\u6765\u8bf4, \u901a\u5e38\u8981\u6c42\u552f\u4e00,\u76f8\u540cclient_id\u4f1a\u4e92\u76f8\u8e22\u4e0b\u7ebf\nstring \u8d26\u53f7 \u53ef\u9009\nstring \u5bc6\u7801 \u53ef\u9009\nbool \u6e05\u9664session,\u9ed8\u8ba4true,\u53ef\u9009\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n-- \u65e0\u8d26\u53f7\u5bc6\u7801\u767b\u5f55,\u4ec5clientId\nmqttc:auth(\"123456789\")\n-- \u5e26\u8d26\u53f7\u5bc6\u7801\u767b\u5f55\nmqttc:auth(\"123456789\",\"username\",\"password\")\n-- \u989d\u5916\u914d\u7f6ecleanSession,\u4e0d\u6e05\u9664\nmqttc:auth(\"123456789\",\"username\",\"password\", false)\n-- \u65e0clientId\u6a21\u5f0f, \u670d\u52a1\u5668\u968f\u673a\u751f\u6210id, cleanSession\u4e0d\u53ef\u914d\u7f6e\nmqttc:auth()\n", "prefix": "mqttc:auth"}, "mqttc:keepalive": {"body": "mqttc:keepalive(${1:time})", "description": "mqttc:keepalive(time) - mqtt\u5fc3\u8df3\u8bbe\u7f6e\n\u4f20\u5165\u503c\uff1a\nint \u53ef\u9009 \u5355\u4f4ds \u9ed8\u8ba4240s. \u6700\u514815,\u6700\u9ad8600\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\nmqttc:keepalive(30)\n", "prefix": "mqttc:keepalive"}, "mqttc:on": {"body": "mqttc:on(${1:cb})", "description": "mqttc:on(cb) - \u6ce8\u518cmqtt\u56de\u8c03\n\u4f20\u5165\u503c\uff1a\nfunction cb mqtt\u56de\u8c03,\u53c2\u6570\u5305\u62ecmqtt_client, event, data, payload\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\nmqttc:on(function(mqtt_client, event, data, payload, metas)\n\t-- \u7528\u6237\u81ea\u5b9a\u4e49\u4ee3\u7801\n\tlog.info(\"mqtt\", \"event\", event, mqtt_client, data, payload)\nend)\n--[[\nevent\u53ef\u80fd\u51fa\u73b0\u7684\u503c\u6709\n conack -- \u670d\u52a1\u5668\u9274\u6743\u5b8c\u6210,mqtt\u8fde\u63a5\u5df2\u7ecf\u5efa\u7acb, \u53ef\u4ee5\u8ba2\u9605\u548c\u53d1\u5e03\u6570\u636e\u4e86,\u6ca1\u6709\u9644\u52a0\u6570\u636e\n recv -- \u63a5\u6536\u5230\u6570\u636e,\u7531\u670d\u52a1\u5668\u4e0b\u53d1, data\u4e3atopic\u503c(string), payload\u4e3a\u4e1a\u52a1\u6570\u636e(string).metas\u662f\u5143\u6570\u636e(table), \u4e00\u822c\u4e0d\u5904\u7406. \n -- metas\u5305\u542b\u4ee5\u4e0b\u5185\u5bb9\n\t\t\t -- qos \u53d6\u503c\u8303\u56f40,1,2\n\t\t\t -- retain \u53d6\u503c\u8303\u56f4 0,1\n\t\t\t -- dup \u53d6\u503c\u8303\u56f4 0,1\n sent -- \u53d1\u9001\u5b8c\u6210, qos0\u4f1a\u9a6c\u4e0a\u901a\u77e5, qos1/qos2\u4f1a\u5728\u670d\u52a1\u5668\u5e94\u7b54\u4f1a\u56de\u8c03, data\u4e3a\u6d88\u606fid\n disconnect -- \u670d\u52a1\u5668\u65ad\u5f00\u8fde\u63a5,\u7f51\u7edc\u95ee\u9898\u6216\u670d\u52a1\u5668\u8e22\u4e86\u5ba2\u6237\u7aef,\u4f8b\u5982clientId\u91cd\u590d,\u8d85\u65f6\u672a\u4e0a\u62a5\u4e1a\u52a1\u6570\u636e\n]]\n", "prefix": "mqttc:on"}, "mqttc:connect": {"body": "mqttc:connect()", "description": "mqttc:connect() - \u8fde\u63a5\u670d\u52a1\u5668\n\u8fd4\u56de\u503c\uff1a\nboolean \u53d1\u8d77\u6210\u529f\u8fd4\u56detrue, \u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- \u5f00\u59cb\u5efa\u7acb\u8fde\u63a5\nmqttc:connect()\n-- \u672c\u51fd\u6570\u4ec5\u4ee3\u8868\u53d1\u8d77\u6210\u529f, \u540e\u7eed\u4ecd\u9700\u6839\u636eready\u51fd\u6570\u5224\u65admqtt\u662f\u5426\u8fde\u63a5\u6b63\u5e38\n", "prefix": "mqttc:connect"}, "mqttc:disconnect": {"body": "mqttc:disconnect()", "description": "mqttc:disconnect() - \u65ad\u5f00\u670d\u52a1\u5668\u8fde\u63a5(\u4e0d\u4f1a\u91ca\u653e\u8d44\u6e90)\n\u8fd4\u56de\u503c\uff1a\nboolean \u53d1\u8d77\u6210\u529f\u8fd4\u56detrue, \u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- \u65ad\u5f00\u8fde\u63a5\nmqttc:disconnect()\n", "prefix": "mqttc:disconnect"}, "mqttc:autoreconn": {"body": "mqttc:autoreconn(${1:reconnect},${2:reconnect_time})", "description": "mqttc:autoreconn(reconnect, reconnect_time) - \u81ea\u52a8\u91cd\u8fde\n\u4f20\u5165\u503c\uff1a\nbool \u662f\u5426\u81ea\u52a8\u91cd\u8fde\nint \u81ea\u52a8\u91cd\u8fde\u5468\u671f \u5355\u4f4dms \u9ed8\u8ba43000ms\n\u4f8b\u5b50\uff1a\nmqttc:autoreconn(true)\n", "prefix": "mqttc:autoreconn"}, "mqttc:publish": {"body": "mqttc:publish(${1:topic},${2:data},${3:qos},${4:retain})", "description": "mqttc:publish(topic, data, qos, retain) - \u53d1\u5e03\u6d88\u606f\n\u4f20\u5165\u503c\uff1a\nstring \u4e3b\u9898,\u5fc5\u586b\nstring \u6d88\u606f,\u5fc5\u586b,\u4f46\u957f\u5ea6\u53ef\u4ee5\u662f0\nint \u6d88\u606f\u7ea7\u522b 0/1 \u9ed8\u8ba40\nint \u662f\u5426\u5b58\u6863, 0/1,\u9ed8\u8ba40\n\u8fd4\u56de\u503c\uff1a\nint \u6d88\u606fid, \u5f53qos\u4e3a1\u62162\u65f6\u4f1a\u6709\u6548\u503c. \u82e5\u5e95\u5c42\u8fd4\u56de\u662f\u5426, \u4f1a\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\nmqttc:publish(\"/luatos/123456\", \"123\")\n", "prefix": "mqttc:publish"}, "mqttc:close": {"body": "mqttc:close()", "description": "mqttc:close() - mqtt\u5ba2\u6237\u7aef\u5173\u95ed(\u5173\u95ed\u540e\u8d44\u6e90\u91ca\u653e\u65e0\u6cd5\u518d\u4f7f\u7528)\n\u4f8b\u5b50\uff1a\nmqttc:close()\n", "prefix": "mqttc:close"}, "mqttc:ready": {"body": "mqttc:ready()", "description": "mqttc:ready() - mqtt\u5ba2\u6237\u7aef\u662f\u5426\u5c31\u7eea\n\u8fd4\u56de\u503c\uff1a\nbool \u5ba2\u6237\u7aef\u662f\u5426\u5c31\u7eea\n\u4f8b\u5b50\uff1a\nlocal error = mqttc:ready()\n", "prefix": "mqttc:ready"}, "mqttc:state": {"body": "mqttc:state()", "description": "mqttc:state() - mqtt\u5ba2\u6237\u7aef\u72b6\u6001\n\u8fd4\u56de\u503c\uff1a\nnumber \u5ba2\u6237\u7aef\u72b6\u6001\n\u4f8b\u5b50\uff1a\nlocal state = mqttc:state()\n", "prefix": "mqttc:state"}, "mqttc:will": {"body": "mqttc:will(${1:topic},${2:payload},${3:qos},${4:retain})", "description": "mqttc:will(topic, payload, qos, retain) - \u8bbe\u7f6e\u9057\u5631\u6d88\u606f\n\u4f20\u5165\u503c\uff1a\nstring \u9057\u5631\u6d88\u606f\u7684topic\nstring \u9057\u5631\u6d88\u606f\u7684payload\nstring \u9057\u5631\u6d88\u606f\u7684qos, \u9ed8\u8ba40, \u53ef\u4ee5\u4e0d\u586b\nstring \u9057\u5631\u6d88\u606f\u7684retain, \u9ed8\u8ba40, \u53ef\u4ee5\u4e0d\u586b\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- \u8981\u5728connect\u4e4b\u524d\u8c03\u7528\nmqttc:will(\"/xxx/xxx\", \"xxxxxx\")\n", "prefix": "mqttc:will"}, "nbiot.isReady": {"body": "nbiot.isReady()", "description": "nbiot.isReady() - \u7f51\u7edc\u662f\u5426\u5c31\u7eea\n\u8fd4\u56de\u503c\uff1a\nboolean \u5df2\u8054\u7f51\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- \u5224\u65ad\u662f\u5426\u5df2\u7ecf\u8054\u7f51\nif nbiot.isReady() then \n log.info(\"nbiot\", \"net is ready\")\nend\n", "prefix": "nbiot.isReady"}, "nbiot.imsi": {"body": "nbiot.imsi()", "description": "nbiot.imsi() - \u8bfb\u53d6IMSI\n\u8fd4\u56de\u503c\uff1a\nstring \u8fd4\u56deIMSI\u503c\uff0c\u5982\u679c\u4e0d\u5b58\u5728\u5c31\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\n--\u8bfb\u53d6imsi\nlog.info(\"nbiot\", \"imsi\", nbiot.imsi())\n", "prefix": "nbiot.imsi"}, "nbiot.iccid": {"body": "nbiot.iccid()", "description": "nbiot.iccid() - \u8bfb\u53d6ICCID\n\u8fd4\u56de\u503c\uff1a\nstring \u8fd4\u56deICCID\u503c\uff0c\u5982\u679c\u4e0d\u5b58\u5728\u5c31\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\n-- \u8bfb\u53d6iccid\nlog.info(\"nbiot\", \"iccid\", nbiot.iccid())\n", "prefix": "nbiot.iccid"}, "nbiot.imei": {"body": "nbiot.imei(${1:val})", "description": "nbiot.imei(val) - \u8bfb\u53d6\u6216\u8bbe\u7f6eIMEI\n\u4f20\u5165\u503c\uff1a\nstring \u4f20\u5165\u9700\u8981\u8bbe\u7f6e\u7684imei\u503c\uff0c\u4e0d\u4f20\u5c31\u662f\u8bfb\u53d6\n\u8fd4\u56de\u503c\uff1a\nstring \u8fd4\u56deimei\u503c\uff0c\u5982\u679c\u4e0d\u5b58\u5728\u5c31\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\n-- \u8bfb\u53d6imei\nlog.info(\"nbiot\", \"imei\", nbiot.imei())\n@usage \n-- \u8bbe\u7f6eimei\nlog.info(\"nbiot\", \"imei\", nbiot.imei(\"898989898989899898\"))\n", "prefix": "nbiot.imei"}, "nbiot.rssi": {"body": "nbiot.rssi()", "description": "nbiot.rssi() - \u8bfb\u53d6RSSI\n\u8fd4\u56de\u503c\uff1a\nint \u8fd4\u56derssi\u503c\n\u4f8b\u5b50\uff1a\n-- \u8bfb\u53d6rssi\nlog.info(\"nbiot\", \"rssi\", nbiot.rssi())\n", "prefix": "nbiot.rssi"}, "nbiot.apn": {"body": "nbiot.apn()", "description": "nbiot.apn() - \u8bfb\u53d6APN\n\u8fd4\u56de\u503c\uff1a\nstring \u8fd4\u56deapn\u503c\n\u4f8b\u5b50\uff1a\n-- \u8bfb\u53d6APN\nlog.info(\"nbiot\", \"apn\", nbiot.apn())\n", "prefix": "nbiot.apn"}, "nbiot.userApn": {"body": "nbiot.userApn(${1:apn},${2:Auth_User_Name},${3:Auth_Password},${4:PDN_TYPE})", "description": "nbiot.userApn(apn,Auth_User_Name,Auth_Password,PDN_TYPE) - \u8bfb\u53d6\u8bbe\u7f6e\u7528\u6237APN\n\u4f20\u5165\u503c\uff1a\nreturn \u8bfb\u53d6\u8fd4\u56dePDN_TYPE,Auth_User_Name,Auth_Password\uff0c\u8bbe\u7f6e\u8fd4\u56debool\n\u4f8b\u5b50\uff1a\n-- \u8bfb\u53d6APN\nlog.info(\"nbiot\", \"apn\", nbiot.userApn())\n", "prefix": "nbiot.userApn"}, "nbiot.tac": {"body": "nbiot.tac()", "description": "nbiot.tac() - \u8bfb\u53d6TAC\n\u8fd4\u56de\u503c\uff1a\nint \u8fd4\u56deTAC\u503c\n\u4f8b\u5b50\uff1a\n-- \u8bfb\u53d6TAC\nlog.info(\"nbiot\", \"tac\", nbiot.tac())\n", "prefix": "nbiot.tac"}, "nbiot.tauTime": {"body": "nbiot.tauTime()", "description": "nbiot.tauTime() - \u8bfb\u53d6Tau Time\n\u8fd4\u56de\u503c\uff1a\nint \u8fd4\u56deTau Time\u503c\n\u4f8b\u5b50\uff1a\n-- \u8bfb\u53d6Tau Time\nlog.info(\"nbiot\", \"tau time\", nbiot.tauTime())\n", "prefix": "nbiot.tauTime"}, "nbiot.activeTime": {"body": "nbiot.activeTime()", "description": "nbiot.activeTime() - \u8bfb\u53d6Active Time\n\u8fd4\u56de\u503c\uff1a\nint \u8fd4\u56deActive Time\u503c\n\u4f8b\u5b50\uff1a\n-- \u8bfb\u53d6Active Time\nlog.info(\"nbiot\", \"Active Time\", nbiot.activeTime())\n", "prefix": "nbiot.activeTime"}, "nbiot.cellID": {"body": "nbiot.cellID()", "description": "nbiot.cellID() - \u8bfb\u53d6CellID\n\u8fd4\u56de\u503c\uff1a\nint \u8fd4\u56deCellID\u503c\n\u4f8b\u5b50\uff1a\n-- \u8bfb\u53d6CellID\nlog.info(\"nbiot\", \"CellID\", nbiot.cellID())\n", "prefix": "nbiot.cellID"}, "nbiot.snr": {"body": "nbiot.snr()", "description": "nbiot.snr() - \u8bfb\u53d6SNR\n\u8fd4\u56de\u503c\uff1a\nint \u8fd4\u56deSNR\u503c\n\u4f8b\u5b50\uff1a\n-- \u8bfb\u53d6SNR\nlog.info(\"nbiot\", \"SNR\", nbiot.snr())\n", "prefix": "nbiot.snr"}, "nbiot.csq": {"body": "nbiot.csq()", "description": "nbiot.csq() - \u8bfb\u53d6CSQ, \u5e76\u4e0d\u5b8c\u5168\u7b49\u4ef7\u4e8eGSM\u7684CSQ\n\u8fd4\u56de\u503c\uff1a\nint \u8fd4\u56decsq\u503c\n\u4f8b\u5b50\uff1a\n-- \u8bfb\u53d6csq\nlog.info(\"nbiot\", \"csq\", nbiot.csq())\n", "prefix": "nbiot.csq"}, "nbiot.ceLevel": {"body": "nbiot.ceLevel()", "description": "nbiot.ceLevel() - \u8bfb\u53d6CE Level\n\u8fd4\u56de\u503c\uff1a\nint \u8fd4\u56deCE Level\u503c\n\u4f8b\u5b50\uff1a\n-- \u8bfb\u53d6CE Level\nlog.info(\"nbiot\", \"CE Level\", nbiot.ceLevel())\n", "prefix": "nbiot.ceLevel"}, "nbiot.sn": {"body": "nbiot.sn(${1:val})", "description": "nbiot.sn(val) - \u8bfb\u53d6\u6216\u8bbe\u7f6eSN,\u666e\u901a\u5237\u673a(\u5237\u5e95\u5c42/\u5237\u811a\u672c)\u4e0d\u4f1a\u6e05\u9664\n\u4f20\u5165\u503c\uff1a\nstring \u9700\u8981\u8bbe\u7f6e\u7684SN\u503c(\u53ea\u80fd\u662f\u53ef\u89c1\u5b57\u7b26),\u4e0d\u4f20\u503c\u5219\u4e3a\u8bfb\u53d6\n\u8fd4\u56de\u503c\uff1a\nstring \u8fd4\u56deSN\u503c\n\u4f8b\u5b50\uff1a\n-- \u8bfb\u53d6SN\nlog.info(\"nbiot\", \"SN\", nbiot.sn())\n@usage \n-- \u8bbe\u7f6eSN\nlog.info(\"nbiot\", \"SN\", nbiot.sn(\"My Custom SN\"))\n", "prefix": "nbiot.sn"}, "nbiot.updateCellInfo": {"body": "nbiot.updateCellInfo()", "description": "nbiot.updateCellInfo() - \u5237\u65b0\u7f51\u7edc\u4fe1\u606f,\u53ef\u901a\u8fc7\u5b9a\u65f6\u4efb\u52a1\u5237\u65b0,\u6700\u5c0f\u95f4\u96945\u79d2\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u542f\u52a8\u5237\u65b0\u7ebf\u7a0b\u8fd4\u56detrue\uff0c\u5426\u5219\u8fd4\u56defalse.\n\u4f8b\u5b50\uff1a\n-- \u5237\u65b0\u7f51\u7edc\u4fe1\u606f\nnbiot.updateCellInfo()\nsys.waitUntil(\"CELL_INFO_IND\", 3000)\nlog.info(\"nbiot\", \"cell\", json.encode(nbiot.getCellInfo()))\n", "prefix": "nbiot.updateCellInfo"}, "nbiot.mcc": {"body": "nbiot.mcc()", "description": "nbiot.mcc() - \u8bfb\u53d6MCC\u503c,\u6ce8\u518c\u7f51\u7edc\u540e\u53ef\u7528,\u901a\u8fc7nbiot.updateCellInfo()\u5237\u65b0\n\u8fd4\u56de\u503c\uff1a\nint \u8fd0\u8425\u5546MCC\u503c\n\u4f8b\u5b50\uff1a\n-- \u8bfb\u53d6MCC\nlog.info(\"nbiot\", \"mcc\", nbiot.mcc())\n", "prefix": "nbiot.mcc"}, "nbiot.mnc": {"body": "nbiot.mnc()", "description": "nbiot.mnc() - \u8bfb\u53d6MNC\u503c,\u6ce8\u518c\u7f51\u7edc\u540e\u53ef\u7528,\u901a\u8fc7nbiot.updateCellInfo()\u5237\u65b0\n\u8fd4\u56de\u503c\uff1a\nint \u8fd0\u8425\u5546MNC\u503c\n\u4f8b\u5b50\uff1a\n-- \u8bfb\u53d6MNC\nlog.info(\"nbiot\", \"mnc\", nbiot.mnc())\n", "prefix": "nbiot.mnc"}, "nbiot.earfcn": {"body": "nbiot.earfcn()", "description": "nbiot.earfcn() - \u8bfb\u53d6earfcn\u503c,\u6ce8\u518c\u7f51\u7edc\u540e\u53ef\u7528,\u901a\u8fc7nbiot.updateCellInfo()\u5237\u65b0\n\u8fd4\u56de\u503c\uff1a\nint \u8fd0\u8425\u5546earfcn\u503c\n\u4f8b\u5b50\uff1a\n-- \u8bfb\u53d6earfcn\nlog.info(\"nbiot\", \"earfcn\", nbiot.earfcn())\n", "prefix": "nbiot.earfcn"}, "nbiot.phyCellId": {"body": "nbiot.phyCellId()", "description": "nbiot.phyCellId() - \u8bfb\u53d6phyCellId\u503c,\u6ce8\u518c\u7f51\u7edc\u540e\u53ef\u7528,\u901a\u8fc7nbiot.updateCellInfo()\u5237\u65b0\n\u8fd4\u56de\u503c\uff1a\nint \u8fd0\u8425\u5546phyCellId\u503c\n\u4f8b\u5b50\uff1a\n-- \u8bfb\u53d6phyCellId\nlog.info(\"nbiot\", \"phyCellId\", nbiot.phyCellId())\n", "prefix": "nbiot.phyCellId"}, "nbiot.rsrq": {"body": "nbiot.rsrq()", "description": "nbiot.rsrq() - \u8bfb\u53d6rsrq\u503c,\u6ce8\u518c\u7f51\u7edc\u540e\u53ef\u7528,\u901a\u8fc7nbiot.updateCellInfo()\u5237\u65b0\n\u8fd4\u56de\u503c\uff1a\nint \u8fd0\u8425\u5546ersrq\u503c\n\u4f8b\u5b50\uff1a\n-- \u8bfb\u53d6rsrq\nlog.info(\"nbiot\", \"rsrq\", nbiot.rsrq())\n", "prefix": "nbiot.rsrq"}, "nbiot.rsrp": {"body": "nbiot.rsrp()", "description": "nbiot.rsrp() - \u8bfb\u53d6rsrp\u503c,\u6ce8\u518c\u7f51\u7edc\u540e\u53ef\u7528,\u901a\u8fc7nbiot.updateCellInfo()\u5237\u65b0\n\u8fd4\u56de\u503c\uff1a\nint \u8fd0\u8425\u5546rsrp\u503c\n\u4f8b\u5b50\uff1a\n-- \u8bfb\u53d6rsrp\nlog.info(\"nbiot\", \"rsrp\", nbiot.rsrp())\n", "prefix": "nbiot.rsrp"}, "nbiot.powerLevel": {"body": "nbiot.powerLevel()", "description": "nbiot.powerLevel() - \u8bfb\u53d6PowerLevel\u503c,\u6ce8\u518c\u7f51\u7edc\u540e\u53ef\u7528,\u901a\u8fc7nbiot.updateCellInfo()\u5237\u65b0\n\u8fd4\u56de\u503c\uff1a\nint \u8fd0\u8425\u5546PowerLevel\u503c\n\u4f8b\u5b50\uff1a\n-- \u8bfb\u53d6PowerLevel\nlog.info(\"nbiot\", \"PowerLevel\", nbiot.powerLevel())\n", "prefix": "nbiot.powerLevel"}, "nbiot.getCellInfo": {"body": "nbiot.getCellInfo()", "description": "nbiot.getCellInfo() - \u83b7\u53d6\u7f51\u7edc\u57fa\u7ad9\u8be6\u60c5,\u6ce8\u518c\u7f51\u7edc\u540e\u53ef\u7528,\u901a\u8fc7nbiot.updateCellInfo()\u5237\u65b0\n\u8fd4\u56de\u503c\uff1a\ntable \u7f51\u7edc\u57fa\u7ad9\u8be6\u60c5\n\u4f8b\u5b50\uff1a\n-- \u8bfb\u53d6\u57fa\u7ad9\u4fe1\u606f\nlog.info(\"nbiot\", \"cell info\", json.encode(nbiot.getCellInfo()))\n", "prefix": "nbiot.getCellInfo"}, "nbiot.setCFUN": {"body": "nbiot.setCFUN(${1:val})", "description": "nbiot.setCFUN(val) - \u8fdb\u5165\u6216\u9000\u51fa\u98de\u884c\u6a21\u5f0f\n\u4f20\u5165\u503c\uff1a\nint 0\u98de\u884c\u6a21\u5f0f,1\u666e\u901a\u8054\u7f51\u6a21\u5f0f\n\u8fd4\u56de\u503c\uff1a\nboolean \u8bbe\u7f6e\u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- \u8fdb\u5165\u98de\u884c\u6a21\u5f0f\nnbiot.setCFUN(0)\n", "prefix": "nbiot.setCFUN"}, "nbiot.setBootCFUN": {"body": "nbiot.setBootCFUN(${1:val})", "description": "nbiot.setBootCFUN(val) - \u8bbe\u7f6e\u8bbe\u5907\u4e0a\u7535\u542f\u52a8\u65f6\uff0c\u662f\u5426\u8fdb\u5165\u98de\u884c\u6a21\u5f0f\n\u4f20\u5165\u503c\uff1a\nint 0\u98de\u884c\u6a21\u5f0f,1\u666e\u901a\u8054\u7f51\u6a21\u5f0f\n\u8fd4\u56de\u503c\uff1a\nboolean \u8bbe\u7f6e\u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- \u8bbe\u7f6e\u4e3a\u4e0a\u7535\u8fdb\u5165\u98de\u884c\u6a21\u5f0f\nnbiot.setBootCFUN(0)\n", "prefix": "nbiot.setBootCFUN"}, "nbiot.getBootCFUN": {"body": "nbiot.getBootCFUN(${1:val})", "description": "nbiot.getBootCFUN(val) - \u83b7\u53d6\u8bbe\u5907\u4e0a\u7535\u542f\u52a8\u65f6\uff0c\u662f\u5426\u8fdb\u5165\u98de\u884c\u6a21\u5f0f\n\u8fd4\u56de\u503c\uff1a\nint \u5f00\u673a\u5c31\u8fdb\u5165\u98de\u884c\u6a21\u5f0f\u8fd4\u56de0,\u8fdb\u5165\u666e\u901a\u6a21\u5f0f\u8fd4\u56de1\n\u4f8b\u5b50\uff1a\n-- \u83b7\u53d6\u4e0a\u7535\u6a21\u5f0f\nnbiot.getBootCFUN()\n", "prefix": "nbiot.getBootCFUN"}, "nbiot.setPSM": {"body": "nbiot.setPSM(${1:psmMode},${2:tauTimeS},${3:activeTimeS})", "description": "nbiot.setPSM(psmMode,tauTimeS,activeTimeS) - \u8bbe\u7f6ePSM\u53c2\u6570\n\u4f20\u5165\u503c\uff1a\nint psm\u6a21\u5f0f, CMI_MM_DISABLE_PSM(0)/CMI_MM_ENABLE_PSM(1)/CMI_MM_DISCARD_PSM(2)\nint TAU time(unit: S)---related to T3412\nint active time(unit: S)---related to T3324\n\u8fd4\u56de\u503c\uff1a\nboolean \u8bbe\u7f6e\u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- \u8bbe\u7f6ePSM\nnbiot.setPSM(1, 60, 120)\n", "prefix": "nbiot.setPSM"}, "nbiot.setEDRX": {"body": "nbiot.setEDRX(${1:modeVal},${2:actType},${3:reqEdrxValueMs})", "description": "nbiot.setEDRX(modeVal,actType,reqEdrxValueMs) - \u8bbe\u7f6eEDRX\u53c2\u6570\n\u4f20\u5165\u503c\uff1a\nint \u6a21\u5f0f,CMI_MM_DISABLE_EDRX = 0/CMI_MM_ENABLE_EDRX_AND_DISABLE_IND = 1/CMI_MM_ENABLE_EDRX_AND_ENABLE_IND = 2/CMI_MM_DISCARD_EDRX = 3\nint \u53ef\u9009\u503c, 0\u6216\u80055. CMI_MM_EDRX_NO_ACT_OR_NOT_USE_EDRX = 0/CMI_MM_EDRX_NB_IOT = 5\nint edrx\u503c,4\u4e2a\u5b57\u8282\u957f\u5ea6\u4e8c\u8fdb\u5236\u5b57\u7b26\u4e32\n\u8fd4\u56de\u503c\uff1a\nboolean \u8bbe\u7f6e\u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- \u8bbe\u7f6eEDRX\nnbiot.setPSM(1, 5, \"0101\")\n", "prefix": "nbiot.setEDRX"}, "nbiot.getPSM": {"body": "nbiot.getPSM()", "description": "nbiot.getPSM() - \u83b7\u53d6PSM\u53c2\u6570\n\u8fd4\u56de\u503c\uff1a\nint psm\u6a21\u5f0f, CMI_MM_DISABLE_PSM(0)/CMI_MM_ENABLE_PSM(1)/CMI_MM_DISCARD_PSM(2)\nint TAU time(unit: S)---related to T3412\nint active time(unit: S)---related to T3324\n\u4f8b\u5b50\uff1a\n-- \u83b7\u53d6PSM\nlog.info(\"psm\", nbiot.getPSM())\n", "prefix": "nbiot.getPSM"}, "nbiot.getEDRX": {"body": "nbiot.getEDRX()", "description": "nbiot.getEDRX() - \u83b7\u53d6EDRX\u53c2\u6570\n\u8fd4\u56de\u503c\uff1a\nint \u6a21\u5f0f,CMI_MM_DISABLE_EDRX = 0/CMI_MM_ENABLE_EDRX_AND_DISABLE_IND = 1/CMI_MM_ENABLE_EDRX_AND_ENABLE_IND = 2/CMI_MM_DISCARD_EDRX = 3\nint \u53ef\u9009\u503c, 0\u6216\u80055. CMI_MM_EDRX_NO_ACT_OR_NOT_USE_EDRX = 0/CMI_MM_EDRX_NB_IOT = 5\nint edrx\u503c,\u5355\u4f4d\u6beb\u79d2\n\u4f8b\u5b50\uff1a\n-- \u83b7\u53d6EDRX\nlog.info(\"edrx\", nbiot.getEDRX())\n", "prefix": "nbiot.getEDRX"}, "nbiot.setTZ": {"body": "nbiot.setTZ(${1:tz},${2:auto})", "description": "nbiot.setTZ(tz, auto) - \u8bbe\u7f6e\u65f6\u533a\u53c2\u6570\n\u4f20\u5165\u503c\uff1a\nint \u65f6\u533a\u53c2\u6570,\u53ef\u9009, \u5355\u4f4d\u662f1/4\u65f6\u533a, \u9ed8\u8ba4\u4e3a \u4e1c8\u533a, \u5bf9\u5e94\u7684\u503c\u4e3a32\nboolean \u662f\u5426\u81ea\u52a8\u8bbe\u7f6e\u65f6\u533a,\u53ef\u9009, \u9ed8\u8ba4\u4e3atrue\n\u4f8b\u5b50\uff1a\n-- \u8bbe\u7f6e\u4e3a\u4e1c8\u533a,\u7981\u7528\u81ea\u52a8\u66f4\u65b0\u65f6\u533a\u529f\u80fd\nnbiot.setTZ(32, false)\n@usage \n-- \u542f\u7528\u81ea\u52a8\u66f4\u65b0\u65f6\u533a\u529f\u80fd\nnbiot.setTZ(nil, true)\n", "prefix": "nbiot.setTZ"}, "nbiot.getTZ": {"body": "nbiot.getTZ()", "description": "nbiot.getTZ() - \u83b7\u53d6\u65f6\u533a\u53c2\u6570\n\u8fd4\u56de\u503c\uff1a\nint \u65f6\u533a\u53c2\u6570,\u5355\u4f4d1/4\u65f6\u533a, \u9ed8\u8ba4\u4e1c8\u533a, \u503c\u4e3a32\nboolean \u81ea\u52a8\u8bbe\u7f6e\u65f6\u533a,\u9ed8\u8ba4\u4e3atrue\n\u4f8b\u5b50\uff1a\n-- \u83b7\u53d6\u65f6\u533a\u53c2\u6570\nlog.info(\"timezone\", nbiot.getTZ())\n", "prefix": "nbiot.getTZ"}, "nbiot.setBands": {"body": "nbiot.setBands(${1:modes})", "description": "nbiot.setBands(modes) - \u8bbe\u7f6eBand\u6a21\u5f0f(\u6682\u4e0d\u53ef\u7528)\n\u4f20\u5165\u503c\uff1a\nany \u6a21\u5f0f,\u9700\u8981\u662f\u4e00\u4e2atable\u5f62\u5f0f\u7684\u6570\u7ec4,\u5fc5\u987b\u4f20\u5165\n\u8fd4\u56de\u503c\uff1a\nboolean \u8bbe\u7f6e\u7ed3\u679c\n\u4f8b\u5b50\uff1a\n-- \u4ec5\u641c\u7d22band 8\nlog.info(\"band\", nbiot.setBands({8}))\n", "prefix": "nbiot.setBands"}, "nbiot.getBands": {"body": "nbiot.getBands()", "description": "nbiot.getBands() - \u83b7\u53d6\u5f53\u524d\u4f7f\u7528\u7684Band\u6a21\u5f0f(\u6682\u4e0d\u53ef\u7528)\n\u8fd4\u56de\u503c\uff1a\ntable \u6240\u8bbe\u7f6e\u7684band\u7684\u6570\u7ec4\n\u4f8b\u5b50\uff1a\n-- \u4ec5\u641c\u7d22band 8\nlog.info(\"band\", json.encode(nbiot.getBands()))\n", "prefix": "nbiot.getBands"}, "nbiot.setEDRXPtw": {"body": "nbiot.setEDRXPtw(${1:val})", "description": "nbiot.setEDRXPtw(val) - \u8bbe\u7f6eEDRX PTW\u53c2\u6570\n\u4f20\u5165\u503c\uff1a\nint \u9700\u8981\u8bbe\u7f6e\u7684\u503c\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- \u8bbe\u7f6ePTW\u503c\u4e3aX\nnbiot.setEDRXPtw(val)\n-- \u53ef\u9009\u503c\nreqPtwValue:\nNB-S1 mode\nThe field contains the PTW value in seconds for NB-S1 mode.The PTW value is used\nas specified in 3GPP TS 23.682 [133a].The PTW value is derived as follows:\nbit\n Paging Time Window length\n0 0 0 0 2,56 seconds\n0 0 0 1 5,12 seconds\n0 0 1 0 7,68 seconds\n0 0 1 1 10,24 seconds\n0 1 0 0 12,8 seconds\n0 1 0 1 15,36 seconds\n0 1 1 0 17,92 seconds\n0 1 1 1 20,48 seconds\n1 0 0 0 23,04 seconds\n1 0 0 1 25,6 seconds\n1 0 1 0 28,16 seconds\n1 0 1 1 30,72 seconds\n1 1 0 0 33,28 seconds\n1 1 0 1 35,84 seconds\n1 1 1 0 38,4 seconds\n1 1 1 1 40,96 seconds\n \n", "prefix": "nbiot.setEDRXPtw"}, "nbiot.getEDRXPtw": {"body": "nbiot.getEDRXPtw()", "description": "nbiot.getEDRXPtw() - \u83b7\u53d6EDRX PTW\u53c2\u6570\n\u8fd4\u56de\u503c\uff1a\nint ptw\u503c\n\u4f8b\u5b50\uff1a\n-- \u6253\u5370PTW\u503c\nlog.info(\"ptw\", nbiot.getEDRXPtw())\n", "prefix": "nbiot.getEDRXPtw"}, "nbiot.ticks": {"body": "nbiot.ticks()", "description": "nbiot.ticks() - \u83b7\u53d6tick\u8ba1\u6570\n\u8fd4\u56de\u503c\uff1a\nint tick\u8ba1\u6570\n\u4f8b\u5b50\uff1a\n-- \u6253\u5370PTW\u503c\nlog.info(\"tick\", nbiot.ticks())\n", "prefix": "nbiot.ticks"}, "nes.init": {"body": "nes.init(${1:file_path})", "description": "nes.init(file_path) - nes\u6a21\u62df\u5668\u521d\u59cb\u5316\n\u4f20\u5165\u503c\uff1a\nstring file_path \u6587\u4ef6\u8def\u5f84\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\nnes.init(\"/luadb/super_mario.nes\")\n", "prefix": "nes.init"}, "nes.key": {"body": "nes.key(${1:key},${2:val})", "description": "nes.key(key,val) - nes\u6a21\u62df\u5668\u521d\u59cb\u5316\n\u4f20\u5165\u503c\uff1a\nnumber key \u6309\u952e\nnumber val \u72b6\u6001 1\u6309\u4e0b 0\u62ac\u8d77\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\nnes.init(\"/luadb/super_mario.nes\")\n", "prefix": "nes.key"}, "nimble.init": {"body": "nimble.init(${1:name})", "description": "nimble.init(name) - \u521d\u59cb\u5316BLE\u4e0a\u4e0b\u6587,\u5f00\u59cb\u5bf9\u5916\u5e7f\u64ad/\u626b\u63cf\n\u4f20\u5165\u503c\uff1a\nstring \u84dd\u7259\u8bbe\u5907\u540d\u79f0,\u53ef\u9009,\u5efa\u8bae\u586b\u5199\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u4e0e\u5426\n\u4f8b\u5b50\uff1a\n-- \u53c2\u8003 demo/nimble\n-- \u672c\u51fd\u6570\u5bf9\u6240\u6709\u6a21\u5f0f\u90fd\u9002\u7528\n", "prefix": "nimble.init"}, "nimble.deinit": {"body": "nimble.deinit()", "description": "nimble.deinit() - \u5173\u95edBLE\u4e0a\u4e0b\u6587\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u4e0e\u5426\n\u4f8b\u5b50\uff1a\n-- \u4ec5\u90e8\u5206\u8bbe\u5907\u652f\u6301,\u5f53\u524d\u53ef\u80fd\u90fd\u4e0d\u652f\u6301\n-- \u672c\u51fd\u6570\u5bf9\u6240\u6709\u6a21\u5f0f\u90fd\u9002\u7528\n", "prefix": "nimble.deinit"}, "nimble.mode": {"body": "nimble.mode(${1:tp})", "description": "nimble.mode(tp) - \u8bbe\u7f6e\u6a21\u5f0f\n\u4f20\u5165\u503c\uff1a\nint \u6a21\u5f0f, \u9ed8\u8ba4server/peripheral, \u53ef\u9009 client/central\u6a21\u5f0f nimble.MODE_BLE_CLIENT\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u4e0e\u5426\n\u4f8b\u5b50\uff1a\n-- \u53c2\u8003 demo/nimble\n-- \u5fc5\u987b\u5728nimble.init()\u4e4b\u524d\u8c03\u7528\n-- nimble.mode(nimble.MODE_BLE_CLIENT) -- \u7b80\u79f0\u4ece\u673a\u6a21\u5f0f,\u672a\u5b8c\u5584\n", "prefix": "nimble.mode"}, "nimble.connok": {"body": "nimble.connok()", "description": "nimble.connok() - \u662f\u5426\u5df2\u7ecf\u5efa\u7acb\u8fde\u63a5\n\u8fd4\u56de\u503c\uff1a\nbool \u5df2\u8fde\u63a5\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\nlog.info(\"ble\", \"connected?\", nimble.connok())\n-- \u4ece\u673aperipheral\u6a21\u5f0f, \u8bbe\u5907\u662f\u5426\u5df2\u7ecf\u88ab\u8fde\u63a5\n-- \u4e3b\u673acentral\u6a21\u5f0f, \u662f\u5426\u5df2\u7ecf\u8fde\u63a5\u5230\u8bbe\u5907\n-- ibeacon\u6a21\u5f0f, \u65e0\u610f\u4e49\n", "prefix": "nimble.connok"}, "nimble.send_msg": {"body": "nimble.send_msg(${1:conn},${2:handle},${3:data})", "description": "nimble.send_msg(conn, handle, data) - \u53d1\u9001\u4fe1\u606f\n\u4f20\u5165\u503c\uff1a\nint \u8fde\u63a5id, \u5f53\u524d\u56fa\u5b9a\u586b1\nint \u5904\u7406id, \u5f53\u524d\u56fa\u5b9a\u586b0\nstring \u6570\u636e\u5b57\u7b26\u4e32,\u53ef\u5305\u542b\u4e0d\u53ef\u89c1\u5b57\u7b26\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u4e0e\u5426\n\u4f8b\u5b50\uff1a\n-- \u53c2\u8003 demo/nimble\n-- \u672c\u51fd\u6570\u5bf9peripheral/\u4ece\u673a\u6a21\u5f0f\u9002\u7528\n", "prefix": "nimble.send_msg"}, "nimble.setUUID": {"body": "nimble.setUUID(${1:tp},${2:addr})", "description": "nimble.setUUID(tp, addr) - \u8bbe\u7f6eserver/peripheral\u7684UUID\n\u4f20\u5165\u503c\uff1a\nstring \u914d\u7f6e\u5b57\u7b26\u4e32,\u540e\u9762\u7684\u793a\u4f8b\u6709\u8bf4\u660e\nstring \u5730\u5740\u5b57\u7b26\u4e32\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u4e0e\u5426\n\u4f8b\u5b50\uff1a\n-- \u53c2\u8003 demo/nimble, 2023-02-25\u4e4b\u540e\u7f16\u8bd1\u7684\u56fa\u4ef6\u652f\u6301\u672cAPI\n-- \u5fc5\u987b\u5728nimble.init()\u4e4b\u524d\u8c03\u7528\n-- \u672c\u51fd\u6570\u5bf9peripheral/\u4ece\u673a\u6a21\u5f0f\u9002\u7528\n\n-- \u8bbe\u7f6eSERVER/Peripheral\u6a21\u5f0f\u4e0b\u7684UUID, \u652f\u6301\u8bbe\u7f6e3\u4e2a\n-- \u5730\u5740\u652f\u6301 2/4/16\u5b57\u8282, \u9700\u8981\u4e8c\u8fdb\u5236\u6570\u636e\n-- 2\u5b57\u8282\u5730\u5740\u793a\u4f8b: AABB, \u5199 string.fromHex(\"AABB\") ,\u6216\u8005 string.char(0xAA, 0xBB)\n-- 4\u5b57\u8282\u5730\u5740\u793a\u4f8b: AABBCCDD , \u5199 string.fromHex(\"AABBCCDD\") ,\u6216\u8005 string.char(0xAA, 0xBB, 0xCC, 0xDD)\nnimble.setUUID(\"srv\", string.fromHex(\"380D\")) -- \u670d\u52a1\u4e3bUUID , \u9ed8\u8ba4\u503c 180D\nnimble.setUUID(\"write\", string.fromHex(\"FF31\")) -- \u5f80\u672c\u8bbe\u5907\u5199\u6570\u636e\u7684UUID, \u9ed8\u8ba4\u503c FFF1\nnimble.setUUID(\"indicate\", string.fromHex(\"FF32\")) -- \u8ba2\u9605\u672c\u8bbe\u5907\u7684\u6570\u636e\u7684UUID,\u9ed8\u8ba4\u503c FFF2\n", "prefix": "nimble.setUUID"}, "nimble.mac": {"body": "nimble.mac()", "description": "nimble.mac() - \u83b7\u53d6\u84dd\u7259MAC\n\u8fd4\u56de\u503c\uff1a\nstring \u84dd\u7259MAC\u5730\u5740,6\u5b57\u8282\n\u4f8b\u5b50\uff1a\n-- \u53c2\u8003 demo/nimble, 2023-02-25\u4e4b\u540e\u7f16\u8bd1\u7684\u56fa\u4ef6\u652f\u6301\u672cAPI\n-- \u672c\u51fd\u6570\u5bf9\u6240\u6709\u6a21\u5f0f\u90fd\u9002\u7528\nlocal mac = nimble.mac()\nlog.info(\"ble\", \"mac\", mac and mac:toHex() or \"Unknwn\")\n", "prefix": "nimble.mac"}, "nimble.sendNotify": {"body": "nimble.sendNotify(${1:srv_uuid},${2:chr_uuid},${3:data})", "description": "nimble.sendNotify(srv_uuid, chr_uuid, data) - \u53d1\u9001notify\n\u4f20\u5165\u503c\uff1a\nstring \u670d\u52a1\u7684UUID,\u9884\u7559,\u5f53\u524d\u586bnil\u5c31\u884c\nstring \u7279\u5f81\u7684UUID,\u5fc5\u987b\u586b\u5199\nstring \u6570\u636e, \u5fc5\u586b, \u8ddfMTU\u5927\u5c0f\u76f8\u5173, \u4e00\u822c\u4e0d\u8981\u8d85\u8fc7256\u5b57\u8282\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- \u672cAPI\u4e8e 2023.07.31 \u65b0\u589e\n-- \u672c\u51fd\u6570\u5bf9peripheral\u6a21\u5f0f\u9002\u7528\nnimble.sendNotify(nil, string.fromHex(\"FF01\"), string.char(0x31, 0x32, 0x33, 0x34, 0x35))\n", "prefix": "nimble.sendNotify"}, "nimble.sendIndicate": {"body": "nimble.sendIndicate(${1:srv_uuid},${2:chr_uuid},${3:data})", "description": "nimble.sendIndicate(srv_uuid, chr_uuid, data) - \u53d1\u9001indicate\n\u4f20\u5165\u503c\uff1a\nstring \u670d\u52a1\u7684UUID,\u9884\u7559,\u5f53\u524d\u586bnil\u5c31\u884c\nstring \u7279\u5f81\u7684UUID,\u5fc5\u987b\u586b\u5199\nstring \u6570\u636e, \u5fc5\u586b, \u8ddfMTU\u5927\u5c0f\u76f8\u5173, \u4e00\u822c\u4e0d\u8981\u8d85\u8fc7256\u5b57\u8282\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- \u672cAPI\u4e8e 2023.07.31 \u65b0\u589e\n-- \u672c\u51fd\u6570\u5bf9peripheral\u6a21\u5f0f\u9002\u7528\nnimble.sendIndicate(nil, string.fromHex(\"FF01\"), string.char(0x31, 0x32, 0x33, 0x34, 0x35))\n", "prefix": "nimble.sendIndicate"}, "nimble.advParams": {"body": "nimble.advParams(${1:conn_mode},${2:disc_mode},${3:itvl_min},${4:itvl_max},${5:channel_map},${6:filter_policy},${7:high_duty_cycle})", "description": "nimble.advParams(conn_mode, disc_mode, itvl_min, itvl_max, channel_map, filter_policy, high_duty_cycle) - \u8bbe\u7f6e\u5e7f\u64ad\u53c2\u6570\n\u4f20\u5165\u503c\uff1a\nint \u5e7f\u64ad\u6a21\u5f0f, 0 - \u4e0d\u53ef\u8fde\u63a5, 1 - \u5b9a\u5411\u8fde\u63a5, 2 - \u672a\u5b9a\u5411\u8fde\u63a5, \u9ed8\u8ba40\nint \u53d1\u73b0\u6a21\u5f0f, 0 - \u4e0d\u53ef\u53d1\u73b0, 1 - \u9650\u5236\u53d1\u73b0, 3 - \u901a\u7528\u53d1\u73b0, \u9ed8\u8ba40\nint \u6700\u5c0f\u5e7f\u64ad\u95f4\u9694, 0 - \u4f7f\u7528\u9ed8\u8ba4\u503c, \u8303\u56f4 1 - 65535, \u5355\u4f4d0.625ms, \u9ed8\u8ba40\nint \u6700\u5927\u5e7f\u64ad\u95f4\u9694, 0 - \u4f7f\u7528\u9ed8\u8ba4\u503c, \u8303\u56f4 1 - 65535, \u5355\u4f4d0.625ms, \u9ed8\u8ba40\nint \u5e7f\u64ad\u901a\u9053, \u9ed8\u8ba40, \u4e00\u822c\u4e0d\u9700\u8981\u8bbe\u7f6e\nint \u8fc7\u6ee4\u89c4\u5219, \u9ed8\u8ba40, \u4e00\u822c\u4e0d\u9700\u8981\u8bbe\u7f6e\nint \u5f53\u5e7f\u64ad\u6a21\u5f0f\u4e3a\"\u5b9a\u5411\u8fde\u63a5\"\u65f6,\u662f\u5426\u4f7f\u7528\u9ad8\u5360\u7a7a\u6bd4\u6a21\u5f0f, \u9ed8\u8ba40, \u53ef\u90091\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n-- \u5f53\u524d\u4ec5ibeacon\u6a21\u5f0f/peripheral/\u4ece\u673a\u53ef\u4f7f\u7528\n-- \u4f8b\u5982\u8bbe\u7f6e \u4e0d\u53ef\u8fde\u63a5 + \u9650\u5236\u53d1\u73b0\n-- \u9700\u8981\u5728nimble.init\u4e4b\u524d\u8bbe\u7f6e\u597d\nnimble.advParams(0, 1)\n-- \u6ce8\u610fperipheral\u6a21\u5f0f\u4e0b\u81ea\u52a8\u914d\u7f6e conn_mode \u548c disc_mode\n", "prefix": "nimble.advParams"}, "nimble.setChr": {"body": "nimble.setChr(${1:index},${2:uuid},${3:flags})", "description": "nimble.setChr(index, uuid, flags) - \u8bbe\u7f6echr\u7684\u7279\u5f81\n\u4f20\u5165\u503c\uff1a\nint chr\u7684\u7d22\u5f15, \u9ed8\u8ba40-3\nint chr\u7684UUID, \u53ef\u4ee5\u662f2/4/16\u5b57\u8282\nint chr\u7684FLAGS, \u8bf7\u67e5\u9605\u5e38\u91cf\u8868\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n-- \u4ec5peripheral/\u4ece\u673a\u53ef\u4f7f\u7528\nnimble.setChr(0, string.fromHex(\"FF01\"), nimble.CHR_F_WRITE_NO_RSP | nimble.CHR_F_NOTIFY)\nnimble.setChr(1, string.fromHex(\"FF02\"), nimble.CHR_F_READ | nimble.CHR_F_NOTIFY)\nnimble.setChr(2, string.fromHex(\"FF03\"), nimble.CHR_F_WRITE_NO_RSP)\n-- \u53ef\u67e5\u9605 demo/nimble/kt6368a\n", "prefix": "nimble.setChr"}, "nimble.config": {"body": "nimble.config(${1:id},${2:value})", "description": "nimble.config(id, value) - \u8bbe\u7f6echr\u7684\u7279\u5f81\n\u4f20\u5165\u503c\uff1a\nint \u914d\u7f6e\u7684id,\u8bf7\u67e5\u9605\u5e38\u91cf\u8868\nany \u6839\u636e\u914d\u7f6e\u7684\u4e0d\u540c, \u6709\u4e0d\u540c\u7684\u53ef\u9009\u503c\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n-- \u672c\u51fd\u6570\u5728\u4efb\u610f\u6a21\u5f0f\u53ef\u7528\n-- \u672cAPI\u4e8e 2023.07.31 \u65b0\u589e\n-- \u4f8b\u5982\u8bbe\u7f6e\u5730\u5740\u8f6c\u6362\u7684\u5927\u5c0f\u7aef, \u9ed8\u8ba4\u662f0, \u517c\u5bb9\u8001\u7684\u4ee3\u7801\n-- \u8bbe\u7f6e\u62101, \u670d\u52a1UUID\u548cchr\u7684UUID\u66f4\u76f4\u89c2\nnimble.config(nimble.CFG_ADDR_ORDER, 1)\n", "prefix": "nimble.config"}, "nimble.ibeacon": {"body": "nimble.ibeacon(${1:data},${2:major},${3:minor},${4:measured_power})", "description": "nimble.ibeacon(data, major, minor, measured_power) - \u914d\u7f6eiBeacon\u7684\u53c2\u6570,\u4ec5iBeacon\u6a21\u5f0f\u53ef\u7528\n\u4f20\u5165\u503c\uff1a\nstring \u6570\u636e, \u5fc5\u987b\u662f16\u5b57\u8282\nint \u4e3b\u7248\u672c\u53f7,\u9ed8\u8ba42, \u53ef\u9009, \u8303\u56f4 0 ~ 65536\nint \u6b21\u7248\u672c\u53f7,\u9ed8\u8ba410,\u53ef\u9009, \u8303\u56f4 0 ~ 65536\nint \u540d\u4e49\u529f\u7387, \u9ed8\u8ba40, \u8303\u56f4 -126 \u5230 20 \n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- \u53c2\u8003 demo/nimble, 2023-02-25\u4e4b\u540e\u7f16\u8bd1\u7684\u56fa\u4ef6\u652f\u6301\u672cAPI\n-- \u672c\u51fd\u6570\u5bf9ibeacon\u6a21\u5f0f\u9002\u7528\nnimble.ibeacon(data, 2, 10, 0)\nnimble.init()\n", "prefix": "nimble.ibeacon"}, "nimble.advData": {"body": "nimble.advData(${1:data},${2:flags})", "description": "nimble.advData(data, flags) - \u914d\u7f6e\u5e7f\u64ad\u6570\u636e,\u4ec5iBeacon\u6a21\u5f0f\u53ef\u7528\n\u4f20\u5165\u503c\uff1a\nstring \u5e7f\u64ad\u6570\u636e, \u5f53\u524d\u6700\u9ad8128\u5b57\u8282\nint \u5e7f\u64ad\u6807\u8bc6, \u53ef\u9009, \u9ed8\u8ba4\u503c\u662f 0x06,\u5373 \u4e0d\u652f\u6301\u4f20\u7edf\u84dd\u7259(0x04) + \u666e\u901a\u53d1\u73b0\u6a21\u5f0f(0x02)\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- \u53c2\u8003 demo/nimble/adv_free, 2023-03-18\u4e4b\u540e\u7f16\u8bd1\u7684\u56fa\u4ef6\u652f\u6301\u672cAPI\n-- \u672c\u51fd\u6570\u5bf9ibeacon\u6a21\u5f0f\u9002\u7528\n-- \u6570\u636e\u6765\u6e90\u53ef\u4ee5\u591a\u79cd\u591a\u6837\nlocal data = string.fromHex(\"123487651234876512348765123487651234876512348765\")\n-- local data = crypto.trng(25)\n-- local data = string.char(0x11, 0x13, 0xA3, 0x5A, 0x11, 0x13, 0xA3, 0x5A, 0x11, 0x13, 0xA3, 0x5A, 0x11, 0x13, 0xA3, 0x5A)\nnimble.advData(data)\nnimble.init()\n\n-- nimble\u652f\u6301\u5728init\u4e4b\u540e\u7684\u4efb\u610f\u65f6\u523b\u518d\u6b21\u8c03\u7528, \u4ee5\u5b9e\u73b0\u6570\u636e\u66f4\u65b0\n-- \u4f8b\u5982 1\u5206\u949f\u53d8\u4e00\u6b21\nwhile 1 do\n sys.wait(60000)\n local data = crypto.trng(25)\n nimble.advData(data)\nend\n", "prefix": "nimble.advData"}, "nimble.scan": {"body": "nimble.scan(${1:timeout})", "description": "nimble.scan(timeout) - \u626b\u63cf\u4ece\u673a\n\u4f20\u5165\u503c\uff1a\nint \u8d85\u65f6\u65f6\u95f4,\u5355\u4f4d\u79d2,\u9ed8\u8ba428\u79d2\n\u8fd4\u56de\u503c\uff1a\nbool \u542f\u52a8\u626b\u63cf\u6210\u529f\u4e0e\u5426\n\u4f8b\u5b50\uff1a\n-- \u53c2\u8003 demo/nimble/scan\n-- \u672c\u51fd\u6570\u5bf9central/\u4e3b\u673a\u6a21\u5f0f\u9002\u7528\n-- \u672c\u51fd\u6570\u4f1a\u76f4\u63a5\u8fd4\u56de, \u7136\u540e\u901a\u8fc7\u5f02\u6b65\u56de\u8c03\u8fd4\u56de\u7ed3\u679c\n\n-- \u8c03\u7528\u672c\u51fd\u6570\u524d, \u9700\u8981\u5148\u786e\u4fdd\u5df2\u7ecfnimble.init()\nnimble.scan()\n-- timeout\u53c2\u6570\u4e8e 2023.7.11 \u6dfb\u52a0\n", "prefix": "nimble.scan"}, "nimble.connect": {"body": "nimble.connect(${1:mac})", "description": "nimble.connect(mac) - \u8fde\u63a5\u5230\u4ece\u673a\n\u4f20\u5165\u503c\uff1a\nstring \u8bbe\u5907\u7684MAC\u5730\u5740\n\u8fd4\u56de\u503c\uff1a\nbool \u542f\u52a8\u8fde\u63a5\u6210\u529f\u4e0e\u5426\n\u4f8b\u5b50\uff1a\n-- \u672c\u51fd\u6570\u5bf9central/\u4e3b\u673a\u6a21\u5f0f\u9002\u7528\n-- \u672c\u51fd\u6570\u4f1a\u76f4\u63a5\u8fd4\u56de, \u7136\u540e\u901a\u8fc7\u5f02\u6b65\u56de\u8c03\u8fd4\u56de\u7ed3\u679c\n", "prefix": "nimble.connect"}, "nimble.disconnect": {"body": "nimble.disconnect()", "description": "nimble.disconnect() - \u65ad\u5f00\u4e0e\u4ece\u673a\u7684\u8fde\u63a5\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n-- \u672c\u51fd\u6570\u5bf9central/\u4e3b\u673a\u6a21\u5f0f\u9002\u7528\n-- \u672c\u51fd\u6570\u4f1a\u76f4\u63a5\u8fd4\u56de\n", "prefix": "nimble.disconnect"}, "nimble.discSvr": {"body": "nimble.discSvr()", "description": "nimble.discSvr() - \u626b\u63cf\u4ece\u673a\u7684\u670d\u52a1\u5217\u8868\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n-- \u672c\u51fd\u6570\u5bf9central/\u4e3b\u673a\u6a21\u5f0f\u9002\u7528\n-- \u672c\u51fd\u6570\u4f1a\u76f4\u63a5\u8fd4\u56de,\u7136\u540e\u5f02\u6b65\u8fd4\u56de\u7ed3\u679c\n-- \u8fd9\u4e2aAPI\u901a\u5e38\u4e0d\u9700\u8981\u8c03\u7528, \u5728\u8fde\u63a5\u4ece\u673a\u5b8c\u6210\u540e,\u4f1a\u4e3b\u52a8\u8c03\u7528\u4e00\u6b21\n", "prefix": "nimble.discSvr"}, "nimble.listSvr": {"body": "nimble.listSvr()", "description": "nimble.listSvr() - \u83b7\u53d6\u4ece\u673a\u7684\u670d\u52a1\u5217\u8868\n\u8fd4\u56de\u503c\uff1a\ntable \u670d\u52a1UUID\u7684\u6570\u7ec4\n\u4f8b\u5b50\uff1a\n-- \u672c\u51fd\u6570\u5bf9central/\u4e3b\u673a\u6a21\u5f0f\u9002\u7528\n", "prefix": "nimble.listSvr"}, "nimble.discChr": {"body": "nimble.discChr(${1:svr_uuid})", "description": "nimble.discChr(svr_uuid) - \u626b\u63cf\u4ece\u673a\u7684\u6307\u5b9a\u670d\u52a1\u7684\u7279\u5f81\u503c\n\u4f20\u5165\u503c\uff1a\nstring \u6307\u5b9a\u670d\u52a1\u7684UUID\u503c\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u542f\u52a8\u626b\u63cf\u4e0e\u5426\n\u4f8b\u5b50\uff1a\n-- \u672c\u51fd\u6570\u5bf9central/\u4e3b\u673a\u6a21\u5f0f\u9002\u7528\n", "prefix": "nimble.discChr"}, "nimble.listChr": {"body": "nimble.listChr(${1:svr_uuid})", "description": "nimble.listChr(svr_uuid) - \u83b7\u53d6\u4ece\u673a\u7684\u6307\u5b9a\u670d\u52a1\u7684\u7279\u5f81\u503c\u5217\u8868\n\u4f20\u5165\u503c\uff1a\nstring \u6307\u5b9a\u670d\u52a1\u7684UUID\u503c\n\u8fd4\u56de\u503c\uff1a\ntable \u7279\u5f81\u503c\u5217\u8868,\u5305\u542bUUID\u548cflags\n\u4f8b\u5b50\uff1a\n-- \u672c\u51fd\u6570\u5bf9central/\u4e3b\u673a\u6a21\u5f0f\u9002\u7528\n", "prefix": "nimble.listChr"}, "nimble.discDsc": {"body": "nimble.discDsc(${1:svr_uuid},${2:chr_uuid})", "description": "nimble.discDsc(svr_uuid, chr_uuid) - \u626b\u63cf\u4ece\u673a\u7684\u6307\u5b9a\u670d\u52a1\u7684\u7279\u5f81\u503c\u7684\u5176\u4ed6\u5c5e\u6027\n\u4f20\u5165\u503c\uff1a\nstring \u6307\u5b9a\u670d\u52a1\u7684UUID\u503c\nstring \u7279\u5f81\u503c\u7684UUID\u503c\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u542f\u52a8\u626b\u63cf\u4e0e\u5426\n\u4f8b\u5b50\uff1a\n-- \u672c\u51fd\u6570\u5bf9central/\u4e3b\u673a\u6a21\u5f0f\u9002\u7528\n", "prefix": "nimble.discDsc"}, "nimble.writeChr": {"body": "nimble.writeChr(${1:svr_uuid},${2:chr_uuid})", "description": "nimble.writeChr(svr_uuid, chr_uuid) - \u4ece\u6307\u5b9a\u7684\u670d\u52a1\u7684\u6307\u5b9a\u7279\u5f81\u503c\u8bfb\u53d6\u6570\u636e(\u5f02\u6b65)\n\u4f20\u5165\u503c\uff1a\nstring \u6307\u5b9a\u670d\u52a1\u7684UUID\u503c\nstring \u6307\u5b9a\u7279\u5f81\u503c\u7684UUID\u503c\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u542f\u52a8\u5199\u5165\u4e0e\u5426\n\u4f8b\u5b50\uff1a\n-- \u672c\u51fd\u6570\u5bf9central/\u4e3b\u673a\u6a21\u5f0f\u9002\u7528\n-- \u8be6\u7ec6\u7528\u6cd5\u8bf7\u53c2\u6570 demo/nimble/central\n", "prefix": "nimble.writeChr"}, "nimble.subChr": {"body": "nimble.subChr(${1:svr_uuid},${2:chr_uuid})", "description": "nimble.subChr(svr_uuid, chr_uuid) - \u8ba2\u9605\u6307\u5b9a\u7684\u670d\u52a1\u7684\u6307\u5b9a\u7279\u5f81\u503c\n\u4f20\u5165\u503c\uff1a\nstring \u6307\u5b9a\u670d\u52a1\u7684UUID\u503c\nstring \u6307\u5b9a\u7279\u5f81\u503c\u7684UUID\u503c\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u542f\u52a8\u8ba2\u9605\u4e0e\u5426\n\u4f8b\u5b50\uff1a\n-- \u672c\u51fd\u6570\u5bf9central/\u4e3b\u673a\u6a21\u5f0f\u9002\u7528\n-- \u8be6\u7ec6\u7528\u6cd5\u8bf7\u53c2\u6570 demo/nimble/central\n", "prefix": "nimble.subChr"}, "nimble.unsubChr": {"body": "nimble.unsubChr(${1:svr_uuid},${2:chr_uuid})", "description": "nimble.unsubChr(svr_uuid, chr_uuid) - \u53d6\u6d88\u8ba2\u9605\u6307\u5b9a\u7684\u670d\u52a1\u7684\u6307\u5b9a\u7279\u5f81\u503c\n\u4f20\u5165\u503c\uff1a\nstring \u6307\u5b9a\u670d\u52a1\u7684UUID\u503c\nstring \u6307\u5b9a\u7279\u5f81\u503c\u7684UUID\u503c\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u542f\u52a8\u53d6\u6d88\u8ba2\u9605\u4e0e\u5426\n\u4f8b\u5b50\uff1a\n-- \u672c\u51fd\u6570\u5bf9central/\u4e3b\u673a\u6a21\u5f0f\u9002\u7528\n-- \u8be6\u7ec6\u7528\u6cd5\u8bf7\u53c2\u6570 demo/nimble/central\n", "prefix": "nimble.unsubChr"}, "otp.read": {"body": "otp.read(${1:zone},${2:offset},${3:len})", "description": "otp.read(zone, offset, len) - \u8bfb\u53d6\u6307\u5b9aOTP\u533a\u57df\u8bfb\u53d6\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nint \u533a\u57df, \u901a\u5e38\u4e3a0/1/2/3, \u4e0e\u5177\u4f53\u786c\u4ef6\u76f8\u5173\nint \u504f\u79fb\u91cf\nint \u8bfb\u53d6\u957f\u5ea6, \u5355\u4f4d\u5b57\u8282, \u5fc5\u987b\u662f4\u7684\u500d\u6570, \u4e0d\u80fd\u8d85\u8fc74096\u5b57\u8282\n\u8fd4\u56de\u503c\uff1a\nstring \u6210\u529f\u8fd4\u56de\u5b57\u7b26\u4e32, \u5426\u5219\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\n\nlocal otpdata = otp.read(0, 0, 64)\nif otpdata then\n log.info(\"otp\", otpdata:toHex())\nend\n", "prefix": "otp.read"}, "otp.write": {"body": "otp.write(${1:zone},${2:data},${3:offset})", "description": "otp.write(zone, data, offset) - \u5f80\u6307\u5b9aOTP\u533a\u57df\u5199\u5165\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nint \u533a\u57df, \u901a\u5e38\u4e3a0/1/2/3, \u4e0e\u5177\u4f53\u786c\u4ef6\u76f8\u5173\nstring \u6570\u636e, \u957f\u5ea6\u5fc5\u987b\u662f4\u4e2a\u500d\u6570\nint \u504f\u79fb\u91cf\n\u8fd4\u56de\u503c\uff1a\nbooL \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n", "prefix": "otp.write"}, "otp.erase": {"body": "otp.erase(${1:zone})", "description": "otp.erase(zone) - \u64e6\u9664\u6307\u5b9aOTP\u533a\u57df\n\u4f20\u5165\u503c\uff1a\nint \u533a\u57df, \u901a\u5e38\u4e3a0/1/2/3, \u4e0e\u5177\u4f53\u786c\u4ef6\u76f8\u5173\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n", "prefix": "otp.erase"}, "otp.lock": {"body": "otp.lock(${1:zone})", "description": "otp.lock(zone) - \u9501\u5b9aOTP\u533a\u57df. \u7279\u522b\u6ce8\u610f!!\u4e00\u65e6\u52a0\u9501\u5373\u65e0\u6cd5\u89e3\u9501,OTP\u53d8\u6210\u53ea\u8bfb!!!\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n", "prefix": "otp.lock"}, "pack.unpack": {"body": "pack.unpack(${1:string},${2:format},${3:init})", "description": "pack.unpack( string, format, init) - \u89e3\u5305\u5b57\u7b26\u4e32\n\u4f20\u5165\u503c\uff1a\nstring \u9700\u89e3\u5305\u7684\u5b57\u7b26\u4e32\nstring \u683c\u5f0f\u5316\u7b26\u53f7 '<':\u8bbe\u4e3a\u5c0f\u7aef\u7f16\u7801 '>':\u8bbe\u4e3a\u5927\u7aef\u7f16\u7801 '=':\u5927\u5c0f\u7aef\u9075\u5faa\u672c\u5730\u8bbe\u7f6e 'z':\u7a7a\u5b57\u7b26\u4e32 'p':byte\u5b57\u7b26\u4e32 'P':word\u5b57\u7b26\u4e32 'a':size_t\u5b57\u7b26\u4e32 'A':\u6307\u5b9a\u957f\u5ea6\u5b57\u7b26\u4e32 'f':float 'd':double 'n':Lua number 'c':char 'b':byte = unsigned char 'h':short 'H':unsigned short 'i':int 'I':unsigned int 'l':long 'L':unsigned long\nint \u9ed8\u8ba4\u503c\u4e3a1\uff0c\u6807\u8bb0\u89e3\u5305\u5f00\u59cb\u7684\u4f4d\u7f6e\n\u8fd4\u56de\u503c\uff1a\nint \u5b57\u7b26\u4e32\u6807\u8bb0\u7684\u4f4d\u7f6e\nany \u7b2c\u4e00\u4e2a\u89e3\u5305\u7684\u503c, \u6839\u636eformat\u503c,\u53ef\u80fd\u6709N\u4e2a\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\nlocal _,a = pack.unpack(x,\">h\") --\u89e3\u5305\u6210short (2\u5b57\u8282)\n", "prefix": "pack.unpack"}, "pack.pack": {"body": "pack.pack(${1:format},${2:val1},${3:val2},${4:val3},${5:valn})", "description": "pack.pack( format, val1, val2, val3, valn ) - \u6253\u5305\u5b57\u7b26\u4e32\u7684\u503c\n\u4f20\u5165\u503c\uff1a\nstring format \u683c\u5f0f\u5316\u7b26\u53f7 '<':\u8bbe\u4e3a\u5c0f\u7aef\u7f16\u7801 '>':\u8bbe\u4e3a\u5927\u7aef\u7f16\u7801 '=':\u5927\u5c0f\u7aef\u9075\u5faa\u672c\u5730\u8bbe\u7f6e 'z':\u7a7a\u5b57\u7b26\u4e32 'p':byte\u5b57\u7b26\u4e32 'P':word\u5b57\u7b26\u4e32 'a':size_t\u5b57\u7b26\u4e32 'A':\u6307\u5b9a\u957f\u5ea6\u5b57\u7b26\u4e32 'f':float 'd':double 'n':Lua number 'c':char 'b':byte = unsigned char 'h':short 'H':unsigned short 'i':int 'I':unsigned int 'l':long 'L':unsigned long\nany \u7b2c\u4e00\u4e2a\u9700\u6253\u5305\u7684\u503c\nany \u7b2c\u4e8c\u4e2a\u9700\u6253\u5305\u7684\u503c\nany \u7b2c\u4e8c\u4e2a\u9700\u6253\u5305\u7684\u503c\nany \u7b2cn\u4e2a\u9700\u6253\u5305\u7684\u503c\n\u8fd4\u56de\u503c\uff1a\nstring \u4e00\u4e2a\u5305\u542b\u6240\u6709\u683c\u5f0f\u5316\u53d8\u91cf\u7684\u5b57\u7b26\u4e32\n\u4f8b\u5b50\uff1a\nlocal data = pack.pack('=0 \u662f\u672c\u6b21\u5b9a\u65f6\u5524\u9192\u7684\u5b9a\u65f6\u5668ID\uff0c\u5176\u4ed6\u9519\u8bef\uff0c\u8bf4\u660e\u4e0d\u662f\u5b9a\u65f6\u5524\u9192\u7684\n\u4f8b\u5b50\uff1a\nlocal timer_id = pm.dtimerWkId()\n", "prefix": "dtimerWkId"}, "pm.lastReson": {"body": "pm.lastReson()", "description": "pm.lastReson() - \u5f00\u673a\u539f\u56e0,\u7528\u4e8e\u5224\u65ad\u662f\u4ece\u4f11\u7720\u6a21\u5757\u5f00\u673a,\u8fd8\u662f\u7535\u6e90/\u590d\u4f4d\u5f00\u673a\n\u8fd4\u56de\u503c\uff1a\nint 0-\u4e0a\u7535/\u590d\u4f4d\u5f00\u673a, 1-RTC\u5f00\u673a, 2-WakeupIn/Pad/IO\u5f00\u673a, 3-Wakeup/RTC\u5f00\u673a\nint 0-\u666e\u901a\u5f00\u673a(\u4e0a\u7535/\u590d\u4f4d),3-\u6df1\u7761\u7720\u5f00\u673a,4-\u4f11\u7720\u5f00\u673a\nint \u590d\u4f4d\u5f00\u673a\u8be6\u7ec6\u539f\u56e0\uff1a0-powerkey\u6216\u8005\u4e0a\u7535\u5f00\u673a 1-\u5145\u7535\u6216\u8005AT\u6307\u4ee4\u4e0b\u8f7d\u5b8c\u6210\u540e\u5f00\u673a 2-\u95f9\u949f\u5f00\u673a 3-\u8f6f\u4ef6\u91cd\u542f 4-\u672a\u77e5\u539f\u56e0 5-RESET\u952e 6-\u5f02\u5e38\u91cd\u542f 7-\u5de5\u5177\u63a7\u5236\u91cd\u542f 8-\u5185\u90e8\u770b\u95e8\u72d7\u91cd\u542f 9-\u5916\u90e8\u91cd\u542f 10-\u5145\u7535\u5f00\u673a\n\u4f8b\u5b50\uff1a\n-- \u662f\u54ea\u79cd\u65b9\u5f0f\u5f00\u673a\u5462\nlog.info(\"pm\", \"last power reson\", pm.lastReson())\n", "prefix": "pm.lastReson"}, "pm.force": {"body": "pm.force(${1:mode})", "description": "pm.force(mode) - \u5f3a\u5236\u8fdb\u5165\u6307\u5b9a\u7684\u4f11\u7720\u6a21\u5f0f\uff0c\u5ffd\u7565\u67d0\u4e9b\u5916\u8bbe\u7684\u5f71\u54cd\uff0c\u6bd4\u5982USB\n\u4f20\u5165\u503c\uff1a\nint \u4f11\u7720\u6a21\u5f0f\n\u8fd4\u56de\u503c\uff1a\nboolean \u5904\u7406\u7ed3\u679c,\u82e5\u8fd4\u56de\u6210\u529f,\u5927\u6982\u7387\u4f1a\u9a6c\u4e0a\u8fdb\u5165\u8be5\u4f11\u7720\u6a21\u5f0f\n\u4f8b\u5b50\uff1a\n-- \u8bf7\u6c42\u8fdb\u5165\u4f11\u7720\u6a21\u5f0f\npm.force(pm.HIB)\n-- \u5bf9\u5e94EC618\u7cfb\u5217(Air780E/Air700E\u7b49), \u8be5\u64cd\u4f5c\u4f1a\u5173\u95edUSB\u901a\u4fe1\n-- \u5524\u9192\u540e\u5982\u9700\u5f00\u542fUSB, \u8bf7\u6253\u5f00USB\u7535\u538b\n--pm.power(pm.USB, true)\n", "prefix": "pm.force"}, "pm.check": {"body": "pm.check()", "description": "pm.check() - \u68c0\u67e5\u4f11\u7720\u72b6\u6001\n\u8fd4\u56de\u503c\uff1a\nboolean \u5904\u7406\u7ed3\u679c,\u5982\u679c\u80fd\u987a\u5229\u8fdb\u5165\u4f11\u7720,\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\nint \u5e95\u5c42\u8fd4\u56de\u503c,0\u4ee3\u8868\u80fd\u8fdb\u5165\u6700\u5e95\u5c42\u4f11\u7720,\u5176\u4ed6\u503c\u4ee3\u8868\u6700\u4f4e\u53ef\u4f11\u7720\u7ea7\u522b\n\u4f8b\u5b50\uff1a\n-- \u8bf7\u6c42\u8fdb\u5165\u4f11\u7720\u6a21\u5f0f,\u7136\u540e\u68c0\u67e5\u662f\u5426\u80fd\u771f\u7684\u4f11\u7720\npm.request(pm.HIB)\nif pm.check() then\n log.info(\"pm\", \"it is ok to hib\")\nelse\n -- \u5bf9\u5e94EC618\u7cfb\u5217(Air780E/Air700E\u7b49), \u8be5\u64cd\u4f5c\u4f1a\u5173\u95edUSB\u901a\u4fe1\n pm.force(pm.HIB) -- \u5f3a\u5236\u4f11\u7720\n -- \u5524\u9192\u540e\u5982\u9700\u5f00\u542fUSB, \u8bf7\u6253\u5f00USB\u7535\u538b\n --sys.wait(100)\n --pm.power(pm.USB, true)\nend\n", "prefix": "pm.check"}, "pm.shutdown": {"body": "pm.shutdown()", "description": "pm.shutdown() - \u5173\u673a\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n-- \u5f53\u524d\u4ec5EC618\u7cfb\u5217(Air780E/Air600E/Air700E/Air780EG\u652f\u6301)\n-- \u9700\u89812022-12-22\u4e4b\u540e\u7f16\u8bd1\u7684\u56fa\u4ef6\npm.shutdown()\n", "prefix": "pm.shutdown"}, "pm.reboot": {"body": "pm.reboot()", "description": "pm.reboot() - \u91cd\u542f\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n", "prefix": "pm.reboot"}, "pm.power": {"body": "pm.power(${1:id},${2:onoff})", "description": "pm.power(id, onoff) - \u5f00\u542f\u5185\u90e8\u7684\u7535\u6e90\u63a7\u5236\uff0c\u6ce8\u610f\u4e0d\u662f\u6240\u6709\u7684\u5e73\u53f0\u90fd\u652f\u6301\uff0c\u53ef\u80fd\u90e8\u5206\u5e73\u53f0\u652f\u6301\u90e8\u5206\u9009\u9879\uff0c\u770b\u786c\u4ef6\n\u4f20\u5165\u503c\uff1a\nint \u7535\u6e90\u63a7\u5236id,pm.USB pm.GPS\u4e4b\u7c7b\nboolean or int \u5f00\u5173true/1\u5f00\uff0cfalse/0\u5173\uff0c\u9ed8\u8ba4\u5173\uff0c\u90e8\u5206\u9009\u9879\u652f\u6301\u6570\u503c\n\u8fd4\u56de\u503c\uff1a\nboolean \u5904\u7406\u7ed3\u679ctrue\u6210\u529f\uff0cfalse\u5931\u8d25\n\u4f8b\u5b50\uff1a\n-- \u5173\u95edUSB\u7535\u6e90, \u53cd\u4e4b\u5f00\u542f\u5c31\u662f\u4f20true\npm.power(pm.USB, false) \n\n-- Air780EG,\u4e3a\u5185\u7f6e\u7684GPS\u82af\u7247\u4e0a\u7535. \u6ce8\u610f, Air780EG\u7684GPS\u548cGPS_ANT\u662f\u4e00\u8d77\u63a7\u5236\u7684,\u6240\u4ee5\u5408\u5e76\u4e86.\npm.power(pm.GPS, true)\n\n-- EC618\u7cfb\u5217\u5f00\u542fpwrkey\u5f00\u673a\u9632\u6296\n-- \u6ce8\u610f: \u5f00\u542f\u540e, \u590d\u4f4d\u952e\u5c31\u53d8\u6210\u5173\u673a\u4e86!!! pwrkey\u8981\u957f\u63092\u79d2\u624d\u80fd\u5f00\u673a\n-- pm.power(pm.PWK_MODE, true)\n\n-- EC618\u7cfb\u5217PSM+\u4f4e\u529f\u8017\u8bbe\u7f6e\n-- ec618\u7684\u8282\u80fd\u6a21\u5f0f\uff0c0~3\uff0c0\u5b8c\u5168\u5173\u95ed\uff0c1\u6027\u80fd\u4f18\u5148\uff0c2\u5e73\u8861\uff0c3\u6781\u81f4\u529f\u8017\n-- \u8be6\u60c5\u8bbf\u95ee: https://airpsm.cn\n-- pm.power(pm.WORK_MODE, 1)\n", "prefix": "pm.power"}, "pm.ioVol": {"body": "pm.ioVol(${1:id},${2:val})", "description": "pm.ioVol(id, val) - IO\u9ad8\u7535\u5e73\u7535\u538b\u63a7\u5236,\u5f53\u524d\u4ec5EC618\u7cfb\u5217\u53ef\u7528\n\u4f20\u5165\u503c\uff1a\nint \u7535\u5e73id,\u76ee\u524d\u53ea\u6709pm.IOVOL_ALL_GPIO\nint \u7535\u5e73\u503c,\u5355\u4f4d\u6beb\u4f0f\n\u8fd4\u56de\u503c\uff1a\nboolean \u5904\u7406\u7ed3\u679ctrue\u6210\u529f\uff0cfalse\u5931\u8d25\n\u4f8b\u5b50\uff1a\n-- EC618\u7cfb\u5217\u8bbe\u7f6eIO\u7535\u5e73, \u8303\u56f4 1650 ~ 2000\uff0c2650~3400 , \u5355\u4f4d\u6beb\u4f0f, \u6b65\u8fdb50mv\n-- \u4f8b\u5982Air780E/Air600E/Air700E/Air780EG\n-- \u6ce8\u610f, \u8fd9\u91cc\u7684\u8bbe\u7f6e\u4f18\u5148\u7ea7\u4f1a\u9ad8\u4e8e\u786c\u4ef6IOSEL\u811a\u7684\u914d\u7f6e\n-- \u4f46\u5f00\u673a\u65f6\u4f9d\u7136\u5148\u4f7f\u7528\u786c\u4ef6\u914d\u7f6e,\u76f4\u81f3\u8c03\u7528\u672cAPI\u8fdb\u884c\u914d\u7f6e, \u6240\u4ee5io\u7535\u5e73\u4f1a\u53d8\u5316\n-- pm.ioVol(pm.IOVOL_ALL_GPIO, 3300) -- \u6240\u6709GPIO\u9ad8\u7535\u5e73\u8f93\u51fa3.3V\n-- pm.ioVol(pm.IOVOL_ALL_GPIO, 1800) -- \u6240\u6709GPIO\u9ad8\u7535\u5e73\u8f93\u51fa1.8V\n", "prefix": "pm.ioVol"}, "pm.wakeupPin": {"body": "pm.wakeupPin(${1:pin},${2:level})", "description": "pm.wakeupPin(pin,level) - \u914d\u7f6e\u5524\u9192\u5f15\u811a (\u5f53\u524d\u4ec5\u4ec5esp\u7cfb\u5217\u53ef\u7528)\n\u4f20\u5165\u503c\uff1a\nint/table gpio\u5f15\u811a\nint \u5524\u9192\u7535\u538b \u53ef\u9009,\u9ed8\u8ba4\u4f4e\u7535\u5e73\u5524\u9192\n\u8fd4\u56de\u503c\uff1a\nboolean \u5904\u7406\u7ed3\u679c\n\u4f8b\u5b50\uff1a\npm.wakeupPin(8,0)\n", "prefix": "pm.wakeupPin"}, "protobuf.load": {"body": "protobuf.load(${1:pbdata})", "description": "protobuf.load(pbdata) - \u52a0\u8f7dpb\u4e8c\u8fdb\u5236\u5b9a\u4e49\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nstring \u901a\u8fc7protoc.exe\u7a0b\u5e8f\u8f6c\u6362\u5f97\u5230\u7684\u6570\u636e,\u901a\u5e38\u4ece\u6587\u4ef6\u8bfb\u53d6\u5f97\u5230\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u4e0e\u5426\nint \u8bfb\u53d6\u4e86\u591a\u957f, \u8c03\u8bd5\u7528\n\u4f8b\u5b50\uff1a\n-- \u6ce8\u610f, \u540c\u4e00\u4e2a\u6587\u4ef6\u53ea\u9700\u8981\u52a0\u8f7d\u4e00\u6b21, \u9664\u975e\u8c03\u7528\u8fc7protobuf.clear()\nprotobuf.load(io.readFile(\"/luadb/person.pb\"))\n", "prefix": "protobuf.load"}, "protobuf.clear": {"body": "protobuf.clear()", "description": "protobuf.clear() - \u6e05\u9664\u5df2\u52a0\u8f7d\u7684\u4e8c\u8fdb\u5236\u5b9a\u4e49\u6570\u636e\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c, \u603b\u662f\u6210\u529f\n\u4f8b\u5b50\uff1a\n-- \u6e05\u9664\u6240\u6709\u5df2\u52a0\u8f7d\u7684\u5b9a\u4e49\u6570\u636e\nprotobuf.clear()\n", "prefix": "protobuf.clear"}, "protobuf.encode": {"body": "protobuf.encode(${1:tpname},${2:data})", "description": "protobuf.encode(tpname, data) - \u7f16\u7801protobuffs\u6570\u636e\u5305\n\u4f20\u5165\u503c\uff1a\nstring \u6570\u636e\u7c7b\u578b\u540d\u79f0, \u5b9a\u4e49\u5728pb\u6587\u4ef6\u4e2d, \u7531protobuf.load\u52a0\u8f7d\ntable \u5f85\u7f16\u7801\u6570\u636e, \u5fc5\u987b\u662ftable, \u5185\u5bb9\u7b26\u5408pb\u6587\u4ef6\u91cc\u7684\u5b9a\u4e49\n\u8fd4\u56de\u503c\uff1a\nstring \u7f16\u7801\u540e\u7684\u6570\u636e,\u82e5\u5931\u8d25\u4f1a\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\n-- \u6570\u636e\u7f16\u7801\nlocal tb = {\n name = \"wendal\"\n}\nlocal pbdata = protobuf.encode(\"Person\", tb)\nif pbdata then\n -- \u6ce8\u610f, \u7f16\u7801\u540e\u7684\u6570\u636e\u901a\u5e38\u5e26\u4e0d\u53ef\u89c1\u5b57\u7b26\n log.info(\"protobuf\", #pbdata, pbdata:toHex())\nend\n", "prefix": "protobuf.encode"}, "protobuf.decode": {"body": "protobuf.decode(${1:tpname},${2:data})", "description": "protobuf.decode(tpname, data) - \u89e3\u7801protobuffs\u6570\u636e\u5305\n\u4f20\u5165\u503c\uff1a\nstring \u6570\u636e\u7c7b\u578b\u540d\u79f0, \u5b9a\u4e49\u5728pb\u6587\u4ef6\u4e2d, \u7531protobuf.load\u52a0\u8f7d\nstring \u5f85\u7f16\u7801\u6570\u636e\n\u8fd4\u56de\u503c\uff1a\ntable \u89e3\u7801\u540e\u7684\u6570\u636e\n\u4f8b\u5b50\uff1a\n-- \u6570\u636e\u7f16\u7801\nlocal tb = {\n name = \"wendal\"\n}\nlocal pbdata = protobuf.encode(\"Person\", tb)\nif pbdata then\n -- \u6ce8\u610f, \u7f16\u7801\u540e\u7684\u6570\u636e\u901a\u5e38\u5e26\u4e0d\u53ef\u89c1\u5b57\u7b26\n log.info(\"protobuf\", #pbdata, pbdata:toHex())\nend\n", "prefix": "protobuf.decode"}, "pwm.open": {"body": "pwm.open(${1:channel},${2:period},${3:pulse},${4:pnum},${5:precision})", "description": "pwm.open(channel, period, pulse, pnum, precision) - \u5f00\u542f\u6307\u5b9a\u7684PWM\u901a\u9053\n\u4f20\u5165\u503c\uff1a\nint PWM\u901a\u9053\nint \u9891\u7387, 1-1000000hz\nint \u5360\u7a7a\u6bd4 0-\u5206\u9891\u7cbe\u5ea6\nint \u8f93\u51fa\u5468\u671f 0\u4e3a\u6301\u7eed\u8f93\u51fa, 1\u4e3a\u5355\u6b21\u8f93\u51fa, \u5176\u4ed6\u4e3a\u6307\u5b9a\u8109\u51b2\u6570\u8f93\u51fa\nint \u5206\u9891\u7cbe\u5ea6, 100/256/1000, \u9ed8\u8ba4\u4e3a100, \u82e5\u8bbe\u5907\u4e0d\u652f\u6301\u4f1a\u6709\u65e5\u5fd7\u63d0\u793a\n\u8fd4\u56de\u503c\uff1a\nboolean \u5904\u7406\u7ed3\u679c,\u6210\u529f\u8fd4\u56detrue,\u5931\u8d25\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- \u6253\u5f00PWM5, \u9891\u73871kHz, \u5360\u7a7a\u6bd450%\npwm.open(5, 1000, 50)\n-- \u6253\u5f00PWM5, \u9891\u738710kHz, \u5206\u9891\u4e3a 31/256\npwm.open(5, 10000, 31, 0, 256)\n", "prefix": "pwm.open"}, "pwm.close": {"body": "pwm.close(${1:channel})", "description": "pwm.close(channel) - \u5173\u95ed\u6307\u5b9a\u7684PWM\u901a\u9053\n\u4f20\u5165\u503c\uff1a\nint PWM\u901a\u9053\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u5904\u7406\u7ed3\u679c\n\u4f8b\u5b50\uff1a\n-- \u5173\u95edPWM5\npwm.close(5)\n", "prefix": "pwm.close"}, "pwm.capture": {"body": "pwm.capture(${1:channel})", "description": "pwm.capture(channel) - PWM\u6355\u83b7\n\u4f20\u5165\u503c\uff1a\nint PWM\u901a\u9053\nint \u6355\u83b7\u9891\u7387\n\u8fd4\u56de\u503c\uff1a\nboolean \u5904\u7406\u7ed3\u679c,\u6210\u529f\u8fd4\u56detrue,\u5931\u8d25\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- PWM0\u6355\u83b7\nwhile 1 do\n pwm.capture(0,1000)\n local ret,channel,pulse,pwmH,pwmL = sys.waitUntil(\"PWM_CAPTURE\", 2000)\n if ret then\n log.info(\"PWM_CAPTURE\",\"channel\"..channel,\"pulse\"..pulse,\"pwmH\"..pwmH,\"pwmL\"..pwmL)\n end\nend\n", "prefix": "pwm.capture"}, "repl.enable": {"body": "repl.enable(${1:re})", "description": "repl.enable(re) - \u542f\u7528\u6216\u7981\u7528REPL\u529f\u80fd\n\u4f20\u5165\u503c\uff1a\nbool \u542f\u7528\u4e0e\u5426,\u9ed8\u8ba4\u662f\u542f\u7528\nreturn \u4e4b\u524d\u7684\u8bbe\u7f6e\u72b6\u6001\n\u4f8b\u5b50\uff1a\n-- \u82e5\u56fa\u4ef6\u652f\u6301REPL,\u5373\u7f16\u8bd1\u65f6\u542f\u7528\u4e86REPL,\u662f\u9ed8\u8ba4\u542f\u7528REPL\u529f\u80fd\u7684\n-- \u672c\u51fd\u6570\u662f\u63d0\u4f9b\u5173\u95edREPL\u7684\u9014\u5f84\nrepl.enable(false)\n", "prefix": "repl.enable"}, "repl.push": {"body": "repl.push(${1:data})", "description": "repl.push(data) - \u4e3b\u52a8\u63a8\u9001\u5f85\u5904\u7406\u7684\u6570\u636e\u5230\u5e95\u5c42\n\u4f20\u5165\u503c\uff1a\nstring \u5f85\u5904\u7406\u7684\u6570\u636e,\u901a\u5e38\u4ece\u4e32\u53e3\u6765\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n-- \u865a\u62df\u4e32\u53e3\u7684\u8bbe\u5907\u624d\u9700\u8981\u8fd9\u4e2a\u51fd\u6570\n", "prefix": "repl.push"}, "rsa.encrypt": {"body": "rsa.encrypt(${1:key},${2:data})", "description": "rsa.encrypt(key, data) - RSA\u52a0\u5bc6\n\u4f20\u5165\u503c\uff1a\nstring \u516c\u94a5\u6570\u636e,\u4ec5\u652f\u6301PEM\u683c\u5f0f\nstring \u5f85\u52a0\u5bc6\u6570\u636e, \u4e0d\u80fd\u8d85\u8fc7\u516c\u94a5\u4f4d\u6570\u7684\u4e00\u534a, \u4f8b\u5982 2048bit\u7684\u516c\u94a5, \u53ea\u80fd\u52a0\u5bc6128\u5b57\u8282\u7684\u6570\u636e\n\u8fd4\u56de\u503c\uff1a\nstring \u52a0\u5bc6\u6210\u529f\u540e\u7684\u6570\u636e,\u82e5\u5931\u8d25\u4f1a\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\n-- \u4e0b\u9762\u4ee3\u7801\u4e2d\u7684 \"abc\" \u662f\u5f85\u52a0\u5bc6\u6570\u636e\nlocal res = rsa.encrypt((io.readFile(\"/luadb/public.pem\")), \"abc\")\n-- \u6253\u5370\u7ed3\u679c\nlog.info(\"rsa\", \"encrypt\", res and #res or 0, res and res:toHex() or \"\")\n", "prefix": "rsa.encrypt"}, "rsa.decrypt": {"body": "rsa.decrypt(${1:key},${2:data},${3:pwd})", "description": "rsa.decrypt(key, data, pwd) - RSA\u89e3\u5bc6\n\u4f20\u5165\u503c\uff1a\nstring \u79c1\u94a5\u6570\u636e,\u4ec5\u652f\u6301PEM\u683c\u5f0f\nstring \u5f85\u89e3\u5bc6\u6570\u636e\nstring \u79c1\u94a5\u7684\u5bc6\u7801,\u53ef\u9009\n\u8fd4\u56de\u503c\uff1a\nstring \u89e3\u5bc6\u6210\u529f\u540e\u7684\u6570\u636e,\u82e5\u5931\u8d25\u4f1a\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\n-- \u6ce8\u610f, \u89e3\u5bc6\u901a\u5e38\u5f88\u6162, \u5efa\u8bae\u5728\u670d\u52a1\u5668\u7aef\u8fdb\u884c\n-- res \u662f\u5f85\u89e3\u5bc6\u7684\u6570\u636e\nlocal dst = rsa.decrypt((io.readFile(\"/luadb/privkey.pem\")), res, \"\")\nlog.info(\"rsa\", \"decrypt\", dst and #dst or 0, dst and dst:toHex() or \"\")\n", "prefix": "rsa.decrypt"}, "rsa.verify": {"body": "rsa.verify(${1:key},${2:md},${3:hash},${4:sig})", "description": "rsa.verify(key, md, hash, sig) - RSA\u9a8c\u7b7e\n\u4f20\u5165\u503c\uff1a\nstring \u516c\u94a5\u6570\u636e,\u4ec5\u652f\u6301PEM\u683c\u5f0f\nint \u7b7e\u540d\u6a21\u5f0f, \u4f8b\u5982 rsa.MD_SHA1 , rsa.MD_SHA256\nstring hash\u6570\u636e, \u5982\u679c\u662fHEX\u5b57\u7b26\u4e32,\u8bb0\u5f97fromHex\u8f6c\u4e8c\u8fdb\u5236\u6570\u636e\nstring sig\u6570\u636e, \u5982\u679c\u662fHEX\u5b57\u7b26\u4e32,\u8bb0\u5f97fromHex\u8f6c\u4e8c\u8fdb\u5236\u6570\u636e\n\u8fd4\u56de\u503c\uff1a\nbool \u6709\u6548\u8fd4\u56detrue,\u5426\u5219\u4e3afalse,\u51fa\u9519\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\nlocal ret = rsa.verify((io.readFile(\"/luadb/public.pem\")), rsa.MD_SHA1, hash, sig)\nlog.info(\"rsa\", \"verify\", ret)\n", "prefix": "rsa.verify"}, "rsa.sign": {"body": "rsa.sign(${1:key},${2:md},${3:hash},${4:pwd})", "description": "rsa.sign(key, md, hash, pwd) - RSA\u7b7e\u540d\n\u4f20\u5165\u503c\uff1a\nstring \u79c1\u94a5\u6570\u636e,\u4ec5\u652f\u6301PEM\u683c\u5f0f\nint \u7b7e\u540d\u6a21\u5f0f, \u4f8b\u5982 rsa.MD_SHA1 , rsa.MD_SHA256\nstring hash\u6570\u636e, \u5982\u679c\u662fHEX\u5b57\u7b26\u4e32,\u8bb0\u5f97fromHex\u8f6c\u4e8c\u8fdb\u5236\u6570\u636e\nstring \u79c1\u94a5\u5bc6\u7801, \u53ef\u9009\n\u8fd4\u56de\u503c\uff1a\nstring \u6210\u529f\u8fd4\u56desig\u6570\u636e, \u5426\u5219\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\nlocal sig = rsa.sign((io.readFile(\"/luadb/privkey.pem\")), rsa.MD_SHA1, hash, \"\")\nlog.info(\"rsa\", \"sign\", sig and #sig or 0, sig and sig:toHex() or \"\")\n", "prefix": "rsa.sign"}, "rtc.set": {"body": "rtc.set(${1:tab})", "description": "rtc.set(tab) - \u8bbe\u7f6e\u65f6\u949f\n\u4f20\u5165\u503c\uff1a\ntable or int \u65f6\u949f\u53c2\u6570,\u89c1\u793a\u4f8b\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56denil\u6216false\n\u4f8b\u5b50\uff1a\nrtc.set({year=2021,mon=8,day=31,hour=17,min=8,sec=43})\n--\u76ee\u524d\u53ea\u6709Air101/Air103/Air105/EC618\u7cfb\u5217\u652f\u6301\u65f6\u95f4\u6233\u65b9\u5f0f\nrtc.set(1652230554)\n", "prefix": "rtc.set"}, "rtc.get": {"body": "rtc.get()", "description": "rtc.get() - \u83b7\u53d6\u65f6\u949f\n\u8fd4\u56de\u503c\uff1a\ntable \u65f6\u949f\u53c2\u6570,\u89c1\u793a\u4f8b\n\u4f8b\u5b50\uff1a\nlocal t = rtc.get()\n-- {year=2021,mon=8,day=31,hour=17,min=8,sec=43}\nlog.info(\"rtc\", json.encode(t))\n", "prefix": "rtc.get"}, "rtc.timerStart": {"body": "rtc.timerStart(${1:id},${2:tab})", "description": "rtc.timerStart(id, tab) - \u8bbe\u7f6eRTC\u5524\u9192\u65f6\u95f4\n\u4f20\u5165\u503c\uff1a\nint \u65f6\u949fid,\u901a\u5e38\u53ea\u652f\u63010\ntable \u65f6\u949f\u53c2\u6570,\u89c1\u793a\u4f8b\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56denil\u6216false\n\u4f8b\u5b50\uff1a\n-- \u4f7f\u7528\u524d\u5efa\u8bae\u5148rtc.set\u8bbe\u7f6e\u4e3a\u6b63\u786e\u7684\u65f6\u95f4\nrtc.timerStart(0, {year=2021,mon=9,day=1,hour=17,min=8,sec=43})\n", "prefix": "rtc.timerStart"}, "rtc.timerStop": {"body": "rtc.timerStop(${1:id})", "description": "rtc.timerStop(id) - \u53d6\u6d88RTC\u5524\u9192\u65f6\u95f4\n\u4f20\u5165\u503c\uff1a\nint \u65f6\u949fid,\u901a\u5e38\u53ea\u652f\u63010\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56denil\u6216false\n\u4f8b\u5b50\uff1a\nrtc.timerStop(0)\n", "prefix": "rtc.timerStop"}, "rtc.setBaseYear": {"body": "rtc.setBaseYear(${1:Base_year})", "description": "rtc.setBaseYear(Base_year) - \u8bbe\u7f6eRTC\u57fa\u51c6\u5e74,\u4e0d\u63a8\u8350\n\u4f20\u5165\u503c\uff1a\nint \u57fa\u51c6\u5e74Base_year,\u901a\u5e381900\n\u4f8b\u5b50\uff1a\nrtc.setBaseYear(1900)\n", "prefix": "rtc.setBaseYear"}, "rtc.timezone": {"body": "rtc.timezone(${1:tz})", "description": "rtc.timezone(tz) - \u8bfb\u53d6\u6216\u8bbe\u7f6e\u65f6\u533a\n\u4f20\u5165\u503c\uff1a\nint \u65f6\u533a\u503c,\u6ce8\u610f\u5355\u4f4d\u662f1/4\u65f6\u533a.\u4f8b\u5982\u4e1c\u516b\u533a\u662f 32,\u800c\u975e8. \u53ef\u4ee5\u4e0d\u4f20\nreturn \u5f53\u524d/\u8bbe\u7f6e\u540e\u7684\u65f6\u533a\u503c\n\u4f8b\u5b50\uff1a\n-- \u8bbe\u7f6e\u4e3a\u4e1c8\u533a\nrtc.timezone(32)\n-- \u8bbe\u7f6e\u4e3a\u4e1c3\u533a\nrtc.timezone(12)\n-- \u8bbe\u7f6e\u4e3a\u897f4\u533a\nrtc.timezone(-16)\n-- \u6ce8\u610f: \u65e0\u8bba\u8bbe\u7f6e\u65f6\u533a\u662f\u591a\u5c11, rtc.get/set\u603b\u662fUTC\u65f6\u95f4\n-- \u65f6\u533a\u5f71\u54cd\u7684\u662f os.date/os.time \u51fd\u6570\n-- \u53ea\u6709\u90e8\u5206\u6a21\u5757\u652f\u6301\u8bbe\u7f6e\u65f6\u533a, \u4e14\u9ed8\u8ba4\u503c\u4e00\u822c\u4e3a32, \u5373\u4e1c\u516b\u533a\n", "prefix": "rtc.timezone"}, "rtos.receive": {"body": "rtos.receive(${1:timeout})", "description": "rtos.receive(timeout) - \u63a5\u53d7\u5e76\u5904\u7406\u5e95\u5c42\u6d88\u606f\u961f\u5217.\n\u4f20\u5165\u503c\uff1a\nint \u8d85\u65f6\u65f6\u957f,\u901a\u5e38\u662f-1,\u6c38\u4e45\u7b49\u5f85\n\u8fd4\u56de\u503c\uff1a\nmsgid \u5982\u679c\u662f\u5b9a\u65f6\u5668\u6d88\u606f,\u4f1a\u8fd4\u56de\u5b9a\u65f6\u5668\u6d88\u606fid\u53ca\u9644\u52a0\u4fe1\u606f, \u5176\u4ed6\u6d88\u606f\u7531\u5e95\u5c42\u51b3\u5b9a,\u4e0d\u5411lua\u5c42\u8fdb\u884c\u4efb\u4f55\u4fdd\u8bc1.\n", "prefix": "rtos.receive"}, "rtos.timer_start": {"body": "rtos.timer_start(${1:id},${2:timeout},${3:_repeat})", "description": "rtos.timer_start(id,timeout,_repeat) - \u542f\u52a8\u4e00\u4e2a\u5b9a\u65f6\u5668\n\u4f20\u5165\u503c\uff1a\nint \u5b9a\u65f6\u5668id\nint \u8d85\u65f6\u65f6\u957f,\u5355\u4f4d\u6beb\u79d2\nint \u91cd\u590d\u6b21\u6570,\u9ed8\u8ba4\u662f0\n\u8fd4\u56de\u503c\uff1a\nid \u5982\u679c\u662f\u5b9a\u65f6\u5668\u6d88\u606f,\u4f1a\u8fd4\u56de\u5b9a\u65f6\u5668\u6d88\u606fid\u53ca\u9644\u52a0\u4fe1\u606f, \u5176\u4ed6\u6d88\u606f\u7531\u5e95\u5c42\u51b3\u5b9a,\u4e0d\u5411lua\u5c42\u8fdb\u884c\u4efb\u4f55\u4fdd\u8bc1.\n\u4f8b\u5b50\uff1a\n-- \u7528\u6237\u4ee3\u7801\u8bf7\u4f7f\u7528 sys.timerStart\n-- \u542f\u52a8\u4e00\u4e2a3\u79d2\u7684\u5faa\u73af\u5b9a\u65f6\u5668\nrtos.timer_start(10000, 3000, -1)\n", "prefix": "rtos.timer_start"}, "rtos.timer_stop": {"body": "rtos.timer_stop(${1:id})", "description": "rtos.timer_stop(id) - \u5173\u95ed\u5e76\u91ca\u653e\u4e00\u4e2a\u5b9a\u65f6\u5668\n\u4f20\u5165\u503c\uff1a\nint \u5b9a\u65f6\u5668id\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n-- \u7528\u6237\u4ee3\u7801\u8bf7\u4f7f\u7528sys.timerStop\nrtos.timer_stop(id)\n", "prefix": "rtos.timer_stop"}, "rtos.reboot": {"body": "rtos.reboot()", "description": "rtos.reboot() - \u8bbe\u5907\u91cd\u542f\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n", "prefix": "rtos.reboot"}, "rtos.buildDate": {"body": "rtos.buildDate()", "description": "rtos.buildDate() - \u83b7\u53d6\u56fa\u4ef6\u7f16\u8bd1\u65e5\u671f\n\u8fd4\u56de\u503c\uff1a\nstring \u56fa\u4ef6\u7f16\u8bd1\u65e5\u671f\n\u4f8b\u5b50\uff1a\n-- \u83b7\u53d6\u7f16\u8bd1\u65e5\u671f\nlocal d = rtos.buildDate()\n", "prefix": "rtos.buildDate"}, "rtos.bsp": {"body": "rtos.bsp()", "description": "rtos.bsp() - \u83b7\u53d6\u786c\u4ef6bsp\u578b\u53f7\n\u8fd4\u56de\u503c\uff1a\nstring \u786c\u4ef6bsp\u578b\u53f7\n\u4f8b\u5b50\uff1a\n-- \u83b7\u53d6\u786c\u4ef6bsp\u578b\u53f7\nlocal bsp = rtos.bsp()\n", "prefix": "rtos.bsp"}, "rtos.version": {"body": "rtos.version()", "description": "rtos.version() - \u83b7\u53d6\u56fa\u4ef6\u7248\u672c\u53f7\n\u8fd4\u56de\u503c\uff1a\nstring \u56fa\u4ef6\u7248\u672c\u53f7,\u4f8b\u5982\"V0001\"\n\u4f8b\u5b50\uff1a\n-- \u8bfb\u53d6\u7248\u672c\u53f7\nlocal luatos_version = rtos.version()\n", "prefix": "rtos.version"}, "rtos.standy": {"body": "rtos.standy(${1:timeout})", "description": "rtos.standy(timeout) - \u8fdb\u5165\u5f85\u673a\u6a21\u5f0f, \u4ec5\u90e8\u5206\u8bbe\u5907\u53ef\u7528, \u672cAPI\u5df2\u5e9f\u5f03, \u63a8\u8350\u4f7f\u7528pm\u5e93\n\u4f20\u5165\u503c\uff1a\nint \u4f11\u7720\u65f6\u957f,\u5355\u4f4d\u6beb\u79d2\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n-- \u8fdb\u5165\u5f85\u673a\u6a21\u5f0f\nrtos.standby(5000)\n", "prefix": "rtos.standy"}, "rtos.meminfo": {"body": "rtos.meminfo(${1:type})", "description": "rtos.meminfo(type) - \u83b7\u53d6\u5185\u5b58\u4fe1\u606f\n\u4f20\u5165\u503c\uff1a\ntype \"sys\"\u7cfb\u7edf\u5185\u5b58, \"lua\"\u865a\u62df\u673a\u5185\u5b58, \u9ed8\u8ba4\u4e3alua\u865a\u62df\u673a\u5185\u5b58\n\u8fd4\u56de\u503c\uff1a\nint \u603b\u5185\u5b58\u5927\u5c0f,\u5355\u4f4d\u5b57\u8282\nint \u5f53\u524d\u5df2\u4f7f\u7528\u7684\u5185\u5b58\u5927\u5c0f,\u5355\u4f4d\u5b57\u8282\nint \u5386\u53f2\u6700\u9ad8\u5df2\u4f7f\u7528\u7684\u5185\u5b58\u5927\u5c0f,\u5355\u4f4d\u5b57\u8282\n\u4f8b\u5b50\uff1a\n-- \u6253\u5370\u5185\u5b58\u5360\u7528\nlog.info(\"mem.lua\", rtos.meminfo())\nlog.info(\"mem.sys\", rtos.meminfo(\"sys\"))\n", "prefix": "rtos.meminfo"}, "rtos.firmware": {"body": "rtos.firmware()", "description": "rtos.firmware() - \u8fd4\u56de\u5e95\u5c42\u63cf\u8ff0\u4fe1\u606f,\u683c\u5f0f\u4e3a LuatOS_$VERSION_$BSP,\u53ef\u7528\u4e8eOTA\u5347\u7ea7\u5224\u65ad\u5e95\u5c42\u4fe1\u606f\n\u8fd4\u56de\u503c\uff1a\nstring \u5e95\u5c42\u63cf\u8ff0\u4fe1\u606f\n\u4f8b\u5b50\uff1a\n-- \u6253\u5370\u5e95\u5c42\u63cf\u8ff0\u4fe1\u606f\nlog.info(\"firmware\", rtos.firmware())\n", "prefix": "rtos.firmware"}, "rtos.setPaths": {"body": "rtos.setPaths(${1:pathA},${2:pathB},${3:pathC},${4:pathD})", "description": "rtos.setPaths(pathA, pathB, pathC, pathD) - \u8bbe\u7f6e\u81ea\u5b9a\u4e49lua\u811a\u672c\u641c\u7d22\u8def\u5f84,\u4f18\u5148\u7ea7\u9ad8\u4e8e\u5185\u7f6e\u8def\u5f84\n\u4f20\u5165\u503c\uff1a\nstring \u8def\u5f84A, \u4f8b\u5982 \"/sdcard/%s.luac\",\u82e5\u4e0d\u4f20\u503c,\u5c06\u9ed8\u8ba4\u4e3a\"\",\u53e6\u5916,\u6700\u5927\u957f\u5ea6\u4e0d\u80fd\u8d85\u8fc723\u5b57\u8282\nstring \u8def\u5f84B, \u4f8b\u5982 \"/sdcard/%s.lua\"\nstring \u8def\u5f84C, \u4f8b\u5982 \"/lfs2/%s.luac\"\nstring \u8def\u5f84D, \u4f8b\u5982 \"/lfs2/%s.lua\"\n\u4f8b\u5b50\uff1a\n-- \u6302\u8f7dsd\u5361\u6216\u8005spiflash\u540e\nrtos.setPaths(\"/sdcard/user/%s.luac\", \"/sdcard/user/%s.lua\")\nrequire(\"sd_user_main\") -- \u5c06\u641c\u7d22\u5e76\u52a0\u8f7d /sdcard/user/sd_user_main.luac \u548c /sdcard/user/sd_user_main.lua\n", "prefix": "rtos.setPaths"}, "rtos.nop": {"body": "rtos.nop()", "description": "rtos.nop() - \u7a7a\u51fd\u6570,\u4ec0\u4e48\u90fd\u4e0d\u505a\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n-- \u8fd9\u4e2a\u51fd\u6570\u5355\u7eaf\u5c31\u662f lua -> c -> lua \u8d70\u4e00\u904d\n-- \u6ca1\u6709\u53c2\u6570,\u6ca1\u6709\u8fd4\u56de\u503c,\u6ca1\u6709\u903b\u8f91\u5904\u7406\n-- \u5728\u7edd\u5927\u591a\u6570\u60c5\u51b5\u4e0b,\u4e0d\u4f1a\u9047\u5230\u8fd9\u4e2a\u51fd\u6570\u7684\u8c03\u7528\n-- \u5b83\u901a\u5e38\u53ea\u4f1a\u51fa\u73b0\u5728\u6027\u80fd\u6d4b\u8bd5\u7684\u4ee3\u7801\u91cc, \u56e0\u4e3a\u5b83\u4ec0\u4e48\u90fd\u4e0d\u5e72.\nrtos.nop()\n", "prefix": "rtos.nop"}, "rtos.autoCollectMem": {"body": "rtos.autoCollectMem(${1:period},${2:warning_level},${3:force_level})", "description": "rtos.autoCollectMem(period, warning_level, force_level) - \u5185\u5b58\u81ea\u52a8\u6536\u96c6\u914d\u7f6e\uff0c\u662flua\u672c\u8eab\u6536\u96c6\u673a\u5236\u7684\u4e00\u79cd\u8865\u5145\uff0c\u4e0d\u662f\u5fc5\u8981\u7684\uff0c\u800c\u4e14\u53ea\u5728luavm\u7a7a\u95f2\u65f6\u89e6\u53d1\n", "prefix": "rtos.autoCollectMem"}, "sdio.init": {"body": "sdio.init(${1:id})", "description": "sdio.init(id) - \u521d\u59cb\u5316sdio\n\u4f20\u5165\u503c\uff1a\nint \u901a\u9053id,\u4e0e\u5177\u4f53\u8bbe\u5907\u6709\u5173,\u901a\u5e38\u4ece0\u5f00\u59cb,\u9ed8\u8ba40\n\u8fd4\u56de\u503c\uff1a\nboolean \u6253\u5f00\u7ed3\u679c\n", "prefix": "sdio.init"}, "sdio.sd_read": {"body": "sdio.sd_read(${1:id},${2:offset},${3:len})", "description": "sdio.sd_read(id, offset, len) - \u76f4\u63a5\u8bfb\u5199sd\u5361\u4e0a\u7684\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nint sdio\u603b\u7ebfid\nint \u504f\u79fb\u91cf,\u5fc5\u987b\u662f512\u7684\u500d\u6570\nint \u957f\u5ea6,\u5fc5\u987b\u662f512\u7684\u500d\u6570\n\u8fd4\u56de\u503c\uff1a\nstring \u82e5\u8bfb\u53d6\u6210\u529f,\u8fd4\u56de\u5b57\u7b26\u4e32,\u5426\u5219\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\n-- \u521d\u59cb\u5316sdio\u5e76\u76f4\u63a5\u8bfb\u53d6sd\u5361\u6570\u636e\nsdio.init(0)\nlocal t = sdio.sd_read(0, 0, 1024)\nif t then\n --- xxx\nend\n", "prefix": "sdio.sd_read"}, "sdio.sd_write": {"body": "sdio.sd_write(${1:id},${2:data},${3:offset})", "description": "sdio.sd_write(id, data, offset) - \u76f4\u63a5\u5199sd\u5361\n\u4f20\u5165\u503c\uff1a\nint sdio\u603b\u7ebfid\nstring \u5f85\u5199\u5165\u7684\u6570\u636e,\u957f\u5ea6\u5fc5\u987b\u662f512\u7684\u500d\u6570\nint \u504f\u79fb\u91cf,\u5fc5\u987b\u662f512\u7684\u500d\u6570\n\u8fd4\u56de\u503c\uff1a\nbool \u82e5\u8bfb\u53d6\u6210\u529f,\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- \u521d\u59cb\u5316sdio\u5e76\u76f4\u63a5\u8bfb\u53d6sd\u5361\u6570\u636e\nsdio.init(0)\nlocal t = sdio.sd_write(0, data, 0)\nif t then\n --- xxx\nend\n", "prefix": "sdio.sd_write"}, "sensor.ds18b20": {"body": "sensor.ds18b20(${1:pin})", "description": "sensor.ds18b20(pin) - \u83b7\u53d6DS18B20\u7684\u6e29\u5ea6\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nint gpio\u7aef\u53e3\u53f7\nboolean \u662f\u5426\u6821\u9a8ccrc\u503c,\u9ed8\u8ba4\u4e3atrue. \u4e0d\u6821\u9a8ccrc\u503c\u80fd\u63d0\u9ad8\u8bfb\u53d6\u6210\u529f\u7684\u6982\u7387,\u4f46\u53ef\u80fd\u4f1a\u8bfb\u53d6\u5230\u9519\u8bef\u7684\u503c\n\u8fd4\u56de\u503c\uff1a\nint \u6e29\u5ea6\u6570\u636e,\u5355\u4f4d0.1\u6444\u6c0f\u5ea6\uff0c\u8bfb\u53d6\u5931\u8d25\u65f6\u8fd4\u56de\u9519\u8bef\u7801\nboolean \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\nwhile 1 do\n sys.wait(5000)\n local val,result = sensor.ds18b20(17, true) -- GPIO17\u4e14\u6821\u9a8cCRC\u503c\n -- val 301 == 30.1\u6444\u6c0f\u5ea6\n -- result true \u8bfb\u53d6\u6210\u529f\n log.info(\"ds18b20\", val, result)\nend\n", "prefix": "sensor.ds18b20"}, "sensor.w1_reset": {"body": "sensor.w1_reset(${1:pin})", "description": "sensor.w1_reset(pin) - \u5355\u603b\u7ebf\u534f\u8bae,\u590d\u4f4d\u8bbe\u5907\n\u4f20\u5165\u503c\uff1a\nint gpio\u7aef\u53e3\u53f7\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\n", "prefix": "sensor.w1_reset"}, "sensor.w1_connect": {"body": "sensor.w1_connect(${1:pin})", "description": "sensor.w1_connect(pin) - \u5355\u603b\u7ebf\u534f\u8bae,\u8fde\u63a5\u8bbe\u5907\n\u4f20\u5165\u503c\uff1a\nint gpio\u7aef\u53e3\u53f7\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue,\u5931\u8d25\u8fd4\u56defalse\n", "prefix": "sensor.w1_connect"}, "sensor.w1_write": {"body": "sensor.w1_write(${1:pin},${2:data1},${3:data2})", "description": "sensor.w1_write(pin, data1,data2) - \u5355\u603b\u7ebf\u534f\u8bae,\u5f80\u603b\u7ebf\u5199\u5165\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nint gpio\u7aef\u53e3\u53f7\nint \u7b2c\u4e00\u4e2a\u6570\u636e\nint \u7b2c\u4e8c\u4e2a\u6570\u636e, \u53ef\u4ee5\u5199N\u4e2a\u6570\u636e\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n", "prefix": "sensor.w1_write"}, "sensor.w1_read": {"body": "sensor.w1_read(${1:pin},${2:len})", "description": "sensor.w1_read(pin, len) - \u5355\u603b\u7ebf\u534f\u8bae,\u4ece\u603b\u7ebf\u8bfb\u53d6\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nint gpio\u7aef\u53e3\u53f7\nint \u8bfb\u53d6\u7684\u957f\u5ea6\n\u8fd4\u56de\u503c\uff1a\nint \u6309\u8bfb\u53d6\u7684\u957f\u5ea6\u8fd4\u56deN\u4e2a\u6574\u6570\n", "prefix": "sensor.w1_read"}, "sensor.hx711": {"body": "sensor.hx711(${1:pin_date},${2:pin_clk})", "description": "sensor.hx711(pin_date,pin_clk) - \u83b7\u53d6Hx711\u7684\u538b\u529b\u4f20\u611f\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nint \u6570\u636e\u7684gpio\u7aef\u53e3\u53f7\nint \u65f6\u949f\u7684gpio\u7aef\u53e3\u53f7\n\u8fd4\u56de\u503c\uff1a\nint hx711\u8bfb\u5230\u7684\u6570\u636e\n\u4f8b\u5b50\uff1a\n-- \u5982\u679c\u8bbe\u5907\u4e0d\u5b58\u5728\u4f1a\u5361\u5728\u8bfb\u53d6\u63a5\u53e3\nsys.taskInit(\n function()\n sys.wait(1000)\n local maopi = sensor.hx711(0,7)\n while true do\n sys.wait(2000)\n a = sensor.hx711(0,7) - maopi\n if a > 0 then\n log.info(\"tag\", a / 4.6)\n end\n end\n end\n)\n", "prefix": "sensor.hx711"}, "sensor.ws2812b": {"body": "sensor.ws2812b(${1:pin},${2:data},${3:T0H},${4:T0L},${5:T1H},${6:T1L})", "description": "sensor.ws2812b(pin,data,T0H,T0L,T1H,T1L) - \u8bbe\u7f6ews2812b\u8f93\u51fa(gpio\u9a71\u52a8\u65b9\u5f0f)\n\u4f20\u5165\u503c\uff1a\nint ws2812b\u7684gpio\u7aef\u53e3\u53f7\nstring/zbuff \u5f85\u53d1\u9001\u7684\u6570\u636e\uff08\u5982\u679c\u4e3azbuff\u6570\u636e\uff0c\u5219\u4f1a\u65e0\u89c6\u6307\u9488\u4f4d\u7f6e\u59cb\u7ec8\u4ece0\u504f\u79fb\u5f00\u59cb\uff09\nint T0H\u65f6\u95f4\uff0c\u8868\u793a\u5ef6\u65f6\u591a\u5c11\u4e2anop\uff0c\u6bcf\u4e2a\u578b\u53f7\u4e0d\u4e00\u6837\uff0c\u81ea\u5df1\u8c03\nint T0L\u65f6\u95f4\uff0c\u8868\u793a\u5ef6\u65f6\u591a\u5c11\u4e2anop\nint T1H\u65f6\u95f4\uff0c\u8868\u793a\u5ef6\u65f6\u591a\u5c11\u4e2anop\nint T1L\u65f6\u95f4\uff0c\u8868\u793a\u5ef6\u65f6\u591a\u5c11\u4e2anop\n\u4f8b\u5b50\uff1a\nlocal buff = zbuff.create({8,8,24})\nbuff:drawLine(1,2,5,6,0x00ffff)\nsensor.ws2812b(7,buff,300,700,700,700)\n", "prefix": "sensor.ws2812b"}, "sensor.ws2812b_pwm": {"body": "sensor.ws2812b_pwm(${1:pin},${2:data})", "description": "sensor.ws2812b_pwm(pin,data) - \u8bbe\u7f6ews2812b\u8f93\u51fa(pwm\u9a71\u52a8\u65b9\u5f0f,\u9700\u8981pwm\u80fd\u8f93\u51fa800k\u9891\u7387\uff0c\u5426\u5219\u65e0\u6cd5\u4f7f\u7528\u6b64\u65b9\u6cd5)\n\u4f20\u5165\u503c\uff1a\nint pwm\u7aef\u53e3\u53f7\nstring/zbuff \u5f85\u53d1\u9001\u7684\u6570\u636e\uff08\u5982\u679c\u4e3azbuff\u6570\u636e\uff0c\u5219\u4f1a\u65e0\u89c6\u6307\u9488\u4f4d\u7f6e\u59cb\u7ec8\u4ece0\u504f\u79fb\u5f00\u59cb\uff09\n\u4f8b\u5b50\uff1a\nlocal buff = zbuff.create({8,8,24})\nbuff:setFrameBuffer(8,8,24,0x0000ff)\nsensor.ws2812b_pwm(7,buff)\n", "prefix": "sensor.ws2812b_pwm"}, "sensor.ws2812b_spi": {"body": "sensor.ws2812b_spi(${1:pin},${2:data})", "description": "sensor.ws2812b_spi(pin,data) - \u8bbe\u7f6ews2812b\u8f93\u51fa(spi\u9a71\u52a8\u65b9\u5f0f,\u9700\u8981spi\u80fd\u8f93\u51fa5M\u9891\u7387\uff0c\u5426\u5219\u65e0\u6cd5\u4f7f\u7528\u6b64\u65b9\u6cd5)\n\u4f20\u5165\u503c\uff1a\nint spi\u7aef\u53e3\u53f7\nstring/zbuff \u5f85\u53d1\u9001\u7684\u6570\u636e\uff08\u5982\u679c\u4e3azbuff\u6570\u636e\uff0c\u5219\u4f1a\u65e0\u89c6\u6307\u9488\u4f4d\u7f6e\u59cb\u7ec8\u4ece0\u504f\u79fb\u5f00\u59cb\uff09\n\u4f8b\u5b50\uff1a\nlocal buff = zbuff.create({8,8,24})\nbuff:setFrameBuffer(8,8,24,0x0000ff)\nsensor.ws2812b_spi(2,buff)\n", "prefix": "sensor.ws2812b_spi"}, "sensor.dht1x": {"body": "sensor.dht1x(${1:pin})", "description": "sensor.dht1x(pin) - \u83b7\u53d6DHT11/DHT12\u7684\u6e29\u6e7f\u5ea6\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nint gpio\u7aef\u53e3\u53f7\nboolean \u662f\u5426\u6821\u9a8ccrc\u503c,\u9ed8\u8ba4\u4e3atrue. \u4e0d\u6821\u9a8ccrc\u503c\u80fd\u63d0\u9ad8\u8bfb\u53d6\u6210\u529f\u7684\u6982\u7387,\u4f46\u53ef\u80fd\u4f1a\u8bfb\u53d6\u5230\u9519\u8bef\u7684\u503c\n\u8fd4\u56de\u503c\uff1a\nint \u6e7f\u5ea6\u6570\u636e,\u5355\u4f4d0.01%\uff0c\u8bfb\u53d6\u5931\u8d25\u65f6\u8fd4\u56de\u9519\u8bef\u503c\nint \u6e29\u5ea6\u6570\u636e,\u5355\u4f4d0.01\u6444\u6c0f\u5ea6\uff0c\u8bfb\u53d6\u5931\u8d25\u65f6\u8fd4\u56de\u9519\u8bef\u503c\nboolean \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\nwhile 1 do\n sys.wait(1000)\n local h,t,r = sensor.dht1x(17, true) -- GPIO17\u4e14\u6821\u9a8cCRC\u503c\n log.info(\"dht11\", h/100,t/100,r)--90.1 23.22\nend\n", "prefix": "sensor.dht1x"}, "sfd.init": {"body": "sfd.init(${1:type},${2:spi_id},${3:spi_cs})", "description": "sfd.init(type, spi_id, spi_cs) - \u521d\u59cb\u5316spi flash\n\u4f20\u5165\u503c\uff1a\nstring \u7c7b\u578b, \u53ef\u4ee5\u662f\"spi\", \u4e5f\u53ef\u4ee5\u662f\"zbuff\", \u6216\u8005\"onchip\"\nint SPI\u603b\u7ebf\u7684id, \u6216\u8005 zbuff\u5b9e\u4f8b\nint SPI FLASH\u7684\u7247\u9009\u811a\u5bf9\u5e94\u7684GPIO, \u5f53\u7c7b\u578b\u662fspi\u65f6\u624d\u9700\u8981\u4f20\n\u8fd4\u56de\u503c\uff1a\nuserdata \u6210\u529f\u8fd4\u56de\u4e00\u4e2a\u6570\u636e\u7ed3\u6784,\u5426\u5219\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\nlocal drv = sfd.init(\"spi\", 0, 17)\nif drv then\n log.info(\"sfd\", \"chip id\", sfd.id(drv):toHex())\nend\n-- 2023.01.15\u4e4b\u540e\u7684\u56fa\u4ef6\u652f\u6301onchip\u7c7b\u578b, \u652f\u6301\u76f4\u63a5\u8bfb\u5199\u7247\u4e0aflash\u7684\u4e00\u5c0f\u5757\u533a\u57df,\u4e00\u822c\u662f64k\n-- \u8fd9\u5757\u533a\u57df\u901a\u5e38\u662ffdb/fskv\u5e93\u6240\u5728\u7684\u533a\u57df, \u6240\u4ee5\u4e0d\u8981\u6df7\u7740\u7528\nlocal onchip = sfd.init(\"onchip\")\nlocal data = sfd.read(onchip, 0x100, 256)\nsfd.erase(onchip, 0x100)\nsfd.write(onchip, 0x100, data or \"Hi\")\n\n", "prefix": "sfd.init"}, "sfd.status": {"body": "sfd.status(${1:drv})", "description": "sfd.status(drv) - \u68c0\u67e5spi flash\u72b6\u6001\n\u4f20\u5165\u503c\uff1a\nuserdata sfd.init\u8fd4\u56de\u7684\u6570\u636e\u7ed3\u6784\n\u8fd4\u56de\u503c\uff1a\nint \u72b6\u6001\u503c, 0 \u672a\u521d\u59cb\u5316\u6210\u529f,1\u521d\u59cb\u5316\u6210\u529f\u4e14\u7a7a\u95f2,2\u6b63\u5fd9\n\u4f8b\u5b50\uff1a\nlocal drv = sfd.init(\"spi\", 0, 17)\nif drv then\n log.info(\"sfd\", \"status\", sfd.status(drv))\nend\n", "prefix": "sfd.status"}, "sfd.read": {"body": "sfd.read(${1:drv},${2:offset},${3:len})", "description": "sfd.read(drv, offset, len) - \u8bfb\u53d6\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nuserdata sfd.init\u8fd4\u56de\u7684\u6570\u636e\u7ed3\u6784\nint \u8d77\u59cb\u504f\u79fb\u91cf\nint \u8bfb\u53d6\u957f\u5ea6,\u5f53\u524d\u9650\u5236\u5728256\u4ee5\u5185\n\u8fd4\u56de\u503c\uff1a\nstring \u6570\u636e\n\u4f8b\u5b50\uff1a\nlocal drv = sfd.init(\"spi\", 0, 17)\nif drv then\n log.info(\"sfd\", \"read\", sfd.read(drv, 0x100, 256))\nend\n", "prefix": "sfd.read"}, "sfd.write": {"body": "sfd.write(${1:drv},${2:offset},${3:data})", "description": "sfd.write(drv, offset, data) - \u5199\u5165\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nuserdata sfd.init\u8fd4\u56de\u7684\u6570\u636e\u7ed3\u6784\nint \u8d77\u59cb\u504f\u79fb\u91cf\nstring \u9700\u8981\u5199\u5165\u7684\u6570\u636e,\u5f53\u524d\u652f\u6301256\u5b57\u8282\u53ca\u4ee5\u4e0b\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue,\u5931\u8d25\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\nlocal drv = sfd.init(\"spi\", 0, 17)\nif drv then\n log.info(\"sfd\", \"write\", sfd.write(drv, 0x100, \"hi,luatos\"))\nend\n", "prefix": "sfd.write"}, "sfd.erase": {"body": "sfd.erase(${1:drv},${2:offset})", "description": "sfd.erase(drv, offset) - \u64e6\u9664\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nuserdata sfd.init\u8fd4\u56de\u7684\u6570\u636e\u7ed3\u6784\nint \u8d77\u59cb\u504f\u79fb\u91cf\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue,\u5931\u8d25\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\nlocal drv = sfd.init(\"spi\", 0, 17)\nif drv then\n log.info(\"sfd\", \"write\", sfd.erase(drv, 0x100))\nend\n", "prefix": "sfd.erase"}, "sfd.id": {"body": "sfd.id(${1:drv})", "description": "sfd.id(drv) - \u82af\u7247\u552f\u4e00id\n\u4f20\u5165\u503c\uff1a\nuserdata sfd.init\u8fd4\u56de\u7684\u6570\u636e\u7ed3\u6784\n\u8fd4\u56de\u503c\uff1a\nstring 8\u5b57\u8282(64bit)\u7684\u82af\u7247id\n\u4f8b\u5b50\uff1a\nlocal drv = sfd.init(\"spi\", 0, 17)\nif drv then\n log.info(\"sfd\", \"chip id\", sfd.id(drv))\nend\n", "prefix": "sfd.id"}, "sfud.init": {"body": "sfud.init(${1:spi_id},${2:spi_cs},${3:spi_bandrate)/sfud.init(spi_device})", "description": "sfud.init(spi_id, spi_cs, spi_bandrate)/sfud.init(spi_device) - \u521d\u59cb\u5316sfud\n\u4f20\u5165\u503c\uff1a\nint spi_id SPI\u7684ID/userdata spi_device\nint spi_cs SPI\u7684\u7247\u9009\nint spi_bandrate SPI\u7684\u9891\u7387\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n--spi\nlog.info(\"sfud.init\",sfud.init(0,20,20 * 1000 * 1000))\n--spi_device\nlocal spi_device = spi.deviceSetup(0,17,0,0,8,2000000,spi.MSB,1,0)\nlog.info(\"sfud.init\",sfud.init(spi_device))\n", "prefix": "sfud.init"}, "sfud.getDeviceNum": {"body": "sfud.getDeviceNum()", "description": "sfud.getDeviceNum() - \u83b7\u53d6flash\u8bbe\u5907\u4fe1\u606f\u8868\u4e2d\u7684\u8bbe\u5907\u603b\u6570\n\u8fd4\u56de\u503c\uff1a\nint \u8fd4\u56de\u8bbe\u5907\u603b\u6570\n\u4f8b\u5b50\uff1a\nlog.info(\"sfud.getDeviceNum\",sfud.getDeviceNum())\n", "prefix": "sfud.getDeviceNum"}, "sfud.getDevice": {"body": "sfud.getDevice(${1:index})", "description": "sfud.getDevice(index) - \u901a\u8fc7flash\u4fe1\u606f\u8868\u4e2d\u7684\u7d22\u5f15\u83b7\u53d6flash\u8bbe\u5907\n\u4f20\u5165\u503c\uff1a\nint index flash\u4fe1\u606f\u8868\u4e2d\u7684\u7d22\u5f15\n\u8fd4\u56de\u503c\uff1a\nuserdata \u6210\u529f\u8fd4\u56de\u4e00\u4e2a\u6570\u636e\u7ed3\u6784,\u5426\u5219\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\nlocal sfud_device = sfud.getDevice(1)\n", "prefix": "sfud.getDevice"}, "sfud.getDeviceTable": {"body": "sfud.getDeviceTable()", "description": "sfud.getDeviceTable() - \u83b7\u53d6flash\u8bbe\u5907\u4fe1\u606f\u8868\n\u8fd4\u56de\u503c\uff1a\nuserdata \u6210\u529f\u8fd4\u56de\u4e00\u4e2a\u6570\u636e\u7ed3\u6784,\u5426\u5219\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\nlocal sfud_device = sfud.getDeviceTable()\n", "prefix": "sfud.getDeviceTable"}, "sfud.chipErase": {"body": "sfud.chipErase(${1:flash})", "description": "sfud.chipErase(flash) - \u64e6\u9664 Flash \u5168\u90e8\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nuserdata flash Flash \u8bbe\u5907\u5bf9\u8c61 sfud.get_device_table()\u8fd4\u56de\u7684\u6570\u636e\u7ed3\u6784\n\u8fd4\u56de\u503c\uff1a\nint \u6210\u529f\u8fd4\u56de0\n\u4f8b\u5b50\uff1a\nsfud.chipErase(flash)\n", "prefix": "sfud.chipErase"}, "sfud.erase": {"body": "sfud.erase(${1:flash},${2:add},${3:size})", "description": "sfud.erase(flash,add,size) - \u64e6\u9664 Flash \u6307\u5b9a\u5730\u5740\u6307\u5b9a\u5927\u5c0f\n\u4f20\u5165\u503c\uff1a\nuserdata flash Flash \u8bbe\u5907\u5bf9\u8c61 sfud.get_device_table()\u8fd4\u56de\u7684\u6570\u636e\u7ed3\u6784\nnumber add \u64e6\u9664\u5730\u5740\nnumber size \u64e6\u9664\u5927\u5c0f\n\u8fd4\u56de\u503c\uff1a\nint \u6210\u529f\u8fd4\u56de0\n\u4f8b\u5b50\uff1a\nsfud.erase(flash,add,size)\n", "prefix": "sfud.erase"}, "sfud.read": {"body": "sfud.read(${1:flash},${2:addr},${3:size})", "description": "sfud.read(flash, addr, size) - \u8bfb\u53d6 Flash \u6570\u636e\n\u4f20\u5165\u503c\uff1a\nuserdata flash Flash \u8bbe\u5907\u5bf9\u8c61 sfud.get_device_table()\u8fd4\u56de\u7684\u6570\u636e\u7ed3\u6784\nint addr \u8d77\u59cb\u5730\u5740\nint size \u4ece\u8d77\u59cb\u5730\u5740\u5f00\u59cb\u8bfb\u53d6\u6570\u636e\u7684\u603b\u5927\u5c0f\n\u8fd4\u56de\u503c\uff1a\nstring data \u8bfb\u53d6\u5230\u7684\u6570\u636e\n\u4f8b\u5b50\uff1a\nlog.info(\"sfud.read\",sfud.read(sfud_device,1024,4))\n", "prefix": "sfud.read"}, "sfud.write": {"body": "sfud.write(${1:flash},${2:addr},${3:data})", "description": "sfud.write(flash, addr,data) - \u5411 Flash \u5199\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nuserdata flash Flash \u8bbe\u5907\u5bf9\u8c61 sfud.get_device_table()\u8fd4\u56de\u7684\u6570\u636e\u7ed3\u6784\nint addr \u8d77\u59cb\u5730\u5740\nstring data \u5f85\u5199\u5165\u7684\u6570\u636e\n\u8fd4\u56de\u503c\uff1a\nint \u6210\u529f\u8fd4\u56de0\n\u4f8b\u5b50\uff1a\nlog.info(\"sfud.write\",sfud.write(sfud_device,1024,\"sfud\"))\n", "prefix": "sfud.write"}, "sfud.eraseWrite": {"body": "sfud.eraseWrite(${1:flash},${2:addr},${3:data})", "description": "sfud.eraseWrite(flash, addr,data) - \u5148\u64e6\u9664\u518d\u5f80 Flash \u5199\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nuserdata flash Flash \u8bbe\u5907\u5bf9\u8c61 sfud.get_device_table()\u8fd4\u56de\u7684\u6570\u636e\u7ed3\u6784\nint addr \u8d77\u59cb\u5730\u5740\nstring data \u5f85\u5199\u5165\u7684\u6570\u636e\n\u8fd4\u56de\u503c\uff1a\nint \u6210\u529f\u8fd4\u56de0\n\u4f8b\u5b50\uff1a\nlog.info(\"sfud.eraseWrite\",sfud.eraseWrite(sfud_device,1024,\"sfud\"))\n", "prefix": "sfud.eraseWrite"}, "sfud.mount": {"body": "sfud.mount(${1:flash},${2:mount_point},${3:offset},${4:maxsize})", "description": "sfud.mount(flash, mount_point, offset, maxsize) - \u6302\u8f7dsfud lfs\u6587\u4ef6\u7cfb\u7edf\n\u4f20\u5165\u503c\uff1a\nuserdata flash Flash \u8bbe\u5907\u5bf9\u8c61 sfud.get_device_table()\u8fd4\u56de\u7684\u6570\u636e\u7ed3\u6784\nstring mount_point \u6302\u8f7d\u76ee\u5f55\u540d\nint \u8d77\u59cb\u504f\u79fb\u91cf,\u9ed8\u8ba40\nint \u603b\u5927\u5c0f, \u9ed8\u8ba4\u662f\u6574\u4e2aflash\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue\n\u4f8b\u5b50\uff1a\nlog.info(\"sfud.mount\",sfud.mount(sfud_device,\"/sfud\"))\nlog.info(\"fsstat\", fs.fsstat(\"/\"))\nlog.info(\"fsstat\", fs.fsstat(\"/sfud\"))\n", "prefix": "sfud.mount"}, "sms.send": {"body": "sms.send(${1:phone},${2:msg},${3:auto_phone_fix})", "description": "sms.send(phone, msg, auto_phone_fix) - \u53d1\u9001\u77ed\u4fe1\n\u4f20\u5165\u503c\uff1a\nstring \u7535\u8bdd\u53f7\u7801,\u5fc5\u586b\nstring \u77ed\u4fe1\u5185\u5bb9,\u5fc5\u586b\nbool \u662f\u5426\u81ea\u52a8\u5904\u7406\u7535\u8bdd\u53f7\u53f7\u7801\u7684\u683c\u5f0f,\u9ed8\u8ba4\u662f\u6309\u77ed\u4fe1\u5185\u5bb9\u548c\u53f7\u7801\u683c\u5f0f\u8fdb\u884c\u81ea\u52a8\u5224\u65ad, \u8bbe\u7f6e\u4e3afalse\u53ef\u7981\u7528\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\u6216nil\n", "prefix": "sms.send"}, "sms.setNewSmsCb": {"body": "sms.setNewSmsCb(${1:func})", "description": "sms.setNewSmsCb(func) - \u8bbe\u7f6e\u65b0SMS\u7684\u56de\u8c03\u51fd\u6570\n\u4f20\u5165\u503c\uff1a\nfunction \u56de\u8c03\u51fd\u6570, 3\u4e2a\u53c2\u6570, num, txt, metas\n\u8fd4\u56de\u503c\uff1a\nnil \u4f20\u5165\u662f\u51fd\u6570\u5c31\u80fd\u6210\u529f,\u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n\nsms.setNewSmsCb(function(num, txt, metas)\n -- num \u624b\u673a\u53f7\u7801\n -- txt \u6587\u672c\u5185\u5bb9\n -- metas \u77ed\u4fe1\u7684\u5143\u6570\u636e,\u4f8b\u5982\u53d1\u9001\u7684\u65f6\u95f4,\u957f\u77ed\u4fe1\u7f16\u53f7\n -- \u6ce8\u610f, \u957f\u77ed\u4fe1\u4f1a\u81ea\u52a8\u5408\u5e76\u6210\u4e00\u6761txt\n log.info(\"sms\", num, txt, metas and json.encode(metas) or \"\")\nend)\n", "prefix": "sms.setNewSmsCb"}, "sms.autoLong": {"body": "sms.autoLong(${1:mode})", "description": "sms.autoLong(mode) - \u8bbe\u7f6e\u957f\u77ed\u4fe1\u7684\u81ea\u52a8\u5408\u5e76\u529f\u80fd\n\u4f20\u5165\u503c\uff1a\nbool \u662f\u5426\u81ea\u52a8\u5408\u5e76,true\u4e3a\u81ea\u52a8\u5408\u5e76,\u4e3a\u9ed8\u8ba4\u503c\n\u8fd4\u56de\u503c\uff1a\nbool \u8bbe\u7f6e\u540e\u7684\u503c\n\u4f8b\u5b50\uff1a\n-- \u7981\u7528\u957f\u77ed\u4fe1\u7684\u81ea\u52a8\u5408\u5e76, \u4e00\u822c\u4e0d\u9700\u8981\u7981\u7528\nsms.autoLong(false)\n", "prefix": "sms.autoLong"}, "sms.clearLong": {"body": "sms.clearLong()", "description": "sms.clearLong() - \u6e05\u9664\u957f\u77ed\u4fe1\u7f13\u5b58\n\u8fd4\u56de\u503c\uff1a\nint \u6e05\u7406\u6389\u7684\u7247\u6bb5\u6570\u91cf\n\u4f8b\u5b50\uff1a\nsms.clearLong()\n", "prefix": "sms.clearLong"}, "socket.sntp": {"body": "socket.sntp(${1:sntp_server})", "description": "socket.sntp(sntp_server) - sntp\u65f6\u95f4\u540c\u6b65\n\u4f20\u5165\u503c\uff1a\nstring/table sntp\u670d\u52a1\u5668\u5730\u5740 \u9009\u586b\nint \u9002\u914d\u5668\u5e8f\u53f7\uff0c \u53ea\u80fd\u662fsocket.ETH0\uff08\u5916\u7f6e\u4ee5\u592a\u7f51\uff09\uff0csocket.LWIP_ETH\uff08\u5185\u7f6e\u4ee5\u592a\u7f51\uff09\uff0csocket.LWIP_STA\uff08\u5185\u7f6eWIFI\u7684STA\uff09\uff0csocket.LWIP_AP\uff08\u5185\u7f6eWIFI\u7684AP\uff09\uff0csocket.LWIP_GP\uff08\u5185\u7f6e\u8702\u7a9d\u7f51\u7edc\u7684GPRS\uff09\uff0csocket.USB\uff08\u5916\u7f6eUSB\u7f51\u5361\uff09\uff0c\u5982\u679c\u4e0d\u586b\uff0c\u4f18\u5148\u9009\u62e9soc\u5e73\u53f0\u81ea\u5e26\u80fd\u4e0a\u5916\u7f51\u7684\u9002\u914d\u5668\uff0c\u82e5\u4ecd\u7136\u6ca1\u6709\uff0c\u9009\u62e9\u6700\u540e\u4e00\u4e2a\u6ce8\u518c\u7684\u9002\u914d\u5668\n\u4f8b\u5b50\uff1a\nsocket.sntp()\n--socket.sntp(\"ntp.aliyun.com\") --\u81ea\u5b9a\u4e49sntp\u670d\u52a1\u5668\u5730\u5740\n--socket.sntp({\"ntp.aliyun.com\",\"ntp1.aliyun.com\",\"ntp2.aliyun.com\"}) --sntp\u81ea\u5b9a\u4e49\u670d\u52a1\u5668\u5730\u5740\n--socket.sntp(nil, socket.ETH0) --sntp\u81ea\u5b9a\u4e49\u9002\u914d\u5668\u5e8f\u53f7\nsys.subscribe(\"NTP_UPDATE\", function()\n log.info(\"sntp\", \"time\", os.date())\nend)\nsys.subscribe(\"NTP_ERROR\", function()\n log.info(\"socket\", \"sntp error\")\n socket.sntp()\nend)\n", "prefix": "socket.sntp"}, "socket.localIP": {"body": "socket.localIP(${1:adapter})", "description": "socket.localIP(adapter) - \u83b7\u53d6\u672c\u5730ip\n\u4f20\u5165\u503c\uff1a\nint \u9002\u914d\u5668\u5e8f\u53f7\uff0c \u53ea\u80fd\u662fsocket.ETH0\uff08\u5916\u7f6e\u4ee5\u592a\u7f51\uff09\uff0csocket.LWIP_ETH\uff08\u5185\u7f6e\u4ee5\u592a\u7f51\uff09\uff0csocket.LWIP_STA\uff08\u5185\u7f6eWIFI\u7684STA\uff09\uff0csocket.LWIP_AP\uff08\u5185\u7f6eWIFI\u7684AP\uff09\uff0csocket.LWIP_GP\uff08\u5185\u7f6e\u8702\u7a9d\u7f51\u7edc\u7684GPRS\uff09\uff0csocket.USB\uff08\u5916\u7f6eUSB\u7f51\u5361\uff09\uff0c\u5982\u679c\u4e0d\u586b\uff0c\u4f18\u5148\u9009\u62e9soc\u5e73\u53f0\u81ea\u5e26\u80fd\u4e0a\u5916\u7f51\u7684\u9002\u914d\u5668\uff0c\u82e5\u4ecd\u7136\u6ca1\u6709\uff0c\u9009\u62e9\u6700\u540e\u4e00\u4e2a\u6ce8\u518c\u7684\u9002\u914d\u5668\n\u8fd4\u56de\u503c\uff1a\nstring \u901a\u5e38\u662f\u5185\u7f51ip, \u4e5f\u53ef\u80fd\u662f\u5916\u7f51ip, \u53d6\u51b3\u4e8e\u8fd0\u8425\u5546\u7684\u5206\u914d\nstring \u7f51\u7edc\u63a9\u7801\nstring \u7f51\u5173IP\n\u4f8b\u5b50\uff1a\nsys.taskInit(function()\n while 1 do\n sys.wait(3000)\n log.info(\"socket\", \"ip\", socket.localIP())\n\t\t-- \u8f93\u51fa\u793a\u4f8b\n\t\t-- 62.39.244.10\t255.255.255.255\t0.0.0.0\n end\nend)\n", "prefix": "socket.localIP"}, "socket.create": {"body": "socket.create(${1:adapter},${2:cb})", "description": "socket.create(adapter, cb) - \u5728\u67d0\u4e2a\u9002\u914d\u7684\u7f51\u5361\u4e0a\u7533\u8bf7\u4e00\u4e2asocket_ctrl\n\u4f20\u5165\u503c\uff1a\nint \u9002\u914d\u5668\u5e8f\u53f7\uff0c \u53ea\u80fd\u662fsocket.ETH0\uff08\u5916\u7f6e\u4ee5\u592a\u7f51\uff09\uff0csocket.LWIP_ETH\uff08\u5185\u7f6e\u4ee5\u592a\u7f51\uff09\uff0csocket.LWIP_STA\uff08\u5185\u7f6eWIFI\u7684STA\uff09\uff0csocket.LWIP_AP\uff08\u5185\u7f6eWIFI\u7684AP\uff09\uff0csocket.LWIP_GP\uff08\u5185\u7f6e\u8702\u7a9d\u7f51\u7edc\u7684GPRS\uff09\uff0csocket.USB\uff08\u5916\u7f6eUSB\u7f51\u5361\uff09\uff0c\u5982\u679c\u4e0d\u586b\uff0c\u4f18\u5148\u9009\u62e9soc\u5e73\u53f0\u81ea\u5e26\u80fd\u4e0a\u5916\u7f51\u7684\u9002\u914d\u5668\uff0c\u82e5\u4ecd\u7136\u6ca1\u6709\uff0c\u9009\u62e9\u6700\u540e\u4e00\u4e2a\u6ce8\u518c\u7684\u9002\u914d\u5668\nstring or function string\u4e3a\u6d88\u606f\u901a\u77e5\u7684taskName\uff0cfunction\u5219\u4e3a\u56de\u8c03\u51fd\u6570\uff0c\u5982\u679c\u56fa\u4ef6\u6ca1\u6709\u5185\u7f6esys_wait\uff0c\u5219\u5fc5\u987b\u662ffunction\n", "prefix": "socket.create"}, "socket.debug": {"body": "socket.debug(${1:ctrl},${2:onoff})", "description": "socket.debug(ctrl, onoff) - \u914d\u7f6e\u662f\u5426\u6253\u5f00debug\u4fe1\u606f\n\u4f20\u5165\u503c\uff1a\nuser_data socket.create\u5f97\u5230\u7684ctrl\nboolean true \u6253\u5f00debug\u5f00\u5173\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n-- \u6253\u5f00\u8c03\u8bd5\u4fe1\u606f,\u9ed8\u8ba4\u662f\u5173\u95ed\u72b6\u6001\nsocket.debug(ctrl, true)\n", "prefix": "socket.debug"}, "socket.config": {"body": "socket.config(${1:ctrl},${2:local_port},${3:is_udp},${4:is_tls},${5:keep_idle},${6:keep_interval},${7:keep_cnt},${8:server_cert},${9:client_cert},${10:client_key},${11:client_password})", "description": "socket.config(ctrl, local_port, is_udp, is_tls, keep_idle, keep_interval, keep_cnt, server_cert, client_cert, client_key, client_password) - \u914d\u7f6enetwork\u4e00\u4e9b\u4fe1\u606f\uff0c\n\u4f20\u5165\u503c\uff1a\nuser_data socket.create\u5f97\u5230\u7684ctrl\nint \u672c\u5730\u7aef\u53e3\u53f7\uff0c\u5c0f\u7aef\u683c\u5f0f\uff0c\u5982\u679c\u4e0d\u5199\uff0c\u5219\u81ea\u52a8\u5206\u914d\u4e00\u4e2a\uff0c\u5982\u679c\u7528\u6237\u586b\u4e86\u7aef\u53e3\u53f7\u5219\u9700\u8981\u5c0f\u4e8e60000, \u9ed8\u8ba4\u4e0d\u5199\nboolean \u662f\u5426\u662fUDP\uff0c\u9ed8\u8ba4false\nboolean \u662f\u5426\u662f\u52a0\u5bc6\u4f20\u8f93\uff0c\u9ed8\u8ba4false\nint tcp keep live\u6a21\u5f0f\u4e0b\u7684idle\u65f6\u95f4\uff08\u79d2\uff09\uff0c\u5982\u679c\u7559\u7a7a\u5219\u8868\u793a\u4e0d\u542f\u7528\uff0c\u5982\u679c\u662f\u4e0d\u652f\u6301\u6807\u51c6posix\u63a5\u53e3\u7684\u7f51\u5361\uff08\u6bd4\u5982W5500\uff09\uff0c\u5219\u4e3a\u5fc3\u8df3\u95f4\u9694\nint tcp keep live\u6a21\u5f0f\u4e0b\u7684\u63a2\u6d4b\u95f4\u9694\u65f6\u95f4\uff08\u79d2\uff09\nint tcp keep live\u6a21\u5f0f\u4e0b\u7684\u63a2\u6d4b\u6b21\u6570\nstring TCP\u6a21\u5f0f\u4e0b\u7684\u670d\u52a1\u5668ca\u8bc1\u4e66\u6570\u636e\uff0cUDP\u6a21\u5f0f\u4e0b\u7684PSK\uff0c\u4e0d\u9700\u8981\u52a0\u5bc6\u4f20\u8f93\u5199nil\uff0c\u540e\u7eed\u53c2\u6570\u4e5f\u5168\u90e8nil\nstring TCP\u6a21\u5f0f\u4e0b\u7684\u5ba2\u6237\u7aefca\u8bc1\u4e66\u6570\u636e\uff0cUDP\u6a21\u5f0f\u4e0b\u7684PSK-ID\uff0cTCP\u6a21\u5f0f\u4e0b\u5982\u679c\u4e0d\u9700\u8981\u9a8c\u8bc1\u5ba2\u6237\u7aef\u8bc1\u4e66\u65f6\uff0c\u5ffd\u7565\uff0c\u4e00\u822c\u4e0d\u9700\u8981\u9a8c\u8bc1\u5ba2\u6237\u7aef\u8bc1\u4e66\nstring TCP\u6a21\u5f0f\u4e0b\u7684\u5ba2\u6237\u7aef\u79c1\u94a5\u52a0\u5bc6\u6570\u636e\nstring TCP\u6a21\u5f0f\u4e0b\u7684\u5ba2\u6237\u7aef\u79c1\u94a5\u53e3\u4ee4\u6570\u636e\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue\uff0c\u5931\u8d25\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n--\u6700\u666e\u901a\u7684TCP\u4f20\u8f93\nsocket.config(ctrl)\n--\u6700\u666e\u901a\u7684\u52a0\u5bc6TCP\u4f20\u8f93\uff0c\u8bc1\u4e66\u90fd\u4e0d\u7528\u9a8c\u8bc1\u7684\u90a3\u79cd\nsocket.config(ctrl, nil, nil ,true)\n", "prefix": "socket.config"}, "socket.linkup": {"body": "socket.linkup(${1:ctrl})", "description": "socket.linkup(ctrl) - \u7b49\u5f85\u7f51\u5361linkup\n\u4f20\u5165\u503c\uff1a\nuser_data socket.create\u5f97\u5230\u7684ctrl\n\u8fd4\u56de\u503c\uff1a\nboolean true\u6ca1\u6709\u5f02\u5e38\u53d1\u751f\uff0cfalse\u5931\u8d25\u4e86\uff0c\u5982\u679cfalse\u5219\u4e0d\u9700\u8981\u770b\u4e0b\u4e00\u4e2a\u8fd4\u56de\u503c\u4e86\nboolean true\u5df2\u7ecflinkup\uff0cfalse\u6ca1\u6709linkup\uff0c\u4e4b\u540e\u9700\u8981\u63a5\u6536socket.LINK\u6d88\u606f\n\u4f8b\u5b50\uff1a\n-- \u5224\u65ad\u4e00\u4e0b\u662f\u5426\u5df2\u7ecf\u8054\u7f51\nlocal succ, result = socket.linkup(ctrl)\n", "prefix": "socket.linkup"}, "socket.connect": {"body": "socket.connect(${1:ctrl},${2:ip},${3:remote_port},${4:need_ipv6_dns})", "description": "socket.connect(ctrl, ip, remote_port, need_ipv6_dns) - \u4f5c\u4e3a\u5ba2\u6237\u7aef\u8fde\u63a5\u670d\u52a1\u5668\n\u4f20\u5165\u503c\uff1a\nuser_data socket.create\u5f97\u5230\u7684ctrl\nstring or int ip\u6216\u8005\u57df\u540d\uff0c\u5982\u679c\u662fIPV4\uff0c\u53ef\u4ee5\u662f\u5927\u7aef\u683c\u5f0f\u7684int\u503c\nint \u670d\u52a1\u5668\u7aef\u53e3\u53f7\uff0c\u5c0f\u7aef\u683c\u5f0f\nboolean \u57df\u540d\u89e3\u6790\u662f\u5426\u8981IPV6\uff0ctrue\u8981\uff0cfalse\u4e0d\u8981\uff0c\u9ed8\u8ba4false\u4e0d\u8981\uff0c\u53ea\u6709\u652f\u6301IPV6\u7684\u534f\u8bae\u6808\u624d\u6709\u6548\u679c\n\u8fd4\u56de\u503c\uff1a\nboolean true\u6ca1\u6709\u5f02\u5e38\u53d1\u751f\uff0cfalse\u5931\u8d25\u4e86\uff0c\u5982\u679cfalse\u5219\u4e0d\u9700\u8981\u770b\u4e0b\u4e00\u4e2a\u8fd4\u56de\u503c\u4e86\uff0c\u5982\u679c\u6709\u5f02\u5e38\uff0c\u540e\u7eed\u8981close\nboolean true\u5df2\u7ecfconnect\uff0cfalse\u6ca1\u6709connect\uff0c\u4e4b\u540e\u9700\u8981\u63a5\u6536socket.ON_LINE\u6d88\u606f\n\u4f8b\u5b50\uff1a\n\nlocal succ, result = socket.connect(ctrl, \"netlab.luatos.com\", 40123)\n\n--[[\n\u5e38\u89c1\u7684\u8fde\u63a5\u5931\u8d25\u7684code\u503c, \u4f1a\u5728\u65e5\u5fd7\u4e2d\u663e\u793a\n-1 \u5e95\u5c42\u5185\u5b58\u4e0d\u8db3\n-3 \u8d85\u65f6\n-8 \u7aef\u53e3\u5df2\u7ecf\u88ab\u5360\u7528\n-11 \u94fe\u63a5\u672a\u5efa\u7acb\n-13 \u6a21\u5757\u4e3b\u52a8\u65ad\u5f00\u8fde\u63a5\n-14 \u670d\u52a1\u5668\u4e3b\u52a8\u65ad\u5f00\u8fde\u63a5\n]]\n", "prefix": "socket.connect"}, "socket.discon": {"body": "socket.discon(${1:ctrl})", "description": "socket.discon(ctrl) - \u4f5c\u4e3a\u5ba2\u6237\u7aef\u65ad\u5f00\u8fde\u63a5\n\u4f20\u5165\u503c\uff1a\nuser_data socket.create\u5f97\u5230\u7684ctrl\n\u8fd4\u56de\u503c\uff1a\nboolean true\u6ca1\u6709\u5f02\u5e38\u53d1\u751f\uff0cfalse\u5931\u8d25\u4e86\uff0c\u5982\u679cfalse\u5219\u4e0d\u9700\u8981\u770b\u4e0b\u4e00\u4e2a\u8fd4\u56de\u503c\u4e86\nboolean true\u5df2\u7ecf\u65ad\u5f00\uff0cfalse\u6ca1\u6709\u65ad\u5f00\uff0c\u4e4b\u540e\u9700\u8981\u63a5\u6536socket.CLOSED\u6d88\u606f\n\u4f8b\u5b50\uff1a\nlocal succ, result = socket.discon(ctrl)\n", "prefix": "socket.discon"}, "socket.close": {"body": "socket.close(${1:ctrl})", "description": "socket.close(ctrl) - \u5f3a\u5236\u5173\u95edsocket\n\u4f20\u5165\u503c\uff1a\nuser_data socket.create\u5f97\u5230\u7684ctrl\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n", "prefix": "socket.close"}, "socket.tx": {"body": "socket.tx(${1:ctrl},${2:data},${3:ip},${4:port},${5:flag})", "description": "socket.tx(ctrl, data, ip, port, flag) - \u53d1\u9001\u6570\u636e\u7ed9\u5bf9\u7aef\uff0cUDP\u5355\u6b21\u53d1\u9001\u4e0d\u8981\u8d85\u8fc71460\u5b57\u8282\uff0c\u5426\u5219\u5f88\u5bb9\u6613\u5931\u8d25\n\u4f20\u5165\u503c\uff1a\nuser_data socket.create\u5f97\u5230\u7684ctrl\nstring or user_data zbuff \u8981\u53d1\u9001\u7684\u6570\u636e\nstring or int \u5bf9\u7aefIP\uff0c\u5982\u679c\u662fTCP\u5e94\u7528\u5219\u5ffd\u7565\uff0c\u5982\u679c\u662fUDP\uff0c\u5982\u679c\u7559\u7a7a\u5219\u7528connect\u65f6\u5019\u7684\u53c2\u6570\uff0c\u5982\u679c\u662fIPV4\uff0c\u53ef\u4ee5\u662f\u5927\u7aef\u683c\u5f0f\u7684int\u503c\nint \u5bf9\u7aef\u7aef\u53e3\u53f7\uff0c\u5c0f\u7aef\u683c\u5f0f\uff0c\u5982\u679c\u662fTCP\u5e94\u7528\u5219\u5ffd\u7565\uff0c\u5982\u679c\u662fUDP\uff0c\u5982\u679c\u7559\u7a7a\u5219\u7528connect\u65f6\u5019\u7684\u53c2\u6570\nint \u53d1\u9001\u53c2\u6570\uff0c\u76ee\u524d\u9884\u7559\uff0c\u4e0d\u8d77\u4f5c\u7528\n\u8fd4\u56de\u503c\uff1a\nboolean true\u6ca1\u6709\u5f02\u5e38\u53d1\u751f\uff0cfalse\u5931\u8d25\u4e86\uff0c\u5982\u679cfalse\u5219\u4e0d\u9700\u8981\u770b\u4e0b\u4e00\u4e2a\u8fd4\u56de\u503c\u4e86\uff0c\u5982\u679cfalse\uff0c\u540e\u7eed\u8981close\nboolean true\u7f13\u51b2\u533a\u6ee1\u4e86\uff0cfalse\u6ca1\u6709\u6ee1\uff0c\u5982\u679ctrue\uff0c\u5219\u9700\u8981\u7b49\u5f85\u4e00\u6bb5\u65f6\u95f4\u6216\u8005\u7b49\u5230socket.TX_OK\u6d88\u606f\u540e\u518d\u5c1d\u8bd5\u53d1\u9001\uff0c\u540c\u65f6\u5ffd\u7565\u4e0b\u4e00\u4e2a\u8fd4\u56de\u503c\nboolean true\u5df2\u7ecf\u6536\u5230\u5e94\u7b54\uff0cfalse\u6ca1\u6709\u6536\u5230\u5e94\u7b54\uff0c\u4e4b\u540e\u9700\u8981\u63a5\u6536socket.TX_OK\u6d88\u606f\uff0c \u4e5f\u53ef\u4ee5\u5ffd\u7565\u7ee7\u7eed\u53d1\u9001\uff0c\u76f4\u5230full==true\n\u4f8b\u5b50\uff1a\n\nlocal succ, full, result = socket.tx(ctrl, \"123456\", \"xxx.xxx.xxx.xxx\", xxxx)\n", "prefix": "socket.tx"}, "socket.rx": {"body": "socket.rx(${1:ctrl},${2:buff},${3:flag})", "description": "socket.rx(ctrl, buff, flag) - \u63a5\u6536\u5bf9\u7aef\u53d1\u51fa\u7684\u6570\u636e\uff0c\u6ce8\u610f\u6570\u636e\u5df2\u7ecf\u7f13\u5b58\u5728\u5e95\u5c42\uff0c\u4f7f\u7528\u672c\u51fd\u6570\u53ea\u662f\u63d0\u53d6\u51fa\u6765\uff0cUDP\u6a21\u5f0f\u4e0b\u4e00\u6b21\u53ea\u4f1a\u53d6\u51fa\u4e00\u4e2a\u6570\u636e\u5305\n\u4f20\u5165\u503c\uff1a\nuser_data socket.create\u5f97\u5230\u7684ctrl\nuser_data zbuff \u5b58\u653e\u63a5\u6536\u7684\u6570\u636e\uff0c\u5982\u679c\u7f13\u51b2\u533a\u4e0d\u591f\u5927\u4f1a\u81ea\u52a8\u6269\u5bb9\nint \u63a5\u6536\u53c2\u6570\uff0c\u76ee\u524d\u9884\u7559\uff0c\u4e0d\u8d77\u4f5c\u7528\n\u8fd4\u56de\u503c\uff1a\nboolean true\u6ca1\u6709\u5f02\u5e38\u53d1\u751f\uff0cfalse\u5931\u8d25\u4e86\uff0c\u5982\u679cfalse\u5219\u4e0d\u9700\u8981\u770b\u4e0b\u4e00\u4e2a\u8fd4\u56de\u503c\u4e86\uff0c\u5982\u679cfalse\uff0c\u540e\u7eed\u8981close\nint \u672c\u6b21\u63a5\u6536\u5230\u6570\u636e\u957f\u5ea6\nstring \u5bf9\u7aefIP\uff0c\u53ea\u6709UDP\u6a21\u5f0f\u4e0b\u624d\u6709\u610f\u4e49\uff0cTCP\u6a21\u5f0f\u8fd4\u56denil\uff0c\u6ce8\u610f\u8fd4\u56de\u7684\u683c\u5f0f\uff0c\u5982\u679c\u662fIPV4\uff0c1byte 0x00 + 4byte\u5730\u5740 \u5982\u679c\u662fIPV6\uff0c1byte 0x01 + 16byte\u5730\u5740\nint \u5bf9\u7aefport\uff0c\u53ea\u6709UDP\u6a21\u5f0f\u4e0b\u624d\u6709\u610f\u4e49\uff0cTCP\u6a21\u5f0f\u8fd4\u56de0\n\u4f8b\u5b50\uff1a\nlocal succ, data_len, ip, port = socket.rx(ctrl, buff)\n", "prefix": "socket.rx"}, "socket.wait": {"body": "socket.wait(${1:ctrl})", "description": "socket.wait(ctrl) - \u7b49\u5f85\u65b0\u7684socket\u6d88\u606f\uff0c\u5728\u8fde\u63a5\u6210\u529f\u548c\u53d1\u9001\u6570\u636e\u6210\u529f\u540e\uff0c\u4f7f\u7528\u4e00\u6b21\u5c06network\u72b6\u6001\u8f6c\u6362\u5230\u63a5\u6536\u65b0\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nuser_data socket.create\u5f97\u5230\u7684ctrl\n\u8fd4\u56de\u503c\uff1a\nboolean true\u6ca1\u6709\u5f02\u5e38\u53d1\u751f\uff0cfalse\u5931\u8d25\u4e86\uff0c\u5982\u679cfalse\u5219\u4e0d\u9700\u8981\u770b\u4e0b\u4e00\u4e2a\u8fd4\u56de\u503c\u4e86\uff0c\u5982\u679cfalse\uff0c\u540e\u7eed\u8981close\nboolean true\u6709\u65b0\u7684\u6570\u636e\u9700\u8981\u63a5\u6536\uff0cfalse\u6ca1\u6709\u6570\u636e\uff0c\u4e4b\u540e\u9700\u8981\u63a5\u6536socket.EVENT\u6d88\u606f\n\u4f8b\u5b50\uff1a\nlocal succ, result = socket.wait(ctrl)\n", "prefix": "socket.wait"}, "socket.listen": {"body": "socket.listen(${1:ctrl})", "description": "socket.listen(ctrl) - \u4f5c\u4e3a\u670d\u52a1\u7aef\u5f00\u59cb\u76d1\u542c\n\u4f20\u5165\u503c\uff1a\nuser_data socket.create\u5f97\u5230\u7684ctrl\n\u8fd4\u56de\u503c\uff1a\nboolean true\u6ca1\u6709\u5f02\u5e38\u53d1\u751f\uff0cfalse\u5931\u8d25\u4e86\uff0c\u5982\u679cfalse\u5219\u4e0d\u9700\u8981\u770b\u4e0b\u4e00\u4e2a\u8fd4\u56de\u503c\u4e86\uff0c\u5982\u679cfalse\uff0c\u540e\u7eed\u8981close\nboolean true\u5df2\u7ecfconnect\uff0cfalse\u6ca1\u6709connect\uff0c\u4e4b\u540e\u9700\u8981\u63a5\u6536socket.ON_LINE\u6d88\u606f\n\u4f8b\u5b50\uff1a\nlocal succ, result = socket.listen(ctrl)\n", "prefix": "socket.listen"}, "socket.accept": {"body": "socket.accept(${1:ctrl})", "description": "socket.accept(ctrl) - \u4f5c\u4e3a\u670d\u52a1\u7aef\u63a5\u6536\u5230\u4e00\u4e2a\u65b0\u7684\u5ba2\u6237\u7aef\uff0c\u6ce8\u610f\uff0c\u5982\u679c\u662f\u7c7b\u4f3cW5500\u7684\u786c\u4ef6\u534f\u8bae\u6808\u4e0d\u652f\u63011\u5bf9\u591a\uff0c\u5219\u4e0d\u9700\u8981\u7b2c\u4e8c\u4e2a\u53c2\u6570\n\u4f20\u5165\u503c\uff1a\nuser_data socket.create\u5f97\u5230\u7684ctrl\uff0c\u8fd9\u91cc\u662f\u670d\u52a1\u5668\u7aef\nstring or function or nil string\u4e3a\u6d88\u606f\u901a\u77e5\u7684taskName\uff0cfunction\u5219\u4e3a\u56de\u8c03\u51fd\u6570\uff0c\u548csocket.create\u53c2\u6570\u4e00\u81f4\n\u8fd4\u56de\u503c\uff1a\nboolean true\u6ca1\u6709\u5f02\u5e38\u53d1\u751f\uff0cfalse\u5931\u8d25\u4e86\uff0c\u5982\u679cfalse\u5219\u4e0d\u9700\u8981\u770b\u4e0b\u4e00\u4e2a\u8fd4\u56de\u503c\u4e86\uff0c\u5982\u679cfalse\uff0c\u540e\u7eed\u8981close\nuser_data or nil \u5982\u679c\u652f\u63011\u5bf9\u591a\uff0c\u5219\u4f1a\u8fd4\u56de\u65b0\u7684ctrl\uff0c\u81ea\u52a8create\uff0c\u5982\u679c\u4e0d\u652f\u6301\u5219\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\nlocal succ, new_netc = socket.listen(ctrl, cb)\n", "prefix": "socket.accept"}, "socket.release": {"body": "socket.release(${1:ctrl})", "description": "socket.release(ctrl) - \u4e3b\u52a8\u91ca\u653e\u6389network_ctrl\n", "prefix": "socket.release"}, "socket.setDNS": {"body": "socket.setDNS(${1:adapter_index},${2:dns_index},${3:ip})", "description": "socket.setDNS(adapter_index, dns_index, ip) - \u8bbe\u7f6eDNS\u670d\u52a1\u5668\n\u4f20\u5165\u503c\uff1a\nint \u9002\u914d\u5668\u5e8f\u53f7\uff0c \u53ea\u80fd\u662fsocket.ETH0\uff0csocket.STA\uff0csocket.AP\uff0c\u5982\u679c\u4e0d\u586b\uff0c\u4f1a\u9009\u62e9\u6700\u540e\u4e00\u4e2a\u6ce8\u518c\u7684\u9002\u914d\u5668\nint dns\u670d\u52a1\u5668\u5e8f\u53f7\uff0c\u4ece1\u5f00\u59cb\nstring or int dns\uff0c\u5982\u679c\u662fIPV4\uff0c\u53ef\u4ee5\u662f\u5927\u7aef\u683c\u5f0f\u7684int\u503c\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue\uff0c\u5931\u8d25\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- \u8bbe\u7f6e\u9ed8\u8ba4\u7f51\u7edc\u9002\u914d\u5668\u7684DNS\u914d\u7f6e\nsocket.setDNS(nil, 1, \"114.114.114.114\")\n-- \u8bbe\u7f6e\u5236\u5b9a\u7f51\u7edc\u9002\u914d\u5668\u7684DNS\u914d\u7f6e\nsocket.setDNS(socket.ETH0, 1, \"114.114.114.114\")\n", "prefix": "socket.setDNS"}, "socket.sslLog": {"body": "socket.sslLog(${1:log_level})", "description": "socket.sslLog(log_level) - \u8bbe\u7f6eSSL\u7684log\u767b\u8bb0\n\u4f20\u5165\u503c\uff1a\nint\tmbedtls log\u7b49\u7ea7\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n--[[\nSSL/TLS log\u7ea7\u522b\u8bf4\u660e\n0\u4e0d\u6253\u5370\n1\u53ea\u6253\u5370\u9519\u8bef\u548c\u8b66\n2\u5927\u90e8\u5206info\n3\u53ca3\u4ee5\u4e0a\u8be6\u7ec6\u7684debug\n\n\u8fc7\u591a\u7684\u4fe1\u606f\u53ef\u80fd\u4f1a\u9020\u6210\u5185\u5b58\u788e\u7247\u5316\n]]\n-- \u6253\u5370\u5927\u90e8\u5206info\u65e5\u5fd7\nsocket.sslLog(2)\n", "prefix": "socket.sslLog"}, "socket.adapter": {"body": "socket.adapter(${1:index})", "description": "socket.adapter(index) - \u67e5\u770b\u7f51\u5361\u9002\u914d\u5668\u7684\u8054\u7f51\u72b6\u6001\n\u4f20\u5165\u503c\uff1a\nint \u9700\u8981\u67e5\u770b\u7684\u9002\u914d\u5668\u5e8f\u53f7\uff0c\u53ef\u4ee5\u7559\u7a7a\u4f1a\u67e5\u770b\u5168\u90e8\u7f51\u5361\uff0c\u76f4\u5230\u9047\u5230IP READY\u7684\uff0c\u5982\u679c\u6307\u5b9a\u7f51\u5361\uff0c\u53ea\u80fd\u662fsocket.ETH0\uff08\u5916\u7f6e\u4ee5\u592a\u7f51\uff09\uff0csocket.LWIP_ETH\uff08\u5185\u7f6e\u4ee5\u592a\u7f51\uff09\uff0csocket.LWIP_STA\uff08\u5185\u7f6eWIFI\u7684STA\uff09\uff0csocket.LWIP_AP\uff08\u5185\u7f6eWIFI\u7684AP\uff09\uff0csocket.LWIP_GP\uff08\u5185\u7f6e\u8702\u7a9d\u7f51\u7edc\u7684GPRS\uff09\uff0csocket.USB\uff08\u5916\u7f6eUSB\u7f51\u5361\uff09\n\u8fd4\u56de\u503c\uff1a\nboolean \u88ab\u67e5\u770b\u7684\u9002\u914d\u5668\u662f\u5426IP READY,true\u8868\u793a\u5df2\u7ecf\u51c6\u5907\u597d\u53ef\u4ee5\u8054\u7f51\u4e86,false\u6682\u65f6\u4e0d\u53ef\u4ee5\u8054\u7f51\nint \u6700\u540e\u4e00\u4e2a\u88ab\u67e5\u770b\u7684\u9002\u914d\u5668\u5e8f\u53f7\n\u4f8b\u5b50\uff1a\n-- \u67e5\u770b\u5168\u90e8\u7f51\u5361\uff0c\u76f4\u5230\u627e\u5230\u4e00\u4e2a\u662fIP READY\u7684\nlocal isReady,index = socket.adapter() --\u5982\u679cisReady\u4e3atrue,\u5219index\u4e3aIP READY\u7684\u7f51\u5361\u9002\u914d\u5668\u5e8f\u53f7\n--\u67e5\u770b\u5916\u7f6e\u4ee5\u592a\u7f51\uff08\u6bd4\u5982W5500\uff09\u662f\u5426IP READY\nlocal isReady,default = socket.adapter(socket.ETH0)\n", "prefix": "socket.adapter"}, "socket.remoteIP": {"body": "socket.remoteIP(${1:ctrl})", "description": "socket.remoteIP(ctrl) - \u83b7\u53d6\u5bf9\u7aefip\n\u4f20\u5165\u503c\uff1a\nuser_data socket.create\u5f97\u5230\u7684ctrl\n\u8fd4\u56de\u503c\uff1a\nstring IP1\uff0c\u5982\u679c\u4e3anil\uff0c\u5219\u8868\u793a\u6ca1\u6709\u83b7\u53d6\u5230IP\u5730\u5740\nstring IP2\uff0c\u5982\u679c\u4e3anil\uff0c\u5219\u8868\u793a\u6ca1\u6709IP2\nstring IP3\uff0c\u5982\u679c\u4e3anil\uff0c\u5219\u8868\u793a\u6ca1\u6709IP3\nstring IP4\uff0c\u5982\u679c\u4e3anil\uff0c\u5219\u8868\u793a\u6ca1\u6709IP4\n\u4f8b\u5b50\uff1a\n-- \u6ce8\u610f: \uff0c\u5fc5\u987b\u5728\u63a5\u6536\u5230socket.ON_LINE\u6d88\u606f\u4e4b\u540e\u624d\u53ef\u80fd\u83b7\u53d6\u5230\uff0c\u6700\u591a\u8fd4\u56de4\u4e2aIP\u3002\n-- socket.connect\u91cc\u5982\u679cremote_port\u8bbe\u7f6e\u62100\uff0c\u5219\u5f53DNS\u5b8c\u6210\u65f6\u5c31\u8fd4\u56desocket.ON_LINE\u6d88\u606f\nlocal ip1,ip2,ip3,ip4 = socket.remoteIP(ctrl)\n", "prefix": "socket.remoteIP"}, "softkb.init": {"body": "softkb.init(${1:port},${2:key_in},${3:key_out})", "description": "softkb.init(port, key_in, key_out) - \u521d\u59cb\u5316\u8f6f\u4ef6\u952e\u76d8\u77e9\u9635\n\u4f20\u5165\u503c\uff1a\nint \u9884\u7559, \u5f53\u524d\u586b0\ntable \u77e9\u9635\u8f93\u5165\u6309\u952e\u8868\ntable \u77e9\u9635\u8f93\u51fa\u6309\u952e\u8868\n\u4f8b\u5b50\uff1a\n key_in = {pin.PD10,pin.PE00,pin.PE01,pin.PE02}\n key_out = {pin.PD12,pin.PD13,pin.PD14,pin.PD15}\n softkb.init(0,key_in,key_out)\n\nsys.subscribe(\"SOFT_KB_INC\", function(port, data, state)\n -- port \u5f53\u524d\u56fa\u5b9a\u4e3a0, \u53ef\u4ee5\u65e0\u89c6\n -- data, \u9700\u8981\u914d\u5408init\u7684map\u8fdb\u884c\u89e3\u6790\n -- state, 1 \u4e3a\u6309\u4e0b, 0 \u4e3a \u91ca\u653e\n -- TODO \u8be6\u7ec6\u4ecb\u7ecd\nend)\n", "prefix": "softkb.init"}, "softkb.deinit": {"body": "softkb.deinit(${1:port})", "description": "softkb.deinit(port) - \u5220\u9664\u8f6f\u4ef6\u952e\u76d8\u77e9\u9635\n\u4f20\u5165\u503c\uff1a\nint \u9884\u7559, \u5f53\u524d\u586b0\n\u4f8b\u5b50\uff1a\n softkb.deinit(0)\n", "prefix": "softkb.deinit"}, "spi.setup": {"body": "spi.setup(${1:id},${2:cs},${3:CPHA},${4:CPOL},${5:dataw},${6:bandrate},${7:bitdict},${8:ms},${9:mode})", "description": "spi.setup(id, cs, CPHA, CPOL, dataw, bandrate, bitdict, ms, mode) - \u8bbe\u7f6e\u5e76\u542f\u7528SPI\n\u4f20\u5165\u503c\uff1a\nint SPI\u53f7,\u4f8b\u59820\nint CS \u7247\u9009\u811a,\u5728w600\u4e0d\u53ef\u7528\u8bf7\u586bnil\nint CPHA \u9ed8\u8ba40,\u53ef\u90090/1\nint CPOL \u9ed8\u8ba40,\u53ef\u90090/1\nint \u6570\u636e\u5bbd\u5ea6,\u9ed8\u8ba48bit\nint \u6ce2\u7279\u7387,\u9ed8\u8ba42M=2000000\nint \u5927\u5c0f\u7aef, \u9ed8\u8ba4spi.MSB, \u53ef\u9009spi.LSB\nint \u4e3b\u4ece\u8bbe\u7f6e, \u9ed8\u8ba4\u4e3b1, \u53ef\u9009\u4ece\u673a0. \u901a\u5e38\u53ea\u652f\u6301\u4e3b\u673a\u6a21\u5f0f\nint \u5de5\u4f5c\u6a21\u5f0f, \u5168\u53cc\u5de51, \u534a\u53cc\u5de50, \u9ed8\u8ba4\u5168\u53cc\u5de5\n\u8fd4\u56de\u503c\uff1a\nint \u6210\u529f\u8fd4\u56de0,\u5426\u5219\u8fd4\u56de\u5176\u4ed6\u503c\n\u4f8b\u5b50\uff1a\n-- \u521d\u59cb\u5316spi\nspi.setup(0,20,0,0,8,2000000,spi.MSB,1,1)\n", "prefix": "spi.setup"}, "spi.createSoft": {"body": "spi.createSoft(${1:cs},${2:mosi},${3:miso},${4:clk},${5:CPHA},${6:CPOL},${7:dataw},${8:bitdict},${9:ms},${10:mode})", "description": "spi.createSoft(cs, mosi, miso, clk, CPHA, CPOL, dataw, bitdict, ms, mode) - \u8bbe\u7f6e\u5e76\u542f\u7528\u8f6f\u4ef6SPI\n\u4f20\u5165\u503c\uff1a\nint cs\u5f15\u811a\u7f16\u53f7\uff0c\u4f20\u5165nil\u610f\u4e3aLua\u63a7\u5236cs\u811a\nint mosi\u5f15\u811a\u7f16\u53f7\nint miso\u5f15\u811a\u7f16\u53f7\nint clk\u5f15\u811a\u7f16\u53f7\nint \u9ed8\u8ba40\uff0c\u53ef\u90090/1\nint \u9ed8\u8ba40\uff0c\u53ef\u90090/1\nint \u6570\u636e\u5bbd\u5ea6\uff0c\u9ed8\u8ba48bit\nint \u5927\u5c0f\u7aef\uff0c\u9ed8\u8ba4spi.MSB, \u53ef\u9009spi.LSB\nint \u4e3b\u4ece\u8bbe\u7f6e\uff0c\u9ed8\u8ba4\u4e3b1, \u53ef\u9009\u4ece\u673a0. \u901a\u5e38\u53ea\u652f\u6301\u4e3b\u673a\u6a21\u5f0f\nint \u5de5\u4f5c\u6a21\u5f0f\uff0c\u5168\u53cc\u5de51\uff0c\u534a\u53cc\u5de50\uff0c\u9ed8\u8ba4\u534a\u53cc\u5de5\n\u8fd4\u56de\u503c\uff1a\n\u8f6f\u4ef6SPI\u5bf9\u8c61 \u53ef\u5f53\u4f5cSPI\u7684id\u4f7f\u7528\n\u4f8b\u5b50\uff1a\n-- \u521d\u59cb\u5316\u8f6f\u4ef6spi\nlocal softSpiDevice = spi.createSoft(0, 1, 2, 3, 0, 0, 8, spi.MSB, 1, 1)\nlocal result = spi.send(softSpiDevice, string.char(0x9f))\n", "prefix": "spi.createSoft"}, "spi.close": {"body": "spi.close(${1:id})", "description": "spi.close(id) - \u5173\u95ed\u6307\u5b9a\u7684SPI\n\u4f20\u5165\u503c\uff1a\nint SPI\u53f7,\u4f8b\u59820\n\u8fd4\u56de\u503c\uff1a\nint \u6210\u529f\u8fd4\u56de0,\u5426\u5219\u8fd4\u56de\u5176\u4ed6\u503c\n\u4f8b\u5b50\uff1a\n-- \u521d\u59cb\u5316spi\nspi.close(0)\n", "prefix": "spi.close"}, "spi.transfer": {"body": "spi.transfer(${1:id},${2:send_data[},${3:len]})", "description": "spi.transfer(id, send_data[, len]) - \u4f20\u8f93SPI\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nint SPI\u53f7(\u4f8b\u59820)\u6216\u8f6f\u4ef6SPI\u5bf9\u8c61\nstring/zbuff \u5f85\u53d1\u9001\u7684\u6570\u636e\uff0c\u5982\u679c\u4e3azbuff\u6570\u636e\uff0c\u5219\u4f1a\u4ece\u5bf9\u8c61\u6240\u5904\u7684\u6307\u9488\u5904\u5f00\u59cb\u8bfb\nint \u53ef\u9009\u3002\u5f85\u53d1\u9001\u6570\u636e\u7684\u957f\u5ea6\uff0c\u9ed8\u8ba4\u4e3adata\u957f\u5ea6\nint \u53ef\u9009\u3002\u8bfb\u53d6\u6570\u636e\u7684\u957f\u5ea6\uff0c\u9ed8\u8ba4\u4e3a1\n\u8fd4\u56de\u503c\uff1a\nstring \u8bfb\u53d6\u6210\u529f\u8fd4\u56de\u5b57\u7b26\u4e32,\u5426\u5219\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\n-- \u521d\u59cb\u5316spi\nspi.setup(0,nil,0,0,8,2000000,spi.MSB,1,1)\nlocal recv = spi.transfer(0, \"123\")--\u53d1\u9001123,\u5e76\u8bfb\u53d6\u6570\u636e\n\nlocal buff = zbuff.create(1024, 0x33) --\u521b\u5efa\u4e00\u4e2a\u521d\u503c\u5168\u4e3a0x33\u7684\u5185\u5b58\u533a\u57df\nlocal recv = spi.transfer(0, buff)--\u628azbuff\u6570\u636e\u4ece\u6307\u9488\u5f00\u59cb\uff0c\u5168\u53d1\u51fa\u53bb,\u5e76\u8bfb\u53d6\u6570\u636e\n", "prefix": "spi.transfer"}, "spi.recv": {"body": "spi.recv(${1:id},${2:size})", "description": "spi.recv(id, size) - \u63a5\u6536\u6307\u5b9a\u957f\u5ea6\u7684SPI\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nint SPI\u53f7,\u4f8b\u59820\nint \u6570\u636e\u957f\u5ea6\n\u8fd4\u56de\u503c\uff1a\nstring \u8bfb\u53d6\u6210\u529f\u8fd4\u56de\u5b57\u7b26\u4e32,\u5426\u5219\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\n-- \u521d\u59cb\u5316spi\nspi.setup(0,nil,0,0,8,2000000,spi.MSB,1,1)\nlocal recv = spi.recv(0, 4)--\u63a5\u65364\u5b57\u8282\u6570\u636e\n", "prefix": "spi.recv"}, "spi.send": {"body": "spi.send(${1:id},${2:data[},${3:len]})", "description": "spi.send(id, data[, len]) - \u53d1\u9001SPI\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nint SPI\u53f7,\u4f8b\u59820\nstring/zbuff \u5f85\u53d1\u9001\u7684\u6570\u636e\uff0c\u5982\u679c\u4e3azbuff\u6570\u636e\uff0c\u5219\u4f1a\u4ece\u5bf9\u8c61\u6240\u5904\u7684\u6307\u9488\u5904\u5f00\u59cb\u8bfb\nint \u53ef\u9009\u3002\u5f85\u53d1\u9001\u6570\u636e\u7684\u957f\u5ea6\uff0c\u9ed8\u8ba4\u4e3adata\u957f\u5ea6\n\u8fd4\u56de\u503c\uff1a\nint \u53d1\u9001\u7ed3\u679c\n\u4f8b\u5b50\uff1a\n-- \u521d\u59cb\u5316spi\nspi.setup(0,nil,0,0,8,2000000,spi.MSB,1,1)\nlocal result = spi.send(0, \"123\")--\u53d1\u9001123\n\nlocal buff = zbuff.create(1024, 0x33) --\u521b\u5efa\u4e00\u4e2a\u521d\u503c\u5168\u4e3a0x33\u7684\u5185\u5b58\u533a\u57df\nlocal result = spi.send(0, buff)--\u628azbuff\u6570\u636e\u4ece\u6307\u9488\u5f00\u59cb\uff0c\u5168\u53d1\u51fa\u53bb\n", "prefix": "spi.send"}, "spi.deviceSetup": {"body": "spi.deviceSetup(${1:id},${2:cs},${3:CPHA},${4:CPOL},${5:dataw},${6:bandrate},${7:bitdict},${8:ms},${9:mode})", "description": "spi.deviceSetup(id, cs, CPHA, CPOL, dataw, bandrate, bitdict, ms, mode) - \u8bbe\u7f6e\u5e76\u542f\u7528SPI(\u5bf9\u8c61\u65b9\u5f0f)\n\u4f20\u5165\u503c\uff1a\nint SPI\u53f7,\u4f8b\u59820\nint CS \u7247\u9009\u811a,\u5728w600\u4e0d\u53ef\u7528\u8bf7\u586bnil\nint CPHA \u9ed8\u8ba40,\u53ef\u90090/1\nint CPOL \u9ed8\u8ba40,\u53ef\u90090/1\nint \u6570\u636e\u5bbd\u5ea6,\u9ed8\u8ba48bit\nint \u6ce2\u7279\u7387,\u9ed8\u8ba420M=20000000\nint \u5927\u5c0f\u7aef, \u9ed8\u8ba4spi.MSB, \u53ef\u9009spi.LSB\nint \u4e3b\u4ece\u8bbe\u7f6e, \u9ed8\u8ba4\u4e3b1, \u53ef\u9009\u4ece\u673a0. \u901a\u5e38\u53ea\u652f\u6301\u4e3b\u673a\u6a21\u5f0f\nint \u5de5\u4f5c\u6a21\u5f0f, \u5168\u53cc\u5de51, \u534a\u53cc\u5de50, \u9ed8\u8ba4\u5168\u53cc\u5de5\n\u8fd4\u56de\u503c\uff1a\nuserdata spi_device\n\u4f8b\u5b50\uff1a\n-- \u521d\u59cb\u5316spi\nlocal spi_device = spi.deviceSetup(0,17,0,0,8,2000000,spi.MSB,1,1)\n", "prefix": "spi.deviceSetup"}, "spi_device:close": {"body": "spi_device:close()", "description": "spi_device:close() - \u5173\u95ed\u6307\u5b9a\u7684SPI(\u5bf9\u8c61\u65b9\u5f0f)\n\u4f20\u5165\u503c\uff1a\nuserdata spi_device\n\u8fd4\u56de\u503c\uff1a\nint \u6210\u529f\u8fd4\u56de0,\u5426\u5219\u8fd4\u56de\u5176\u4ed6\u503c\n\u4f8b\u5b50\uff1a\n-- \u521d\u59cb\u5316spi\nspi_device.close()\n", "prefix": "spi_device:close"}, "spi_device:transfer": {"body": "spi_device:transfer(${1:send_data[},${2:len]})", "description": "spi_device:transfer(send_data[, len]) - \u4f20\u8f93SPI\u6570\u636e(\u5bf9\u8c61\u65b9\u5f0f)\n\u4f20\u5165\u503c\uff1a\nuserdata spi_device\nstring/zbuff \u5f85\u53d1\u9001\u7684\u6570\u636e\uff0c\u5982\u679c\u4e3azbuff\u6570\u636e\uff0c\u5219\u4f1a\u4ece\u5bf9\u8c61\u6240\u5904\u7684\u6307\u9488\u5904\u5f00\u59cb\u8bfb\nint \u53ef\u9009\u3002\u5f85\u53d1\u9001\u6570\u636e\u7684\u957f\u5ea6\uff0c\u9ed8\u8ba4\u4e3adata\u957f\u5ea6\nint \u53ef\u9009\u3002\u8bfb\u53d6\u6570\u636e\u7684\u957f\u5ea6\uff0c\u9ed8\u8ba4\u4e3a1\n\u8fd4\u56de\u503c\uff1a\nstring \u8bfb\u53d6\u6210\u529f\u8fd4\u56de\u5b57\u7b26\u4e32,\u5426\u5219\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\n-- \u521d\u59cb\u5316spi\nlocal spi_device = spi.device_setup(0,17,0,0,8,2000000,spi.MSB,1,1)\nlocal recv = spi_device:transfer(\"123\")--\u53d1\u9001123,\u5e76\u8bfb\u53d6\u6570\u636e\n\nlocal buff = zbuff.create(1024, 0x33) --\u521b\u5efa\u4e00\u4e2a\u521d\u503c\u5168\u4e3a0x33\u7684\u5185\u5b58\u533a\u57df\nlocal recv = spi_device:transfer(buff)--\u628azbuff\u6570\u636e\u4ece\u6307\u9488\u5f00\u59cb\uff0c\u5168\u53d1\u51fa\u53bb,\u5e76\u8bfb\u53d6\u6570\u636e\n", "prefix": "spi_device:transfer"}, "spi_device:send": {"body": "spi_device:send(${1:data[},${2:len]})", "description": "spi_device:send(data[, len]) - \u53d1\u9001SPI\u6570\u636e(\u5bf9\u8c61\u65b9\u5f0f)\n\u4f20\u5165\u503c\uff1a\nuserdata spi_device\nstring/zbuff \u5f85\u53d1\u9001\u7684\u6570\u636e\uff0c\u5982\u679c\u4e3azbuff\u6570\u636e\uff0c\u5219\u4f1a\u4ece\u5bf9\u8c61\u6240\u5904\u7684\u6307\u9488\u5904\u5f00\u59cb\u8bfb\n\u8fd4\u56de\u503c\uff1a\nint \u53d1\u9001\u7ed3\u679c\n\u4f8b\u5b50\uff1a\n-- \u521d\u59cb\u5316spi\nlocal spi_device = spi.device_setup(0,17,0,0,8,2000000,spi.MSB,1,1)\nlocal result = spi_device:send(\"123\")--\u53d1\u9001123\n\nlocal buff = zbuff.create(1024, 0x33) --\u521b\u5efa\u4e00\u4e2a\u521d\u503c\u5168\u4e3a0x33\u7684\u5185\u5b58\u533a\u57df\nlocal result = spi_device:send(buff)--\u628azbuff\u6570\u636e\u4ece\u6307\u9488\u5f00\u59cb\uff0c\u5168\u53d1\u51fa\u53bb\n", "prefix": "spi_device:send"}, "spi_device:recv": {"body": "spi_device:recv(${1:size})", "description": "spi_device:recv(size) - \u63a5\u6536\u6307\u5b9a\u957f\u5ea6\u7684SPI\u6570\u636e(\u5bf9\u8c61\u65b9\u5f0f)\n\u4f20\u5165\u503c\uff1a\nuserdata spi_device\nint \u6570\u636e\u957f\u5ea6\n\u8fd4\u56de\u503c\uff1a\nstring \u8bfb\u53d6\u6210\u529f\u8fd4\u56de\u5b57\u7b26\u4e32,\u5426\u5219\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\n-- \u521d\u59cb\u5316spi\nlocal spi_device = spi.device_setup(0,17,0,0,8,2000000,spi.MSB,1,1)\nlocal recv = spi_device:recv(4)--\u63a5\u65364\u5b57\u8282\u6570\u636e\n", "prefix": "spi_device:recv"}, "spi.xfer": {"body": "spi.xfer(${1:id},${2:txbuff},${3:rxbuff},${4:rx_len},${5:transfer_done_topic})", "description": "spi.xfer(id, txbuff, rxbuff, rx_len, transfer_done_topic) - \u975e\u963b\u585e\u65b9\u5f0f\u786c\u4ef6SPI\u4f20\u8f93SPI\u6570\u636e\uff0c\u76ee\u7684\u4e3a\u4e86\u63d0\u9ad8\u6838\u5fc3\u5229\u7528\u7387\u3002API\u76f4\u63a5\u8fd4\u56de\u662f\u5426\u542f\u52a8\u4f20\u8f93\uff0c\u4f20\u8f93\u5b8c\u6210\u540e\u901a\u8fc7topic\u56de\u8c03\uff0c\u672cAPI\u9002\u5408\u786c\u4ef6SPI\u4f20\u8f93\u5927\u91cf\u6570\u636e\u4f20\u8f93\uff0c\u5916\u8bbe\u529f\u80fd\uff08LCD SPI\uff0cW5500 SPI\u4e4b\u7c7b\u7684\uff09\u5360\u636e\u7684SPI\u548c\u8f6f\u4ef6SPI\u4e0d\u80fd\u7528\uff0c\u5c11\u91cf\u6570\u636e\u4f20\u8f93\u5efa\u8bae\u4f7f\u7528\u4f20\u7edf\u963b\u585e\u578bAPI\n\u4f20\u5165\u503c\uff1a\nuserdata or int spi_device\u6216\u8005spi_id\uff0c\u6ce8\u610f\uff0c\u5982\u679c\u662fspi_device\uff0c\u9700\u8981\u624b\u52a8\u5728\u4f20\u8f93\u5b8c\u6210\u540e\u62c9\u9ad8cs!!!!!!\nzbuff \u5f85\u53d1\u9001\u7684\u6570\u636e\uff0c\u5982\u679c\u4e3anil\uff0c\u5219\u53ea\u63a5\u6536\u6570\u636e\uff0c\u7531\u4e8e\u7528\u7684\u975e\u963b\u585e\u6a21\u578b\uff0c\u4e3a\u4fdd\u8bc1\u52a8\u6001\u6570\u636e\u7684\u6709\u6548\u6027\uff0c\u53ea\u80fd\u4f7f\u7528zbuff\uff0c\u53d1\u9001\u7684\u6570\u636e\u4ecezbuff.addr\nzbuff \u63a5\u6536\u6570\u636e\uff0c\u5982\u679c\u4e3anil\uff0c\u5219\u53ea\u53d1\u9001\u6570\u636e\uff0c\u7531\u4e8e\u7528\u7684\u975e\u963b\u585e\u6a21\u578b\uff0c\u4e3a\u4fdd\u8bc1\u52a8\u6001\u6570\u636e\u7684\u6709\u6548\u6027\uff0c\u53ea\u80fd\u4f7f\u7528zbuff\uff0c\u63a5\u6536\u7684\u6570\u636e\u4ecezbuff.addr\u5f00\u59cb\u5b58\u50a8\nint \u4f20\u8f93\u6570\u636e\u957f\u5ea6\uff0c\u7279\u522b\u8bf4\u660e \u5982\u679c\u4e3a\u534a\u53cc\u5de5\uff0c\u5148\u53d1\u540e\u6536\uff0c\u6bd4\u5982spi flash\u64cd\u4f5c\u8fd9\u79cd\uff0c\u5219\u957f\u5ea6=\u53d1\u9001\u5b57\u8282+\u63a5\u6536\u5b57\u8282\uff0c\u6ce8\u610f\u4e0a\u9762\u53d1\u9001\u548c\u63a5\u6536buff\u90fd\u8981\u7559\u8db3\u591f\u7684\u6570\u636e\uff0c\u540e\u7eed\u63a5\u6536\u6570\u636e\u5904\u7406\u9700\u8981\u8df3\u8fc7\u53d1\u9001\u6570\u636e\u957f\u5ea6\u5b57\u8282\nstring \u4f20\u8f93\u5b8c\u6210\u540e\u56de\u8c03\u7684topic\n\u8fd4\u56de\u503c\uff1a\nboolean true/false \u672c\u6b21\u4f20\u8f93\u662f\u5426\u6b63\u786e\u542f\u52a8\uff0ctrue\uff0c\u542f\u52a8\uff0cfalse\uff0c\u6709\u9519\u8bef\u65e0\u6cd5\u542f\u52a8\u3002\u4f20\u8f93\u5b8c\u6210\u4f1a\u53d1\u5e03\u6d88\u606ftransfer_done_topic\u548cboolean\u578b\u7ed3\u679c\n\u4f8b\u5b50\uff1a\nlocal result = spi.xfer(spi.SPI_0, txbuff, rxbuff, 1024, \"SPIDONE\") if result then result, spi_id, succ, error_code = sys.waitUntil(\"SPIDONE\") end if not result or not succ then log.info(\"spi fail, error code\", error_code) else log.info(\"spi ok\") end\n\n", "prefix": "spi.xfer"}, "sqlite3.open": {"body": "sqlite3.open(${1:path})", "description": "sqlite3.open(path) - \u6253\u5f00\u6570\u636e\u5e93\n\u4f20\u5165\u503c\uff1a\nstring \u6570\u636e\u5e93\u6587\u4ef6\u8def\u5f84,\u5fc5\u987b\u586b\u5199,\u4e0d\u5b58\u5728\u5c31\u4f1a\u81ea\u52a8\u65b0\u5efa\n\u8fd4\u56de\u503c\uff1a\nuserdata \u6570\u636e\u5e93\u6307\u9488,\u662f\u5426\u5c31\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\nlocal db = sqlite3.open(\"/test.db\")\nif db then\n -- \u6570\u636e\u5e93\u64cd\u4f5cxxxx\n\n -- \u7528\u5b8c\u5fc5\u987b\u5173\u6389\n sqlite3.close(db)\nend\n", "prefix": "sqlite3.open"}, "sqlite3.exec": {"body": "sqlite3.exec(${1:db},${2:sql})", "description": "sqlite3.exec(db, sql) - \u6267\u884cSQL\u8bed\u53e5\n\u4f20\u5165\u503c\uff1a\nuserdata \u901a\u8fc7sqlite3.open\u83b7\u53d6\u5230\u7684\u6570\u636e\u5e93\u6307\u9488\nstring SQL\u5b57\u7b26\u4e32,\u5fc5\u987b\u586b\u5199\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56denil\ntable \u6210\u529f\u8fd4\u56de\u67e5\u8be2\u7ed3\u679c(\u82e5\u6709),\u5426\u5219\u8fd4\u56de\u62a5\u9519\u7684\u5b57\u7b26\u4e32\n", "prefix": "sqlite3.exec"}, "sqlite3.close": {"body": "sqlite3.close(${1:db})", "description": "sqlite3.close(db) - \u5173\u95ed\u6570\u636e\u5e93\n\u4f20\u5165\u503c\uff1a\nuserdata \u901a\u8fc7sqlite3.open\u83b7\u53d6\u5230\u7684\u6570\u636e\u5e93\u6307\u9488\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56denil\n", "prefix": "sqlite3.close"}, "statem.create": {"body": "statem.create(${1:count},${2:repeat})", "description": "statem.create(count, repeat) - \u521b\u5efa\u4e00\u4e2a\u65b0\u7684\u72b6\u6001\u673a.\n\u4f20\u5165\u503c\uff1a\nint \u6307\u4ee4\u6761\u6570,\u9ed8\u8ba432\u6761\nint \u91cd\u590d\u6267\u884c\u7684\u6b21\u6570, 0 \u4ee3\u8868\u4e0d\u91cd\u590d, \u6b63\u6574\u6570\u4ee3\u8868\u5177\u4f53\u91cd\u590d\u6267\u884c\u7684\u6b21\u6570. \u6682\u4e0d\u652f\u6301\u6c38\u7eed\u6267\u884c\n\u8fd4\u56de\u503c\uff1a\nsome \u82e5\u6210\u529f,\u8fd4\u56de\u72b6\u6001\u673a\u6307\u9488,\u5426\u5219\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\ngpio.setup(7, 0, gpio.PULLUP)\ngpio.setup(12, 0, gpio.PULLUP)\ngpio.setup(13, 0, gpio.PULLUP)\ngpio.setup(14, 0, gpio.PULLUP)\nlocal sm = statem.create()\n :gpio_set(7, 0) -- gpio\u8bbe\u7f6e\u4e3a\u4f4e\u7535\u5e73\n :usleep(10) -- \u4f11\u772010us\n :gpio_set(7, 1) -- gpio\u8bbe\u7f6e\u4e3a\u9ad8\u7535\u5e73\n :usleep(40) -- \u4f11\u772040us\n :gpio_set(12, 1) -- gpio\u8bbe\u7f6e\u4e3a\u9ad8\u7535\u5e73\n :gpio_set(13, 1) -- gpio\u8bbe\u7f6e\u4e3a\u9ad8\u7535\u5e73\n :gpio_set(14, 1) -- gpio\u8bbe\u7f6e\u4e3a\u9ad8\u7535\u5e73\n :usleep(40) -- \u4f11\u772040us\n :gpio_set(7, 0) -- gpio\u8bbe\u7f6e\u4e3a\u4f4e\u7535\u5e73\n :finish()\n\n-- \u6267\u884c\u4e4b,\u540e\u7eed\u4f1a\u652f\u6301\u540e\u53f0\u6267\u884c\nsm:exec()\n", "prefix": "statem.create"}, "string.toHex": {"body": "string.toHex(${1:str},${2:separator})", "description": "string.toHex(str, separator) - \u5c06\u5b57\u7b26\u4e32\u8f6c\u6210HEX\n\u4f20\u5165\u503c\uff1a\nstring \u9700\u8981\u8f6c\u6362\u7684\u5b57\u7b26\u4e32\nstring \u5206\u9694\u7b26, \u9ed8\u8ba4\u4e3a\"\"\n\u8fd4\u56de\u503c\uff1a\nstring HEX\u5b57\u7b26\u4e32\nnumber HEX\u5b57\u7b26\u4e32\u7684\u957f\u5ea6\n\u4f8b\u5b50\uff1a\nstring.toHex(\"\\1\\2\\3\") --> \"010203\" 6\nstring.toHex(\"123abc\") --> \"313233616263\" 12\nstring.toHex(\"123abc\", \" \") --> \"31 32 33 61 62 63 \" 12\n", "prefix": "string.toHex"}, "string.fromHex": {"body": "string.fromHex(${1:hex})", "description": "string.fromHex(hex) - \u5c06HEX\u8f6c\u6210\u5b57\u7b26\u4e32\n\u4f20\u5165\u503c\uff1a\nstring hex,16\u8fdb\u5236\u7ec4\u6210\u7684\u4e32\n\u8fd4\u56de\u503c\uff1a\nstring \u5b57\u7b26\u4e32\n\u4f8b\u5b50\uff1a\nstring.fromHex(\"010203\") --> \"\\1\\2\\3\"\nstring.fromHex(\"313233616263\") --> \"123abc\"\n", "prefix": "string.fromHex"}, "string.split": {"body": "string.split(${1:str},${2:delimiter},${3:keepEmtry})", "description": "string.split(str, delimiter, keepEmtry) - \u6309\u7167\u6307\u5b9a\u5206\u9694\u7b26\u5206\u5272\u5b57\u7b26\u4e32\n\u4f20\u5165\u503c\uff1a\nstring \u8f93\u5165\u5b57\u7b26\u4e32\nstring \u5206\u9694\u7b26,\u53ef\u9009,\u9ed8\u8ba4 \",\"\nbool \u662f\u5426\u4fdd\u7559\u7a7a\u767d\u7247\u6bb5,\u9ed8\u8ba4\u4e3afalse,\u4e0d\u4fdd\u7559. 2023.4.11\u4e4b\u540e\u7684\u56fa\u4ef6\u53ef\u7528\n\u8fd4\u56de\u503c\uff1a\ntable \u5206\u5272\u540e\u7684\u5b57\u7b26\u4e32\u8868\n\u4f8b\u5b50\uff1a\nlocal tmp = string.split(\"123,233333,122\")\nlog.info(\"tmp\", json.encode(tmp))\nlocal tmp = (\"123,456,789\"):split(',') --> {'123','456','789'}\nlog.info(\"tmp\", json.encode(tmp))\n\n-- \u4fdd\u7559\u7a7a\u7247\u6bb5, 2023.4.11\u4e4b\u540e\u7684\u56fa\u4ef6\u53ef\u7528\nlocal str = \"/tmp//def/1234/\"\nlocal tmp = str:split(\"/\", true) \nlog.info(\"str.split\", #tmp, json.encode(tmp))\n", "prefix": "string.split"}, "string.toValue": {"body": "string.toValue(${1:str})", "description": "string.toValue(str) - \u8fd4\u56de\u5b57\u7b26\u4e32tonumber\u7684\u8f6c\u4e49\u5b57\u7b26\u4e32(\u7528\u6765\u652f\u6301\u8d85\u8fc731\u4f4d\u6574\u6570\u7684\u8f6c\u6362)\n\u4f20\u5165\u503c\uff1a\nstring \u8f93\u5165\u5b57\u7b26\u4e32\n\u8fd4\u56de\u503c\uff1a\nstring \u8f6c\u6362\u540e\u7684\u4e8c\u8fdb\u5236\u5b57\u7b26\u4e32\nnumber \u8f6c\u6362\u4e86\u591a\u5c11\u4e2a\u5b57\u7b26\n\u4f8b\u5b50\uff1a\nstring.toValue(\"123456\") --> \"\\1\\2\\3\\4\\5\\6\" 6\nstring.toValue(\"123abc\") --> \"\\1\\2\\3\\a\\b\\c\" 6\n", "prefix": "string.toValue"}, "string.urlEncode": {"body": "string.urlEncode(${1:\"123abc\"})", "description": "string.urlEncode(\"123 abc\") - \u5c06\u5b57\u7b26\u4e32\u8fdb\u884curl\u7f16\u7801\u8f6c\u6362\n\u4f20\u5165\u503c\uff1a\nstring \u9700\u8981\u8f6c\u6362\u7684\u5b57\u7b26\u4e32\n", "prefix": "string.urlEncode"}, "string.toBase64": {"body": "string.toBase64(${1:str})", "description": "string.toBase64(str) - \u5c06\u5b57\u7b26\u4e32\u8fdb\u884cbase64\u7f16\u7801\n\u4f20\u5165\u503c\uff1a\nstring \u9700\u8981\u8f6c\u6362\u7684\u5b57\u7b26\u4e32\n\u8fd4\u56de\u503c\uff1a\nstring \u89e3\u7801\u540e\u7684\u5b57\u7b26\u4e32,\u5982\u679c\u89e3\u7801\u5931\u8d25\u4f1a\u8fd4\u56de\u7a7a\u5b57\u7b26\u4e32\n", "prefix": "string.toBase64"}, "string.fromBase64": {"body": "string.fromBase64(${1:str})", "description": "string.fromBase64(str) - \u5c06\u5b57\u7b26\u4e32\u8fdb\u884cbase64\u89e3\u7801\n\u4f20\u5165\u503c\uff1a\nstring \u9700\u8981\u8f6c\u6362\u7684\u5b57\u7b26\u4e32\n\u8fd4\u56de\u503c\uff1a\nstring \u89e3\u7801\u540e\u7684\u5b57\u7b26\u4e32,\u5982\u679c\u89e3\u7801\u5931\u8d25\u4f1a\u8fd4\u56de\u7a7a\u5b57\u7b26\u4e32\n", "prefix": "string.fromBase64"}, "string.toBase32": {"body": "string.toBase32(${1:str})", "description": "string.toBase32(str) - \u5c06\u5b57\u7b26\u4e32\u8fdb\u884cbase32\u7f16\u7801\n\u4f20\u5165\u503c\uff1a\nstring \u9700\u8981\u8f6c\u6362\u7684\u5b57\u7b26\u4e32\n\u8fd4\u56de\u503c\uff1a\nstring \u89e3\u7801\u540e\u7684\u5b57\u7b26\u4e32,\u5982\u679c\u89e3\u7801\u5931\u8d25\u4f1a\u8fd4\u56de0\u957f\u5ea6\u5b57\u7b26\u4e32\n", "prefix": "string.toBase32"}, "string.fromBase32": {"body": "string.fromBase32(${1:str})", "description": "string.fromBase32(str) - \u5c06\u5b57\u7b26\u4e32\u8fdb\u884cbase32\u89e3\u7801\n\u4f20\u5165\u503c\uff1a\nstring \u9700\u8981\u8f6c\u6362\u7684\u5b57\u7b26\u4e32\n\u8fd4\u56de\u503c\uff1a\nstring \u89e3\u7801\u540e\u7684\u5b57\u7b26\u4e32,\u5982\u679c\u89e3\u7801\u5931\u8d25\u4f1a\u8fd4\u56de0\u957f\u5ea6\u5b57\u7b26\u4e32\n", "prefix": "string.fromBase32"}, "string.startsWith": {"body": "string.startsWith(${1:str},${2:prefix})", "description": "string.startsWith(str, prefix) - \u5224\u65ad\u5b57\u7b26\u4e32\u524d\u7f00\n\u4f20\u5165\u503c\uff1a\nstring \u9700\u8981\u68c0\u67e5\u7684\u5b57\u7b26\u4e32\nstring \u524d\u7f00\u5b57\u7b26\u4e32\n\u8fd4\u56de\u503c\uff1a\nbool \u771f\u4e3atrue, \u5047\u4e3afalse\n\u4f8b\u5b50\uff1a\nlocal str = \"abc\"\nlog.info(\"str\", str:startsWith(\"a\"))\nlog.info(\"str\", str:startsWith(\"b\"))\n", "prefix": "string.startsWith"}, "string.endsWith": {"body": "string.endsWith(${1:str},${2:suffix})", "description": "string.endsWith(str, suffix) - \u5224\u65ad\u5b57\u7b26\u4e32\u540e\u7f00\n\u4f20\u5165\u503c\uff1a\nstring \u9700\u8981\u68c0\u67e5\u7684\u5b57\u7b26\u4e32\nstring \u540e\u7f00\u5b57\u7b26\u4e32\n\u8fd4\u56de\u503c\uff1a\nbool \u771f\u4e3atrue, \u5047\u4e3afalse\n\u4f8b\u5b50\uff1a\nlocal str = \"abc\"\nlog.info(\"str\", str:endsWith(\"c\"))\nlog.info(\"str\", str:endsWith(\"b\"))\n", "prefix": "string.endsWith"}, "string.trim": {"body": "string.trim(${1:str},${2:ltrim},${3:rtrim})", "description": "string.trim(str, ltrim, rtrim) - \u88c1\u526a\u5b57\u7b26\u4e32,\u53bb\u9664\u5934\u5c3e\u7684\u7a7a\u683c\n\u4f20\u5165\u503c\uff1a\nstring \u9700\u8981\u5904\u7406\u7684\u5b57\u7b26\u4e32\nbool \u6e05\u7406\u524d\u7f00,\u9ed8\u8ba4\u4e3atrue\nbool \u6e05\u7406\u540e\u7f00,\u9ed8\u8ba4\u4e3atrue\n\u8fd4\u56de\u503c\uff1a\nstring \u6e05\u7406\u540e\u7684\u5b57\u7b26\u4e32\n\u4f8b\u5b50\uff1a\nlocal str = \"\\r\\nabc\\r\\n\"\nlog.info(\"str\", string.trim(str)) -- \u6253\u5370 \"abc\"\nlog.info(\"str\", str:trim()) -- \u6253\u5370 \"abc\"\nlog.info(\"str\", #string.trim(str, false, true)) -- \u4ec5\u88c1\u526a\u540e\u7f00,\u6240\u4ee5\u957f\u5ea6\u662f5\n", "prefix": "string.trim"}, "sys.wait": {"body": "sys.wait(${1:timeout})", "description": "sys.wait(timeout) - Task\u534f\u7a0b\u7b49\u5f85\u6307\u5b9a\u65f6\u957f\n\u4f20\u5165\u503c\uff1a\nint \u7b49\u5f85\u65f6\u957f,\u5355\u4f4d\u6beb\u79d2,\u5fc5\u987b\u5927\u4e8e0,\u5426\u5219\u65e0\u6548\n\u8fd4\u56de\u503c\uff1a\nany \u901a\u5e38\u4e3anil,\u9664\u975e\u4e3b\u52a8\u88ab\u5524\u9192(\u901a\u5e38\u4e0d\u4f1a)\n\u4f8b\u5b50\uff1a\nsys.taskInit(function()\n while 1 do\n sys.wait(500)\n end\nend)\n", "prefix": "sys.wait"}, "sys.waitUntil": {"body": "sys.waitUntil(${1:topic},${2:timeout})", "description": "sys.waitUntil(topic, timeout) - Task\u534f\u7a0b\u7b49\u5f85\u6307\u5b9a\u65f6\u957f\u6216\u8005\u7279\u5b9a\u7684topic\n\u4f20\u5165\u503c\uff1a\nstring \u4e8b\u4ef6topic\nint \u7b49\u5f85\u65f6\u957f,\u5355\u4f4d\u6beb\u79d2,\u5fc5\u987b\u5927\u4e8e0,\u5426\u5219\u65e0\u6548\n\u8fd4\u56de\u503c\uff1a\nboolean \u5982\u679c\u662f\u8d85\u65f6,\u8fd4\u56defalse,\u5426\u5219\u8fd4\u56detrue\nany \u5bf9\u5e94topic\u7684\u5185\u5bb9\n\u4f8b\u5b50\uff1a\nsys.taskInit(function()\n // do something\n local result, data = sys.waitUntil(\"NET_READY\", 30000)\n // do something else\nend)\n", "prefix": "sys.waitUntil"}, "sys.taskInit": {"body": "sys.taskInit(${1:func},${2:arg1},${3:arg2},${4:argN})", "description": "sys.taskInit(func, arg1, arg2, argN) - \u521b\u5efa\u4e00\u4e2aTask\u534f\u7a0b\n\u4f20\u5165\u503c\uff1a\nfunction \u5f85\u6267\u884c\u7684\u51fd\u6570,\u53ef\u4ee5\u662f\u533f\u540d\u51fd\u6570, \u4e5f\u53ef\u4ee5\u662flocal\u6216\u5168\u5c40\u51fd\u6570\nany \u9700\u8981\u4f20\u9012\u7684\u53c2\u65701,\u53ef\u9009 \nany \u9700\u8981\u4f20\u9012\u7684\u53c2\u65702,\u53ef\u9009 \nany \u9700\u8981\u4f20\u9012\u7684\u53c2\u6570N,\u53ef\u9009 \n\u8fd4\u56de\u503c\uff1a\ntask \u534f\u7a0b\u5bf9\u8c61\n\u4f8b\u5b50\uff1a\nsys.taskInit(function(a, b, c)\n log.info(\"task\", a, b, c) -- \u6253\u5370 task A B C\nend, \"A\", \"B\", \"N\")\n", "prefix": "sys.taskInit"}, "sys.timerStart": {"body": "sys.timerStart(${1:func},${2:timeout},${3:arg1},${4:arg2},${5:argN})", "description": "sys.timerStart(func, timeout, arg1, arg2, argN) - \u521b\u5efa\u4e00\u4e2a\u5b9a\u65f6\u5668.\u975eTask,\u51fd\u6570\u91cc\u4e0d\u80fd\u76f4\u63a5sys.waitXXX\n\u4f20\u5165\u503c\uff1a\nfunction \u5f85\u6267\u884c\u7684\u51fd\u6570,\u53ef\u4ee5\u662f\u533f\u540d\u51fd\u6570, \u4e5f\u53ef\u4ee5\u662flocal\u6216\u5168\u5c40\u51fd\u6570\nint \u5ef6\u65f6\u65f6\u957f,\u5355\u4f4d\u6beb\u79d2\nany \u9700\u8981\u4f20\u9012\u7684\u53c2\u65701,\u53ef\u9009 \nany \u9700\u8981\u4f20\u9012\u7684\u53c2\u65702,\u53ef\u9009 \nany \u9700\u8981\u4f20\u9012\u7684\u53c2\u6570N,\u53ef\u9009 \n\u8fd4\u56de\u503c\uff1a\nint \u5b9a\u65f6\u5668id\n\u4f8b\u5b50\uff1a\nsys.timerStart(function(a, b, c)\n log.info(\"task\", a, b, c) -- 1000\u6beb\u79d2\u540e\u624d\u4f1a\u6267\u884c, \u6253\u5370 task A B C\nend, 1000, \"A\", \"B\", \"N\")\n", "prefix": "sys.timerStart"}, "sys.timerLoopStart": {"body": "sys.timerLoopStart(${1:func},${2:timeout},${3:arg1},${4:arg2},${5:argN})", "description": "sys.timerLoopStart(func, timeout, arg1, arg2, argN) - \u521b\u5efa\u4e00\u4e2a\u5faa\u73af\u5b9a\u65f6\u5668.\u975eTask,\u51fd\u6570\u91cc\u4e0d\u80fd\u76f4\u63a5sys.waitXXX\n\u4f20\u5165\u503c\uff1a\nfunction \u5f85\u6267\u884c\u7684\u51fd\u6570,\u53ef\u4ee5\u662f\u533f\u540d\u51fd\u6570, \u4e5f\u53ef\u4ee5\u662flocal\u6216\u5168\u5c40\u51fd\u6570\nint \u5ef6\u65f6\u65f6\u957f,\u5355\u4f4d\u6beb\u79d2\nany \u9700\u8981\u4f20\u9012\u7684\u53c2\u65701,\u53ef\u9009 \nany \u9700\u8981\u4f20\u9012\u7684\u53c2\u65702,\u53ef\u9009 \nany \u9700\u8981\u4f20\u9012\u7684\u53c2\u6570N,\u53ef\u9009 \n\u8fd4\u56de\u503c\uff1a\nint \u5b9a\u65f6\u5668id\n\u4f8b\u5b50\uff1a\nsys.timerLoopStart(function(a, b, c)\n log.info(\"task\", a, b, c) -- 1000\u6beb\u79d2\u540e\u624d\u4f1a\u6267\u884c, \u6253\u5370 task A B C\nend, 1000, \"A\", \"B\", \"N\")\n", "prefix": "sys.timerLoopStart"}, "sys.timerStop": {"body": "sys.timerStop(${1:id})", "description": "sys.timerStop(id) - \u5173\u95ed\u4e00\u4e2a\u5b9a\u65f6\u5668.\n\u4f20\u5165\u503c\uff1a\nint \u5b9a\u65f6\u5668id\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\nlocal tcount = 0\nlocal tid \ntid = sys.timerLoopStart(function(a, b, c)\n log.info(\"task\", a, b, c) -- 1000\u6beb\u79d2\u540e\u624d\u4f1a\u6267\u884c, \u6253\u5370 task A B C\n if tcount > 10 then\n sys.timerStop(tid)\n end\n tcount = tcount + 1\nend, 1000, \"A\", \"B\", \"N\")\n", "prefix": "sys.timerStop"}, "sys.publish": {"body": "sys.publish(${1:topic},${2:arg1},${3:agr2},${4:argN})", "description": "sys.publish(topic, arg1, agr2, argN) - \u5f80\u7279\u5b9atopic\u901a\u9053\u53d1\u5e03\u4e00\u4e2a\u6d88\u606f\n\u4f20\u5165\u503c\uff1a\nstring topic\u7684\u503c\nany \u9644\u5e26\u7684\u53c2\u65701\nany \u9644\u5e26\u7684\u53c2\u65702\nany \u9644\u5e26\u7684\u53c2\u6570N\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\nsys.publish(\"BT_READY\", false)\n", "prefix": "sys.publish"}, "sys.subscribe": {"body": "sys.subscribe(${1:topic},${2:func})", "description": "sys.subscribe(topic, func) - \u8ba2\u9605\u4e00\u4e2atopic\u901a\u9053\n\u4f20\u5165\u503c\uff1a\nstring topic\u7684\u503c\nfunction \u56de\u8c03\u51fd\u6570, \u6ce8\u610f, \u4e0d\u80fd\u76f4\u63a5\u4f7f\u7528sys.waitXXX\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\nlocal function bt_cb(state)\n log.info(\"bt\", state)\nend\nsys.subscribe(\"BT_READY\", bt_cb)\nsys.subscribe(\"BT_READY\", function(state)\n log.info(\"sys\", \"Got BT_READY\", state)\nend)\n", "prefix": "sys.subscribe"}, "sys.unsubscribe": {"body": "sys.unsubscribe(${1:topic},${2:func})", "description": "sys.unsubscribe(topic, func) - \u53d6\u6d88\u8ba2\u9605topic\u901a\u9053\n\u4f20\u5165\u503c\uff1a\nstring topic\u7684\u503c\nfunction \u56de\u8c03\u51fd\u6570, \u6ce8\u610f, \u4e0d\u80fd\u76f4\u63a5\u4f7f\u7528sys.waitXXX\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\nlocal function bt_cb(state)\n log.info(\"bt\", state)\nend\nsys.unsubscribe(\"BT_READY\", bt_cb)\n", "prefix": "sys.unsubscribe"}, "sys.run": {"body": "sys.run()", "description": "sys.run() - sys\u5e93\u4e3b\u5faa\u73af\u65b9\u6cd5,\u4ec5\u5141\u8bb8\u5728main.lua\u7684\u672b\u5c3e\u8c03\u7528\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c. \u8fd9\u4e2a\u65b9\u6cd5\u51e0\u4e4e\u4e0d\u53ef\u80fd\u8fd4\u56de.\n\u4f8b\u5b50\uff1a\n-- \u603b\u662fmain.lua\u7684\u7ed3\u5c3e\u4e00\u53e5,\u5c06\u6765\u4e5f\u8bb8\u4f1a\u7b80\u5316\u6389\nsys.run()\n-- \u4e4b\u540e\u7684\u4ee3\u7801\u4e0d\u4f1a\u88ab\u6267\u884c\n", "prefix": "sys.run"}, "sysplus.waitMsg": {"body": "sysplus.waitMsg(${1:taskName},${2:target},${3:timeout})", "description": "sysplus.waitMsg(taskName, target, timeout) - \u7b49\u5f85\u63a5\u6536\u4e00\u4e2a\u76ee\u6807\u6d88\u606f\n\u4f20\u5165\u503c\uff1a\nstring \u4efb\u52a1\u540d\u79f0\uff0c\u7528\u4e8e\u5524\u9192\u4efb\u52a1\u7684id\nstring \u76ee\u6807\u6d88\u606f\uff0c\u5982\u679c\u4e3anil\uff0c\u5219\u8868\u793a\u63a5\u6536\u5230\u4efb\u610f\u6d88\u606f\u90fd\u4f1a\u9000\u51fa\nint \u8d85\u65f6\u65f6\u95f4\uff0c\u5982\u679c\u4e3anil\uff0c\u5219\u8868\u793a\u65e0\u8d85\u65f6\uff0c\u6c38\u8fdc\u7b49\u5f85\n\u8fd4\u56de\u503c\uff1a\ntable \u6210\u529f\u8fd4\u56detable\u578b\u7684msg\uff0c\u8d85\u65f6\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- \u7b49\u5f85\u4efb\u52a1\nsysplus.waitMsg('a', 'b', 1000)\n-- \u6ce8\u610f, \u672c\u51fd\u6570\u4f1a\u81ea\u52a8\u6ce8\u518c\u6210\u5168\u5c40\u51fd\u6570 sys_wait\n", "prefix": "sysplus.waitMsg"}, "sysplus.sendMsg": {"body": "sysplus.sendMsg(${1:taskName},${2:target},${3:arg2},${4:arg3},${5:arg4})", "description": "sysplus.sendMsg(taskName, target, arg2, arg3, arg4) - \u5411\u76ee\u6807\u4efb\u52a1\u53d1\u9001\u4e00\u4e2a\u6d88\u606f\n\u4f20\u5165\u503c\uff1a\nstring \u4efb\u52a1\u540d\u79f0\uff0c\u7528\u4e8e\u5524\u9192\u4efb\u52a1\u7684id\nany \u6d88\u606f\u4e2d\u7684\u53c2\u65701\uff0c\u540c\u65f6\u4e5f\u662fwaitMsg\u91cc\u7684target\nany \u6d88\u606f\u4e2d\u7684\u53c2\u65702\nany \u6d88\u606f\u4e2d\u7684\u53c2\u65703\nany \u6d88\u606f\u4e2d\u7684\u53c2\u65704\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue, \u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- \u5411\u4efb\u52a1a,\u76ee\u6807b\u53d1\u9001\u6d88\u606f\nsysplus.sendMsg('a', 'b')\n-- \u6ce8\u610f, \u672c\u51fd\u6570\u4f1a\u81ea\u52a8\u6ce8\u518c\u6210\u5168\u5c40\u51fd\u6570 sys_send\n", "prefix": "sysplus.sendMsg"}, "sysplus.taskInitEx": {"body": "sysplus.taskInitEx(${1:fun},${2:taskName},${3:cbFun},${4:...})", "description": "sysplus.taskInitEx(fun, taskName, cbFun, ...) - \u521b\u5efa\u4e00\u4e2a\u4efb\u52a1\u7ebf\u7a0b,\u5728\u6a21\u5757\u6700\u672b\u884c\u8c03\u7528\u8be5\u51fd\u6570\u5e76\u6ce8\u518c\u6a21\u5757\u4e2d\u7684\u4efb\u52a1\u51fd\u6570,main.lua\u5bfc\u5165\u8be5\u6a21\u5757\u5373\u53ef\n\u4f20\u5165\u503c\uff1a\nfunction \u4efb\u52a1\u51fd\u6570\u540d,\u7528\u4e8eresume\u5524\u9192\u65f6\u8c03\u7528\nstring \u4efb\u52a1\u540d\u79f0,\u7528\u4e8e\u5524\u9192\u4efb\u52a1\u7684id\nfunction \u63a5\u6536\u5230\u975e\u76ee\u6807\u6d88\u606f\u65f6\u7684\u56de\u8c03\u51fd\u6570\nany ... \u4efb\u52a1\u51fd\u6570fun\u7684\u53ef\u53d8\u53c2\u6570\n\u8fd4\u56de\u503c\uff1a\nnumber \u8fd4\u56de\u8be5\u4efb\u52a1\u7684\u7ebf\u7a0b\u53f7\n\u4f8b\u5b50\uff1a\nsysplus.taskInitEx(task1,'a',callback)\n", "prefix": "sysplus.taskInitEx"}, "sysplus.taskDel": {"body": "sysplus.taskDel(${1:taskName})", "description": "sysplus.taskDel(taskName) - \u5220\u9664\u7531taskInitEx\u521b\u5efa\u7684\u4efb\u52a1\u7ebf\u7a0b\n\u4f20\u5165\u503c\uff1a\nstring \u4efb\u52a1\u540d\u79f0,\u7528\u4e8e\u5524\u9192\u4efb\u52a1\u7684id\n\u4f8b\u5b50\uff1a\nsysplus.taskDel('a')\n", "prefix": "sysplus.taskDel"}, "sysplus.cleanMsg": {"body": "sysplus.cleanMsg(${1:taskName})", "description": "sysplus.cleanMsg(taskName) - \u6e05\u9664\u6307\u5b9atask\u7684\u6d88\u606f\u961f\u5217\n\u4f20\u5165\u503c\uff1a\nstring \u4efb\u52a1\u540d\u79f0\n\u4f8b\u5b50\uff1a\nsysplus.cleanMsg('a')\n", "prefix": "sysplus.cleanMsg"}, "timer.mdelay": {"body": "timer.mdelay(${1:timeout})", "description": "timer.mdelay(timeout) - \u786c\u963b\u585e\u6307\u5b9a\u65f6\u957f\n\u4f20\u5165\u503c\uff1a\nint \u963b\u585e\u65f6\u957f,\u5355\u4f4dms, \u6700\u9ad81024ms, \u5b9e\u9645\u4f7f\u7528\u5f3a\u70c8\u5efa\u8bae\u4e0d\u8981\u8d85\u8fc7200ms\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n-- \u671f\u95f4\u6ca1\u6709\u4efb\u4f55luat\u4ee3\u7801\u4f1a\u6267\u884c,\u5305\u62ec\u5e95\u5c42\u6d88\u606f\u5904\u7406\u673a\u5236\n-- \u672c\u65b9\u6cd5\u901a\u5e38\u4e0d\u4f1a\u4f7f\u7528,\u9664\u975e\u4f60\u5f88\u6e05\u695a\u4f1a\u53d1\u751f\u4ec0\u4e48\ntimer.mdelay(10)\n", "prefix": "timer.mdelay"}, "timer.udelay": {"body": "timer.udelay(${1:timeout})", "description": "timer.udelay(timeout) - \u786c\u963b\u585e\u6307\u5b9a\u65f6\u957f\u4f46us\u7ea7\u522b,\u4e0d\u4f1a\u5f88\u7cbe\u51c6\n\u4f20\u5165\u503c\uff1a\nint \u963b\u585e\u65f6\u957f,\u5355\u4f4dus, \u6700\u59273000us\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n-- \u672c\u65b9\u6cd5\u901a\u5e38\u4e0d\u4f1a\u4f7f\u7528,\u9664\u975e\u4f60\u5f88\u6e05\u695a\u4f1a\u53d1\u751f\u4ec0\u4e48\n-- \u672cAPI\u5728 2023.05.18 \u6dfb\u52a0\ntimer.udelay(10)\n-- \u5b9e\u9645\u963b\u585e\u65f6\u957f\u662f\u6709\u6ce2\u52a8\u7684\n", "prefix": "timer.udelay"}, "touchkey.setup": {"body": "touchkey.setup(${1:id},${2:scan_period},${3:window},${4:threshold})", "description": "touchkey.setup(id, scan_period, window, threshold) - \u914d\u7f6e\u89e6\u6478\u6309\u952e\n\u4f20\u5165\u503c\uff1a\nint \u4f20\u611f\u5668id,\u8bf7\u67e5\u9605\u786c\u4ef6\u6587\u6863, \u4f8b\u5982air101/air103\u652f\u6301 1~15, \u4f8b\u5982PA7\u5bf9\u5e94touch id=1\nint \u626b\u63cf\u95f4\u9694,\u8303\u56f41 ~ 0x3F, \u5355\u4f4d16ms,\u53ef\u9009\nint \u626b\u63cf\u7a97\u53e3,\u8303\u56f42-7, \u53ef\u9009\nint \u9600\u503c, \u8303\u56f40-127, \u53ef\u9009\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue, \u5931\u8d25\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\ntouchkey.setup(1)\nsys.subscribe(\"TOUCHKEY_INC\", function(id, count)\n -- \u4f20\u611f\u5668id\n -- \u8ba1\u6570\u5668,\u89e6\u6478\u6b21\u6570\u7edf\u8ba1\n log.info(\"touchkey\", id, count)\nend)\n", "prefix": "touchkey.setup"}, "touchkey.close": {"body": "touchkey.close(${1:id})", "description": "touchkey.close(id) - \u5173\u95ed\u521d\u59cb\u89e6\u6478\u6309\u952e\n\u4f20\u5165\u503c\uff1a\nint \u4f20\u611f\u5668id,\u8bf7\u67e5\u9605\u786c\u4ef6\u6587\u6863\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n-- \u4e0d\u592a\u53ef\u80fd\u9700\u8981\u5173\u6389\u7684\u6837\u5b50\ntouchkey.close(1)\n", "prefix": "touchkey.close"}, "u8g2.begin": {"body": "u8g2.begin(${1:conf})", "description": "u8g2.begin(conf) - u8g2\u663e\u793a\u5c4f\u521d\u59cb\u5316\n\u4f20\u5165\u503c\uff1a\ntable conf \u914d\u7f6e\u4fe1\u606f,\u8be6\u7ec6\u914d\u7f6e\u770b\u4e0b\u9762\u7684\u4f8b\u5b50\n\u8fd4\u56de\u503c\uff1a\nint \u6b63\u5e38\u521d\u59cb\u53161,\u5df2\u7ecf\u521d\u59cb\u5316\u8fc72,\u5185\u5b58\u4e0d\u591f3,\u521d\u59cb\u5316\u5931\u8d25\u8fd4\u56de4\n\u4f8b\u5b50\uff1a\n-- conf\u914d\u7f6e\u9879\u8bf4\u660e\n-- ic \u5b57\u7b26\u4e32,\u4e3b\u63a7\u82af\u7247\u7c7b\u578b, \u652f\u6301custom(\u81ea\u5b9a\u4e49\u547d\u4ee4) ssd1306(\u9ed8\u8ba4) ssd1309 ssd1322 sh1106 sh1107 sh1108 st7567 uc1701 ssd1306_128x32\n-- direction \u6570\u503c,\u65b9\u5411,\u53ef\u90090 90 180 270 \u9ed8\u8ba40\n-- mode \u5b57\u7b26\u4e32,\u6a21\u5f0f,\u53ef\u9009i2c_sw:\u8f6f\u4ef6i2c i2c_hw:\u786c\u4ef6i2c,spi_hw_4pin: \u786c\u4ef6spi\n-- i2c_id: \u6570\u503c,\u786c\u4ef6i2c\u65f6\u6709\u6548\n-- i2c_scl: \u6570\u503c,\u8f6f\u4ef6i2c\u65f6\u65f6\u949f\u7ebf\u7684GPIO\u7f16\u53f7\n-- i2c_sda: \u6570\u503c\u8f6f\u4ef6i2c\u65f6\u6570\u636e\u7ebf\u7684GPIO\u7f16\u53f7\n-- spi_id\u3001spi_res\u3001spi_dc\u3001spi_cs: \u6570\u503c,\u786c\u4ef6spi\u7684SPI\u7f16\u53f7,\u590d\u4f4dGPIO\u7f16\u53f7,DC\u7ebf\u7684GPIO\u7f16\u53f7, CS\u7ebf\u7684GPIO\u7f16\u53f7\n-- x_offset: \u6570\u503c,X\u8f74\u504f\u79fb\u91cf,\u9ed8\u8ba4\u6309\u9a71\u52a8\u8d70, 2023.11.10\u65b0\u589e\u7684\u914d\u7f6e\u9879\n\n-- \u521d\u59cb\u5316\u786c\u4ef6i2c\u7684ssd1306\nu8g2.begin({ic = \"ssd1306\",direction = 0,mode=\"i2c_hw\",i2c_id=0}) -- direction \u53ef\u90090 90 180 270\n-- \u521d\u59cb\u5316\u786c\u4ef6spi\u7684ssd1306\nu8g2.begin({ic = \"ssd1306\",direction = 0,mode=\"spi_hw_4pin\",spi_id=0,spi_res=pin.PB03,spi_dc=pin.PB01,spi_cs=pin.PB04}) -- direction \u53ef\u90090 90 180 270\n-- \u521d\u59cb\u5316\u8f6f\u4ef6i2c\u7684ssd1306\nu8g2.begin({ic = \"ssd1306\",direction = 0,mode=\"i2c_sw\", i2c_scl=1, i2c_sda=4}) -- \u901a\u8fc7PA1 SCL / PA4 SDA\u6a21\u62df\n", "prefix": "u8g2.begin"}, "u8g2.close": {"body": "u8g2.close()", "description": "u8g2.close() - \u5173\u95ed\u663e\u793a\u5c4f\n\u4f8b\u5b50\uff1a\n-- \u5173\u95eddisp,\u518d\u6b21\u4f7f\u7528disp\u76f8\u5173API\u7684\u8bdd,\u9700\u8981\u91cd\u65b0\u521d\u59cb\u5316\nu8g2.close()\n", "prefix": "u8g2.close"}, "u8g2.ClearBuffer": {"body": "u8g2.ClearBuffer()", "description": "u8g2.ClearBuffer() - \u6e05\u5c4f\uff0c\u6e05\u9664\u5185\u5b58\u5e27\u7f13\u51b2\u533a\u4e2d\u7684\u6240\u6709\u50cf\u7d20\n\u4f8b\u5b50\uff1a\n-- \u6e05\u5c4f\nu8g2.ClearBuffer()\n", "prefix": "u8g2.ClearBuffer"}, "u8g2.SendBuffer": {"body": "u8g2.SendBuffer()", "description": "u8g2.SendBuffer() - \u5c06\u6570\u636e\u66f4\u65b0\u5230\u5c4f\u5e55\uff0c\u5c06\u5b58\u50a8\u5668\u5e27\u7f13\u51b2\u533a\u7684\u5185\u5bb9\u53d1\u9001\u5230\u663e\u793a\u5668\n\u4f8b\u5b50\uff1a\n-- \u628a\u663e\u793a\u6570\u636e\u66f4\u65b0\u5230\u5c4f\u5e55\nu8g2.SendBuffer()\n", "prefix": "u8g2.SendBuffer"}, "u8g2.DrawUTF8": {"body": "u8g2.DrawUTF8(${1:str},${2:x},${3:y})", "description": "u8g2.DrawUTF8(str, x, y) - \u5728\u663e\u793a\u5c4f\u4e0a\u753b\u4e00\u6bb5\u6587\u5b57\uff0c\u5728\u663e\u793a\u5c4f\u4e0a\u753b\u4e00\u6bb5\u6587\u5b57,\u8981\u8c03\u7528u8g2.SendBuffer()\u624d\u4f1a\u66f4\u65b0\u5230\u5c4f\u5e55\n\u4f20\u5165\u503c\uff1a\nstring \u6587\u4ef6\u5185\u5bb9\nint \u6a2a\u5750\u6807\nint \u7ad6\u5750\u6807\n\u4f8b\u5b50\uff1a\nu8g2.DrawUTF8(\"wifi is ready\", 10, 20)\n", "prefix": "u8g2.DrawUTF8"}, "u8g2.DrawButtonUTF8": {"body": "u8g2.DrawButtonUTF8(${1:str},${2:x},${3:y},${4:flags},${5:w},${6:h},${7:v},${8:str})", "description": "u8g2.DrawButtonUTF8(str, x, y, flags, w, h, v, str) - \u5728\u63d0\u4f9b\u7684\u6587\u672c\u5468\u56f4\u753b\u4e00\u4e2a\u6846\u3002\u8fd9\u4e0e DrawUTF8 \u7c7b\u4f3c\uff0c\u4f46\u4e3a\u6587\u672c\u6dfb\u52a0\u4e86\u4e00\u4e9b\u88c5\u9970\u3002,\u8981\u8c03\u7528u8g2.SendBuffer()\u624d\u4f1a\u66f4\u65b0\u5230\u5c4f\u5e55\n\u4f20\u5165\u503c\uff1a\nstring \u6587\u4ef6\u5185\u5bb9\nint \u6a2a\u5750\u6807\nint \u7ad6\u5750\u6807\nint \u6807\u5fd7 \u591a\u4e2a\u6807\u5fd7\u53ef\u4ee5\u4e0e\u201c\u6216\u201d\u8fd0\u7b97\u7b26\u4e00\u8d77\u4f7f\u7528\u3002\nint \u6587\u672c\u7684\u6700\u5c0f\u5bbd\u5ea6\u3002\u5982\u679c\u4e3a0\uff08\u6216\u4f4e\u4e8e\u6587\u672c\u5bbd\u5ea6\uff09\uff0c\u5219\u6587\u672c\u5bbd\u5ea6\u5c06\u7528\u4e8e\u6846\u67b6\u3002\nint \u6587\u672c\u524d\u540e\u7684\u989d\u5916\u7a7a\u95f4\u3002\nint \u6587\u672c\u4e0a\u4e0b\u7684\u989d\u5916\u7a7a\u95f4\u3002\n\u4f8b\u5b50\uff1a\nu8g2.DrawButtonUTF8(\"str\", 10, 20,u8g2.BTN_BW2,0,2,2)\n", "prefix": "u8g2.DrawButtonUTF8"}, "u8g2.SetFontMode": {"body": "u8g2.SetFontMode(${1:mode})", "description": "u8g2.SetFontMode(mode) - \u8bbe\u7f6e\u5b57\u4f53\u6a21\u5f0f\n\u4f20\u5165\u503c\uff1a\nint mode\u5b57\u4f53\u6a21\u5f0f\uff0c\u542f\u7528\uff081\uff09\u6216\u7981\u7528\uff080\uff09\u900f\u660e\u6a21\u5f0f\n\u4f8b\u5b50\uff1a\nu8g2.SetFontMode(1)\n", "prefix": "u8g2.SetFontMode"}, "u8g2.SetFont": {"body": "u8g2.SetFont(${1:font})", "description": "u8g2.SetFont(font) - \u8bbe\u7f6e\u5b57\u4f53\n\u4f20\u5165\u503c\uff1a\nuserdata font, u8g2.font_opposansm8 \u4e3a\u7eaf\u82f1\u65878\u53f7\u5b57\u4f53,\u8fd8\u6709font_opposansm10 font_opposansm12 font_opposansm16 font_opposansm18 font_opposansm20 font_opposansm22 font_opposansm24 font_opposansm32 \u53ef\u9009 u8g2.font_opposansm12_chinese \u4e3a12x12\u5168\u4e2d\u6587,\u8fd8\u6709 font_opposansm16_chinese font_opposansm24_chinese font_opposansm32_chinese \u53ef\u9009, u8g2.font_unifont_t_symbols \u4e3a\u7b26\u53f7.\n\u4f8b\u5b50\uff1a\n-- \u8bbe\u7f6e\u4e3a\u4e2d\u6587\u5b57\u4f53,\u5bf9\u4e4b\u540e\u7684drawStr\u6709\u6548\nu8g2.SetFont(u8g2.font_opposansm12)\n", "prefix": "u8g2.SetFont"}, "u8g2.GetDisplayHeight": {"body": "u8g2.GetDisplayHeight()", "description": "u8g2.GetDisplayHeight() - \u83b7\u53d6\u663e\u793a\u5c4f\u9ad8\u5ea6\n\u8fd4\u56de\u503c\uff1a\nint \u663e\u793a\u5c4f\u9ad8\u5ea6\n\u4f8b\u5b50\uff1a\nu8g2.GetDisplayHeight()\n", "prefix": "u8g2.GetDisplayHeight"}, "u8g2.GetDisplayWidth": {"body": "u8g2.GetDisplayWidth()", "description": "u8g2.GetDisplayWidth() - \u83b7\u53d6\u663e\u793a\u5c4f\u5bbd\u5ea6\n\u8fd4\u56de\u503c\uff1a\nint \u663e\u793a\u5c4f\u5bbd\u5ea6\n\u4f8b\u5b50\uff1a\nu8g2.GetDisplayWidth()\n", "prefix": "u8g2.GetDisplayWidth"}, "u8g2.SetDrawColor": {"body": "u8g2.SetDrawColor(${1:c})", "description": "u8g2.SetDrawColor(c) - \u4e3a\u6240\u6709\u7ed8\u56fe\u529f\u80fd\u5206\u914d\u7ed8\u56fe\u989c\u8272\u3002\n\u4f20\u5165\u503c\uff1a\nint c\u4e3a\u989c\u8272\u503c 0\u6ca1\u6709\u8272 1\u6709\u8272 2\u4e0e\u5e95\u8272xor\n\u4f8b\u5b50\uff1a\nu8g2.SetDrawColor(0)\n", "prefix": "u8g2.SetDrawColor"}, "u8g2.DrawPixel": {"body": "u8g2.DrawPixel(${1:x},${2:y})", "description": "u8g2.DrawPixel(x,y) - \u753b\u4e00\u4e2a\u70b9.\n\u4f20\u5165\u503c\uff1a\nint X\u4f4d\u7f6e.\nint Y\u4f4d\u7f6e.\n\u4f8b\u5b50\uff1a\nu8g2.DrawPixel(20, 5)\n", "prefix": "u8g2.DrawPixel"}, "u8g2.DrawLine": {"body": "u8g2.DrawLine(${1:x0},${2:y0},${3:x1},${4:y1})", "description": "u8g2.DrawLine(x0,y0,x1,y1) - \u5728\u4e24\u70b9\u4e4b\u95f4\u753b\u4e00\u6761\u7ebf.\n\u4f20\u5165\u503c\uff1a\nint \u7b2c\u4e00\u4e2a\u70b9\u7684X\u4f4d\u7f6e.\nint \u7b2c\u4e00\u4e2a\u70b9\u7684Y\u4f4d\u7f6e.\nint \u7b2c\u4e8c\u4e2a\u70b9\u7684X\u4f4d\u7f6e.\nint \u7b2c\u4e8c\u4e2a\u70b9\u7684Y\u4f4d\u7f6e.\n\u4f8b\u5b50\uff1a\nu8g2.DrawLine(20, 5, 5, 32)\n", "prefix": "u8g2.DrawLine"}, "u8g2.DrawCircle": {"body": "u8g2.DrawCircle(${1:x0},${2:y0},${3:rad},${4:opt})", "description": "u8g2.DrawCircle(x0,y0,rad,opt) - \u5728x,y\u4f4d\u7f6e\u753b\u4e00\u4e2a\u534a\u5f84\u4e3arad\u7684\u7a7a\u5fc3\u5706.\n\u4f20\u5165\u503c\uff1a\nint \u5706\u5fc3\u4f4d\u7f6e\nint \u5706\u5fc3\u4f4d\u7f6e\nint \u5706\u534a\u5f84.\nint \u9009\u62e9\u5706\u7684\u90e8\u5206\u6216\u5168\u90e8. \u9ed8\u8ba4\u5168\u753b \u53ef\u9009 u8g2.DRAW_UPPER_RIGHT u8g2.DRAW_UPPER_LEFT u8g2.DRAW_LOWER_LEFT u8g2.DRAW_LOWER_RIGHT u8g2.DRAW_ALL\n\u4f8b\u5b50\uff1a\nu8g2.DrawCircle(60,30,8,u8g2.DRAW_ALL)\n", "prefix": "u8g2.DrawCircle"}, "u8g2.DrawDisc": {"body": "u8g2.DrawDisc(${1:x0},${2:y0},${3:rad},${4:opt})", "description": "u8g2.DrawDisc(x0,y0,rad,opt) - \u5728x,y\u4f4d\u7f6e\u753b\u4e00\u4e2a\u534a\u5f84\u4e3arad\u7684\u5b9e\u5fc3\u5706.\n\u4f20\u5165\u503c\uff1a\nint \u5706\u5fc3\u4f4d\u7f6e\nint \u5706\u5fc3\u4f4d\u7f6e\nint \u5706\u534a\u5f84.\nint \u9009\u62e9\u5706\u7684\u90e8\u5206\u6216\u5168\u90e8. \u9ed8\u8ba4\u5168\u753b \u53ef\u9009 u8g2.DRAW_UPPER_RIGHT u8g2.DRAW_UPPER_LEFT u8g2.DRAW_LOWER_LEFT u8g2.DRAW_LOWER_RIGHT u8g2.DRAW_ALL\n\u4f8b\u5b50\uff1a\nu8g2.DrawDisc(60,30,8,u8g2.DRAW_ALL)\n", "prefix": "u8g2.DrawDisc"}, "u8g2.DrawEllipse": {"body": "u8g2.DrawEllipse(${1:x0},${2:y0},${3:rx},${4:ry},${5:opt})", "description": "u8g2.DrawEllipse(x0,y0,rx,ry,opt) - \u5728x,y\u4f4d\u7f6e\u753b\u4e00\u4e2a\u534a\u5f84\u4e3arad\u7684\u7a7a\u5fc3\u692d\u5706.\n\u4f20\u5165\u503c\uff1a\nint \u5706\u5fc3\u4f4d\u7f6e\nint \u5706\u5fc3\u4f4d\u7f6e\nint \u692d\u5706\u5927\u5c0f\nint \u692d\u5706\u5927\u5c0f\nint \u9009\u62e9\u5706\u7684\u90e8\u5206\u6216\u5168\u90e8. \u9ed8\u8ba4\u5168\u753b \u53ef\u9009 u8g2.DRAW_UPPER_RIGHT u8g2.DRAW_UPPER_LEFT u8g2.DRAW_LOWER_LEFT u8g2.DRAW_LOWER_RIGHT u8g2.DRAW_ALL\n\u4f8b\u5b50\uff1a\nu8g2.DrawEllipse(60,30,8,u8g2.DRAW_ALL)\n", "prefix": "u8g2.DrawEllipse"}, "u8g2.DrawFilledEllipse": {"body": "u8g2.DrawFilledEllipse(${1:x0},${2:y0},${3:rx},${4:ry},${5:opt})", "description": "u8g2.DrawFilledEllipse(x0,y0,rx,ry,opt) - \u5728x,y\u4f4d\u7f6e\u753b\u4e00\u4e2a\u534a\u5f84\u4e3arad\u7684\u5b9e\u5fc3\u692d\u5706.\n\u4f20\u5165\u503c\uff1a\nint \u5706\u5fc3\u4f4d\u7f6e\nint \u5706\u5fc3\u4f4d\u7f6e\nint \u692d\u5706\u5927\u5c0f\nint \u692d\u5706\u5927\u5c0f\nint \u9009\u62e9\u5706\u7684\u90e8\u5206\u6216\u5168\u90e8. \u9ed8\u8ba4\u5168\u753b \u53ef\u9009 u8g2.DRAW_UPPER_RIGHT u8g2.DRAW_UPPER_LEFT u8g2.DRAW_LOWER_LEFT u8g2.DRAW_LOWER_RIGHT u8g2.DRAW_ALL\n\u4f8b\u5b50\uff1a\nu8g2.DrawFilledEllipse(60,30,8,15)\n", "prefix": "u8g2.DrawFilledEllipse"}, "u8g2.DrawBox": {"body": "u8g2.DrawBox(${1:x},${2:y},${3:w},${4:h})", "description": "u8g2.DrawBox(x,y,w,h) - \u4ecex / y\u4f4d\u7f6e\uff08\u5de6\u4e0a\u8fb9\u7f18\uff09\u5f00\u59cb\u7ed8\u5236\u4e00\u4e2a\u6846\uff08\u586b\u5145\u7684\u6846\uff09.\n\u4f20\u5165\u503c\uff1a\nint \u5de6\u4e0a\u8fb9\u7f18\u7684X\u4f4d\u7f6e\nint \u5de6\u4e0a\u8fb9\u7f18\u7684Y\u4f4d\u7f6e\nint \u76d2\u5b50\u7684\u5bbd\u5ea6\nint \u76d2\u5b50\u7684\u9ad8\u5ea6\n\u4f8b\u5b50\uff1a\nu8g2.DrawBox(3,7,25,15)\n", "prefix": "u8g2.DrawBox"}, "u8g2.DrawFrame": {"body": "u8g2.DrawFrame(${1:x},${2:y},${3:w},${4:h})", "description": "u8g2.DrawFrame(x,y,w,h) - \u4ecex / y\u4f4d\u7f6e\uff08\u5de6\u4e0a\u8fb9\u7f18\uff09\u5f00\u59cb\u7ed8\u5236\u4e00\u4e2a\u6846\uff08\u7a7a\u6846\uff09.\n\u4f20\u5165\u503c\uff1a\nint \u5de6\u4e0a\u8fb9\u7f18\u7684X\u4f4d\u7f6e\nint \u5de6\u4e0a\u8fb9\u7f18\u7684Y\u4f4d\u7f6e\nint \u76d2\u5b50\u7684\u5bbd\u5ea6\nint \u76d2\u5b50\u7684\u9ad8\u5ea6\n\u4f8b\u5b50\uff1a\nu8g2.DrawFrame(3,7,25,15)\n", "prefix": "u8g2.DrawFrame"}, "u8g2.DrawRBox": {"body": "u8g2.DrawRBox(${1:x},${2:y},${3:w},${4:h},${5:r})", "description": "u8g2.DrawRBox(x,y,w,h,r) - \u7ed8\u5236\u4e00\u4e2a\u4ecex / y\u4f4d\u7f6e\uff08\u5de6\u4e0a\u8fb9\u7f18\uff09\u5f00\u59cb\u5177\u6709\u5706\u5f62\u8fb9\u7f18\u7684\u586b\u5145\u6846/\u6846\u67b6.\n\u4f20\u5165\u503c\uff1a\nint \u5de6\u4e0a\u8fb9\u7f18\u7684X\u4f4d\u7f6e\nint \u5de6\u4e0a\u8fb9\u7f18\u7684Y\u4f4d\u7f6e\nint \u76d2\u5b50\u7684\u5bbd\u5ea6\nint \u76d2\u5b50\u7684\u9ad8\u5ea6\nint \u56db\u4e2a\u8fb9\u7f18\u7684\u534a\u5f84\n\u4f8b\u5b50\uff1a\nu8g2.DrawRBox(3,7,25,15)\n", "prefix": "u8g2.DrawRBox"}, "u8g2.DrawRFrame": {"body": "u8g2.DrawRFrame(${1:x},${2:y},${3:w},${4:h},${5:r})", "description": "u8g2.DrawRFrame(x,y,w,h,r) - \u7ed8\u5236\u4e00\u4e2a\u4ecex / y\u4f4d\u7f6e\uff08\u5de6\u4e0a\u8fb9\u7f18\uff09\u5f00\u59cb\u5177\u6709\u5706\u5f62\u8fb9\u7f18\u7684\u7a7a\u6846/\u6846\u67b6.\n\u4f20\u5165\u503c\uff1a\nint \u5de6\u4e0a\u8fb9\u7f18\u7684X\u4f4d\u7f6e\nint \u5de6\u4e0a\u8fb9\u7f18\u7684Y\u4f4d\u7f6e\nint \u76d2\u5b50\u7684\u5bbd\u5ea6\nint \u76d2\u5b50\u7684\u9ad8\u5ea6\nint \u56db\u4e2a\u8fb9\u7f18\u7684\u534a\u5f84\n\u4f8b\u5b50\uff1a\nu8g2.DrawRFrame(3,7,25,15)\n", "prefix": "u8g2.DrawRFrame"}, "u8g2.DrawGlyph": {"body": "u8g2.DrawGlyph(${1:x},${2:y},${3:encoding})", "description": "u8g2.DrawGlyph(x,y,encoding) - \u7ed8\u5236\u4e00\u4e2a\u56fe\u5f62\u5b57\u7b26\u3002\u5b57\u7b26\u653e\u7f6e\u5728\u6307\u5b9a\u7684\u50cf\u7d20\u4f4d\u7f6ex\u548cy.\n\u4f20\u5165\u503c\uff1a\nint \u5b57\u7b26\u5728\u663e\u793a\u5c4f\u4e0a\u7684\u4f4d\u7f6e\nint \u5b57\u7b26\u5728\u663e\u793a\u5c4f\u4e0a\u7684\u4f4d\u7f6e\nint \u5b57\u7b26\u7684Unicode\u503c\n\u4f8b\u5b50\uff1a\nu8g2.SetFont(u8g2_font_unifont_t_symbols)\nu8g2.DrawGlyph(5, 20, 0x2603)\t-- dec 9731/hex 2603 Snowman\n", "prefix": "u8g2.DrawGlyph"}, "u8g2.DrawTriangle": {"body": "u8g2.DrawTriangle(${1:x0},${2:y0},${3:x1},${4:y1},${5:x2},${6:y2})", "description": "u8g2.DrawTriangle(x0,y0,x1,y1,x2,y2) - \u7ed8\u5236\u4e00\u4e2a\u4e09\u89d2\u5f62\uff08\u5b9e\u5fc3\u591a\u8fb9\u5f62\uff09.\n\u4f20\u5165\u503c\uff1a\nint \u70b90X\u4f4d\u7f6e\nint \u70b90Y\u4f4d\u7f6e\nint \u70b91X\u4f4d\u7f6e\nint \u70b91Y\u4f4d\u7f6e\nint \u70b92X\u4f4d\u7f6e\nint \u70b92Y\u4f4d\u7f6e\n\u4f8b\u5b50\uff1a\nu8g2.DrawTriangle(20,5, 27,50, 5,32)\n", "prefix": "u8g2.DrawTriangle"}, "u8g2.SetBitmapMode": {"body": "u8g2.SetBitmapMode(${1:mode})", "description": "u8g2.SetBitmapMode(mode) - \u5b9a\u4e49\u4f4d\u56fe\u51fd\u6570\u662f\u5426\u5c06\u5199\u5165\u80cc\u666f\u8272\n\u4f20\u5165\u503c\uff1a\nint mode\u5b57\u4f53\u6a21\u5f0f\uff0c\u542f\u7528\uff081\uff09\u6216\u7981\u7528\uff080\uff09\u900f\u660e\u6a21\u5f0f\n\u4f8b\u5b50\uff1a\nu8g2.SetBitmapMode(1)\n", "prefix": "u8g2.SetBitmapMode"}, "u8g2.DrawXBM": {"body": "u8g2.DrawXBM(${1:x},${2:y},${3:w},${4:h},${5:data})", "description": "u8g2.DrawXBM(x, y, w, h, data) - \u7ed8\u5236\u4f4d\u56fe\n\u4f20\u5165\u503c\uff1a\nint X\u5750\u6807\nint y\u5750\u6807\nint \u4f4d\u56fe\u5bbd\nint \u4f4d\u56fe\u9ad8\nint \u4f4d\u56fe\u6570\u636e,\u6bcf\u4e00\u4f4d\u4ee3\u8868\u4e00\u4e2a\u50cf\u7d20\n\u4f8b\u5b50\uff1a\n-- \u53d6\u6a21\u4f7f\u7528PCtoLCD2002\u8f6f\u4ef6\u5373\u53ef\n-- \u5728(0,0)\u4e3a\u5de6\u4e0a\u89d2,\u7ed8\u5236 16x16 \"\u4eca\" \u7684\u4f4d\u56fe\nu8g2.DrawXBM(0, 0, 16,16, string.char(\n 0x80,0x00,0x80,0x00,0x40,0x01,0x20,0x02,0x10,0x04,0x48,0x08,0x84,0x10,0x83,0x60,\n 0x00,0x00,0xF8,0x0F,0x00,0x08,0x00,0x04,0x00,0x04,0x00,0x02,0x00,0x01,0x80,0x00\n))\n", "prefix": "u8g2.DrawXBM"}, "u8g2.DrawDrcode": {"body": "u8g2.DrawDrcode(${1:x},${2:y},${3:str},${4:size})", "description": "u8g2.DrawDrcode(x, y, str, size) - \u7f13\u51b2\u533a\u7ed8\u5236QRCode\n\u4f20\u5165\u503c\uff1a\nint x\u5750\u6807\nint y\u5750\u6807\nstring \u4e8c\u7ef4\u7801\u7684\u5185\u5bb9\nint \u663e\u793a\u5927\u5c0f (\u6ce8\u610f:\u4e8c\u7ef4\u7801\u751f\u6210\u5927\u5c0f\u4e0e\u8981\u663e\u793a\u5185\u5bb9\u548c\u7ea0\u9519\u7b49\u7ea7\u6709\u5173,\u751f\u6210\u7248\u672c\u4e3a1-40(\u5bf9\u5e94 21x21 - 177x177)\u7684\u4e0d\u5b9a\u5927\u5c0f,\u5982\u679c\u548c\u8bbe\u7f6e\u5927\u5c0f\u4e0d\u540c\u4f1a\u81ea\u52a8\u5728\u6307\u5b9a\u7684\u533a\u57df\u4e2d\u95f4\u663e\u793a\u4e8c\u7ef4\u7801,\u5982\u4e8c\u7ef4\u7801\u672a\u663e\u793a\u8bf7\u67e5\u770b\u65e5\u5fd7\u63d0\u793a)\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n", "prefix": "u8g2.DrawDrcode"}, "u8g2.SetContrast": {"body": "u8g2.SetContrast(${1:contrast})", "description": "u8g2.SetContrast(contrast) - \u8c03\u6574\u5c4f\u5e55\u5bf9\u6bd4\u5ea6\n\u4f20\u5165\u503c\uff1a\nint \u5bf9\u6bd4\u5ea6\uff08\u53d6\u503c\u8303\u56f4\u4e0eIC\u6709\u5173\uff0c\u5982st7567\u4e3a0-63\uff09\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n", "prefix": "u8g2.SetContrast"}, "u8g2.drawGtfontGb2312": {"body": "u8g2.drawGtfontGb2312(${1:str},${2:size},${3:x},${4:y})", "description": "u8g2.drawGtfontGb2312(str,size,x,y) - \u4f7f\u7528gtfont\u663e\u793agb2312\u5b57\u7b26\u4e32\n\u4f20\u5165\u503c\uff1a\nstring str \u663e\u793a\u5b57\u7b26\u4e32\nint size \u5b57\u4f53\u5927\u5c0f (\u652f\u630116-192\u53f7\u5927\u5c0f\u5b57\u4f53)\nint x \u6a2a\u5750\u6807\nint y \u7ad6\u5750\u6807\n\u4f8b\u5b50\uff1a\nu8g2.drawGtfontGb2312(\"\u554a\u554a\u554a\",32,0,0)\n", "prefix": "u8g2.drawGtfontGb2312"}, "u8g2.drawGtfontUtf8": {"body": "u8g2.drawGtfontUtf8(${1:str},${2:size},${3:x},${4:y})", "description": "u8g2.drawGtfontUtf8(str,size,x,y) - \u4f7f\u7528gtfont\u663e\u793aUTF8\u5b57\u7b26\u4e32\n\u4f20\u5165\u503c\uff1a\nstring str \u663e\u793a\u5b57\u7b26\u4e32\nint size \u5b57\u4f53\u5927\u5c0f (\u652f\u630116-192\u53f7\u5927\u5c0f\u5b57\u4f53)\nint x \u6a2a\u5750\u6807\nint y \u7ad6\u5750\u6807\n\u4f8b\u5b50\uff1a\nu8g2.drawGtfontUtf8(\"\u554a\u554a\u554a\",32,0,0)\n", "prefix": "u8g2.drawGtfontUtf8"}, "u8g2.CopyBuffer": {"body": "u8g2.CopyBuffer(${1:buff})", "description": "u8g2.CopyBuffer(buff) - \u83b7\u53d6\u5e95\u5c42\u56fe\u50cf\u7f13\u51b2\u533a\n\u4f20\u5165\u503c\uff1a\nuserdata zbuff\u5b9e\u4f8b,\u7a7a\u95f4\u8981\u5927\u4e8e\u7b49\u4e8e\u5e95\u5c42buff\u7684\u5927\u5c0f\n\u8fd4\u56de\u503c\uff1a\nint \u6210\u529f\u8fd4\u56debuff\u5927\u5c0f,\u5426\u5219\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\n-- \u672c\u51fd\u6570\u5728u8g2\u521d\u59cb\u5316\u4e4b\u540e\u624d\u80fd\u8c03\u7528\n\n-- \u83b7\u53d6\u5927\u5c0f\nlocal sz = u8g2.CopyBuffer()\n\n-- \u62f7\u8d1d\u5e95\u5c42buff\nlocal buff = zbuff.create(sz)\nu8g2.CopyBuffer(buff)\n\n", "prefix": "u8g2.CopyBuffer"}, "u8g2.SetPowerSave": {"body": "u8g2.SetPowerSave(${1:is_enable})", "description": "u8g2.SetPowerSave(is_enable) - \u8bbe\u7f6e\u7701\u7535\u6a21\u5f0f\n\u4f20\u5165\u503c\uff1a\nboolean \u542f\u7528\u4e0e\u5426. true \u542f\u7528, false\u7981\u7528\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n-- \u672cAPI\u4e8e2023.11.02\u65b0\u589e\n-- \u5f00\u542f\u7701\u7535\nu8g2.SetPowerSave(true)\n-- \u5173\u95ed\u7701\u7535\nu8g2.SetPowerSave(false)\n", "prefix": "u8g2.SetPowerSave"}, "uart.setup": {"body": "uart.setup(${1:id},${2:baud_rate},${3:data_bits},${4:stop_bits},${5:partiy},${6:bit_order},${7:buff_size},${8:rs485_gpio},${9:rs485_level},${10:rs485_delay})", "description": "uart.setup(id, baud_rate, data_bits, stop_bits, partiy, bit_order, buff_size, rs485_gpio, rs485_level, rs485_delay) - \u914d\u7f6e\u4e32\u53e3\u53c2\u6570\n\u4f20\u5165\u503c\uff1a\nint \u4e32\u53e3id, uart0\u51990, uart1\u51991, \u5982\u6b64\u7c7b\u63a8, \u6700\u5927\u503c\u53d6\u51b3\u4e8e\u8bbe\u5907\nint \u6ce2\u7279\u7387, \u9ed8\u8ba4115200\uff0c\u53ef\u9009\u62e9\u6ce2\u7279\u7387\u8868:{2000000,921600,460800,230400,115200,57600,38400,19200,9600,4800,2400}\nint \u6570\u636e\u4f4d\uff0c\u9ed8\u8ba4\u4e3a8, \u53ef\u9009 7/8\nint \u505c\u6b62\u4f4d\uff0c\u9ed8\u8ba4\u4e3a1, \u6839\u636e\u5b9e\u9645\u60c5\u51b5\uff0c\u53ef\u4ee5\u67090.5/1/1.5/2\u7b49\nint \u6821\u9a8c\u4f4d\uff0c\u53ef\u9009 uart.None/uart.Even/uart.Odd\nint \u5927\u5c0f\u7aef\uff0c\u9ed8\u8ba4\u5c0f\u7aef uart.LSB, \u53ef\u9009 uart.MSB\nint \u7f13\u51b2\u533a\u5927\u5c0f\uff0c\u9ed8\u8ba4\u503c1024\nint 485\u6a21\u5f0f\u4e0b\u7684\u8f6c\u6362GPIO, \u9ed8\u8ba4\u503c0xffffffff\nint 485\u6a21\u5f0f\u4e0b\u7684rx\u65b9\u5411GPIO\u7684\u7535\u5e73, \u9ed8\u8ba4\u503c0\nint 485\u6a21\u5f0f\u4e0btx\u5411rx\u8f6c\u6362\u7684\u5ef6\u8fdf\u65f6\u95f4\uff0c\u9ed8\u8ba4\u503c12bit\u7684\u65f6\u95f4\uff0c\u5355\u4f4dus\n\u8fd4\u56de\u503c\uff1a\nint \u6210\u529f\u8fd4\u56de0,\u5931\u8d25\u8fd4\u56de\u5176\u4ed6\u503c\n\u4f8b\u5b50\uff1a\n-- \u6700\u5e38\u7528115200 8N1\nuart.setup(1, 115200, 8, 1, uart.NONE)\n-- \u53ef\u4ee5\u7b80\u5199\u4e3a uart.setup(1)\n\n-- 485\u81ea\u52a8\u5207\u6362, \u9009\u53d6GPIO10\u4f5c\u4e3a\u6536\u53d1\u8f6c\u6362\u811a\nuart.setup(1, 115200, 8, 1, uart.NONE, uart.LSB, 1024, 10, 0, 100)\n", "prefix": "uart.setup"}, "uart.write": {"body": "uart.write(${1:id},${2:data})", "description": "uart.write(id, data) - \u5199\u4e32\u53e3\n\u4f20\u5165\u503c\uff1a\nint \u4e32\u53e3id, uart0\u51990, uart1\u51991\nstring/zbuff \u5f85\u5199\u5165\u7684\u6570\u636e\uff0c\u5982\u679c\u662fzbuff\u4f1a\u4ece\u6307\u9488\u8d77\u59cb\u4f4d\u7f6e\u5f00\u59cb\u8bfb\nint \u53ef\u9009\uff0c\u8981\u53d1\u9001\u7684\u6570\u636e\u957f\u5ea6\uff0c\u9ed8\u8ba4\u5168\u53d1\n\u8fd4\u56de\u503c\uff1a\nint \u6210\u529f\u7684\u6570\u636e\u957f\u5ea6\n\u4f8b\u5b50\uff1a\n-- \u5199\u5165\u53ef\u89c1\u5b57\u7b26\u4e32\nuart.write(1, \"rdy\\r\\n\")\n-- \u5199\u5165\u5341\u516d\u8fdb\u5236\u7684\u6570\u636e\u4e32\nuart.write(1, string.char(0x55,0xAA,0x4B,0x03,0x86))\n", "prefix": "uart.write"}, "uart.read": {"body": "uart.read(${1:id},${2:len})", "description": "uart.read(id, len) - \u8bfb\u4e32\u53e3\n\u4f20\u5165\u503c\uff1a\nint \u4e32\u53e3id, uart0\u51990, uart1\u51991\nint \u8bfb\u53d6\u957f\u5ea6\nfile/zbuff \u53ef\u9009\uff1a\u6587\u4ef6\u53e5\u67c4\u6216zbuff\u5bf9\u8c61\n\u8fd4\u56de\u503c\uff1a\nstring \u8bfb\u53d6\u5230\u7684\u6570\u636e / \u4f20\u5165zbuff\u65f6\uff0c\u8fd4\u56de\u8bfb\u5230\u7684\u957f\u5ea6\uff0c\u5e76\u628azbuff\u6307\u9488\u540e\u79fb\n\u4f8b\u5b50\uff1a\nuart.read(1, 16)\n", "prefix": "uart.read"}, "uart.close": {"body": "uart.close(${1:id})", "description": "uart.close(id) - \u5173\u95ed\u4e32\u53e3\n\u4f20\u5165\u503c\uff1a\nint \u4e32\u53e3id, uart0\u51990, uart1\u51991\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\nuart.close(1)\n", "prefix": "uart.close"}, "uart.on": {"body": "uart.on(${1:id},${2:event},${3:func})", "description": "uart.on(id, event, func) - \u6ce8\u518c\u4e32\u53e3\u4e8b\u4ef6\u56de\u8c03\n\u4f20\u5165\u503c\uff1a\nint \u4e32\u53e3id, uart0\u51990, uart1\u51991\nstring \u4e8b\u4ef6\u540d\u79f0\nfunction \u56de\u8c03\u65b9\u6cd5\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\nuart.on(1, \"receive\", function(id, len)\n local data = uart.read(id, len)\n log.info(\"uart\", id, len, data)\nend)\n", "prefix": "uart.on"}, "uart.wait485": {"body": "uart.wait485(${1:id})", "description": "uart.wait485(id) - \u7b49\u5f85485\u6a21\u5f0f\u4e0bTX\u5b8c\u6210\uff0cmcu\u4e0d\u652f\u6301\u4e32\u53e3\u53d1\u9001\u79fb\u4f4d\u5bc4\u5b58\u5668\u7a7a\u6216\u8005\u7c7b\u4f3c\u4e2d\u65ad\u65f6\u624d\u9700\u8981\uff0c\u5728sent\u4e8b\u4ef6\u56de\u8c03\u540e\u4f7f\u7528\n\u4f20\u5165\u503c\uff1a\nint \u4e32\u53e3id, uart0\u51990, uart1\u51991\n\u8fd4\u56de\u503c\uff1a\nint \u7b49\u5f85\u4e86\u591a\u5c11\u6b21\u5faa\u73af\u624d\u7b49\u5230tx\u5b8c\u6210\uff0c\u7528\u4e8e\u7c97\u52a3\u7684\u89c2\u5bdfdelay\u65f6\u95f4\u662f\u5426\u8db3\u591f\uff0c\u8fd4\u56de\u4e0d\u4e3a0\u8bf4\u660e\u8fd8\u9700\u8981\u653e\u5927delay\n", "prefix": "uart.wait485"}, "uart.exist": {"body": "uart.exist(${1:id})", "description": "uart.exist(id) - \u68c0\u67e5\u4e32\u53e3\u53f7\u662f\u5426\u5b58\u5728\n\u4f20\u5165\u503c\uff1a\nint \u4e32\u53e3id, uart0\u51990, uart1\u51991, \u5982\u6b64\u7c7b\u63a8\n\u8fd4\u56de\u503c\uff1a\nbool \u5b58\u5728\u8fd4\u56detrue\n", "prefix": "uart.exist"}, "uart.rx": {"body": "uart.rx(${1:id},${2:buff})", "description": "uart.rx(id, buff) - buff\u5f62\u5f0f\u8bfb\u4e32\u53e3\uff0c\u4e00\u6b21\u8bfb\u51fa\u5168\u90e8\u6570\u636e\u5b58\u5165buff\u4e2d\uff0c\u5982\u679cbuff\u7a7a\u95f4\u4e0d\u591f\u4f1a\u81ea\u52a8\u6269\u5c55\uff0c\u76ee\u524dair105,air780e\u652f\u6301\u8fd9\u4e2a\u64cd\u4f5c\n\u4f20\u5165\u503c\uff1a\nint \u4e32\u53e3id, uart0\u51990, uart1\u51991\nzbuff zbuff\u5bf9\u8c61\n\u8fd4\u56de\u503c\uff1a\nint \u8fd4\u56de\u8bfb\u5230\u7684\u957f\u5ea6\uff0c\u5e76\u628azbuff\u6307\u9488\u540e\u79fb\n\u4f8b\u5b50\uff1a\nuart.rx(1, buff)\n", "prefix": "uart.rx"}, "uart.rxSize": {"body": "uart.rxSize(${1:id})", "description": "uart.rxSize(id) - \u8bfb\u4e32\u53e3Rx\u7f13\u5b58\u4e2d\u5269\u4f59\u6570\u636e\u91cf\uff0c\u76ee\u524dair105,air780e\u652f\u6301\u8fd9\u4e2a\u64cd\u4f5c\n\u4f20\u5165\u503c\uff1a\nint \u4e32\u53e3id, uart0\u51990, uart1\u51991\n\u8fd4\u56de\u503c\uff1a\nint \u8fd4\u56de\u8bfb\u5230\u7684\u957f\u5ea6\n\u4f8b\u5b50\uff1a\nlocal size = uart.rxSize(1)\n", "prefix": "uart.rxSize"}, "uart.rxClear": {"body": "uart.rxClear(${1:id})", "description": "uart.rxClear(id) - \u6e05\u9664\u4e32\u53e3Rx\u7f13\u5b58\u4e2d\u5269\u4f59\u6570\u636e\u91cf\uff0c\u76ee\u524dair105,air780e\u652f\u6301\u8fd9\u4e2a\u64cd\u4f5c\n\u4f20\u5165\u503c\uff1a\nint \u4e32\u53e3id, uart0\u51990, uart1\u51991\n\u4f8b\u5b50\uff1a\nuart.rxClear(1)\n", "prefix": "uart.rxClear"}, "uart.tx": {"body": "uart.tx(${1:id},${2:buff},${3:start},${4:len})", "description": "uart.tx(id, buff, start, len) - buff\u5f62\u5f0f\u5199\u4e32\u53e3,\u7b49\u540c\u4e8ec\u8bed\u8a00uart_tx(uart_id, &buff[start], len);\n\u4f20\u5165\u503c\uff1a\nint \u4e32\u53e3id, uart0\u51990, uart1\u51991\nzbuff \u5f85\u5199\u5165\u7684\u6570\u636e\uff0c\u5982\u679c\u662fzbuff\u4f1a\u4ece\u6307\u9488\u8d77\u59cb\u4f4d\u7f6e\u5f00\u59cb\u8bfb\nint \u53ef\u9009\uff0c\u8981\u53d1\u9001\u7684\u6570\u636e\u8d77\u59cb\u4f4d\u7f6e\uff0c\u9ed8\u8ba4\u4e3a0\nint \u53ef\u9009\uff0c\u8981\u53d1\u9001\u7684\u6570\u636e\u957f\u5ea6\uff0c\u9ed8\u8ba4\u4e3azbuff\u5185\u6709\u6548\u6570\u636e\uff0c\u6700\u5927\u503c\u4e0d\u8d85\u8fc7zbuff\u7684\u6700\u5927\u7a7a\u95f4\n\u8fd4\u56de\u503c\uff1a\nint \u6210\u529f\u7684\u6570\u636e\u957f\u5ea6\n\u4f8b\u5b50\uff1a\nuart.tx(1, buf)\n", "prefix": "uart.tx"}, "uart.createSoft": {"body": "uart.createSoft(${1:tx_pin},${2:tx_hwtimer_id},${3:rx_pin},${4:rx_hwtimer_id},${5:adjust_period})", "description": "uart.createSoft(tx_pin, tx_hwtimer_id, rx_pin, rx_hwtimer_id, adjust_period) - \u8bbe\u7f6e\u8f6f\u4ef6uart\u7684\u786c\u4ef6\u914d\u7f6e\uff0c\u53ea\u6709\u652f\u6301\u786c\u4ef6\u5b9a\u65f6\u5668\u7684SOC\u624d\u80fd\u4f7f\u7528\uff0c\u76ee\u524d\u53ea\u80fd\u8bbe\u7f6e\u4e00\u4e2a\uff0c\u6ce2\u7279\u7387\u6839\u636e\u5e73\u53f0\u7684\u8f6f\u786c\u4ef6\u914d\u7f6e\u6709\u4e0d\u540c\u7684\u6781\u9650\uff0c\u5efa\u8bae9600\uff0c\u63a5\u6536\u7f13\u5b58\u4e0d\u8d85\u8fc765535\uff0c\u4e0d\u652f\u6301MSB\uff0c\u652f\u6301485\u81ea\u52a8\u63a7\u5236\u3002\u540e\u7eed\u4ecd\u8981setup\u64cd\u4f5c\n\u4f20\u5165\u503c\uff1a\nint \u53d1\u9001\u5f15\u811a\u7f16\u53f7\nint \u53d1\u9001\u7528\u7684\u786c\u4ef6\u5b9a\u65f6\u5668ID\nint \u63a5\u6536\u5f15\u811a\u7f16\u53f7\nint \u63a5\u6536\u7528\u7684\u786c\u4ef6\u5b9a\u65f6\u5668ID\nint \u53d1\u9001\u65f6\u5e8f\u8c03\u6574\uff0c\u5355\u4f4d\u662f\u5b9a\u65f6\u5668\u65f6\u949f\u5468\u671f\uff0c\u9ed8\u8ba4\u662f0\uff0c\u9700\u8981\u6839\u636e\u793a\u6ce2\u5668\u6216\u8005\u903b\u8f91\u5206\u6790\u4eea\u8fdb\u884c\u5fae\u8c03\nint \u63a5\u6536\u65f6\u5e8f\u8c03\u6574\uff0c\u5355\u4f4d\u662f\u5b9a\u65f6\u5668\u65f6\u949f\u5468\u671f\uff0c\u9ed8\u8ba4\u662f0\uff0c\u9700\u8981\u6839\u636e\u793a\u6ce2\u5668\u6216\u8005\u903b\u8f91\u5206\u6790\u4eea\u8fdb\u884c\u5fae\u8c03\n\u8fd4\u56de\u503c\uff1a\nint \u8f6f\u4ef6uart\u7684id\uff0c\u5982\u679c\u5931\u8d25\u5219\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\n-- \u521d\u59cb\u5316\u8f6f\u4ef6uart\nlocal uart_id = uart.createSoft(21, 0, 1, 2) --air780e\u5efa\u8bae\u7528\u5b9a\u65f6\u56680\u548c2\uff0ctx_pin\u6700\u597d\u7528AGPIO\uff0c\u9632\u6b62\u4f11\u7720\u65f6\u8bef\u89e6\u53d1\u5bf9\u7aefRX\n", "prefix": "uart.createSoft"}, "uart.list": {"body": "uart.list(${1:max})", "description": "uart.list(max) - \u83b7\u53d6\u53ef\u7528\u4e32\u53e3\u53f7\u5217\u8868\uff0c\u5f53\u524d\u4ec5\u9650win32\n\u4f20\u5165\u503c\uff1a\nint \u53ef\u9009\uff0c\u9ed8\u8ba4256\uff0c\u6700\u591a\u83b7\u53d6\u591a\u5c11\u4e2a\u4e32\u53e3\n\u8fd4\u56de\u503c\uff1a\ntable \u83b7\u53d6\u5230\u7684\u53ef\u7528\u4e32\u53e3\u53f7\u5217\u8868\n", "prefix": "uart.list"}, "ufont.get": {"body": "ufont.get(${1:name})", "description": "ufont.get(name) - \u83b7\u53d6\u5b57\u4f53\n\u4f20\u5165\u503c\uff1a\nstring \u5b57\u4f53\u540d\u79f0, \u4f8b\u5982\n\u8fd4\u56de\u503c\uff1a\nuserdata \u82e5\u5b57\u4f53\u5b58\u5728,\u8fd4\u56de\u5b57\u4f53\u6307\u9488, \u5426\u5219\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\n-- TODO\n", "prefix": "ufont.get"}, "ufont.list": {"body": "ufont.list()", "description": "ufont.list() - \u8fd4\u56de\u56fa\u4ef6\u652f\u6301\u7684\u5b57\u4f53\u5217\u8868\n\u8fd4\u56de\u503c\uff1a\ntable \u5b57\u4f53\u5217\u8868\n\u4f8b\u5b50\uff1a\n-- API\u65b0\u589e\u4e8e2022-08-05\nlog.info(\"fonts\", \"u8g2\", json.encode(ufont.list()))\n", "prefix": "ufont.list"}, "usbapp.set_id": {"body": "usbapp.set_id(${1:id},${2:vid},${3:pid})", "description": "usbapp.set_id(id, vid, pid) - USB \u8bbe\u7f6eVID\u548cPID\n\u4f20\u5165\u503c\uff1a\nint \u8bbe\u5907id,\u9ed8\u8ba4\u4e3a0\nint vid \u5c0f\u7aef\u683c\u5f0f\nint pid \u5c0f\u7aef\u683c\u5f0f\n\u4f8b\u5b50\uff1a\nusbapp.set_id(0, 0x1234, 0x5678)\n", "prefix": "usbapp.set_id"}, "usbapp.hid_mode": {"body": "usbapp.hid_mode(${1:id},${2:mode},${3:buff_size})", "description": "usbapp.hid_mode(id, mode, buff_size) - USB HID\u8bbe\u5907\u6a21\u5f0f\n\u4f20\u5165\u503c\uff1a\nint \u8bbe\u5907id,\u9ed8\u8ba4\u4e3a0\nint mode\uff0c\u76ee\u524d0\u662f\u952e\u76d8\uff0c1\u662f\u81ea\u5b9a\u4e49\nint buff_size\uff0c\u53ea\u80fd\u662f8,16,32,64\uff0c\u5982\u679c\u662f\u952e\u76d8\u6a21\u5f0f\u6216\u8005\u586b\u4e86\u5176\u4ed6\u503c\uff0c\u81ea\u52a8\u4e3a8\n\u4f8b\u5b50\uff1a\nusbapp.hid_mode(0, 0) -- usb hid\u952e\u76d8\u6a21\u5f0f\nusbapp.hid_mode(0, 1) -- usb hid\u81ea\u5b9a\u4e49\u6a21\u5f0f\uff0c\u7528\u4e8e\u514d\u9a71USB\u4ea4\u4e92\n", "prefix": "usbapp.hid_mode"}, "usbapp.start": {"body": "usbapp.start(${1:id})", "description": "usbapp.start(id) - \u542f\u52a8USB\u8bbe\u5907\n\u4f20\u5165\u503c\uff1a\nint \u8bbe\u5907id,\u9ed8\u8ba4\u4e3a0\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- \u542f\u52a8USB\nusbapp.start(0)\n", "prefix": "usbapp.start"}, "usbapp.stop": {"body": "usbapp.stop(${1:id})", "description": "usbapp.stop(id) - \u5173\u95edUSB\u8bbe\u5907\n\u4f20\u5165\u503c\uff1a\nint \u8bbe\u5907id,\u9ed8\u8ba4\u4e3a0\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- \u5173\u95edUSB\nusbapp.stop(0)\n", "prefix": "usbapp.stop"}, "usbapp.vhid_upload": {"body": "usbapp.vhid_upload(${1:id},${2:data})", "description": "usbapp.vhid_upload(id, data) - USB HID\u8bbe\u5907\u4e0a\u4f20\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nint \u8bbe\u5907id,\u9ed8\u8ba4\u4e3a0\nstring \u6570\u636e. \u6ce8\u610f, HID\u7684\u53ef\u7528\u5b57\u7b26\u662f\u6709\u9650\u5236\u7684, \u57fa\u672c\u4e0a\u53ea\u6709\u53ef\u89c1\u5b57\u7b26\u662f\u652f\u6301\u7684, \u4e0d\u652f\u6301\u7684\u5b57\u7b26\u4f1a\u66ff\u6362\u4e3a\u7a7a\u683c.\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- HID\u4e0a\u4f20\u6570\u636e\nusbapp.vhid_upload(0, \"1234\") -- usb hid\u4f1a\u6a21\u62df\u6572\u51fa1234\n", "prefix": "usbapp.vhid_upload"}, "usbapp.hid_tx": {"body": "usbapp.hid_tx(${1:id},${2:data},${3:start},${4:len})", "description": "usbapp.hid_tx(id, data, start, len) - USB HID\u8bbe\u5907\u4e0a\u4f20\u7528\u6237\u81ea\u5b9a\u4e49\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nint \u8bbe\u5907id,\u9ed8\u8ba4\u4e3a0\nstring or zbuff \u6ce8\u610f\u6570\u636e\u91cf\u4e0d\u8db3\u65f6\u4f1a\u81ea\u52a8\u586b\u51450\nint \u53ef\u9009\uff0cdata\u4e3azbuff\u624d\u6709\u6548\uff0c\u8981\u53d1\u9001\u7684\u6570\u636e\u8d77\u59cb\u4f4d\u7f6e\uff0c\u9ed8\u8ba4\u4e3a0\nint \u53ef\u9009\uff0cdata\u4e3azbuff\u624d\u6709\u6548\uff0c\u8981\u53d1\u9001\u7684\u6570\u636e\u957f\u5ea6\uff0c\u9ed8\u8ba4\u4e3azbuff\u5185\u6709\u6548\u6570\u636e\uff0c\u6700\u5927\u503c\u4e0d\u8d85\u8fc7zbuff\u7684\u6700\u5927\u7a7a\u95f4\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- HID\u4e0a\u4f20\u6570\u636e\nusbapp.hid_tx(0, \"1234\") -- usb hid\u4e0a\u4f200x31 0x32 0x33 0x34 + N\u4e2a0\n", "prefix": "usbapp.hid_tx"}, "usbapp.hid_rx": {"body": "usbapp.hid_rx(${1:id},${2:buff})", "description": "usbapp.hid_rx(id, buff) - buff\u5f62\u5f0f\u8bfb\u63a5\u6536\u5230\u7684\u6570\u636e\uff0c\u4e00\u6b21\u8bfb\u51fa\u5168\u90e8\u6570\u636e\u5b58\u5165buff\u4e2d\uff0c\u5982\u679cbuff\u7a7a\u95f4\u4e0d\u591f\u4f1a\u81ea\u52a8\u6269\u5c55\uff0c\u76ee\u524d\u53ea\u6709air105\u652f\u6301\u8fd9\u4e2a\u64cd\u4f5c\n\u4f20\u5165\u503c\uff1a\nint \u8bbe\u5907id,\u9ed8\u8ba4\u4e3a0\nzbuff zbuff\u5bf9\u8c61\n\u8fd4\u56de\u503c\uff1a\nint \u8fd4\u56de\u8bfb\u5230\u7684\u957f\u5ea6\uff0c\u5e76\u628azbuff\u6307\u9488\u540e\u79fb\n\u4f8b\u5b50\uff1a\nusbapp.hid_rx(0, buff)\n", "prefix": "usbapp.hid_rx"}, "usbapp.vhid_cancel_upload": {"body": "usbapp.vhid_cancel_upload(${1:id})", "description": "usbapp.vhid_cancel_upload(id) - USB HID\u8bbe\u5907\u53d6\u6d88\u4e0a\u4f20\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nint \u8bbe\u5907id,\u9ed8\u8ba4\u4e3a0\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\n-- \u53d6\u6d88\u4e0a\u4f20\u6570\u636e,\u901a\u5e38\u4e0d\u9700\u8981\nusbapp.vhid_cancel_upload(0)\n", "prefix": "usbapp.vhid_cancel_upload"}, "usbapp.udisk_attach_sdhc": {"body": "usbapp.udisk_attach_sdhc(${1:id})", "description": "usbapp.udisk_attach_sdhc(id) - USB U\u76d8\u8bbe\u5907\u6302\u8f7dSDHC\uff0cTF\u5361\n\u4f20\u5165\u503c\uff1a\nint \u8bbe\u5907id,\u9ed8\u8ba4\u4e3a0\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\nusbapp.udisk_attach_sdhc(0)\n", "prefix": "usbapp.udisk_attach_sdhc"}, "usbapp.udisk_detach_sdhc": {"body": "usbapp.udisk_detach_sdhc(${1:id})", "description": "usbapp.udisk_detach_sdhc(id) - USB U\u76d8\u8bbe\u5907\u53bb\u9664\u6302\u8f7dSDHC\uff0cTF\u5361\n\u4f20\u5165\u503c\uff1a\nint \u8bbe\u5907id,\u9ed8\u8ba4\u4e3a0\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\nusbapp.udisk_detach_sdhc(0)\n", "prefix": "usbapp.udisk_detach_sdhc"}, "w5500.init": {"body": "w5500.init(${1:spiid},${2:speed},${3:cs_pin},${4:irq_pin},${5:rst_pin},${6:link_pin})", "description": "w5500.init(spiid, speed, cs_pin, irq_pin, rst_pin, link_pin) - \u521d\u59cb\u5316w5500\n\u4f20\u5165\u503c\uff1a\nint spi\u901a\u9053\u53f7, \u4f8b\u5982 0, 1, 5, \u6309\u8bbe\u5907\u5b9e\u9645\u60c5\u51b5\u9009\nint spi\u901f\u5ea6, \u53ef\u4ee5\u8bbe\u7f6e\u5230\u5bf9\u5e94SPI\u7684\u6700\u9ad8\u901f\u5ea6\nint cs pin, \u7247\u9009\u811a, \u5bf9\u5e94W5500\u7684SCS\nint irq pin, \u4e2d\u65ad\u811a, \u5bf9\u5e94W5500\u7684INT\nint reset pin, \u590d\u4f4d\u811a, \u5bf9\u5e94W5500\u7684RST\nint link \u72b6\u6001 pin\uff0c\u53ef\u4ee5\u7559\u7a7a\u4e0d\u4f7f\u7528\uff0c\u9ed8\u8ba4\u4e0d\u4f7f\u7528\n\u4f8b\u5b50\uff1a\nw5500.init(spi.SPI_0, 24000000, pin.PB13, pin.PC08, pin.PC09)\n", "prefix": "w5500.init"}, "w5500.config": {"body": "w5500.config(${1:ip},${2:submask},${3:gateway},${4:mac},${5:RTR},${6:RCR},${7:speed})", "description": "w5500.config(ip, submask, gateway, mac, RTR, RCR, speed) - w5500\u914d\u7f6e\u7f51\u7edc\u4fe1\u606f\n\u4f20\u5165\u503c\uff1a\nstring \u9759\u6001ip\u5730\u5740\uff0c\u5982\u679c\u9700\u8981\u7528DHCP\u83b7\u53d6\uff0c\u8bf7\u5199nil\nstring \u5b50\u7f51\u63a9\u7801\uff0c\u5982\u679c\u4f7f\u7528\u52a8\u6001ip\uff0c\u5219\u5ffd\u7565\nstring \u7f51\u5173\uff0c\u5982\u679c\u4f7f\u7528\u52a8\u6001ip\uff0c\u5219\u5ffd\u7565\nstring MAC\uff0c\u5199nil\u5219\u901a\u8fc7MCU\u552f\u4e00\u7801\u81ea\u52a8\u751f\u6210\uff0c\u5982\u679c\u8981\u5199\uff0c\u957f\u5ea6\u5fc5\u987b\u662f6byte\nint \u91cd\u8bd5\u95f4\u9694\u65f6\u95f4\uff0c\u9ed8\u8ba42000\uff0c\u5355\u4f4d100us\uff0c\u4e0d\u61c2\u7684\u4e0d\u8981\u6539\nint \u6700\u5927\u91cd\u8bd5\u6b21\u6570\uff0c\u9ed8\u8ba48\uff0c\u4e0d\u61c2\u7684\u4e0d\u8981\u6539\nint \u901f\u5ea6\u7c7b\u578b\uff0c\u76ee\u524d\u53ea\u67090\u786c\u4ef6\u914d\u7f6e\uff0c1\u81ea\u9002\u5e94\uff0c\u9ed8\u8ba4\u4e3a0\n\u4f8b\u5b50\uff1a\nw5500.config(\"192.168.1.2\", \"255.255.255.0\", \"192.168.1.1\", string.fromHex(\"102a3b4c5d6e\"))\n", "prefix": "w5500.config"}, "w5500.bind": {"body": "w5500.bind(${1:id})", "description": "w5500.bind(id) - \u5c06w5500\u6ce8\u518c\u8fdb\u901a\u7528\u7f51\u7edc\u63a5\u53e3\n\u4f20\u5165\u503c\uff1a\nint \u901a\u7528\u7f51\u7edc\u901a\u9053\u53f7\n\u4f8b\u5b50\uff1a\n-- \u82e5\u4f7f\u7528\u7684\u7248\u672c\u4e0d\u5e26socket\u5e93, \u6539\u6210 network.ETH0\nw5500.bind(socket.ETH0)\n", "prefix": "w5500.bind"}, "w5500.getMac": {"body": "w5500.getMac()", "description": "w5500.getMac() - \u83b7\u53d6w5500\u5f53\u524d\u7684MAC\uff0c\u5fc5\u987b\u5728init\u4e4b\u540e\u7528\uff0c\u5982\u679cconfig\u4e2d\u8bbe\u7f6e\u4e86\u81ea\u5df1\u7684MAC\uff0c\u9700\u8981\u5ef6\u8fdf\u4e00\u70b9\u65f6\u95f4\u518d\u8bfb\n\u8fd4\u56de\u503c\uff1a\nstring \u5f53\u524d\u7684MAC\n\u4f8b\u5b50\uff1a\nlocal mac = w5500.getMac()\nlog.info(\"w5500 mac\", mac:toHex())\n", "prefix": "w5500.getMac"}, "wdt.init": {"body": "wdt.init(${1:timeout})", "description": "wdt.init(timeout) - \u521d\u59cb\u5316watchdog\u5e76\u9a6c\u4e0a\u542f\u7528.\u5927\u90e8\u5206\u8bbe\u5907\u7684watchdog\u4e00\u65e6\u542f\u7528\u5c31\u65e0\u6cd5\u5173\u95ed.\n\u4f20\u5165\u503c\uff1a\nint \u8d85\u65f6\u65f6\u957f,\u5355\u4f4d\u4e3a\u6beb\u79d2\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse(\u4f8b\u5982\u5e95\u5c42\u4e0d\u652f\u6301)\n\u4f8b\u5b50\uff1a\nwdt.init(9000)\nsys.timerLoopStart(wdt.feed, 3000)\n", "prefix": "wdt.init"}, "wdt.setTimeout": {"body": "wdt.setTimeout(${1:timeout})", "description": "wdt.setTimeout(timeout) - \u90e8\u5206\u8bbe\u5907\u652f\u6301\u91cd\u65b0\u8bbe\u7f6ewatchdog\u8d85\u65f6\u65f6\u957f\n\u4f20\u5165\u503c\uff1a\nint \u8d85\u65f6\u65f6\u957f,\u5355\u4f4d\u4e3a\u6beb\u79d2\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse(\u4f8b\u5982\u5e95\u5c42\u4e0d\u652f\u6301)\n\u4f8b\u5b50\uff1a\nwdt.init(10000)\nsys.timerLoopStart(wdt.feed, 3000)\nsys.wait(5000)\nsys.setTimeout(5000)\n", "prefix": "wdt.setTimeout"}, "wdt.feed": {"body": "wdt.feed()", "description": "wdt.feed() - \u5582\u72d7,\u4f7f\u5f97\u8d85\u65f6\u8ba1\u65f6\u590d\u4f4d,\u91cd\u65b0\u8ba1\u65f6\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse(\u4f8b\u5982\u5e95\u5c42\u4e0d\u652f\u6301)\n\u4f8b\u5b50\uff1a\nwdt.init(10000)\n-- \u5b9a\u65f6\u5582\u72d7,\u6216\u8005\u6839\u636e\u4e1a\u52a1\u6309\u9700\u5582\u72d7\nsys.timerLoopStart(wdt.feed, 3000)\n", "prefix": "wdt.feed"}, "wdt.close": {"body": "wdt.close()", "description": "wdt.close() - \u5173\u95edwatchdog,\u901a\u5e38\u4e0d\u88ab\u652f\u6301\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse(\u4f8b\u5982\u5e95\u5c42\u4e0d\u652f\u6301)\n\u4f8b\u5b50\uff1a\nwdt.init(10000)\nsys.wait(9000)\nwdt.close()\n", "prefix": "wdt.close"}, "wsc:debug": {"body": "wsc:debug(${1:onoff})", "description": "wsc:debug(onoff) - \u914d\u7f6e\u662f\u5426\u6253\u5f00debug\u4fe1\u606f\n\u4f20\u5165\u503c\uff1a\nboolean \u662f\u5426\u6253\u5f00debug\u5f00\u5173\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n", "prefix": "wsc:debug"}, "websocket.create": {"body": "websocket.create(${1:adapter},${2:url})", "description": "websocket.create(adapter, url) - websocket\u5ba2\u6237\u7aef\u521b\u5efa\n\u4f20\u5165\u503c\uff1a\nint \u9002\u914d\u5668\u5e8f\u53f7, \u53ea\u80fd\u662fsocket.ETH0, socket.STA, socket.AP,\u5982\u679c\u4e0d\u586b,\u4f1a\u9009\u62e9\u5e73\u53f0\u81ea\u5e26\u7684\u65b9\u5f0f,\u7136\u540e\u662f\u6700\u540e\u4e00\u4e2a\u6ce8\u518c\u7684\u9002\u914d\u5668\nstring \u8fde\u63a5\u5b57\u7b26\u4e32,\u53c2\u8003usage\n\u8fd4\u56de\u503c\uff1a\nuserdata \u82e5\u6210\u529f\u4f1a\u8fd4\u56dewebsocket\u5ba2\u6237\u7aef\u5b9e\u4f8b,\u5426\u5219\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\n-- \u666e\u901aTCP\u94fe\u63a5\nwsc = websocket.create(nil,\"ws://air32.cn/abc\")\n-- \u52a0\u5bc6TCP\u94fe\u63a5\nwsc = websocket.create(nil,\"wss://air32.cn/abc\")\n", "prefix": "websocket.create"}, "wsc:on": {"body": "wsc:on(${1:cb})", "description": "wsc:on(cb) - \u6ce8\u518cwebsocket\u56de\u8c03\n\u4f20\u5165\u503c\uff1a\nfunction cb websocket\u56de\u8c03,\u53c2\u6570\u5305\u62ecwebsocket_client, event, data, payload\n\u8fd4\u56de\u503c\uff1a\nnil \u65e0\u8fd4\u56de\u503c\n\u4f8b\u5b50\uff1a\nwsc:on(function(websocket_client, event, data, payload)\n\t-- \u6253\u5370\u5404\u79cd\u4e8b\u4ef6\n\tlog.info(\"websocket\", \"event\", event, data, payload)\nend)\n--[[\nevent\u7684\u503c\u6709:\n\tconack \u8fde\u63a5\u670d\u52a1\u5668\u6210\u529f,\u5df2\u7ecf\u6536\u5230websocket\u534f\u8bae\u5934\u90e8\u4fe1\u606f,\u901a\u4fe1\u5df2\u5efa\u7acb\n\trecv \u6536\u5230\u670d\u52a1\u5668\u4e0b\u53d1\u7684\u4fe1\u606f, data, payload \u4e0d\u4e3anil\n\tsent send\u51fd\u6570\u53d1\u9001\u7684\u6d88\u606f,\u670d\u52a1\u5668\u5728TCP\u534f\u8bae\u5c42\u5df2\u786e\u8ba4\u6536\u5230\n\tdisconnect \u670d\u52a1\u5668\u8fde\u63a5\u5df2\u65ad\u5f00\n\n\u5176\u4e2d sent/disconnect \u4e8b\u4ef6\u5728 2023.04.01 \u65b0\u589e\n]]\n", "prefix": "wsc:on"}, "wsc:connect": {"body": "wsc:connect()", "description": "wsc:connect() - \u8fde\u63a5\u670d\u52a1\u5668\n\u8fd4\u56de\u503c\uff1a\nboolean \u53d1\u8d77\u6210\u529f\u8fd4\u56detrue, \u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- \u5f00\u59cb\u5efa\u7acb\u8fde\u63a5\nwsc:connect()\n-- \u672c\u51fd\u6570\u4ec5\u4ee3\u8868\u53d1\u8d77\u6210\u529f, \u540e\u7eed\u4ecd\u9700\u6839\u636eready\u51fd\u6570\u5224\u65adwebsocket\u662f\u5426\u8fde\u63a5\u6b63\u5e38\n", "prefix": "wsc:connect"}, "wsc:autoreconn": {"body": "wsc:autoreconn(${1:reconnect},${2:reconnect_time})", "description": "wsc:autoreconn(reconnect, reconnect_time) - \u81ea\u52a8\u91cd\u8fde\n\u4f20\u5165\u503c\uff1a\nbool \u662f\u5426\u81ea\u52a8\u91cd\u8fde\nint \u81ea\u52a8\u91cd\u8fde\u5468\u671f \u5355\u4f4dms \u9ed8\u8ba43000ms\n\u4f8b\u5b50\uff1a\nwsc:autoreconn(true)\n", "prefix": "wsc:autoreconn"}, "wsc:send": {"body": "wsc:send(${1:data},${2:fin},${3:opt})", "description": "wsc:send(data, fin, opt) - \u53d1\u5e03\u6d88\u606f\n\u4f20\u5165\u503c\uff1a\nstring \u5f85\u53d1\u9001\u7684\u6570\u636e,\u5fc5\u586b\nint \u662f\u5426\u4e3a\u6700\u540e\u4e00\u5e27,\u9ed8\u8ba41,\u5373\u9a6c\u4e0a\u8bbe\u7f6e\u4e3a\u6700\u540e\u4e00\u5e27, \u4e5f\u5c31\u662f\u5355\u5e27\u53d1\u9001\nint \u64cd\u4f5c\u7801, \u9ed8\u8ba4\u4e3a\u5b57\u7b26\u4e32\u5e270, \u53ef\u90091\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u4e3afalse\u6216\u8005nil\n\u4f8b\u5b50\uff1a\n-- \u7b80\u5355\u53d1\u9001\u6570\u636e\nwsc:send(\"123\")\n-- \u5206\u6bb5\u53d1\u9001\u6570\u636e, \u6700\u540e\u8981\u75281(\u5373FIN\u5e27\u7ed3\u675f)\nwsc:send(\"123\", 0)\nwsc:send(\"456\", 0)\nwsc:send(\"789\", 1)\n", "prefix": "wsc:send"}, "wsc:close": {"body": "wsc:close()", "description": "wsc:close() - websocket\u5ba2\u6237\u7aef\u5173\u95ed(\u5173\u95ed\u540e\u8d44\u6e90\u91ca\u653e\u65e0\u6cd5\u518d\u4f7f\u7528)\n\u4f8b\u5b50\uff1a\nwsc:close()\n", "prefix": "wsc:close"}, "wsc:ready": {"body": "wsc:ready()", "description": "wsc:ready() - websocket\u5ba2\u6237\u7aef\u662f\u5426\u5c31\u7eea\n\u8fd4\u56de\u503c\uff1a\nbool \u5ba2\u6237\u7aef\u662f\u5426\u5c31\u7eea\n\u4f8b\u5b50\uff1a\nlocal stat = wsc:ready()\n", "prefix": "wsc:ready"}, "wsc:headers": {"body": "wsc:headers(${1:headers})", "description": "wsc:headers(headers) - \u8bbe\u7f6e\u989d\u5916\u7684headers\n\u4f20\u5165\u503c\uff1a\ntable/string \u53ef\u4ee5\u662ftable,\u4e5f\u53ef\u4ee5\u662f\u5b57\u7b26\u4e32\n\u8fd4\u56de\u503c\uff1a\nbool \u5ba2\u6237\u7aef\u662f\u5426\u5c31\u7eea\n\u4f8b\u5b50\uff1a\n-- table\u5f62\u5f0f\nwsc:headers({\n\tAuth=\"Basic ABCDEFGG\"\n})\n-- \u5b57\u7b26\u4e32\u5f62\u5f0f\nwsc:headers(\"Auth: Basic ABCDERG\\r\\n\")\n", "prefix": "wsc:headers"}, "wlan.init": {"body": "wlan.init()", "description": "wlan.init() - \u521d\u59cb\u5316\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n", "prefix": "wlan.init"}, "wlan.setMode": {"body": "wlan.setMode(${1:mode})", "description": "wlan.setMode(mode) - \u8bbe\u7f6ewifi\u6a21\u5f0f\n\u4f20\u5165\u503c\uff1a\nint wifi\u6a21\u5f0f\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- \u8bbe\u7f6e\u4e3aAP\u6a21\u5f0f, \u5e7f\u64adssid, \u63a5\u6536wifi\u5ba2\u6237\u7aef\u7684\u94fe\u63a5\nwlan.setMode(wlan.AP)\n\n-- \u8bbe\u7f6e\u4e3aSTATION\u6a21\u5f0f, \u4e5f\u662f\u521d\u59cb\u5316\u540e\u7684\u9ed8\u8ba4\u6a21\u5f0f\nwlan.setMode(wlan.STATION)\n\n-- \u6df7\u5408\u6a21\u5f0f, \u505aAP\u53c8\u505aSTATION\nwlan.setMode(wlan.APSTA)\n", "prefix": "wlan.setMode"}, "wlan.ready": {"body": "wlan.ready()", "description": "wlan.ready() - \u4f5c\u4e3aSTATION\u65f6,\u662f\u5426\u5df2\u7ecf\u8fde\u63a5\u4e0aAP,\u4e14\u83b7\u53d6IP\u6210\u529f\n\u8fd4\u56de\u503c\uff1a\nbool \u5df2\u7ecf\u8fde\u63a5\u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n", "prefix": "wlan.ready"}, "wlan.connect": {"body": "wlan.connect(${1:ssid},${2:password},${3:auto_reconnect})", "description": "wlan.connect(ssid, password, auto_reconnect) - \u4f5c\u4e3aSTATION\u65f6,\u8fde\u63a5\u5230\u6307\u5b9aAP\n\u4f20\u5165\u503c\uff1a\nstring AP\u7684ssid\nstring AP\u7684password,\u53ef\u9009\nint 0\u5173\u95ed\u81ea\u52a8\u91cd\u8fde,1\u5f00\u542f\u81ea\u52a8\u91cd\u8fde.\u5f53\u524d\u5f3a\u5236\u5f00\u542f\u81ea\u52a8\u91cd\u8fde\n\u8fd4\u56de\u503c\uff1a\nbool \u53d1\u8d77\u8fde\u63a5\u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse.\u6ce8\u610f,\u4e0d\u4ee3\u8868\u8fde\u63a5AP\u6210\u529f!!\n\u4f8b\u5b50\uff1a\n\n-- \u666e\u901a\u6a21\u5f0f,\u5e26\u5bc6\u7801\nwlan.connect(\"myap\", \"12345678\")\n-- \u666e\u901a\u6a21\u5f0f,\u4e0d\u5e26\u5bc6\u7801\nwlan.connect(\"myap\")\n-- \u7279\u6b8a\u6a21\u5f0f, \u91cd\u7528\u4e4b\u524d\u7684ssid\u548c\u5bc6\u7801,\u672c\u6b21\u76f4\u63a5\u8fde\u63a5\n-- \u6ce8\u610f, \u524d\u63d0\u662f\u672c\u6b21\u4e0a\u7535\u540e\u5df2\u7ecf\u4f20\u8fc7ssid\u548c\u6216password,\u5426\u5219\u5fc5\u5931\u8d25\nwlan.connect()\n", "prefix": "wlan.connect"}, "wlan.disconnect": {"body": "wlan.disconnect()", "description": "wlan.disconnect() - \u4f5c\u4e3aSTATION\u65f6,\u65ad\u5f00AP\n", "prefix": "wlan.disconnect"}, "wlan.scan": {"body": "wlan.scan()", "description": "wlan.scan() - \u626b\u63cfwifi\u9891\u6bb5\n\u4f8b\u5b50\uff1a\n-- \u6ce8\u610f, wlan.scan()\u662f\u5f02\u6b65API,\u542f\u52a8\u626b\u63cf\u540e\u4f1a\u9a6c\u4e0a\u8fd4\u56de\n\n-- wifi\u626b\u63cf\u6210\u529f\u540e, \u4f1a\u6709WLAN_SCAN_DONE\u6d88\u606f, \u8bfb\u53d6\u5373\u53ef\nsys.subscribe(\"WLAN_SCAN_DONE\", function ()\n local results = wlan.scanResult()\n log.info(\"scan\", \"results\", #results)\n for k,v in pairs(results) do\n log.info(\"scan\", v[\"ssid\"], v[\"rssi\"], (v[\"bssid\"]:toHex()))\n end\nend)\n\n-- \u4e0b\u9762\u6f14\u793a\u7684\u662f\u521d\u59cb\u5316wifi\u540e\u5b9a\u65f6\u626b\u63cf,\u8bf7\u6309\u5b9e\u9645\u4e1a\u52a1\u9700\u6c42\u4fee\u6539\nsys.taskInit(function()\n sys.wait(1000)\n wlan.init()\n while 1 do\n wlan.scan()\n sys.wait(15000)\n end\nend)\n", "prefix": "wlan.scan"}, "wlan.scanResult": {"body": "wlan.scanResult()", "description": "wlan.scanResult() - \u83b7\u53d6wifi\u626b\u63cf\u7ed3\u679c\n\u8fd4\u56de\u503c\uff1a\ntable \u626b\u63cf\u7ed3\u679c\n\u4f8b\u5b50\uff1a\n-- \u7528\u6cd5\u8bf7\u67e5\u9605 wlan.scan() \u51fd\u6570\n", "prefix": "wlan.scanResult"}, "wlan.smartconfig": {"body": "wlan.smartconfig(${1:mode})", "description": "wlan.smartconfig(mode) - \u914d\u7f51\n\u4f20\u5165\u503c\uff1a\nint \u914d\u7f51\u6a21\u5f0f, \u9ed8\u8ba4\u4e3aesptouch, \u82e5\u4f200\u5219\u4e3b\u52a8\u505c\u6b62\u914d\u7f51\n\u8fd4\u56de\u503c\uff1a\nbool \u542f\u52a8\u6210\u529f\u6216\u505c\u6b62\u6210\u529f, \u8fd4\u56detrue, \u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\nwlan.smartconfig()\nlocal ret, ssid, passwd = sys.waitUntil(\"SC_RESULT\", 180*1000) -- \u6700\u591a\u7b493\u5206\u949f\nlog.info(\"sc\", ret, ssid, passwd)\n-- \u8be6\u7ec6\u7528\u6cd5\u8bf7\u67e5\u770bdemo\n", "prefix": "wlan.smartconfig"}, "wlan.getMac": {"body": "wlan.getMac(${1:tp},${2:hexstr})", "description": "wlan.getMac(tp, hexstr) - \u83b7\u53d6mac\n\u4f20\u5165\u503c\uff1a\nint \u8bbe\u7f6e\u4f55\u79cdmac\u5730\u5740,\u5bf9ESP32\u7cfb\u5217\u6765\u8bf4,\u53ea\u80fd\u8bbe\u7f6eSTA\u7684\u5730\u5740,\u53730,\u9ed8\u8ba4\u503c\u4e5f\u662f0\nbool \u662f\u5426\u8f6cHEX\u5b57\u7b26, \u9ed8\u8ba4\u662ftrue,\u5373\u8f93\u51fahex\u5b57\u7b26\u4e32\n\u8fd4\u56de\u503c\uff1a\nstring MAC\u5730\u5740,\u5341\u516d\u8fdb\u5236\u5b57\u7b26\u4e32\u5f62\u5f0f \"AABBCCDDEEFF\" \u6216\u539f\u59cb\u6570\u636e\n", "prefix": "wlan.getMac"}, "wlan.setMac": {"body": "wlan.setMac(${1:tp},${2:mac})", "description": "wlan.setMac(tp, mac) - \u8bbe\u7f6emac\n\u4f20\u5165\u503c\uff1a\nint \u8bbe\u7f6e\u4f55\u79cdmac\u5730\u5740,\u5bf9ESP32\u7cfb\u5217\u6765\u8bf4,\u53ea\u80fd\u8bbe\u7f6eSTA\u7684\u5730\u5740,\u53730\nstring \u5f85\u8bbe\u7f6e\u7684MAC\u5730\u5740,\u957f\u5ea66\u5b57\u8282\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- \u8bbe\u7f6eMAC\u5730\u5740, 2023-03-01\u4e4b\u540e\u7f16\u8bd1\u7684\u56fa\u4ef6\u53ef\u7528\nlocal mac = string.fromHex(\"F01122334455\")\nwlan.setMac(0, mac)\n\n-- \u90e8\u5206\u6a21\u5757\u652f\u6301\u6062\u590d\u9ed8\u8ba4MAC, \u4f8b\u5982esp32\u7cfb\u5217\n-- \u57282023-11-01 \u4e4b\u540e\u7f16\u8bd1\u7684\u56fa\u4ef6\u53ef\u7528\nlocal mac = string.fromHex(\"000000000000\")\nwlan.setMac(0, mac)\n", "prefix": "wlan.setMac"}, "wlan.getIP": {"body": "wlan.getIP()", "description": "wlan.getIP() - \u83b7\u53d6ip,\u4ec5STATION\u6216APSTA\u6a21\u5f0f\u4e0b\u6709\u610f\u4e49\n\u8fd4\u56de\u503c\uff1a\nstring ip\u5730\u5740,\u5f53\u524d\u4ec5\u8fd4\u56deipv4\u5730\u5740,\u4f8b\u5982 \"192.168.1.25\"\n", "prefix": "wlan.getIP"}, "wlan.createAP": {"body": "wlan.createAP(${1:ssid},${2:passwd},${3:gateway},${4:netmask},${5:channel})", "description": "wlan.createAP(ssid, passwd, gateway, netmask, channel) - \u542f\u52a8AP\n\u4f20\u5165\u503c\uff1a\nstring AP\u7684SSID,\u5fc5\u586b\nstring AP\u7684\u5bc6\u7801,\u53ef\u9009\nstring AP\u7684\u7f51\u5173\u5730\u5740, \u9ed8\u8ba4192.168.4.1\nstring AP\u7684\u7f51\u5173\u63a9\u7801, \u9ed8\u8ba4255.255.255.0\nint AP\u5efa\u7acb\u7684\u901a\u9053, \u9ed8\u8ba46\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u521b\u5efa\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- \u6ce8\u610f, \u8c03\u7528\u672cAP\u65f6,\u82e5wifi\u6a21\u5f0f\u4e3aSTATION,\u4f1a\u81ea\u52a8\u5207\u6362\u6210 APSTA\nwlan.createAP(\"uiot\", \"12345678\")\n-- \u8bbe\u7f6e\u7f51\u5173IP,\u63a9\u7801, \u901a\u9053, 2023.7.13 \u65b0\u589e, BSP\u672a\u5fc5\u652f\u6301\n-- wlan.createAP(\"uiot\", \"12345678\", \"192.168.4.1\", \"255.255.255.0\", 6)\n", "prefix": "wlan.createAP"}, "wlan.stopAP": {"body": "wlan.stopAP()", "description": "wlan.stopAP() - \u5173\u95edAP\u529f\u80fd\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u521b\u5efa\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\nwlan.stopAP()\n", "prefix": "wlan.stopAP"}, "wlan.getInfo": {"body": "wlan.getInfo()", "description": "wlan.getInfo() - \u83b7\u53d6\u4fe1\u606f,\u5982AP\u7684bssid,\u4fe1\u53f7\u5f3a\u5ea6\n\u8fd4\u56de\u503c\uff1a\ntable \u8be6\u60c5,\u952e\u503c\u5bf9\u5f62\u5f0f\n\u4f8b\u5b50\uff1a\n\nlog.info(\"wlan\", \"info\", json.encode(wlan.getInfo()))\n--[[\n\u5178\u578b\u8f93\u51fa\n{\n \"bssid\" : \"xxxxxx\",\n \"rssi\" : -89,\n \"gw\" : \"192.168.1.1\"\n}\n]]\n", "prefix": "wlan.getInfo"}, "wlan.powerSave": {"body": "wlan.powerSave(${1:mode})", "description": "wlan.powerSave(mode) - \u8bfb\u53d6\u6216\u8bbe\u7f6e\u7701\u7535\u6a21\u5f0f\n\u4f20\u5165\u503c\uff1a\nint \u7701\u7535\u6a21\u5f0f,\u53ef\u9009, \u4f20\u5165\u5c31\u662f\u8bbe\u7f6e, \u4f8b\u5982wlan.PS_NONE\n\u8fd4\u56de\u503c\uff1a\nint \u5f53\u524d\u7701\u7535\u6a21\u5f0f/\u8bbe\u7f6e\u540e\u7684\u7701\u7535\u6a21\u5f0f\n\u4f8b\u5b50\uff1a\n-- \u8bf7\u67e5\u9605\u5e38\u91cf\u8868 PS_NONE/PS_MIN_MODEM/PS_MAX_MODEM\nlog.info(\"wlan\", \"PS\", wlan.powerSave(wlan.PS_NONE))\n-- \u672cAPI\u4e8e 2023.03.31 \u65b0\u589e\n", "prefix": "wlan.powerSave"}, "wlan.hostname": {"body": "wlan.hostname(${1:new_name})", "description": "wlan.hostname(new_name) - \u8bfb\u53d6\u6216\u8bbe\u7f6eHostname\n\u4f20\u5165\u503c\uff1a\nstring \u65b0\u7684hostname,\u53ef\u9009, \u4f20\u5165\u5c31\u662f\u8bbe\u7f6e\n\u8fd4\u56de\u503c\uff1a\nstring \u5f53\u524d\u7684hostname\u6216\u8005\u8bbe\u7f6e\u540e\u7684hostname\n\u4f8b\u5b50\uff1a\n-- \u672cAPI\u4e8e 2023.07.23 \u65b0\u589e\n-- \u672c\u51fd\u6570\u5e94\u8be5\u5728wlan.init\u4e4b\u524d\u8bbe\u7f6e\u597d, \u6700\u665a\u5e94\u65e9\u4e8ewlan.connect\n-- hostname\u7684\u9ed8\u8ba4\u503c\u662f \"LUATOS_\" + \u8bbe\u5907\u7684MAC\u503c\n-- \u4f8b\u5982: LUATOS_0022EECC2399\n\nwlan.hostname(\"\u6211\u7684wifi\u7269\u8054\u7f51\u8bbe\u5907\")\n", "prefix": "wlan.hostname"}, "wlan.staIp": {"body": "wlan.staIp(${1:dhcp_enable},${2:ip},${3:netmask},${4:gateway})", "description": "wlan.staIp(dhcp_enable, ip, netmask, gateway) - \u8bbe\u7f6eStation\u6a21\u5f0f\u4e0b\u7684IP\u83b7\u53d6\u6a21\u5f0f\n\u4f20\u5165\u503c\uff1a\nbool \u662f\u5426\u542f\u7528DHCP,\u9ed8\u8ba4\u662ftrue\nstring \u672c\u673aIP\u5730\u5740,\u4f8b\u5982192.168.2.200, \u7981\u7528DHCP\u65f6\u5fc5\u586b\nstring \u672c\u673aIP\u63a9\u7801,\u4f8b\u5982255.255.255.0, \u7981\u7528DHCP\u65f6\u5fc5\u586b\nstring \u672c\u673aIP\u7f51\u5173,\u4f8b\u5982192.168.2.1, \u7981\u7528DHCP\u65f6\u5fc5\u586b\n\u8fd4\u56de\u503c\uff1a\nbool \u6210\u529f\u8fd4\u56detrue,\u5426\u5219\u8fd4\u56defalse\n\u4f8b\u5b50\uff1a\n-- \u672cAPI\u4e8e 2023.10.06 \u65b0\u589e\n-- \u672c\u51fd\u6570\u9700\u8981\u5728wlan.init\u4e4b\u540e\u624d\u5141\u8bb8\u8c03\u7528\n\n-- \u542f\u7528DHCP, \u9ed8\u8ba4\u4e5f\u662f\u542f\u7528DHCP,\u8fd9\u91cc\u662f\u6f14\u793aAPI\u4f7f\u7528\nwlan.staIp(true)\n-- \u7981\u7528DHCP,\u81ea\u884c\u8bbe\u7f6eIP/\u63a9\u7801/\u7f51\u5173\nwlan.staIp(false, \"192.168.2.200\", \"255.255.255.0\", \"192.168.2.1\")\n", "prefix": "wlan.staIp"}, "ymodem.create": {"body": "ymodem.create(${1:dir_path},${2:file_path})", "description": "ymodem.create(dir_path,file_path) - \u521b\u5efa\u4e00\u4e2aymodem\u5904\u7406\u53e5\u67c4\n\u4f20\u5165\u503c\uff1a\nstring \u4fdd\u5b58\u7684\u6587\u4ef6\u5939\u8def\u5f84\uff0c\u9ed8\u8ba4\u662f\"/\"\nstring \u5f3a\u5236\u4fdd\u5b58\u7684\u7edd\u5bf9\u6587\u4ef6\u8def\u5f84\uff0c\u9ed8\u8ba4\u662f\u7a7a\uff0c\u5982\u679c\u8bbe\u7f6e\u4e86\uff0c\u5c31\u4f1a\u76f4\u63a5\u4fdd\u5b58\u5728\u8be5\u6587\u4ef6\u4e2d\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529ftrue, \u5931\u8d25false\n\u4f8b\u5b50\uff1a\nlocal handler = ymodem.create(\"/\")\n", "prefix": "ymodem.create"}, "ymodem.receive": {"body": "ymodem.receive(${1:handler},${2:data})", "description": "ymodem.receive(handler, data) - ymodem\u63a5\u6536\u6587\u4ef6\u6570\u636e\u5e76\u4fdd\u5b58\n\u4f20\u5165\u503c\uff1a\nuserdata ymodem\u5904\u7406\u53e5\u67c4\nzbuff/string \u8f93\u5165\u7684\u6570\u636e\n\u8fd4\u56de\u503c\uff1a\nboolean \u6210\u529ftrue\uff0c\u5931\u8d25false\nint ack\u503c\uff0c\u9700\u8981\u901a\u8fc7\u4e32\u53e3/\u7f51\u7edc\u7b49\u9014\u5f84\u8fd4\u56de\u53d1\u9001\u65b9\nint flag\u503c\uff0c\u9700\u8981\u901a\u8fc7\u4e32\u53e3/\u7f51\u7edc\u7b49\u9014\u5f84\u8fd4\u56de\u53d1\u9001\u65b9\uff0c\u5982\u679c\u6709ack\u503c\u5219\u4e0d\u53d1\u9001flag\nboolean, \u4e00\u4e2a\u6587\u4ef6\u63a5\u6536\u5b8c\u6210true\uff0c\u4f20\u8f93\u4e2dfalse\nboolean, \u6574\u4e2a\u4f20\u8f93\u5b8c\u6210true \u5426\u5219false\n\u4f8b\u5b50\uff1a\n-- \u6ce8\u610f, \u6570\u636e\u6765\u6e90\u4e0d\u9650, \u901a\u5e38\u662fuart.read\u5f97\u5230data\nno_error,ack,flag,file_done,all_done = ymodem.receive(handler, data)\n", "prefix": "ymodem.receive"}, "ymodem.reset": {"body": "ymodem.reset(${1:handler})", "description": "ymodem.reset(handler) - \u91cd\u7f6eymodem\u5904\u7406\u8fc7\u7a0b\n\u4f20\u5165\u503c\uff1a\nuserdata ymodem\u5904\u7406\u53e5\u67c4\n\u4f8b\u5b50\uff1a\n-- \u6062\u590d\u5230\u521d\u59cb\u72b6\u6001\uff0c\u4e00\u822c\u7528\u4e8e\u63a5\u6536\u51fa\u9519\u540e\u91cd\u7f6e\uff0c\u4ece\u800c\u8fdb\u884c\u4e0b\u4e00\u6b21\u63a5\u6536\nymodem.reset(handler)\n", "prefix": "ymodem.reset"}, "ymodem.release": {"body": "ymodem.release(${1:handler})", "description": "ymodem.release(handler) - \u91ca\u653eymodem\u5904\u7406\u53e5\u67c4\n\u4f20\u5165\u503c\uff1a\nuserdata handler\n\u4f8b\u5b50\uff1a\nymodem.release(handler)\n", "prefix": "ymodem.release"}, "zbuff.create": {"body": "zbuff.create(${1:{width},${2:height},${3:bit}},${4:data})", "description": "zbuff.create({width,height,bit},data) - \u521b\u5efaframebuff\u7528\u7684zbuff\n\u4f20\u5165\u503c\uff1a\ntable \u5bbd\u5ea6\u3001\u9ad8\u5ea6\u3001\u8272\u4f4d\u6df1\u5ea6\nint \u53ef\u9009\u53c2\u6570\uff0c\u586b\u5145\u6570\u636e\n\u8fd4\u56de\u503c\uff1a\nobject zbuff\u5bf9\u8c61\uff0c\u5982\u679c\u521b\u5efa\u5931\u8d25\u4f1a\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\n-- \u521b\u5efazbuff\nlocal buff = zbuff.create({128,160,16})--\u521b\u5efa\u4e00\u4e2a128*160\u7684framebuff\nlocal buff = zbuff.create({128,160,16},0xf800)--\u521b\u5efa\u4e00\u4e2a128*160\u7684framebuff\uff0c\u521d\u59cb\u72b6\u6001\u7ea2\u8272\n", "prefix": "zbuff.create"}, "buff:write": {"body": "buff:write(${1:para},${2:...})", "description": "buff:write(para,...) - zbuff\u5199\u6570\u636e\uff08\u4ece\u5f53\u524d\u6307\u9488\u4f4d\u7f6e\u5f00\u59cb\uff1b\u6267\u884c\u540e\u6307\u9488\u4f1a\u5411\u540e\u79fb\u52a8\uff09\n\u4f20\u5165\u503c\uff1a\nany \u5199\u5165buff\u7684\u6570\u636e\uff0cstring\u65f6\u4e3a\u4e00\u4e2a\u53c2\u6570\uff0cnumber\u65f6\u53ef\u4e3a\u591a\u4e2a\u53c2\u6570\n\u8fd4\u56de\u503c\uff1a\nnumber \u6570\u636e\u6210\u529f\u5199\u5165\u7684\u957f\u5ea6\n\u4f8b\u5b50\uff1a\n-- \u7c7bfile\u7684\u8bfb\u5199\u64cd\u4f5c\nlocal len = buff:write(\"123\") -- \u5199\u5165\u6570\u636e, \u6307\u9488\u76f8\u5e94\u5730\u5f80\u540e\u79fb\u52a8\uff0c\u8fd4\u56de\u5199\u5165\u7684\u6570\u636e\u957f\u5ea6\nlocal len = buff:write(0x1a,0x30,0x31,0x32,0x00,0x01) -- \u6309\u6570\u503c\u5199\u5165\u591a\u4e2a\u5b57\u8282\u6570\u636e\n", "prefix": "buff:write"}, "buff:read": {"body": "buff:read(${1:length})", "description": "buff:read(length) - zbuff\u8bfb\u6570\u636e\uff08\u4ece\u5f53\u524d\u6307\u9488\u4f4d\u7f6e\u5f00\u59cb\uff1b\u6267\u884c\u540e\u6307\u9488\u4f1a\u5411\u540e\u79fb\u52a8\uff09\n\u4f20\u5165\u503c\uff1a\nint \u8bfb\u53d6buff\u4e2d\u7684\u5b57\u8282\u6570\n\u8fd4\u56de\u503c\uff1a\nstring \u8bfb\u53d6\u7ed3\u679c\n\u4f8b\u5b50\uff1a\n-- \u7c7bfile\u7684\u8bfb\u5199\u64cd\u4f5c\nlocal str = buff:read(3)\n", "prefix": "buff:read"}, "buff:clear": {"body": "buff:clear(${1:num})", "description": "buff:clear(num) - zbuff\u6e05\u7a7a\u6570\u636e\uff08\u4e0e\u5f53\u524d\u6307\u9488\u4f4d\u7f6e\u65e0\u5173\uff1b\u6267\u884c\u540e\u6307\u9488\u4f4d\u7f6e\u4e0d\u53d8\uff09\n\u4f20\u5165\u503c\uff1a\nint \u53ef\u9009\uff0c\u9ed8\u8ba4\u4e3a0\u3002\u8981\u8bbe\u7f6e\u4e3a\u7684\u503c\uff0c\u4e0d\u4f1a\u6539\u53d8buff\u6307\u9488\u4f4d\u7f6e\n\u4f8b\u5b50\uff1a\n-- \u5168\u90e8\u521d\u59cb\u5316\u4e3a0\nbuff:clear(0)\n", "prefix": "buff:clear"}, "buff:seek": {"body": "buff:seek(${1:base},${2:offset})", "description": "buff:seek(base,offset) - zbuff\u8bbe\u7f6e\u5149\u6807\u4f4d\u7f6e\uff08\u53ef\u80fd\u4e0e\u5f53\u524d\u6307\u9488\u4f4d\u7f6e\u6709\u5173\uff1b\u6267\u884c\u540e\u6307\u9488\u4f1a\u88ab\u8bbe\u7f6e\u5230\u6307\u5b9a\u4f4d\u7f6e\uff09\n\u4f20\u5165\u503c\uff1a\nint \u504f\u79fb\u957f\u5ea6\nint where, \u57fa\u70b9\uff0c\u9ed8\u8ba4zbuff.SEEK_SET\u3002zbuff.SEEK_SET: \u57fa\u70b9\u4e3a 0 \uff08\u6587\u4ef6\u5f00\u5934\uff09\uff0czbuff.SEEK_CUR: \u57fa\u70b9\u4e3a\u5f53\u524d\u4f4d\u7f6e\uff0czbuff.SEEK_END: \u57fa\u70b9\u4e3a\u6587\u4ef6\u5c3e\n\u8fd4\u56de\u503c\uff1a\nint \u8bbe\u7f6e\u5149\u6807\u540e\u4ecebuff\u5f00\u5934\u8ba1\u7b97\u8d77\u7684\u5149\u6807\u7684\u4f4d\u7f6e\n\u4f8b\u5b50\uff1a\nbuff:seek(0) -- \u628a\u5149\u6807\u8bbe\u7f6e\u5230\u6307\u5b9a\u4f4d\u7f6e\nbuff:seek(5,zbuff.SEEK_CUR)\nbuff:seek(-3,zbuff.SEEK_END)\n", "prefix": "buff:seek"}, "buff:pack": {"body": "buff:pack(${1:format},${2:val1},${3:val2},${4:...})", "description": "buff:pack(format,val1, val2,...) - \u5c06\u4e00\u7cfb\u5217\u6570\u636e\u6309\u7167\u683c\u5f0f\u5b57\u7b26\u8f6c\u5316\uff0c\u5e76\u5199\u5165\uff08\u4ece\u5f53\u524d\u6307\u9488\u4f4d\u7f6e\u5f00\u59cb\uff1b\u6267\u884c\u540e\u6307\u9488\u4f1a\u5411\u540e\u79fb\u52a8\uff09\n\u4f20\u5165\u503c\uff1a\nstring \u540e\u9762\u6570\u636e\u7684\u683c\u5f0f\uff08\u7b26\u53f7\u542b\u4e49\u89c1\u4e0b\u9762\u7684\u4f8b\u5b50\uff09\nval \u4f20\u5165\u7684\u6570\u636e\uff0c\u53ef\u4ee5\u4e3a\u591a\u4e2a\u6570\u636e\n\u8fd4\u56de\u503c\uff1a\nint \u6210\u529f\u5199\u5165\u7684\u6570\u636e\u957f\u5ea6\n\u4f8b\u5b50\uff1a\nbuff:pack(\">IIHA\", 0x1234, 0x4567, 0x12,\"abcdefg\") -- \u6309\u683c\u5f0f\u5199\u5165\u51e0\u4e2a\u6570\u636e\n-- A string\n-- f float\n-- d double\n-- n Lua number\n-- c char\n-- b byte / unsignen char\n-- h short\n-- H unsigned short\n-- i int\n-- I unsigned int\n-- l long\n-- L unsigned long\n-- < \u5c0f\u7aef\n-- > \u5927\u7aef\n-- = \u9ed8\u8ba4\u5927\u5c0f\u7aef\n", "prefix": "buff:pack"}, "buff:unpack": {"body": "buff:unpack(${1:format})", "description": "buff:unpack(format) - \u5c06\u4e00\u7cfb\u5217\u6570\u636e\u6309\u7167\u683c\u5f0f\u5b57\u7b26\u8bfb\u53d6\u51fa\u6765\uff08\u4ece\u5f53\u524d\u6307\u9488\u4f4d\u7f6e\u5f00\u59cb\uff1b\u6267\u884c\u540e\u6307\u9488\u4f1a\u5411\u540e\u79fb\u52a8\uff09\n\u4f20\u5165\u503c\uff1a\nstring \u6570\u636e\u7684\u683c\u5f0f\uff08\u7b26\u53f7\u542b\u4e49\u89c1\u4e0a\u9762pack\u63a5\u53e3\u7684\u4f8b\u5b50\uff09\n\u8fd4\u56de\u503c\uff1a\nint \u6210\u529f\u8bfb\u53d6\u7684\u6570\u636e\u5b57\u8282\u957f\u5ea6\nany \u6309\u683c\u5f0f\u8bfb\u51fa\u6765\u7684\u6570\u636e\n\u4f8b\u5b50\uff1a\nlocal cnt,a,b,c,s = buff:unpack(\">IIHA10\") -- \u6309\u683c\u5f0f\u8bfb\u53d6\u51e0\u4e2a\u6570\u636e\n--\u5982\u679c\u5168\u90e8\u6210\u529f\u8bfb\u53d6\uff0ccnt\u5c31\u662f4+4+2+10=20\n", "prefix": "buff:unpack"}, "buff:read\u7c7b\u578b": {"body": "buff:read\u7c7b\u578b()", "description": "buff:read\u7c7b\u578b() - \u8bfb\u53d6\u4e00\u4e2a\u6307\u5b9a\u7c7b\u578b\u7684\u6570\u636e\uff08\u4ece\u5f53\u524d\u6307\u9488\u4f4d\u7f6e\u5f00\u59cb\uff1b\u6267\u884c\u540e\u6307\u9488\u4f1a\u5411\u540e\u79fb\u52a8\uff09\n\u4f20\u5165\u503c\uff1a\n\u6ce8\u91ca \u8bfb\u53d6\u7c7b\u578b\u53ef\u4e3a\uff1aI8\u3001U8\u3001I16\u3001U16\u3001I32\u3001U32\u3001I64\u3001U64\u3001F32\u3001F64\n\u8fd4\u56de\u503c\uff1a\nnumber \u8bfb\u53d6\u7684\u6570\u636e\uff0c\u5982\u679c\u8d8a\u754c\u5219\u4e3anil\n\u4f8b\u5b50\uff1a\nlocal data = buff:readI8()\nlocal data = buff:readU32()\n", "prefix": "buff:read\u7c7b\u578b"}, "buff:write\u7c7b\u578b": {"body": "buff:write\u7c7b\u578b()", "description": "buff:write\u7c7b\u578b() - \u5199\u5165\u4e00\u4e2a\u6307\u5b9a\u7c7b\u578b\u7684\u6570\u636e\uff08\u4ece\u5f53\u524d\u6307\u9488\u4f4d\u7f6e\u5f00\u59cb\uff1b\u6267\u884c\u540e\u6307\u9488\u4f1a\u5411\u540e\u79fb\u52a8\uff09\n\u4f20\u5165\u503c\uff1a\nnumber \u5f85\u5199\u5165\u7684\u6570\u636e\n\u6ce8\u91ca \u5199\u5165\u7c7b\u578b\u53ef\u4e3a\uff1aI8\u3001U8\u3001I16\u3001U16\u3001I32\u3001U32\u3001I64\u3001U64\u3001F32\u3001F64\n\u8fd4\u56de\u503c\uff1a\nnumber \u6210\u529f\u5199\u5165\u7684\u957f\u5ea6\n\u4f8b\u5b50\uff1a\nlocal len = buff:writeI8(10)\nlocal len = buff:writeU32(1024)\n", "prefix": "buff:write\u7c7b\u578b"}, "buff:toStr": {"body": "buff:toStr(${1:offset},${2:length})", "description": "buff:toStr(offset,length) - \u6309\u8d77\u59cb\u4f4d\u7f6e\u548c\u957f\u5ea6\u53d6\u51fa\u6570\u636e\uff08\u4e0e\u5f53\u524d\u6307\u9488\u4f4d\u7f6e\u65e0\u5173\uff1b\u6267\u884c\u540e\u6307\u9488\u4f4d\u7f6e\u4e0d\u53d8\uff09\n\u4f20\u5165\u503c\uff1a\nint \u6570\u636e\u7684\u8d77\u59cb\u4f4d\u7f6e\uff08\u8d77\u59cb\u4f4d\u7f6e\u4e3a0\uff09,\u9ed8\u8ba4\u503c\u4e5f\u662f0\nint \u6570\u636e\u7684\u957f\u5ea6,\u9ed8\u8ba4\u662f\u5168\u90e8\u6570\u636e\n\u8fd4\u56de\u503c\uff1a\nstring \u8bfb\u51fa\u6765\u7684\u6570\u636e\n\u4f8b\u5b50\uff1a\nlocal s = buff:toStr(0,5)--\u8bfb\u53d6\u5f00\u5934\u7684\u4e94\u4e2a\u5b57\u8282\u6570\u636e\nlocal s = buff:toStr() -- \u53d6\u51fa\u6574\u4e2azbuff\u7684\u6570\u636e\nlocal s = buff:toStr(0, buff:used()) -- \u53d6\u51fa\u5df2\u4f7f\u7528\u7684\u90e8\u5206, \u4e0ebuff:query()\u4e00\u6837\n", "prefix": "buff:toStr"}, "buff:len": {"body": "buff:len()", "description": "buff:len() - \u83b7\u53d6zbuff\u5bf9\u8c61\u7684\u957f\u5ea6\uff08\u4e0e\u5f53\u524d\u6307\u9488\u4f4d\u7f6e\u65e0\u5173\uff1b\u6267\u884c\u540e\u6307\u9488\u4f4d\u7f6e\u4e0d\u53d8\uff09\n\u8fd4\u56de\u503c\uff1a\nint zbuff\u5bf9\u8c61\u7684\u957f\u5ea6\n\u4f8b\u5b50\uff1a\nlen = buff:len()\nlen = #buff\n", "prefix": "buff:len"}, "buff:setFrameBuffer": {"body": "buff:setFrameBuffer(${1:width},${2:height},${3:bit},${4:color})", "description": "buff:setFrameBuffer(width,height,bit,color) - \u8bbe\u7f6ebuff\u5bf9\u8c61\u7684FrameBuffer\u5c5e\u6027\uff08\u4e0e\u5f53\u524d\u6307\u9488\u4f4d\u7f6e\u65e0\u5173\uff1b\u6267\u884c\u540e\u6307\u9488\u4f4d\u7f6e\u4e0d\u53d8\uff09\n\u4f20\u5165\u503c\uff1a\nint FrameBuffer\u7684\u5bbd\u5ea6\nint FrameBuffer\u7684\u9ad8\u5ea6\nint FrameBuffer\u7684\u8272\u4f4d\u6df1\u5ea6\nint FrameBuffer\u7684\u521d\u59cb\u989c\u8272\n\u8fd4\u56de\u503c\uff1a\nbool \u8bbe\u7f6e\u6210\u529f\u4f1a\u8fd4\u56detrue\n\u4f8b\u5b50\uff1a\nresult = buff:setFrameBuffer(320,240,16,0xffff)\n", "prefix": "buff:setFrameBuffer"}, "buff:pixel": {"body": "buff:pixel(${1:x},${2:y},${3:color})", "description": "buff:pixel(x,y,color) - \u8bbe\u7f6e\u6216\u83b7\u53d6FrameBuffer\u67d0\u4e2a\u50cf\u7d20\u70b9\u7684\u989c\u8272\uff08\u4e0e\u5f53\u524d\u6307\u9488\u4f4d\u7f6e\u65e0\u5173\uff1b\u6267\u884c\u540e\u6307\u9488\u4f4d\u7f6e\u4e0d\u53d8\uff09\n\u4f20\u5165\u503c\uff1a\nint \u4e0e\u6700\u5de6\u8fb9\u7684\u8ddd\u79bb\uff0c\u8303\u56f4\u662f0~\u5bbd\u5ea6-1\nint \u4e0e\u6700\u4e0a\u8fb9\u7684\u8ddd\u79bb\uff0c\u8303\u56f4\u662f0~\u9ad8\u5ea6-1\nint \u989c\u8272\uff0c\u5982\u679c\u7559\u7a7a\u5219\u8868\u793a\u83b7\u53d6\u8be5\u4f4d\u7f6e\u7684\u989c\u8272\n\u8fd4\u56de\u503c\uff1a\nany \u8bbe\u7f6e\u989c\u8272\u65f6\uff0c\u8bbe\u7f6e\u6210\u529f\u4f1a\u8fd4\u56detrue\uff1b\u8bfb\u53d6\u989c\u8272\u65f6\uff0c\u8fd4\u56de\u989c\u8272\u7684\u503c\uff0c\u8bfb\u53d6\u5931\u8d25\u8fd4\u56denil\n\u4f8b\u5b50\uff1a\nrerult = buff:pixel(0,3,0)\ncolor = buff:pixel(0,3)\n", "prefix": "buff:pixel"}, "buff:drawLine": {"body": "buff:drawLine(${1:x1},${2:y1},${3:x2},${4:y2},${5:color})", "description": "buff:drawLine(x1,y1,x2,y2,color) - \u753b\u4e00\u6761\u7ebf\uff08\u4e0e\u5f53\u524d\u6307\u9488\u4f4d\u7f6e\u65e0\u5173\uff1b\u6267\u884c\u540e\u6307\u9488\u4f4d\u7f6e\u4e0d\u53d8\uff09\n\u4f20\u5165\u503c\uff1a\nint \u8d77\u59cb\u5750\u6807\u70b9\u4e0e\u6700\u5de6\u8fb9\u7684\u8ddd\u79bb\uff0c\u8303\u56f4\u662f0~\u5bbd\u5ea6-1\nint \u8d77\u59cb\u5750\u6807\u70b9\u4e0e\u6700\u4e0a\u8fb9\u7684\u8ddd\u79bb\uff0c\u8303\u56f4\u662f0~\u9ad8\u5ea6-1\nint \u7ed3\u675f\u5750\u6807\u70b9\u4e0e\u6700\u5de6\u8fb9\u7684\u8ddd\u79bb\uff0c\u8303\u56f4\u662f0~\u5bbd\u5ea6-1\nint \u7ed3\u675f\u5750\u6807\u70b9\u4e0e\u6700\u4e0a\u8fb9\u7684\u8ddd\u79bb\uff0c\u8303\u56f4\u662f0~\u9ad8\u5ea6-1\nint \u53ef\u9009\uff0c\u989c\u8272\uff0c\u9ed8\u8ba4\u4e3a0\n\u8fd4\u56de\u503c\uff1a\nbool \u753b\u6210\u529f\u4f1a\u8fd4\u56detrue\n\u4f8b\u5b50\uff1a\nrerult = buff:drawLine(0,0,2,3,0xffff)\n", "prefix": "buff:drawLine"}, "buff:drawRect": {"body": "buff:drawRect(${1:x1},${2:y1},${3:x2},${4:y2},${5:color},${6:fill})", "description": "buff:drawRect(x1,y1,x2,y2,color,fill) - \u753b\u4e00\u4e2a\u77e9\u5f62\uff08\u4e0e\u5f53\u524d\u6307\u9488\u4f4d\u7f6e\u65e0\u5173\uff1b\u6267\u884c\u540e\u6307\u9488\u4f4d\u7f6e\u4e0d\u53d8\uff09\n\u4f20\u5165\u503c\uff1a\nint \u8d77\u59cb\u5750\u6807\u70b9\u4e0e\u6700\u5de6\u8fb9\u7684\u8ddd\u79bb\uff0c\u8303\u56f4\u662f0~\u5bbd\u5ea6-1\nint \u8d77\u59cb\u5750\u6807\u70b9\u4e0e\u6700\u4e0a\u8fb9\u7684\u8ddd\u79bb\uff0c\u8303\u56f4\u662f0~\u9ad8\u5ea6-1\nint \u7ed3\u675f\u5750\u6807\u70b9\u4e0e\u6700\u5de6\u8fb9\u7684\u8ddd\u79bb\uff0c\u8303\u56f4\u662f0~\u5bbd\u5ea6-1\nint \u7ed3\u675f\u5750\u6807\u70b9\u4e0e\u6700\u4e0a\u8fb9\u7684\u8ddd\u79bb\uff0c\u8303\u56f4\u662f0~\u9ad8\u5ea6-1\nint \u53ef\u9009\uff0c\u989c\u8272\uff0c\u9ed8\u8ba4\u4e3a0\nbool \u53ef\u9009\uff0c\u662f\u5426\u5728\u5185\u90e8\u586b\u5145\uff0c\u9ed8\u8ba4nil\n\u8fd4\u56de\u503c\uff1a\nbool \u753b\u6210\u529f\u4f1a\u8fd4\u56detrue\n\u4f8b\u5b50\uff1a\nrerult = buff:drawRect(0,0,2,3,0xffff)\n", "prefix": "buff:drawRect"}, "buff:drawCircle": {"body": "buff:drawCircle(${1:x},${2:y},${3:r},${4:color},${5:fill})", "description": "buff:drawCircle(x,y,r,color,fill) - \u753b\u4e00\u4e2a\u5706\u5f62\uff08\u4e0e\u5f53\u524d\u6307\u9488\u4f4d\u7f6e\u65e0\u5173\uff1b\u6267\u884c\u540e\u6307\u9488\u4f4d\u7f6e\u4e0d\u53d8\uff09\n\u4f20\u5165\u503c\uff1a\nint **\u5706\u5fc3**\u4e0e\u6700\u5de6\u8fb9\u7684\u8ddd\u79bb\uff0c\u8303\u56f4\u662f0~\u5bbd\u5ea6-1\nint **\u5706\u5fc3**\u4e0e\u6700\u4e0a\u8fb9\u7684\u8ddd\u79bb\uff0c\u8303\u56f4\u662f0~\u9ad8\u5ea6-1\nint \u5706\u7684\u534a\u5f84\nint \u53ef\u9009\uff0c\u5706\u7684\u989c\u8272\uff0c\u9ed8\u8ba4\u4e3a0\nbool \u53ef\u9009\uff0c\u662f\u5426\u5728\u5185\u90e8\u586b\u5145\uff0c\u9ed8\u8ba4nil\n\u8fd4\u56de\u503c\uff1a\nbool \u753b\u6210\u529f\u4f1a\u8fd4\u56detrue\n\u4f8b\u5b50\uff1a\nrerult = buff:drawCircle(15,5,3,0xC)\nrerult = buff:drawCircle(15,5,3,0xC,true)\n", "prefix": "buff:drawCircle"}, "buff[n": {"body": "buff[n]", "description": "buff[n] - \u4ee5\u4e0b\u6807\u5f62\u5f0f\u8fdb\u884c\u6570\u636e\u8bfb\u5199\uff08\u4e0e\u5f53\u524d\u6307\u9488\u4f4d\u7f6e\u65e0\u5173\uff1b\u6267\u884c\u540e\u6307\u9488\u4f4d\u7f6e\u4e0d\u53d8\uff09\n\u4f20\u5165\u503c\uff1a\nint \u7b2c\u51e0\u4e2a\u6570\u636e\uff0c\u4ee50\u5f00\u59cb\u7684\u4e0b\u6807\uff08C\u6807\u51c6\uff09\n\u8fd4\u56de\u503c\uff1a\nnumber \u8be5\u4f4d\u7f6e\u7684\u6570\u636e\n\u4f8b\u5b50\uff1a\nbuff[0] = 0xc8\nlocal data = buff[0]\n", "prefix": "buff[n"}, "buff:resize": {"body": "buff:resize(${1:n})", "description": "buff:resize(n) - \u8c03\u6574zbuff\u5b9e\u9645\u5206\u914d\u7a7a\u95f4\u7684\u5927\u5c0f\uff0c\u7c7b\u4f3c\u4e8erealloc\u7684\u6548\u679c\uff0cnew = realloc(old, n)\uff0c\u53ef\u4ee5\u6269\u5927\u6216\u8005\u7f29\u5c0f\uff08\u5982\u679c\u7f29\u5c0f\u540elen\u5c0f\u4e8e\u4e86used\uff0c\u90a3\u4e48used=\u65b0len\uff09\n\u4f20\u5165\u503c\uff1a\nint \u65b0\u7a7a\u95f4\u5927\u5c0f\n\u4f8b\u5b50\uff1a\nbuff:resize(20)\n", "prefix": "buff:resize"}, "buff:copy": {"body": "buff:copy(${1:start},${2:para},${3:...})", "description": "buff:copy(start, para,...) - zbuff\u52a8\u6001\u5199\u6570\u636e\uff0c\u7c7b\u4f3c\u4e8ememcpy\u6548\u679c\uff0c\u5f53\u539f\u6709\u7a7a\u95f4\u4e0d\u8db3\u65f6\u52a8\u6001\u6269\u5927\u7a7a\u95f4\n\u4f20\u5165\u503c\uff1a\nint \u5199\u5165buff\u7684\u8d77\u59cb\u4f4d\u7f6e\uff0c\u5982\u679c\u4e0d\u4e3a\u6570\u5b57\uff0c\u5219\u4e3abuff\u7684used\uff0c\u5982\u679c\u5c0f\u4e8e0\uff0c\u5219\u4eceused\u5f80\u524d\u6570\uff0c-1 = used - 1\nany \u5199\u5165buff\u7684\u6570\u636e\uff0cstring\u6216zbuff\u8005\u65f6\u4e3a\u4e00\u4e2a\u53c2\u6570\uff0cnumber\u65f6\u53ef\u4e3a\u591a\u4e2a\u53c2\u6570\n\u8fd4\u56de\u503c\uff1a\nnumber \u6570\u636e\u6210\u529f\u5199\u5165\u7684\u957f\u5ea6\n\u4f8b\u5b50\uff1a\nlocal len = buff:copy(nil, \"123\") -- \u7c7b\u4f3c\u4e8ememcpy(&buff[used], \"123\", 3) used+= 3 \u4ecebuff\u5f00\u59cb\u5199\u5165\u6570\u636e,\u6307\u9488\u76f8\u5e94\u5730\u5f80\u540e\u79fb\u52a8\nlocal len = buff:copy(0, \"123\") -- \u7c7b\u4f3c\u4e8ememcpy(&buff[0], \"123\", 3) if (used < 3) used = 3 \u4ece\u4f4d\u7f6e0\u5199\u5165\u6570\u636e,\u6307\u9488\u6709\u53ef\u80fd\u4f1a\u79fb\u52a8\nlocal len = buff:copy(2, 0x1a,0x30,0x31,0x32,0x00,0x01) -- \u7c7b\u4f3c\u4e8ememcpy(&buff[2], [0x1a,0x30,0x31,0x32,0x00,0x01], 6) if (used < (2+6)) used = (2+6)\u4ece\u4f4d\u7f6e2\u5f00\u59cb\uff0c\u6309\u6570\u503c\u5199\u5165\u591a\u4e2a\u5b57\u8282\u6570\u636e\nlocal len = buff:copy(9, buff2) -- \u7c7b\u4f3c\u4e8ememcpy(&buff[9], &buff2[0], buff2\u7684used) if (used < (9+buff2\u7684used)) used = (9+buff2\u7684used) \u4ece\u4f4d\u7f6e9\u5f00\u59cb\uff0c\u5408\u5e76\u5165buff2\u91cc0~used\u7684\u5185\u5bb9\nlocal len = buff:copy(5, buff2, 10, 1024) -- \u7c7b\u4f3c\u4e8ememcpy(&buff[5], &buff2[10], 1024) if (used < (5+1024)) used = (5+1024)\n", "prefix": "buff:copy"}, "buff:used": {"body": "buff:used()", "description": "buff:used() - \u83b7\u53d6zbuff\u91cc\u6700\u540e\u4e00\u4e2a\u6570\u636e\u4f4d\u7f6e\u6307\u9488\u5230\u9996\u5730\u5740\u7684\u504f\u79fb\u91cf\uff0c\u6765\u8868\u793azbuff\u5185\u5df2\u6709\u6709\u6548\u6570\u636e\u91cf\u5927\u5c0f\uff0c\u6ce8\u610f\u8fd9\u4e2a\u4e0d\u540c\u4e8e\u5206\u914d\u7684\u7a7a\u95f4\u5927\u5c0f\uff0c\u7531\u4e8eseek()\u4f1a\u6539\u53d8\u6700\u540e\u4e00\u4e2a\u6570\u636e\u4f4d\u7f6e\u6307\u9488\uff0c\u56e0\u6b64\u4e5f\u4f1a\u5f71\u54cd\u5230used()\u8fd4\u56de\u503c\u3002\n\u8fd4\u56de\u503c\uff1a\nint \u6709\u6548\u6570\u636e\u91cf\u5927\u5c0f\n\u4f8b\u5b50\uff1a\nbuff:used()\n", "prefix": "buff:used"}, "buff:del": {"body": "buff:del(${1:offset},${2:length})", "description": "buff:del(offset,length) - \u5220\u9664zbuff 0~used\u8303\u56f4\u5185\u7684\u4e00\u6bb5\u6570\u636e\uff0c\u6ce8\u610f\u53ea\u662f\u6539\u53d8\u4e86used\u7684\u503c\uff0c\u5e76\u4e0d\u662f\u771f\u7684\u5728ram\u91cc\u53bb\u6e05\u9664\u6389\u6570\u636e\n\u4f20\u5165\u503c\uff1a\nint \u8d77\u59cb\u4f4d\u7f6estart, \u9ed8\u8ba40\uff0c\u5982\u679c<0\u5219\u4eceused\u5f80\u524d\u6570\uff0c\u6bd4\u5982 -1 \u90a3\u4e48start= used - 1\nint \u957f\u5ea6del_len\uff0c\u9ed8\u8ba4\u4e3aused\uff0c\u5982\u679cstart + del_len\u6570\u503c\u5927\u4e8eused\uff0c\u4f1a\u5f3a\u5236\u8c03\u6574del_len = used - start\n\u4f8b\u5b50\uff1a\nbuff:del(1,4)\t--\u4ece\u4f4d\u7f6e1\u5f00\u59cb\u5220\u96644\u4e2a\u5b57\u8282\u6570\u636e\nbuff:del(-1,4)\t--\u4ece\u4f4d\u7f6eused-1\u5f00\u59cb\u5220\u96644\u4e2a\u5b57\u8282\u6570\u636e\uff0c\u4f46\u662f\u8fd9\u80af\u5b9a\u4f1a\u8d85\u8fc7used\uff0c\u6240\u4ee5del_len\u4f1a\u8c03\u6574\u4e3a1\uff0c\u5b9e\u9645\u4e0a\u5c31\u662f\u5220\u6389\u4e86\u6700\u540e\u4e00\u4e2a\u5b57\u8282\n", "prefix": "buff:del"}, "buff:query": {"body": "buff:query(${1:offset},${2:length},${3:isbigend},${4:issigned},${5:isfloat})", "description": "buff:query(offset,length,isbigend,issigned,isfloat) - \u6309\u8d77\u59cb\u4f4d\u7f6e\u548c\u957f\u5ea60~used\u8303\u56f4\u5185\u53d6\u51fa\u6570\u636e\uff0c\u5982\u679c\u662f1,2,4,8\u5b57\u8282\uff0c\u6839\u636e\u540e\u7eed\u53c2\u6570\u8f6c\u6362\u6210\u6d6e\u70b9\u6216\u8005\u6574\u5f62\n\u4f20\u5165\u503c\uff1a\nint \u6570\u636e\u7684\u8d77\u59cb\u4f4d\u7f6e\uff08\u8d77\u59cb\u4f4d\u7f6e\u4e3a0\uff09\nint \u6570\u636e\u7684\u957f\u5ea6\nboolean \u662f\u5426\u662f\u5927\u7aef\u683c\u5f0f\uff0c\u5982\u679c\u4e3anil\uff0c\u5219\u4e0d\u4f1a\u8f6c\u6362\uff0c\u76f4\u63a5\u5b57\u8282\u6d41\u8f93\u51fa\nboolean \u662f\u5426\u662f\u6709\u7b26\u53f7\u7684\uff0c\u9ed8\u8ba4\u4e3afalse\nboolean \u662f\u5426\u662f\u6d6e\u70b9\u578b\uff0c\u9ed8\u8ba4\u4e3afalse\n\u8fd4\u56de\u503c\uff1a\nstring \u8bfb\u51fa\u6765\u7684\u6570\u636e\n\u4f8b\u5b50\uff1a\nlocal s = buff:query(0,5)--\u8bfb\u53d6\u5f00\u5934\u7684\u4e94\u4e2a\u5b57\u8282\u6570\u636e\n", "prefix": "buff:query"}, "buff:set": {"body": "buff:set(${1:start},${2:num},${3:len})", "description": "buff:set(start, num, len) - zbuff\u7684\u7c7b\u4f3c\u4e8ememset\u64cd\u4f5c\uff0c\u7c7b\u4f3c\u4e8ememset(&buff[start], num, len)\uff0c\u5f53\u7136\u6709ram\u8d8a\u754c\u4fdd\u62a4\uff0c\u4f1a\u5bf9len\u6709\u4e00\u5b9a\u7684\u9650\u5236\n\u4f20\u5165\u503c\uff1a\nint \u53ef\u9009\uff0c\u5f00\u59cb\u4f4d\u7f6e\uff0c\u9ed8\u8ba4\u4e3a0,\nint \u53ef\u9009\uff0c\u9ed8\u8ba4\u4e3a0\u3002\u8981\u8bbe\u7f6e\u4e3a\u7684\u503c\nint \u53ef\u9009\uff0c\u957f\u5ea6\uff0c\u9ed8\u8ba4\u4e3a\u5168\u90e8\u7a7a\u95f4\uff0c\u5982\u679c\u8d85\u51fa\u8303\u56f4\u4e86\uff0c\u4f1a\u81ea\u52a8\u622a\u65ad\n\u4f8b\u5b50\uff1a\n-- \u5168\u90e8\u521d\u59cb\u5316\u4e3a0\nbuff:set() --\u7b49\u540c\u4e8e memset(buff, 0, sizeof(buff))\nbuff:set(8) --\u7b49\u540c\u4e8e memset(&buff[8], 0, sizeof(buff) - 8)\nbuff:set(0, 0x55) --\u7b49\u540c\u4e8e memset(buff, 0x55, sizeof(buff))\nbuff:set(4, 0xaa, 12) --\u7b49\u7528\u4e8e memset(&buff[4], 0xaa, 12)\n", "prefix": "buff:set"}, "buff:isEqual": {"body": "buff:isEqual(${1:start},${2:buff2},${3:start2},${4:len})", "description": "buff:isEqual(start, buff2, start2, len) - zbuff\u7684\u7c7b\u4f3c\u4e8ememcmp\u64cd\u4f5c\uff0c\u7c7b\u4f3c\u4e8ememcmp(&buff[start], &buff2[start2], len)\n\u4f20\u5165\u503c\uff1a\nint \u53ef\u9009\uff0c\u5f00\u59cb\u4f4d\u7f6e\uff0c\u9ed8\u8ba4\u4e3a0,\nzbuff \u6bd4\u8f83\u7684\u5bf9\u8c61\nint \u53ef\u9009\uff0c\u6bd4\u8f83\u7684\u5bf9\u8c61\u7684\u5f00\u59cb\u4f4d\u7f6e\uff0c\u9ed8\u8ba4\u4e3a0\nint \u6bd4\u8f83\u957f\u5ea6\n\u8fd4\u56de\u503c\uff1a\nboolean true\u76f8\u7b49\uff0cfalse\u4e0d\u76f8\u7b49\nint \u76f8\u7b49\u8fd4\u56de0\uff0c\u4e0d\u76f8\u7b49\u8fd4\u56de\u7b2c\u4e00\u4e2a\u4e0d\u76f8\u7b49\u4f4d\u7f6e\u7684\u5e8f\u53f7\n\u4f8b\u5b50\uff1a\nlocal result, offset = buff:isEqual(1, buff2, 2, 10) --\u7b49\u540c\u4e8ememcmp(&buff[1], &buff2[2], 10)\n", "prefix": "buff:isEqual"}, "zlib.c": {"body": "zlib.c(${1:input_file},${2:output_file})", "description": "zlib.c(input_file,output_file) - zlib\u538b\u7f29(\u9700\u8981\u5927\u7ea6270k\u5185\u5b58\uff0c\u5927\u90e8\u5206mcu\u4e0d\u652f\u6301)\n\u4f20\u5165\u503c\uff1a\nstring input_file \u8f93\u5165\u6587\u4ef6\nstring output_file \u8f93\u51fa\u6587\u4ef6\n\u8fd4\u56de\u503c\uff1a\nbool \u6b63\u5e38\u8fd4\u56de ture \u5931\u8d25\u8fd4\u56de false\n\u4f8b\u5b50\uff1a\nzlib.c(\"/sd/1.txt\",\"/sd/zlib\")\n", "prefix": "zlib.c"}, "zlib.d": {"body": "zlib.d(${1:input_file},${2:output_file})", "description": "zlib.d(input_file,output_file) - zlib\u89e3\u538b\u7f29(\u9700\u8981\u5927\u7ea618k\u5185\u5b58\uff0c\u5927\u90e8\u5206mcu\u90fd\u652f\u6301)\n\u4f20\u5165\u503c\uff1a\nstring input_file \u8f93\u5165\u6587\u4ef6\nstring output_file \u8f93\u51fa\u6587\u4ef6\n\u8fd4\u56de\u503c\uff1a\nbool \u6b63\u5e38\u8fd4\u56de ture \u5931\u8d25\u8fd4\u56de false\n\u4f8b\u5b50\uff1a\nzlib.d(\"/sd/zlib\",\"/sd/1.txt\")\n", "prefix": "zlib.d"}} \ No newline at end of file diff --git a/translated-docs/api/ftp.md b/translated-docs/api/ftp.md index e521821cd..83d73906e 100644 --- a/translated-docs/api/ftp.md +++ b/translated-docs/api/ftp.md @@ -2,10 +2,6 @@ {bdg-success}`Adapted` {bdg-primary}`Air101/Air103` {bdg-primary}`Air601` {bdg-primary}`Air105` {bdg-primary}`ESP32C3` {bdg-primary}`ESP32S3` {bdg-primary}`Air780E/Air700E` -```{note} -This page document is automatically generated by [this file](https://gitee.com/openLuat/LuatOS/tree/master/luat/../components/network/libftp/luat_lib_ftp.c). If there is any error, please submit issue or help modify pr, thank you! -``` - ```{tip} This library has its own demo,[click this link to view ftp demo examples](https://gitee.com/openLuat/LuatOS/tree/master/demo/ftp) ``` diff --git a/translated-docs/api/iconv.md b/translated-docs/api/iconv.md index 7837972b9..b0da4a8ee 100644 --- a/translated-docs/api/iconv.md +++ b/translated-docs/api/iconv.md @@ -1,4 +1,4 @@ -# iconv - iconv Operation +# iconv - Character encoding conversion {bdg-success}`Adapted` {bdg-primary}`Air101/Air103` {bdg-primary}`Air601` {bdg-primary}`Air105` {bdg-primary}`ESP32C3` {bdg-primary}`ESP32S3` {bdg-primary}`Air780E/Air700E` @@ -6,7 +6,7 @@ This library has its own demo,[click this link to view the demo example of iconv](https://gitee.com/openLuat/LuatOS/tree/master/demo/iconv) ``` -## iconv.open(tocode, fromcode) +## iconv.open(tocode, fromcode) @@ -16,26 +16,25 @@ Open the corresponding character encoding conversion function |Incoming Value Type | Explanation| |-|-| -|string|Interpretation: target encoding format
        value:gb2312/ucs2/ucs2be/utf8| -|string|Interpretation: source encoding format
        value:gb2312/ucs2/ucs2be/utf8| +|string|tocode$Target Encoding Format$gb2312/ucs2/ucs2be/utf8| +|string|fromcode$Source encoding format$gb2312/ucs2/ucs2be/utf8| +|return|table$cd$The conversion handle of the encoding conversion function.$ | **Return Value** -|return value type | explanation| -|-|-| -|userdata|The conversion handle of the encoding conversion function, which returns if it does not exist.nil| +None **Examples** ```lua --unicode Big Endian Code Converts to utf8 Code -local iconv = iconv.open("utf8", "ucs2be") +local cd = iconv.open("utf8", "ucs2be") ``` --- -## iconv:iconv(inbuf) +## cd:iconv(inbuf) @@ -45,40 +44,38 @@ Character encoding conversion |Incoming Value Type | Explanation| |-|-| -|string|Interpretation: String to be converted| +|string|inbuf$Enter the string $for example:ucs2s | +|return|number$result$Returns the result after code conversion $0 succeeded,-1 failed| **Return Value** -|return value type | explanation| -|-|-| -|number|Interpretation: return the result after code conversion
        value: 0 success,-1 failure| +None **Examples** ```lua --unicode Big Endian Code Converts to utf8 Code function ucs2beToUtf8(ucs2s) - local iconv = iconv.open("utf8", "ucs2be") - return iconv:iconv(ucs2s) + local cd = iconv.open("utf8", "ucs2be") + return cd:iconv(ucs2s) end ``` --- -## iconv.open(tocode, fromcode) +## iconv.close(cd) -Open the corresponding character encoding conversion function +Turn off character encoding conversion **Parameters** |Incoming Value Type | Explanation| |-|-| -|string|tocode$Target Encoding Format$gb2312/ucs2/ucs2be/utf8| -|string|fromcode$Source encoding format$gb2312/ucs2/ucs2be/utf8| -|return|table$cd$The conversion handle of the encoding conversion function.$ | +|string|cd$iconv.open Handle returned$ | +|return| | **Return Value** @@ -87,66 +84,69 @@ None **Examples** ```lua ---unicode Big Endian Code Converts to utf8 Code +--Turn off character encoding conversion local cd = iconv.open("utf8", "ucs2be") +iconv.close(cd) ``` --- -## cd:iconv(inbuf) +## iconv.open(tocode, fromcode) -Character encoding conversion +Open the corresponding character encoding conversion function **Parameters** |Incoming Value Type | Explanation| |-|-| -|string|inbuf$Enter the string $for example:ucs2s | -|return|number$result$Returns the result after code conversion $0 succeeded,-1 failed| +|string|Interpretation: target encoding format
        value:gb2312/ucs2/ucs2be/utf8| +|string|Interpretation: source encoding format
        value:gb2312/ucs2/ucs2be/utf8| **Return Value** -None +|return value type | explanation| +|-|-| +|userdata|The conversion handle of the encoding conversion function, which returns if it does not exist.nil| **Examples** ```lua --unicode Big Endian Code Converts to utf8 Code -function ucs2beToUtf8(ucs2s) - local cd = iconv.open("utf8", "ucs2be") - return cd:iconv(ucs2s) -end +local iconv = iconv.open("utf8", "ucs2be") ``` --- -## iconv.close(cd) +## iconv:iconv(inbuf) -Turn off character encoding conversion +Character encoding conversion **Parameters** |Incoming Value Type | Explanation| |-|-| -|string|cd$iconv.open Handle returned$ | -|return| | +|string|Interpretation: String to be converted| **Return Value** -None +|return value type | explanation| +|-|-| +|number|Interpretation: return the result after code conversion
        value: 0 success,-1 failure| **Examples** ```lua ---Turn off character encoding conversion -local cd = iconv.open("utf8", "ucs2be") -iconv.close(cd) +--unicode Big Endian Code Converts to utf8 Code +function ucs2beToUtf8(ucs2s) + local iconv = iconv.open("utf8", "ucs2be") + return iconv:iconv(ucs2s) +end ``` diff --git a/translated-docs/api/libs/lm75.md b/translated-docs/api/libs/lm75.md index bcac7b078..c96e0421f 100644 --- a/translated-docs/api/libs/lm75.md +++ b/translated-docs/api/libs/lm75.md @@ -10,7 +10,6 @@ This page document is automatically generated by [this file](https://gitee.com/o **Example** ```lua ---Note: due to the use of sys.wait() all apis need to be used in the coroutine -- Usage Examples local lm75 = require "lm75" i2cid = 0 diff --git a/translated-docs/api/libs/mlx90614.md b/translated-docs/api/libs/mlx90614.md index 38eed4dbc..128fe56b4 100644 --- a/translated-docs/api/libs/mlx90614.md +++ b/translated-docs/api/libs/mlx90614.md @@ -10,7 +10,6 @@ This page document is automatically generated by [this file](https://gitee.com/o **Example** ```lua ---Note: due to the use of sys.wait() all apis need to be used in the coroutine -- Usage Examples local mlx90614 = require "mlx90614" diff --git a/translated-docs/api/lvgl.md b/translated-docs/api/lvgl.md index 4834636ac..a499fb09f 100644 --- a/translated-docs/api/lvgl.md +++ b/translated-docs/api/lvgl.md @@ -150,98 +150,6 @@ local lvgl.draw_mask_fade_param_t_free(fade) --- -## lvgl.font_get(name) - - - -Get Built-in Font - -**Parameters** - -|Incoming Value Type | Explanation| -|-|-| -|string|Font name font size, for example opposans_m_10| - -**Return Value** - -|return value type | explanation| -|-|-| -|userdata|Font Pointer| - -**Examples** - -```lua - -local font = lvgl.font_get("opposans_m_12") - -``` - ---- - -## lvgl.font_load(path/spi_device,size,bpp,thickness,cache_size,sty_zh,sty_en) - - - -Loading fonts from the file system - -**Parameters** - -|Incoming Value Type | Explanation| -|-|-| -|string/userdata|Font path/spi_device (spi_device to use an external Qualcomm vector font chip)| -|number|size Optional, font size 16-192 defaults to 16 (use Qualcomm vector font)| -|number|bpp Optional Depth Default 4 (Use Qualcomm Vector Font)| -|number|thickness Optional weight value Default size * bpp (use Qualcomm vector font)| -|number|cache_size Optional default 0 (use Qualcomm vector font)| -|number|sty_zh OPTIONAL SELECT FONT DEFAULT 1 (USING QUALCOMM VECTOR FONT)| -|number|sty_en OPTIONAL SELECT FONT DEFAULT 3 (USING QUALCOMM VECTOR FONT)| - -**Return Value** - -|return value type | explanation| -|-|-| -|userdata|Font Pointer| - -**Examples** - -```lua -local font = lvgl.font_load("/font_32.bin") ---local font = lvgl.font_load(spi_device,16)(Qualcomm Vector Font) - -``` - ---- - -## lvgl.font_free(font) - - - -Release the font and use it with caution!!! Only fonts loaded by font_load are allowed to be unloaded, and fonts obtained by font_get are not allowed to be unloaded - -**Parameters** - -|Incoming Value Type | Explanation| -|-|-| -|string|Font Path| - -**Return Value** - -|return value type | explanation| -|-|-| -|userdata|Font Pointer| - -**Examples** - -```lua -local font = lvgl.font_load("/font_32.bin") --- N N N N Operation --- Make sure the font is not used, not referenced, and the memory is tight and needs to be released. -lvgl.font_free(font) - -``` - ---- - ## lvgl.obj_set_event_cb(obj, func) @@ -396,11 +304,11 @@ None --- -## lvgl.scr_act() +## lvgl.style_t() -Get the currently active screen object +Create a style **Parameters** @@ -410,23 +318,23 @@ None |return value type | explanation| |-|-| -|pointer | screen pointer| +|userdata|style Pointer| **Examples** ```lua -local scr = lvgl.scr_act() - +local style = lvgl.style_t() +lvgl.style_init(style) ``` --- -## lvgl.layer_top() +## lvgl.style_create() -Get layer_top +Create a style and initialize **Parameters** @@ -436,19 +344,22 @@ None |return value type | explanation| |-|-| -|pointer | layer pointer| +|userdata|style Pointer| **Examples** -None +```lua +local style = lvgl.style_create() + +``` --- -## lvgl.layer_sys() +## lvgl.style_list_create() -Get layer_sys +Create a style_list **Parameters** @@ -458,55 +369,53 @@ None |return value type | explanation| |-|-| -|pointer | layer pointer| +|userdata|style Pointer| **Examples** -None +```lua +local style_list = lvgl.style_list_create() + +``` --- -## lvgl.scr_load(scr) +## lvgl.style_list_t() -Load the specified screen +Create a style_list **Parameters** -|Incoming Value Type | Explanation| -|-|-| -|userdata|screen Pointer| +None **Return Value** -None +|return value type | explanation| +|-|-| +|userdata|style Pointer| **Examples** ```lua - local scr = lvgl.obj_create(nil, nil) - local btn = lvgl.btn_create(scr) - lvgl.obj_align(btn, lvgl.scr_act(), lvgl.ALIGN_CENTER, 0, 0) - local label = lvgl.label_create(btn) - lvgl.label_set_text(label, "LuatOS!") - lvgl.scr_load(scr) +local style = lvgl.style_list_t() ``` --- -## lvgl.scr_load_anim(scr) +## lvgl.style_delete(style) -Load the specified screen and use the specified transition animation +Delete style, use caution, usually do not perform delete operation **Parameters** |Incoming Value Type | Explanation| |-|-| -|userdata|screen Pointer| +|userdata|style Pointer| **Return Value** @@ -515,282 +424,335 @@ None **Examples** ```lua - local scr = lvgl.obj_create(nil, nil) - local btn = lvgl.btn_create(scr) - lvgl.obj_align(btn, lvgl.scr_act(), lvgl.ALIGN_CENTER, 0, 0) - local label = lvgl.label_create(btn) - lvgl.label_set_text(label, "LuatOS!") - - local scr2 = lvgl.obj_create(nil,nil) - local btn2 = lvgl.btn_create(scr2) - lvgl.obj_align(btn, scr2, lvgl.ALIGN_CENTER, 0, 20) - local label2 = lvgl.label_create(btn2) - lvgl.label_set_text(label2, "Btn2") - lvgl.scr_load(scr) - --sys.wait(1000); - lvgl.scr_load_anim(scr2,lvgl.SCR_LOAD_ANIM_OVER_LEFT,100,100,false) -primitive function:lv_scr_load_anim(lv_obj_t * new_scr, lv_scr_load_anim_t anim_type, uint32_t time, uint32_t delay, bool auto_del) +local style = lvgl.style_create() +-- ... +-- ... +-- lvgl.style_delete(style) ``` --- -## lvgl.theme_set_act(name) +## lvgl.style_list_delete(style) -Set Theme +Delete style_list, use caution, usually do not perform delete operation **Parameters** |Incoming Value Type | Explanation| |-|-| -|string|Subject name, optional values are default/mono/empty/material_light/material_dark/material_no_transition/material_no_focus| +|userdata|style Pointer| **Return Value** -|return value type | explanation| -|-|-| -|bool|Returns true on success, otherwise nil| +None **Examples** ```lua --- Black and White Theme -lvgl.theme_set_act("mono") --- Blank Theme -lvgl.theme_set_act("empty") +local style_list = lvgl.style_list_create() +-- ... +-- ... +-- lvgl.style_list_delete(style_list) ``` --- -## lvgl.sleep(enable) +## lvgl.indev_drv_register(tp, dtp) -LVGL Sleep control, pause/resume refresh timer, currently only 105 and EC618 can be used +Register Input Device Driver **Parameters** |Incoming Value Type | Explanation| |-|-| -|boolean|true Pause False Resume| +|string|Device type, currently supports "pointer", pointer class/touch class, "keyboard", keyboard type| +|string|Device model, currently supports "emulator", emulator type| **Return Value** -None +|return value type | explanation| +|-|-| +|bool|Returns true on success, otherwise false| **Examples** ```lua -lvgl.sleep(true) --Pause refresh, system can sleep -lvgl.sleep(false) --Resume refresh, system does not sleep +lvgl.indev_drv_register("pointer", "emulator") ``` --- -## lvgl.init(w, h, lcd, buff_size, buff_mode) +## lvgl.indev_point_emulator_update(x, y, state) -Initialization LVGL +Update coordinate data for analog input devices **Parameters** |Incoming Value Type | Explanation| |-|-| -|int|screen width, optional, taken from LCD by default| -|int|Screen height, optional, default from LCD| -|userdata|lcd pointer, optional, default value after LCD initialization, reserved multi-screen entry| -|int|Buffer size, default width * 10, without color depth.| -|int|Buffer mode, default 0, single buff mode, optional 1, double buff mode| +|int|x Coordinates, with the upper left corner as 0 and the lower right corner as the maximum value| +|int|y Coordinates, with the upper left corner as 0 and the lower right corner as the maximum value| +|int|State, 0 is released, 1 is pressed| **Return Value** |return value type | explanation| |-|-| -|bool|Returns true on success, otherwise false| +|nil|No return value| **Examples** -None +```lua +-- Simulate clicks on the screen, simulate long and short presses through the timeout +sys.taskInit(function(x, y, timeout) + lvgl.indev_point_emulator_update(x, y, 1) + sys.wait(timeout) + lvgl.indev_point_emulator_update(x, y, 0) +end, 240, 120, 50) + +``` --- -## lvgl.anim_create() +## lvgl.indev_kb_update(key) -Create and initialize a anim +Update key values for keyboard input devices **Parameters** -None +|Incoming Value Type | Explanation| +|-|-| +|int|Key value, default 0, key up| **Return Value** |return value type | explanation| |-|-| -|userdata|anim Pointer| +|nil|No return value| **Examples** -```lua -local anim = lvgl.anim_create() - -``` +None --- -## lvgl.anim_free(anim) +## lvgl.font_get(name) -Release one.anim +Get Built-in Font **Parameters** -None +|Incoming Value Type | Explanation| +|-|-| +|string|Font name font size, for example opposans_m_10| **Return Value** -None +|return value type | explanation| +|-|-| +|userdata|Font Pointer| **Examples** ```lua -local lvgl.anim_free(anim) + +local font = lvgl.font_get("opposans_m_12") ``` --- -## lvgl.anim_path_t() +## lvgl.font_load(path/spi_device,size,bpp,thickness,cache_size,sty_zh,sty_en) -Create a lv_anim_path_t +Loading fonts from the file system **Parameters** -None +|Incoming Value Type | Explanation| +|-|-| +|string/userdata|Font path/spi_device (spi_device to use an external Qualcomm vector font chip)| +|number|size Optional, font size 16-192 defaults to 16 (use Qualcomm vector font)| +|number|bpp Optional Depth Default 4 (Use Qualcomm Vector Font)| +|number|thickness Optional weight value Default size * bpp (use Qualcomm vector font)| +|number|cache_size Optional default 0 (use Qualcomm vector font)| +|number|sty_zh OPTIONAL SELECT FONT DEFAULT 1 (USING QUALCOMM VECTOR FONT)| +|number|sty_en OPTIONAL SELECT FONT DEFAULT 3 (USING QUALCOMM VECTOR FONT)| **Return Value** |return value type | explanation| |-|-| -|userdata|lv_anim_path_t Pointer| +|userdata|Font Pointer| **Examples** ```lua -local anim_path_t = lvgl.anim_path_t() +local font = lvgl.font_load("/font_32.bin") +--local font = lvgl.font_load(spi_device,16)(Qualcomm Vector Font) ``` --- -## lvgl.anim_path_t_free(anim_path_t) +## lvgl.font_free(font) -Release one.lv_anim_path_t +Release the font and use it with caution!!! Only fonts loaded by font_load are allowed to be unloaded, and fonts obtained by font_get are not allowed to be unloaded **Parameters** -None +|Incoming Value Type | Explanation| +|-|-| +|string|Font Path| **Return Value** -None +|return value type | explanation| +|-|-| +|userdata|Font Pointer| **Examples** ```lua -local lvgl.anim_path_t_free(anim_path_t) +local font = lvgl.font_load("/font_32.bin") +-- N N N N Operation +-- Make sure the font is not used, not referenced, and the memory is tight and needs to be released. +lvgl.font_free(font) ``` --- -## lvgl.anim_set_path_str(anim, tp) +## lvgl.anim_create() -Set the animation path method +Create and initialize a anim **Parameters** -|Incoming Value Type | Explanation| -|-|-| -|userdata|Animated Pointer| -|string|types, support linear/ease_in/ease_out/ease_in_out/overshoot/bounce/step| +None **Return Value** |return value type | explanation| |-|-| -|nil|No return value| +|userdata|anim Pointer| **Examples** +```lua +local anim = lvgl.anim_create() + +``` + +--- + +## lvgl.anim_free(anim) + + + +Release one.anim + +**Parameters** + None +**Return Value** + +None + +**Examples** + +```lua +local lvgl.anim_free(anim) + +``` + --- -## lvgl.qrcode_create(parent, size, dark_color, light_color) +## lvgl.anim_path_t() -Create the qrcode component +Create a lv_anim_path_t **Parameters** -|Incoming Value Type | Explanation| -|-|-| -|userdata|Parent Component| -|int|length, because qrcode is square| -|int|Color of data points in QR code, RGB color, default 0x3333ff| -|int|The color of the back scenic spot in the two-dimensional code, RGB color, default 0xeeeeff| +None **Return Value** |return value type | explanation| |-|-| -|userdata|qrcode Components| +|userdata|lv_anim_path_t Pointer| **Examples** ```lua --- Create and display qrcode -local qrcode = lvgl.qrcode_create(scr, 100) -lvgl.qrcode_update(qrcode, "https://luatos.com") -lvgl.obj_align(qrcode, lvgl.scr_act(), lvgl.ALIGN_CENTER, -100, -100) +local anim_path_t = lvgl.anim_path_t() ``` --- -## lvgl.qrcode_update(qrcode, cnt) +## lvgl.anim_path_t_free(anim_path_t) -set the qrcode component's qr code content and use it with the qrcode_create +Release one.lv_anim_path_t + +**Parameters** + +None + +**Return Value** + +None + +**Examples** + +```lua +local lvgl.anim_path_t_free(anim_path_t) + +``` + +--- + +## lvgl.anim_set_path_str(anim, tp) + + + +Set the animation path method **Parameters** |Incoming Value Type | Explanation| |-|-| -|userdata|qrcode components, created by qrcode_create| -|string|Content data of two-dimensional code| +|userdata|Animated Pointer| +|string|types, support linear/ease_in/ease_out/ease_in_out/overshoot/bounce/step| **Return Value** |return value type | explanation| |-|-| -|bool|If the update is successful, it returns true, otherwise it returns false. It is usually returned only if the data is too long to accommodate.false| +|nil|No return value| **Examples** @@ -798,23 +760,27 @@ None --- -## lvgl.qrcode_delete(qrcode) +## lvgl.init(w, h, lcd, buff_size, buff_mode) -Remove qrcode component +Initialization LVGL **Parameters** |Incoming Value Type | Explanation| |-|-| -|userdata|qrcode components, created by qrcode_create| +|int|screen width, optional, taken from LCD by default| +|int|Screen height, optional, default from LCD| +|userdata|lcd pointer, optional, default value after LCD initialization, reserved multi-screen entry| +|int|Buffer size, default width * 10, without color depth.| +|int|Buffer mode, default 0, single buff mode, optional 1, double buff mode| **Return Value** |return value type | explanation| |-|-| -|nil|No return value| +|bool|Returns true on success, otherwise false| **Examples** @@ -822,11 +788,11 @@ None --- -## lvgl.style_t() +## lvgl.demo_benchmark() -Create a style +lvgl benchmark demo **Parameters** @@ -836,23 +802,23 @@ None |return value type | explanation| |-|-| -|userdata|style Pointer| +|nil|No return value| **Examples** ```lua -local style = lvgl.style_t() -lvgl.style_init(style) +lvgl.init() +lvgl.demo_benchmark() ``` --- -## lvgl.style_create() +## lvgl.demo_keypad_encoder() -Create a style and initialize +lvgl keypad_encoder demo **Parameters** @@ -862,22 +828,23 @@ None |return value type | explanation| |-|-| -|userdata|style Pointer| +|nil|No return value| **Examples** ```lua -local style = lvgl.style_create() +lvgl.init() +lvgl.demo_keypad_encoder() ``` --- -## lvgl.style_list_create() +## lvgl.demo_music() -Create a style_list +lvgl music demo **Parameters** @@ -887,22 +854,23 @@ None |return value type | explanation| |-|-| -|userdata|style Pointer| +|nil|No return value| **Examples** ```lua -local style_list = lvgl.style_list_create() +lvgl.init() +lvgl.demo_music() ``` --- -## lvgl.style_list_t() +## lvgl.demo_printer() -Create a style_list +lvgl printer demo **Parameters** @@ -912,109 +880,140 @@ None |return value type | explanation| |-|-| -|userdata|style Pointer| +|nil|No return value| **Examples** ```lua -local style = lvgl.style_list_t() +lvgl.init() +lvgl.demo_printer() ``` --- -## lvgl.style_delete(style) +## lvgl.demo_stress() -Delete style, use caution, usually do not perform delete operation +lvgl stress demo **Parameters** -|Incoming Value Type | Explanation| -|-|-| -|userdata|style Pointer| +None **Return Value** -None +|return value type | explanation| +|-|-| +|nil|No return value| **Examples** ```lua -local style = lvgl.style_create() --- ... --- ... --- lvgl.style_delete(style) +lvgl.init() +lvgl.demo_stress() ``` --- -## lvgl.style_list_delete(style) +## lvgl.demo_widgets() -Delete style_list, use caution, usually do not perform delete operation +lvgl widgets demo **Parameters** -|Incoming Value Type | Explanation| -|-|-| -|userdata|style Pointer| +None **Return Value** -None +|return value type | explanation| +|-|-| +|nil|No return value| **Examples** ```lua -local style_list = lvgl.style_list_create() --- ... --- ... --- lvgl.style_list_delete(style_list) +lvgl.init() +lvgl.demo_widgets() ``` --- -## lvgl.demo_benchmark() +## lvgl.qrcode_create(parent, size, dark_color, light_color) -lvgl benchmark demo +Create the qrcode component **Parameters** -None +|Incoming Value Type | Explanation| +|-|-| +|userdata|Parent Component| +|int|length, because qrcode is square| +|int|Color of data points in QR code, RGB color, default 0x3333ff| +|int|The color of the back scenic spot in the two-dimensional code, RGB color, default 0xeeeeff| **Return Value** |return value type | explanation| |-|-| -|nil|No return value| +|userdata|qrcode Components| **Examples** ```lua -lvgl.init() -lvgl.demo_benchmark() +-- Create and display qrcode +local qrcode = lvgl.qrcode_create(scr, 100) +lvgl.qrcode_update(qrcode, "https://luatos.com") +lvgl.obj_align(qrcode, lvgl.scr_act(), lvgl.ALIGN_CENTER, -100, -100) ``` --- -## lvgl.demo_keypad_encoder() +## lvgl.qrcode_update(qrcode, cnt) -lvgl keypad_encoder demo +set the qrcode component's qr code content and use it with the qrcode_create **Parameters** +|Incoming Value Type | Explanation| +|-|-| +|userdata|qrcode components, created by qrcode_create| +|string|Content data of two-dimensional code| + +**Return Value** + +|return value type | explanation| +|-|-| +|bool|If the update is successful, it returns true, otherwise it returns false. It is usually returned only if the data is too long to accommodate.false| + +**Examples** + None +--- + +## lvgl.qrcode_delete(qrcode) + + + +Remove qrcode component + +**Parameters** + +|Incoming Value Type | Explanation| +|-|-| +|userdata|qrcode components, created by qrcode_create| + **Return Value** |return value type | explanation| @@ -1023,49 +1022,53 @@ None **Examples** -```lua -lvgl.init() -lvgl.demo_keypad_encoder() - -``` +None --- -## lvgl.demo_music() +## lvgl.gif_create(parent, path) -lvgl music demo +create gif component **Parameters** -None +|Incoming Value Type | Explanation| +|-|-| +|userdata|The parent component, which can be nil, but typically will not be nil| +|string|File Path| **Return Value** |return value type | explanation| |-|-| -|nil|No return value| +|userdata|The component pointer. If it fails, nil is returned. We recommend that you check| **Examples** ```lua -lvgl.init() -lvgl.demo_music() +local gif = lvgl.gif_create(scr, "S/emtry.gif") +if gif then + log.info("gif", "create ok") +end + ``` --- -## lvgl.demo_printer() +## lvgl.gif_restart(gif) -lvgl printer demo +Replay the gif component **Parameters** -None +|Incoming Value Type | Explanation| +|-|-| +|userdata|gif Component support, returned by the gif_create method| **Return Value** @@ -1076,18 +1079,21 @@ None **Examples** ```lua -lvgl.init() -lvgl.demo_printer() +local gif = lvgl.gif_create(scr, "S/emtry.gif") +if gif then + log.info("gif", "create ok") +end + ``` --- -## lvgl.demo_stress() +## lvgl.scr_act() -lvgl stress demo +Get the currently active screen object **Parameters** @@ -1097,23 +1103,23 @@ None |return value type | explanation| |-|-| -|nil|No return value| +|pointer | screen pointer| **Examples** ```lua -lvgl.init() -lvgl.demo_stress() +local scr = lvgl.scr_act() + ``` --- -## lvgl.demo_widgets() +## lvgl.layer_top() -lvgl widgets demo +Get layer_top **Parameters** @@ -1123,162 +1129,156 @@ None |return value type | explanation| |-|-| -|nil|No return value| +|pointer | layer pointer| **Examples** -```lua -lvgl.init() -lvgl.demo_widgets() - -``` +None --- -## lvgl.indev_drv_register(tp, dtp) +## lvgl.layer_sys() -Register Input Device Driver +Get layer_sys **Parameters** -|Incoming Value Type | Explanation| -|-|-| -|string|Device type, currently supports "pointer", pointer class/touch class, "keyboard", keyboard type| -|string|Device model, currently supports "emulator", emulator type| +None **Return Value** |return value type | explanation| |-|-| -|bool|Returns true on success, otherwise false| +|pointer | layer pointer| **Examples** -```lua -lvgl.indev_drv_register("pointer", "emulator") - -``` +None --- -## lvgl.indev_point_emulator_update(x, y, state) +## lvgl.scr_load(scr) -Update coordinate data for analog input devices +Load the specified screen **Parameters** |Incoming Value Type | Explanation| |-|-| -|int|x Coordinates, with the upper left corner as 0 and the lower right corner as the maximum value| -|int|y Coordinates, with the upper left corner as 0 and the lower right corner as the maximum value| -|int|State, 0 is released, 1 is pressed| +|userdata|screen Pointer| **Return Value** -|return value type | explanation| -|-|-| -|nil|No return value| +None **Examples** ```lua --- Simulate clicks on the screen, simulate long and short presses through the timeout -sys.taskInit(function(x, y, timeout) - lvgl.indev_point_emulator_update(x, y, 1) - sys.wait(timeout) - lvgl.indev_point_emulator_update(x, y, 0) -end, 240, 120, 50) + local scr = lvgl.obj_create(nil, nil) + local btn = lvgl.btn_create(scr) + lvgl.obj_align(btn, lvgl.scr_act(), lvgl.ALIGN_CENTER, 0, 0) + local label = lvgl.label_create(btn) + lvgl.label_set_text(label, "LuatOS!") + lvgl.scr_load(scr) ``` --- -## lvgl.indev_kb_update(key) +## lvgl.scr_load_anim(scr) -Update key values for keyboard input devices +Load the specified screen and use the specified transition animation **Parameters** |Incoming Value Type | Explanation| |-|-| -|int|Key value, default 0, key up| +|userdata|screen Pointer| **Return Value** -|return value type | explanation| -|-|-| -|nil|No return value| +None **Examples** -None +```lua + local scr = lvgl.obj_create(nil, nil) + local btn = lvgl.btn_create(scr) + lvgl.obj_align(btn, lvgl.scr_act(), lvgl.ALIGN_CENTER, 0, 0) + local label = lvgl.label_create(btn) + lvgl.label_set_text(label, "LuatOS!") + + local scr2 = lvgl.obj_create(nil,nil) + local btn2 = lvgl.btn_create(scr2) + lvgl.obj_align(btn, scr2, lvgl.ALIGN_CENTER, 0, 20) + local label2 = lvgl.label_create(btn2) + lvgl.label_set_text(label2, "Btn2") + lvgl.scr_load(scr) + --sys.wait(1000); + lvgl.scr_load_anim(scr2,lvgl.SCR_LOAD_ANIM_OVER_LEFT,100,100,false) +primitive function:lv_scr_load_anim(lv_obj_t * new_scr, lv_scr_load_anim_t anim_type, uint32_t time, uint32_t delay, bool auto_del) + +``` --- -## lvgl.gif_create(parent, path) +## lvgl.theme_set_act(name) -create gif component +Set Theme **Parameters** |Incoming Value Type | Explanation| |-|-| -|userdata|The parent component, which can be nil, but typically will not be nil| -|string|File Path| +|string|Subject name, optional values are default/mono/empty/material_light/material_dark/material_no_transition/material_no_focus| **Return Value** |return value type | explanation| |-|-| -|userdata|The component pointer. If it fails, nil is returned. We recommend that you check| +|bool|Returns true on success, otherwise nil| **Examples** ```lua -local gif = lvgl.gif_create(scr, "S/emtry.gif") -if gif then - log.info("gif", "create ok") -end - +-- Black and White Theme +lvgl.theme_set_act("mono") +-- Blank Theme +lvgl.theme_set_act("empty") ``` --- -## lvgl.gif_restart(gif) +## lvgl.sleep(enable) -Replay the gif component +LVGL Sleep control, pause/resume refresh timer, currently only 105 and EC618 can be used **Parameters** |Incoming Value Type | Explanation| |-|-| -|userdata|gif Component support, returned by the gif_create method| +|boolean|true Pause False Resume| **Return Value** -|return value type | explanation| -|-|-| -|nil|No return value| +None **Examples** ```lua -local gif = lvgl.gif_create(scr, "S/emtry.gif") -if gif then - log.info("gif", "create ok") -end - +lvgl.sleep(true) --Pause refresh, system can sleep +lvgl.sleep(false) --Resume refresh, system does not sleep ``` diff --git a/translated-docs/api/supported.md b/translated-docs/api/supported.md index bc88bb68a..ae5b7ef8e 100644 --- a/translated-docs/api/supported.md +++ b/translated-docs/api/supported.md @@ -30,7 +30,7 @@ |[httpsrv](httpsrv.md)|`http Server`|Y|Y|X|Y|Y|Y| |[i2c](i2c.md)|`I2C Operation`|Y|Y|Y|Y|Y|Y| |[i2s](i2s.md)|`Digital Audio`|Y|Y|X|X|X|Y| -|[iconv](iconv.md)|`iconv Operation`|Y|Y|Y|Y|Y|Y| +|[iconv](iconv.md)|`Character encoding conversion`|Y|Y|Y|Y|Y|Y| |[io](io.md)|`io action (extended)`|Y|Y|Y|Y|Y|Y| |[ioqueue](ioqueue.md)|`io Sequence operation`|X|X|Y|X|X|X| |[iotauth](iotauth.md)|`IoT Authentication library, used to generate parameters for various cloud platforms`|Y|Y|Y|Y|Y|Y| diff --git a/translated-docs/api/sys_pub.md b/translated-docs/api/sys_pub.md index e17d7fdbf..11ffc9213 100644 --- a/translated-docs/api/sys_pub.md +++ b/translated-docs/api/sys_pub.md @@ -98,48 +98,71 @@ for system messaging inside luatos --- -## w5500 +## sms -[w5500 Interface Documentation Page](https://wiki.luatos.org/api/w5500.html) +[sms Interface Documentation Page](https://wiki.luatos.org/api/sms.html) -### IP_READY +### SMS_INC -Networked +SMS received **Additional return parameters** -None +|return parameter type | explanation| +|-|-| +|string|Mobile phone number| +|string|SMS content, UTF8 encoding| **Examples** ```lua --- This message will be sent once after networking. -sys.subscribe("IP_READY", function(ip, adapter) - log.info("w5500", "IP_READY", ip, (adapter or -1) == socket.LWIP_GP) +--The example of use can be multi-line +-- Receive SMS, support a variety of ways, just choose one +-- 1. Set callback function +--sms.setNewSmsCb( function(phone,sms) + log.info("sms",phone,sms) +end) +-- 2. Subscribe to system messages +--sys.subscribe("SMS_INC", function(phone,sms) + log.info("sms",phone,sms) end) ``` --- -### IP_LOSE +## softkeyboard -The network has been broken + + +[softkeyboard Interface Documentation Page](https://wiki.luatos.org/api/softkeyboard.html) + + + +### SOFT_KB_INC + +Software Keyboard Matrix Messages **Additional return parameters** -None +|return parameter type | explanation| +|-|-| +|number|port, keyboard id Currently fixed to 0, can be ignored| +|number|data, keyboard Keys need to be parsed in conjunction with init's map.| +|number|state, Key state 1 is pressed, 0 is released| **Examples** ```lua --- This message will be sent once after the network is cut off. -sys.subscribe("IP_LOSE", function(adapter) - log.info("w5500", "IP_LOSE", (adapter or -1) == socket.ETH0) +sys.subscribe("SOFT_KB_INC", function(port, data, state) + -- port Currently fixed to 0, can be ignored + -- data, Need to cooperate with init map for parsing + -- state, 1 is pressed, 0 is released + log.info("keyboard", port, data, state) end) ``` @@ -177,6 +200,111 @@ end) --- +## lora + + + +[lora Interface Documentation Page](https://wiki.luatos.org/api/lora.html) + + + +### LORA_TX_DONE + +LORA Send Complete + +**Additional return parameters** + +None + +**Examples** + +```lua +sys.subscribe("LORA_TX_DONE", function() + lora.recive(1000) +end) + +``` + +--- + +### LORA_RX_DONE + +LORA Receive Completed + +**Additional return parameters** + +None + +**Examples** + +```lua +sys.subscribe("LORA_RX_DONE", function(data, size, rssi, snr) + -- rssi and snr were added on September 06, 2023 + log.info("LORA_RX_DONE: ", data, size, rssi, snr) + lora.send("PING") +end) + +``` + +--- + +### LORA_TX_TIMEOUT + +LORA Send Timeout + +**Additional return parameters** + +None + +**Examples** + +```lua +sys.subscribe("LORA_TX_TIMEOUT", function() + lora.recive(1000) +end) + +``` + +--- + +### LORA_RX_TIMEOUT + +LORA Receive Timeout + +**Additional return parameters** + +None + +**Examples** + +```lua +sys.subscribe("LORA_RX_TIMEOUT", function() + lora.recive(1000) +end) + +``` + +--- + +### LORA_RX_ERROR + +LORA Receive Error + +**Additional return parameters** + +None + +**Examples** + +```lua +sys.subscribe("LORA_RX_ERROR", function() + lora.recive(1000) +end) + +``` + +--- + ## mobile @@ -290,51 +418,17 @@ end) --- -## softkeyboard - - - -[softkeyboard Interface Documentation Page](https://wiki.luatos.org/api/softkeyboard.html) - - - -### SOFT_KB_INC - -Software Keyboard Matrix Messages - -**Additional return parameters** - -|return parameter type | explanation| -|-|-| -|number|port, keyboard id Currently fixed to 0, can be ignored| -|number|data, keyboard Keys need to be parsed in conjunction with init's map.| -|number|state, Key state 1 is pressed, 0 is released| - -**Examples** - -```lua -sys.subscribe("SOFT_KB_INC", function(port, data, state) - -- port Currently fixed to 0, can be ignored - -- data, Need to cooperate with init map for parsing - -- state, 1 is pressed, 0 is released - log.info("keyboard", port, data, state) -end) - -``` - ---- - -## socket +## w5500 -[socket Interface Documentation Page](https://wiki.luatos.org/api/socket.html) +[w5500 Interface Documentation Page](https://wiki.luatos.org/api/w5500.html) -### NTP_UPDATE +### IP_READY -Time has been synchronized +Networked **Additional return parameters** @@ -343,17 +437,18 @@ None **Examples** ```lua -sys.subscribe("NTP_UPDATE", function() - log.info("socket", "sntp", os.date()) +-- This message will be sent once after networking. +sys.subscribe("IP_READY", function(ip, adapter) + log.info("w5500", "IP_READY", ip, (adapter or -1) == socket.LWIP_GP) end) ``` --- -### NTP_ERROR +### IP_LOSE -Time synchronization failed +The network has been broken **Additional return parameters** @@ -362,8 +457,9 @@ None **Examples** ```lua -sys.subscribe("NTP_ERROR", function() - log.info("socket", "sntp error") +-- This message will be sent once after the network is cut off. +sys.subscribe("IP_LOSE", function(adapter) + log.info("w5500", "IP_LOSE", (adapter or -1) == socket.ETH0) end) ``` @@ -537,76 +633,17 @@ end) --- -## lora - - - -[lora Interface Documentation Page](https://wiki.luatos.org/api/lora.html) - - - -### LORA_TX_DONE - -LORA Send Complete - -**Additional return parameters** - -None - -**Examples** - -```lua -sys.subscribe("LORA_TX_DONE", function() - lora.recive(1000) -end) - -``` - ---- - -### LORA_RX_DONE - -LORA Receive Completed - -**Additional return parameters** - -None - -**Examples** - -```lua -sys.subscribe("LORA_RX_DONE", function(data, size, rssi, snr) - -- rssi and snr were added on September 06, 2023 - log.info("LORA_RX_DONE: ", data, size, rssi, snr) - lora.send("PING") -end) - -``` - ---- - -### LORA_TX_TIMEOUT - -LORA Send Timeout +## socket -**Additional return parameters** -None -**Examples** - -```lua -sys.subscribe("LORA_TX_TIMEOUT", function() - lora.recive(1000) -end) +[socket Interface Documentation Page](https://wiki.luatos.org/api/socket.html) -``` ---- -### LORA_RX_TIMEOUT +### NTP_UPDATE -LORA Receive Timeout +Time has been synchronized **Additional return parameters** @@ -615,17 +652,17 @@ None **Examples** ```lua -sys.subscribe("LORA_RX_TIMEOUT", function() - lora.recive(1000) +sys.subscribe("NTP_UPDATE", function() + log.info("socket", "sntp", os.date()) end) ``` --- -### LORA_RX_ERROR +### NTP_ERROR -LORA Receive Error +Time synchronization failed **Additional return parameters** @@ -634,45 +671,8 @@ None **Examples** ```lua -sys.subscribe("LORA_RX_ERROR", function() - lora.recive(1000) -end) - -``` - ---- - -## sms - - - -[sms Interface Documentation Page](https://wiki.luatos.org/api/sms.html) - - - -### SMS_INC - -SMS received - -**Additional return parameters** - -|return parameter type | explanation| -|-|-| -|string|Mobile phone number| -|string|SMS content, UTF8 encoding| - -**Examples** - -```lua ---The example of use can be multi-line --- Receive SMS, support a variety of ways, just choose one --- 1. Set callback function ---sms.setNewSmsCb( function(phone,sms) - log.info("sms",phone,sms) -end) --- 2. Subscribe to system messages ---sys.subscribe("SMS_INC", function(phone,sms) - log.info("sms",phone,sms) +sys.subscribe("NTP_ERROR", function() + log.info("socket", "sntp error") end) ``` diff --git a/translation-data/api/supported.txt b/translation-data/api/supported.txt index 9aad03885..9579a8fd5 100644 --- a/translation-data/api/supported.txt +++ b/translation-data/api/supported.txt @@ -36,6 +36,8 @@ Multimedia-Audio Font Library 字符串操作函数 String Manipulation Functions +字符编码转换 +Character encoding conversion 实时时钟 Real Time Clock 客户端