Jump to content


Photo
- - - - -

LabVIEW can generate QR code or not.


  • Please log in to reply
25 replies to this topic

#1 QRAsk

QRAsk

    Are we there yet?

  • Members
  • 5 posts
  • Version:LabVIEW 2011
  • Since:2011

Posted 19 January 2012 - 05:00 PM

I can write a program to generate a QR code from a program LabVIEW or not.

#2 Jordan Kuehn

Jordan Kuehn

    Very Active

  • Premium Member
  • 239 posts
  • Location:Oklahoma
  • Version:LabVIEW 2011
  • Since:2009

Posted 19 January 2012 - 05:28 PM

I think this is the closest thing I've seen. https://decibel.ni.c.../docs/DOC-14718

The author notes that the details required for implementation of QR code generation (and licensing I assume) are expensive.
The Colex Group
Lead Software Engineer
Certified LabVIEW Developer

#3 QRAsk

QRAsk

    Are we there yet?

  • Members
  • 5 posts
  • Version:LabVIEW 2011
  • Since:2011

Posted 19 January 2012 - 06:08 PM

Thank you.

#4 Phillip Brooks

Phillip Brooks

    The 500 club

  • Members
  • PipPipPipPipPip
  • 758 posts
  • Location:Boston, MA
  • Version:LabVIEW 8.6
  • Since:1999

Posted 19 January 2012 - 07:03 PM

If you have an active internet connection, you can use this VI.

It uses Datasocket and the Google Chart API.

Attached File  Create QR Code.vi   14.46K   264 downloads
(LV 8.6)

Now is the right time to use %^<%Y-%m-%dT%H:%M:%S%3uZ>T


#5 QRAsk

QRAsk

    Are we there yet?

  • Members
  • 5 posts
  • Version:LabVIEW 2011
  • Since:2011

Posted 20 January 2012 - 07:26 AM

Thank you.
I want to generate on offline.
What tools I have to use?

#6 Phillip Brooks

Phillip Brooks

    The 500 club

  • Members
  • PipPipPipPipPip
  • 758 posts
  • Location:Boston, MA
  • Version:LabVIEW 8.6
  • Since:1999

Posted 20 January 2012 - 01:40 PM

Thank you.
I want to generate on offline.
What tools I have to use?


I don't know how you would do this offline. As I stated, you must have internet access because it uses the Google Charts API.

Now is the right time to use %^<%Y-%m-%dT%H:%M:%S%3uZ>T


#7 QRAsk

QRAsk

    Are we there yet?

  • Members
  • 5 posts
  • Version:LabVIEW 2011
  • Since:2011

Posted 20 January 2012 - 02:40 PM


I don't know how you would do this offline. As I stated, you must have internet access because it uses the Google Charts API.

Thank you.

#8 Wouter

Wouter

    Very Active

  • Members
  • PipPipPip
  • 103 posts
  • Version:LabVIEW 2011
  • Since:2006

Posted 20 January 2012 - 04:26 PM

There are several .dll availables for .NET. You can use them also in LabVIEW. http://www.google.nl...e generator dll. Further when you google on "ISO/IEC 18004:2006" you may or may not find a .PDF file containing the ISO/IEC specification of QR code, enabling you to fully implement QR code in LabVIEW. However note that the .PDF is actually not the latest edition "ISO/IEC 18004:2006" but the previous "ISO/IEC 18004:2000".

#9 Mr Mike

Mr Mike

    Very Active

  • NI
  • 109 posts
  • Location:Austin, TX
  • Version:LabVIEW 2012
  • Since:2009

Posted 23 January 2012 - 05:37 AM

I think this is the closest thing I've seen. https://decibel.ni.c.../docs/DOC-14718

The author notes that the details required for implementation of QR code generation (and licensing I assume) are expensive.

It's a combination of the price and time. I (the author) work on the LabVIEW Language team and developing libraries for users is not one of my job responsibilities. Most of the work on the bar codes is done during my free time or on our free form test days.

