NI Week 2014 Day 3

Get ready for NI Week 2014 in Austin Tx

More new hardware was introduced including a small Real-Time/FPGA target called the NI System on Module. () The NI System on Module (SOM) combines the Xilinx Zynq FPGA, common components like memory, and a complete middleware solution, delivering a complete embedded platform that minimizes design time and risk for any embedded control or monitoring application. The NI SOM also ships with NI Linux Real-Time, which combines the performance of a real-time operating system with the openness of Linux. Along with a vast community, Linux allows the freedom to choose how you program the processor, using either LabVIEW system design software or C/C++ with Eclipse.

NIWeek 2014 Day 2

Get ready for NI Week 2014 in Austin Tx

The technical sessions seemed to highlight the NI Systems Engineering Group this year. The NI systems Engineering group is responsible for creating frameworks, reference designs and add-on LabVIEW toolkits. These packages are originally created for use within NI but are made available to outside developers as well.

The Life of an Intern

DISTek Intern Trevor McCormack

As a student you feel fortunate to have an opportunity to get an internship, but to get an amazing internship, such as DISTek, is a true blessing. DISTek is the ultimate playground for embedded systems programming nerds that love manipulating hardware through software and who relish at the thought that their work will eventually end up on a microcontroller of an agricultural or off-road vehicle. To my delight, within an hour on my first day, I was assigned to a CAN bus project, based around ISO 11783, working side by side with full time employees on a real product intended for real customers. After receiving a binder full of ISO standards and a quick, but quite necessary, pep talk from my new coworkers I was set to start programming… or so I thought.

Dirty Jobs: Code Reviews for Embedded Software

“I enjoy doing code reviews!” said no embedded software development engineer, ever.

Working together on code reviews doesnt have to be difficult

Nobody in their right mind takes pleasure in combing through hundreds of lines of Consolas 9.5 gibberish they didn’t even add, modify, or remove. There are no rewards. No incentives. Only an engineer at the other end of the diff-viewer who thinks you’re just trying to get under his skin, thinks you’re a know-it-all, or assumes your stylistic preferences are a personal criticism.

Okay, that may be a bit aggressive, but nonetheless, can be very true.

How well do you sleep at night?

What are the nightmares that cause software engineers to wake up in the middle of the night in a cold sweat? Is it a bad dream about finding their prized toy collection with all of the action figures out of the box? Maybe it’s a mythical sink hole that swallows up the town of Riverside, IA (the future birthplace of Captain James Kirk)? Or, could it be something work related?

Industry Survey Results

DISTek recently surveyed engineers, engineering managers, and engineering executives from companies that manufacture off-highway equipment on the technical outlook for the industry. In the survey we asked respondents about their largest concerns with future on-vehicle technology. The largest concern, selected by 3 out of every 4 respondents, was reliability.

Debugging: The Little Things

Not the offending USB drive

Recently I was working on some embedded software that someone else wrote. I needed to add some new functionality to the code, and I was working through how the existing code was working. In particular, the software was parsing a file, and the previous developer had done a good job of sending out diagnostic messages to the terminal, and the code was parsing a line of the file as a bad record.

Well as a good little developer, the first thing I did was

LabVIEW with Mobile Devices

LabVIEW is a great fit for tablets

The growing use of mobile technology in people’s personal lives has started to influence how they want to approach their work. Individuals have immediate information at their fingertips and now are looking for the same immediate access in their work environment. Documents, e-mail messages, calendars and meeting reminders are already available, but how do users get real-time access to the applications being used around them? Some existing applications send out text messages and email, but just as personal mobile usage has moved beyond these simple communication methods so can the business world.

Riding the LIN Bus

The LIN bus is a low cost alternative to CAN

Recently, we were asked to work on a customer project involving LIN(Local Interconnect Network) communication. Our team has have quite a bit of experience working with CAN (Controller Area Network)systems, so it was interesting to learn the intricacies of LIN as a lower cost alternative to CAN.

Improving Contract Software Development Through Pair Programming

Pair programmers at work

Procuring software engineering services from a proven contract house has many benefits, which you already know if you’ve ever been cornered by one of their sales team members. As an engineer I know that there are always tradeoffs which must be made, and getting outside help on a project is no different. One possible way to maximize the value and effectiveness of contract software engineers is by the use of pair programming. Pair programming is an Agile software concept I was introduced to during my time working with a client, however it can be shoehorned easily into any development process. Pair programming simply means getting two engineers to sit together at the same workstation, often with two keyboards, to work together on a software solution. There are well documented benefits of increasing speed and learning while reducing mistakes and costs. In my experience, those benefits are compounded when using the services of a software contractor.

Advantages of Using an Agile Development Process for Embedded Software

desk

According to Wikipedia, Agile software development is “a group of software development methods based on iterative and incremental development, where requirements and solutions evolve through collaboration between self-organizing, cross-functional teams.” While there can be some variability among Agile organizations, there are a few important definitions which generally hold true. A Potentially Shippable Increment (PSI) is a 2 month period of time in which the team will commit to delivering a set of features to a customer.

Optimizing Code for Development Time

Another way of optimizing code is to save development time

A while back I made an interesting personal discovery, and I want to share it with everyone in the hopes that it’s as useful to you as it is to me. Hi, my name is Ryan, and I like to develop software in my free time. Mostly, I like developing games.
It all started when I recently looked back over some of the work I did before I went to college. I was actually very impressed with my past work, too impressed. The games I developed before school were really putting my current work to shame. I started to think about why that might be. I figured I was busier now that I have marketable skills and, let’s be honest here, you can never play enough Dwarf Fortress.