James A. Hinnant

www.jameshinnant.com

hinnantj@aol.com,   hinnantj@yahoo.com

Silicon Valley, Bay Area

Summary Twelve years industrial experience in software development. M.S. in Electrical Engineering with Computer Science minor.
 
Skills
Specialty: Design, code, optimization, and unit and integration test of real-time embedded software.
Languages:
C and C++ : Borland Turbo C++, Gnu gcc, Microsoft Visual C++.
Ada : Rational Apex, TLD, Verdix, Gnu Gnat.
assembly : Intel 8051 (Keil), 1750A (TLD), Motorola 6800, 6809.
Unix tools : sed, awk/gawk, sh, grep, etc.
OS's: Unix (SunOs, Linux, Solaris), DOS, Windows, X Windows.
Equipment: Logic analyzers, SBS and Ballard 1553 analyzers, oscilloscopes, EPROM burners, Federal Systems' ASPS and CCP flight computers, etc.
 
Experience Senior Software Engineer and Intelsat-IX ACS Software Tech Lead,
subcontracted to
Space Systems/Loral through Aerospace Consulting Group,
Palo Alto, CA, 11/1995-5/2002.
Responsible for design, code, real-time optimization, unit test, troubleshooting, patching, and documentation of satellite flight software for various applications on Loral's FS-1300 series of satellites, using Ada (Rational Apex, TLD 1750, and Verdix compilers under Unix), assembly (8051 and 1750A), C, and Unix toolscripts.
Projects included:
  • Coded all 8051 firmware on 1553-to-RS-485 command/telemetry hub for Satmex-6 and ipStar; sole 8051 firmware engineer on this project. The 8051 is an 8-bit microcontroller, and the variant used had 256 bytes of RAM.
  • Coded and unit tested with Keil compiler/assembler, integrated and tested on lab hardware, hand-optimized for time and space, and verified worst-case timing with oscilloscope.
  • 8K lines of flight code and 14K lines of test code, most of it in 8051 assembly and the rest in C. Documentation set (SRS, SDD, VDD) in Microsoft Word (2000-2002).
  • Major upgrades for Intelsat-IX telemetry and solar array drive software, including telemetry changes to accommodate splitting of flight computer.
  • Tested on simulators and hardware targets; advised/troubleshot integration test at satellite manufacturing level. Advised engineers, testers, and customer on telemetry, software environment, and test equipment.
  • Supported later programs that were based on Intelsat-IX design (1996-2002).
  • Major upgrades for MTSAT attitude control software (1996-1998).
  • Updates to command software for Tempo, Panamsat-6, Mabuhay/Telstar/Apstar, and Intelsat-IX (1995-1996).
  • Updates to attitude control software for Chinasat-8, MCI-2, Telstar-7, Eurostar, MTSAT-1R, etc. (1996-2002).
  • Development of code generators, code patch tools, and many other Unix toolscripts, using shell, awk, and sed scripts, including:
    • A coverage analyzer that merged 8051 simulator address trace output with 8051 flight build disassembly listings and used unit and integration tests for inputs. Modified a copy of the freeware 8051 simulator s51 (built with gcc and run under Unix), to obtain address trace information.
    • Pre- and post-processors for the Rational Apex Ada coverage analyzer, to permit using unit and integration test scripts as input data to the analyzer and to merge Apex coverage analyzer output with Ada source listings. Merged coverage analyses for all Intelsat-IX flight software applications.
    • An instruction trace tool that merged logic analyzer address bus trace output with disassembled 1750A flight build, to pinpoint cause of spontaneous reboots that were occurring once every few months in the satellite assembly area (the cause was a hardware error in vendor's flight computer, missed by their testing).
Consultant, Booz • Allen & Hamilton, Inc. , Houston, TX, 7/1992-10/1993, 2/1994-11/1995.
Performed design, code, unit test, and integration test of simulation software used for astronaut training, for the following projects:
  • NASA Space Station Training Facility (SSTF), subcontracted to Hughes-Link (1/1993-10/1993, 6/1994-11/1995).
  • As part of the Onboard Computer Systems (OBCS) working group, designed, coded, and tested several class objects for the firmware controller 1553 interface in the simulation of the Station's 1553 network; integration tested on SGI Challenge targets (including 1553 bus analysis).
  • Satellite Ground Station Training System, Booz • Allen & Hamilton (2/1994-7/1994).
  • Ported satellite operations manual to real-time C for training model of customer's satellite, including sensor, controller, and actuator models.
  • NASA Shuttle Mission Training Facility (SMTF) , subcontracted to CAE-Link (7/1992-1/1993).
  • PDR design for training model of the entire Space Station Data Management System, to be run on the Shuttle Mission Simulator, including all on-orbit computers and networks. Also coded and ran filters for comparing actual Shuttle robotic arm data vs. training simulator models, with Turbo C++.
Contract programmer, Bridgeway Software, Inc. , Houston, TX, 5/1992-7/1992.
Updated customer service dialogs, etc., in Bridgeway's corporate secretary database products, with Microsoft Visual C++, Windows SDK, and Borland Paradox Engine.
 
Education Texas A&I University, Kingsville, TX.
M.S. in Electrical Engineering, C.S. Minor, May 1992.
B.S. in Electrical Engineering, C.S. Emphasis, December 1988.
Neural net flight control simulation in C++ (M.S. thesis): Designed, coded, and tested 12K-line OOP NN/MRAC controller model, with NASA F-8 aircraft math models, in Borland Turbo C++.
8051-based home security system (senior project): Designed, coded, and tested all firmware for the project, mostly in BASIC with some 8051 assembly language, on a Ciarcia Circuit Cellar 8052AH-BASIC development board. Analyzed the board's functionality for the workgroup.
Lab instructor: For 3rd- and 4th-year digital systems and control systems labs, composed and graded lab problems and supervised lab sessions, on Motorola 6800 development boards and an analog computer.
High school summer project: Coded Conway's Life cellular automata algorithm in 6809 assembly, on a TRS-80 Color Computer with 4KB RAM and an audiocassette storage drive.
 
References Available upon request.