I recently added (but have not yet cleaned up / tested / published) support for PDF417, which may be an acceptable alternative to QR codes. I noticed recently that tcpdf supports QR codes and it's distributed under the LGPL. I may be able to port it, but it's not very well documented (and neither is the source of their QR code support. It seems like a very complex bar code from what I've seen, so I'm not optimistic about being able to implement it quickly. (I'd also need to double check with NI's legal department regarding porting from LGPL code)
-- Mike

#10 Mr Mike

Mr Mike

    Very Active

  • NI
  • 109 posts
  • Location:Austin, TX
  • Version:LabVIEW 2012
  • Since:2009

Posted 19 March 2012 - 08:44 PM

I've done most of the implementation for supporting QR codes, but I'm having a lot of trouble generating the error correction codes. There are four error correction levels (L, M, Q, and H). 100% of my tested QR codes have the correct error correction for Q and H. About 50% of M codes have the correct error correction codes, and none of the L codes have the correct error correction data. I can't figure out what's wrong with it. Does anyone have experience with generating QR codes?

I've looked at some other implementations (MIT license only -- I'd like to stay away from GPL code just in case), but their implementation is very confusing to me.
-- Mike

#11 QRAsk

QRAsk

    Are we there yet?

  • Members
  • 5 posts
  • Version:LabVIEW 2011
  • Since:2011

Posted 25 March 2012 - 04:25 AM

I'm studying. About the QR Code.

#12 Darin

Darin

    Very Active

  • Members
  • PipPipPip
  • 168 posts
  • Version:LabVIEW 2009
  • Since:1992

Posted 12 April 2012 - 07:19 PM

*
POPULAR

I've done most of the implementation for supporting QR codes, but I'm having a lot of trouble generating the error correction codes. There are four error correction levels (L, M, Q, and H). 100% of my tested QR codes have the correct error correction for Q and H. About 50% of M codes have the correct error correction codes, and none of the L codes have the correct error correction data. I can't figure out what's wrong with it. Does anyone have experience with generating QR codes?


LavaQR.png

#13 Mr Mike

Mr Mike

    Very Active

  • NI
  • 109 posts
  • Location:Austin, TX
  • Version:LabVIEW 2012
  • Since:2009

Posted 12 April 2012 - 07:32 PM


LavaQR.png

Yes, but did you make that with LabVIEW?
-- Mike

#14 ShaunR

ShaunR

    LabVIEW Archetype

  • Members
  • PipPipPipPipPipPip
  • 2,274 posts
  • Version:LabVIEW 2009
  • Since:1994

Posted 12 April 2012 - 07:33 PM

Yes, but did you make that with LabVIEW?

According to the text in the code....yes :)
A positive attitude may not solve all your problems, but it will annoy enough people to make it worth the effort. (Herm Albright 1876-1944).

Founder and general mischief maker on www.labview-tools.com.
SQlite aficionado and websocket zealot.
If it 'aint in LabVIEW, then you 'aint got a clue!

#15 Darin

Darin

    Very Active

  • Members
  • PipPipPip
  • 168 posts
  • Version:LabVIEW 2009
  • Since:1992

Posted 12 April 2012 - 07:52 PM

Yes, but did you make that with LabVIEW?


Shaun is correct, 100% pure G. Not up to spec, no Kanji, no mixed mode messages, just a simple encoder I have used many times to label objects around the lab. Chokes in a few corner cases when I approach the data limit of a particular version, but all levels of EC work.

(I am not trying just to be a tease, but there is a bit of cleanup left to do since I kind of stopped once it was working. I can probably help with the problems in your code though).

Edited by Darin, 12 April 2012 - 07:55 PM.


#16 Phillip Brooks

Phillip Brooks

    The 500 club

  • Members
  • PipPipPipPipPip
  • 758 posts
  • Location:Boston, MA
  • Version:LabVIEW 8.6
  • Since:1999

