├── README.md ├── hardware ├── RPi-Display_Bplus_v10.brd ├── RPi-Display_Bplus_v10.jpg ├── RPi-Display_Bplus_v10.pdf ├── RPi-Display_Bplus_v10.sch ├── RPi-Display_Bplus_v11.brd ├── RPi-Display_Bplus_v11.jpg ├── RPi-Display_Bplus_v11.pdf ├── RPi-Display_Bplus_v11.sch ├── RPi-Display_v10.brd ├── RPi-Display_v10.jpg ├── RPi-Display_v10.pdf ├── RPi-Display_v10.sch └── TEK-BERRY.dxf ├── rpi-display.sh └── software ├── backlight.py ├── fbcp ├── lcdlevel.cpp ├── license.txt ├── rpi-display-overlay.dts ├── rpi-display.dtbo ├── rpi-display.py └── rpi-display.txt /README.md: -------------------------------------------------------------------------------- 1 | # RPi-Display 2 | 2.8" TFT-Display (320x240) with Touchpanel for all Raspberry Pi Models. 3 | 4 | ![RPi-Display B+](https://github.com/watterott/RPi-Display/raw/master/hardware/RPi-Display_Bplus_v11.jpg) 5 | ![RPi-Display](https://github.com/watterott/RPi-Display/raw/master/hardware/RPi-Display_v10.jpg) 6 | 7 | * Open-Source and released under the [Creative Commons Attribution Share-Alike License](https://creativecommons.org/licenses/by-sa/4.0/). 8 | * **[Documentation on learn.watterott.com](https://learn.watterott.com)** 9 | -------------------------------------------------------------------------------- /hardware/RPi-Display_Bplus_v10.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/watterott/RPi-Display/cfaa0ba1c45d2493d1c1b6d4ec2a68555bffa40e/hardware/RPi-Display_Bplus_v10.jpg -------------------------------------------------------------------------------- /hardware/RPi-Display_Bplus_v10.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/watterott/RPi-Display/cfaa0ba1c45d2493d1c1b6d4ec2a68555bffa40e/hardware/RPi-Display_Bplus_v10.pdf -------------------------------------------------------------------------------- /hardware/RPi-Display_Bplus_v11.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/watterott/RPi-Display/cfaa0ba1c45d2493d1c1b6d4ec2a68555bffa40e/hardware/RPi-Display_Bplus_v11.jpg -------------------------------------------------------------------------------- /hardware/RPi-Display_Bplus_v11.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/watterott/RPi-Display/cfaa0ba1c45d2493d1c1b6d4ec2a68555bffa40e/hardware/RPi-Display_Bplus_v11.pdf -------------------------------------------------------------------------------- /hardware/RPi-Display_v10.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/watterott/RPi-Display/cfaa0ba1c45d2493d1c1b6d4ec2a68555bffa40e/hardware/RPi-Display_v10.jpg -------------------------------------------------------------------------------- /hardware/RPi-Display_v10.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/watterott/RPi-Display/cfaa0ba1c45d2493d1c1b6d4ec2a68555bffa40e/hardware/RPi-Display_v10.pdf -------------------------------------------------------------------------------- /hardware/TEK-BERRY.dxf: -------------------------------------------------------------------------------- 1 | 0 2 | SECTION 3 | 2 4 | HEADER 5 | 9 6 | $ACADVER 7 | 1 8 | AC1009 9 | 9 10 | $DWGCODEPAGE 11 | 3 12 | ansi_1252 13 | 9 14 | $INSBASE 15 | 10 16 | 0.0 17 | 20 18 | 0.0 19 | 30 20 | 0.0 21 | 9 22 | $EXTMIN 23 | 10 24 | 0.0 25 | 20 26 | 0.0 27 | 30 28 | 0.0 29 | 9 30 | $EXTMAX 31 | 10 32 | 420.0 33 | 20 34 | 297.0 35 | 30 36 | 0.0 37 | 9 38 | $LIMMIN 39 | 10 40 | 0.0 41 | 20 42 | 0.0 43 | 9 44 | $LIMMAX 45 | 10 46 | 420.0 47 | 20 48 | 297.0 49 | 9 50 | $ORTHOMODE 51 | 70 52 | 0 53 | 9 54 | $REGENMODE 55 | 70 56 | 1 57 | 9 58 | $FILLMODE 59 | 70 60 | 1 61 | 9 62 | $QTEXTMODE 63 | 70 64 | 0 65 | 9 66 | $MIRRTEXT 67 | 70 68 | 1 69 | 9 70 | $DRAGMODE 71 | 70 72 | 2 73 | 9 74 | $LTSCALE 75 | 40 76 | 1.0 77 | 9 78 | $OSMODE 79 | 70 80 | 37 81 | 9 82 | $ATTMODE 83 | 70 84 | 1 85 | 9 86 | $TEXTSIZE 87 | 40 88 | 3.5 89 | 9 90 | $TRACEWID 91 | 40 92 | 1.0 93 | 9 94 | $TEXTSTYLE 95 | 7 96 | STANDARD 97 | 9 98 | $CLAYER 99 | 8 100 | 0 101 | 9 102 | $CELTYPE 103 | 6 104 | BYLAYER 105 | 9 106 | $CECOLOR 107 | 62 108 | 18 109 | 9 110 | $DIMSCALE 111 | 40 112 | 1.0 113 | 9 114 | $DIMASZ 115 | 40 116 | 2.0 117 | 9 118 | $DIMEXO 119 | 40 120 | 1.0 121 | 9 122 | $DIMDLI 123 | 40 124 | 3.75 125 | 9 126 | $DIMRND 127 | 40 128 | 0.0 129 | 9 130 | $DIMDLE 131 | 40 132 | 0.0 133 | 9 134 | $DIMEXE 135 | 40 136 | 1.0 137 | 9 138 | $DIMTP 139 | 40 140 | 0.0 141 | 9 142 | $DIMTM 143 | 40 144 | 0.0 145 | 9 146 | $DIMTXT 147 | 40 148 | 2.0 149 | 9 150 | $DIMCEN 151 | 40 152 | 2.5 153 | 9 154 | $DIMTSZ 155 | 40 156 | 0.0 157 | 9 158 | $DIMTOL 159 | 70 160 | 0 161 | 9 162 | $DIMLIM 163 | 70 164 | 0 165 | 9 166 | $DIMTIH 167 | 70 168 | 1 169 | 9 170 | $DIMTOH 171 | 70 172 | 1 173 | 9 174 | $DIMSE1 175 | 70 176 | 0 177 | 9 178 | $DIMSE2 179 | 70 180 | 0 181 | 9 182 | $DIMTAD 183 | 70 184 | 1 185 | 9 186 | $DIMZIN 187 | 70 188 | 0 189 | 9 190 | $DIMBLK 191 | 1 192 | 193 | 9 194 | $DIMASO 195 | 70 196 | 1 197 | 9 198 | $DIMSHO 199 | 70 200 | 1 201 | 9 202 | $DIMPOST 203 | 1 204 | 205 | 9 206 | $DIMAPOST 207 | 1 208 | 209 | 9 210 | $DIMALT 211 | 70 212 | 0 213 | 9 214 | $DIMALTD 215 | 70 216 | 3 217 | 9 218 | $DIMALTF 219 | 40 220 | 0.0393700787401575 221 | 9 222 | $DIMLFAC 223 | 40 224 | 1.0 225 | 9 226 | $DIMTOFL 227 | 70 228 | 1 229 | 9 230 | $DIMTVP 231 | 40 232 | 0.0 233 | 9 234 | $DIMTIX 235 | 70 236 | 0 237 | 9 238 | $DIMSOXD 239 | 70 240 | 0 241 | 9 242 | $DIMSAH 243 | 70 244 | 0 245 | 9 246 | $DIMBLK1 247 | 1 248 | 249 | 9 250 | $DIMBLK2 251 | 1 252 | 253 | 9 254 | $DIMSTYLE 255 | 2 256 | STANDARD 257 | 9 258 | $DIMCLRD 259 | 70 260 | 18 261 | 9 262 | $DIMCLRE 263 | 70 264 | 18 265 | 9 266 | $DIMCLRT 267 | 70 268 | 18 269 | 9 270 | $DIMTFAC 271 | 40 272 | 1.0 273 | 9 274 | $DIMGAP 275 | 40 276 | 1.524 277 | 9 278 | $LUNITS 279 | 70 280 | 2 281 | 9 282 | $LUPREC 283 | 70 284 | 4 285 | 9 286 | $SKETCHINC 287 | 40 288 | 1.0 289 | 9 290 | $FILLETRAD 291 | 40 292 | 10.0 293 | 9 294 | $AUNITS 295 | 70 296 | 0 297 | 9 298 | $AUPREC 299 | 70 300 | 0 301 | 9 302 | $MENU 303 | 1 304 | . 305 | 9 306 | $ELEVATION 307 | 40 308 | 0.0 309 | 9 310 | $PELEVATION 311 | 40 312 | 0.0 313 | 9 314 | $THICKNESS 315 | 40 316 | 0.0 317 | 9 318 | $LIMCHECK 319 | 70 320 | 0 321 | 9 322 | $CHAMFERA 323 | 40 324 | 10.0 325 | 9 326 | $CHAMFERB 327 | 40 328 | 10.0 329 | 9 330 | $SKPOLY 331 | 70 332 | 0 333 | 9 334 | $TDCREATE 335 | 40 336 | 2456647.643769525 337 | 9 338 | $TDUPDATE 339 | 40 340 | 2456647.643769884 341 | 9 342 | $TDINDWG 343 | 40 344 | 0.0000000116 345 | 9 346 | $TDUSRTIMER 347 | 40 348 | 0.0000000116 349 | 9 350 | $USRTIMER 351 | 70 352 | 1 353 | 9 354 | $ANGBASE 355 | 50 356 | 0.0 357 | 9 358 | $ANGDIR 359 | 70 360 | 0 361 | 9 362 | $PDMODE 363 | 70 364 | 0 365 | 9 366 | $PDSIZE 367 | 40 368 | -1.0 369 | 9 370 | $PLINEWID 371 | 40 372 | 0.0 373 | 9 374 | $COORDS 375 | 70 376 | 1 377 | 9 378 | $SPLFRAME 379 | 70 380 | 0 381 | 9 382 | $SPLINETYPE 383 | 70 384 | 6 385 | 9 386 | $SPLINESEGS 387 | 70 388 | 8 389 | 9 390 | $ATTDIA 391 | 70 392 | 0 393 | 9 394 | $ATTREQ 395 | 70 396 | 1 397 | 9 398 | $HANDLING 399 | 70 400 | 1 401 | 9 402 | $HANDSEED 403 | 5 404 | 1016 405 | 9 406 | $SURFTAB1 407 | 70 408 | 6 409 | 9 410 | $SURFTAB2 411 | 70 412 | 6 413 | 9 414 | $SURFTYPE 415 | 70 416 | 6 417 | 9 418 | $SURFU 419 | 70 420 | 6 421 | 9 422 | $SURFV 423 | 70 424 | 6 425 | 9 426 | $UCSNAME 427 | 2 428 | 429 | 9 430 | $UCSORG 431 | 10 432 | 0.0 433 | 20 434 | 0.0 435 | 30 436 | 0.0 437 | 9 438 | $UCSXDIR 439 | 10 440 | 1.0 441 | 20 442 | 0.0 443 | 30 444 | 0.0 445 | 9 446 | $UCSYDIR 447 | 10 448 | 0.0 449 | 20 450 | 1.0 451 | 30 452 | 0.0 453 | 9 454 | $PUCSNAME 455 | 2 456 | 457 | 9 458 | $PUCSORG 459 | 10 460 | 0.0 461 | 20 462 | 0.0 463 | 30 464 | 0.0 465 | 9 466 | $PUCSXDIR 467 | 10 468 | 1.0 469 | 20 470 | 0.0 471 | 30 472 | 0.0 473 | 9 474 | $PUCSYDIR 475 | 10 476 | 0.0 477 | 20 478 | 1.0 479 | 30 480 | 0.0 481 | 9 482 | $USERI1 483 | 70 484 | 0 485 | 9 486 | $USERI2 487 | 70 488 | 0 489 | 9 490 | $USERI3 491 | 70 492 | 0 493 | 9 494 | $USERI4 495 | 70 496 | 0 497 | 9 498 | $USERI5 499 | 70 500 | 0 501 | 9 502 | $USERR1 503 | 40 504 | 0.0 505 | 9 506 | $USERR2 507 | 40 508 | 0.0 509 | 9 510 | $USERR3 511 | 40 512 | 0.0 513 | 9 514 | $USERR4 515 | 40 516 | 0.0 517 | 9 518 | $USERR5 519 | 40 520 | 0.0 521 | 9 522 | $WORLDVIEW 523 | 70 524 | 1 525 | 9 526 | $SHADEDGE 527 | 70 528 | 3 529 | 9 530 | $SHADEDIF 531 | 70 532 | 70 533 | 9 534 | $TILEMODE 535 | 70 536 | 1 537 | 9 538 | $MAXACTVP 539 | 70 540 | 64 541 | 9 542 | $PLIMCHECK 543 | 70 544 | 0 545 | 9 546 | $PEXTMIN 547 | 10 548 | 1.000000000000000E+20 549 | 20 550 | 1.000000000000000E+20 551 | 30 552 | 1.000000000000000E+20 553 | 9 554 | $PEXTMAX 555 | 10 556 | -1.000000000000000E+20 557 | 20 558 | -1.000000000000000E+20 559 | 30 560 | -1.000000000000000E+20 561 | 9 562 | $PLIMMIN 563 | 10 564 | 0.0 565 | 20 566 | 0.0 567 | 9 568 | $PLIMMAX 569 | 10 570 | 420.0 571 | 20 572 | 297.0 573 | 9 574 | $UNITMODE 575 | 70 576 | 0 577 | 9 578 | $VISRETAIN 579 | 70 580 | 1 581 | 9 582 | $PLINEGEN 583 | 70 584 | 0 585 | 9 586 | $PSLTSCALE 587 | 70 588 | 1 589 | 0 590 | ENDSEC 591 | 0 592 | SECTION 593 | 2 594 | TABLES 595 | 0 596 | TABLE 597 | 2 598 | VPORT 599 | 70 600 | 1 601 | 0 602 | VPORT 603 | 2 604 | *ACTIVE 605 | 70 606 | 0 607 | 10 608 | 0.0 609 | 20 610 | 0.0 611 | 11 612 | 1.0 613 | 21 614 | 1.0 615 | 12 616 | 10.42990654205607 617 | 22 618 | 4.5 619 | 13 620 | 0.0 621 | 23 622 | 0.0 623 | 14 624 | 0.5 625 | 24 626 | 0.5 627 | 15 628 | 0.5 629 | 25 630 | 0.5 631 | 16 632 | 0.0 633 | 26 634 | 0.0 635 | 36 636 | 1.0 637 | 17 638 | 0.0 639 | 27 640 | 0.0 641 | 37 642 | 0.0 643 | 40 644 | 9.0 645 | 41 646 | 1.972972972850329 647 | 42 648 | 50.0 649 | 43 650 | 0.0 651 | 44 652 | 0.0 653 | 50 654 | 0.0 655 | 51 656 | 0.0 657 | 71 658 | 0 659 | 72 660 | 100 661 | 73 662 | 1 663 | 74 664 | 3 665 | 75 666 | 0 667 | 76 668 | 0 669 | 77 670 | 0 671 | 78 672 | 0 673 | 0 674 | ENDTAB 675 | 0 676 | TABLE 677 | 2 678 | LTYPE 679 | 70 680 | 19 681 | 0 682 | LTYPE 683 | 2 684 | CONTINUOUS 685 | 70 686 | 0 687 | 3 688 | Solid line 689 | 72 690 | 65 691 | 73 692 | 0 693 | 40 694 | 0.0 695 | 0 696 | LTYPE 697 | 2 698 | BORDER 699 | 70 700 | 0 701 | 3 702 | 703 | 72 704 | 65 705 | 73 706 | 6 707 | 40 708 | 42.00000000000001 709 | 49 710 | 12.0 711 | 49 712 | -6.0 713 | 49 714 | 12.0 715 | 49 716 | -5.95 717 | 49 718 | 0.1 719 | 49 720 | -5.95 721 | 0 722 | LTYPE 723 | 2 724 | BORDER2 725 | 70 726 | 0 727 | 3 728 | 729 | 72 730 | 65 731 | 73 732 | 6 733 | 40 734 | 21.0 735 | 49 736 | 6.0 737 | 49 738 | -3.0 739 | 49 740 | 6.0 741 | 49 742 | -2.95 743 | 49 744 | 0.1 745 | 49 746 | -2.95 747 | 0 748 | LTYPE 749 | 2 750 | BORDERX2 751 | 70 752 | 0 753 | 3 754 | 755 | 72 756 | 65 757 | 73 758 | 6 759 | 40 760 | 84.0 761 | 49 762 | 24.0 763 | 49 764 | -12.0 765 | 49 766 | 24.0 767 | 49 768 | -11.95 769 | 49 770 | 0.1 771 | 49 772 | -11.95 773 | 0 774 | LTYPE 775 | 2 776 | CENTER 777 | 70 778 | 0 779 | 3 780 | 781 | 72 782 | 65 783 | 73 784 | 4 785 | 40 786 | 50.0 787 | 49 788 | 32.0 789 | 49 790 | -6.0 791 | 49 792 | 6.0 793 | 49 794 | -6.0 795 | 0 796 | LTYPE 797 | 2 798 | CENTER2 799 | 70 800 | 0 801 | 3 802 | 803 | 72 804 | 65 805 | 73 806 | 4 807 | 40 808 | 25.0 809 | 49 810 | 16.0 811 | 49 812 | -3.0 813 | 49 814 | 3.0 815 | 49 816 | -3.0 817 | 0 818 | LTYPE 819 | 2 820 | CENTERX2 821 | 70 822 | 0 823 | 3 824 | 825 | 72 826 | 65 827 | 73 828 | 4 829 | 40 830 | 100.0 831 | 49 832 | 64.0 833 | 49 834 | -12.0 835 | 49 836 | 12.0 837 | 49 838 | -12.0 839 | 0 840 | LTYPE 841 | 2 842 | DASHDOT 843 | 70 844 | 0 845 | 3 846 | 847 | 72 848 | 65 849 | 73 850 | 4 851 | 40 852 | 24.0 853 | 49 854 | 12.0 855 | 49 856 | -5.95 857 | 49 858 | 0.1 859 | 49 860 | -5.95 861 | 0 862 | LTYPE 863 | 2 864 | DASHDOT2 865 | 70 866 | 0 867 | 3 868 | 869 | 72 870 | 65 871 | 73 872 | 4 873 | 40 874 | 12.0 875 | 49 876 | 6.0 877 | 49 878 | -2.95 879 | 49 880 | 0.1 881 | 49 882 | -2.95 883 | 0 884 | LTYPE 885 | 2 886 | DASHDOTX2 887 | 70 888 | 0 889 | 3 890 | 891 | 72 892 | 65 893 | 73 894 | 4 895 | 40 896 | 48.0 897 | 49 898 | 24.0 899 | 49 900 | -11.95 901 | 49 902 | 0.1 903 | 49 904 | -11.95 905 | 0 906 | LTYPE 907 | 2 908 | DASHED 909 | 70 910 | 0 911 | 3 912 | 913 | 72 914 | 65 915 | 73 916 | 2 917 | 40 918 | 18.0 919 | 49 920 | 12.0 921 | 49 922 | -6.0 923 | 0 924 | LTYPE 925 | 2 926 | DASHED2 927 | 70 928 | 0 929 | 3 930 | 931 | 72 932 | 65 933 | 73 934 | 2 935 | 40 936 | 9.0 937 | 49 938 | 6.0 939 | 49 940 | -3.0 941 | 0 942 | LTYPE 943 | 2 944 | DASHEDX2 945 | 70 946 | 0 947 | 3 948 | 949 | 72 950 | 65 951 | 73 952 | 2 953 | 40 954 | 36.0 955 | 49 956 | 24.0 957 | 49 958 | -12.0 959 | 0 960 | LTYPE 961 | 2 962 | DIVIDE 963 | 70 964 | 0 965 | 3 966 | 967 | 72 968 | 65 969 | 73 970 | 6 971 | 40 972 | 29.99999999999999 973 | 49 974 | 12.0 975 | 49 976 | -5.9 977 | 49 978 | 0.15 979 | 49 980 | -5.9 981 | 49 982 | 0.15 983 | 49 984 | -5.9 985 | 0 986 | LTYPE 987 | 2 988 | DIVIDE2 989 | 70 990 | 0 991 | 3 992 | 993 | 72 994 | 65 995 | 73 996 | 6 997 | 40 998 | 15.0 999 | 49 1000 | 6.0 1001 | 49 1002 | -2.9 1003 | 49 1004 | 0.15 1005 | 49 1006 | -2.9 1007 | 49 1008 | 0.15 1009 | 49 1010 | -2.9 1011 | 0 1012 | LTYPE 1013 | 2 1014 | DIVIDEX2 1015 | 70 1016 | 0 1017 | 3 1018 | 1019 | 72 1020 | 65 1021 | 73 1022 | 6 1023 | 40 1024 | 59.99999999999999 1025 | 49 1026 | 24.0 1027 | 49 1028 | -11.9 1029 | 49 1030 | 0.15 1031 | 49 1032 | -11.9 1033 | 49 1034 | 0.15 1035 | 49 1036 | -11.9 1037 | 0 1038 | LTYPE 1039 | 2 1040 | DOT 1041 | 70 1042 | 0 1043 | 3 1044 | 1045 | 72 1046 | 65 1047 | 73 1048 | 2 1049 | 40 1050 | 6.3 1051 | 49 1052 | 0.1 1053 | 49 1054 | -6.2 1055 | 0 1056 | LTYPE 1057 | 2 1058 | DOT2 1059 | 70 1060 | 0 1061 | 3 1062 | 1063 | 72 1064 | 65 1065 | 73 1066 | 2 1067 | 40 1068 | 3.2 1069 | 49 1070 | 0.1 1071 | 49 1072 | -3.1 1073 | 0 1074 | LTYPE 1075 | 2 1076 | DOTX2 1077 | 70 1078 | 0 1079 | 3 1080 | 1081 | 72 1082 | 65 1083 | 73 1084 | 2 1085 | 40 1086 | 12.5 1087 | 49 1088 | 0.1 1089 | 49 1090 | -12.4 1091 | 0 1092 | ENDTAB 1093 | 0 1094 | TABLE 1095 | 2 1096 | LAYER 1097 | 70 1098 | 5 1099 | 0 1100 | LAYER 1101 | 2 1102 | 0 1103 | 70 1104 | 0 1105 | 62 1106 | 7 1107 | 6 1108 | CONTINUOUS 1109 | 0 1110 | LAYER 1111 | 2 1112 | SLD-0 1113 | 70 1114 | 0 1115 | 62 1116 | 7 1117 | 6 1118 | CONTINUOUS 1119 | 0 1120 | LAYER 1121 | 2 1122 | QUOTE 1123 | 70 1124 | 0 1125 | 62 1126 | 8 1127 | 6 1128 | CONTINUOUS 1129 | 0 1130 | LAYER 1131 | 2 1132 | LAVORAZIONI 1133 | 70 1134 | 0 1135 | 62 1136 | 1 1137 | 6 1138 | CONTINUOUS 1139 | 0 1140 | LAYER 1141 | 2 1142 | CARTIGLIO 1143 | 70 1144 | 0 1145 | 62 1146 | 7 1147 | 6 1148 | CONTINUOUS 1149 | 0 1150 | ENDTAB 1151 | 0 1152 | TABLE 1153 | 2 1154 | STYLE 1155 | 70 1156 | 30 1157 | 0 1158 | STYLE 1159 | 2 1160 | STANDARD 1161 | 70 1162 | 0 1163 | 40 1164 | 0.0 1165 | 41 1166 | 1.0 1167 | 50 1168 | 0.0 1169 | 71 1170 | 0 1171 | 42 1172 | 3.5 1173 | 3 1174 | txt 1175 | 4 1176 | 1177 | 0 1178 | STYLE 1179 | 2 1180 | TEXTSTYLE0 1181 | 70 1182 | 0 1183 | 40 1184 | 0.0 1185 | 41 1186 | 1.0 1187 | 50 1188 | 0.0 1189 | 71 1190 | 0 1191 | 42 1192 | 3.5 1193 | 3 1194 | standard 1195 | 4 1196 | 1197 | 0 1198 | STYLE 1199 | 2 1200 | TEXTSTYLE1 1201 | 70 1202 | 0 1203 | 40 1204 | 0.0 1205 | 41 1206 | 1.0 1207 | 50 1208 | 0.0 1209 | 71 1210 | 0 1211 | 42 1212 | 3.5 1213 | 3 1214 | standard 1215 | 4 1216 | 1217 | 0 1218 | STYLE 1219 | 2 1220 | TEXTSTYLE2 1221 | 70 1222 | 0 1223 | 40 1224 | 0.0 1225 | 41 1226 | 1.0 1227 | 50 1228 | 0.0 1229 | 71 1230 | 0 1231 | 42 1232 | 3.5 1233 | 3 1234 | standard 1235 | 4 1236 | 1237 | 0 1238 | STYLE 1239 | 2 1240 | TEXTSTYLE3 1241 | 70 1242 | 0 1243 | 40 1244 | 0.0 1245 | 41 1246 | 1.0 1247 | 50 1248 | 0.0 1249 | 71 1250 | 0 1251 | 42 1252 | 3.5 1253 | 3 1254 | standard 1255 | 4 1256 | 1257 | 0 1258 | STYLE 1259 | 2 1260 | TEXTSTYLE4 1261 | 70 1262 | 0 1263 | 40 1264 | 0.0 1265 | 41 1266 | 1.0 1267 | 50 1268 | 0.0 1269 | 71 1270 | 0 1271 | 42 1272 | 3.5 1273 | 3 1274 | standard 1275 | 4 1276 | 1277 | 0 1278 | STYLE 1279 | 2 1280 | TEXTSTYLE5 1281 | 70 1282 | 0 1283 | 40 1284 | 0.0 1285 | 41 1286 | 1.0 1287 | 50 1288 | 0.0 1289 | 71 1290 | 0 1291 | 42 1292 | 3.5 1293 | 3 1294 | standard 1295 | 4 1296 | 1297 | 0 1298 | STYLE 1299 | 2 1300 | TEXTSTYLE6 1301 | 70 1302 | 0 1303 | 40 1304 | 0.0 1305 | 41 1306 | 1.0 1307 | 50 1308 | 0.0 1309 | 71 1310 | 0 1311 | 42 1312 | 3.5 1313 | 3 1314 | standard 1315 | 4 1316 | 1317 | 0 1318 | STYLE 1319 | 2 1320 | TEXTSTYLE7 1321 | 70 1322 | 0 1323 | 40 1324 | 0.0 1325 | 41 1326 | 1.0 1327 | 50 1328 | 0.0 1329 | 71 1330 | 0 1331 | 42 1332 | 3.5 1333 | 3 1334 | standard 1335 | 4 1336 | 1337 | 0 1338 | STYLE 1339 | 2 1340 | TEXTSTYLE8 1341 | 70 1342 | 0 1343 | 40 1344 | 0.0 1345 | 41 1346 | 1.0 1347 | 50 1348 | 0.0 1349 | 71 1350 | 0 1351 | 42 1352 | 3.5 1353 | 3 1354 | standard 1355 | 4 1356 | 1357 | 0 1358 | STYLE 1359 | 2 1360 | TEXTSTYLE9 1361 | 70 1362 | 0 1363 | 40 1364 | 0.0 1365 | 41 1366 | 1.0 1367 | 50 1368 | 0.0 1369 | 71 1370 | 0 1371 | 42 1372 | 3.5 1373 | 3 1374 | standard 1375 | 4 1376 | 1377 | 0 1378 | STYLE 1379 | 2 1380 | TEXTSTYLE10 1381 | 70 1382 | 0 1383 | 40 1384 | 0.0 1385 | 41 1386 | 1.0 1387 | 50 1388 | 0.0 1389 | 71 1390 | 0 1391 | 42 1392 | 3.5 1393 | 3 1394 | standard 1395 | 4 1396 | 1397 | 0 1398 | STYLE 1399 | 2 1400 | TEXTSTYLE11 1401 | 70 1402 | 0 1403 | 40 1404 | 0.0 1405 | 41 1406 | 1.0 1407 | 50 1408 | 0.0 1409 | 71 1410 | 0 1411 | 42 1412 | 3.5 1413 | 3 1414 | standard 1415 | 4 1416 | 1417 | 0 1418 | STYLE 1419 | 2 1420 | TEXTSTYLE12 1421 | 70 1422 | 0 1423 | 40 1424 | 0.0 1425 | 41 1426 | 1.0 1427 | 50 1428 | 0.0 1429 | 71 1430 | 0 1431 | 42 1432 | 3.5 1433 | 3 1434 | standard 1435 | 4 1436 | 1437 | 0 1438 | STYLE 1439 | 2 1440 | TEXTSTYLE13 1441 | 70 1442 | 0 1443 | 40 1444 | 0.0 1445 | 41 1446 | 1.0 1447 | 50 1448 | 0.0 1449 | 71 1450 | 0 1451 | 42 1452 | 3.5 1453 | 3 1454 | standard 1455 | 4 1456 | 1457 | 0 1458 | STYLE 1459 | 2 1460 | TEXTSTYLE14 1461 | 70 1462 | 0 1463 | 40 1464 | 0.0 1465 | 41 1466 | 1.0 1467 | 50 1468 | 0.0 1469 | 71 1470 | 0 1471 | 42 1472 | 3.5 1473 | 3 1474 | standard 1475 | 4 1476 | 1477 | 0 1478 | STYLE 1479 | 2 1480 | TEXTSTYLE15 1481 | 70 1482 | 0 1483 | 40 1484 | 0.0 1485 | 41 1486 | 1.0 1487 | 50 1488 | 0.0 1489 | 71 1490 | 0 1491 | 42 1492 | 3.5 1493 | 3 1494 | standard 1495 | 4 1496 | 1497 | 0 1498 | STYLE 1499 | 2 1500 | TEXTSTYLE16 1501 | 70 1502 | 0 1503 | 40 1504 | 0.0 1505 | 41 1506 | 1.0 1507 | 50 1508 | 0.0 1509 | 71 1510 | 0 1511 | 42 1512 | 3.5 1513 | 3 1514 | standard 1515 | 4 1516 | 1517 | 0 1518 | STYLE 1519 | 2 1520 | TEXTSTYLE17 1521 | 70 1522 | 0 1523 | 40 1524 | 0.0 1525 | 41 1526 | 1.0 1527 | 50 1528 | 0.0 1529 | 71 1530 | 0 1531 | 42 1532 | 3.5 1533 | 3 1534 | standard 1535 | 4 1536 | 1537 | 0 1538 | STYLE 1539 | 2 1540 | TEXTSTYLE18 1541 | 70 1542 | 0 1543 | 40 1544 | 0.0 1545 | 41 1546 | 1.0 1547 | 50 1548 | 0.0 1549 | 71 1550 | 0 1551 | 42 1552 | 3.5 1553 | 3 1554 | standard 1555 | 4 1556 | 1557 | 0 1558 | STYLE 1559 | 2 1560 | TEXTSTYLE19 1561 | 70 1562 | 0 1563 | 40 1564 | 0.0 1565 | 41 1566 | 1.0 1567 | 50 1568 | 0.0 1569 | 71 1570 | 0 1571 | 42 1572 | 3.5 1573 | 3 1574 | standard 1575 | 4 1576 | 1577 | 0 1578 | STYLE 1579 | 2 1580 | TEXTSTYLE20 1581 | 70 1582 | 0 1583 | 40 1584 | 0.0 1585 | 41 1586 | 1.0 1587 | 50 1588 | 0.0 1589 | 71 1590 | 0 1591 | 42 1592 | 3.5 1593 | 3 1594 | standard 1595 | 4 1596 | 1597 | 0 1598 | STYLE 1599 | 2 1600 | TEXTSTYLE21 1601 | 70 1602 | 0 1603 | 40 1604 | 0.0 1605 | 41 1606 | 1.0 1607 | 50 1608 | 0.0 1609 | 71 1610 | 0 1611 | 42 1612 | 3.5 1613 | 3 1614 | standard 1615 | 4 1616 | 1617 | 0 1618 | STYLE 1619 | 2 1620 | TEXTSTYLE22 1621 | 70 1622 | 0 1623 | 40 1624 | 0.0 1625 | 41 1626 | 1.0 1627 | 50 1628 | 0.0 1629 | 71 1630 | 0 1631 | 42 1632 | 3.5 1633 | 3 1634 | standard 1635 | 4 1636 | 1637 | 0 1638 | STYLE 1639 | 2 1640 | TEXTSTYLE23 1641 | 70 1642 | 0 1643 | 40 1644 | 0.0 1645 | 41 1646 | 1.0 1647 | 50 1648 | 0.0 1649 | 71 1650 | 0 1651 | 42 1652 | 3.5 1653 | 3 1654 | standard 1655 | 4 1656 | 1657 | 0 1658 | STYLE 1659 | 2 1660 | TEXTSTYLE24 1661 | 70 1662 | 0 1663 | 40 1664 | 0.0 1665 | 41 1666 | 1.0 1667 | 50 1668 | 0.0 1669 | 71 1670 | 0 1671 | 42 1672 | 3.5 1673 | 3 1674 | standard 1675 | 4 1676 | 1677 | 0 1678 | STYLE 1679 | 2 1680 | TEXTSTYLE25 1681 | 70 1682 | 0 1683 | 40 1684 | 0.0 1685 | 41 1686 | 1.0 1687 | 50 1688 | 0.0 1689 | 71 1690 | 0 1691 | 42 1692 | 3.5 1693 | 3 1694 | standard 1695 | 4 1696 | 1697 | 0 1698 | STYLE 1699 | 2 1700 | TEXTSTYLE26 1701 | 70 1702 | 0 1703 | 40 1704 | 0.0 1705 | 41 1706 | 1.0 1707 | 50 1708 | 0.0 1709 | 71 1710 | 0 1711 | 42 1712 | 3.5 1713 | 3 1714 | standard 1715 | 4 1716 | 1717 | 0 1718 | STYLE 1719 | 2 1720 | TEXTSTYLE27 1721 | 70 1722 | 0 1723 | 40 1724 | 0.0 1725 | 41 1726 | 1.0 1727 | 50 1728 | 0.0 1729 | 71 1730 | 0 1731 | 42 1732 | 3.5 1733 | 3 1734 | standard 1735 | 4 1736 | 1737 | 0 1738 | STYLE 1739 | 2 1740 | TEXTSTYLE28 1741 | 70 1742 | 0 1743 | 40 1744 | 0.0 1745 | 41 1746 | 1.0 1747 | 50 1748 | 0.0 1749 | 71 1750 | 0 1751 | 42 1752 | 3.5 1753 | 3 1754 | standard 1755 | 4 1756 | 1757 | 0 1758 | ENDTAB 1759 | 0 1760 | TABLE 1761 | 2 1762 | VIEW 1763 | 70 1764 | 0 1765 | 0 1766 | ENDTAB 1767 | 0 1768 | TABLE 1769 | 2 1770 | UCS 1771 | 70 1772 | 0 1773 | 0 1774 | ENDTAB 1775 | 0 1776 | TABLE 1777 | 2 1778 | APPID 1779 | 70 1780 | 2 1781 | 0 1782 | APPID 1783 | 2 1784 | ACAD 1785 | 70 1786 | 0 1787 | 0 1788 | APPID 1789 | 2 1790 | QCAD 1791 | 70 1792 | 0 1793 | 0 1794 | ENDTAB 1795 | 0 1796 | TABLE 1797 | 2 1798 | DIMSTYLE 1799 | 70 1800 | 2 1801 | 0 1802 | DIMSTYLE 1803 | 2 1804 | STANDARD 1805 | 70 1806 | 0 1807 | 3 1808 | 1809 | 4 1810 | 1811 | 5 1812 | 1813 | 6 1814 | 1815 | 7 1816 | 1817 | 40 1818 | 1.0 1819 | 41 1820 | 0.18 1821 | 42 1822 | 0.0625 1823 | 43 1824 | 0.38 1825 | 44 1826 | 0.18 1827 | 45 1828 | 0.0 1829 | 46 1830 | 0.0 1831 | 47 1832 | 0.0 1833 | 48 1834 | 0.0 1835 | 140 1836 | 0.18 1837 | 141 1838 | 0.09 1839 | 142 1840 | 0.0 1841 | 143 1842 | 25.4 1843 | 144 1844 | 1.0 1845 | 145 1846 | 0.0 1847 | 146 1848 | 1.0 1849 | 147 1850 | 0.09 1851 | 71 1852 | 0 1853 | 72 1854 | 0 1855 | 73 1856 | 1 1857 | 74 1858 | 1 1859 | 75 1860 | 0 1861 | 76 1862 | 0 1863 | 77 1864 | 0 1865 | 78 1866 | 0 1867 | 170 1868 | 0 1869 | 171 1870 | 2 1871 | 172 1872 | 0 1873 | 173 1874 | 0 1875 | 174 1876 | 0 1877 | 175 1878 | 0 1879 | 176 1880 | 0 1881 | 177 1882 | 0 1883 | 178 1884 | 0 1885 | 0 1886 | DIMSTYLE 1887 | 2 1888 | QCADDIMSTYLE 1889 | 70 1890 | 0 1891 | 3 1892 | 1893 | 4 1894 | 1895 | 5 1896 | 1897 | 6 1898 | 1899 | 7 1900 | 1901 | 40 1902 | 1.0 1903 | 41 1904 | 2.0 1905 | 42 1906 | 1.0 1907 | 43 1908 | 0.38 1909 | 44 1910 | 1.0 1911 | 45 1912 | 0.0 1913 | 46 1914 | 0.0 1915 | 47 1916 | 0.0 1917 | 48 1918 | 0.0 1919 | 140 1920 | 2.0 1921 | 141 1922 | 0.09 1923 | 142 1924 | 0.0 1925 | 143 1926 | 25.4 1927 | 144 1928 | 1.0 1929 | 145 1930 | 0.0 1931 | 146 1932 | 1.0 1933 | 147 1934 | 1.524 1935 | 71 1936 | 0 1937 | 72 1938 | 0 1939 | 73 1940 | 0 1941 | 74 1942 | 1 1943 | 75 1944 | 0 1945 | 76 1946 | 0 1947 | 77 1948 | 1 1949 | 78 1950 | 0 1951 | 170 1952 | 0 1953 | 171 1954 | 2 1955 | 172 1956 | 0 1957 | 173 1958 | 0 1959 | 174 1960 | 0 1961 | 175 1962 | 0 1963 | 176 1964 | 0 1965 | 177 1966 | 0 1967 | 178 1968 | 0 1969 | 0 1970 | ENDTAB 1971 | 0 1972 | ENDSEC 1973 | 0 1974 | SECTION 1975 | 2 1976 | BLOCKS 1977 | 0 1978 | BLOCK 1979 | 8 1980 | 0 1981 | 2 1982 | $MODEL_SPACE 1983 | 70 1984 | 0 1985 | 10 1986 | 0.0 1987 | 20 1988 | 0.0 1989 | 30 1990 | 0.0 1991 | 3 1992 | $MODEL_SPACE 1993 | 1 1994 | 1995 | 0 1996 | ENDBLK 1997 | 5 1998 | F24 1999 | 8 2000 | 0 2001 | 0 2002 | BLOCK 2003 | 67 2004 | 1 2005 | 8 2006 | 0 2007 | 2 2008 | $PAPER_SPACE 2009 | 70 2010 | 0 2011 | 10 2012 | 0.0 2013 | 20 2014 | 0.0 2015 | 30 2016 | 0.0 2017 | 3 2018 | $PAPER_SPACE 2019 | 1 2020 | 2021 | 0 2022 | ENDBLK 2023 | 5 2024 | F20 2025 | 67 2026 | 1 2027 | 8 2028 | 0 2029 | 0 2030 | BLOCK 2031 | 8 2032 | 0 2033 | 2 2034 | SW_NOTE_10 2035 | 70 2036 | 0 2037 | 10 2038 | 0.0 2039 | 20 2040 | 0.0 2041 | 30 2042 | 0.0 2043 | 3 2044 | SW_NOTE_10 2045 | 1 2046 | 2047 | 0 2048 | TEXT 2049 | 5 2050 | 7E2 2051 | 8 2052 | LAVORAZIONI 2053 | 6 2054 | CONTINUOUS 2055 | 62 2056 | 0 2057 | 10 2058 | -20.23350316230275 2059 | 20 2060 | -1.790176392751518 2061 | 30 2062 | 0.0 2063 | 40 2064 | 3.5 2065 | 1 2066 | Air Vents 2067 | 7 2068 | TEXTSTYLE12 2069 | 0 2070 | ENDBLK 2071 | 5 2072 | FB3 2073 | 8 2074 | 0 2075 | 0 2076 | BLOCK 2077 | 8 2078 | 0 2079 | 2 2080 | SW_NOTE_11 2081 | 70 2082 | 0 2083 | 10 2084 | 0.0 2085 | 20 2086 | 0.0 2087 | 30 2088 | 0.0 2089 | 3 2090 | SW_NOTE_11 2091 | 1 2092 | 2093 | 0 2094 | TEXT 2095 | 5 2096 | 7E3 2097 | 8 2098 | LAVORAZIONI 2099 | 6 2100 | CONTINUOUS 2101 | 62 2102 | 0 2103 | 10 2104 | 0.0992119275824437 2105 | 20 2106 | -2.077887153715473 2107 | 30 2108 | 0.0 2109 | 40 2110 | 3.5 2111 | 1 2112 | Snap-on closing 2113 | 7 2114 | TEXTSTYLE13 2115 | 0 2116 | ENDBLK 2117 | 5 2118 | FB6 2119 | 8 2120 | 0 2121 | 0 2122 | BLOCK 2123 | 8 2124 | 0 2125 | 2 2126 | SW_NOTE_12 2127 | 70 2128 | 0 2129 | 10 2130 | 0.0 2131 | 20 2132 | 0.0 2133 | 30 2134 | 0.0 2135 | 3 2136 | SW_NOTE_12 2137 | 1 2138 | 2139 | 0 2140 | TEXT 2141 | 5 2142 | 7E4 2143 | 8 2144 | LAVORAZIONI 2145 | 6 2146 | CONTINUOUS 2147 | 62 2148 | 0 2149 | 10 2150 | 0.0444592639500812 2151 | 20 2152 | -1.908380098819844 2153 | 30 2154 | 0.0 2155 | 40 2156 | 3.5 2157 | 1 2158 | Guidelight 2159 | 7 2160 | TEXTSTYLE14 2161 | 0 2162 | ENDBLK 2163 | 5 2164 | FB9 2165 | 8 2166 | 0 2167 | 0 2168 | BLOCK 2169 | 8 2170 | 0 2171 | 2 2172 | _D_2 2173 | 70 2174 | 0 2175 | 10 2176 | 0.0 2177 | 20 2178 | 0.0 2179 | 30 2180 | 0.0 2181 | 3 2182 | _D_2 2183 | 1 2184 | 2185 | 0 2186 | SOLID 2187 | 5 2188 | 7E5 2189 | 8 2190 | CARTIGLIO 2191 | 10 2192 | 339.1745621810466 2193 | 20 2194 | 277.044297343379 2195 | 30 2196 | 0.0 2197 | 11 2198 | 338.6745621810466 2199 | 21 2200 | 275.044297343379 2201 | 31 2202 | 0.0 2203 | 12 2204 | 339.6745621810466 2205 | 22 2206 | 275.044297343379 2207 | 32 2208 | 0.0 2209 | 13 2210 | 339.6745621810466 2211 | 23 2212 | 275.044297343379 2213 | 33 2214 | 0.0 2215 | 0 2216 | SOLID 2217 | 5 2218 | 7E6 2219 | 8 2220 | CARTIGLIO 2221 | 10 2222 | 339.1745621810466 2223 | 20 2224 | 256.144297343379 2225 | 30 2226 | 0.0 2227 | 11 2228 | 339.6745621810466 2229 | 21 2230 | 258.144297343379 2231 | 31 2232 | 0.0 2233 | 12 2234 | 338.6745621810466 2235 | 22 2236 | 258.144297343379 2237 | 32 2238 | 0.0 2239 | 13 2240 | 338.6745621810466 2241 | 23 2242 | 258.144297343379 2243 | 33 2244 | 0.0 2245 | 0 2246 | LINE 2247 | 5 2248 | 7E7 2249 | 8 2250 | CARTIGLIO 2251 | 10 2252 | 329.6743113823226 2253 | 20 2254 | 277.044297343379 2255 | 30 2256 | 0.0 2257 | 11 2258 | 340.1745621810466 2259 | 21 2260 | 277.044297343379 2261 | 31 2262 | 0.0 2263 | 0 2264 | LINE 2265 | 5 2266 | 7E8 2267 | 8 2268 | CARTIGLIO 2269 | 10 2270 | 329.6743113823226 2271 | 20 2272 | 256.144297343379 2273 | 30 2274 | 0.0 2275 | 11 2276 | 340.1745621810466 2277 | 21 2278 | 256.144297343379 2279 | 31 2280 | 0.0 2281 | 0 2282 | LINE 2283 | 5 2284 | 7E9 2285 | 8 2286 | CARTIGLIO 2287 | 10 2288 | 339.1745621810466 2289 | 20 2290 | 277.044297343379 2291 | 30 2292 | 0.0 2293 | 11 2294 | 339.1745621810466 2295 | 21 2296 | 256.144297343379 2297 | 31 2298 | 0.0 2299 | 0 2300 | TEXT 2301 | 5 2302 | 7EA 2303 | 8 2304 | CARTIGLIO 2305 | 6 2306 | CONTINUOUS 2307 | 10 2308 | 338.596426643295 2309 | 20 2310 | 261.4753341729022 2311 | 30 2312 | 29.08030430597775 2313 | 40 2314 | 2.0 2315 | 1 2316 | 20,9 2317 | 50 2318 | 90.0000000000004 2319 | 7 2320 | TEXTSTYLE15 2321 | 0 2322 | ENDBLK 2323 | 5 2324 | FBC 2325 | 8 2326 | 0 2327 | 0 2328 | BLOCK 2329 | 8 2330 | 0 2331 | 2 2332 | _D_3 2333 | 70 2334 | 0 2335 | 10 2336 | 0.0 2337 | 20 2338 | 0.0 2339 | 30 2340 | 0.0 2341 | 3 2342 | _D_3 2343 | 1 2344 | 2345 | 0 2346 | SOLID 2347 | 5 2348 | 7EB 2349 | 8 2350 | CARTIGLIO 2351 | 10 2352 | 344.2064894686938 2353 | 20 2354 | 253.044297343379 2355 | 30 2356 | 0.0 2357 | 11 2358 | 344.7064894686938 2359 | 21 2360 | 255.044297343379 2361 | 31 2362 | 0.0 2363 | 12 2364 | 343.7064894686938 2365 | 22 2366 | 255.044297343379 2367 | 32 2368 | 0.0 2369 | 13 2370 | 343.7064894686938 2371 | 23 2372 | 255.044297343379 2373 | 33 2374 | 0.0 2375 | 0 2376 | SOLID 2377 | 5 2378 | 7EC 2379 | 8 2380 | CARTIGLIO 2381 | 10 2382 | 344.2064894686938 2383 | 20 2384 | 279.544297343379 2385 | 30 2386 | 0.0 2387 | 11 2388 | 343.7064894686938 2389 | 21 2390 | 277.544297343379 2391 | 31 2392 | 0.0 2393 | 12 2394 | 344.7064894686938 2395 | 22 2396 | 277.544297343379 2397 | 32 2398 | 0.0 2399 | 13 2400 | 344.7064894686938 2401 | 23 2402 | 277.544297343379 2403 | 33 2404 | 0.0 2405 | 0 2406 | LINE 2407 | 5 2408 | 7ED 2409 | 8 2410 | CARTIGLIO 2411 | 10 2412 | 320.6274358008204 2413 | 20 2414 | 253.044297343379 2415 | 30 2416 | 0.0 2417 | 11 2418 | 345.2064894686938 2419 | 21 2420 | 253.044297343379 2421 | 31 2422 | 0.0 2423 | 0 2424 | LINE 2425 | 5 2426 | 7EE 2427 | 8 2428 | CARTIGLIO 2429 | 10 2430 | 324.8524860018261 2431 | 20 2432 | 279.544297343379 2433 | 30 2434 | 0.0 2435 | 11 2436 | 345.2064894686938 2437 | 21 2438 | 279.544297343379 2439 | 31 2440 | 0.0 2441 | 0 2442 | LINE 2443 | 5 2444 | 7EF 2445 | 8 2446 | CARTIGLIO 2447 | 10 2448 | 344.2064894686938 2449 | 20 2450 | 253.044297343379 2451 | 30 2452 | 0.0 2453 | 11 2454 | 344.2064894686938 2455 | 21 2456 | 279.544297343379 2457 | 31 2458 | 0.0 2459 | 0 2460 | TEXT 2461 | 5 2462 | 7F0 2463 | 8 2464 | CARTIGLIO 2465 | 6 2466 | CONTINUOUS 2467 | 10 2468 | 343.6283539309422 2469 | 20 2470 | 261.4753341729023 2471 | 30 2472 | 29.08030430597775 2473 | 40 2474 | 2.0 2475 | 1 2476 | 26,5 2477 | 50 2478 | 90.0 2479 | 7 2480 | TEXTSTYLE16 2481 | 0 2482 | ENDBLK 2483 | 5 2484 | FBF 2485 | 8 2486 | 0 2487 | 0 2488 | BLOCK 2489 | 8 2490 | 0 2491 | 2 2492 | SW_NOTE_13 2493 | 70 2494 | 0 2495 | 10 2496 | 0.0 2497 | 20 2498 | 0.0 2499 | 30 2500 | 0.0 2501 | 3 2502 | SW_NOTE_13 2503 | 1 2504 | 2505 | 0 2506 | TEXT 2507 | 5 2508 | 7F1 2509 | 8 2510 | CARTIGLIO 2511 | 6 2512 | CONTINUOUS 2513 | 62 2514 | 0 2515 | 10 2516 | -0.2039496527777656 2517 | 20 2518 | 1.070755086071998 2519 | 30 2520 | 0.0 2521 | 40 2522 | 3.704166666666666 2523 | 1 2524 | SECTION 2525 | 7 2526 | TEXTSTYLE17 2527 | 0 2528 | TEXT 2529 | 5 2530 | 7F2 2531 | 8 2532 | CARTIGLIO 2533 | 6 2534 | CONTINUOUS 2535 | 62 2536 | 0 2537 | 10 2538 | 22.27032229370542 2539 | 20 2540 | 1.070755086071998 2541 | 30 2542 | 0.0 2543 | 40 2544 | 3.704166666666666 2545 | 1 2546 | A-A 2547 | 7 2548 | TEXTSTYLE18 2549 | 0 2550 | ENDBLK 2551 | 5 2552 | FC2 2553 | 8 2554 | 0 2555 | 0 2556 | BLOCK 2557 | 8 2558 | 0 2559 | 2 2560 | SW_NOTE_14 2561 | 70 2562 | 0 2563 | 10 2564 | 0.0 2565 | 20 2566 | 0.0 2567 | 30 2568 | 0.0 2569 | 3 2570 | SW_NOTE_14 2571 | 1 2572 | 2573 | 0 2574 | TEXT 2575 | 5 2576 | 7F3 2577 | 8 2578 | LAVORAZIONI 2579 | 6 2580 | CONTINUOUS 2581 | 62 2582 | 0 2583 | 10 2584 | -12.92934391324432 2585 | 20 2586 | -1.648786497359664 2587 | 30 2588 | 0.0 2589 | 40 2590 | 3.5 2591 | 1 2592 | GPIO 2593 | 7 2594 | TEXTSTYLE19 2595 | 0 2596 | ENDBLK 2597 | 5 2598 | FC5 2599 | 8 2600 | 0 2601 | 0 2602 | BLOCK 2603 | 8 2604 | 0 2605 | 2 2606 | SW_NOTE_0 2607 | 70 2608 | 0 2609 | 10 2610 | 0.0 2611 | 20 2612 | 0.0 2613 | 30 2614 | 0.0 2615 | 3 2616 | SW_NOTE_0 2617 | 1 2618 | 2619 | 0 2620 | TEXT 2621 | 5 2622 | 7F4 2623 | 8 2624 | CARTIGLIO 2625 | 6 2626 | CONTINUOUS 2627 | 62 2628 | 0 2629 | 10 2630 | -6.825105485232098 2631 | 20 2632 | 0.5311871227364149 2633 | 30 2634 | 0.0 2635 | 40 2636 | 2.2 2637 | 1 2638 | Subject to technical modification without prior notice. 2639 | 7 2640 | TEXTSTYLE20 2641 | 0 2642 | TEXT 2643 | 5 2644 | 7F5 2645 | 8 2646 | CARTIGLIO 2647 | 6 2648 | CONTINUOUS 2649 | 62 2650 | 0 2651 | 10 2652 | -21.44479260701526 2653 | 20 2654 | -3.087332164819991 2655 | 30 2656 | 0.0 2657 | 40 2658 | 2.2 2659 | 1 2660 | Tipographical and other errors do not justify any claim for damages. 2661 | 7 2662 | TEXTSTYLE21 2663 | 0 2664 | TEXT 2665 | 5 2666 | 7F6 2667 | 8 2668 | CARTIGLIO 2669 | 6 2670 | CONTINUOUS 2671 | 62 2672 | 0 2673 | 10 2674 | -16.21141498181891 2675 | 20 2676 | -6.7058514523764 2677 | 30 2678 | 0.0 2679 | 40 2680 | 2.2 2681 | 1 2682 | All dimensions should be verified using an actual moulded part. 2683 | 7 2684 | TEXTSTYLE22 2685 | 0 2686 | ENDBLK 2687 | 5 2688 | FC8 2689 | 8 2690 | 0 2691 | 0 2692 | BLOCK 2693 | 8 2694 | 0 2695 | 2 2696 | SW_NOTE_1 2697 | 70 2698 | 0 2699 | 10 2700 | 0.0 2701 | 20 2702 | 0.0 2703 | 30 2704 | 0.0 2705 | 3 2706 | SW_NOTE_1 2707 | 1 2708 | 2709 | 0 2710 | TEXT 2711 | 5 2712 | 7F7 2713 | 8 2714 | CARTIGLIO 2715 | 6 2716 | CONTINUOUS 2717 | 62 2718 | 0 2719 | 10 2720 | -6.666742013261015 2721 | 20 2722 | 0.482897384305836 2723 | 30 2724 | 0.0 2725 | 40 2726 | 2.0 2727 | 1 2728 | This document contains proprietary information of TEKO S.p.a. 2729 | 7 2730 | TEXTSTYLE23 2731 | 0 2732 | TEXT 2733 | 5 2734 | 7F8 2735 | 8 2736 | CARTIGLIO 2737 | 6 2738 | CONTINUOUS 2739 | 62 2740 | 0 2741 | 10 2742 | 85.15664910616246 2743 | 20 2744 | 0.482897384305836 2745 | 30 2746 | 0.0 2747 | 40 2748 | 2.0 2749 | 1 2750 | and is tendered 2751 | 7 2752 | TEXTSTYLE24 2753 | 0 2754 | TEXT 2755 | 5 2756 | 7F9 2757 | 8 2758 | CARTIGLIO 2759 | 6 2760 | CONTINUOUS 2761 | 62 2762 | 0 2763 | 10 2764 | -10.46512690249375 2765 | 20 2766 | -2.10043590680754 2767 | 30 2768 | 0.0 2769 | 40 2770 | 2.0 2771 | 1 2772 | subject to the conditions that the information be retained in confidence not be 2773 | 7 2774 | TEXTSTYLE25 2775 | 0 2776 | TEXT 2777 | 5 2778 | 7FA 2779 | 8 2780 | CARTIGLIO 2781 | 6 2782 | CONTINUOUS 2783 | 62 2784 | 0 2785 | 10 2786 | -2.508784291218221 2787 | 20 2788 | -4.683769197920917 2789 | 30 2790 | 0.0 2791 | 40 2792 | 2.0 2793 | 1 2794 | reproducer or copiedand not be used or incorporated in any product. 2795 | 7 2796 | TEXTSTYLE26 2797 | 0 2798 | ENDBLK 2799 | 5 2800 | FCB 2801 | 8 2802 | 0 2803 | 0 2804 | BLOCK 2805 | 8 2806 | 0 2807 | 2 2808 | _D 2809 | 70 2810 | 0 2811 | 10 2812 | 0.0 2813 | 20 2814 | 0.0 2815 | 30 2816 | 0.0 2817 | 3 2818 | _D 2819 | 1 2820 | 2821 | 0 2822 | SOLID 2823 | 5 2824 | 7FB 2825 | 8 2826 | CARTIGLIO 2827 | 10 2828 | 228.5005602193183 2829 | 20 2830 | 107.4892493214149 2831 | 30 2832 | 0.0 2833 | 11 2834 | 230.5005602193183 2835 | 21 2836 | 106.9892493214149 2837 | 31 2838 | 0.0 2839 | 12 2840 | 230.5005602193183 2841 | 22 2842 | 107.9892493214149 2843 | 32 2844 | 0.0 2845 | 13 2846 | 230.5005602193183 2847 | 23 2848 | 107.9892493214149 2849 | 33 2850 | 0.0 2851 | 0 2852 | SOLID 2853 | 5 2854 | 7FC 2855 | 8 2856 | CARTIGLIO 2857 | 10 2858 | 329.1743113823226 2859 | 20 2860 | 107.4892493214149 2861 | 30 2862 | 0.0 2863 | 11 2864 | 327.1743113823226 2865 | 21 2866 | 107.9892493214149 2867 | 31 2868 | 0.0 2869 | 12 2870 | 327.1743113823226 2871 | 22 2872 | 106.9892493214149 2873 | 32 2874 | 0.0 2875 | 13 2876 | 327.1743113823226 2877 | 23 2878 | 106.9892493214149 2879 | 33 2880 | 0.0 2881 | 0 2882 | LINE 2883 | 5 2884 | 7FD 2885 | 8 2886 | CARTIGLIO 2887 | 10 2888 | 228.5005602193183 2889 | 20 2890 | 126.8363757016456 2891 | 30 2892 | 0.0 2893 | 11 2894 | 228.5005602193183 2895 | 21 2896 | 106.4892493214149 2897 | 31 2898 | 0.0 2899 | 0 2900 | LINE 2901 | 5 2902 | 7FE 2903 | 8 2904 | CARTIGLIO 2905 | 10 2906 | 329.1743113823226 2907 | 20 2908 | 126.8363757016456 2909 | 30 2910 | 0.0 2911 | 11 2912 | 329.1743113823226 2913 | 21 2914 | 106.4892493214149 2915 | 31 2916 | 0.0 2917 | 0 2918 | LINE 2919 | 5 2920 | 7FF 2921 | 8 2922 | CARTIGLIO 2923 | 10 2924 | 228.5005602193183 2925 | 20 2926 | 107.4892493214149 2927 | 30 2928 | 0.0 2929 | 11 2930 | 329.1743113823226 2931 | 21 2932 | 107.4892493214149 2933 | 31 2934 | 0.0 2935 | 0 2936 | TEXT 2937 | 5 2938 | 800 2939 | 8 2940 | CARTIGLIO 2941 | 6 2942 | CONTINUOUS 2943 | 10 2944 | 273.9118404310997 2945 | 20 2946 | 108.0673848591665 2947 | 30 2948 | -7.373323989056478 2949 | 40 2950 | 2.0 2951 | 1 2952 | 100,7 2953 | 7 2954 | TEXTSTYLE27 2955 | 0 2956 | ENDBLK 2957 | 5 2958 | FCE 2959 | 8 2960 | 0 2961 | 0 2962 | BLOCK 2963 | 8 2964 | 0 2965 | 2 2966 | _D_1 2967 | 70 2968 | 0 2969 | 10 2970 | 0.0 2971 | 20 2972 | 0.0 2973 | 30 2974 | 0.0 2975 | 3 2976 | _D_1 2977 | 1 2978 | 2979 | 0 2980 | SOLID 2981 | 5 2982 | 801 2983 | 8 2984 | CARTIGLIO 2985 | 10 2986 | 345.1745621810467 2987 | 20 2988 | 191.0822512831477 2989 | 30 2990 | 0.0 2991 | 11 2992 | 344.6745621810467 2993 | 21 2994 | 189.0822512831477 2995 | 31 2996 | 0.0 2997 | 12 2998 | 345.6745621810467 2999 | 22 3000 | 189.0822512831477 3001 | 32 3002 | 0.0 3003 | 13 3004 | 345.6745621810467 3005 | 23 3006 | 189.0822512831477 3007 | 33 3008 | 0.0 3009 | 0 3010 | SOLID 3011 | 5 3012 | 802 3013 | 8 3014 | CARTIGLIO 3015 | 10 3016 | 345.1745621810467 3017 | 20 3018 | 117.4895001201435 3019 | 30 3020 | 0.0 3021 | 11 3022 | 345.6745621810467 3023 | 21 3024 | 119.4895001201435 3025 | 31 3026 | 0.0 3027 | 12 3028 | 344.6745621810467 3029 | 22 3030 | 119.4895001201435 3031 | 32 3032 | 0.0 3033 | 13 3034 | 344.6745621810467 3035 | 23 3036 | 119.4895001201435 3037 | 33 3038 | 0.0 3039 | 0 3040 | LINE 3041 | 5 3042 | 803 3043 | 8 3044 | CARTIGLIO 3045 | 10 3046 | 319.8274358008205 3047 | 20 3048 | 191.0822512831477 3049 | 30 3050 | 0.0 3051 | 11 3052 | 346.1745621810467 3053 | 21 3054 | 191.0822512831477 3055 | 31 3056 | 0.0 3057 | 0 3058 | LINE 3059 | 5 3060 | 804 3061 | 8 3062 | CARTIGLIO 3063 | 10 3064 | 319.8274358008205 3065 | 20 3066 | 117.4895001201435 3067 | 30 3068 | 0.0 3069 | 11 3070 | 346.1745621810467 3071 | 21 3072 | 117.4895001201435 3073 | 31 3074 | 0.0 3075 | 0 3076 | LINE 3077 | 5 3078 | 805 3079 | 8 3080 | CARTIGLIO 3081 | 10 3082 | 345.1745621810467 3083 | 20 3084 | 191.0822512831477 3085 | 30 3086 | 0.0 3087 | 11 3088 | 345.1745621810467 3089 | 21 3090 | 117.4895001201435 3091 | 31 3092 | 0.0 3093 | 0 3094 | TEXT 3095 | 5 3096 | 806 3097 | 8 3098 | CARTIGLIO 3099 | 6 3100 | CONTINUOUS 3101 | 10 3102 | 344.596426643295 3103 | 20 3104 | 150.4098835541276 3105 | 30 3106 | -7.373323989056431 3107 | 40 3108 | 2.0 3109 | 1 3110 | 73,6 3111 | 50 3112 | 90.0000000000004 3113 | 7 3114 | TEXTSTYLE28 3115 | 0 3116 | ENDBLK 3117 | 5 3118 | FD1 3119 | 8 3120 | 0 3121 | 0 3122 | BLOCK 3123 | 8 3124 | 0 3125 | 2 3126 | SW_NOTE_2 3127 | 70 3128 | 0 3129 | 10 3130 | 0.0 3131 | 20 3132 | 0.0 3133 | 30 3134 | 0.0 3135 | 3 3136 | SW_NOTE_2 3137 | 1 3138 | 3139 | 0 3140 | TEXT 3141 | 5 3142 | 7D4 3143 | 8 3144 | LAVORAZIONI 3145 | 6 3146 | CONTINUOUS 3147 | 62 3148 | 0 3149 | 10 3150 | -0.1252502187075911 3151 | 20 3152 | -1.711161138990472 3153 | 30 3154 | 0.0 3155 | 40 3156 | 3.5 3157 | 1 3158 | HDMI 3159 | 7 3160 | TEXTSTYLE0 3161 | 0 3162 | ENDBLK 3163 | 5 3164 | FD4 3165 | 8 3166 | 0 3167 | 0 3168 | BLOCK 3169 | 8 3170 | 0 3171 | 2 3172 | _DOT 3173 | 70 3174 | 0 3175 | 10 3176 | 0.0 3177 | 20 3178 | 0.0 3179 | 30 3180 | 0.0 3181 | 3 3182 | _DOT 3183 | 1 3184 | 3185 | 0 3186 | POLYLINE 3187 | 5 3188 | 7D5 3189 | 8 3190 | 0 3191 | 6 3192 | BYBLOCK 3193 | 62 3194 | 0 3195 | 66 3196 | 1 3197 | 10 3198 | 0.0 3199 | 20 3200 | 0.0 3201 | 30 3202 | 0.0 3203 | 70 3204 | 1 3205 | 0 3206 | VERTEX 3207 | 5 3208 | 1011 3209 | 8 3210 | 0 3211 | 6 3212 | BYBLOCK 3213 | 62 3214 | 0 3215 | 10 3216 | -0.25 3217 | 20 3218 | 0.0 3219 | 30 3220 | 0.0 3221 | 42 3222 | 1.0 3223 | 0 3224 | VERTEX 3225 | 5 3226 | 1012 3227 | 8 3228 | 0 3229 | 6 3230 | BYBLOCK 3231 | 62 3232 | 0 3233 | 10 3234 | 0.25 3235 | 20 3236 | 0.0 3237 | 30 3238 | 0.0 3239 | 42 3240 | 1.0 3241 | 0 3242 | SEQEND 3243 | 5 3244 | 1015 3245 | 8 3246 | 0 3247 | 6 3248 | BYBLOCK 3249 | 62 3250 | 0 3251 | 0 3252 | LINE 3253 | 5 3254 | 7D6 3255 | 8 3256 | 0 3257 | 6 3258 | BYBLOCK 3259 | 62 3260 | 0 3261 | 10 3262 | -0.5 3263 | 20 3264 | 0.0 3265 | 30 3266 | 0.0 3267 | 11 3268 | -1.0 3269 | 21 3270 | 0.0 3271 | 31 3272 | 0.0 3273 | 0 3274 | ENDBLK 3275 | 5 3276 | FD7 3277 | 8 3278 | 0 3279 | 0 3280 | BLOCK 3281 | 8 3282 | 0 3283 | 2 3284 | SW_NOTE_3 3285 | 70 3286 | 0 3287 | 10 3288 | 0.0 3289 | 20 3290 | 0.0 3291 | 30 3292 | 0.0 3293 | 3 3294 | SW_NOTE_3 3295 | 1 3296 | 3297 | 0 3298 | TEXT 3299 | 5 3300 | 7D7 3301 | 8 3302 | LAVORAZIONI 3303 | 6 3304 | CONTINUOUS 3305 | 62 3306 | 0 3307 | 10 3308 | 0.0406137685893264 3309 | 20 3310 | -1.866188237991559 3311 | 30 3312 | 0.0 3313 | 40 3314 | 3.5 3315 | 1 3316 | 3,5 mm 3317 | 7 3318 | TEXTSTYLE1 3319 | 0 3320 | TEXT 3321 | 5 3322 | 7D8 3323 | 8 3324 | LAVORAZIONI 3325 | 6 3326 | CONTINUOUS 3327 | 62 3328 | 0 3329 | 10 3330 | 0.3739471019226598 3331 | 20 3332 | -6.55854943511549 3333 | 30 3334 | 0.0 3335 | 40 3336 | 3.5 3337 | 1 3338 | Audio Jack 3339 | 7 3340 | TEXTSTYLE2 3341 | 0 3342 | ENDBLK 3343 | 5 3344 | FDA 3345 | 8 3346 | 0 3347 | 0 3348 | BLOCK 3349 | 8 3350 | 0 3351 | 2 3352 | SW_NOTE_4 3353 | 70 3354 | 0 3355 | 10 3356 | 0.0 3357 | 20 3358 | 0.0 3359 | 30 3360 | 0.0 3361 | 3 3362 | SW_NOTE_4 3363 | 1 3364 | 3365 | 0 3366 | TEXT 3367 | 5 3368 | 7D9 3369 | 8 3370 | LAVORAZIONI 3371 | 6 3372 | CONTINUOUS 3373 | 62 3374 | 0 3375 | 10 3376 | -12.55843420090005 3377 | 20 3378 | 2.73726409440873 3379 | 30 3380 | 0.0 3381 | 40 3382 | 3.5 3383 | 1 3384 | RCA 3385 | 7 3386 | TEXTSTYLE3 3387 | 0 3388 | TEXT 3389 | 5 3390 | 7DA 3391 | 8 3392 | LAVORAZIONI 3393 | 6 3394 | CONTINUOUS 3395 | 62 3396 | 0 3397 | 10 3398 | -13.72232249018275 3399 | 20 3400 | -1.955097102715202 3401 | 30 3402 | 0.0 3403 | 40 3404 | 3.5 3405 | 1 3406 | Video 3407 | 7 3408 | TEXTSTYLE4 3409 | 0 3410 | ENDBLK 3411 | 5 3412 | FDD 3413 | 8 3414 | 0 3415 | 0 3416 | BLOCK 3417 | 8 3418 | 0 3419 | 2 3420 | SW_NOTE_5 3421 | 70 3422 | 0 3423 | 10 3424 | 0.0 3425 | 20 3426 | 0.0 3427 | 30 3428 | 0.0 3429 | 3 3430 | SW_NOTE_5 3431 | 1 3432 | 3433 | 0 3434 | TEXT 3435 | 5 3436 | 7DB 3437 | 8 3438 | LAVORAZIONI 3439 | 6 3440 | CONTINUOUS 3441 | 62 3442 | 0 3443 | 10 3444 | -12.02524565923967 3445 | 20 3446 | 2.794853116918187 3447 | 30 3448 | 0.0 3449 | 40 3450 | 3.5 3451 | 1 3452 | RJ45 3453 | 7 3454 | TEXTSTYLE5 3455 | 0 3456 | TEXT 3457 | 5 3458 | 7DC 3459 | 8 3460 | LAVORAZIONI 3461 | 6 3462 | CONTINUOUS 3463 | 62 3464 | 0 3465 | 10 3466 | -10.38340557757772 3467 | 20 3468 | -1.730841413539072 3469 | 30 3470 | 0.0 3471 | 40 3472 | 3.5 3473 | 1 3474 | LAN 3475 | 7 3476 | TEXTSTYLE6 3477 | 0 3478 | ENDBLK 3479 | 5 3480 | FE0 3481 | 8 3482 | 0 3483 | 0 3484 | BLOCK 3485 | 8 3486 | 0 3487 | 2 3488 | SW_NOTE_6 3489 | 70 3490 | 0 3491 | 10 3492 | 0.0 3493 | 20 3494 | 0.0 3495 | 30 3496 | 0.0 3497 | 3 3498 | SW_NOTE_6 3499 | 1 3500 | 3501 | 0 3502 | TEXT 3503 | 5 3504 | 7DD 3505 | 8 3506 | LAVORAZIONI 3507 | 6 3508 | CONTINUOUS 3509 | 62 3510 | 0 3511 | 10 3512 | -17.01262513066889 3513 | 20 3514 | -1.688856411999503 3515 | 30 3516 | 0.0 3517 | 40 3518 | 3.5 3519 | 1 3520 | 2 X USB 3521 | 7 3522 | TEXTSTYLE7 3523 | 0 3524 | ENDBLK 3525 | 5 3526 | FE3 3527 | 8 3528 | 0 3529 | 0 3530 | BLOCK 3531 | 8 3532 | 0 3533 | 2 3534 | SW_NOTE_7 3535 | 70 3536 | 0 3537 | 10 3538 | 0.0 3539 | 20 3540 | 0.0 3541 | 30 3542 | 0.0 3543 | 3 3544 | SW_NOTE_7 3545 | 1 3546 | 3547 | 0 3548 | TEXT 3549 | 5 3550 | 7DE 3551 | 8 3552 | LAVORAZIONI 3553 | 6 3554 | CONTINUOUS 3555 | 62 3556 | 0 3557 | 10 3558 | -21.6485844845406 3559 | 20 3560 | -1.684633679885053 3561 | 30 3562 | 0.0 3563 | 40 3564 | 3.5 3565 | 1 3566 | SD CARD 3567 | 7 3568 | TEXTSTYLE8 3569 | 0 3570 | ENDBLK 3571 | 5 3572 | FE6 3573 | 8 3574 | 0 3575 | 0 3576 | BLOCK 3577 | 8 3578 | 0 3579 | 2 3580 | SW_NOTE_8 3581 | 70 3582 | 0 3583 | 10 3584 | 0.0 3585 | 20 3586 | 0.0 3587 | 30 3588 | 0.0 3589 | 3 3590 | SW_NOTE_8 3591 | 1 3592 | 3593 | 0 3594 | TEXT 3595 | 5 3596 | 7DF 3597 | 8 3598 | LAVORAZIONI 3599 | 6 3600 | CONTINUOUS 3601 | 62 3602 | 0 3603 | 10 3604 | -27.94524178975189 3605 | 20 3606 | 2.829500898745344 3607 | 30 3608 | 0.0 3609 | 40 3610 | 3.5 3611 | 1 3612 | MICRO USB 3613 | 7 3614 | TEXTSTYLE9 3615 | 0 3616 | TEXT 3617 | 5 3618 | 7E0 3619 | 8 3620 | LAVORAZIONI 3621 | 6 3622 | CONTINUOUS 3623 | 62 3624 | 0 3625 | 10 3626 | -21.96642239961388 3627 | 20 3628 | -1.696193631711914 3629 | 30 3630 | 0.0 3631 | 40 3632 | 3.5 3633 | 1 3634 | POWER 3635 | 7 3636 | TEXTSTYLE10 3637 | 0 3638 | ENDBLK 3639 | 5 3640 | FE9 3641 | 8 3642 | 0 3643 | 0 3644 | BLOCK 3645 | 8 3646 | 0 3647 | 2 3648 | SW_NOTE_9 3649 | 70 3650 | 0 3651 | 10 3652 | 0.0 3653 | 20 3654 | 0.0 3655 | 30 3656 | 0.0 3657 | 3 3658 | SW_NOTE_9 3659 | 1 3660 | 3661 | 0 3662 | TEXT 3663 | 5 3664 | 7E1 3665 | 8 3666 | LAVORAZIONI 3667 | 6 3668 | CONTINUOUS 3669 | 62 3670 | 0 3671 | 10 3672 | -0.0784714576712765 3673 | 20 3674 | -1.790975479379533 3675 | 30 3676 | 0.0 3677 | 40 3678 | 3.5 3679 | 1 3680 | Feet 3681 | 7 3682 | TEXTSTYLE11 3683 | 0 3684 | ENDBLK 3685 | 5 3686 | FEC 3687 | 8 3688 | 0 3689 | 0 3690 | ENDSEC 3691 | 0 3692 | SECTION 3693 | 2 3694 | ENTITIES 3695 | 0 3696 | ARC 3697 | 5 3698 | ED0 3699 | 8 3700 | 0 3701 | 6 3702 | CONTINUOUS 3703 | 10 3704 | 40.0 3705 | 20 3706 | -26.45 3707 | 30 3708 | 0.0 3709 | 40 3710 | 10.35 3711 | 50 3712 | 270.0 3713 | 51 3714 | 0.0 3715 | 0 3716 | ARC 3717 | 5 3718 | ED1 3719 | 8 3720 | 0 3721 | 6 3722 | CONTINUOUS 3723 | 10 3724 | -40.0 3725 | 20 3726 | -26.45 3727 | 30 3728 | 0.0 3729 | 40 3730 | 10.35 3731 | 50 3732 | 180.0 3733 | 51 3734 | 270.0 3735 | 0 3736 | ARC 3737 | 5 3738 | ED2 3739 | 8 3740 | 0 3741 | 6 3742 | CONTINUOUS 3743 | 10 3744 | -40.0 3745 | 20 3746 | 26.45 3747 | 30 3748 | 0.0 3749 | 40 3750 | 10.35 3751 | 50 3752 | 90.0000000000005 3753 | 51 3754 | 180.0 3755 | 0 3756 | ARC 3757 | 5 3758 | ED3 3759 | 8 3760 | 0 3761 | 6 3762 | CONTINUOUS 3763 | 10 3764 | 40.0 3765 | 20 3766 | 26.45 3767 | 30 3768 | 0.0 3769 | 40 3770 | 10.35 3771 | 50 3772 | 0.0 3773 | 51 3774 | 90.00000000000082 3775 | 0 3776 | LINE 3777 | 5 3778 | ED4 3779 | 8 3780 | 0 3781 | 6 3782 | CONTINUOUS 3783 | 10 3784 | -50.35 3785 | 20 3786 | 26.45 3787 | 30 3788 | 0.0 3789 | 11 3790 | -50.35 3791 | 21 3792 | -26.45 3793 | 31 3794 | 0.0 3795 | 0 3796 | LINE 3797 | 5 3798 | ED5 3799 | 8 3800 | 0 3801 | 6 3802 | CONTINUOUS 3803 | 10 3804 | -40.0 3805 | 20 3806 | -36.8 3807 | 30 3808 | 0.0 3809 | 11 3810 | 40.0 3811 | 21 3812 | -36.8 3813 | 31 3814 | 0.0 3815 | 0 3816 | LINE 3817 | 5 3818 | ED6 3819 | 8 3820 | 0 3821 | 6 3822 | CONTINUOUS 3823 | 10 3824 | 50.35 3825 | 20 3826 | -26.45 3827 | 30 3828 | 0.0 3829 | 11 3830 | 50.35 3831 | 21 3832 | 26.45 3833 | 31 3834 | 0.0 3835 | 0 3836 | LINE 3837 | 5 3838 | ED7 3839 | 8 3840 | 0 3841 | 6 3842 | CONTINUOUS 3843 | 10 3844 | 40.0 3845 | 20 3846 | 36.8 3847 | 30 3848 | 0.0 3849 | 11 3850 | -40.0 3851 | 21 3852 | 36.8 3853 | 31 3854 | 0.0 3855 | 0 3856 | LINE 3857 | 5 3858 | EF4 3859 | 8 3860 | 0 3861 | 6 3862 | CONTINUOUS 3863 | 10 3864 | 42.0 3865 | 20 3866 | -22.0 3867 | 30 3868 | 0.0 3869 | 11 3870 | 42.0 3871 | 21 3872 | 28.5 3873 | 31 3874 | 0.0 3875 | 0 3876 | LINE 3877 | 5 3878 | EF5 3879 | 8 3880 | 0 3881 | 6 3882 | CONTINUOUS 3883 | 10 3884 | 42.0 3885 | 20 3886 | 28.5 3887 | 30 3888 | 0.0 3889 | 11 3890 | -28.0 3891 | 21 3892 | 28.5 3893 | 31 3894 | 0.0 3895 | 0 3896 | LINE 3897 | 5 3898 | EF6 3899 | 8 3900 | 0 3901 | 10 3902 | 42.0 3903 | 20 3904 | -22.0 3905 | 30 3906 | 0.0 3907 | 11 3908 | -28.0 3909 | 21 3910 | -22.0 3911 | 31 3912 | 0.0 3913 | 0 3914 | LINE 3915 | 5 3916 | EF7 3917 | 8 3918 | 0 3919 | 10 3920 | -28.0 3921 | 20 3922 | -22.0 3923 | 30 3924 | 0.0 3925 | 11 3926 | -28.0 3927 | 21 3928 | 28.5 3929 | 31 3930 | 0.0 3931 | 0 3932 | LINE 3933 | 5 3934 | F00 3935 | 8 3936 | 0 3937 | 10 3938 | -22.0 3939 | 20 3940 | -27.0 3941 | 30 3942 | 0.0 3943 | 11 3944 | -15.0 3945 | 21 3946 | -27.0 3947 | 31 3948 | 0.0 3949 | 0 3950 | LINE 3951 | 5 3952 | F01 3953 | 8 3954 | 0 3955 | 10 3956 | -15.0 3957 | 20 3958 | -27.0 3959 | 30 3960 | 0.0 3961 | 11 3962 | -15.0 3963 | 21 3964 | -23.0 3965 | 31 3966 | 0.0 3967 | 0 3968 | LINE 3969 | 5 3970 | F02 3971 | 8 3972 | 0 3973 | 10 3974 | -15.0 3975 | 20 3976 | -23.0 3977 | 30 3978 | 0.0 3979 | 11 3980 | -22.0 3981 | 21 3982 | -23.0 3983 | 31 3984 | 0.0 3985 | 0 3986 | LINE 3987 | 5 3988 | F03 3989 | 8 3990 | 0 3991 | 10 3992 | -22.0 3993 | 20 3994 | -23.0 3995 | 30 3996 | 0.0 3997 | 11 3998 | -22.0 3999 | 21 4000 | -27.0 4001 | 31 4002 | 0.0 4003 | 0 4004 | ENDSEC 4005 | 0 4006 | EOF 4007 | -------------------------------------------------------------------------------- /rpi-display.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | # installation script for RPi-Display - https://github.com/watterott/RPi-Display 4 | 5 | # run: sudo /bin/bash rpi-display.sh [0, 90, 180, 270] 6 | 7 | 8 | # ask y/n function 9 | function ask() 10 | { 11 | while true; do 12 | read -p "$1 y/n " REPLY 13 | 14 | case "$REPLY" in 15 | Y*|y*) return 0 ;; 16 | N*|n*) return 1 ;; 17 | esac 18 | done 19 | } 20 | 21 | 22 | # reboot system 23 | function reboot_system() 24 | { 25 | echo "Rebooting now..." 26 | reboot 27 | exit 0 28 | } 29 | 30 | 31 | # update system 32 | function update_system() 33 | { 34 | # run update 35 | apt-get -y update 36 | #apt-get -y upgrade 37 | 38 | # install curl 39 | if [ ! -f "/usr/bin/curl" ] && [ ! -f "/bin/curl" ]; then 40 | apt-get install -y curl 41 | fi 42 | 43 | # install binutils 44 | apt-get install -y binutils 45 | 46 | # install rpi-update 47 | if [ ! -f "/usr/bin/rpi-update" ] && [ ! -f "/bin/rpi-update" ]; then 48 | curl -k -L -o /usr/bin/rpi-update https://raw.githubusercontent.com/Hexxeh/rpi-update/master/rpi-update 49 | chmod +x /usr/bin/rpi-update 50 | fi 51 | 52 | # run rpi-update 53 | # official RPi Kernel from 4.1 has DMA support for SPI 54 | #REPO_URI=https://github.com/notro/rpi-firmware RPI_UPDATE_UNSUPPORTED=0 update 55 | rpi-update 56 | 57 | # ask for reboot 58 | if ask "A reboot is needed. Do you want to reboot the system now?"; then 59 | reboot_system 60 | fi 61 | } 62 | 63 | 64 | # update config.txt 65 | function update_configtxt() 66 | { 67 | echo "--- Updating /boot/config.txt ---" 68 | echo 69 | echo "Please reboot the system after the installation." 70 | echo 71 | 72 | # check blacklist 73 | if [ -f "/etc/modprobe.d/raspi-blacklist.conf" ]; then 74 | if ! grep -q "#blacklist spi-bcm2708" "/etc/modprobe.d/raspi-blacklist.conf"; then 75 | sed -i 's/blacklist spi-bcm2708/#blacklist spi-bcm2708/g' "/etc/modprobe.d/raspi-blacklist.conf" 76 | fi 77 | fi 78 | 79 | # no Device Tree -> use FBTFT module 80 | if [ "${dt_found}" == "0" ]; then 81 | if ! grep -q "dtparam=spi=on" "/boot/config.txt"; then 82 | cat >> /boot/config.txt <> /etc/modules <> /etc/modules < use FBTFT DT-Overlay 100 | else 101 | if grep -q "dtoverlay=rpi-display" "/boot/config.txt"; then 102 | sed -i 's/dtoverlay=rpi-display,speed=32000000,rotate=.*/dtoverlay=rpi-display,speed=32000000,rotate='$rotate'/g' "/boot/config.txt" 103 | else 104 | cat >> /boot/config.txt < /etc/X11/xorg.conf.d/99-ads7846-cal.conf < /etc/X11/xorg.conf.d/50-fbtft.conf <<'EOF' 167 | # FBTFT xorg config file 168 | # 169 | # startx -- -layout TFT 170 | # startx -- -layout HDMI 171 | # startx -- -layout HDMITFT 172 | # When -layout is not set, the first is used: TFT 173 | 174 | Section "ServerLayout" 175 | Identifier "TFT" 176 | Option "BlankTime" "10" 177 | Screen 0 "ScreenTFT" 178 | EndSection 179 | 180 | Section "ServerLayout" 181 | Identifier "HDMI" 182 | Option "BlankTime" "10" 183 | Screen 0 "ScreenHDMI" 184 | EndSection 185 | 186 | Section "ServerLayout" 187 | Identifier "HDMITFT" 188 | Option "BlankTime" "10" 189 | Screen 0 "ScreenHDMI" 190 | Screen 1 "ScreenTFT" RightOf "ScreenHDMI" 191 | # Screen 1 "ScreenTFT" LeftOf "ScreenHDMI" 192 | # Screen 1 "ScreenTFT" Above "ScreenHDMI" 193 | # Screen 1 "ScreenTFT" Below "ScreenHDMI" 194 | # Screen 1 "ScreenTFT" Relative "ScreenHDMI" x y 195 | # Screen 1 "ScreenTFT" Absolute x y 196 | EndSection 197 | 198 | Section "Screen" 199 | Identifier "ScreenHDMI" 200 | Monitor "MonitorHDMI" 201 | Device "DeviceHDMI" 202 | Endsection 203 | 204 | Section "Screen" 205 | Identifier "ScreenTFT" 206 | Monitor "MonitorTFT" 207 | Device "DeviceTFT" 208 | Endsection 209 | 210 | Section "Monitor" 211 | Identifier "MonitorHDMI" 212 | Endsection 213 | 214 | Section "Monitor" 215 | Identifier "MonitorTFT" 216 | Endsection 217 | 218 | Section "Device" 219 | Identifier "DeviceHDMI" 220 | Driver "fbturbo" 221 | Option "fbdev" "/dev/fb0" 222 | Option "SwapbuffersWait" "true" 223 | EndSection 224 | 225 | Section "Device" 226 | Identifier "DeviceTFT" 227 | Driver "fbturbo" 228 | Option "fbdev" "/dev/fb1" 229 | EndSection 230 | EOF 231 | } 232 | 233 | 234 | # create symlink for ads7846 device 235 | function update_udev() 236 | { 237 | echo "--- Creating /dev/input/touchscreen ---" 238 | 239 | cat > /etc/udev/rules.d/95-ads7846.rules <<'EOF' 240 | SUBSYSTEM=="input", KERNEL=="event[0-9]*", ATTRS{name}=="ADS7846*", SYMLINK+="input/touchscreen" 241 | EOF 242 | } 243 | 244 | 245 | # activate console on TFT display 246 | function activate_console() 247 | { 248 | # install fbset 249 | if [ ! -f "/usr/bin/fbset" ] && [ ! -f "/bin/fbset" ]; then 250 | apt-get install -y fbset 251 | fi 252 | 253 | # set parameters 254 | # fonts: MINI4x6, ProFont6x11, VGA8x8 - note: newer FBTFT has no built-in fonts 255 | # https://github.com/watterott/RPi-Display/blob/master/docu/FAQ.md#how-to-change-the-console-font 256 | if [ -f "/boot/cmdline.txt" ]; then 257 | if ! grep -q "fbcon=map:10" "/boot/cmdline.txt"; then 258 | sed -i 's/rootwait/rootwait fbcon=map:10 fbcon=font:VGA8x8 consoleblank=0/g' "/boot/cmdline.txt" 259 | fi 260 | else 261 | echo "Run 'sudo nano /etc/rc.local' and add the line 'con2fbmap 1 1' before 'exit 0'." 262 | fi 263 | 264 | if [ -f "/etc/kbd/config" ]; then 265 | sed -i 's/BLANK_TIME=.*/BLANK_TIME=0/g' "/etc/kbd/config" 266 | else 267 | echo "Run 'sudo nano /boot/cmdline.txt' and add the parameter 'consoleblank=0'." 268 | fi 269 | } 270 | 271 | 272 | # deactivate console on TFT display 273 | function deactivate_console() 274 | { 275 | if [ -f "/boot/cmdline.txt" ]; then 276 | sed -i 's/rootwait fbcon=map:10 fbcon=font:VGA8x8 consoleblank=0/rootwait/g' "/boot/cmdline.txt" 277 | else 278 | echo "Run 'sudo nano /etc/rc.local' and remove the line 'con2fbmap 1 1'." 279 | fi 280 | if [ -f "/etc/kbd/config" ]; then 281 | sed -i 's/BLANK_TIME=0/BLANK_TIME=10/g' "/etc/kbd/config" 282 | else 283 | echo "Run 'sudo nano /boot/cmdline.txt' and remove the parameter 'consoleblank=0'." 284 | fi 285 | echo 286 | echo "Set screen blanking time to 10 minutes." 287 | echo 288 | } 289 | 290 | 291 | # install fbcp 292 | function install_fbcp() 293 | { 294 | echo "--- Installing fbcp ---" 295 | 296 | cd /tmp 297 | apt-get install -y git build-essential cmake 298 | git clone --depth=1 https://github.com/tasanakorn/rpi-fbcp 299 | mkdir -p rpi-fbcp/build 300 | cd rpi-fbcp/build 301 | cmake .. 302 | make 303 | install fbcp /usr/local/bin/fbcp 304 | cd ../.. 305 | rm -r rpi-fbcp 306 | 307 | curl -k -L -o /etc/init.d/fbcp https://github.com/watterott/RPi-Display/raw/master/software/fbcp 308 | chmod +x /etc/init.d/fbcp 309 | echo "To enable automatic startup of fbcp run:" 310 | echo "sudo update-rc.d fbcp defaults" 311 | echo "To disable automatic startup of fbcp run:" 312 | echo "sudo update-rc.d fbcp remove" 313 | 314 | # ask for automatic startup 315 | if ask "Enable automatic startup of fbcp on boot?"; then 316 | echo "Note: The console output on the TFT display will be disabled." 317 | deactivate_console 318 | update-rc.d fbcp defaults 319 | fi 320 | } 321 | 322 | 323 | # download and install xinput-calibrator 324 | function install_xinputcalibrator() 325 | { 326 | echo "--- Installing xinput-calibrator ---" 327 | echo 328 | echo "Run 'sudo startx' to calibrate the touchscreen for X." 329 | echo 330 | 331 | apt-get install -y xinput-calibrator 332 | 333 | #cd /tmp 334 | #curl -k -L -o xinput-calibrator_0.7.5-1_armhf.deb https://files.watterott.com/fbtft/xinput-calibrator_0.7.5-1_armhf.deb 335 | #dpkg -i -B xinput-calibrator_0.7.5-1_armhf.deb 336 | #rm xinput-calibrator_0.7.5-1_armhf.deb 337 | 338 | cat > /etc/X11/Xsession.d/xinput_calibrator_pointercal <<'EOF' 339 | #!/bin/sh 340 | PATH="/usr/bin:$PATH" 341 | BINARY="xinput_calibrator" 342 | CALFILE="/etc/X11/xorg.conf.d/99-ads7846-cal.conf" 343 | LOGFILE="/var/log/xinput_calibrator.pointercal.log" 344 | 345 | CALDATA=`grep -o 'Option[[:space:]]*"MinX".*' $CALFILE` 346 | if [ ! -z "$CALDATA" ] ; then 347 | echo "Using calibration data stored in $CALFILE" 348 | exit 0 349 | fi 350 | 351 | CALDATA=`DISPLAY=:0 $BINARY --output-type xorg.conf.d --device 'ADS7846 Touchscreen' | tee $LOGFILE | grep -i 'MinX\|MaxX\|MinY\|MaxY'` 352 | if [ ! -z "$CALDATA" ] ; then 353 | sed -i "/MinX/d;/MaxX/d;/MinY/d;/MaxY/d;/EndSection/d" "$CALFILE" 354 | cat >> "$CALFILE" <> /etc/xdg/lxsession/LXDE-pi/autostart <<'EOF' 368 | @sh /etc/X11/Xsession.d/xinput_calibrator_pointercal 369 | EOF 370 | fi 371 | fi 372 | } 373 | 374 | 375 | # download and install ts_lib 376 | function install_tslib() 377 | { 378 | echo "--- Installing tslib ---" 379 | echo 380 | echo "Run the following command to calibrate the touchscreen for tslib." 381 | echo "TSLIB_FBDEVICE=/dev/fb1 TSLIB_TSDEVICE=/dev/input/touchscreen sudo ts_calibrate" 382 | echo 383 | 384 | # install libts0 (for Buster) or tslib 385 | apt-get install -y libts0 || apt-get install -y tslib 386 | apt-get install -y libts-bin evtest 387 | 388 | # tslib package does not exist on Buster, so compile from source 389 | #apt-get install -y cmake git 390 | #git clone https://github.com/libts/tslib 391 | #cd tslib 392 | #mkdir build && cd build 393 | #cmake ../ 394 | #cmake --build . 395 | #cmake -P cmake_install.cmake 396 | 397 | # install ts_test with quit button 398 | #curl -k -L -o /usr/bin/ts_test http://tronnes.org/downloads/ts_test 399 | #chmod +x /usr/bin/ts_test 400 | } 401 | 402 | 403 | # calibrate touchpanel 404 | function calibrate_touchpanel() 405 | { 406 | echo "--- Calibrating touchpanel ---" 407 | 408 | TSLIB_FBDEVICE=/dev/fb1 TSLIB_TSDEVICE=/dev/input/touchscreen /usr/bin/ts_calibrate 409 | #startx 410 | #DISPLAY=:0 xinput_calibrator --device "ADS7846 Touchscreen" --output-type xinput 411 | } 412 | 413 | 414 | # main function 415 | if [ $EUID -ne 0 ]; then 416 | echo "The script must be run as root. Try: sudo $0" 417 | exit 1 418 | fi 419 | 420 | rotate="$1" 421 | dt_found="0" 422 | fbtft_found="0" 423 | 424 | if [ "${rotate}" != "0" ] && [ "${rotate}" != "90" ] && [ "${rotate}" != "180" ] && [ "${rotate}" != "270" ]; then 425 | echo "Usage: sudo bash $0 [0, 90, 180 or 270]" 426 | exit 1 427 | fi 428 | 429 | if [ -d "/proc/device-tree" ]; then 430 | dt_found="1" 431 | fi 432 | 433 | if modinfo fbtft > /dev/null; then 434 | fbtft_found="1" 435 | fi 436 | 437 | if [ "${dt_found}" == "0" ]; then 438 | echo 439 | echo "Info: No Device Tree Kernel found." 440 | # if ask "Update the system now?"; then 441 | # update_system 442 | # fi 443 | fi 444 | 445 | if [ "${fbtft_found}" == "0" ]; then 446 | echo 447 | echo "FBTFT not found." 448 | if ask "Update the system now?"; then 449 | update_system 450 | else 451 | echo "Installation aborted." 452 | exit 1 453 | fi 454 | fi 455 | 456 | #if ! modinfo -F parm spi-bcm2708 | grep -q -i "dma"; then 457 | # echo 458 | # echo "No DMA support for spi-bcm2708 module found." 459 | # if ask "Update the system now?"; then 460 | # update_system 461 | # fi 462 | #fi 463 | 464 | if ask "Enable TFT display driver and activate X windows on TFT display?"; then 465 | update_configtxt 466 | update_xorg 467 | else 468 | if [ -f "/etc/X11/xorg.conf.d/50-fbtft.conf" ]; then 469 | echo "Removing /etc/X11/xorg.conf.d/50-fbtft.conf" 470 | rm /etc/X11/xorg.conf.d/50-fbtft.conf 471 | fi 472 | fi 473 | 474 | if ask "Activate the console on the TFT display?"; then 475 | activate_console 476 | else 477 | deactivate_console 478 | fi 479 | 480 | if ask "Install fbcp (Framebuffer Copy)?"; then 481 | install_fbcp 482 | fi 483 | 484 | if ask "Install xinput-calibrator?"; then 485 | install_xinputcalibrator 486 | fi 487 | 488 | if ask "Install tslib (touchscreen library)?"; then 489 | update_udev 490 | install_tslib 491 | fi 492 | 493 | if [ -f "/usr/bin/ts_calibrate" ]; then 494 | if ask "Calibrate the touchpanel now?"; then 495 | calibrate_touchpanel 496 | fi 497 | fi 498 | 499 | if ask "Reboot the system now?"; then 500 | reboot_system 501 | fi 502 | -------------------------------------------------------------------------------- /software/backlight.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | 3 | import time 4 | import RPi.GPIO as GPIO 5 | 6 | # set BCM GPIO numbers 7 | GPIO.setmode(GPIO.BCM) 8 | 9 | # set pin as output 10 | GPIO.setup(18, GPIO.OUT) 11 | GPIO.output(18, True) 12 | 13 | # start pwm 14 | pwm = GPIO.PWM(18, 200) # 200Hz 15 | pwm.start(50) # 50% 16 | 17 | time.sleep(3.0) # wait 3s 18 | pwm.ChangeDutyCycle(20) # 20% 19 | 20 | time.sleep(3.0) # wait 3s 21 | pwm.ChangeDutyCycle(80) # 80% 22 | 23 | time.sleep(3.0) # wait 3s 24 | pwm.stop() 25 | GPIO.cleanup() 26 | -------------------------------------------------------------------------------- /software/fbcp: -------------------------------------------------------------------------------- 1 | #!/bin/sh 2 | ### BEGIN INIT INFO 3 | # Provides: fbcp 4 | # Required-Start: $local_fs $remote_fs 5 | # Required-Stop: $remote_fs 6 | # Default-Start: 2 3 4 5 7 | # Default-Stop: 0 1 6 8 | # Short-Description: Framebuffer copy daemon fb0->fb1 9 | ### END INIT INFO 10 | # Author: Noralf Tronnes 11 | PATH=/sbin:/usr/sbin:/bin:/usr/bin 12 | DESC="Framebuffer copy daemon" 13 | NAME=fbcp 14 | DAEMON=/usr/local/bin/fbcp 15 | DAEMON_ARGS="" 16 | PIDFILE=/var/run/$NAME.pid 17 | SCRIPTNAME=/etc/init.d/$NAME 18 | # Exit if the package is not installed 19 | [ -x $DAEMON ] || exit 0 20 | # Read configuration variable file if it is present 21 | [ -r /etc/default/$NAME ] && . /etc/default/$NAME 22 | # Load the VERBOSE setting and other rcS variables 23 | . /lib/init/vars.sh 24 | # Define LSB log_* functions. 25 | . /lib/lsb/init-functions 26 | # 27 | # Function that starts the daemon/service 28 | # 29 | do_start() 30 | { 31 | # Return 32 | # 0 if daemon has been started 33 | # 1 if daemon was already running 34 | # 2 if daemon could not be started 35 | start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \ 36 | || return 1 37 | start-stop-daemon --start --quiet --background --make-pidfile --pidfile $PIDFILE --exec $DAEMON -- \ 38 | $DAEMON_ARGS \ 39 | || return 2 40 | } 41 | # 42 | # Function that stops the daemon/service 43 | # 44 | do_stop() 45 | { 46 | # Return 47 | # 0 if daemon has been stopped 48 | # 1 if daemon was already stopped 49 | # 2 if daemon could not be stopped 50 | # other if a failure occurred 51 | start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME 52 | RETVAL="$?" 53 | [ "$RETVAL" = 2 ] && return 2 54 | rm -f $PIDFILE 55 | return "$RETVAL" 56 | } 57 | case "$1" in 58 | start) 59 | [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC " "$NAME" 60 | do_start 61 | case "$?" in 62 | 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; 63 | 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; 64 | esac 65 | ;; 66 | stop) 67 | [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME" 68 | do_stop 69 | case "$?" in 70 | 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; 71 | 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; 72 | esac 73 | ;; 74 | status) 75 | status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $? 76 | ;; 77 | restart|reload|force-reload) 78 | log_daemon_msg "Restarting $DESC" "$NAME" 79 | do_stop 80 | case "$?" in 81 | 0|1) 82 | do_start 83 | case "$?" in 84 | 0) log_end_msg 0 ;; 85 | 1) log_end_msg 1 ;; # Old process is still running 86 | *) log_end_msg 1 ;; # Failed to start 87 | esac 88 | ;; 89 | *) 90 | # Failed to stop 91 | log_end_msg 1 92 | ;; 93 | esac 94 | ;; 95 | *) 96 | echo "Usage: $SCRIPTNAME {start|stop|status|restart|reload|force-reload}" >&2 97 | exit 3 98 | ;; 99 | esac 100 | : 101 | -------------------------------------------------------------------------------- /software/lcdlevel.cpp: -------------------------------------------------------------------------------- 1 | //============================================================================ 2 | // Name : lcdlevel.cpp 3 | // Author : Friedemann Wolpert 4 | // Version : 1.0.0 5 | // Copyright : All Rights Reversed, based on wiringPi / Pi-blaster 6 | // Description : Backlight control for Watterott RPi Display (Soft PWM Pin 18) 7 | // Building : 8 | // * Install WiringPi: http://wiringpi.com/download-and-install/ 9 | // * Compile: cc -o lcdlevel lcdlevel.cpp -lwiringPi -lpthread 10 | // * Set execution right: chmod +x lcdlevel 11 | //============================================================================ 12 | 13 | //#include 14 | #include 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include 20 | 21 | using namespace std; 22 | 23 | #include "wiringPi.h" 24 | #include "softPwm.h" 25 | 26 | #define DEVFILE "/dev/lcdlevel" 27 | //#define DEVFILE "/home/pi/lcd" 28 | 29 | static char VERSION[] = "1.0.0"; 30 | static int lcdlevel = 100; 31 | 32 | static void parseDevFileLoop(void); 33 | 34 | 35 | void parseargs(int argc, char **argv) 36 | { 37 | int index=0; 38 | int c; 39 | 40 | static struct option longopts[] = 41 | { 42 | {"help", no_argument, 0, 'h'}, 43 | {"level", required_argument, 0, 'l'}, 44 | {"version", no_argument, 0, 'v'}, 45 | {0, 0, 0, 0} 46 | }; 47 | 48 | while((c = getopt_long(argc, argv, "hl:v", longopts, &index )) != -1) 49 | { 50 | switch(c) 51 | { 52 | case 0: 53 | break; 54 | 55 | case 'h': 56 | fprintf(stderr, "%s version %s\n", argv[0], VERSION); 57 | fprintf(stderr, "Usage: %s [-hlv]\n" 58 | "-h (--help) - this information\n" 59 | "-l (--level) - set LCD Brightness 0 - 100%%\n" 60 | "-v (--version) - version information\n" 61 | "Example:\n" 62 | "Usage : sudo ./lcdlevel -l 100\n" 63 | "Update: echo \"99\" > /dev/lcdlevel\n" 64 | , argv[0]); 65 | exit(-1); 66 | 67 | case 'l': 68 | lcdlevel = atoi(optarg); 69 | break; 70 | 71 | case 'v': 72 | fprintf(stderr, "%s version %s\n", argv[0], VERSION); 73 | exit(-1); 74 | 75 | case '?': 76 | /* getopt_long already reported error? */ 77 | exit(-1); 78 | 79 | default: 80 | exit(-1); 81 | } 82 | } 83 | } 84 | 85 | 86 | int main(int argc, char **argv) 87 | { 88 | // "sudo ./lcdlevel -l 0...100" 89 | parseargs(argc, argv); 90 | 91 | unlink(DEVFILE); 92 | 93 | if(mkfifo(DEVFILE, 0666) < 0) 94 | { 95 | printf("LCDLevel: Failed to open: %s: %m\n", DEVFILE); 96 | exit(0); 97 | } 98 | 99 | if(chmod(DEVFILE, 0666) < 0) 100 | { 101 | printf("LCDLevel: Failed to set permissions on: %s: %m\n", DEVFILE); 102 | exit(0); 103 | } 104 | 105 | printf("Setup LCD GPIO\n"); 106 | wiringPiSetupGpio(); 107 | 108 | if(lcdlevel>100) lcdlevel=100; 109 | if(lcdlevel<0) lcdlevel=0; 110 | 111 | printf("CreateSoftPWM: %i\n", lcdlevel); 112 | 113 | softPwmCreate(18, lcdlevel, 100); 114 | 115 | // Read Brightness from file 116 | parseDevFileLoop(); 117 | 118 | return 0; 119 | } 120 | 121 | 122 | // echo "20" > /dev/lcdlevel 123 | static void parseDevFileLoop(void) 124 | { 125 | FILE *fp; 126 | 127 | if((fp = fopen(DEVFILE, "r+")) == NULL) 128 | { 129 | printf("lcdlevel: Failed to open %s: %m\nCannot update display brightness\n", DEVFILE); 130 | } 131 | 132 | char *lineptr = NULL; 133 | size_t linelen; 134 | 135 | for(;;) 136 | { 137 | int n, value; 138 | 139 | if((n = getline(&lineptr, &linelen, fp)) < 0) 140 | { 141 | continue; 142 | } 143 | 144 | if (n > 4 ) 145 | { 146 | fprintf(stderr, "Bad input: %s", lineptr); 147 | } 148 | 149 | value = atoi(lineptr); 150 | 151 | if ( (value >= 0) && (value <= 100 )) 152 | { 153 | lcdlevel=value; 154 | softPwmWrite(18, lcdlevel); 155 | } 156 | } 157 | } 158 | -------------------------------------------------------------------------------- /software/license.txt: -------------------------------------------------------------------------------- 1 | Example source code free to use. 2 | 3 | Further information: 4 | https://learn.watterott.com/license/ 5 | -------------------------------------------------------------------------------- /software/rpi-display-overlay.dts: -------------------------------------------------------------------------------- 1 | /* 2 | * Device Tree overlay for rpi-display by Watterott 3 | * 4 | */ 5 | 6 | /dts-v1/; 7 | /plugin/; 8 | 9 | / { 10 | compatible = "brcm,bcm2835"; 11 | 12 | fragment@0 { 13 | target = <&spi0>; 14 | __overlay__ { 15 | status = "okay"; 16 | }; 17 | }; 18 | 19 | fragment@1 { 20 | target = <&spidev0>; 21 | __overlay__ { 22 | status = "disabled"; 23 | }; 24 | }; 25 | 26 | fragment@2 { 27 | target = <&spidev1>; 28 | __overlay__ { 29 | status = "disabled"; 30 | }; 31 | }; 32 | 33 | fragment@3 { 34 | target = <&gpio>; 35 | __overlay__ { 36 | rpi_display_pins: rpi_display_pins { 37 | brcm,pins = <18 23 24 25>; 38 | brcm,function = <1 1 1 0>; /* out out out in */ 39 | brcm,pull = <0 0 0 2>; /* - - - up */ 40 | }; 41 | }; 42 | }; 43 | 44 | fragment@4 { 45 | target = <&spi0>; 46 | __overlay__ { 47 | /* needed to avoid dtc warning */ 48 | #address-cells = <1>; 49 | #size-cells = <0>; 50 | 51 | rpidisplay: rpi-display@0{ 52 | compatible = "ilitek,ili9341"; 53 | reg = <0>; 54 | pinctrl-names = "default"; 55 | pinctrl-0 = <&rpi_display_pins>; 56 | 57 | spi-max-frequency = <32000000>; 58 | rotate = <270>; 59 | bgr; 60 | fps = <30>; 61 | buswidth = <8>; 62 | reset-gpios = <&gpio 23 1>; 63 | dc-gpios = <&gpio 24 0>; 64 | led-gpios = <&gpio 18 1>; 65 | debug = <0>; 66 | }; 67 | 68 | rpidisplay_ts: rpi-display-ts@1 { 69 | compatible = "ti,ads7846"; 70 | reg = <1>; 71 | 72 | spi-max-frequency = <2000000>; 73 | interrupts = <25 2>; /* high-to-low edge triggered */ 74 | interrupt-parent = <&gpio>; 75 | pendown-gpio = <&gpio 25 1>; 76 | ti,x-plate-ohms = /bits/ 16 <60>; 77 | ti,pressure-max = /bits/ 16 <255>; 78 | }; 79 | }; 80 | }; 81 | __overrides__ { 82 | speed = <&rpidisplay>,"spi-max-frequency:0"; 83 | rotate = <&rpidisplay>,"rotate:0"; 84 | fps = <&rpidisplay>,"fps:0"; 85 | debug = <&rpidisplay>,"debug:0"; 86 | xohms = <&rpidisplay_ts>,"ti,x-plate-ohms;0"; 87 | swapxy = <&rpidisplay_ts>,"ti,swap-xy?"; 88 | backlight = <&rpidisplay>,"led-gpios:4", 89 | <&rpi_display_pins>,"brcm,pins:0"; 90 | }; 91 | }; 92 | -------------------------------------------------------------------------------- /software/rpi-display.dtbo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/watterott/RPi-Display/cfaa0ba1c45d2493d1c1b6d4ec2a68555bffa40e/software/rpi-display.dtbo -------------------------------------------------------------------------------- /software/rpi-display.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python 2 | 3 | import pygame 4 | from pygame.locals import * 5 | import os 6 | from time import sleep 7 | 8 | # set display device 9 | #os.putenv('SDL_VIDEODRIVER', 'fbcon') 10 | os.putenv('SDL_FBDEV', '/dev/fb1') 11 | 12 | # set mouse device 13 | #os.putenv('SDL_MOUSEDRV', 'TSLIB') 14 | #os.putenv('SDL_MOUSEDEV', '/dev/input/touchscreen') 15 | #os.putenv('SDL_MOUSEDEV', 'ADS7846 Touchscreen') 16 | 17 | # init pygame 18 | pygame.init() 19 | lcd = pygame.display.set_mode((320, 240)) 20 | lcd.fill((80,80,80)) 21 | pygame.mouse.set_visible(True) 22 | pygame.display.update() 23 | 24 | # show input devices 25 | #from evdev import InputDevice, list_devices 26 | #devices = map(InputDevice, list_devices()) 27 | #for dev in devices: 28 | # print dev.name 29 | 30 | # show mouse data 31 | try: 32 | while True: 33 | for event in pygame.event.get(): 34 | if(event.type is MOUSEBUTTONDOWN): 35 | pos = pygame.mouse.get_pos() 36 | print(pos) 37 | elif(event.type is MOUSEBUTTONUP): 38 | pos = pygame.mouse.get_pos() 39 | print(pos) 40 | sleep(0.1) 41 | except KeyboardInterrupt: 42 | pass 43 | -------------------------------------------------------------------------------- /software/rpi-display.txt: -------------------------------------------------------------------------------- 1 | ######################################################################## 2 | # EEPROM settings text file 3 | # 4 | # Edit this file for your particular board and run through eepmake tool, 5 | # then use eepflash tool to write to attached HAT ID EEPROM 6 | # 7 | # Tools available: 8 | # eepmake Parses EEPROM text file and creates binary .eep file 9 | # eepdump Dumps a binary .eep file as human readable text (for debug) 10 | # eepflash Write or read .eep binary image to/from HAT EEPROM 11 | # 12 | ######################################################################## 13 | 14 | ######################################################################## 15 | # Vendor info 16 | 17 | # 128 bit UUID. If left at zero eepmake tool will auto-generate 18 | # RFC 4122 compliant UUID 19 | product_uuid 90a11443-7057-4587-8e56-fe7d5d1c7022 20 | 21 | # 16 bit product id 22 | product_id 0x0001 23 | 24 | # 16 bit product version 25 | product_ver 0x0001 26 | 27 | # ASCII vendor string (max 255 characters) 28 | vendor "Watterott electronic" 29 | 30 | # ASCII product string (max 255 characters) 31 | product "RPi-Display B+" 32 | 33 | 34 | ######################################################################## 35 | # GPIO bank settings, set to nonzero to change from the default. 36 | # NOTE these setting can only be set per BANK, uncommenting any of 37 | # these will force the bank to use the custom setting. 38 | 39 | # drive strength, 0=default, 1-8=2,4,6,8,10,12,14,16mA, 9-15=reserved 40 | gpio_drive 0 41 | 42 | # 0=default, 1=slew rate limiting, 2=no slew limiting, 3=reserved 43 | gpio_slew 0 44 | 45 | # 0=default, 1=hysteresis disabled, 2=hysteresis enabled, 3=reserved 46 | gpio_hysteresis 0 47 | 48 | # If board back-powers Pi via 5V GPIO header pins: 49 | # 0 = board does not back-power 50 | # 1 = board back-powers and can supply the Pi with a minimum of 1.3A 51 | # 2 = board back-powers and can supply the Pi with a minimum of 2A 52 | # 3 = reserved 53 | # If back_power=2 then USB high current mode will be automatically 54 | # enabled on the Pi 55 | back_power 0 56 | 57 | ######################################################################## 58 | # GPIO pins, uncomment for GPIOs used on board 59 | # Options for FUNCTION: INPUT, OUTPUT, ALT0-ALT5 60 | # Options for PULL: DEFAULT, UP, DOWN, NONE 61 | # NB GPIO0 and GPIO1 are reserved for ID EEPROM so cannot be set 62 | 63 | # GPIO FUNCTION PULL 64 | # ---- -------- ---- 65 | #CS Touch 66 | setgpio 7 OUTPUT UP 67 | #CS Display 68 | setgpio 8 OUTPUT UP 69 | #MISO SPI 70 | setgpio 9 INPUT DEFAULT 71 | #MOSI SPI 72 | setgpio 10 OUTPUT DEFAULT 73 | #SCK SPI 74 | setgpio 11 OUTPUT DEFAULT 75 | #SW1 Switch 76 | setgpio 17 INPUT UP 77 | #Backlight/PWM 78 | setgpio 18 OUTPUT DOWN 79 | #SW3 Switch 80 | setgpio 22 INPUT UP 81 | #RST Display 82 | setgpio 23 OUTPUT UP 83 | #RS Display 84 | setgpio 24 OUTPUT DEFAULT 85 | #IRQ Touch 86 | setgpio 25 INPUT UP 87 | #SW2 Switch 88 | setgpio 27 INPUT UP 89 | --------------------------------------------------------------------------------