Jump to content

joerghampel

Members
  • Posts

    45
  • Joined

  • Last visited

  • Days Won

    5

joerghampel last won the day on July 26

joerghampel had the most liked content!

1 Follower

About joerghampel

  • Birthday July 7

Profile Information

  • Gender
    Male
  • Location
    W├╝rzburg, Germany

Contact Methods

LabVIEW Information

  • Version
    LabVIEW 2020
  • Since
    2007

Recent Profile Visitors

2,072 profile views

joerghampel's Achievements

  1. Generally, once the project is setup, it usually doesn't change much for us. If you're using .lvlib's and/or LVOOP to organise your code, ongoing development will not touch the .lvproj file much. Yet another option... Have two .lvproj files: One for the developer, and another one for the installer.
  2. I'd have happily helped you along those steps ­čśŹ so you can get to the actual work! But seeing as git is integral to our way of working, that's an important piece of information for me.
  3. For the last few candidates I interviewed, I had prepared the following process: a ~1-hour conversation to get a feeling of the person (in person until the pandemic hit, then via MS Teams), chatting about their past experience, current work, personal interests, involvement in the community etc. a sample project to work on, which they had to clone from GitLab (via git), get the problem statement (requirements) from the readme, and describe in words how to solve the problem another short conversation about their reply and suggested solution implement part of the requirements in the sample project and submit the solution via GitLab (git) another conversation about how they solved it, why, etc. Regarding certifications, I recently posted to LinkedIn about my opinion on them. Edit: The project mentioned above is an actual project of ours, where we had to implement some small changes to a very badly written piece of legacy code with no encapsulation, documentation, etc.
  4. So you're saying that because a customer pays for a solution they get, they buy the rights to the people who worked on it? I don't agree with that notion. Also, while people can't be kept from switching jobs, and companies can't be kept from advertising their vacancies, "poaching" your local integrator's employees doesn't sound like the right thing to do to me. Good thing my employees are in Germany and thus not local to you.
  5. Tom McQuillan offers a tool that helps with updating VI descriptions and icons: https://github.com/TomsLabVIEWExtensions/Documentation-Tool AntiDoc by wovalab (Olivier Jourdan) generates very nice and extensive documentation for DQMH modules, LV classes and .lvlibs. Here's an example PDF of our open-source application template.
  6. Unser n├Ąchstes Meeting findet am Donnerstag 29. Juli von 17:00 - 20:00 statt: Ich freue mich, Euch zumindest virtuell bald wieder zu sehen!! LG J├Ârg Wann: Donnerstag, 29. Juli, 17:00 Uhr CEST Wo: Virtuell via Microsoft Teams (Link via Eventbrite) Vorab gibt's wie immer ein Test-Meeting, so dass alle Teilnehmer die Technik testen k├Ânnen. Ein bisschen Hilfe zu virtuellen Meetings und zu MS Teams gibt's in unserem Dokuwiki. Bitte vergesst nicht, Euch via Eventbrite anzumelden! Agenda: NI Schulungen und Zertifizierungen ├ťberblick (Adrienn Nagy) Ev.: Certification Details (NI-Team USA, in English) Tipps, Tricks und Einblicke in Zertifizierungspr├╝fungen (Andreas Kreiseder) Pr├╝fungsbeispiele, offene Diskussion Anmeldung: https://wuelug13.eventbrite.de
  7. @The Q started such a thing on the LabVIEW Wiki: https://labviewwiki.org/wiki/Text-Based_terminology
  8. Another reason for git (not LabVIEW!) reporting changes where there don't seem to be any is file permission. If your repository is on a filesystem where executable bits are unreliable (like FAT), git should be configured to ignore differences in file modes recorded in the index and the file mode on the filesystem if they differ only on executable bit: git config --local core.filemode false and/or git config --global core.filemode false And while we're at configuring git for Windows: Due to a Windows API limitation of file paths having 260 or fewer characters, Git checkouts fail on Windows with ÔÇťFilename too long error: unable to create fileÔÇŁ errors if a path is longer than the 260 characters. To resolve this issue, run the following command from GitBash or the Git CMD prompt: git config --system core.longpaths true (Taken from our public Dokuwiki)
  9. Exactly, what you say here is correct. I was confused by your suggestion to "use the MHL timeout" - but I realise now you actually meant to change the timeout setting for reading from the message queue in Delacor_lib_QMH_Dequeue Message.vi, right? That could be done by implementing your own child class for the default DQMH Message Queue class and overriding that method. While there definitely are proper use cases for implementing your own child class of the Message Queue, I don't think this is one. I would advise against going down that rather unusual road when there are simpler solutions available. You can make your helper loop private (then the only way to control it from outside the module is to go through EHL and MHL, just as you describe). Or, you can design your helper loop to contain an event structure, and make it publicly available by registering for (some of the) DQMH module's request events directly in the helper loop's event structure. This is the design we describe in our blog post on helper loops.
  10. Hey Matt, great that you're looking into using DQMH! Regarding your first question, I think you're using the term MHL (Message Handling Loop, the one in the bottom with the case structure) to describe the EHL (Event Handling Loop, the one on top with the event structure). You're saying that "by having my helper loop broadcast, I feel like I'm taking away from the main design that the MHL is supposed to broadcast". I don't think that by design only the MHL or EHL should do broadcasting. I would most definitely go with a helper loop. If you haven't seen it yet, feel free to take a look at our blog post on helper loops. It shows how to create helper loops that can be enabled/disabled. Regarding your second issue, many people advocate to structure your modules like a tree, for exactly those reasons you already mentioned. You will find that as you remove the static dependencies, reusability of Modules B and C will pay for a little "cumbersomeness". Here's a graph illustrating that tree structure (I created it for another thread some time ago, so please excuse that the naming is different to yours) : Let me know if this helps!
  11. Yes, sorry, and thanks for pointing that out. It seems the editor thought the dot would make a nice addition to the URL, and I didn't catch it. I just fixed.
  12. ...and for what it's worth, we use G-CLI, which sets the "App.UnattendedMode" property. That seems to be all it needs. G-CLI also allows to kill the LabVIEW process after some timeout in case it should hang.
  13. I don't disagree. I've been working on our tools for ~ 10 years now, maybe 5 years running them automatically on a server. Some kinks could be ironed out, others worked around. It's definitely still a pain sometimes (add to the LabVIEW woes some other troubles like VMs losing network connectivity etc.). All in all, the whole experience has taught us so much process-wise. And of course, once you got used something, you don't want to do without it anymore. I believe that's the actual USP of our tools for our customers: The process we teach while integrating our tools into their environment.
  14. Have you seen Sam Sharp's presentation on Test Complete?
  15. Answering the question in this post's title: Yes! We're very happy with our solution, we can apply .vipc's, validate DQMH modules, run VI Analyzer and Unit Tests, create documentation from source code, execute build specifications, create .vip's, package results into zip archives and deploy (move the result files somewhere). We have also created plugins for our dokuwiki which will automatically compile a release list with links to the artefacts. At the moment, we're working on adding FPGA compilation to the list of features. It's a commercial product, but you might get some inspiration from the information on the product website at https://rat.hampel-soft.com.
×
×
  • Create New...

Important Information

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