Vehicle System Network (CAN) Database History

There are some things in life that we take for granted. Food, clothes, cars, homes, the Vehicle System Network Database… OK, well maybe not the Vehicle System Network Database, but it got your attention, didn’t it? So let me tell you a little bit about the Vehicle System Network database, something we work with here at DISTek on a daily basis.

Embedded Programming Tips from a 25+ Year Veteran

Whether you’re beginning your career or looking to become more proficient in embedded software and systems, there are plenty of useful resources to help you. With over 25 years of embedded programming experience here at DISTek, I thought I’d take a few minutes and share some practical tips to enhance your skills.

Understanding the C Tool Chain

I find that in today’s age of IDEs like Visual Studio, Eclipse, Code Blocks, etc., that many developers get hung up on linker issues. This is completely understandable as many languages have moved away from the compiler/linker paradigm toward single compilation units or virtual machine code. Also, these modern development environments hide many of the steps that it takes to get a working executable out of working code. The result is that most of the C developers I run into are very familiar and are even experts in the C language itself, but unexpectedly struggle when presented with a build configuration issue.

Custom Software Solutions to Speed up Development

Recently, I was assigned to a project that assisted a customer in rapidly designing a micro controller embedded system capable of wired communication with other devices. Our involvement in the development of this project allowed the customer to focus on higher-level details, which were then built off of our implementation.

Assessing the Entire Functional Safety Hazard Space

Safety is a challenging status to achieve and maintain, thus the need for the guidelines that collectively fall under the heading of Functional Safety (FS). DISTek has always been conscience of safety as it applies to the products developed for our customers. This includes implementing the various requirements and guidelines associated with Functional Safety, as expressed in documents, such as ISO 25119.

2016: A Year in Review

Here at DISTek we just competed our 24th full calendar year as a company, which means our 25th anniversary happens in 2017. We are excited to think about our future as we pass this milestone, but it is also healthy to step back and review what we did in 2016. We took some bumps and bruises along the way – as did many in the industries we serve – but we also had some exciting successes.

Part 2: Cognex LCD Vehicle Display Tester

Welcome back to the blog! Today, I will be talking about how to operate a Cognex smart camera via a LabVIEW program. The way I will be communicating with the camera is via TCP/IP. There are other potential ways to communicate with the camera from LabVIEW, but this was determined to be the best way, giving us the most control over the camera. I will walk through some basic terminology that is necessary to discuss building a Cognex vision test. Then, I will create and set up a vision test and finally, I will briefly describe how to program LabVIEW to send/receive information to the camera and to trigger an image acquisition.

Part 2: Real-time on Raspberry pi

raspberry-pi-logo

As promised, here’s my Part Two blog posting regarding the raspberrry pi.

The default kernel in Raspbian Jesse, the latest release of the raspberry pi’s official OS, could use a tune-up before being fit for duty running time-sensitive machine controls. On a vanilla Linux kernel program, latencies depend on everything running on the system making consistent and punctual tasks difficult to guarantee. The RT PREEMPT patch is a popular fix for this problem. The patch converts Linux into a fully preempt-able RTOS. If you want to control physical processes with your pi, as I intend to in DISTek’s training curriculum update, this is the way to go. But how big of a difference does it make on a pi?

Part 1: Cross-compiling for Raspberry pi

Raspberry pi

Recently, I’ve been launching a little office project to develop a new training curriculum for DISTek engineers. Because it is hands-on training, it will require a toolchain. Since our customers use everything from off-the-shelf professional solutions to home-brewed ones, it’s important to prevent the nuances of a new toolchain from being a distraction in the training’s purpose of conveying good software practices and controls concepts.

Despised by Engineers: Software Documentation

I recently graduated from Iowa State University and began my career at DISTek, and during that time there is one thing that I notice engineers hate doing: documentation. Despite being loathed, it’s widely believed documentation is one of the most important things in software development. I always strive to see that code my teams and I have worked on will be well documented in some form or another. I, especially, run into problems with code that is developed as a library (a set of functions and data structures).