2014 – A Year in Review
Somehow I happened to fall into the last slot of the year for the DISTek blog. I am not complaining as it gave me a few more days to prepare. …
Somehow I happened to fall into the last slot of the year for the DISTek blog. I am not complaining as it gave me a few more days to prepare. …
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.
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.
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”.
Roughly three years ago I inherited a small farm. Having grown up on this land I always remembered the people we rented it to rotating corn to beans year after year, but this year the farmer did something I was unfamiliar with. He planted corn around the wetland area and soybeans in the dryer areas.
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.
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?”
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.
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.
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.
This year’s theme focused on “Engineering Leadership – Changing, Guiding, Influencing”. I had the opportunity to sit in on several technical sessions that included some of the top panelists from across the country. The list included Deere & Company, Case New Holland, Caterpillar, Inc., Eaton and a variety of university professors.
One of the common topics I came across was how to address the increasingly complex and volatile landscape of vehicle products and control systems. How today’s engineers, across all organizations, need to develop strong adaptive thinking abilities and problem solving skills for their customers.
For one specific set of students, a brand new school supply will be getting added to the mix. Students in the Ag Engineering program at Iowa State will be getting the opportunity to experiment with ISOBUS using DISTek’s recently released VIRTEC software libraries. There will be a couple different usage scenarios for VIRTEC at ISU. The first scenario will be for graduate research projects. The graduate students and the school work with a wide range of Ag equipment manufacturers developing cutting edge technologies, and connecting these technologies to ISOBUS is very beneficial. The second scenario will be for classroom lab exercises. These students will get a chance to do some real hands-on ISOBUS application development in a lab setting rather than simply learning about it in lectures and readings.