Navigation

    Fuze Arena Logo
    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Popular
    • Users
    • Groups
    • Help
    • Discord

    File Export

    Beginners
    12
    108
    13943
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • pianofire
      pianofire Fuze Team @faz808 last edited by

      @faz808 No rush. I am still keying in this monster! https://www.thonky.com/qr-code-tutorial/error-correction-table

      1 Reply Last reply Reply Quote 2
      • F
        faz808 F last edited by

        What a team !

        1 Reply Last reply Reply Quote 4
        • pianofire
          pianofire Fuze Team last edited by

          Finished the table!

          // QRCode Error Correction
          // by Pianofire
          // Version WIP
          
          struct ECBlock
            string name // Version-Level
            int g1b // Group 1 Blocks
            int g1d // Data Codewords in Group 1
            int g2b // Group 2 Blocks
            int g2d // Data Codewords in Group 2
            int tdc // Total Data Codewords
          endstruct
          
          ECBlock ecBlocks = [ 
            [ .name = "1-L",  .g1b = 1,  .g1d = 19,  .g2b = 0,  .g2d = 0,   .tdc = 19 ],
            [ .name = "1-M",  .g1b = 1,  .g1d = 16,  .g2b = 0,  .g2d = 0,   .tdc = 16 ],
            [ .name = "1-Q",  .g1b = 1,  .g1d = 13,  .g2b = 0,  .g2d = 0,   .tdc = 13 ],
            [ .name = "1-H",  .g1b = 1,  .g1d = 9,   .g2b = 0,  .g2d = 0,   .tdc = 9 ],
            [ .name = "2-L",  .g1b = 1,  .g1d = 34,  .g2b = 0,  .g2d = 0,   .tdc = 34 ],
            [ .name = "2-M",  .g1b = 1,  .g1d = 28,  .g2b = 0,  .g2d = 0,   .tdc = 28 ],
            [ .name = "2-Q",  .g1b = 1,  .g1d = 22,  .g2b = 0,  .g2d = 0,   .tdc = 22 ],
            [ .name = "2-H",  .g1b = 1,  .g1d = 16,  .g2b = 0,  .g2d = 0,   .tdc = 16 ],
            [ .name = "3-L",  .g1b = 1,  .g1d = 55,  .g2b = 0,  .g2d = 0,   .tdc = 55 ],
            [ .name = "3-M",  .g1b = 1,  .g1d = 44,  .g2b = 0,  .g2d = 0,   .tdc = 44 ],
            [ .name = "3-Q",  .g1b = 2,  .g1d = 17,  .g2b = 0,  .g2d = 0,   .tdc = 34 ],
            [ .name = "3-H",  .g1b = 2,  .g1d = 13,  .g2b = 0,  .g2d = 0,   .tdc = 26 ],
            [ .name = "4-L",  .g1b = 1,  .g1d = 80,  .g2b = 0,  .g2d = 0,   .tdc = 80 ],
            [ .name = "4-M",  .g1b = 2,  .g1d = 32,  .g2b = 0,  .g2d = 0,   .tdc = 64 ],
            [ .name = "4-Q",  .g1b = 2,  .g1d = 24,  .g2b = 0,  .g2d = 0,   .tdc = 48 ],
            [ .name = "4-H",  .g1b = 4,  .g1d = 9,   .g2b = 0,  .g2d = 0,   .tdc = 36 ],
            [ .name = "5-L",  .g1b = 1,  .g1d = 108, .g2b = 0,  .g2d = 0,   .tdc = 108 ],
            [ .name = "5-M",  .g1b = 2,  .g1d = 43,  .g2b = 0,  .g2d = 0,   .tdc = 86 ],
            [ .name = "5-Q",  .g1b = 2,  .g1d = 15,  .g2b = 2,  .g2d = 16,  .tdc = 62 ],
            [ .name = "5-H",  .g1b = 2,  .g1d = 11,  .g2b = 2,  .g2d = 12,  .tdc = 46 ],
            [ .name = "6-L",  .g1b = 2,  .g1d = 68,  .g2b = 0,  .g2d = 0,   .tdc = 136 ],
            [ .name = "6-M",  .g1b = 4,  .g1d = 27,  .g2b = 0,  .g2d = 0,   .tdc = 108 ],
            [ .name = "6-Q",  .g1b = 4,  .g1d = 19,  .g2b = 0,  .g2d = 0,   .tdc = 76 ],
            [ .name = "6-H",  .g1b = 4,  .g1d = 15,  .g2b = 0,  .g2d = 0,   .tdc = 60 ],
            [ .name = "7-L",  .g1b = 2,  .g1d = 78,  .g2b = 0,  .g2d = 0,   .tdc = 156 ],
            [ .name = "7-M",  .g1b = 4,  .g1d = 31,  .g2b = 0,  .g2d = 0,   .tdc = 124 ],
            [ .name = "7-Q",  .g1b = 2,  .g1d = 14,  .g2b = 4,  .g2d = 15,  .tdc = 88 ],
            [ .name = "7-H",  .g1b = 4,  .g1d = 13,  .g2b = 1,  .g2d = 14,  .tdc = 66 ],
            [ .name = "8-L",  .g1b = 2,  .g1d = 97,  .g2b = 0,  .g2d = 0,   .tdc = 194 ],
            [ .name = "8-M",  .g1b = 2,  .g1d = 38,  .g2b = 2,  .g2d = 39,  .tdc = 154 ],
            [ .name = "8-Q",  .g1b = 4,  .g1d = 18,  .g2b = 2,  .g2d = 19,  .tdc = 110 ],
            [ .name = "8-H",  .g1b = 4,  .g1d = 14,  .g2b = 2,  .g2d = 15,  .tdc = 86 ], 
            [ .name = "9-L",  .g1b = 2,  .g1d = 116, .g2b = 0,  .g2d = 0,   .tdc = 232 ], 
            [ .name = "9-M",  .g1b = 3,  .g1d = 36,  .g2b = 2,  .g2d = 37,  .tdc = 182 ], 
            [ .name = "9-Q",  .g1b = 4,  .g1d = 16,  .g2b = 4,  .g2d = 17,  .tdc = 132 ], 
            [ .name = "9-H",  .g1b = 4,  .g1d = 12,  .g2b = 4,  .g2d = 13,  .tdc = 100 ], 
            [ .name = "10-L", .g1b = 2,  .g1d = 68,  .g2b = 2,  .g2d = 69,  .tdc = 274 ], 
            [ .name = "10-M", .g1b = 4,  .g1d = 43,  .g2b = 1,  .g2d = 44,  .tdc = 216 ], 
            [ .name = "10-Q", .g1b = 6,  .g1d = 19,  .g2b = 2,  .g2d = 20,  .tdc = 154 ], 
            [ .name = "10-H", .g1b = 6,  .g1d = 15,  .g2b = 2,  .g2d = 16,  .tdc = 122 ], 
            [ .name = "11-L", .g1b = 4,  .g1d = 81,  .g2b = 0,  .g2d = 0,   .tdc = 324 ], 
            [ .name = "11-M", .g1b = 1,  .g1d = 50,  .g2b = 4,  .g2d = 51,  .tdc = 254 ], 
            [ .name = "11-Q", .g1b = 4,  .g1d = 22,  .g2b = 4,  .g2d = 23,  .tdc = 180 ], 
            [ .name = "11-H", .g1b = 3,  .g1d = 12,  .g2b = 8,  .g2d = 13,  .tdc = 140 ],
            [ .name = "12-L", .g1b = 2,  .g1d = 92,  .g2b = 2,  .g2d = 93,  .tdc = 370 ], 
            [ .name = "12-M", .g1b = 6,  .g1d = 36,  .g2b = 2,  .g2d = 37,  .tdc = 290 ], 
            [ .name = "12-Q", .g1b = 4,  .g1d = 20,  .g2b = 6,  .g2d = 21,  .tdc = 206 ], 
            [ .name = "12-H", .g1b = 7,  .g1d = 14,  .g2b = 4,  .g2d = 15,  .tdc = 158 ],
            [ .name = "13-L", .g1b = 4,  .g1d = 107, .g2b = 0,  .g2d = 0,   .tdc = 428 ], 
            [ .name = "13-M", .g1b = 8,  .g1d = 37,  .g2b = 1,  .g2d = 38,  .tdc = 334 ], 
            [ .name = "13-Q", .g1b = 8,  .g1d = 20,  .g2b = 4,  .g2d = 21,  .tdc = 244 ], 
            [ .name = "13-H", .g1b = 12, .g1d = 11,  .g2b = 4,  .g2d = 12,  .tdc = 180 ], 
            [ .name = "14-L", .g1b = 3,  .g1d = 115, .g2b = 1,  .g2d = 116, .tdc = 461 ], 
            [ .name = "14-M", .g1b = 4,  .g1d = 40,  .g2b = 5,  .g2d = 41,  .tdc = 365 ], 
            [ .name = "14-Q", .g1b = 11, .g1d = 16,  .g2b = 5,  .g2d = 17,  .tdc = 261 ], 
            [ .name = "14-H", .g1b = 11, .g1d = 12,  .g2b = 5,  .g2d = 13,  .tdc = 197 ], 
            [ .name = "15-L", .g1b = 5,  .g1d = 87,  .g2b = 1,  .g2d = 88,  .tdc = 523 ], 
            [ .name = "15-M", .g1b = 5,  .g1d = 41,  .g2b = 5,  .g2d = 42,  .tdc = 415 ], 
            [ .name = "15-Q", .g1b = 5,  .g1d = 24,  .g2b = 7,  .g2d = 25,  .tdc = 295 ], 
            [ .name = "15-H", .g1b = 11, .g1d = 12,  .g2b = 7,  .g2d = 13,  .tdc = 223 ],
            [ .name = "16-L", .g1b = 5,  .g1d = 98,  .g2b = 1,  .g2d = 99,  .tdc = 589 ], 
            [ .name = "16-M", .g1b = 7,  .g1d = 45,  .g2b = 3,  .g2d = 46,  .tdc = 453 ], 
            [ .name = "16-Q", .g1b = 15, .g1d = 19,  .g2b = 2,  .g2d = 20,  .tdc = 325 ], 
            [ .name = "16-H", .g1b = 3,  .g1d = 15,  .g2b = 13, .g2d = 16,  .tdc = 253 ],
            [ .name = "17-L", .g1b = 1,  .g1d = 107, .g2b = 5,  .g2d = 108, .tdc = 647 ], 
            [ .name = "17-M", .g1b = 10, .g1d = 46,  .g2b = 1,  .g2d = 47,  .tdc = 507 ], 
            [ .name = "17-Q", .g1b = 1,  .g1d = 22,  .g2b = 15, .g2d = 23,  .tdc = 367 ], 
            [ .name = "17-H", .g1b = 2,  .g1d = 14,  .g2b = 17, .g2d = 15,  .tdc = 283 ],
            [ .name = "18-L", .g1b = 5,  .g1d = 120, .g2b = 1,  .g2d = 121, .tdc = 721 ], 
            [ .name = "18-M", .g1b = 9,  .g1d = 43,  .g2b = 4,  .g2d = 44,  .tdc = 563 ], 
            [ .name = "18-Q", .g1b = 17, .g1d = 22,  .g2b = 1,  .g2d = 23,  .tdc = 397 ], 
            [ .name = "18-H", .g1b = 2,  .g1d = 14,  .g2b = 19, .g2d = 15,  .tdc = 313 ], 
            [ .name = "19-L", .g1b = 3,  .g1d = 113, .g2b = 4,  .g2d = 114, .tdc = 795 ], 
            [ .name = "19-M", .g1b = 3,  .g1d = 44,  .g2b = 11, .g2d = 45,  .tdc = 627 ], 
            [ .name = "19-Q", .g1b = 17, .g1d = 21,  .g2b = 4,  .g2d = 22,  .tdc = 445 ], 
            [ .name = "19-H", .g1b = 9,  .g1d = 13,  .g2b = 16, .g2d = 14,  .tdc = 341 ],
            [ .name = "20-L", .g1b = 3,  .g1d = 107, .g2b = 5,  .g2d = 108, .tdc = 861 ], 
            [ .name = "20-M", .g1b = 3,  .g1d = 41,  .g2b = 13, .g2d = 42,  .tdc = 669 ], 
            [ .name = "20-Q", .g1b = 15, .g1d = 24,  .g2b = 5,  .g2d = 25,  .tdc = 485 ], 
            [ .name = "20-H", .g1b = 15, .g1d = 15,  .g2b = 10, .g2d = 16,  .tdc = 385 ],
            [ .name = "21-L", .g1b = 4,  .g1d = 116, .g2b = 4,  .g2d = 117, .tdc = 932 ], 
            [ .name = "21-M", .g1b = 17, .g1d = 42,  .g2b = 0,  .g2d = 0,   .tdc = 714 ], 
            [ .name = "21-Q", .g1b = 17, .g1d = 22,  .g2b = 6,  .g2d = 23,  .tdc = 512 ], 
            [ .name = "21-H", .g1b = 19, .g1d = 16,  .g2b = 6,  .g2d = 17,  .tdc = 406 ], 
            [ .name = "22-L", .g1b = 2,  .g1d = 111, .g2b = 7,  .g2d = 112, .tdc = 1006 ], 
            [ .name = "22-M", .g1b = 17, .g1d = 46,  .g2b = 0,  .g2d = 0,   .tdc = 782 ], 
            [ .name = "22-Q", .g1b = 7,  .g1d = 24,  .g2b = 16, .g2d = 25,  .tdc = 568 ], 
            [ .name = "22-H", .g1b = 34, .g1d = 13,  .g2b = 0,  .g2d = 0,   .tdc = 442 ],
            [ .name = "23-L", .g1b = 4,  .g1d = 121, .g2b = 5,  .g2d = 122, .tdc = 1094 ], 
            [ .name = "23-M", .g1b = 4,  .g1d = 47,  .g2b = 14, .g2d = 48,  .tdc = 860 ], 
            [ .name = "23-Q", .g1b = 11, .g1d = 24,  .g2b = 14, .g2d = 25,  .tdc = 614 ], 
            [ .name = "23-H", .g1b = 16, .g1d = 15,  .g2b = 14, .g2d = 16,  .tdc = 464 ], 
            [ .name = "24-L", .g1b = 6,  .g1d = 117, .g2b = 4,  .g2d = 118, .tdc = 1174 ], 
            [ .name = "24-M", .g1b = 6,  .g1d = 45,  .g2b = 14, .g2d = 46,  .tdc = 914 ], 
            [ .name = "24-Q", .g1b = 11, .g1d = 24,  .g2b = 16, .g2d = 25,  .tdc = 664 ], 
            [ .name = "24-H", .g1b = 30, .g1d = 16,  .g2b = 2,  .g2d = 17,  .tdc = 514 ], 
            [ .name = "25-L", .g1b = 8,  .g1d = 106, .g2b = 4,  .g2d = 107, .tdc = 1276 ], 
            [ .name = "25-M", .g1b = 8,  .g1d = 47,  .g2b = 13, .g2d = 48,  .tdc = 1000 ], 
            [ .name = "25-Q", .g1b = 7,  .g1d = 24,  .g2b = 22, .g2d = 25,  .tdc = 718 ], 
            [ .name = "25-H", .g1b = 22, .g1d = 15,  .g2b = 13, .g2d = 16,  .tdc = 538 ],
            [ .name = "26-L", .g1b = 10, .g1d = 114, .g2b = 2,  .g2d = 115, .tdc = 1370 ], 
            [ .name = "26-M", .g1b = 19, .g1d = 46,  .g2b = 4,  .g2d = 47,  .tdc = 1062 ], 
            [ .name = "26-Q", .g1b = 28, .g1d = 22,  .g2b = 6,  .g2d = 23,  .tdc = 754 ], 
            [ .name = "26-H", .g1b = 33, .g1d = 16,  .g2b = 4,  .g2d = 17,  .tdc = 596 ], 
            [ .name = "27-L", .g1b = 8,  .g1d = 122, .g2b = 4,  .g2d = 123, .tdc = 1468 ], 
            [ .name = "27-M", .g1b = 22, .g1d = 45,  .g2b = 3,  .g2d = 46,  .tdc = 1128 ], 
            [ .name = "27-Q", .g1b = 8,  .g1d = 23,  .g2b = 26, .g2d = 24,  .tdc = 808 ], 
            [ .name = "27-H", .g1b = 12, .g1d = 15,  .g2b = 28, .g2d = 16,  .tdc = 628 ], 
            [ .name = "28-L", .g1b = 3,  .g1d = 117, .g2b = 10, .g2d = 118, .tdc = 1531 ], 
            [ .name = "28-M", .g1b = 3,  .g1d = 45,  .g2b = 23, .g2d = 46,  .tdc = 1193 ], 
            [ .name = "28-Q", .g1b = 4,  .g1d = 24,  .g2b = 31, .g2d = 25,  .tdc = 871 ], 
            [ .name = "28-H", .g1b = 11, .g1d = 15,  .g2b = 31, .g2d = 16,  .tdc = 661 ],
            [ .name = "29-L", .g1b = 7,  .g1d = 116, .g2b = 7,  .g2d = 117, .tdc = 1631 ], 
            [ .name = "29-M", .g1b = 21, .g1d = 45,  .g2b = 7,  .g2d = 46,  .tdc = 1267 ], 
            [ .name = "29-Q", .g1b = 1,  .g1d = 23,  .g2b = 37, .g2d = 24,  .tdc = 911 ], 
            [ .name = "29-H", .g1b = 19, .g1d = 15,  .g2b = 26, .g2d = 16,  .tdc = 701 ],
            [ .name = "30-L", .g1b = 5,  .g1d = 115, .g2b = 10, .g2d = 116, .tdc = 1735 ], 
            [ .name = "30-M", .g1b = 19, .g1d = 47,  .g2b = 10, .g2d = 48,  .tdc = 1373 ], 
            [ .name = "30-Q", .g1b = 15, .g1d = 24,  .g2b = 25, .g2d = 25,  .tdc = 985 ], 
            [ .name = "30-H", .g1b = 23, .g1d = 15,  .g2b = 25, .g2d = 16,  .tdc = 745 ], 
            [ .name = "31-L", .g1b = 13, .g1d = 115, .g2b = 3,  .g2d = 116, .tdc = 1843 ], 
            [ .name = "31-M", .g1b = 2,  .g1d = 46,  .g2b = 29, .g2d = 47,  .tdc = 1455 ], 
            [ .name = "31-Q", .g1b = 42, .g1d = 24,  .g2b = 1,  .g2d = 25,  .tdc = 1033 ], 
            [ .name = "31-H", .g1b = 23, .g1d = 15,  .g2b = 28, .g2d = 16,  .tdc = 793 ],
            [ .name = "32-L", .g1b = 17, .g1d = 115, .g2b = 0,  .g2d = 0,   .tdc = 1955 ], 
            [ .name = "32-M", .g1b = 10, .g1d = 46,  .g2b = 23, .g2d = 47,  .tdc = 1541 ], 
            [ .name = "32-Q", .g1b = 10, .g1d = 24,  .g2b = 35, .g2d = 25,  .tdc = 1115 ], 
            [ .name = "32-H", .g1b = 19, .g1d = 15,  .g2b = 35, .g2d = 16,  .tdc = 845 ],
            [ .name = "33-L", .g1b = 17, .g1d = 115, .g2b = 1,  .g2d = 116, .tdc = 2071 ], 
            [ .name = "33-M", .g1b = 14, .g1d = 46,  .g2b = 21, .g2d = 47,  .tdc = 1631 ], 
            [ .name = "33-Q", .g1b = 29, .g1d = 24,  .g2b = 19, .g2d = 25,  .tdc = 1171 ], 
            [ .name = "33-H", .g1b = 11, .g1d = 15,  .g2b = 46, .g2d = 16,  .tdc = 901 ], 
            [ .name = "34-L", .g1b = 13, .g1d = 115, .g2b = 6,  .g2d = 116, .tdc = 2191 ], 
            [ .name = "34-M", .g1b = 14, .g1d = 46,  .g2b = 23, .g2d = 47,  .tdc = 1725 ], 
            [ .name = "34-Q", .g1b = 44, .g1d = 24,  .g2b = 7,  .g2d = 25,  .tdc = 1231 ], 
            [ .name = "34-H", .g1b = 59, .g1d = 16,  .g2b = 1,  .g2d = 17,  .tdc = 961 ], 
            [ .name = "35-L", .g1b = 12, .g1d = 121, .g2b = 7,  .g2d = 122, .tdc = 2306 ], 
            [ .name = "35-M", .g1b = 12, .g1d = 47,  .g2b = 26, .g2d = 48,  .tdc = 1812 ], 
            [ .name = "35-Q", .g1b = 39, .g1d = 24,  .g2b = 14, .g2d = 25,  .tdc = 1286 ], 
            [ .name = "35-H", .g1b = 22, .g1d = 15,  .g2b = 41, .g2d = 16,  .tdc = 986 ], 
            [ .name = "36-L", .g1b = 6,  .g1d = 121, .g2b = 14, .g2d = 122, .tdc = 2434 ], 
            [ .name = "36-M", .g1b = 6,  .g1d = 47,  .g2b = 34, .g2d = 48,  .tdc = 1914 ], 
            [ .name = "36-Q", .g1b = 46, .g1d = 24,  .g2b = 10, .g2d = 25,  .tdc = 1354 ], 
            [ .name = "36-H", .g1b = 2,  .g1d = 15,  .g2b = 64, .g2d = 16,  .tdc = 1054 ],
            [ .name = "37-L", .g1b = 17, .g1d = 122, .g2b = 4,  .g2d = 123, .tdc = 2566 ], 
            [ .name = "37-M", .g1b = 29, .g1d = 46,  .g2b = 14, .g2d = 47,  .tdc = 1992 ], 
            [ .name = "37-Q", .g1b = 49, .g1d = 24,  .g2b = 10, .g2d = 25,  .tdc = 1426 ], 
            [ .name = "37-H", .g1b = 24, .g1d = 15,  .g2b = 46, .g2d = 16,  .tdc = 1096 ],
            [ .name = "38-L", .g1b = 4,  .g1d = 122, .g2b = 18, .g2d = 123, .tdc = 2702 ], 
            [ .name = "38-M", .g1b = 13, .g1d = 46,  .g2b = 32, .g2d = 47,  .tdc = 2102 ], 
            [ .name = "38-Q", .g1b = 48, .g1d = 24,  .g2b = 14, .g2d = 25,  .tdc = 1502 ], 
            [ .name = "38-H", .g1b = 42, .g1d = 15,  .g2b = 32, .g2d = 16,  .tdc = 1142 ],
            [ .name = "39-L", .g1b = 20, .g1d = 117, .g2b = 4,  .g2d = 118, .tdc = 2812 ], 
            [ .name = "39-M", .g1b = 40, .g1d = 47,  .g2b = 7,  .g2d = 48,  .tdc = 2216 ], 
            [ .name = "39-Q", .g1b = 43, .g1d = 24,  .g2b = 22, .g2d = 25,  .tdc = 1582 ], 
            [ .name = "39-H", .g1b = 10, .g1d = 15,  .g2b = 67, .g2d = 16,  .tdc = 1222 ], 
            [ .name = "40-L", .g1b = 19, .g1d = 118, .g2b = 6,  .g2d = 119, .tdc = 2956 ], 
            [ .name = "40-M", .g1b = 18, .g1d = 47,  .g2b = 31, .g2d = 48,  .tdc = 2334 ], 
            [ .name = "40-Q", .g1b = 34, .g1d = 24,  .g2b = 34, .g2d = 25,  .tdc = 1666 ], 
            [ .name = "40-H", .g1b = 20, .g1d = 15,  .g2b = 61, .g2d = 16,  .tdc = 1276 ] 
          ]
          
          verifyECBlocks()
          
          ecb = getECBlock( 22, "H" )
          
          print(ecb)
          
          update()
          sleep(10)
          
          // get the error correction block for the specified version and level
          // version: 1-40
          // level: L, M, Q, H
          function getECBlock( version, level )
            ECBlock result = [ .name = "",  .g1b = 0, .g1d = 0,  .g2b = 0, .g2d = 0,  .tdc = 0 ]
            int i
            string name = str( version ) + "-" + level
            for i = 0 to len( ecBlocks ) loop
              if ecBlocks[ i ].name == name then
                result = ecBlocks[ i ]
                break
              endif  
            repeat
          return result
          
          // Check that total data codewords match with expected
          // prints any that don't
          function verifyECBlocks()
            for i = 0 to len(ecBlocks) loop
              ecb = ecBlocks[i]
              if ecb.tdc != ( ecb.g1b * ecb.g1d ) + ( ecb.g2b * ecb.g2d ) then
                print(ecb, "\n")
              endif
            repeat
          return void
          
          1 Reply Last reply Reply Quote 2
          • F
            faz808 F last edited by

            Just got to check I've got 104 bits in final code and tidy up my messy code!
            Had to have "HELLO WORLD!" to avoid odd number of chars. Makes it a bit easier. Work on that part later..
            If not 104 bits a bit of padding to do.

            1 Reply Last reply Reply Quote 0
            • F
              faz808 F last edited by

              So far …
              encoder ID: MXK7BH2UW5
              If you want to tidy up the mess feel free !!!
              I'll do it, just wanted you to see progress.

              pianofire 1 Reply Last reply Reply Quote 0
              • pianofire
                pianofire Fuze Team @faz808 last edited by

                @faz808 That's fine. No pressure, I still have plenty to do on the error correction anyway

                1 Reply Last reply Reply Quote 1
                • F
                  faz808 F last edited by

                  I haven't checked for crashes with other phrases - I daren't !
                  There's bound to be run errors but if we can generate a QR code with HELLO WORLD! then that's got to be a major step forward...

                  encoder2 ID: KFA73M5T15

                  pianofire 1 Reply Last reply Reply Quote 3
                  • pianofire
                    pianofire Fuze Team @faz808 last edited by

                    @faz808 Yes that is my initial objective too! I should have some more time to spend on this over the weekend

                    1 Reply Last reply Reply Quote 1
                    • F
                      faz808 F last edited by

                      Fingers crossed !

                      pianofire 1 Reply Last reply Reply Quote 0
                      • pianofire
                        pianofire Fuze Team @faz808 last edited by

                        @faz808 Oh Joy another massive table! https://www.thonky.com/qr-code-tutorial/character-capacities

                        1 Reply Last reply Reply Quote 2
                        • F
                          faz808 F last edited by

                          Will it ever end !!!

                          pianofire 1 Reply Last reply Reply Quote 2
                          • pianofire
                            pianofire Fuze Team @faz808 last edited by

                            @faz808 A bit more progress on the error correction AYK73MBHMN

                            Can now determine the smallest version for the data ( up to about version 12 )

                            1 Reply Last reply Reply Quote 1
                            • F
                              faz808 F last edited by

                              Glad I didn't volunteer to enter that lot..
                              Well done !

                              pianofire 1 Reply Last reply Reply Quote 0
                              • pianofire
                                pianofire Fuze Team last edited by

                                I have found some more tables but I think by entering these I won't have to try to understand the maths so I don't mind keying them!

                                1 Reply Last reply Reply Quote 1
                                • pianofire
                                  pianofire Fuze Team @faz808 last edited by

                                  @faz808 Now have ploynomial division working with no clue what it does!

                                  1 Reply Last reply Reply Quote 1
                                  • F
                                    faz808 F last edited by

                                    I thought everyone knew what Polynomial long division is . .ho ho ho ...
                                    Polynomial long division is an algorithm that implements the Euclidean division of polynomials, which starting from two polynomials A (the dividend) and B (the divisor) produces, if B is not zero, a quotient Q and a remainder R such that. A = BQ + R, and either R = 0 or the degree of R is lower than the degree of B.
                                    Don't understand a word of it but well done sir.
                                    What the difference between ploynomial division and Polynomial long division?

                                    1 Reply Last reply Reply Quote 1
                                    • F
                                      faz808 F last edited by

                                      Seriously, how are we doing?

                                      1 Reply Last reply Reply Quote 0
                                      • pianofire
                                        pianofire Fuze Team last edited by

                                        Well this is the next bit https://www.thonky.com/qr-code-tutorial/structure-final-message

                                        1 Reply Last reply Reply Quote 1
                                        • pianofire
                                          pianofire Fuze Team last edited by

                                          But for our short message we could skip straight to here: https://www.thonky.com/qr-code-tutorial/module-placement-matrix

                                          1 Reply Last reply Reply Quote 1
                                          • F
                                            faz808 F last edited by

                                            At least it doesn't look like there's any maths involved. Just bit placement.

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post