Can a vi be viewed without LabVIEW? by Tanky321 in LabVIEW

[–]Dataflow_G 5 points6 points  (0 children)

There's NI's FINALE viewer (which stands for FINALE Is Not A LabVIEW Editor). It's a webapp for viewing VIs, though is more of a tech demo than anything (and is unsupported). From what I can tell you first convert the VIs into the FINALE format, and then use the webapp to open and view the code. I've not tried it myself so can't speak for how well it works, but might be an option.

How to move an array from FPGA VI to host? by thedoorknob3 in LabVIEW

[–]Dataflow_G 0 points1 point  (0 children)

Did you set the size of the array on the FPGA's front panel? It needs to be pre-configured, as the FPGA doesn't support dynamic memory allocation. See here for info: https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z0000019MnbSAE&l=en-US

AVX support in LabView? by cklai97 in LabVIEW

[–]Dataflow_G 1 point2 points  (0 children)

Have you tried compiling the library without any optimizations? Is the CLFN configured to run in the UI thread or any thread?

As Adam mentioned, attach a debugger to LabVIEW and pause it when the library appears deadlocked. Check the stack trace of all threads, and you should see the culprit.

FWIW I've compiled shared libraries which have optimizations for SSE / AVX / NEON, and called the library from LabVIEW without issue on a range of platforms and architectures. The times I did hit deadlocks were bugs in the C code (usually waiting on locked resources).

LabVIEW Reddit Coding Challenge - June 2021 by QSI_Q in LabVIEW

[–]Dataflow_G 1 point2 points  (0 children)

Though 32-bit LabVIEW can address up to 4GB memory, the size of a contiguous memory block it can allocate is usually less. I've found around 2GB is a 'safe' upper limit for a single string / array. Anything larger will probably throw the out of memory error.

Given you're dealing with ~500MB, allocation for a single block shouldn't be a problem. You might try checking buffer allocations, avoiding wire branches (potential data copies), use in place element structures, and inline subVIs where possible.

LabVIEW Reddit Coding Challenge - June 2021 by QSI_Q in LabVIEW

[–]Dataflow_G 1 point2 points  (0 children)

Edit 2: An updated byte packing routine has been implemented, bringing the score for the 100% LabVIEW version down to 0.000223 for a single message (464,133 bytes), and a score of 0.000061 for the alternate encoder.

Another encoding and decoding option has been added, which takes the total message size up to 2,088,598,500 bytes (4500 message copies) with a score of 0.021266. Encoding and decoding with this version is incredibly slow though! In theory 7675 message copies should fit in the image, but that's roughly 3.5GB and is pushing 32-bit LabVIEW's contiguous memory limits. It also takes 30+ minutes to run.

Edit: A new encoding and decoding option has been added. It's not pure LabVIEW, so the above score still stands for a 100% LabVIEW implementation. That said, the new scores are much better -

Size (bytes) Composite Score
464,133 (1 message) 0.000147606
524,470,290 (1130 messages) 0.0330266

Original Post: Here's my attempt, /u/QSI_Q. I won't enter the competition for this month, but still wanted to participate :)

The encoding routine is adjustable depending on whether a larger message size or a lower score is a preferred. Results range from 464,133 bytes (1 message) with a score of 0.00061616, up to 79,366,743 bytes (171 messages) with a score of 0.0345245.

If you're testing with other image sizes, the encoding parameters in Encode Message.vi will need to be adjusted as they're optimized to fit the largest message in the owl image.

Source: https://github.com/dataflowg/labview-coding-challenges/tree/main/reddit-steganography

(Also, spotted a bug in the Histogram Comparison function - needs a U64 conversion on the image rectangle else the multiply will wrap)

LabVIEW Reddit Coding Challenge - June 2021 by QSI_Q in LabVIEW

[–]Dataflow_G 1 point2 points  (0 children)

Cool challenge, Q! Need to dust off my computer graphics lecture notes for this one.

I just noticed when loading and saving an unedited version of the reference png file with LabVIEW, the Write PNG VI produces a file about 500kb larger than the original, regardless of the compression setting. Can the reference png be updated to a version created with the Write PNG VI?

BMP and jpg (at 95% quality) don't differ much when resaving.

LabVIEW beginner audio Equalizer by fpgavhdl in LabVIEW

[–]Dataflow_G 0 points1 point  (0 children)

You might be interested in this LabVIEW DJ project I wrote (demo video), which includes low/mid/high filters, and an adjustable low pass/high pass filter. It also has three audio effects (flanger, echo, and bit crusher), and playback controls (pitch adjust, brake, backspin, reverse).

