Post Job Free

Resume

Sign in

Software Engineer Design

Location:
O'Fallon, MO, 63366
Posted:
December 22, 2022

Contact this candidate

Resume:

Richard Eugene Tyson

*** ******* ** · O Fallon, MO 63366 · 314-***-**** · adt7cs@r.postjobfree.com

Senior Embedded Software Engineer

experience in software(Application) and firmware(low level) design of products that require embedded systems. Experience developing real-time applications using RTOS’s/Os’s. Proficient in translating requirements into functional designs. Good working knowledge of initial system integration for code startup, system-on-chip inits, and low level logic design (port expanders, buffers, transceivers, data latches, decoders and other peripheral devices with specific interface requirements).

Boeing Corp(Missiles) – St. Charles, MO 06/20 – present

Senior Realtime Software Engineer

Provide software development for loading target boards at the factory.

•Developed ‘provisioning’ software (loads .bin file data via rs232 via a Pod, process Pod commands, verify signature of encrypted binary data, decrypt data, write data to nvram, log event) for boards.

•Agile development process used, GreenHills Integrity IDE, Bitbucket & GIT, JIRA, Webex meetings.

•Active Secret Security Clearance

Volt (Biomerieux) – Hazelwood, MO 08/16 – 06/20

Senior Software Engineer

Provide software development for new instrument designed to measure optical density(cloudiness) of a bacteria sample suspension used to inoculate test cards (TI MSP4306626 uC). Code developed using C++ methodology.

•Developed firmware for PID control loop to command an instrument chamber pressure rate evacuation & venting using vacuum pump, proportional valve and pressure sensor hardware.

•Developed driver for RFID reader chip(TRF7960 -spi interface) used to read stored calibration data from a vial with a TAG detected when it is inserted into the instrument. Evaluation module tools were used to aide in development.

•Wrote Bootloader for MSP430 uC and developed serial communications protocol for firmware updates of the instrument(32K bank: 64-512 byte segments) via a base station display. Developed both sides of the communications protocol.

Column Engineering (Intermatic) – Spring Grove, IL 01/16 – 07/16

Senior Software Engineer

Provide software updates & defect fixes for Pool & Spa MultipleWave(3 device wireless-Zwave control system for pool equipment Pumps, Valves and Lighting) product.

•Hw/Sw - stm32F1x Cortex-M3, FreeRTOs, uVision IDE(KEIL tools by ARM), JIRA, Agile, C, C++.

•Improved firmware update via Usb for Controller & Receiver devices (added data protection for filenames & image data frames, disabled non-relevant Zwave & rs485 messages during update, changed Irq priorities & masking to prevent/mitigate kernel lockup, changed Usb disconnect so device driver would not dither during enumeration of Usb for reading files).

•Added functionality to prevent circuit outputs from changing states when system is in Service Mode.

•Added functionality to control circuit outputs according to programmed scheduled events after

Service mode or ‘Freeze Protection’mode is exited.

•Tested changes on mock-up Pool & Spa System with actual variable & single speed pumps from different manufacturers and valve actuators.

•Familiar with Zwave message protocol (Binary & Sensor Set/Get/Report messages).

Experis (biomerieux) – Hazelwood, Mo 03/11 – 01/16

Senior Software Engineer

Provide software development for new medical(Virtuo) instrument(Coldfire-MC5475, GreenHills IntegrityOS and Multi IDE, C, C++)

•Develop TCP Client-Server sockets for communications between a bank of instruments to provide bottle loading status, IP address and configuration number.

•Development RESTful architecture for communication protocol(httpPOST, GET, & PUT) to provide instrument initial discovery and status updates.

•Develop Usb driver for client application control & monitor of UPSs with HID report descriptors.

•Develop application for updating firmware of Usb Jadak Imager device while inSystem.

•Develop Alarm Manager-Server & Client for all other tasks to annunciate instrument Errors.

•Interface with sqlite database software for storage & acquisition of data(provide ‘sql’ statements for Inserts, Updates & Queries).

•Develop Diagnostic message Server so other tasks can log events to the filesystem for trace debug inspection.

•Provide heap/memory-pool address space tuning - stability to write to the database for days.

•Use IntegrityOS services(Connections, Semaphores, Mutexes, MemRegions) to synch task operations.