Posted 12 April 2012 - 09:24 PM


LavaQR.png


http://zxing.org/w/d...=6585&full=true

Now is the right time to use %^<%Y-%m-%dT%H:%M:%S%3uZ>T


#17 Mr Mike

Mr Mike

    Very Active

  • NI
  • 109 posts
  • Location:Austin, TX
  • Version:LabVIEW 2012
  • Since:2009

Posted 12 April 2012 - 10:56 PM

According to the text in the code....yes :)


Shaun is correct, 100% pure G. Not up to spec, no Kanji, no mixed mode messages, just a simple encoder I have used many times to label objects around the lab. Chokes in a few corner cases when I approach the data limit of a particular version, but all levels of EC work.

(I am not trying just to be a tease, but there is a bit of cleanup left to do since I kind of stopped once it was working. I can probably help with the problems in your code though).


Haha, I just realized that. I read it so quickly before that I completely skipped the first half of the sentence! I'd use the oops smiley if I didn't think it was obnoxious ;)

Darin, check your messages
-- Mike

#18 Wouter

Wouter

    Very Active

  • Members
  • PipPipPip
  • 103 posts
  • Version:LabVIEW 2011
  • Since:2006

Posted 16 April 2012 - 12:28 AM


Shaun is correct, 100% pure G. Not up to spec, no Kanji, no mixed mode messages, just a simple encoder I have used many times to label objects around the lab. Chokes in a few corner cases when I approach the data limit of a particular version, but all levels of EC work.

(I am not trying just to be a tease, but there is a bit of cleanup left to do since I kind of stopped once it was working. I can probably help with the problems in your code though).


Would you maybe want to publish the code on a public source? GIT? Google code? And maybe even a better start question do you even want to share it? (oh and I don't really care if its messy ;) )

Edited by Wouter, 16 April 2012 - 12:29 AM.


#19 Darin

Darin

    Very Active

  • Members
  • PipPipPip
  • 168 posts
  • Version:LabVIEW 2009
  • Since:1992

Posted 16 April 2012 - 01:17 AM

*
POPULAR

You asked for it. A little cleaning went a long way, just did not have a chance to document things very well (have to jog my memory for that). This was built with piecemeal documentation, mostly to the original iso-spec, and with a lot of reverse engineering. Seems to work as well as my iPhone reader, hard to tell which one is the problem in a few corner cases.

Not sure if I want to be on the hook for documentation/support if I posted to the CR, maybe a NI community page is in order, or Mr Mike will sort his out and add to the page. By all means let me know of any bugs, certainly a lot of version/EC combinations have not been tried.

QR FP.png

Attached Files



#20 ShaunR

ShaunR

    LabVIEW Archetype

  • Members
  • PipPipPipPipPipPip
  • 2,274 posts
  • Version:LabVIEW 2009
  • Since:1994

Posted 16 April 2012 - 03:04 AM

Not sure if I want to be on the hook for documentation/support if I posted to the CR, maybe a NI community page is in order, or Mr Mike will sort his out and add to the page. By all means let me know of any bugs, certainly a lot of version/EC combinations have not been tried.

Forums are a much better format for in-progress development IMHO. You are also far more likely to get contributions to bring it to fruition. You can decide on a license that suits you and is much clearer to people than the NI site.

Additionally, once mature and if you decide to, it can go as part of the Lava tools network, a package under the jki thingy, or just remain in the CR with no major headaches. Documentation isn't that rigorous (readme and version history if I recall). Perhaps start it off in the uncertified.

Nice work. :thumbup1:

Edited by ShaunR, 16 April 2012 - 03:07 AM.

A positive attitude may not solve all your problems, but it will annoy enough people to make it worth the effort. (Herm Albright 1876-1944).

Founder and general mischief maker on www.labview-tools.com.
SQlite aficionado and websocket zealot.
If it 'aint in LabVIEW, then you 'aint got a clue!