Jump to content

Francois Normandin

Members
  • Content Count

    1,159
  • Joined

  • Last visited

  • Days Won

    36

Posts posted by Francois Normandin


  1. @The Q My library is not complete by any means, but what works really works... I've followed a TDD approach. So far I've covered only 79 requirements out of 141, and I haven't started any branches to support MQTT 5.0 yet... So it covers the basic needs such as shown in the presentation you're referring to, but nothing fancy like QoS 1 and 2 and the likes. (or TLS for that matter). If you want something more complete, I'd check Wireflow's implementation first.

    Now, I'd really like to get other folks to contribute to my Open Source Project. It would give me a moral boost to continue pushing it further. In the meantime, thanks for the advertisement!!!

    • Like 2

  2. Do you mean that you want to output the file directly to a PC, from the cRIO?

    You would have to write your own Test Report class and inject it using the "Define Test Suite" method.
    If you're up to it, here's a tutorial about doing just that. (the part you need starts around 7min20) The demo shows how to create a JSON report from the provided template, but the steps are the same for writing to a database or sending your file via FTP or WebDAV.

    You'll need to figure out what you need to effectively point to your PC from the cRIO (including firewall and all...), and inject those parameters in the report constructor. Let me know if anything isn't clear from the demo.

     

    Maybe this thread (on the dark side) is also relevant to your question: 
    https://forums.ni.com/t5/NI-Linux-Real-Time-Discussions/Send-file-from-cRIO-to-Pc-using-webDAV/td-p/3463863


  3. Hello Dániel, 

    yes you can run Caraya headless starting from version 0.6 and on. You will first need to setup a Test Suite and ensure the "Interactive" flag is set to False.
    This should instruct the Test Manager to run in Silent Mode (no front panel). On a Real-time target, you can get a text report setup as part of the Test Suite constructor.

    There is a wiki page on github about this topic: https://github.com/JKISoftware/Caraya/wiki/Defining-a-Test-Suite
    Choose the Polymorphic instance that makes the most sense for your use case (plain text or JUnit-style XML report)

    Let me know if this does not work or you need more assistance.
    If you think there is a bug, you can also report it directly on the issue tracking for the project: https://github.com/JKISoftware/Caraya/issues

     

     


  4. Apparently @Benoit does not have access to LabVIEW anymore. At least until the Community Edition is released...

     

    I took the liberty of backsaving to LV 2013 and correcting the *char GpioValues bit representation as described in the programmer manual. (Only for 32-bit library)

    Microchip MCP2221A_x86 (2013).zip

     

    *Please note that I have never used this library and have no way of testing whether the 2013 version works.


  5. As I've reported in the UI Tools support page, I've started migrating the open source code I still have on bitbucket (Mercurial-based repos) to Github.
    I didn't think that it might be worth a specific topic until @LogMAN mentioned it. Personally, I'm moving my code to Github in the process. I know there are some reports of Hg-to-Git transitions not going so well when using sub-repositories, so please share your migration experience if you've had to jump into some hoops to get it done!

    For all of you who still use Mercurial and host your open source and/or enterprise repos on Bitbucket, this blog post is worth reading:

    3 hours ago, LogMAN said:

    Thanks for the heads up, this completely went by me.

    Here is the official blog post from Bitbucket if anyone is interested: https://bitbucket.org/blog/sunsetting-mercurial-support-in-bitbucket

    • Thanks 1
    • Sad 1

  6. OpenG does not install under the LAVA palette.

    I think it was used by a few of us back when Jon Green was handling the Code Repo. I know I've put the "UI Tools" in there and I'm fairly sure there were a few more packages from the years ~2012. Ton's "Code Capture tool" maybe? 
    The idea was to regroup the librairies that were published on LAVAG's repository into a single palette, but it didn't get much traction past 2013.


  7. Remember that the DVR is a container which contains the class. Since your class is privately scoped, only library members can act on it. No terminals containing the DVR will allowed unless your class itself is accessible to the caller.

    image.png.f9b69e0a3fa3c9136a46304fa0b57612.png

    You can still achieve exactly what you want by moving your interface methods (DVR terminals) inside your class as public members of the class. As @smithd suggested, make all your current class members be protected (if dynamic dispatch methods) or private (for your static dispatch methods) and set your class' scope to Public. In addition, you don't need a lvlib to wrap your public interface as the class is already a library.  

    image.png.b93bbadf0543dc32592a3c72b2df59ed.png

     


  8. They show up as Generic Refnums. (0x08)
    If they are named refnums, they should show up as in this example where "This VI" is the label. You can tell if they are named references by the 0x40 flag.

    If your events are named, they will show up in the list. The type of event is set in the last long byte in the "First Element" highlighted in green in the screenshot. (xA4 10)
    xA4 = VI reference, x10 = Key Down. I'll add this support to the OpenDescriptor. That is definitely useful info to get! I'll report here when done.

     

    image.png.52200059e4df00b171b4ab42dce2d531.png

    image.png.928e4638ffa6c0e3def574214825f72c.png

    • Like 1

  9. The ~5% slower Map vs Variant Attributes is consistent with what @altenbach reported in his NI Week presentation, for very large datasets.

    Since one set is ordered, the other is not, it might be interesting to benchmark the "delete" operation and see if it is symmetrical. My intuition here would be that finding the key and deleting it would be ~5% faster in favor of Maps (for large datasets).

    Since I rarely deal with large sets, I'm egotistically happy with NI's choice to make those sets and maps ordered.


  10. I don't have a scoop on that, other than they extended the conference by half a day and there will be a public Engineering Impact Award ceremony (whereas before it was a closed event for the nominees only). I don't know if there are more changes to the formula.


  11. Not sure that's the issue, but lags can sometimes occur because the installed code is not compiled for the current version you're using. If you're using VIPM to install the package, make sure your options are set not to prevent compiling after installation. Alternatively, browse to the installed package folder and force it to mass compile.

    I've seen this behavior for code that installed under Tools menu (under LabVIEW 20xx/project) which were not compiled, so there was always a lag the first time you load it in memory. Being being installed in a non-write accessible folder, it would cause the same issue the next time you'd open LabVIEW and brought the code back into memory.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.