Air quality sampling system software
A military customer inherited demonstration code for a product prototype they had developed in-house to take samples of air under remote control. The purpose of the software, written in C, included supporting a user interface (UI) on the LCD screen, together with motor-drive controls, debouncing switches and implementing the correct sampling strategy. Unfortunately the code was severely buggy, crashed regularly and was completely non-functional in places.
The customer had just two weeks to get the code working correctly and reliably before they demonstrated it in turn to their end customer – hence MCG Embedded got involved.
Within a few days we had learned the operation of the software and had corrected a number of bugs in the structuring of the code, including multiple header definitions, poorly structured arrays, lack of re-entrancy protection to functions and much more. After a week, all of the bugs had been fixed, along with many more we discovered along the way.
The unit was duly returned to the customer, together with a properly documented set of source code, who were then able to demonstrate the unit successfully. Quite a turn-around in a week!