Last modified by Xiaoling on 2025/04/23 15:57

From version 42.18
edited by Xiaoling
on 2022/06/06 14:25
Change comment: There is no comment for this version
To version 41.33
edited by Xiaoling
on 2022/06/06 11:18
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -94,8 +94,6 @@
94 94  * 127 dB Dynamic Range RSSI.
95 95  * Automatic RF Sense and CAD with ultra-fast AFC. ​​​
96 96  
97 -
98 -
99 99  == 1.3 Features ==
100 100  
101 101  * LoRaWAN Class A & Class C protocol (default Class A)
... ... @@ -285,28 +285,28 @@
285 285  )))
286 286  
287 287  (% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:510px" %)
288 -|=(% style="width: 80px;" %)(((
286 +|=(% style="width: 120px;" %)(((
289 289  (((
290 290  **AT Commands**
291 291  )))
292 -)))|=(% style="width: 210px;" %)(((
290 +)))|=(% style="width: 190px;" %)(((
293 293  (((
294 294  **Description**
295 295  )))
296 -)))|=(% style="width: 210px;" %)(((
294 +)))|=(% style="width: 190px;" %)(((
297 297  (((
298 298  **Example**
299 299  )))
300 300  )))
301 -|(% style="width:80px" %)(((
299 +|(% style="width:120px" %)(((
302 302  (((
303 303  AT+BAUDR
304 304  )))
305 -)))|(% style="width:210px" %)(((
303 +)))|(% style="width:190px" %)(((
306 306  (((
307 307  Set the baud rate (for RS485 connection). Default Value is: 9600.
308 308  )))
309 -)))|(% style="width:210px" %)(((
307 +)))|(% style="width:190px" %)(((
310 310  (((
311 311  (((
312 312  AT+BAUDR=9600
... ... @@ -319,11 +319,11 @@
319 319  )))
320 320  )))
321 321  )))
322 -|(% style="width:80px" %)(((
320 +|(% style="width:120px" %)(((
323 323  (((
324 324  AT+PARITY
325 325  )))
326 -)))|(% style="width:210px" %)(((
324 +)))|(% style="width:190px" %)(((
327 327  (((
328 328  (((
329 329  Set UART parity (for RS485 connection)
... ... @@ -335,7 +335,7 @@
335 335  Default Value is: no parity.
336 336  )))
337 337  )))
338 -)))|(% style="width:210px" %)(((
336 +)))|(% style="width:190px" %)(((
339 339  (((
340 340  (((
341 341  AT+PARITY=0
... ... @@ -348,11 +348,11 @@
348 348  )))
349 349  )))
350 350  )))
351 -|(% style="width:80px" %)(((
349 +|(% style="width:120px" %)(((
352 352  (((
353 353  AT+STOPBIT
354 354  )))
355 -)))|(% style="width:210px" %)(((
353 +)))|(% style="width:190px" %)(((
356 356  (((
357 357  (((
358 358  Set serial stopbit (for RS485 connection)
... ... @@ -364,7 +364,7 @@
364 364  Default Value is: 1bit.
365 365  )))
366 366  )))
367 -)))|(% style="width:210px" %)(((
365 +)))|(% style="width:190px" %)(((
368 368  (((
369 369  (((
370 370  AT+STOPBIT=0 for 1bit
... ... @@ -384,6 +384,8 @@
384 384  )))
385 385  )))
386 386  
385 +
386 +
387 387  === 3.3.2 Configure sensors ===
388 388  
389 389  (((
... ... @@ -395,14 +395,14 @@
395 395  )))
396 396  
397 397  (% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:510px" %)
398 -|=(% style="width: 80px;" %)**AT Commands**|=(% style="width: 210px;" %)**Description**|=(% style="width: 210px;" %)**Example**
399 -|AT+CFGDEV|(% style="width:80px" %)(((
398 +|=(% style="width: 120px;" %)**AT Commands**|=(% style="width: 190px;" %)**Description**|=(% style="width: 190px;" %)**Example**
399 +|AT+CFGDEV|(% style="width:120px" %)(((
400 400  This command is used to configure the RS485/TTL devices; they won’t be used during sampling.
401 401  
402 402  AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,
403 403  
404 404  mm: 0: no CRC, 1: add CRC-16/MODBUS in the end of this command
405 -)))|(% style="width:210px" %)AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m
405 +)))|(% style="width:190px" %)AT+CFGDEV=xx xx xx xx xx xx xx xx xx xx xx xx,m
406 406  
407 407  Detail of AT+CFGDEV command see [[AT+CFGDEV detail>>||anchor="HRS485DebugCommand28AT2BCFGDEV29"]].
408 408  
... ... @@ -872,7 +872,7 @@
872 872  )))
873 873  
874 874  (((
875 -}
875 +{{{}}}}
876 876  
877 877  
878 878  )))
... ... @@ -903,6 +903,7 @@
903 903  )))
904 904  
905 905  
906 +
906 906  === 3.5.1 Common Commands: ===
907 907  
908 908  They should be available for each of Dragino Sensors, such as: change uplink interval, reset device. For firmware v1.3, user can find what common commands it supports: [[End Device AT Commands and Downlink Command>>doc:Main.End Device AT Commands and Downlink Command.WebHome]]
... ... @@ -1061,121 +1061,62 @@
1061 1061  
1062 1062  ==== **Set RS485 Sampling Commands** ====
1063 1063  
1064 -(((
1065 1065  AT+COMMANDx, AT+DATACUTx and AT+SEARCHx
1066 -)))
1067 1067  
1068 -(((
1069 1069  These three commands are used to configure how the RS485-BL polling data from Modbus device. Detail of usage please see : [[polling RS485 device>>||anchor="H3.3.3Configurereadcommandsforeachsampling"]].
1070 -)))
1071 1071  
1072 -(((
1073 -
1074 -)))
1075 1075  
1076 -* (((
1077 -**AT Command:**
1078 -)))
1070 +* **AT Command:**
1079 1079  
1080 1080  (% class="box infomessage" %)
1081 1081  (((
1082 -(((
1083 1083  **AT+COMMANDx: Configure RS485 read command to sensor.**
1084 1084  )))
1085 -)))
1086 1086  
1087 1087  (% class="box infomessage" %)
1088 1088  (((
1089 -(((
1090 1090  **AT+DATACUTx: Configure how to handle return from RS485 devices.**
1091 1091  )))
1092 -)))
1093 1093  
1094 1094  (% class="box infomessage" %)
1095 1095  (((
1096 -(((
1097 1097  **AT+SEARCHx: Configure search command**
1098 1098  )))
1099 -)))
1100 1100  
1101 -(((
1102 -
1103 -)))
1104 1104  
1105 -* (((
1106 -**Downlink Payload:**
1107 -)))
1088 +* **Downlink Payload:**
1108 1108  
1109 -(((
1110 1110  **0xAF** downlink command can be used to set AT+COMMANDx or AT+DATACUTx.
1111 -)))
1112 1112  
1113 -(((
1114 1114  (% style="color:red" %)**Note**(%%): if user use AT+COMMANDx to add a new command, he also need to send AT+DATACUTx downlink.
1115 -)))
1116 1116  
1117 -(((
1118 1118  Format: AF MM NN LL XX XX XX XX YY
1119 -)))
1120 1120  
1121 -(((
1122 1122  Where:
1123 -)))
1124 1124  
1125 -* (((
1126 -MM: the ATCOMMAND or AT+DATACUT to be set. Value from 01 ~~ 0F,
1127 -)))
1128 -* (((
1129 -NN:  0: no CRC; 1: add CRC-16/MODBUS ; 2: set the AT+DATACUT value.
1130 -)))
1131 -* (((
1132 -LL:  The length of AT+COMMAND or AT+DATACUT command
1133 -)))
1134 -* (((
1135 -XX XX XX XX: AT+COMMAND or AT+DATACUT command
1136 -)))
1137 -* (((
1138 -YY:  If YY=0, RS485-BL will execute the downlink command without uplink; if YY=1, RS485-BL will execute an uplink after got this command.
1139 -)))
1098 +* MM: the ATCOMMAND or AT+DATACUT to be set. Value from 01 ~~ 0F,
1099 +* NN:  0: no CRC; 1: add CRC-16/MODBUS ; 2: set the AT+DATACUT value.
1100 +* LL:  The length of AT+COMMAND or AT+DATACUT command
1101 +* XX XX XX XX: AT+COMMAND or AT+DATACUT command
1102 +* YY:  If YY=0, RS485-BL will execute the downlink command without uplink; if YY=1, RS485-BL will execute an uplink after got this command.
1140 1140  
1141 -(((
1142 1142  **Example:**
1143 -)))
1144 1144  
1145 -(((
1146 1146  (% style="color:#037691" %)**AF 03 01 06 0A 05 00 04 00 01 00**(%%): Same as AT+COMMAND3=0A 05 00 04 00 01,1
1147 -)))
1148 1148  
1149 -(((
1150 1150  (% style="color:#037691" %)**AF 03 02 06**(% style="color:orange" %)** 10 **(% style="color:red" %)**01 **(% style="color:green" %)**05 06 09 0A**(% style="color:#037691" %)** 00**(%%): Same as AT+DATACUT3=(% style="color:orange" %)**16**(%%),(% style="color:red" %)**1**(%%),(% style="color:green" %)**5+6+9+10**
1151 -)))
1152 1152  
1153 -(((
1154 1154  (% style="color:#037691" %)**AF 03 02 06 **(% style="color:orange" %)**0B**(% style="color:red" %)** 02 **(% style="color:green" %)**05 07 08 0A **(% style="color:#037691" %)**00**(%%): Same as AT+DATACUT3=(% style="color:orange" %)**11**(%%),(% style="color:red" %)**2**(%%),(% style="color:green" %)**5~~7+8~~10**
1155 -)))
1156 1156  
1157 -(((
1158 -
1159 -)))
1160 1160  
1161 -(((
1162 1162  **0xAB** downlink command can be used for set AT+SEARCHx
1163 -)))
1164 1164  
1165 -(((
1166 1166  **Example:** **AB aa 01 03 xx xx xx** (03 here means there are total 3 bytes after 03) So
1167 -)))
1168 1168  
1169 -* (((
1170 -AB aa 01 03 xx xx xx  same as AT+SEARCHaa=1,xx xx xx
1171 -)))
1172 -* (((
1173 -AB aa 02 03 xx xx xx 02 yy yy(03 means there are 3 bytes after 03, they are xx xx xx;02 means there are 2 bytes after 02, they are yy yy) so the commands
1174 -)))
1117 +* AB aa 01 03 xx xx xx  same as AT+SEARCHaa=1,xx xx xx
1118 +* AB aa 02 03 xx xx xx 02 yy yy(03 means there are 3 bytes after 03, they are xx xx xx;02 means there are 2 bytes after 02, they are yy yy) so the commands
1175 1175  
1176 -(((
1177 1177  **AB aa 02 03 xx xx xx 02 yy yy**  same as **AT+SEARCHaa=2,xx xx xx+yy yy**
1178 -)))
1179 1179  
1180 1180  
1181 1181  
... ... @@ -1182,47 +1182,24 @@
1182 1182  
1183 1183  ==== **Fast command to handle MODBUS device** ====
1184 1184  
1185 -(((
1186 1186  AT+MBFUN is valid since v1.3 firmware version. The command is for fast configure to read Modbus devices. It is only valid for the devices which follow the [[MODBUS-RTU protocol>>url:https://www.modbustools.com/modbus.html]].
1187 -)))
1188 1188  
1189 -(((
1190 1190  This command is valid since v1.3 firmware version
1191 -)))
1192 1192  
1193 -(((
1194 -
1195 -)))
1196 1196  
1197 -(((
1198 1198  **AT+MBFUN has only two value:**
1199 -)))
1200 1200  
1201 -* (((
1202 -**AT+MBFUN=1**: Enable Modbus reading. And get response base on the MODBUS return
1203 -)))
1134 +* **AT+MBFUN=1**: Enable Modbus reading. And get response base on the MODBUS return
1204 1204  
1205 -(((
1206 1206  AT+MBFUN=1, device can auto read the Modbus function code: 01, 02, 03 or 04. AT+MBFUN has lower priority vs AT+DATACUT command. If AT+DATACUT command is configured, AT+MBFUN will be ignore.
1207 -)))
1208 1208  
1209 -* (((
1210 -**AT+MBFUN=0**: Disable Modbus fast reading.
1211 -)))
1138 +* **AT+MBFUN=0**: Disable Modbus fast reading.
1212 1212  
1213 -(((
1214 1214  **Example:**
1215 -)))
1216 1216  
1217 -* (((
1218 -AT+MBFUN=1 and AT+DATACUT1/AT+DATACUT2 are not configure (0,0,0).
1219 -)))
1220 -* (((
1221 -AT+COMMAND1= 01 03 00 10 00 08,1 ~-~-> read slave address 01 , function code 03, start address 00 01, quantity of registers 00 08.
1222 -)))
1223 -* (((
1224 -AT+COMMAND2= 01 02 00 40 00 10,1 ~-~-> read slave address 01 , function code 02, start address 00 40, quantity of inputs 00 10.
1225 -)))
1142 +* AT+MBFUN=1 and AT+DATACUT1/AT+DATACUT2 are not configure (0,0,0).
1143 +* AT+COMMAND1= 01 03 00 10 00 08,1 ~-~-> read slave address 01 , function code 03, start address 00 01, quantity of registers 00 08.
1144 +* AT+COMMAND2= 01 02 00 40 00 10,1 ~-~-> read slave address 01 , function code 02, start address 00 40, quantity of inputs 00 10.
1226 1226  
1227 1227  [[image:1654133913295-597.png]]
1228 1228  
... ... @@ -1230,13 +1230,9 @@
1230 1230  [[image:1654133954153-643.png]]
1231 1231  
1232 1232  
1233 -* (((
1234 -**Downlink Commands:**
1235 -)))
1152 +* **Downlink Commands:**
1236 1236  
1237 -(((
1238 1238  **A9 aa** ~-~-> Same as AT+MBFUN=aa
1239 -)))
1240 1240  
1241 1241  
1242 1242  
... ... @@ -1243,60 +1243,32 @@
1243 1243  
1244 1244  ==== **RS485 command timeout** ====
1245 1245  
1246 -(((
1247 1247  Some Modbus device has slow action to send replies. This command is used to configure the RS485-BL to use longer time to wait for their action.
1248 -)))
1249 1249  
1250 -(((
1251 1251  Default value: 0, range:  0 ~~ 5 seconds
1252 -)))
1253 1253  
1254 -(((
1255 -
1256 -)))
1257 1257  
1258 -* (((
1259 -**AT Command:**
1260 -)))
1166 +* **AT Command:**
1261 1261  
1262 1262  (% class="box infomessage" %)
1263 1263  (((
1264 -(((
1265 1265  **AT+CMDDLaa=hex(bb cc)**
1266 1266  )))
1267 -)))
1268 1268  
1269 -(((
1270 1270  **Example:**
1271 -)))
1272 1272  
1273 -(((
1274 1274  **AT+CMDDL1=1000** to send the open time to 1000ms
1275 -)))
1276 1276  
1277 -(((
1278 -
1279 -)))
1280 1280  
1281 -* (((
1282 -**Downlink Payload:**
1283 -)))
1178 +* **Downlink Payload:**
1284 1284  
1285 -(((
1286 1286  0x AA aa bb cc
1287 -)))
1288 1288  
1289 -(((
1290 1290  Same as: AT+CMDDLaa=hex(bb cc)
1291 -)))
1292 1292  
1293 -(((
1294 1294   **Example:**
1295 -)))
1296 1296  
1297 -(((
1298 1298   **0xAA 01 03 E8**  ~-~-> Same as **AT+CMDDL1=1000 ms**
1299 -)))
1300 1300  
1301 1301  
1302 1302  
... ... @@ -1303,47 +1303,28 @@
1303 1303  
1304 1304  ==== **Uplink payload mode** ====
1305 1305  
1306 -(((
1307 1307  Define to use one uplink or multiple uplinks for the sampling.
1308 -)))
1309 1309  
1310 -(((
1311 1311  The use of this command please see: [[Compose Uplink payload>>||anchor="H3.3.4Composetheuplinkpayload"]]
1312 -)))
1313 1313  
1314 -* (((
1315 -**AT Command:**
1316 -)))
1197 +* **AT Command:**
1317 1317  
1318 1318  (% class="box infomessage" %)
1319 1319  (((
1320 -(((
1321 1321  **AT+DATAUP=0**
1322 1322  )))
1323 -)))
1324 1324  
1325 1325  (% class="box infomessage" %)
1326 1326  (((
1327 -(((
1328 1328  **AT+DATAUP=1**
1329 1329  )))
1330 -)))
1331 1331  
1332 -(((
1333 -
1334 -)))
1335 1335  
1336 -* (((
1337 -**Downlink Payload:**
1338 -)))
1210 +* **Downlink Payload:**
1339 1339  
1340 -(((
1341 1341  **0xAD 00**  **~-~->** Same as AT+DATAUP=0
1342 -)))
1343 1343  
1344 -(((
1345 1345  **0xAD 01**  **~-~->** Same as AT+DATAUP=1
1346 -)))
1347 1347  
1348 1348  
1349 1349  
... ... @@ -1361,49 +1361,26 @@
1361 1361  
1362 1362  ==== **Clear RS485 Command** ====
1363 1363  
1364 -(((
1365 1365  The AT+COMMANDx and AT+DATACUTx settings are stored in special location, user can use below command to clear them.
1366 -)))
1367 1367  
1368 -(((
1369 -
1370 -)))
1371 1371  
1372 -* (((
1373 -**AT Command:**
1374 -)))
1235 +* **AT Command:**
1375 1375  
1376 1376  (((
1377 1377  (% style="color:#037691" %)**AT+CMDEAR=mm,nn** (%%) mm: start position of erase ,nn: stop position of erase Etc. AT+CMDEAR=1,10 means erase AT+COMMAND1/AT+DATACUT1 to AT+COMMAND10/AT+DATACUT10
1378 1378  )))
1379 1379  
1380 -(((
1381 1381  Example screen shot after clear all RS485 commands. 
1382 -)))
1383 1383  
1384 -(((
1385 -
1386 -)))
1387 1387  
1388 -(((
1389 1389  The uplink screen shot is:
1390 -)))
1391 1391  
1392 -(((
1393 1393  [[image:1654134704555-320.png]]
1394 -)))
1395 1395  
1396 -(((
1397 -
1398 -)))
1399 1399  
1400 -* (((
1401 -**Downlink Payload:**
1402 -)))
1249 +* **Downlink Payload:**
1403 1403  
1404 -(((
1405 1405  **0x09 aa bb** same as AT+CMDEAR=aa,bb
1406 -)))
1407 1407  
1408 1408  
1409 1409  
... ... @@ -1410,77 +1410,44 @@
1410 1410  
1411 1411  ==== **Set Serial Communication Parameters** ====
1412 1412  
1413 -(((
1414 1414  Set the Rs485 serial communication parameters:
1415 -)))
1416 1416  
1417 -* (((
1418 -**AT Command:**
1419 -)))
1260 +* **AT Command:**
1420 1420  
1421 -(((
1422 1422  Set Baud Rate:
1423 -)))
1424 1424  
1425 1425  (% class="box infomessage" %)
1426 1426  (((
1427 -(((
1428 1428  **AT+BAUDR=9600**    ~/~/ Options: (1200,2400,4800,14400,19200,115200)
1429 1429  )))
1430 -)))
1431 1431  
1432 -(((
1433 1433  Set UART Parity
1434 -)))
1435 1435  
1436 1436  (% class="box infomessage" %)
1437 1437  (((
1438 -(((
1439 1439  **AT+PARITY=0**    ~/~/ Option: 0: no parity, 1: odd parity, 2: even parity
1440 1440  )))
1441 -)))
1442 1442  
1443 -(((
1444 1444  Set STOPBIT
1445 -)))
1446 1446  
1447 1447  (% class="box infomessage" %)
1448 1448  (((
1449 -(((
1450 1450  **AT+STOPBIT=0**    ~/~/ Option: 0 for 1bit; 1 for 1.5 bit ; 2 for 2 bits
1451 1451  )))
1452 -)))
1453 1453  
1454 -(((
1455 -
1456 -)))
1457 1457  
1458 -* (((
1459 -**Downlink Payload:**
1460 -)))
1284 +* **Downlink Payload:**
1461 1461  
1462 -(((
1463 1463  **A7 01 aa bb**: Same  AT+BAUDR=hex(aa bb)*100
1464 -)))
1465 1465  
1466 -(((
1467 1467  **Example:**
1468 -)))
1469 1469  
1470 -* (((
1471 -A7 01 00 60   same as AT+BAUDR=9600
1472 -)))
1473 -* (((
1474 -A7 01 04 80  same as AT+BAUDR=115200
1475 -)))
1290 +* A7 01 00 60   same as AT+BAUDR=9600
1291 +* A7 01 04 80  same as AT+BAUDR=115200
1476 1476  
1477 -(((
1478 1478  A7 02 aa: Same as  AT+PARITY=aa  (aa value: 00 , 01 or 02)
1479 -)))
1480 1480  
1481 -(((
1482 1482  A7 03 aa: Same as  AT+STOPBIT=aa  (aa value: 00 , 01 or 02)
1483 -)))
1484 1484  
1485 1485  
1486 1486  
... ... @@ -1487,41 +1487,22 @@
1487 1487  
1488 1488  ==== **Control output power duration** ====
1489 1489  
1490 -(((
1491 1491  User can set the output power duration before each sampling.
1492 -)))
1493 1493  
1494 -* (((
1495 -**AT Command:**
1496 -)))
1304 +* **AT Command:**
1497 1497  
1498 -(((
1499 1499  **Example:**
1500 -)))
1501 1501  
1502 -(((
1503 1503  **AT+3V3T=1000**  ~/~/ 3V3 output power will open 1s before each sampling.
1504 -)))
1505 1505  
1506 -(((
1507 1507  **AT+5VT=1000**  ~/~/ +5V output power will open 1s before each sampling.
1508 -)))
1509 1509  
1510 -(((
1511 -
1512 -)))
1513 1513  
1514 -* (((
1515 -**LoRaWAN Downlink Command:**
1516 -)))
1313 +* **LoRaWAN Downlink Command:**
1517 1517  
1518 -(((
1519 1519  **07 01 aa bb**  Same as AT+5VT=(aa bb)
1520 -)))
1521 1521  
1522 -(((
1523 1523  **07 02 aa bb**  Same as AT+3V3T=(aa bb)
1524 -)))
1525 1525  
1526 1526  
1527 1527  
... ... @@ -1532,6 +1532,7 @@
1532 1532  |(% style="width:89px" %)**RST**|(% style="width:141px" %)Reboot RS485-BL
1533 1533  
1534 1534  
1328 +
1535 1535  == 3.7 +3V3 Output ==
1536 1536  
1537 1537  (((
... ... @@ -1610,14 +1610,21 @@
1610 1610  |**LED1**|(% style="width:274px" %)Blink when device transmit a packet.
1611 1611  
1612 1612  
1407 +
1613 1613  == 3.10 Switch Jumper ==
1614 1614  
1615 -(% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:400px" %)
1616 -|=(% style="width: 123px;" %)**Switch Jumper**|=(% style="width: 277px;" %)**Feature**
1617 -|(% style="width:123px" %)**SW1**|(% style="width:277px" %)ISP position: Upgrade firmware via UART
1410 +(% border="1" style="background-color:#ffffcc; color:green; width:515px" %)
1411 +|=(% style="width: 124px;" %)**Switch Jumper**|=(% style="width: 388px;" %)**Feature**
1412 +|(% style="width:124px" %)**SW1**|(% style="width:388px" %)(((
1413 +ISP position: Upgrade firmware via UART
1414 +
1618 1618  Flash position: Configure device, check running status.
1619 -|(% style="width:123px" %)**SW2**|(% style="width:277px" %)5V position: set to compatible with 5v I/O.
1416 +)))
1417 +|(% style="width:124px" %)**SW2**|(% style="width:388px" %)(((
1418 +5V position: set to compatible with 5v I/O.
1419 +
1620 1620  3.3v position: set to compatible with 3.3v I/O.,
1421 +)))
1621 1621  
1622 1622  (((
1623 1623  **+3.3V**: is always ON
... ... @@ -1816,6 +1816,7 @@
1816 1816  * (% style="color:blue" %)**KZ865**(%%): frequency bands KZ865
1817 1817  
1818 1818  
1620 +
1819 1819  = 9. Packing Info =
1820 1820  
1821 1821  (((