•Monitor system resources(Ram, Nand, Stack & Heap usage), code exceptions, critical task heartbeats and RTC operation to provide Instrument reset when appropriate.

•Create manifest file & develop code to validate file-sizes and Crcs (.bin, language files, etc. . .).

Amerit Consulting (John-Deere) – Urbandale, IA 11/09 – 03/11

Senior Software Engineer

Provide software updates and new features to existing GreenStar Display Controller products.

•Code development Cpp, VxWorks(6.2) and WinCE(6.0).

•Provided code updates to change text and image attributes for screen objects, added fields on screens for accumulated totals related to planting operations, changed software logic for when screen control buttons became enabled or disabled, monitored Ram resources for displaying %used & signaling other tasks, improved loading of bit-map images by reducing code redundancies.

•Implemented CppUnit(unit test framework) testing which was included as part of project build in IDE Visual Studio development environment

•Used windView(VxWorks) & Platform builder with ActiveSynch(WinCE) to track task interaction for analysis and application development of specific threads.

•Handled assigned product issues from the field - worked with John Deere CAN network messaging using Cansniff(Bus Analyzer tool) to review CAN logs received from customers in the field and to create playback messages specific to the display.

•Used StarTeam version control and Code Collaborator scheduling code reviews. Performed Regression Testing on specific areas for new software changes before handoff to Product-Verification & Validation Dept.

ENSCO Corp (Hamilton Sundstrand) – Rockford, IL 06/08 – 10/09

Senior Embedded Software Engineer

Provide code changes according to requirements for 787 Circuit Breaker Indication & Control (CBIC) software and A400M Solid State Programmable Controllers(CBs), all development using C/Cpp.

Provide system level testing of Ethernet (AFDX) communication network for Airbus A400 secondary power systems..

•Using ‘Doors’ review, existing requirements and verify updated requirements via system performance testing.

•Participate in CR ‘burn-down’ for software, develop changes thru Telelogic Synergy CM tools and perform preliminary testing as required. Interface with Systems Engineering to ensure correct understanding of requirements.

•Perform system testing of new requirements and create CRs when nonconformance.

•Review requirements and verify via system performance testing.

•Work with fdXplorer (some Ethereal) to develop python programs (developed & executed on the PC) to receive, transmit and parse AFDX messages on the network.

•Very familiar with Tcp/Udp packeting, icmp, igmp, tftp, snmp, arp and the protocol layers.

Tech Staff (Dickey-john Corporation) – Auburn, Illinois 02/08 – 05/08

Staff Software Engineer

Provide software updates according to requirements for J1939 CAN communication protocol.

•Update existing C/Cpp software modules to provide additional J1939 CAN message transmissions. Create sampling buffers(for averaging), timer transmit tasks(for periodic messages) and pulse accumulators(for maintaining consumption totals) for new functionality.

•Research linux toolchain which can possibly be used for new product display terminal.

MANPOWER (Honeywell) – Phoenix, AZ 05/07 – 09/07

Senior Software Engineer

•Used Honeywell Matlab/Simulink Autocode Manager development tool to generate S-Function and C-code files of their existing block library models(i.e. Debounces, Filters, One-Shots, Integrators, Limiters, etc).

•Optimized auto generated C-code into new files and generated another S-Function.

•Used SimuLink on the optimized S-Function & original S-Function model to verify the same response output. Inputs(Voltage levels, Step, Sine, SqWav etc . . .), Output(Meters & Scope)

Super-imposed 2 models output responses for verification

CDI (Thomson) – Indianapolis, IN 09/06 – 5/07

Senior Software Engineer

Provided software development in advanced products group on IPTV gateway device for DirecTV, all development using C/Cpp.

•Provided software development in VxWorks OS environment used in a server gateway device(IXP425 target platform).

•Used WindRiver/Manager tools for SNMP agent development in C, C++ for applications such as Ftp updates, writes to flash, shadow Ram updates, file removal, timeouts and callbacks.

•Familiarity utilizing VxWorks resources(file api, sockets, thread synchronization resources & memory functions) for software development as well as the following protocols(Tcp, Udp, Ftp) and Wftpd.

