Jump to content

Francois Normandin

  • Content Count

  • Joined

  • Last visited

  • Days Won


Francois Normandin last won the day on February 23

Francois Normandin had the most liked content!

Community Reputation



About Francois Normandin

  • Rank
    Son of Scotland
  • Birthday 02/26/1975

Profile Information

  • Gender
  • Location
    Montreal, Canada
  • Interests
    LabVIEW (!!!), Astrophysics, Science-Fiction, Kilts.

LabVIEW Information

  • Version
    LabVIEW 2019
  • Since

Contact Methods

Recent Profile Visitors

9,223 profile views
  1. I recently did a code review with @Jim Kring about upcoming Caraya 1.0 (yeah, I know, I'm using the opportunity to plug Caraya... shame on me), and when I showed him this block diagram, his eyes immediately caught the top comment I placed on the block diagram. It took him less than two seconds to say something like: "You have to put that on the Idea Exchange." (Jim, let me know if I'm misquoting you) Indeed, the Block Diagram... erm... the Mother of All Diagrams... does not have a Subdiagram label property. I say this is a grave injustice. So anyhow, I wanted to share the paternity of this idea because without his enthusiasm, it would not be there: https://forums.ni.com/t5/LabVIEW-Idea-Exchange/Subdiagram-label-for-Block-Diagrams-too/idi-p/4033465 If you like it, please vote!
  2. I don't think it differs from a traditional event-based architecture if one overwrites the Actor Core and adds a parallel loop, which is the equivalent of Gregory's problem statement. The child's Actor Core parallel loop will still need to interact with the parent, through a subscription (user event or message-based). I agree that Actor model solves this problem (AF or event-based): the way to avoid this registration duplication in each child is to refactor the application's architecture where the child does not provide a second parallel loop, but only implements a set of messages that extends the parent. I daresay that a child class that extends its parent, both by adding a parallel loop and by extending its API, is in conflict of the Single Responsibility Principle in that it has two reasons to change. If a second loop is needed, it could probably be handled through composition instead of inheritance.
  3. When I write the file manually in a text editor and I open it, I get "Démarrer", but if I specifically change the encoding of the file to be "ISO 8859-15", I can read it correctly in LabVIEW. Alternatively, any file saved by LabVIEW'S Write to File method can be read correctly as well. I don't know if it works for other languages. My OS is french, so at least that's working for me.
  4. There are graph properties which you can use. Here's an example: (Attached VI saved in LV 2013) LImitCursorRange.vi
  5. I don't know which debugging technique you are employing, but if it's at edit time, you could temporarily change the scope of that method to be public. It's not a silver bullet, but works in a crunch, Now, if it's at runtime, I don't think there is any way apart from writing extra code into your class.
  6. First thing, you need to add an INI token to LabVIEW.ini file, so you can display Unicode in LabVIEW. https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z000000kJRNSA2&l=en-CA That allows to at least display the characters when copied on the front panel or block diagram (instead of showing up as a "?"). However it does not work with the caption text unless your OS environment supports the language pack. As you can see below, my OS has French and English installed, but not Chinese or Cyrillic characters. I can display the unicodes when I paste directly from a source, so you can try it on a virtual machine with the proper regional settings, and that should work. ** Edit: there is probably another step missing, because I can't get it to show up on my VM with a Russian keyboard installed... ** Edit #2: OK, it works. Turns out that the cyrillic character I had copied from google was not part of the Russian keyboard. I have no way to tell :-). But now it works with another character generated from the russian keyboard itself: "ф".
  7. It is not a bug. It should break for any unsigned integers because that's how the "negate" method works.
  8. @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!!!
  9. 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
  10. Last LabVIEW version in the list (profile) are LabVIEW 2018 and NXG 2.0. The list should be updated.
  11. 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
  12. GRBL 1.1 (2009).zip Back saved to LV 2009.
  13. 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.
  14. I believe the only way to do what you want is to catch the keyboard "arrow up" and "arrow down" events, discard them and programmatically increment or decrement the control value. (LV2013) ArrowUpDown_UnitIncrement.vi
  15. I simply have all my public repos in Github nowadays, so switching it is mainly to keep them all in the same place. You're right that I could have simply kept the address of the repo the same and changed it to Git.
  • Create New...

Important Information

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