gitlab logo on a gradient background

Source Code Control Best Practices at Endigit

Andrew - May 21, 2021

GitLab sent out an email today (as I’m writing) about best practices for source code control for collaboration. GitLab’s five best practices are: Determine a branching strategy Make frequent small changes Write descriptive commit messages Develop using Branches Conduct regular code reviews As I looked over them, I was impressed at how well their best practices aligned with the best practices Endigit had developed internally from our experience. I want to brag on our team...
Hardware acquisition timing

Data Acquisition Timing Strategies

Haden - February 11, 2021

Engineering data that is properly collected will help you make better decisions in the design, integration, and testing stages of your system. Timing and synchronization are a very important aspect of collecting valuable data. Some of these strategies are general purpose, but others and specific to NI DAQmx.
Regex

Even if You Don't REGULARLY EXPRESS Yourself Well

Haden - February 28, 2019

What it is A regular expression is a sequence of symbols and characters expressing a string or pattern to be searched for within a longer piece of text. It is a strict search code that must find an exact match according to the regular expression used. You can search for words, numbers or symbols. They can be specific words or numbers, or any given word or number. The concept is used in most coding languages...
Reentrancy settings

Reentrancy and Stateful VI's

Blake - November 21, 2018

Whether you’re new to LabVIEW or have been around the block the topic of VI reentrancy is an important one especially when dealing with stateful VI’s. In this post we’re going to briefly define the different reentrancy settings and then talk about the dangers of stateful VI’s who have the wrong reentrancy settings or are used in the wrong context. We define a stateful VI as one that stores data within itself from one call...
How to hang

Hanging on an Event Structure

Shawn - October 31, 2018

A LabVIEW user interface I was working with hung recently. I suspected the front panel was locked because I had done something stupid, but I was surprised to find out what it was. I had put an Event Structure in a case structure that wasn’t executing and this had caused the hang. You may ask, “Shawn, what were you thinking putting an event structure in a case structure anyway?”. It seems like a bad idea...
Quick drop menu

Quick Drop: Quick Qode for Quacks

Jake - October 18, 2018

Once upon a time there was a quack named <your name>. Everyday <your name> arrived to work to solve complicated technical problems with their mighty intellect and LabVIEW development skills. These skills, wielded like a sharp sword helped <your name> slay even the toughest of challenging problems. One day, <your name> faced a looming dreadline that threatened impending doom if <your name> could not dispatch of it quickly enough. Because of its quick moving ally...
Using the diff tool

Using LabVIEW's diff tool with SourceTree

Marty - November 13, 2017

Our team is using BitBucket for source code control and the SourceTree app for Windows to interface with our repositories. We've had a couple of small hurdles getting SourceTree to integrate with the LabVIEW diff tool, but here's a solution that's worked for us. (Credit to Paul Lotz on Atlassian's forum, https://community.atlassian.com/t5/Questions/SourceTree-external-diff-path-issue-on-Windows/qaq-p/394740) First, download these scripts and place them in a local folder: Diff and Merge Scripts For this example, I'm assuming you'll put them...

The Evolution of a LabVIEW Developer

Bryan - September 29, 2017

I made and gave this presentation for the Utah LabVIEW Developer Education Day. Let me know what you think or if you have any questions. The Evolution of a LabVIEW Developer from Bryan Heslop
Two resources used by two different pieces of code

Dining Philosophers in LabVIEW

Shawn - September 18, 2017

History As I program in LabVIEW I am surprised by the number of times small bits of code cause large problems. For example, I was working with a large system that communicated with many instruments. I made some changes, tried running the code, and the program locked up! My gut reaction was to blame the LabVIEW development environment or a driver, but in the end I discovered the code I changed caused the hang. Dining...

Even More Life Changing Mouse Buttons

Bryan - July 31, 2017

I recently wrote a post on how to change your life by changing a mouse button. My life has been vastly improved since I added a delete button to my mouse. My hair is growing thicker and fuller, my eyesight has improved, my lawn is greener, and I can delete things so much faster than before. My life has been great, but I still felt like something was missing. Easy access Delete As a refresher...