Name | Modified | Size | Downloads / Week |
---|---|---|---|
README | 2021-02-04 | 2.5 kB | |
encode_LV.zip | 2021-02-04 | 99.2 kB | |
Totals: 2 Items | 101.7 kB | 0 |
Author: Danny Holstein email: dgholstein@gmail.com These VIs provide C-based DLL access to ZLib (https://zlib.net/) and ASCII encode/decode. The VIs and development files are included in this package. There is no difference between the Windows and Linux version of this library, the VIs are identical, the DLLs compiled from the same source. The user may choose to compile his own dynamic library, encode_LVStr.so, or select a pre-compiled versions. You are most likely to be running this from a Windows machine which means that loading the LabVIEW code will generate an error. This is due to the LabVIEW code pointing to the Linux SO instead of the DLL. To fix it, double-click on the CLFN VIs and browse to DLL. Prerequisites: LabView 7.1+ Notes: Version 1.00 Written to work with XML - specifically to embed arbitrary binary or ASCII files as content in nodes The ZLib compression works to minimize large ASCII content while Base64/BinHex (recommend Base64) keeps the node as ASCII so as to not break the XML This can also be used with database BLOBs or TEXT Note ZIP compression isn't supported, though ZIP files can be encoded to embed in XML or in databases. Make (Linux): Edit Makefile.unix, make sure the library paths for LabView Build with "make -f Makefile.unix" to make the SO. Make (Windows): Edit Makefile.mak, make sure the library paths for LabView Build with "nmake -f Makefile.mak" 64-bit: You're on your own -- I only have worked with 32 bit versions of LabView. Contact me if you have difficulty, I'll help where I can. Editorial: You might ask yourself why not do all these operations in native LabVIEW? Admittedly, yes it can be done - but I'm lazy, programmers have already done the heavy lifting and I'm not into re-inventing the wheel. The other part of this is the ZLib library is well maintained and supported, I believe in leveraging the hard development work done before us, bugs and improvements are managed. It's superior code, those who contribute to this code base are versed in The Art of Computer Programming, they're anal. Finally, I tried writing some stuff in native LabVIEW, LabVIEW is good at the big stuff but terrible at bit/character-banging. As you start parsing megabytes of data and have to use the LabVIEW memory functions** you find performance goes to hell - C code is orders of magnitude more efficient. ** every node at loops, every feedback node, etcetera - forces the generation of a copy of the data