Electronic Address:
e-mail: rob@neff.net
http://www.rob.neff.net/rob/aboutRob.html
Objective:
To extend my knowledge of developing embedded real-time software in a challenging environment
in the Chicagoland area.
Professional Overview:
Hands-on software/firmware engineer with a focus on embedded drivers and imagery. Experience
includes all stages of the software development life-cycle for device drivers in embedded
C/C++ running on an RTOS, as well as extensive Unix development. Experienced with all stages of
software development (requirements analysis, architecture and design, development, testing and
integration, field maintenance) with related documentation. Additional knowledge of support
areas, such as version control, makefiles, system builds and establishing coding standards.
Functional experience includes medical monitoring devices, wireless RF and imagery
(Electro-Optical, MPEG, OSD, GUI, etc.).
Comfortable with using scopes and analyzers, basic knowledge of schematics.
Technical Knowledge:
Programming Languages:
- C,C++
- Makefiles
- Visual Basic
- Test Scripts, Shell Scripts
- Ada
- Machine Language
Software Environments / Utilities:
- PC, Unix, Macintosh development environments
- Version control tools: Clearcase, PVCS, etc.
- Embedded C RTOS's: INTEGRITY, pSOS+, µC/OS, etc.
- OOD/CASE utilities: Rational XDE, Rose, Teamwork, SNiFF, etc.
- Embedded Ada RTOS: Real-Time Verdix
- Segue Quality Works automated test tools
Target Platforms: Stand-alone and VMEbus architectures with ARM, Motorola 68xxx,
Intel x86, SG-Thompson(ST-51x) and other processors
Communication Formats: SSP/SPI, MPEG2, DVB, TCP/IP, QAM, QPSK, IIC (I2C),
etc.
Debuggers, analyzers: various symbolic & command-line debuggers, logic analyzers,
I2C analyzers, spectrum analyzers and oscilloscopes
Work History:
Welch Allyn, R&D July 2005 - Present
Embedded Software Engineer in a global team developing the next generation of the
monitor/defibrillator
(Class III medical device) for hospitals, ambulances and medical evacuation helicopters.
Primary areas of responsibility include software architecture, bootstrap and kernel-level
code, and hardware interface compliance to software requirements. Product uses Green
Hills Software's INTEGRITY RTOS and Intel PXA270 (ARM-based) processor.
- Develop software requirements, architecture, and design with FDA-grade documentation
- Create prototypes to test bootstrap and kernel concepts
- Assist electrical engineers in verifying hardware/software systems meet requirements
- Attended Green Hills training for MULTI/INTEGRITY, including advanced training for
BSP and driver design
Paltronics, Inc. October 2003 - June 2005
Software Engineer for high-end displays
integrated with roulette wheels for casinos and the gaming industry. Working with Windows
XP embedded and XML scripts.
- Create bootable El Torito CDs with images for the display controllers
- Build components and applications for Windows XP, using C++ and Visual Studio 7
- Debug existing C++ embedded Windows XP code using Visual Studio 6
Self-employed February 2003 - September 2003
- Serving as webmaster for CFC, a
local non-profit organization involved with prairie restoration, and creating maps as requested
- Set up internet presence (domain name, e-mail, and initial web pages) for Delis of America
- Investigated XML, Java, Perl, and writing apps for PDA
Motorola, Broadband Communications Sector August 2000 - Feb 2003
Zenith Electronics Corp., Digital Media Group October 1998 - buyout by Motorola
Lead Engineer for
Set Top Box (STB) front-end drivers (satellite and microwave receivers). Completed various fast-development projects for STB for digital television, using µC/OS and Microware's OS-9 (Real-time operating systems with extensions for Digital TV). Code was written in C, both on Windows NT (with CodeWright editor) and in Unix (vi). Clearcase 4.x version control was used in both cases. Development followed CMM processes, including code reviews.
- Collaborated with hardware engineers to design and optimize various wireless (QPSK) RF tuner drivers with newest chipsets for receiving and demodulating MPEG-2 satellite signals with enhancements for low-power signals
- Debugged, enhanced and unit-tested the OSD (On-Screen Display) driver, allowing applications to easily manipulate graphics that overlaid the video output, through an API
- Created system builds, including release notes and version labels, based on customer communication and product development
- Led a small group in driver development, estimating development time, tracking progress and reporting status to management
- Supported Clearcase version control on several large VOBs, with multiple branches and views, allowing for code re-use across various hardware platforms and customer product lines
- Software architect & developer for several drivers (QPSK, QAM, VSB tuners; I2C; PCR), some drivers using UML techniques (including design patterns) for C++ in Rational Rose, as components of a larger design model
- Supported automated test support interfacing over RS232 to the STB and over GPIB to test equipment (specialized signal generators)
- Earned STB Incentive Plan by being sole developer for large inherited SW effort (3000+ source files, 800 makefiles) that required significant debugging and product enhancements with rigid deadlines
- Rewrote boot code that had to operate in real-time and in 15KB to start the STB and be able to search over-the-air DVB-SI tables, download an application and flash it into memory
- Designed an HFC driver supporting audio/video and IP internet content over cable, using out-of-band spectrum for two-way data transmission
- Wrote re-usable utility that toggled bits on the data bus to control an I2C bus
- Developed demo driver from scratch in first 5 weeks on the job to decode VSB signals for the 1998 Western Cable Show
Otis Elevator Co. Worldwide Engineering January 1997 - September 1998
Worked on the
REM 2000 project (Remote Elevator Monitoring)
- Developed C code to handle modem connection status, log on/log off, prioritize, and deliver or queue alarms as appropriate, using pSOS+
- Created system builds for the team, integrating local and vendor-developed code, using PVCS for revision control
- Modified and created simulation and debug tools written in Visual Basic 5.0 (32 bit)
- Created automated tests using Segue tools for system integration of REM 2000. It did complete system tests, across several VB interfaces on separate computers, interfacing with the embedded REM unit
Recon/Optical Inc. CAI Division March 1995 - December 1996
Developed code relating to mission-critical air-borne
E-O camera control and
imagery transmission
- Full team-based code development and integration of a groundstation handling real-time E-O imagery at sustained data rates of 10.7 MB/s with a Unix control system on a VMEbus
- Determined ground coordinates of image based on aircraft GPS data, aircraft orientation (pitch, roll, yaw, heading), camera type and camera angle
- Maintained X-Windows Control GUI and IPC task communication code
- Development and integration of air-borne camera controller using embedded 68020 and DSP C31 C code and some machine language on a basic propritary RTOS, including controlling the camera shutter, reading GPS data, and writing video overlay data to the pilot's display unit
- Represented company, set up and maintained equipment and product display for air show in Singapore
E-Systems, Melpar Division June 1993 - March 1995
E-Systems, Greenville Division July 1991 - May 1993
Developed several projects on large-scale mission-critical
classified systems,
holding a Secret clearance
- Full development of real-time software projects, including design, implementation, integration and testing with other classified subsystems in large-scale embedded DoD projects
- Development, integration and delivery (under-cost, on-schedule) of a classified DoD project using VMEbus interrupt-driven high-speed communications system using embedded real-time C and pSOS+
- Design and implementation of ROM-based firmware written in Ada, allowing stand-alone startup on VME/VSB card cage, controlling a VMEbus SCSI card with a Fast File System, serial and LAN drivers (using IEEE 802.3) communicating with C code on development system
- Developed data fusion system which translated messages from one classified message format to another and routed them to the requested destination
- Wrote C code to display and manipulate graphic overlays in a system using RTOS
Awards:
Motorola, January 2001
Recipient, Chairman's Challenge (nominated by local management for high achievement)
Zenith Electronics Corporation, July 2000
Recipient, STB Incentive Plan (individualized award tied to retaining key personnel)
Education / Honors:
University of Minnesota, Duluth May 1991
Bachelors of Computer Engineering,
B.S. in Computer Science, Math minor
Interests/Activities:
Video editing, genealogy, map-making
FIRST Volunteer with Otis/FHS team
Air-cooled Volkswagens and juggling