ISOBUS Task Controller: Part 1

VIRTEC display.

A few months ago in this blog I gave a very broad overview of Task Controller (TC).  The Virtual Terminal is probably the best-known ISOBUS feature given its visual prominence, but TC is a popular topic to discuss in the ISOBUS world because it offers many intriguing possibilities … and seeks to fulfill many of the promises of precision agriculture across manufacturers.  I thought it would be useful to spell out some of the details of TC as it can be a quite confusing subject.  In this post, I will walk through the components and the steps of a typical TC session.

Seeing The Bits In The Bytes

In a world of complex systems, it may be easy to forget some of the basic concepts that build these systems. Software applications can consist of hundreds of individual files as part of one very large project. Those files all work together to achieve amazing functionality within an embedded system. There are instances where a project may include files written by teams located in different countries. We like to think that when this software is put into production all the bugs have been discovered and the software will work perfectly. Unfortunately, there always seems to be unintended use or a sequence of events that result in undesired functionality. Other times, there is just a plain old bug that managed to find its way into production software.

Reflections on LabVIEW from a New Software Developer

LabVIEWLogo

Until about a month ago, all of my experience writing code had been with text-based languages like C and Java. I had mostly written code to command microcontrollers or for signal processing. C allowed me a very procedural view of how the microcontroller would execute the code. One line of code could tell the microcontroller to turn on an LED and the next could tell it to turn the LED off, and the microcontroller would always execute the first line first and the second line second. Then I started at DISTek and learned how to code in LabVIEW. LabVIEW is quite the departure from text-based languages. I would like to describe how LabVIEW compares to text-based languages and some of my experiences learning LabVIEW as a new software developer.

STEM Education through Lego

The Cedar Falls FLL Regional

The Cedar Falls Regional Qualifier for FIRST LEGO League (FLL) and the Cedar Falls Regional Expo for Junior FIRST LEGO League (Jr. FLL) took place recently at Peet Junior High.  DISTek and its people are very active in supporting FIRST related teams.  There were at least three DISTekians who served as coaches or mentors for FLL teams and one DISTekian who was the coach for a Jr. FLL team.  DISTek was also a sponsor of multiple teams.

Implementing the Fred Factor

The first Ken Baxter Award is presented

In a previous blog entry, I provided a book report on The Fred Factor by Mark Sanborn. I discussed how people can make a positive difference in how they go about their lives, turning something ordinary into the extraordinary. I also shared Sanborn’s acronym FRED to explain how to develop “Freds”.

Should We Comment Our Code?

Working together on code reviews doesnt have to be difficult

Commenting code is one topic, that until recently, I hadn’t known was such a widely debated issue in the programming world. It was something taught to me from day one in Computer Science at the University of Northern Iowa. Recently, my workplace posted a simple question on an open-discussion white board. “Should we comment our code?” The plethora of anonymous comments was certainly enough to pique my interest. According to the discussion, hardly anyone could agree on this question.

Software bugs don’t have to be scary

Software bugs aren't as scary as this one.

It certainly can be scary looking at a long bug list with a short deadline, but identifying and fixing software bugs can be manageable with a few strategies.

A second set of eyes.

Sometimes a very simple software error can be staring at us, but we miss it because we have been staring back so long. An example I faced was a section of code appeared to be setting a value used elsewhere in the code, but that value was never changing. When I finally had someone look at that code for me, the first question was “Isn’t that a pointer?”

Arduino (or chipKIT) + LabVIEW = Low-cost Home DAQ or Control System

photo: arduino.cc   photo: ni.com

The Arduino and chipKIT microcontrollers are popular for students and hobbyists alike. They provide various interfaces that can be used to interface with a myriad of devices and sensors. These interfaces include, but are not limited to, digital I/O, analog input, I2C and SPI communication, and PWM. Microcontrollers have been used for many varying projects from basic data logging to home/environment automation and robotics.

Reflections on Fall Plugfest

Logo for the AEF

The Fall ISOBUS Plugfest has wrapped up here in Senlis, France. This Plugfest set a new record for attendees and participants. The final tally was over 250 attendees, 40 different test stations, 137 participants, 82 implements, and over 2300 test slots. It was quite a busy event, so kudos to the organizing committee for working through all those logistics. The slots were shortened to 20 minutes each which is probably a bit too short, but there is ongoing conversation to increase that again … possibly using some “creative” means. And with so many people attending, the building facilities are also an important consideration which seems to have worked out quite well.

Model Based (MBSD) vs. C Software Development

Model Based Software Design can speed complex system development

Recently my team was given the opportunity to completely redo a particularly messy and troublesome piece of legacy C code, and as a team we decided to give MBSD a try. We had tried a few simple models before, all of which turned out to be more complicated than had we written the C code ourselves. But this time we were determined to do it right: we allocated plenty of time, received one-on-one training from the local MBSD guru, and reviewed the original requirements to ensure they met the needs of the system. Finally after exhausting all of the time, continually pestering the guru with questions and modifying the requirements several times, we succeeded in having a model based software design that actually worked the first time we tested it on the vehicle. It was a valuable experience overall and helped illustrate the drawbacks and benefits of MBSD over the typical C development.