•Developed software to access (initialize, set, get, send traps) snmp mib variables via Udp communications for sending commands to receiver and storing configuration parameters to nonvolatile memory.

•Perform debugging and test via terminal emulation, Tornado debugger and ethereal monitoring.

•Extensive use of clearcase during development as well as PVCS Tracker.

Netsource Corp (Motorola) – Champaign, Il 03/06 – 09/06

Senior Software Engineer

Provided updates to existing kernel software(using C) used for cell phone development.

•Environment used LinuxOS, provided updates (increased uart baudrate, clock module resets, initialization of gpio/iomux registers, functions to manipulate gpio registers for status & configuration of the hardware connected, developed initial build environments for new products) via change requests for linuxOS kernel software generated by MontaVista/Freescale .

•Made software changes using clearcase database, created views and provided merges to changes when required and ‘branches’ to changes for overseas associates to test and further development.

•Submit change requests to various groups (power, video …) when dependencies were required.

•Build LinuxOS kernel image, download to target system for testing when required.

•Setup code inspection meetings for changes.

Technisource Corp (GE Aerospace.) – Grand Rapids, Mi 01/05 – 02/06

Senior Staff Software Engineer

Provided software design, development and testing for C130-AMP Mission Processor Modules, all development using C.

•Provided firmware for testing newly designed (MPC7410 SBC) processor modules used on C130 Aircraft for secondary power systems.

•Test Box firmware had to meet in-house Test-Requirements-Spec

RS485 - using serial communications address each module with proprietary commands

EEproms(I2C) - using I2C interface addressing check eeprom read/write functionality

Discrete(I/O) - using I2C Gpio 8 bit port expanders interface addressing test digital I/O

Ethernet Chs – using UDP sockets check Ethernet channels using proprietary commands

•Developed UDP sockets for parsing and formatting data messages during testing applications and SNMP testing on an SNMP agent.

•Developed SNMP software to provide testing for managed switches.

•Developed LabWindows user interfaces for controlling different instrumentation used to test SBCs by manufacturing.

•Developed Software Life Cycle Document(SLCD) to support development effort and peer reviews to ensure requirements have been interpreted correctly and design is sufficiently detailed.

Systems & Electronics – St. Louis, Missouri 09/02 – 11/04

Senior Software Engineer

Provided software design, development for a Data Acquisition System(DAQ), all development using C/Cpp.

•Presented portion of the software design to customer(Boeing) during Preliminary Design Review using class and sequence diagrams as well as block diagram activity flow charts.

•Environment used WinCE3.0 OS resources for thread creation, semaphores, mutexes, events & queues. Developed device drivers for PC104 based 486 SBCs using PC104 data acquisition boards(32 multiplexed analog inputs / 4 analog outputs).

•Responsible for DAQ measurement test requirements & performance.

