Changes for page wiki_test
Last modified by Mengting Qiu on 2024/09/05 17:35
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -394,77 +394,331 @@ 394 394 395 395 == 2.3 Uplink Payload == 396 396 397 +=== 2.3.1 Sensor Configuration, FPORT~=4 === 397 397 399 + 400 +SW3L-NB will only send this command after getting the downlink command **(0x26 02)** from the server. 401 + 402 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 403 +|(% style="background-color:#4F81BD;color:white; width:70px" %) **Size(bytes)**|(% style="background-color:#4F81BD;color:white; width:105px" %)**3**|(% style="background-color:#4F81BD;color:white; width:60px" %)**1**|(% style="background-color:#4F81BD;color:white; width:96px" %)**1**|(% style="background-color:#4F81BD;color:white; width:105px" %)**2**|(% style="background-color:#4F81BD;color:white; width:74px" %)**1** 404 +|**Value**|(% style="width:104px" %)TDC(unit:sec)|(% style="width:43px" %)N/A|(% style="width:91px" %)Stop Timer|(% style="width:100px" %)Alarm Timer|(% style="width:69px" %)Reserve 405 + 406 +Example parse in TTNv3 407 + 408 +[[image:image-20230614172555-4.png||height="151" width="853"]] 409 + 410 + 411 +* (% style="color:blue" %)**TDC: (default: 0x0004B0)** 412 + 413 +Uplink interval for the total pulse count, default value is 0x0004B0 which is 1200 seconds = 20 minutes. 414 + 415 + 416 +* (% style="color:blue" %)**STOP Duration & Alarm Timer** 417 + 418 +Shows the configure value of [[Alarm for continuously water flow>>||anchor="H3.3.4Alarmforcontinuouslywaterflow"]] 419 + 420 + 421 +=== 2.3.2 Water Flow Value, Uplink FPORT~=2 === 422 + 423 + 398 398 ((( 399 -SW3L-NB will uplink payloadviaLoRaWANwithbelowpayloadformat:425 +SW3L-NB will send this uplink **after** Device Status once join the NB-IoT network successfully. And SW3L-NB will: 400 400 ))) 401 401 402 402 ((( 403 - Uplinkpayloadincludes intotal21bytes.429 +periodically send this uplink every 20 minutes, this interval [[can be changed>>||anchor="H3.3.1SetTransmitIntervalTime"]]. 404 404 ))) 405 405 406 -(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:510px" %) 407 -|=(% style="width: 95px; background-color:#4F81BD;color:white" %)Size(bytes)|=(% style="width: 61px; background-color:#4F81BD;color:white" %)8|=(% style="width: 61px; background-color:#4F81BD;color:white" %)2|=(% style="background-color:#4F81BD;color:white" %)2|=(% style="background-color:#4F81BD;color:white" %)1|=(% style="background-color: rgb(79, 129, 189); color: white; width: 49px;" %)1|=(% style="background-color: rgb(79, 129, 189); color: white; width: 79px;" %)1|=(% style="background-color:#4F81BD;color:white" %)2|=(% style="background-color:#4F81BD;color:white" %)4 408 -|(% style="width:95px" %)Value|(% style="width:61px" %)f+IMEI|(% style="width:61px" %)Ver|(% style="width:61px" %)[[BAT>>||anchor="H2.3.1A0BatteryInfo"]]|(% style="width:61px" %)((( 409 -Singal 432 +((( 433 +Uplink Payload totals 11 bytes. 434 +))) 410 410 411 -Strength 412 -)))|(% style="width:49px" %)Mod|(% style="width:79px" %)[[Digital Interrupt >>||anchor="H2.3.2A0Interrupt"]]|(% style="width:61px" %)[[Distance>>||anchor="H2.3.3A0Distance"]](unit: mm)|(% style="width:61px" %)((( 413 -Timestamp 436 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:515px" %) 437 +|=(% colspan="6" style="width: 515px; background-color:#D9E2F3;color:#0070C0" %)**Water Flow Value, FPORT=2** 438 +|(% style="width:50px" %)**Size(bytes)**|(% style="width:110px" %)**1**|(% style="width:120px" %)**4**|(% style="width:110px" %)**1**|(% style="width:55px" %)**1**|(% style="width:70px" %)**4** 439 +|(% style="width:110px" %)**Value**|(% style="width:81px" %)Calculate Flag & [[Alarm>>||anchor="H3.3.4Alarmforcontinuouslywaterflow"]]|(% style="width:95px" %)((( 440 +Total pulse Or Last Pulse 441 +)))|(% style="width:78px" %)((( 442 +MOD & PA4_status & PB15_status 443 +)))|(% style="width:92px" %)Reserve(0x01)|(% style="width:134px" %)[[Unix TimeStamp>>||anchor="H2.5.2UnixTimeStamp"]] 414 414 445 +**Calculate Flag & Alarm:** 446 + 447 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:500px" %) 448 +|(% style="background-color:#d9e2f3; color:#0070c0; width:70px" %)**Size(bit)**|(% style="background-color:#d9e2f3; color:#0070c0; width:70px" %)**[bit7:bit6]**|(% style="background-color:#d9e2f3; color:#0070c0; width:90px" %)**[bit5:bit2]**|(% style="background-color:#d9e2f3; color:#0070c0; width:140px" %)**bit1**|(% style="background-color:#d9e2f3; color:#0070c0; width:130px" %)**bit0** 449 +|(% style="width:88px" %)**Value**|(% style="width:117px" %)Reserve|(% style="width:117px" %)Calculate Flag|(% style="width:169px" %)Alarm: 0: No Alarm; 1: Alarm|(% style="width:150px" %)TDC flag 0:No;1:Yes 450 + 451 +**MOD & PA4_status & PB15_status:** 452 + 453 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:230px" %) 454 +|(% style="background-color:#d9e2f3; color:#0070c0; width:50px" %)**Size(bit)**|(% style="background-color:#d9e2f3; color:#0070c0; width:60px" %)**bit7**|(% style="background-color:#d9e2f3; color:#0070c0; width:60px" %)**bit6**|(% style="background-color:#d9e2f3; color:#0070c0; width:60px" %)**[bit5:bit0]** 455 +|(% style="width:88px" %)**Value**|(% style="width:117px" %)PA4_status|(% style="width:117px" %)PB15_status|(% style="width:118px" %)MOD 456 + 457 +(% style="color:#037691" %)** **[[image:image-20230626093242-1.png||height="276" width="892"]] 458 + 459 + 460 +* ((( 461 +(% style="color:blue" %)**Calculate Flag** 462 +))) 463 + 464 +((( 465 +The calculate flag is a user defined field, IoT server can use this flag to handle different meters with different pulse factors. For example, if there are 100 Flow Sensors, meters 1 ~~50 are 1 liter/pulse and meters 51 ~~ 100 has 1.5 liter/pulse. 466 + 415 415 416 416 ))) 417 417 418 -If the cache upload mechanism is turned on, you will receive the payload shown in the figure below. 470 +((( 471 +**Example: in the default payload:** 472 +))) 419 419 420 -(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:512px" %) 421 -|(% style="width:115px" %)**Frame header**|(% style="width:118px" %)**Frame data(1)**|(% style="width:116px" %)**Frame data(2)**|(% style="width:39px" %)**F…**|(% style="width:117px" %)**Frame data(X)** 474 +* ((( 475 +calculate flag=0: for SW3L-004 Flow Sensor: 450 pulse = 1 L 476 +))) 477 +* ((( 478 +calculate flag=1: for SW3L-006 Flow Sensor: 390 pulse = 1 L 479 +))) 480 +* ((( 481 +calculate flag=2: for SW3L-010 Flow Sensor: 64 pulse = 1 L 482 +))) 422 422 484 +((( 485 +Default value: 0. 486 +))) 423 423 488 +((( 489 +Range (4 bits): (b)0000 ~~ (b) 1111 424 424 425 - ===2.3.1BatteryInfo===491 +If user use with a meter for example is 0.02L/pulse. To proper decode the correct value in server, 426 426 493 +1) User can set the Calculate Flag of this sensor to 3. 427 427 428 -Check the battery voltage for SW3L-NB. 495 +2) In server side, when a sensor data arrive, the decoder will check the value of Calculate Flag, It the value is 3, the total volume = 0.02 x Pulse Count. 496 +))) 429 429 430 -Ex1: 0x0B45 = 2885mV 498 +((( 499 +(% style="color:red" %)**NOTE: User need to set Calculate Flag to proper value before use Flow Sensor. Downlink or AT Command see: **(%%)Refer: [[Set Calculate Flag>>||anchor="H3.3.5Setthecalculateflag"]] 431 431 432 -Ex2: 0x0B49 = 2889mV 501 +((( 502 + 503 +))) 504 +))) 433 433 434 434 435 -=== 2.3.2 Interrupt === 507 +* ((( 508 +(% style="color:blue" %)**Alarm** 509 +))) 436 436 511 +((( 512 +See [[Alarm for continuously water flow>>||anchor="H3.3.4Alarmforcontinuouslywaterflow"]] 513 +))) 437 437 438 - This data field showsif this packetis generatedbyinterrupt515 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/SW3L%20LoRaWAN%20Outdoor%20Flow%20Sensor/WebHome/image-20220519095946-4.png?width=724&height=65&rev=1.1||alt="image-20220519095946-4.png"]] 439 439 440 -**Example:** 441 441 442 -0x00: Normal uplink packet. 518 +((( 519 +* (% style="color:blue" %)**TDC flag** 443 443 444 - 0x01: InterruptUplinkPacket.521 +When the flag is 1, it means sending packets at normal time intervals. 445 445 523 +Otherwise, it is a packet sent at non-TDC time. 524 +))) 446 446 447 -=== 2.3.3 Distance === 526 +* ((( 527 +(% style="color:blue" %)**Total pulse** 528 +))) 448 448 530 +((( 531 +Total pulse/counting since factory 532 +))) 449 449 450 450 ((( 451 -Get the distance. Flat object range 30mm - 4500mm. 535 +Range (4 Bytes) : 0x00000000~~ 0xFFFFFFFF . 536 + 537 + 452 452 ))) 453 453 540 +* ((( 541 +(% style="color:blue" %)**Last Pulse** 542 +))) 543 + 454 454 ((( 455 -For example, if the data you get from the register is **0x0B 0x05**, the distance between the sensor and the measured object is(% style="color:#4472c4" %)** ** 545 +Total pulse since last FPORT=2 uplink. (Default 20 minutes) 546 +))) 456 456 457 -(% style="color:blue" %)**0B05(H) = 2821 (D) = 2821 mm.** 548 +((( 549 +Range (4 Bytes) : 0x00000000~~ 0xFFFFFFFF . 550 + 551 + 552 +* ((( 553 +(% style="color:blue" %)**PA4_status: Support digital level input below 3.3V** 458 458 ))) 459 459 460 -* If the sensor value is 0x0000, it means system doesn't detect ultrasonic sensor. 556 +((( 557 +0 ~-~-> PA4 is at low level. 558 +))) 461 461 462 -* If the sensor value lower than 0x001E (30mm), the sensor value will be 0x00. 560 +((( 561 +1 ~-~-> PA4 is at high level. 463 463 563 + 564 +* ((( 565 +(% style="color:blue" %)**PB15_status: Support digital level input below 3.3V** 566 +))) 567 + 464 464 ((( 569 +0 ~-~-> PB15 is at low level. 570 +))) 571 + 572 +((( 573 +1 ~-~-> PB15 is at high level.. 574 +))) 575 +))) 576 +))) 577 + 578 +* ((( 579 +(% style="color:blue" %)**MOD: Default =0** 580 +))) 581 + 582 +((( 583 +MOD=0 ~-~-> Uplink Total Pulse since factory 584 +))) 585 + 586 +((( 587 +MOD=1 ~-~-> Uplink total pulse since last FPORT=2 uplink. 588 + 465 465 466 466 ))) 467 467 592 +* ((( 593 +(% style="color:blue" %)**Water Flow Value** 594 +))) 595 + 596 +((( 597 +**Total Water Flow Volume = (Calculate Flag) x (Total Pulse)=9597/450=21.3L** 598 +))) 599 + 600 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/SW3L%20LoRaWAN%20Outdoor%20Flow%20Sensor/WebHome/image-20220519095946-5.png?width=727&height=50&rev=1.1||alt="image-20220519095946-5.png"]] 601 + 602 + 603 +((( 604 +**Total Water Flow for TDC timer = (Calculate Flag) x (Last Pulse)=79/450=0.2L** 605 +))) 606 + 607 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/SW3L%20LoRaWAN%20Outdoor%20Flow%20Sensor/WebHome/image-20220519095946-6.png?width=733&height=43&rev=1.1||alt="image-20220519095946-6.png"]] ** ** 608 + 609 + 610 +=== 2.3.3 Historical Water Flow Status, FPORT~=3 === 611 + 612 + 613 +((( 614 +SW3L-NB stores sensor values and users can retrieve these history values via the [[downlink command>>||anchor="H2.5DatalogFeature"]]. 615 +))) 616 + 617 +((( 618 +The historical payload includes one or multiplies entries and every entry has the same payload as Real-Time water flow status. 619 + 620 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:515px" %) 621 +|=(% colspan="6" style="width: 515px; background-color:#D9E2F3;color:#0070C0" %)**Water Flow Value, FPORT=3** 622 +|(% style="width:50px" %)**Size(bytes)**|(% style="width:110px" %)**1**|(% style="width:120px" %)**4**|(% style="width:110px" %)**1**|(% style="width:55px" %)**1**|(% style="width:70px" %)**4** 623 +|(% style="width:110px" %)**Value**|(% style="width:81px" %)Calculate Flag & [[Alarm>>||anchor="H3.3.4Alarmforcontinuouslywaterflow"]]|(% style="width:95px" %)((( 624 +Total pulse Or Last Pulse 625 +)))|(% style="width:78px" %)((( 626 +MOD & PA4_status & PB15_status 627 +)))|(% style="width:92px" %)Reserve(0x01)|(% style="width:134px" %)[[Unix TimeStamp>>||anchor="H2.5.2UnixTimeStamp"]] 628 + 629 +**Calculate Flag & Alarm:** 630 + 631 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:515px" %) 632 +|(% style="background-color:#d9e2f3; color:#0070c0; width:50px" %)**Size(bit)**|(% style="background-color:#d9e2f3; color:#0070c0; width:89px" %)**bit7**|(% style="background-color:#d9e2f3; color:#0070c0; width:89px" %)**bit6**|(% style="background-color:#d9e2f3; color:#0070c0; width:69px" %)**[bit5:bit2]**|(% style="background-color:#d9e2f3; color:#0070c0; width:129px" %)**bit1**|(% style="background-color:#d9e2f3; color:#0070c0; width:89px" %)**bit0** 633 +|(% style="width:88px" %)**Value**|(% style="width:96px" %)((( 634 +No ACK message 635 +)))|(% style="width:94px" %)Poll Message Flag|(% style="width:115px" %)Calculate Flag|(% style="width:136px" %)Alarm: 0: No Alarm; 1: Alarm|(% style="width:120px" %)TDC flag 0:No;1:Yes 636 + 637 +**MOD & PA4_status & PB15_status:** 638 + 639 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:240px" %) 640 +|(% style="background-color:#d9e2f3; color:#0070c0; width:60px" %)**Size(bit)**|(% style="background-color:#d9e2f3; color:#0070c0; width:60px" %)**bit7**|(% style="background-color:#d9e2f3; color:#0070c0; width:60px" %)**bit6**|(% style="background-color:#d9e2f3; color:#0070c0; width:60px" %)**[bit5:bit0]** 641 +|(% style="width:88px" %)**Value**|(% style="width:117px" %)PA4_status|(% style="width:117px" %)PB15_status|(% style="width:118px" %)MOD 642 +))) 643 + 644 +* ((( 645 +Each data entry is 11 bytes and has the same structure as [[real time water flow status>>||anchor="H2.3.3A0WaterFlowValue2CUplinkFPORT3D2"]], to save airtime and battery, SW3L will send max bytes according to the current DR and Frequency bands. 646 +))) 647 + 648 +((( 649 +For example, in the US915 band, the max payload for different DR is: 650 +))) 651 + 652 +((( 653 +(% style="color:blue" %)**a) DR0:**(%%) max is 11 bytes so one entry of data 654 +))) 655 + 656 +((( 657 +(% style="color:blue" %)**b) DR1:**(%%) max is 53 bytes so devices will upload 4 entries of data (total 44 bytes) 658 +))) 659 + 660 +((( 661 +(% style="color:blue" %)**c) DR2:**(%%) total payload includes 11 entries of data 662 +))) 663 + 664 +((( 665 +(% style="color:blue" %)**d) DR3:**(%%) total payload includes 22 entries of data. 666 +))) 667 + 668 +((( 669 +If SW3L-NB doesn't have any data in the polling time. It will uplink 11 bytes of 0 670 + 671 + 672 +))) 673 + 674 +((( 675 +(% style="color:#037691" %)**Downlink:** 676 +))) 677 + 678 +((( 679 +0x31 64 92 C5 AC 64 92 C7 8C 05 680 +))) 681 + 682 +[[image:image-20230626093440-2.png||height="160" width="890"]] 683 + 684 + 685 +((( 686 +(% style="color:#037691" %)**Uplink:** 687 +))) 688 + 689 +((( 690 +41 00 01 00 00 00 08 64 92 C5 E4 40 00 01 00 00 00 08 64 92 C6 06 49 41 01 00 00 00 00 64 92 C6 8B 49 81 01 00 00 00 00 64 92 C7 34 4A 01 01 00 00 00 2D 64 92 C7 7C 691 + 692 + 693 +))) 694 + 695 +((( 696 +(% style="color:#037691" %)**Parsed Value:** 697 +))) 698 + 699 +((( 700 +[TDC_flag, Alarm, Calculate Flag, PA4_status, PB15_status, MOD, Total pulse or Last Pulse,** **Water Flow Value, TIME] 701 +))) 702 + 703 + 704 +((( 705 +[YES,FALSE,0,L,L, 0,8, 0.0,2023-06-21 09:41:56], 706 + 707 +[NO,FALSE,0,L,L, 0,8, 0.0,2023-06-21 09:42:30], 708 + 709 +[YES,FALSE,2,L,H,1,0, 0.0,2023-06-21 09:44:43], 710 + 711 +[YES,FALSE,2,H,L,1,0, 0.0,2023-06-21 09:47:32], 712 + 713 +[NO,TRUE ,2, L,L,1,45,0.7,2023-06-21 09:48:44], 714 + 715 + 716 +))) 717 + 718 +[[image:image-20230626093703-3.png||height="156" width="894"]] 719 + 720 + 721 + 468 468 == 2.4 Test Uplink and Change Update Interval == 469 469 470 470 ... ... @@ -508,6 +508,116 @@ 508 508 509 509 * (% style="color:#037691" %)**AT+INTMOD=3 **(%%) ~/~/ Trigger by rising edge 510 510 765 +== 2.7 Alarm for continuously water flow == 766 + 767 + 768 +((( 769 +This feature is to monitor and send Alarm for continuously water flow. 770 +))) 771 + 772 +((( 773 +Example case is for Toilet water monitoring, if some one push toilet button, the toilet will have water flow. If the toilet button has broken and can't returned to original state, the water flow will keep for hours or days which cause huge waste for water. 774 +))) 775 + 776 +((( 777 +To monitor this faulty and send alarm, there are two settings: 778 +))) 779 + 780 +* ((( 781 +(% style="color:blue" %)**Stop Duration: Unit: Second** 782 +))) 783 + 784 +((( 785 +Default: 15s, If SW3L-NB didn't see any water flow in 15s, SW3L-NB will consider stop of water flow event. 786 +))) 787 + 788 +* ((( 789 +(% style="color:blue" %)**Alarm Timer: Units: Minute; Default 0 minutes (means Alarm disable)** 790 +))) 791 + 792 +((( 793 +**Example:** 3 minutes, if SW3L-NB detect a start of water flow event and didn't detect a stop event within Alarm timer, SW3L-NB will send an Alarm to indicate a water flow abnormal alarm. 794 +))) 795 + 796 +((( 797 +So for example, If we set stop duration=15s and Alarm Timer=3minutes. If the toilet water flow continuously for more than 3 minutes, Sensor will send an alarm (in Confirmed MODE) to platform. 798 +))) 799 + 800 +((( 801 +(% style="color:red" %)**Note:** **After this alarm is send, sensor will consider a stop of water flow and count for another new event. So if water flow waste last for 1 hour, Sensor will keep sending alarm every 3 minutes.** 802 +))) 803 + 804 +((( 805 +(% style="color:blue" %)**AT Command to configure:** 806 +))) 807 + 808 +* ((( 809 +AT+PTRIG=15,3 ~-~-> Set Stop duration: 15s, Alarm Timer: 3 minutes. 810 +))) 811 + 812 +* ((( 813 +AT+ PTRIG=15,0 ~-~-> Default Value, disable water waste Alarm. 814 +))) 815 + 816 +((( 817 +(% style="color:blue" %)**Downlink Command to configure:** 818 +))) 819 + 820 +((( 821 +Command: **0xAA aa bb cc** 822 +))) 823 + 824 +((( 825 +AA: Command Type Code 826 +))) 827 + 828 +((( 829 +aa: Stop duration 830 +))) 831 + 832 +((( 833 +bb cc: Alarm Timer 834 +))) 835 + 836 +((( 837 +If user send 0xAA 0F 00 03: equal to AT+PTRIG=15,3 838 +))) 839 + 840 + 841 +== 2.8 Set the calculate flag == 842 + 843 + 844 +Feature: Set the calculate flag 845 + 846 +(% style="color:blue" %)**AT Command: AT+CALCFLAG** 847 + 848 +(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:461px" %) 849 +|=(% style="width: 158px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 193px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 110px;background-color:#D9E2F3;color:#0070C0" %)**Response** 850 +|(% style="width:158px" %)AT+CALCFLAG =1|(% style="width:192px" %)Set the calculate flag to 1.|(% style="width:109px" %)OK 851 +|(% style="width:158px" %)AT+CALCFLAG =2|(% style="width:192px" %)Set the calculate flag to 2.|(% style="width:109px" %)OK 852 + 853 +(% style="color:blue" %)**Downlink Command:** 854 + 855 +* **Example**: 0XA501 ~/~/ Same as AT+CALCFLAG =1 856 + 857 +== 2.9 Set count number == 858 + 859 + 860 +Feature: Manually set the count number 861 + 862 +(% style="color:blue" %)**AT Command: AT+SETCNT** 863 + 864 +(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:479px" %) 865 +|=(% style="width: 160px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 223px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 96px;background-color:#D9E2F3;color:#0070C0" %)**Response** 866 +|(% style="width:160px" %)AT+ SETCNT =0|(% style="width:221px" %)Set the count number to 0.|(% style="width:95px" %)OK 867 +|(% style="width:160px" %)AT+ SETCNT =100|(% style="width:221px" %)Set the count number to 100.|(% style="width:95px" %)OK 868 + 869 +(% style="color:blue" %)**Downlink Command:** 870 + 871 +* **Example**: 0xA6000001 ~/~/ Same as AT+ SETCNT =1 872 + 873 +* **Example**: 0xA6000064 ~/~/ Same as AT+ SETCNT =100 874 + 511 511 = 3. Configure SW3L-NB = 512 512 513 513 == 3.1 Configure Methods ==