Post Job Free
Sign in

Software Engineer Development

Location:
Redwood City, CA
Posted:
February 05, 2014

Contact this candidate

Resume:

Terry Lane

***** *. ***** **.

Westminster, CO **0021

*****.****@*******.*** 720-***-**** (cell) 303-***-**** (home)

Objective: Real Time Embedded Software Engineer

Experience:

2012–Present Principal Software Engineer, Oracle/Sun/StorageTek (Automated Tape Libraries),

Broomfield, CO

Primary software developer on Robotic Controls card using TI ARM/DSP (OMAP-L138). ARM

side running under TI Linux for general non-hard real time operations. DSP side for real time

Servo Closed Loop Controller (single threaded ISR timed service). Inter-process Communications

via shared memory. Architecture, Design and implementation of Robotic Controls, Vision

Operations, Library Controller Interface (Ethernet), Robot positioning, Diagnostics/Error reporting,

code load and implementation of build. Development and debug using Code Composer Studio,

GDB and internal tracing facilities.

2009–2012 Principal Software Engineer, Oracle/Sun/StorageTek (Automated Tape Libraries),

Broomfield, CO

Developed Architecture, OS and API for a set of multifunctional real-time interrupt driven Micro-

controllers (primarily using the PIC 24F). Functionality included Stepper Motor controls, Tape

Drive Interfaces, Vision data collection (bar code and targeting), Sensor state change

management and all other low level HW support for the library. Developed the USB-CDC to the

PIC as well as the low level interfaces to components (I2C, SPI). Code development in C using

Microchip’s MPLAB IDE. Also implemented the build system for the Pic’s on Linux as well as

Boot-loader support.

Ported, re-factored and implemented applications on x86 card running Linux for Robotic

operations and Vision Label decode and targeting (position calibration). Additionally, added

initialization and diagnostics for mechanical and electrical fault isolation.

1997–2008 Advisory Software Engineer, Sun/StorageTek (Automated Tape Libraries), Broomfield,

CO

Development of real-time embedded software for robotic tape storage libraries. Developed code

for servo control, robot positioning, vision systems, drive communications, user interfaces and

various other operations. Projects used ppc403 running on Linux (2.4 and 2.6) with earlier projects

using VxWorks. OO design with code developed in C/C++. Developed extensive unit testing using

CPP_UNIT. Code revision control using ClearCase. Debug with DDD/GDB. Development

primarily on Sun Workstations running Solaris with some development on PC’s.

1994-1997 Sr. Software Engineer, StorageTek (Tape Division)

1990-1994 Staff Software Engineer, StorageTek (Tape Division), Louisville, CO

Development of real-time embedded software for tape storage products including initialization,

code load, servo control, and diagnostics running under VRTX OS on a SPARC and an interrupt

driven system on a TI DSP processor. Debug tools include C source level Logic analyzer and

Software debugger as well as various Emulators. Code developed primarily in C with some

assembly. Development was on Sun Workstations under UNIX.

1984–1990 Software Engineer, McDATA Corp., Broomfield, CO

Development of embedded software for networking products. Developed embedded diagnostic

code for various projects including host channel extenders and network bridge products. Code

developed for 8031, 8052, 80186/286/386 and Bit-Slice processors in C and assembly.

1982-1984 Test Engineer, Storage Technology Corp. (Optical Disc Division), Longmont, CO

Development of Software and Hardware for Servo Control and Analog cards for automated test

systems.

1978-1982 Engineering Technician, Electronic Processors, Inc., Englewood, CO

Development, test and debug of industrial control tape loaders and medical monitoring equipment.

1976-1978 Engineering Technician, Electronic Processors, Inc., Englewood, CO

Developed, built and supported test equipment and firmware for various products.

Embedded Software/Hardware Development Skills:

• C/C++ and assembly

• Software Design and Implementation on both OS based and non-OS systems with layered

approach and object methodologies.

• Extensive code development and debugging experience on embedded systems, with debug at

source, assembly & machine code levels

• Real time performance benchmarking and optimization.

Development on embedded systems using TI ARM & DSP, PIC Microcontrollers, Power PC, X86,

SPARC, 805X, Bit Slice based products and various other microcontrollers and processors.

• Experience with multi-tasking embedded RTOS and single threaded interrupt driven systems.

Embedded OS's include “Real Time” LINUX (2.6), Vxworks and VRTX.

• Development platforms include Linux, UNIX, Solaris and Windows.

• Software and Hardware Debugging with various Tools and Equipment: Emulators (processor

and JTAG), Logic Analyzers, Oscilloscopes and Source Level debuggers.

• Debuggers include Code Composer Studio, MPLAB and GDB.

• Build systems, Unit Testing and Simulation

• XML, SAX Parser (developed a description language within XML to define locations in the Tape

Library for robotic positioning.)

Controls and Vision Systems Background:

• Servo Control design and analysis using Matlab with controller design using Matlab’s Rltool.

Mechanical system identification using Control System Analyzers and internal code driven bode

measurements. Designed servo control software, implementing a code base used for all products.

Developed multi-profile moves and generic methods to derive move paths and positioning.

Obtained various patents for unique methods used in the product. Closed loop control developed

for brushless and brushed motors. Contributor to over ten successful products.

• Servo Controls, Robotic Operations and Recovery, Inter-process Communication and Vision

Systems. Control experience with brushless, brushed and stepper motors. Use of solenoids and

other actuators. Closed Loop Servo Control using feed-forward based Position and Velocity

control. State Space and PID compensators.

• MathWorks, including general Matlab, Simulink and RLTool.

• Control and Digital System Analyzers.

• Various work on mechanical plant identification/modeling using mechanical specifications and

developing methods to measure plants as well as well as plant and compensator. Measurement

of friction and other mechanical characteristics.

• Experience with Analog and Digital Hardware.

Personal Skills:

• Work well in a team environment as well as on projects as a sole contributor. I have been on

many projects as part of a large team and projects with single mechanical, electrical and software

engineers.

• Use to a fast paced development environment requiring multiple responsibilities in the

development of the product.

• Software development team member of over thirty successful products.

Education:

B. S. Electronic Engineering – Dual Emphasis in Controls and Computer Design

Metropolitan State College, Denver, CO

Associate of Electronic Technology

Arapahoe Community College, Littleton, CO



Contact this candidate