•Used a design approach to provide a base class for DAQ software coding to obtain analog I/O measurements. Developed a top level device manager to create instances of the base class for each DAQ board(each instance created a interrupt service thread for data sampling) active in the measurement. Used methods to provide sets/gets for setting sampling parameters(# of chs & samples, gain, coupling, sample rate) and processing required measurements (AC RMS, AVG, DC, Min/Max, rise/fall times).

•Provided Interface design / Software Design documents for delivery to the customer and presented a portion of the design during PDR.

Bitrode Corporation – Fention, Missouri 03/98 – 06/00

Embedded Design Engineer

Provided hardware/firmware development for battery tester & formation devices, all development using C

•Developed firmware for programming PLDs to memory map devices(lcd rs232 displays, keypads, EEprom, ) in address space for MC68HC16 / HC11 uC projects.

•Instrumental in development of New RCN Discharger Product(Reserve Capacity Tester)

Mapped all peripherals(serial lcd display, keypad, I2C EEprom and memory) for product

Developed User interface for Keypad(20 button membrane) access & lcd display and all setup functionality required for the product.

Developed rs232 driver and API interface for in-house protocol to provide PC remote setup and control of the product

Held biweekly meetings for internal comments & suggestions of development path

•Development involved periodic timers, serial interrupts/communications, switch decoding, I2C protocol for eeprom, lcd communication protocol.

•Developed firmware for Small Cell Formation & Grading(Model SCF) test equipment.

Provided ability for User to identify different grades(A, B…) of each cell after testing by reading the grade value for that cell stored I2C EEprom device

•Upgraded existing product firmware according to customer requirements to fill customer orders.

Dickey-john Corporation – Auburn, Illinois 02/95 – 01/98

Embedded Software Design Engineer

Provided hardware/software upgrade to existing Grain Analysis Computer (GAC – moisture analyzer) for overseas customers(All development using C).

•Provided initial hardware/software design for GAC project, and was responsible for pre-existing project software translation by outside contractor.

•Designed hardware upgrade using 80C186 (new uC, increased ROM/RAM & EEPROM, added modem connection and critical audit tracing/printout capability) to existing GAC product.

•Developed proprietary serial communication interface protocol for downloading grain calibrations via modem or local to the instrument. Provided entire effort for integrating existing software and new instrument features. Instrument achieved selection as the new standard by the United States Federal Grain Inspection Service (US FGIS).

•Developed software driver for CAN multiplexing interface on MC68332 platform used in planter monitor seeding equipment.

•Developed tasks that monitored seed sensors, seed accumulations, tractor ground speed messages and seed population messages to a networked display.

•Utilized RTXC for real-time monitoring and updating for the CAN driver and seed monitors. Used RTXC utilities (thread creation, events, semaphores, mutexes and mailboxes) to implement driver execution.

United Technologies Automotive – Dearborn, Michigan 01/92 – 01/95

Software Engineer

Provided hardware/software design of electronic control modules used in GM & Ford products, all development using C.

•Developed software to control vehicle body electrical functions (power steering, cruise control, seat, mirror and wiper motors, vehicle lighting - front/rear/display lamps).

•Developed firmware on MC6805,11,16s uC platforms using output/input compare and capture interrupts for PWMing, frequency monitoring, timer critical interrupts for switch debouncing, motor controls, A/D monitoring and blinker/headlamp switching control.

•Provided hardware interfacing for external memory, keypads, and integrated smart power drivers with fault detection,

•Develop firmware to serial networks - RS232(for debug), SPI & I2C(for smart power drivers with fault lines) and CAN(for vehicle messaging protocol).

•Built-up and developed several embedded networked multiplexed nodes using Ford’s ‘SCP’ J1850 vehicle multiplexing protocol to generate business by showing an in-house expertise.

•Supported electronic modules at customer site(GM) during evaluation and provided periodic software updates.

•Provided software presentations (tools/language to be used, memory requirements, design philosophy) to a potential customer for new project bids.

McDonnell Douglas – St. Louis, Missouri 06/88 – 12/92

Hardware Engineer

Provided integration of COTS equipment to simulate cockpit radios used in F-14 flight trainers.

•Developed hardware switching logic in PLDs and state machine for controlling communication audio paths between instructors, observers and aircrew members.

•Designed VME circuit memory boards for storage of digitized audio training messages in low cost flight trainers. Developed 'C' software in UNIX environment to check-out memory boards with read/write using different patterns and actual logging of data in the board.

•Performed on site integration of radio equipment for customer training at Virginia Beach Air Base.

Education

B.S. Electronics

State University New York @ Buffalo – Buffalo, New York

Technical Addendum

OS/Environments: Windows98/NT/2000, LinuxOS, WinCE 3.0, VxWorks OS, RTOS used in Planter Monitors.

Development Applications: C++, OOP, Multithreading design, IVI compliant instrument drivers, VISA, SCPI, LabWindows CVI, LabView.

Development Platforms: ColdFire MC5475xx, 68HC05, HC11, HC16, MC6833X, MPC74 series processors, 8051, 80C188/186, PC104 data acquisition systems using PC 104 486 SBC, TI-MSP430.

Hardware Interfaces: Ethernet (TCPIP, UDP, SNMP - DataSockets), SCI, RS232/422, I2C, SPI, J1850 (CAN, SCP – CDMA), VXI, PXI, PC104, low level logic design: port expanders, buffers, transceivers, data latches, decoders and other peripheral devices with specific interface requirements.

Accomplishments:

Recipient of Mcdonnell Douglas McAir Achievement Award for the development of a low cost flight simulator.

Recognition for development of Grain Analysis Computer by Federal Grain Inspection Service and local news publication in Springfield, IL.



Contact this candidate