Languages |
C,
C++,
Java,
Perl,
Assembler (x86, 68k, 68HC11/16, 8051 & TINI, PIC, ARM/Thumb, Z8x) |
Processors |
x86 (real & protected),
680x0,
Motorola Microcontrollers,
8051,
PIC,
StrongARM,
Intel XScale
NET+Arm,
Atmel AVR |
Operating Systems |
Windows,
Windows CE,
DOS;
Linux;
VxWorks;
uC/OS;
RTPX;
Various proprietary or in-house real-time operating systems |
Programming API's |
Win32;
COM+;
MFC;
NDIS 5, 4, 3;
TAPI 3, 2, 1;
RAS;
ODBC;
PC BIOS |
Protocols |
TCP/IP;
NetBEUI;
NetBIOS;
ISDN;
802.3;
802.2;
802.11;
WinSock;
Dallas One-Wire |
Project History
|
March 2004 |
Multiport Serial\Custom driver - Windows CE 4.2
Developed a driver to support a proprietary PCI card with 12 serial ports (RS-232,485,422 and J1708), 32 bits of digital I/O (with hardware de-bounce) and a custom "Odometer" function.
The driver was developed for Windows CE 4.2.
|
March 2004 |
Enhanced 802.11 driver functionality - Windows XP
Added functionality to an existing 802.11 driver to provide per-packet performance and statistical data to user-mode code through a "passthru" driver.
|
December 2003 |
NDIS layered driver - Windows XP
Developed an NDIS driver for a layered driver stack utilizing a USB interface to a cell phone network at the bottom edge.
|
September 2003 |
Enhanced NDIS driver functionality - Windows CE 4.2
Added PPPOA and IPOA functionality to an existing NDIS Ethernet driver running under Windows CE 4.2.
|
March 2003 |
802.11 driver - DOS
Developed an 802.11 NDIS driver for a handheld terminal running DOS.
|
January 2003 |
802.11 driver - RTPX RTOS
Developed an 802.11 driver for a PCI 802.11 network adapter
under EBS-RTPX (a proprietary RTOS).
|
April 2002 |
DOS NDIS 2 driver for 802.11 PCI
Developed a DOS NDIS 2 driver to complete the driver
suite for a PCI 802.11 network adapter.
|
January 2001 |
Embedded Linux imaging system
Worked on an embedded camera platform using uCLinux on an ARM7
processor core. During the course of this project Rob provided
S/W engineering support through the initial board bring-up phases
(NET+Arm Processor - Arm7 core with networking enhancements) then
as the project progressed, provided much of the low level driver
interface support (One-wire, DSP) and the application level programming
that gives this product its user functionality/personality.
Finally, he designed and implemented a set of inter-locking manufacturing
utilities and databases designed to automate most of the tests and
processes used in the manufacture of this product.
|
October 2000 |
BIOS engineering
TriplePoint established a close working relationship with General Software
creators of Embedded BIOS 2000 and Firmbase. Rob is one of two primary BIOS
engineers at TriplePoint and has provided Embedded BIOS engineering support
to numerous clients. TriplePoint has been a General Software
Technology Partner since early 2000.
|
August 2000 |
Low speed short distance RF communications prototype engineering
Rob provided S/W engineering support during the investigative phase
of a project to develop a host of products based on a short distance
low speed RF data communications channel. He wrote demo code for
several devices and provided bench-side debug support to the H/W
development team. Development was for a PIC processor and involved
peripherals such as simple switch key pads and multi-line LCDs.
|
May 2000 |
VxWorks BSP and low level drivers
Provided software engineering services to a product team developing
a tablet computer and web browser. The tablet used the VxWorks operating
system and Rob was responsible for the BSP and several of the low level
device drivers (LCD, touch pad, buttons, clock...).
|
October 1999 |
Software Engineering support - New board development
Provided primary software engineering support during the design and board
bring-up phase of a new StrongARM based board. During this development Rob
ported a bootloader/debug monitor to the board, developed the initialization code,
wrote debug code and provided bench side assistance/coding for the H/W
development team. Rob also wrote the initialization, bring-up and debug code
for all the primary subsystems (LCD, One-wire, touch pad, buttons...).
|
August 1999 |
8051 embedded processor and Dallas One-Wire interface
Provided embedded 8051 firmware to interface to a Dallas OneWire bus. Rob was
responsible for all the S/W on a sub-system comprised of an 8051 controller and
Dallas semiconductor One-Wire devices. The sub-system was used to provided
serial number and environmental data to an Pentium based system installed in
stadium seat-backs. Rob was responsible for the entire 8051 portion of the
project in addition to the Pentium interface libraries used communicate data
to the higher software layers.
|
August 1999 |
Driver suite and test tools for manufacturing test fixture
Created a suite of Windows 95 drivers (network and printer) and access DLLs
in support of an automated manufacturing test fixture used for final test of
a home PNA product.
|
July 1999 |
Sample SMBus Driver
Rob was contracted by a principle in the SMBus Consortium to create an architectural
sample driver for SMBus devices. The base driver is provided by the consortium as the
sample for creating other SMBus drivers. Rob redesigned the existing
monolithic SMBus driver to accommodate a miniport/class driver model.
The project included several test apps and an ASL test harness.
|
May 1999 |
Software engineering support - BIOS
Provided software support for all BIOS and low level functionality
(flash update, card services...) for line of dedicated
purpose hand held PC. Rob acted in the capacity of sole S/W support
engineer for three handheld products, provided support, debug
and continuing development engineering.
|
October 1998 |
Driver suite and test tools for manufacturing test fixture
Created a suite of Windows 95 drivers (network and printer) and an access DLL
in support of the automated manufacturing test fixture used for final test of
a home networking product.
|
August 1997 |
Real-time firmware for a home networking product
Designed and implemented several complete subsystems of the operational
firmware for an home networking product. The product was based on the
StrongARM processor and was built under uC/OS. Rob was a key architect of
the overall system and had coding responsibility for the memory management
code, the low-level link code, printer pass-through, and several utility and
system functions.
|
February 1997 |
Handheld PC-compatible computer
Rob was responsible for all software and integration tasks in the development
of a handheld computer. BIOS, ROMed DOS, Flash file system, touch screen,
radio modem and Windows 3.1, Rob developed, customized, acquired and integrated
the complete software suite for this handheld platform device.
|
December 1996 |
NDIS driver
Developed a Windows NT 4.0 NDIS 3/4 driver for an integrated Ethernet/SCSI
PCI adapter.
|
January 1996 |
ISDN PRI driver
Developed NDIS WAN driver in support of a dual ISDN PRI interface card.
Required NDIS, TAPI and call management functionality. Also implemented an
advance (at the time) system management interface to board level data and
state information.
|
January 1996 |
Phoenix BIOS customization and adaptation
TriplePoint was named a Phoenix Independent Authorized Developer (IAD) for the PICO
and NuBIOS products in 1996. Rob attended the Phoenix BIOS training (twice) and has been
providing customization and adaptation services since 1996. Rob's Phoenix BIOS experience
is extensive (see below). He has several years experience in BIOS maintenance, new feature
implementation, chipset porting, and new product development.
|
August 1995 |
ISDN BRI driver
Developed a "binary compatible" (Win95/WINNT 4.0) ISDN WAN driver in support of an ISDN BRI
interface card. Implemented the NDIS and TAPI functions to support this 2B+D card. In addition, the
driver was required to support HDLC over the D channel.
|
December 1994 |
Pacemaker test and validation system
Rob provided design and programming to develop a test and validation suite for a very large
manufacturing test product designed to collect the parametric data on medical pacemakers.
The device consisted of more than 25 individual instruments, a ladder of relays and a custom
test head. Rob's software was responsible for polling each device for status, testing individual
components for accuracy, logging data and keeping statistics on system performance.
|
August 1994 |
Novell Netware driver
Corrected and enhanced a Novell Netware driver to allow it to pass the Novell certification tests,
increase performance, enhance the local statistics gathering feature and implement "homing" (multiple
adapters could be selected to recover and take over upon failure of the currently running adapter).
|
May 1994 |
Remote boot via network adapter
Implemented the RPL/Remote boot ROM code for a 10Mb-ethernet card.
|
April 1993 |
Low level Software: Sound/Telephony
Implemented low-level firmware on a combined sound/telephony PC card.
|
December 1992 |
GPIB parser enhancements
Enhanced the GPIB code of a test instrument to include a number of tests and performance validation commands.
|
June 1991 |
Interactive television set-top box
This project involved virtually all of the embedded firmware for an interactive television set-top box. Rob was responsible
for the decoder interface, the printer interface, an application programming language as well as all the low level software
requirements; memory management, task scheduling, messaging...
|
August 1990 |
PC-Compatible BIOS
Responsible for BIOS debug or implementation on 8 or more server and desktop platforms over the course of 5 years. Rob was
responsible for debugging of existing BIOSs, porting of the Phoenix NuBIOS onto new platforms,
chipset porting and design and implementation of new features including the SMI/SMBus architecture.
|