5 Replies Latest reply on Jan 21, 2017 2:39 PM by Django Redlar

    QR code parameters

    Django Redlar

      Hi,

       

      I'm working on adding some QR codes to a label. The ^BQ command seems to get a lot of its configuration from the ^FD command, which seems a little unique. After trying a few different settings, it appears to me that only a few of the "formal" ^BQ parameters are used:

       

      1. Orientation: ignored?
      2. Model: not ignored
      3. Magnification: not ignored
      4. Error correction level: ignored, even if no value specified in ^FD?
      5. Mask: ignored?

       

      Can you verify whether or not parameters 1, 4 and 5 are always ignored? If not, can you provide a small example where they are not ignored?

       

      Thanks!


      DR

        • Re: QR code parameters
          Christal Spaeth

          Django,

           

          The only parameter that would technically be considered ignored is the orientation, as in, the orientation will stay the same regardless of its value. However model, magnification, error correction level, and mask all have default values if they are not specified. For example, ^BQN, 2, 10 specifies orientation (ignored), a model value of 2, and a magnification factor of 10. Since the error correction and mask value aren't provided, the default value is assigned to them.

           

          Christal

            • Re: QR code parameters
              Django Redlar

              Hi Christal,

               

              I'm having trouble using parameters 4 (error correction level) and 5 (mask).

               

              It might help to refer to the specific example below. It contains 12 QR codes in 3 columns; each column contains 4 QR codes. The first and second columns use 8 different mask values. The third column uses the 4 different error correction levels. I expected all of these QR codes to look different, but they all look exactly the same. This is why I assumed that these parameters are being ignored: because no matter what value I use, the output doesn't change. Can you provide a counter-example where the parameters do affect the output?

               

              Thanks!

               

              DR

               

              ^XA

               

              ^FX first column

              ^FO100,100^FDMA,ABC^BQN,2,6,Q,0^FS ^FX mask 0

              ^FO100,300^FDMA,ABC^BQN,2,6,Q,1^FS ^FX mask 1

              ^FO100,500^FDMA,ABC^BQN,2,6,Q,2^FS ^FX mask 2

              ^FO100,700^FDMA,ABC^BQN,2,6,Q,3^FS ^FX mask 3

               

              ^FX second column

              ^FO300,100^FDMA,ABC^BQN,2,6,Q,4^FS ^FX mask 4

              ^FO300,300^FDMA,ABC^BQN,2,6,Q,5^FS ^FX mask 5

              ^FO300,500^FDMA,ABC^BQN,2,6,Q,6^FS ^FX mask 6

              ^FO300,700^FDMA,ABC^BQN,2,6,Q,7^FS ^FX mask 7

               

              ^FX third column

              ^FO500,100^FDA,ABC^BQN,2,6,H^FS ^FX error correction H

              ^FO500,300^FDA,ABC^BQN,2,6,Q^FS ^FX error correction Q

              ^FO500,500^FDA,ABC^BQN,2,6,M^FS ^FX error correction M

              ^FO500,700^FDA,ABC^BQN,2,6,L^FS ^FX error correction L

               

              ^XZ

              • Re: QR code parameters
                Django Redlar

                Hi Christal,

                 

                Have you had a chance to investigate? I'm completely unable to figure out how to use the last two parameters.

                 

                Thanks!

                 

                DR

                  • Re: QR code parameters
                    Christal Spaeth

                    Django,

                     

                    After some internal testing, we've found that we were able to print different bar code patterns with the same data, instead of the 12 identical bar codes from the original ZPL. It's important to note the order of commands. We see different QR codes print with the same data as long as:

                     

                    1) The ^BQ command comes before the ^FD command

                    2) The required error correction value (H,Q,M,L) and data input setting of (A or M) immediately follow FD

                     

                    According to the AIM QR Code Specification, mask has many different variables that can determine whether or not it can change a bar code pattern. ZebraDesigner software does not use a mask value in the ZPL it generates even though one can be selected. No value is specified for the mask allowing the default value of 7 to be used.

                     

                    The print results from the updated code are driven by the error correction value and not the mask value. So as in your original post, the mask value is basically ignored, yes.

                     

                    First column:

                    Mask values 0,1,2,3

                    Error correction H,Q,M,L

                     

                    Second column:

                    Mask values 4,5,6,7

                    Error correction H,Q,M,L

                     

                    Third column:

                    No mask value specified

                    Error correct H,Q,M,L

                     

                    ^XA

                    ^FT80,315^BQN,2,6,,0^FDHA,ABCDEFG^FS

                    ^FT80,602^BQN,2,6,,1^FDQA,ABCDEFG^FS

                    ^FT80,844^BQN,2,6,,2^FDMA,ABCDEFG^FS

                    ^FT80,1079^BQN,2,6,,3^FDLA,ABCDEFG^FS

                     

                    ^FT330,315^BQN,2,6,,4^FDHA,ABCDEFG^FS

                    ^FT330,606^BQN,2,6,,5^FDQA,ABCDEFG^FS

                    ^FT330,848^BQN,2,6,,6^FDMA,ABCDEFG^FS

                    ^FT330,1084^BQN,2,6,,7^FDLA,ABCDEFG^FS

                     

                    ^FT595,315^BQN,2,6^FDHA,ABCDEFG^FS

                    ^FT595,608^BQN,2,6^FDQA,ABCDEFG^FS

                    ^FT595,853^BQN,2,6^FDMA,ABCDEFG^FS

                    ^FT595,1087^BQN,2,6^FDLA,ABCDEFG^FS

                    ^XZ

                     

                    Christal