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.
    • F
      faz808 F last edited by

      This could prove a major stumbling block - Error Correction Coding.

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

        @faz808 Well that was the easy bit!

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

          @faz808 Yes it looks fun! https://www.thonky.com/qr-code-tutorial/error-correction-coding I have some C# code that I might try to convert

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

            I'll leave that bit with you then. My brain needs a rest - it's hurting...

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

              @faz808 OK will you look at encoding then?

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

                I'll give it go.

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

                  Getting there - slowly...
                  encoder ID: MXK7BH2UW5

                  pianofire 1 Reply Last reply Reply Quote 0
                  • 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
                                            • First post
                                              Last post