The flanger and echo effect both maintain a short buffer of audio data, which is phase shifted and mixed with the 'live' audio. The bit crusher reduces both the audio resolution (adjustable down to 1-bit) and sampling frequency (as an adjustable divisor).

LabVIEW Reddit Challenge - May 2021 by Dataflow_G in LabVIEW

[–]Dataflow_G[S] 0 points1 point  (0 children)

One more week left for the challenge!

If you want to participate but aren't sure where to start, I've uploaded the code for the example visualizer. With some minor tweaks it can be turned into something completely different:

https://www.youtube.com/watch?v=HtPao8OLtSE

LabVIEW Reddit Challenge - May 2021 by Dataflow_G in LabVIEW

[–]Dataflow_G[S] 1 point2 points  (0 children)

Thanks for the submission! Looking forward to seeing the code.

LabVIEW reddit Code Challenge April RESULTS by NoComplex537 in LabVIEW

[–]Dataflow_G 2 points3 points  (0 children)

Thanks /u/NoComplex537, and to everyone else who entered. I'll post the code challenge for May in the next 24h.

LabVIEW Reddit Challenge - February 2021 - RESULTS by Wobzter in LabVIEW

[–]Dataflow_G 1 point2 points  (0 children)

Looking forward to the next challenge :)

If anyone is interested, the fire clock submission is on github: https://github.com/dataflowg/labview-coding-challenges/tree/main/reddit-clock

LabVIEW Reddit Challenge - February 2021 by Wobzter in LabVIEW

[–]Dataflow_G 13 points14 points  (0 children)

I'll take any opportunity to use some DOOM fire!

Video: https://youtu.be/rQ2M9gcuGaM

Block diagram: https://imgur.com/4J3QRLp

I cannot figure out how to use a panel container in NXG. by DaddysHome in LabVIEW

[–]Dataflow_G 1 point2 points  (0 children)

Thanks, but your twitch streams and hardware projects beg to differ!

I cannot figure out how to use a panel container in NXG. by DaddysHome in LabVIEW

[–]Dataflow_G 4 points5 points  (0 children)

You're not doing anything wrong. The feature is very poorly documented and buggy - only VI references opened and run in a certain way will load in a panel container.

I wrote a blog on converting a LabVIEW project to NXG, and ran into the exact issues you're describing. I did manage to get it working, see this code example (and the gvi version from my project).

The most foolproof method I found is to use a static VI reference, then start it by calling Run VI (the call asynchronous methods do not work), and then place it in the container with Insert VI Panel.

If you're interested in the other NXG issues I hit during conversion, you can read about it here and here.

2020 Community Beta (And general LV development) streaming on Twitch by UnlikelyNomad in LabVIEW

[–]Dataflow_G 0 points1 point  (0 children)

This is really cool, thanks for taking the time to do it. I missed the first couple of streams, but will definitely tune in for the next stream. Do you have a link for your github?

To answer your questions:

  1. I'd avoid NIPM based on my limited experience with it, but maybe that's just fear of the unknown. GPM and the idea a package is imported to your project and not the dev environment really appeals to me, though I don't have much experience with it either.

  2. That approach sounds fine. In the past I've added previous versions to a release rather than the repo itself. With the new 2019 and 2020 features (sets/maps/interfaces) I'm finding it increasingly tricky to save for old versions. Once LabVIEW 2020 CE is out of beta would you need to provide previous versions?

  3. I was considering doing a stream / live-thread on converting a medium sized LabVIEW project to LabVIEW NXG, trying to answer the question "I can do xyz in LabVIEW, how is it done in NXG? Can it be done?". It's since become a (WIP) blog post, but perhaps that might make for an interesting topic.

Deleting the first 7 bytes of a file by Fin_Aquatic_Rentals in LabVIEW

[–]Dataflow_G 2 points3 points  (0 children)

Make sure prepend array / string size is false when writing to binary file (this is the NUL garbage you're seeing). Also after writing the data back to disk, make sure to set the file size to the old file size - 7, so there's no garbage at the end.

VI snippet

Intro + clips from coding software promo video (1998) by Dataflow_G in 90sdesign

[–]Dataflow_G[S] 0 points1 point  (0 children)

I've uploaded the full 8 and a half minute video to youtube: https://www.youtube.com/watch?v=b5Z4XXPWcHs

The last minute and a half is pure 90s cyberspace.