Changes for page 01 Lua Functions
Last modified by Theodore Xu on 2023/10/26 10:51
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -627,13 +627,11 @@ 627 627 1. When the data bit is 8, the maximum value of data transmission is 255 (0xFF), which supports the transmission of any character. 628 628 629 629 ((( 630 -== ** 3.1serial.open(table setup)** ==630 +== **serial.open(table setup)** == 631 631 ))) 632 632 633 -**Function:** 633 +**Function:** Enable one serial port 634 634 635 -Enable one serial port 636 - 637 637 **Parameters:** 638 638 639 639 //Setup// is a Lua table; it needs to contain the following fields ... ... @@ -667,17 +667,13 @@ 667 667 Failed: multi 668 668 669 669 ((( 670 -== ** 3.2serial.close(serial obj)** ==668 +== **serial.close(serial obj)** == 671 671 ))) 672 672 673 -**Function:** 671 +**Function:** Disable the serial port 674 674 675 - Disable the serialport673 +**Parameters: **//Obj //is the object returned by serial.open 676 676 677 -**Parameters:** 678 - 679 -//Obj //is the object returned by serial.open 680 - 681 681 **Return:** 682 682 683 683 Succeed: true ... ... @@ -685,13 +685,11 @@ 685 685 Failed: multi 686 686 687 687 ((( 688 -== ** 3.3serial:read(number bytes[, number timeout])** ==682 +== **serial:read(number bytes[, number timeout])** == 689 689 ))) 690 690 691 -**Function:** 685 +**Function:** Read the specified byte length serial port data 692 692 693 -Read the specified byte length serial port data 694 - 695 695 **Parameters:** 696 696 697 697 //bytes//: number of bytes ... ... @@ -705,15 +705,13 @@ 705 705 Failed: multi 706 706 707 707 ((( 708 -== ** 3.4serial:write(string data)** ==700 +== **serial:write(string data)** == 709 709 ))) 710 710 711 -**Function:** 703 +**Function:** Write the specified byte length to serial port data 712 712 713 - Writehepecifiedbyte length to serial port data705 +**Parameters: ** 714 714 715 -**Parameters:** 716 - 717 717 //data//: serial port data 718 718 719 719 **Return:** ... ... @@ -723,13 +723,11 @@ 723 723 Failed: multi 724 724 725 725 ((( 726 -== ** 3.5serial:flush([number flag])** ==716 +== **serial:flush([number flag])** == 727 727 ))) 728 728 729 -**Function:** 719 +**Function:** Clear the serial port buffer 730 730 731 -Clear the serial port buffer 732 - 733 733 **Parameters:** 734 734 735 735 //[flag=2]// clear option: 0: read, 1: write, 2: read-write ... ... @@ -741,17 +741,13 @@ 741 741 Failed: multi 742 742 743 743 ((( 744 -== ** 3.6serial:close()** ==732 +== **serial:close()** == 745 745 ))) 746 746 747 -**Function:** 735 +**Function:** Close the serial port object 748 748 749 - Closeheserial port object737 +**Parameters:** None 750 750 751 -**Parameters:** 752 - 753 -None 754 - 755 755 **Return:** 756 756 757 757 Succeed: true ... ... @@ -768,12 +768,10 @@ 768 768 769 769 **QoS value:** 770 770 771 -0: Only push messages once, messages may be lost or duplicated. It can be used for environmental sensor data, it doesn't matter if lose a record, because there will be a second push message soon. This method is mainly used for normal APP push, but if the user smart device is not connected when the message is pushed, the message will be discarded, and the smart device will not be received when it is networked again. 755 +* 0: Only push messages once, messages may be lost or duplicated. It can be used for environmental sensor data, it doesn't matter if lose a record, because there will be a second push message soon. This method is mainly used for normal APP push, but if the user smart device is not connected when the message is pushed, the message will be discarded, and the smart device will not be received when it is networked again. 756 +* 1: The message is delivered at least once, but the message may be delivered repeatedly. 757 +* 2: The message was delivered exactly once. This level can be used in a billing system. In a billing system, repeated or missing messages can lead to incorrect results. This highest quality message push service can also be used for instant messaging APP pushes, ensuring that users only receive messages once. 772 772 773 -1: The message is delivered at least once, but the message may be delivered repeatedly. 774 - 775 -2: The message was delivered exactly once. This level can be used in a billing system. In a billing system, repeated or missing messages can lead to incorrect results. This highest quality message push service can also be used for instant messaging APP pushes, ensuring that users only receive messages once. 776 - 777 777 **Retain flag:** 778 778 779 779 0: not reserved; ... ... @@ -781,13 +781,11 @@ 781 781 1: reserved 782 782 783 783 ((( 784 -== ** 4.1mqtt.create(string serverurl, string clientid)** ==766 +== **mqtt.create(string serverurl, string clientid)** == 785 785 ))) 786 786 787 -**Function:** 769 +**Function:** Create an MQTT object 788 788 789 -Create an MQTT object 790 - 791 791 **Parameters:** 792 792 793 793 //serverurl //Server url ... ... @@ -809,17 +809,13 @@ 809 809 Failed: multi 810 810 811 811 ((( 812 -== ** 4.2mqtt.close(mqtt obj)** ==792 +== **mqtt.close(mqtt obj)** == 813 813 ))) 814 814 815 -**Function:** 795 +**Function:** Close the specified MQTT object (if the connected server will be disconnected automatically) 816 816 817 - ClosehepecifiedMQTT object(iftheconnectedserverwill be disconnectedautomatically)797 +**Parameters: **//Obj //is the objeced returned by mqtt.create 818 818 819 -**Parameters:** 820 - 821 -//Obj //is the objeced returned by mqtt.create 822 - 823 823 **Return:** 824 824 825 825 Succeed: true ... ... @@ -827,32 +827,25 @@ 827 827 Failed: multi 828 828 829 829 ((( 830 -== ** 4.3mqtt:connect(table conn[, table lwt, table cart])** ==806 +== **mqtt:connect(table conn[, table lwt, table cart])** == 831 831 ))) 832 832 833 -**Function:** 809 +**Function:**Establish a connection to the server 834 834 835 -Establish a connection to the server 836 - 837 837 **Parameters:** 838 838 839 839 //conn //is a Lua table and needs to contain the following fields 840 840 841 -//string conn.username//, user name 815 +* //string conn.username//, user name 816 +* //string conn.password//, password 817 +* //number [conn.netway=0]//, networking method, if set error number will use Ethernet method 818 +** 0: Ethernet 819 +** 1: WIFI 820 +** 2: 4G 821 +** 3: 2G 822 +* //number [conn.keepalive=60]//, keep connected heartbeat interval, in seconds 823 +* //number [conn.cleansession=1]//, empty the session as described below: 842 842 843 -//string conn.password//, password 844 - 845 -//number [conn.netway=0]//, networking method, if set error number will use Ethernet method 846 - 847 -* 0: Ethernet 848 -* 1: WIFI 849 -* 2: 4G 850 -* 3: 2G 851 - 852 -//number [conn.keepalive=60]//, keep connected heartbeat interval, in seconds 853 - 854 -//number [conn.cleansession=1]//, empty the session as described below: 855 - 856 856 This function is used to control the behavior when connecting and disconnecting, and the client and server will retain the session information. This information is used to guarantee "at least once" and "accurately once" delivery, as well as the subject of the client subscription, the user can choose to keep or ignore the session message, set as follows: 857 857 858 858 * 1 (Empty): If a session exists and is 1, the previous session messages on the client and server are emptied. ... ... @@ -860,14 +860,11 @@ 860 860 861 861 //lwt// (Last Will and Testament) is a Lua table and needs to contain the following fields 862 862 863 -//string lwt.topic//, topic 832 +* //string lwt.topic//, topic 833 +* //string lwt.message//, message 834 +* //number [lwt.qos=0]//, qos value 835 +* //number [lwt.retain=0]//, retain flag 864 864 865 -//string lwt.message//, message 866 - 867 -//number [lwt.qos=0]//, qos value 868 - 869 -//number [lwt.retain=0]//, retain flag 870 - 871 871 **Return:** 872 872 873 873 Succeed: true ... ... @@ -875,17 +875,13 @@ 875 875 Failed: multi 876 876 877 877 ((( 878 -== ** 4.4mqtt:disconnect([number timeout])** ==844 +== **mqtt:disconnect([number timeout])** == 879 879 ))) 880 880 881 -**Function:** 847 +**Function:** Disconnect from the MQTT server 882 882 883 -Disconnect fromtheMQTTserver849 +**Parameters: **//[timeout=10000] //Disconnect waiting timeout, in milliseconds 884 884 885 -**Parameters:** 886 - 887 -//[timeout=10000] //Disconnect waiting timeout, in milliseconds 888 - 889 889 **Return:** 890 890 891 891 Succeed: true ... ... @@ -893,17 +893,13 @@ 893 893 Failed: multi 894 894 895 895 ((( 896 -== ** 4.5mqtt:isconnected()** ==858 +== **mqtt:isconnected()** == 897 897 ))) 898 898 899 -**Function:** 861 +**Function:** Test whether or not a client is currently connected to the MQTT server 900 900 901 - Test whetheror notaclientis currently connectedto the MQTT server863 +**Parameters:** None 902 902 903 -**Parameters:** 904 - 905 -None 906 - 907 907 **Return:** 908 908 909 909 Succeed: true ~-~-Connected ... ... @@ -911,13 +911,11 @@ 911 911 Failed: false ~-~- Unconnected and other unknowns 912 912 913 913 ((( 914 -== ** 4.6mqtt:subscribe(string topic, number qos)** ==872 +== **mqtt:subscribe(string topic, number qos)** == 915 915 ))) 916 916 917 -**Function:** 875 +**Function: **Subscribe to the topic (before the subscription, the user must first call the connect method to connect to the server) 918 918 919 -Subscribe to the topic (before the subscription, the user must first call the connect method to connect to the server) 920 - 921 921 **Parameters:** 922 922 923 923 //topic//, topic name ... ... @@ -931,13 +931,11 @@ 931 931 Failed: multi 932 932 933 933 ((( 934 -== ** 4.7mqtt:unsubscribe(string topic)** ==890 +== **mqtt:unsubscribe(string topic)** == 935 935 ))) 936 936 937 -**Function:** 893 +**Function:** Unsubscribe topic 938 938 939 -Unsubscribe topic 940 - 941 941 **Parameters:** 942 942 943 943 //topic//, topic name ... ... @@ -949,13 +949,11 @@ 949 949 Failed: multi 950 950 951 951 ((( 952 -== ** 4.8mqtt:publish(string topic, string message, number qos, number retain[, number timeout])** ==906 +== **mqtt:publish(string topic, string message, number qos, number retain[, number timeout])** == 953 953 ))) 954 954 955 -**Function:** 909 +**Function:** Publish message 956 956 957 -Publish message 958 - 959 959 **Parameters:** 960 960 961 961 //topic//, topic name ... ... @@ -975,17 +975,13 @@ 975 975 Failed: multi 976 976 977 977 ((( 978 -== ** 4.9mqtt:close()** ==930 +== **mqtt:close()** == 979 979 ))) 980 980 981 -**Function:** 933 +**Function:** Close the mqtt object (the connection to the server will be automatically disconnected) 982 982 983 - Close themqtt object(theconnection to the server will be automatically disconnected)935 +**Parameters:** None 984 984 985 -**Parameters:** 986 - 987 -None 988 - 989 989 **Return:** 990 990 991 991 Succeed: true ... ... @@ -993,13 +993,11 @@ 993 993 Failed: multi 994 994 995 995 ((( 996 -== ** 4.10mqtt:on(string method, function callback)** ==944 +== **mqtt:on(string method, function callback)** == 997 997 ))) 998 998 999 -**Function:** 947 +**Function:** Register event callback function 1000 1000 1001 -Register event callback function 1002 - 1003 1003 **Parameters:** 1004 1004 1005 1005 //method//, It can be message/arrived/offline, these 3 types of events ... ... @@ -1012,20 +1012,17 @@ 1012 1012 1013 1013 Parameter: 1014 1014 1015 -//Topic//, topic name 961 +* //Topic//, topic name 962 +* //Message//, content 1016 1016 1017 - //Message//, content964 +**2."arrived" is published by publish, this function will be called after the publication arrives** 1018 1018 1019 -**2.**"arrived" is published by publish, this function will be called after the publication arrives 1020 - 1021 1021 //Callback// prototype~:// function ()// 1022 1022 1023 -Parameter: 968 +Parameter: None 1024 1024 1025 - None970 +**3.This function will be called after the "offline" connection is lost** 1026 1026 1027 -**3.**This function will be called after the "offline" connection is lost 1028 - 1029 1029 //Callback// prototype~:// function (string cause)// 1030 1030 1031 1031 Parameter: ... ... @@ -1039,17 +1039,13 @@ 1039 1039 Failed: multi 1040 1040 1041 1041 ((( 1042 -== ** 4.11mqtt:setup_cfg()** ==985 +== **mqtt:setup_cfg()** == 1043 1043 ))) 1044 1044 1045 -**Function:** 988 +**Function:** Cloud mode interface, to obtain MQTT information configured by the cloud platform 1046 1046 1047 - Cloudmodeinterface, toobtainMQTT information configured by the cloud platform990 +**Parameters:** None 1048 1048 1049 -**Parameters:** 1050 - 1051 -None 1052 - 1053 1053 **Return:** 1054 1054 1055 1055 //serverurl, clientid, conn, lwt, cart //(5 returns, respectively, server address, client ID, connection table, last word table, certificate table) ... ... @@ -1067,39 +1067,27 @@ 1067 1067 Lua only has a table data structure, so all arrays and key-value objects of json will be returned as a table. 1068 1068 1069 1069 ((( 1070 -== ** 5.1json.encode( lua_object )** ==1009 +== **json.encode( lua_object )** == 1071 1071 ))) 1072 1072 1073 -**Function:** 1012 +**Function: **Convert lua data type to json string 1074 1074 1075 - Convertlua data typetojson string1014 +**Parameters: **Lua data type (including boolean, number, string, table) 1076 1076 1077 -** Parameters:**1016 +**Return:** Json format string 1078 1078 1079 -Lua data type (including boolean, number, string, table) 1080 - 1081 -**Return:** 1082 - 1083 -Json format string 1084 - 1085 1085 ((( 1086 -== ** 5.2json.decode(string json_string)** ==1019 +== **json.decode(string json_string)** == 1087 1087 ))) 1088 1088 1089 -**Function:** 1022 +**Function:** Convert json string to lua data type 1090 1090 1091 - Convert jsonluadata type1024 +**Parameters: **//json_string//, string of json data structure 1092 1092 1093 -** Parameters:**1026 +**Return: **Lua data type 1094 1094 1095 -//json_string//, string of json data structure 1096 - 1097 -**Return:** 1098 - 1099 -Lua data type 1100 - 1101 1101 ((( 1102 -== ** 5.3json.null** ==1029 +== **json.null** == 1103 1103 ))) 1104 1104 1105 1105 **Function:** ... ... @@ -1106,32 +1106,24 @@ 1106 1106 1107 1107 This method is used when assembling json data, which is equivalent to null in json. If the user directly uses json.null() to return the address of the function, it must be valid with the use of encode. 1108 1108 1109 -**Parameters:** 1036 +**Parameters:** None 1110 1110 1111 -None 1038 +**Return: **None 1112 1112 1113 -**Return:** 1114 - 1115 -None 1116 - 1117 1117 = **6 Cloud mode** = 1118 1118 1119 1119 The cloud interface is only used in cloud mode, and V-NET mode is not available. 1120 1120 1121 1121 ((( 1122 -== ** 6.1bns_get_alldata()** ==1045 +== **bns_get_alldata()** == 1123 1123 ))) 1124 1124 1125 -**Function:** 1048 +**Function:** Obtain all monitoring points (point table) data configured by the end user 1126 1126 1127 - Obtain allmonitoringpoints(point table)dataconfiguredbythe enduser1050 +**✎Note: **Assuming there are timing scripts A and B with a period of 1 second, if this function is called in script A, the data will not be obtained if called in script B 1128 1128 1129 - Note: Assuming thereareiming scripts A and B with a period of 1second, if this function is called in script A, the data will not be obtained if called in script B1052 +**Parameters:** None 1130 1130 1131 -**Parameters:** 1132 - 1133 -None 1134 - 1135 1135 **Return:** 1136 1136 1137 1137 Succeed: table two-dimensional array, the structure is as follows ... ... @@ -1161,13 +1161,11 @@ 1161 1161 Failed: //table// empty table 1162 1162 1163 1163 ((( 1164 -== ** 6.2bns_get_config(string from)** ==1083 +== **bns_get_config(string from)** == 1165 1165 ))) 1166 1166 1167 -**Function:** 1086 +**Function:** Obtain custom configuration parameters with the specified from type 1168 1168 1169 -Obtain custom configuration parameters with the specified from type 1170 - 1171 1171 **parameter:** 1172 1172 1173 1173 from type, there are the following two categories, the string must be all lowercase ... ... @@ -1185,13 +1185,11 @@ 1185 1185 Failed~:// table// empty table 1186 1186 1187 1187 ((( 1188 -== ** 6.3bns_get_data(string name, string data)** ==1105 +== **bns_get_data(string name, string data)** == 1189 1189 ))) 1190 1190 1191 -**Function:** 1108 +**Function:**write data to the name of the monitoring point 1192 1192 1193 -write data to the name of the monitoring point 1194 - 1195 1195 **parameter:** 1196 1196 1197 1197 //name //The name of the monitoring point ... ... @@ -1205,7 +1205,7 @@ 1205 1205 Failed: nil 1206 1206 1207 1207 ((( 1208 -== ** 6.4bns_get_data(string name)** ==1123 +== **bns_get_data(string name)** == 1209 1209 ))) 1210 1210 1211 1211 **Function:** ... ... @@ -1223,17 +1223,13 @@ 1223 1223 Failed: nil 1224 1224 1225 1225 ((( 1226 -== ** 6.5bns_get_datadesc()** ==1141 +== **bns_get_datadesc()** == 1227 1227 ))) 1228 1228 1229 -**Function:** 1144 +**Function: **Obtain all configured communication ports and monitoring point information 1230 1230 1231 - Obtain all configured communication portsand monitoring point information1146 +**Parameters:** None 1232 1232 1233 -**Parameters:** 1234 - 1235 -None 1236 - 1237 1237 **Return:** 1238 1238 1239 1239 Succeed: table three-dimensional array, the structure is as follows ... ... @@ -1286,17 +1286,13 @@ 1286 1286 Failed~:// table// empty table 1287 1287 1288 1288 ((( 1289 -== ** 6.6bns_get_machineinfo()** ==1200 +== **bns_get_machineinfo()** == 1290 1290 ))) 1291 1291 1292 -**Function:** 1203 +**Function:** get machine information 1293 1293 1294 - get machine information1205 +**Parameters:** None 1295 1295 1296 -**Parameters:** 1297 - 1298 -None 1299 - 1300 1300 **Return:** 1301 1301 1302 1302 Succeed: 3 string type results (model, machine code, software version) ... ... @@ -1304,13 +1304,11 @@ 1304 1304 Failed: nil 1305 1305 1306 1306 ((( 1307 -== ** 6.7bns_get_groupdata(string name)** ==1214 +== **bns_get_groupdata(string name)** == 1308 1308 ))) 1309 1309 1310 -**Function:** 1217 +**Function:** Get all monitoring point data under the specified group name 1311 1311 1312 -Get all monitoring point data under the specified group name 1313 - 1314 1314 **parameter:** 1315 1315 1316 1316 //Name // group name ... ... @@ -1322,17 +1322,13 @@ 1322 1322 Failed: //table// empty table 1323 1323 1324 1324 ((( 1325 -== ** 6.8bns_get_groupdesc()** ==1230 +== **bns_get_groupdesc()** == 1326 1326 ))) 1327 1327 1328 -**Function:** 1233 +**Function:** Get all group information 1329 1329 1330 - Getall group information1235 +**Parameters:** None 1331 1331 1332 -**Parameters:** 1333 - 1334 -None 1335 - 1336 1336 **Return:** 1337 1337 1338 1338 Succeed: //table// two-dimensional array, the structure is as follows ... ... @@ -1346,17 +1346,13 @@ 1346 1346 Failed: //table // empty table 1347 1347 1348 1348 ((( 1349 -== ** 6.9bns_get_onecache(string msg)** ==1250 +== **bns_get_onecache(string msg)** == 1350 1350 ))) 1351 1351 1352 -**Function:** 1253 +**Function:** Save a message to the cache file, which can be stored after power failure. Store up to 2000 items, delete the old and save the new in a rolling manner when it is full. 1353 1353 1354 - Saveassageto thecache file, which can be storedafter power failure. Store up to 2000 items,delete the old and save the new in arollingmanner when it is full.1255 +**Parameters: **//msg// String 1355 1355 1356 -**Parameters:** 1357 - 1358 -//msg// String 1359 - 1360 1360 **Return:** 1361 1361 1362 1362 Succeed: true ... ... @@ -1364,17 +1364,13 @@ 1364 1364 Failed: nil 1365 1365 1366 1366 ((( 1367 -== ** 6.10bns_get_allcache()** ==1264 +== **bns_get_allcache()** == 1368 1368 ))) 1369 1369 1370 -**Function:** 1267 +**Function:** Get all the cached content (once the internal cache file will be emptied) 1371 1371 1372 - Getall the cached content (oncethe internal cache file will be emptied)1269 +**Parameters:** None 1373 1373 1374 -**Parameters:** 1375 - 1376 -None 1377 - 1378 1378 **Return:** 1379 1379 1380 1380 Succeed: //table// one-dimensional array ... ... @@ -1402,194 +1402,232 @@ 1402 1402 Network communication includes Http request interface, this document does not provide interface description, please refer to the online document for how to use it. 1403 1403 1404 1404 ((( 1405 -== ** 7.1http request** ==1298 +== **http request** == 1406 1406 ))) 1407 1407 1408 1408 [[http:~~/~~/w3.impa.br/~~~~diego/software/luasocket/http.html#request>>url:http://w3.impa.br/~~diego/software/luasocket/http.html#request]] 1409 1409 1410 -((( 1411 -= **8 Internal register** = 1412 -))) 1303 +== **https request** == 1413 1413 1414 - The internal registers of the boxre divided into bit addresses and word addresses, which can be accessed in two ways (taking HDW as an example):1305 +Example: 1415 1415 1416 -**~1. **Access by word, prefix @W_HDW, 1307 +{{code language="LUA"}} 1308 +local json = require("json") 1417 1417 1418 - For example:@W_HDW0 represents the firstword ofthesystemdataarea, @W_HDW1represents the second word ofthe system data area.1310 +local https = require("https") 1419 1419 1420 - **2. **Accessinbitmode,theprefix is@B_HDX, thenumber in front of "." indicates the number of the word,and the number behind is the bit number of the word.1312 +functions https_demo.main() 1421 1421 1422 - For example: @B_HDX1020.12, its meaning is toaccess the system dataarea in bit mode, the specificlocationisthe 13th bitof the 1020th word.1314 +local url = "https://XXXXXXXXXXXXXXXXXXXXXXXXXX" 1423 1423 1424 - **✎Note:**1316 +local body = {} 1425 1425 1426 - **~1. **The address in @B_HDX is taken from the wordin @W_HDW, so payspecialattention when using the address.1318 +body["XXXXXX"] = "XXXXX" 1427 1427 1428 - For example, @B_HDX1020.12 is to access the 13thbitof the 1020th word. The value of this bit is the same as the word obtained by@W_HDW001020.The 13th bit of this word is actually the same bit as @B_HDX1020.12.1320 +body["XXXXXXX"] = "XXXXXXXXXXX" 1429 1429 1430 - **2.**Theaddressof thebit address@B_HDXhasa decimal point, whilethe wordaddress is an integer.1322 +local bodyJson = json.encode(body) 1431 1431 1432 -((( 1433 -== **8.1 Data storage area(HDW/HDX)** == 1434 -))) 1324 +local header = {} 1435 1435 1436 - Thesystem storagearea (HDW)oftheV-BOX is usedto storetemporarydata:1326 +header["content-type"] = "application/json" 1437 1437 1438 - ~1. Accessbyword,thenumberrange is:"@W_HDW0"-"@W_HDW299999".1328 +local result_table, code, headers, status = https.request(url, 1439 1439 1440 - 2. Access inbit mode, the number range is: "@B_HDX0.0"-"@B_HDX299999.15".1330 +bodyJson) 1441 1441 1442 -((( 1443 -== **8.2 Special data area (HSW/HSX)** == 1444 -))) 1332 +if code == 200 then 1445 1445 1446 - **✎Note:**1334 +print("https suc") 1447 1447 1448 - //HSW// is a system specialregister, so please refer to the system special register table duringuse. Do notuse addresses that are not mentioned in the table, andusethe addresses stated in the table with caution (example: restart ("@W_HSW0") Writing a value of 1 will cause V-BOX to restart).1336 +return true 1449 1449 1450 - //Without any conditions. Direct use ("@W_HSW0") will causethe V-BOX to restart continuously.// When using ("@W_HSW0") address, please add judgment conditions, such as: connection to MQTT fails, there is no network, the value of a PLC address meets the condition or counts to a certain value.1338 +else 1451 1451 1452 - 1.The system data area (HSW) of the box is used for system specialregisters(system reserved). Use //addr_getword// to obtain the following registerinformation:1340 +print("https fail") 1453 1453 1454 -(% class="table-bordered" %) 1455 -|address|function|Read and write status: read only, write only, read and write 1456 -|@W_HSW0|restart|read and write 1457 -|@W_HSW1|Box time: year|read and write 1458 -|@W_HSW2|Box time: month|read and write 1459 -|@W_HSW3|Box time: day|read and write 1460 -|@W_HSW4|Box time: hour|read and write 1461 -|@W_HSW5|Box time: minute|read and write 1462 -|@W_HSW6|Box time: second|read and write 1463 -|@W_HSW7|Box time: week|read and write 1464 -|@W_HSW8|Ethernet IP1|read only 1465 -|@W_HSW9|Ethernet IP2|read only 1466 -|@W_HSW10|Ethernet IP3|read only 1467 -|@W_HSW11|Ethernet IP4|read only 1468 -|@W_HSW12|Ethernet Mask 1|read only 1469 -|@W_HSW13|Ethernet Mask 2|read only 1470 -|@W_HSW14|Ethernet Mask 3|read only 1471 -|@W_HSW15|Ethernet Mask 4|read only 1472 -|@W_HSW16|Ethernet Gateway 1|read only 1473 -|@W_HSW17|Ethernet Gateway 2|read only 1474 -|@W_HSW18|Ethernet Gateway 3|read only 1475 -|@W_HSW19|Ethernet Gateway 4|read only 1476 -|@W_HSW21|Ethernet MAC1|read only 1477 -|@W_HSW22|Ethernet MAC2|read only 1478 -|@W_HSW23|Ethernet MAC3|read only 1479 -|@W_HSW24|Ethernet MAC4|read only 1480 -|@W_HSW25|Ethernet MAC3|read only 1481 -|@W_HSW26|Ethernet MAC4|read only 1482 -|@W_HSW128|WIFI IP1|read only 1483 -|@W_HSW129|WIFI IP2|read only 1484 -|@W_HSW130|WIFI IP3|read only 1485 -|@W_HSW131|WIFI IP4|read only 1486 -|@W_HSW132|WIFI Mask 1|read only 1487 -|@W_HSW133|WIFI Mask 2|read only 1488 -|@W_HSW134|WIFI Mask 3|read only 1489 -|@W_HSW135|WIFI Mask 4|read only 1490 -|@W_HSW136|WIFI Gateway 1|read only 1491 -|@W_HSW137|WIFI Gateway 2|read only 1492 -|@W_HSW138|WIFI Gateway 3|read only 1493 -|@W_HSW139|WIFI Gateway 4|read only 1494 -|@W_HSW140|WIFI MAC1|read only 1495 -|@W_HSW141|WIFI MAC2|read only 1496 -|@W_HSW142|WIFI MAC3|read only 1497 -|@W_HSW143|WIFI MAC4|read only 1498 -|@W_HSW144|WIFI MAC5|read only 1499 -|@W_HSW145|WIFI MAC6|read only 1500 -|@W_HSW146|WIFI Signal value|read only 1501 -|@W_HSW148|4G IP1|read only 1502 -|@W_HSW149|4G IP2|read only 1503 -|@W_HSW150|4G IP3|read only 1504 -|@W_HSW151|4G IP4|read only 1505 -|@W_HSW152|4G Mask 1|read only 1506 -|@W_HSW153|4G Mask 2|read only 1507 -|@W_HSW154|4G Mask 3|read only 1508 -|@W_HSW155|4G Mask 4|read only 1509 -|@W_HSW156|4G Gateway 1|read only 1510 -|@W_HSW157|4G Gateway 2|read only 1511 -|@W_HSW158|4G Gateway 3|read only 1512 -|@W_HSW159|4G Gateway 4|read only 1513 -|@W_HSW160|4G MAC1|read only 1514 -|@W_HSW161|4G MAC2|read only 1515 -|@W_HSW162|4G MAC3|read only 1516 -|@W_HSW163|4G MAC4|read only 1517 -|@W_HSW164|4G MAC5|read only 1518 -|@W_HSW165|4G MAC6|read only 1519 -|@W_HSW166|4G Signal value|read only 1342 +return nil 1520 1520 1521 - 2. Other1344 +end 1522 1522 1523 -2.1 Access password: addr_getstring("@W_HSW27", 16) 1346 +end 1347 +{{/code}} 1524 1524 1525 -2.2 Machine code: addr_getstring("@W_HSW60", 64) 1349 +((( 1350 += **8 Internal register** = 1351 +))) 1526 1526 1527 - 2.3Positioningmethod (@W_HSW167):(readonly)1353 +The internal registers of the box are divided into bit addresses and word addresses, which can be accessed in two ways (taking HDW as an example): 1528 1528 1529 - ~1. Latitudeandlongitude1355 +**Access by word, prefix @W_HDW.** 1530 1530 1531 - Longitude:addr_getdouble("@W_HSW168")(readonly)1357 +For example: @W_HDW0 represents the first word of the system data area, @W_HDW1 represents the second word of the system data area. 1532 1532 1533 - Latitude:addr_getdouble("@W_HSW172")(readonly)1359 +**Access in bit mode, the prefix is @B_HDX, the number in front of "." indicates the number of the word, and the number behind is the bit number of the word.** 1534 1534 1535 -2. Base stationpositioning1361 +For example: @B_HDX1020.12, its meaning is to access the system data area in bit mode, the specific location is the 13th bit of the 1020th word. 1536 1536 1537 -LAC: addr_getdword("@W_HSW168") (read only) 1363 +(% class="box infomessage" %) 1364 +((( 1365 +**✎Note: ** 1538 1538 1539 -CI: addr_getdword("@W_HSW172") (read only) 1367 +* The address in @B_HDX is taken from the word in @W_HDW, so pay special attention when using the address. 1368 +** For example, @B_HDX1020.12 is to access the 13th bit of the 1020th word. The value of this bit is the same as the word obtained by @W_HDW001020. The 13th bit of this word is actually the same bit as @B_HDX1020.12. 1369 +* The address of the bit address @B_HDX has a decimal point, while the word address is an integer. 1370 +))) 1540 1540 1541 -2.4 Convert base station to latitude and longitude via API 1542 1542 1543 -Longitude: addr_getdouble("@W_HSW187") (read only) 1373 +((( 1374 +== **Data storage area(HDW/HDX)** == 1375 +))) 1544 1544 1545 - Latitude:addr_getdouble("@W_HSW183")(read only)1377 +The system storage area (HDW) of the V-BOX is used to store temporary data: 1546 1546 1547 -2.5 Operator information: addr_getdword("@W_HSW181") (read only) 1379 +1. Access by word, the number range is: "@W_HDW0"-"@W_HDW299999". 1380 +1. Access in bit mode, the number range is: "@B_HDX0.0"-"@B_HDX299999.15". 1548 1548 1549 -2.6 Networking mode: addr_getword("@W_HSW177") (read only) 1382 +((( 1383 +== **8.2 Special data area (HSW/HSX)** == 1550 1550 1551 -0: Ethernet, 1: WIFI, 2: 4G, 3: 2G 1385 +(% class="box infomessage" %) 1386 +((( 1387 +**✎Note: ** 1552 1552 1553 -2.7 Map fence flag: addr_getword("@W_HSW178") (read only) 1389 +* //HSW// is a system special register, so please refer to the system special register table during use. Do not use addresses that are not mentioned in the table, and use the addresses stated in the table with caution (example: restart ("@W_HSW0") Writing a value of 1 will cause V-BOX to restart). 1390 +* //Without any conditions. Direct use ("@W_HSW0") will cause the V-BOX to restart continuously.// When using ("@W_HSW0") address, please add judgment conditions, such as: connection to MQTT fails, there is no network, the value of a PLC address meets the condition or counts to a certain value. 1391 +))) 1392 +))) 1554 1554 1555 - 0:Nomapfence is drawn1394 +The system data area (HSW) of the box is used for system special registers (system reserved). Use //addr_getword// to obtain the following register information: 1556 1556 1557 -1: Draw a map fence and the box is in the fence 1396 +(% class="table-bordered" %) 1397 +|=(% style="width: 151px;" %)address|=(% style="width: 169px;" %)function|=(% style="width: 456px;" %)Read and write status: read only, write only, read and write 1398 +|(% style="width:151px" %)@W_HSW0|(% style="width:169px" %)restart|(% style="width:456px" %)read and write 1399 +|(% style="width:151px" %)@W_HSW1|(% style="width:169px" %)Box time: year|(% style="width:456px" %)read and write 1400 +|(% style="width:151px" %)@W_HSW2|(% style="width:169px" %)Box time: month|(% style="width:456px" %)read and write 1401 +|(% style="width:151px" %)@W_HSW3|(% style="width:169px" %)Box time: day|(% style="width:456px" %)read and write 1402 +|(% style="width:151px" %)@W_HSW4|(% style="width:169px" %)Box time: hour|(% style="width:456px" %)read and write 1403 +|(% style="width:151px" %)@W_HSW5|(% style="width:169px" %)Box time: minute|(% style="width:456px" %)read and write 1404 +|(% style="width:151px" %)@W_HSW6|(% style="width:169px" %)Box time: second|(% style="width:456px" %)read and write 1405 +|(% style="width:151px" %)@W_HSW7|(% style="width:169px" %)Box time: week|(% style="width:456px" %)read and write 1406 +|(% style="width:151px" %)@W_HSW8|(% style="width:169px" %)Ethernet IP1|(% style="width:456px" %)read only 1407 +|(% style="width:151px" %)@W_HSW9|(% style="width:169px" %)Ethernet IP2|(% style="width:456px" %)read only 1408 +|(% style="width:151px" %)@W_HSW10|(% style="width:169px" %)Ethernet IP3|(% style="width:456px" %)read only 1409 +|(% style="width:151px" %)@W_HSW11|(% style="width:169px" %)Ethernet IP4|(% style="width:456px" %)read only 1410 +|(% style="width:151px" %)@W_HSW12|(% style="width:169px" %)Ethernet Mask 1|(% style="width:456px" %)read only 1411 +|(% style="width:151px" %)@W_HSW13|(% style="width:169px" %)Ethernet Mask 2|(% style="width:456px" %)read only 1412 +|(% style="width:151px" %)@W_HSW14|(% style="width:169px" %)Ethernet Mask 3|(% style="width:456px" %)read only 1413 +|(% style="width:151px" %)@W_HSW15|(% style="width:169px" %)Ethernet Mask 4|(% style="width:456px" %)read only 1414 +|(% style="width:151px" %)@W_HSW16|(% style="width:169px" %)Ethernet Gateway 1|(% style="width:456px" %)read only 1415 +|(% style="width:151px" %)@W_HSW17|(% style="width:169px" %)Ethernet Gateway 2|(% style="width:456px" %)read only 1416 +|(% style="width:151px" %)@W_HSW18|(% style="width:169px" %)Ethernet Gateway 3|(% style="width:456px" %)read only 1417 +|(% style="width:151px" %)@W_HSW19|(% style="width:169px" %)Ethernet Gateway 4|(% style="width:456px" %)read only 1418 +|(% style="width:151px" %)@W_HSW21|(% style="width:169px" %)Ethernet MAC1|(% style="width:456px" %)read only 1419 +|(% style="width:151px" %)@W_HSW22|(% style="width:169px" %)Ethernet MAC2|(% style="width:456px" %)read only 1420 +|(% style="width:151px" %)@W_HSW23|(% style="width:169px" %)Ethernet MAC3|(% style="width:456px" %)read only 1421 +|(% style="width:151px" %)@W_HSW24|(% style="width:169px" %)Ethernet MAC4|(% style="width:456px" %)read only 1422 +|(% style="width:151px" %)@W_HSW25|(% style="width:169px" %)Ethernet MAC3|(% style="width:456px" %)read only 1423 +|(% style="width:151px" %)@W_HSW26|(% style="width:169px" %)Ethernet MAC4|(% style="width:456px" %)read only 1424 +|(% style="width:151px" %)@W_HSW128|(% style="width:169px" %)WIFI IP1|(% style="width:456px" %)read only 1425 +|(% style="width:151px" %)@W_HSW129|(% style="width:169px" %)WIFI IP2|(% style="width:456px" %)read only 1426 +|(% style="width:151px" %)@W_HSW130|(% style="width:169px" %)WIFI IP3|(% style="width:456px" %)read only 1427 +|(% style="width:151px" %)@W_HSW131|(% style="width:169px" %)WIFI IP4|(% style="width:456px" %)read only 1428 +|(% style="width:151px" %)@W_HSW132|(% style="width:169px" %)WIFI Mask 1|(% style="width:456px" %)read only 1429 +|(% style="width:151px" %)@W_HSW133|(% style="width:169px" %)WIFI Mask 2|(% style="width:456px" %)read only 1430 +|(% style="width:151px" %)@W_HSW134|(% style="width:169px" %)WIFI Mask 3|(% style="width:456px" %)read only 1431 +|(% style="width:151px" %)@W_HSW135|(% style="width:169px" %)WIFI Mask 4|(% style="width:456px" %)read only 1432 +|(% style="width:151px" %)@W_HSW136|(% style="width:169px" %)WIFI Gateway 1|(% style="width:456px" %)read only 1433 +|(% style="width:151px" %)@W_HSW137|(% style="width:169px" %)WIFI Gateway 2|(% style="width:456px" %)read only 1434 +|(% style="width:151px" %)@W_HSW138|(% style="width:169px" %)WIFI Gateway 3|(% style="width:456px" %)read only 1435 +|(% style="width:151px" %)@W_HSW139|(% style="width:169px" %)WIFI Gateway 4|(% style="width:456px" %)read only 1436 +|(% style="width:151px" %)@W_HSW140|(% style="width:169px" %)WIFI MAC1|(% style="width:456px" %)read only 1437 +|(% style="width:151px" %)@W_HSW141|(% style="width:169px" %)WIFI MAC2|(% style="width:456px" %)read only 1438 +|(% style="width:151px" %)@W_HSW142|(% style="width:169px" %)WIFI MAC3|(% style="width:456px" %)read only 1439 +|(% style="width:151px" %)@W_HSW143|(% style="width:169px" %)WIFI MAC4|(% style="width:456px" %)read only 1440 +|(% style="width:151px" %)@W_HSW144|(% style="width:169px" %)WIFI MAC5|(% style="width:456px" %)read only 1441 +|(% style="width:151px" %)@W_HSW145|(% style="width:169px" %)WIFI MAC6|(% style="width:456px" %)read only 1442 +|(% style="width:151px" %)@W_HSW146|(% style="width:169px" %)WIFI Signal value|(% style="width:456px" %)read only 1443 +|(% style="width:151px" %)@W_HSW148|(% style="width:169px" %)4G IP1|(% style="width:456px" %)read only 1444 +|(% style="width:151px" %)@W_HSW149|(% style="width:169px" %)4G IP2|(% style="width:456px" %)read only 1445 +|(% style="width:151px" %)@W_HSW150|(% style="width:169px" %)4G IP3|(% style="width:456px" %)read only 1446 +|(% style="width:151px" %)@W_HSW151|(% style="width:169px" %)4G IP4|(% style="width:456px" %)read only 1447 +|(% style="width:151px" %)@W_HSW152|(% style="width:169px" %)4G Mask 1|(% style="width:456px" %)read only 1448 +|(% style="width:151px" %)@W_HSW153|(% style="width:169px" %)4G Mask 2|(% style="width:456px" %)read only 1449 +|(% style="width:151px" %)@W_HSW154|(% style="width:169px" %)4G Mask 3|(% style="width:456px" %)read only 1450 +|(% style="width:151px" %)@W_HSW155|(% style="width:169px" %)4G Mask 4|(% style="width:456px" %)read only 1451 +|(% style="width:151px" %)@W_HSW156|(% style="width:169px" %)4G Gateway 1|(% style="width:456px" %)read only 1452 +|(% style="width:151px" %)@W_HSW157|(% style="width:169px" %)4G Gateway 2|(% style="width:456px" %)read only 1453 +|(% style="width:151px" %)@W_HSW158|(% style="width:169px" %)4G Gateway 3|(% style="width:456px" %)read only 1454 +|(% style="width:151px" %)@W_HSW159|(% style="width:169px" %)4G Gateway 4|(% style="width:456px" %)read only 1455 +|(% style="width:151px" %)@W_HSW160|(% style="width:169px" %)4G MAC1|(% style="width:456px" %)read only 1456 +|(% style="width:151px" %)@W_HSW161|(% style="width:169px" %)4G MAC2|(% style="width:456px" %)read only 1457 +|(% style="width:151px" %)@W_HSW162|(% style="width:169px" %)4G MAC3|(% style="width:456px" %)read only 1458 +|(% style="width:151px" %)@W_HSW163|(% style="width:169px" %)4G MAC4|(% style="width:456px" %)read only 1459 +|(% style="width:151px" %)@W_HSW164|(% style="width:169px" %)4G MAC5|(% style="width:456px" %)read only 1460 +|(% style="width:151px" %)@W_HSW165|(% style="width:169px" %)4G MAC6|(% style="width:456px" %)read only 1461 +|(% style="width:151px" %)@W_HSW166|(% style="width:169px" %)4G Signal value|(% style="width:456px" %)read only 1558 1558 1559 - 2: Draw a map fence andthebox isnot in the fence1463 +**Others** 1560 1560 1561 -2.8 SIM card status addr_getword("@W_HSW179") (read only) 1465 +* Access password: addr_getstring("@W_HSW27", 16) 1466 +* Machine code: addr_getstring("@W_HSW60", 64) 1467 +* Positioning method (@W_HSW167): (read only) 1468 +** Latitude and longitude 1469 +*** Longitude: addr_getdouble("@W_HSW168") (read only) 1470 +*** Latitude: addr_getdouble("@W_HSW172") (read only) 1471 +** Base station positioning 1472 +*** LAC: addr_getdword("@W_HSW168") (read only) 1473 +*** CI: addr_getdword("@W_HSW172") (read only) 1474 +* Convert base station to latitude and longitude via API 1475 +** Longitude: addr_getdouble("@W_HSW187") (read only) 1476 +** Latitude: addr_getdouble("@W_HSW183") (read only) 1477 +* Operator information: addr_getdword("@W_HSW181") (read only) 1478 +* Networking mode: addr_getword("@W_HSW177") (read only) 1479 +** 0: Ethernet 1480 +** 1: WIFI 1481 +** 2: 4G 1482 +** 3: 2G 1483 +* Map fence flag: addr_getword("@W_HSW178") (read only) 1484 +** 0: No map fence is drawn 1485 +** 1: Draw a map fence and the box is in the fence 1486 +** 2: Draw a map fence and the box is not in the fence 1487 +* SIM card status addr_getword("@W_HSW179") (read only) 1488 +** 1: No card detected 1489 +** 2: Card insertion detected 1490 +** 3: The card status is abnormal 1491 +* MQTT status addr_getword("@W_HSW180") (read only) 1492 +** 1: online, 2: offline 1493 +* IO interface, X is read only, Y is read and write (H series) 1494 +** addr_getbit(addr1), addr_setbit(addr2) 1495 +** addr1:"@B_Y0" "@B_Y1" "@B_X0" "@B_X1" 1496 +** addr2:"@B_Y0" "@B_Y1" 1497 +* Obtaining IMEI (read only) 1498 +** addr_getstring("@W_HSW191",17) 1499 +* Obtaining ICCID (read only) 1500 +** addr_getstring("@W_HSW225",15) 1562 1562 1563 -1: No card detected 1502 +((( 1503 +== **Power-down storage area (HAW/HAX)** == 1564 1564 1565 - 2:Cardinsertion detected1505 +The system storage area (HAW) is used for the system power-down hold registers: 1566 1566 1567 -3: The card status is abnormal 1507 +1. Accessed as a word, numbered in the range: "@W_HAW0"-"@W_HAW199999". 1508 +1. Accessed by bit, the numbering range is: "@B_HAX0.0"-"@B_HAX199999.15". 1568 1568 1569 -2.9 MQTT status addr_getword("@W_HSW180") (read only) 1570 - 1571 -1: online, 2: offline 1572 - 1573 -2.10 IO interface, X is read only, Y is read and write (H series) 1574 - 1575 -addr_getbit(addr1), addr_setbit(addr2) 1576 - 1577 -addr1:"@B_Y0" "@B_Y1" "@B_X0" "@B_X1" 1578 - 1579 -addr2:"@B_Y0" "@B_Y1" 1580 - 1510 +(% class="box infomessage" %) 1581 1581 ((( 1512 +**✎Note:** HAW/HAX is a power-down hold, that is, the registers of this type can retain the data before power-down in case of power-down. 1513 +))) 1514 + 1582 1582 = **9 General Functions** = 1583 1583 ))) 1584 1584 1585 1585 ((( 1586 -== ** 9.1send_sms_ira(string number, string message)** ==1519 +== **send_sms_ira(string number, string message)** == 1587 1587 ))) 1588 1588 1589 -**Function:** 1522 +**Function:** Use IRA character set to send English text messages 1590 1590 1591 -Use IRA character set to send English text messages 1592 - 1593 1593 **Parameters:** 1594 1594 1595 1595 //number: //number (up to 32 characters, the excess will be discarded) ... ... @@ -1623,13 +1623,11 @@ 1623 1623 Failed: multi 1624 1624 1625 1625 ((( 1626 -== ** 9.3sms_get_state(number id)** ==1557 +== **sms_get_state(number id)** == 1627 1627 ))) 1628 1628 1629 -**Function:** 1560 +**Function:** Get the status of the SMS 1630 1630 1631 -Get the status of the SMS 1632 - 1633 1633 **parameter:** 1634 1634 1635 1635 //id~:// SMS corresponding id ... ... @@ -1641,13 +1641,11 @@ 1641 1641 Failed: multi 1642 1642 1643 1643 ((( 1644 -== ** 9.4jwt_encode(table head, table payload, string aud, number iat, number exp, string key, int jwttype)** ==1573 +== **jwt_encode(table head, table payload, string aud, number iat, number exp, string key, int jwttype)** == 1645 1645 ))) 1646 1646 1647 -**Function:** 1576 +**Function:** Convert data to JWT format 1648 1648 1649 -Convert data to JWT format 1650 - 1651 1651 **parameter:** 1652 1652 1653 1653 //aud: //project name ... ... @@ -1692,19 +1692,20 @@ 1692 1692 1693 1693 //key~:// the private key required for encryption 1694 1694 1695 -For example: 1622 +**For example:** 1696 1696 1624 +{{code language="LUA"}} 1697 1697 function jwt.main() 1698 1698 1699 -local PRIVATE_KEY = ~[~[~-~- Please enter the secret key~-~-]]1627 +local PRIVATE_KEY = [[-- Please enter the secret key--]] 1700 1700 1701 1701 local JWTType=0 1702 1702 1703 -local payload = ~{~{key="test1",value="test1",type="0"},1631 +local payload = {{key="test1",value="test1",type="0"}, 1704 1704 1705 1705 {key="test",value="123122131",type="1"}} 1706 1706 1707 -local head = ~{~{ key="name",value="data",type="0"},1635 +local head = {{ key="name",value="data",type="0"}, 1708 1708 1709 1709 {key="test2",value="test2",type="0"}} 1710 1710 ... ... @@ -1719,15 +1719,14 @@ 1719 1719 print(en) 1720 1720 1721 1721 End 1650 +{{/code}} 1722 1722 1723 1723 ((( 1724 -== ** 9.5convertohex(number type, number value)** ==1653 +== **convertohex(number type, number value)** == 1725 1725 ))) 1726 1726 1727 -**Function:** 1656 +**Function:** Convert data into hexadecimal data 1728 1728 1729 -Convert data into hexadecimal data 1730 - 1731 1731 **parameter:** 1732 1732 1733 1733 //type~:// incoming data type 0:word 1:dword 2:float ... ... @@ -1740,14 +1740,27 @@ 1740 1740 1741 1741 Failed: multi 1742 1742 1670 +== **crc.init(table prarm)** == 1671 + 1672 +**Function:** Initialize the CRC 1673 + 1674 +**Parameters:** 1675 + 1676 +prarm is a Lua table and needs to contain the following fields. 1677 + 1678 +* string prarm name, see table 9-1 for details of the parameter model name When this parameter is passed in, the default table parameters are used and the poly,init,xorout,refin,and refout passed in are invalid. 1679 +* number prarm.width: the width, i.e. the number of CRC bits. 1680 +* number [prarm.poly]: short for the generated item, in hexadecimal notation. For example, CRC-32 is 0x04C11DB7, ignoring the highest bit "1", i.e., the complete generation item is 0x104C11DB7. 1681 +* number [prarm.init], the initialization preset value of the register (crc) at the beginning of the algorithm. 1682 + 1683 +Fuzhou Fuchang V-Control Electronic Technology Co., Ltd. Page 32 / Total 39 Software III Hexadecimal representation. number [prarm.xorout], the final CRC value obtained after heterodyning the calculation result with this parameter. number [prarm.refin], whether each byte of the data to be measured is inverted by bit, true or false. number [prarm.refout], after the calculation and before the heterodyning output, whether the whole data is inverted by bit, true or false. Return: success: crc object Failure: multi, error code 1684 + 1743 1743 ((( 1744 -== ** 9.6set_network(table config)** ==1686 +== **set_network(table config)** == 1745 1745 ))) 1746 1746 1747 -**Function:** 1689 +**Function:** Set V-BOX network, take effect after restart 1748 1748 1749 -Set V-BOX network, take effect after restart 1750 - 1751 1751 **parameter:** 1752 1752 1753 1753 //config~:// incoming network configuration table