Post Job Free

Resume

Sign in

Software Engineer

Location:
Elgin, TX, 78621
Posted:
March 21, 2017

Contact this candidate

Resume:

Hi,

Although I am more Senior level than Junior level, I would like to point out my skillset:

* Almost a decade of Microchip processor experience

* Can read a schematic as well as design hardware

* Knowledgeable about I2C, SPI, UART, PWM, timers, Ethernet, RTOS (I’ve designed two)

* Know how to use a scope and logic analyzer

* Know Linux, C and C++ (as well as BASH and other languages)

* Familiar with electronic components

* Familiar with ARM (over 7 years experience) and X86 (10+ years)

Bottom line: I would be a good fit as long as my years of experience are not a problem.

Cheers,

Lloyd Sargent

512-***-****

512-***-****

Revised Mar 2017

Lloyd Sargent

POB 805, Elgin, Texas 78621

512-***-**** (Primary)

512-***-**** (Mobile)

Internet: aczeqd@r.postjobfree.com

SUMMARY

Strong background in C++, C, Objective-C and Swift with strong experience in the development of human interfaces, applications, device drivers, embedded systems and firmware. Highly motivated and disciplined worker; very concerned with the design and development of quality products. DEVELOPMENT

• Developed embedded software for over 30 years

• Developed embedded software for everything from the PIC micro controller to Davinci and IMX ARM based processors.

• Embedded systems were hard real-time systems

• Over 20 years developing software in C++

• Designed and developed multi-threaded solutions as well as two original kernels for embedded solutions

• Full understanding of SDLC

• Patent: Co-inventor of “Dispensing System and Method with Radio Frequency Customer Identification” patent #US7640185 (Currently known to the public as Exxon Speedpass) WINDOWS DEVELOPMENT

• Over a decade using Visual Studio

• Prior to Visual Studio used Microsoft Compilers to develop everything from test application for products

• Used cross-compilers for various chips (PIC, 8051, 68HC11) LINUX DEVELOPMENT

• Have used BASH, Node.js, AWK for solutions

• Developed Middleware for Applications that used DirectFB, Freetype and JPEG libraries for Accuview software at NCR

• Built and modified customized kernels for the Davinci and IMX6 ARM System on a Chip

• Currently designing GUI subsystem for Swift on Linux IOS DEVELOPMENT

• Worked on an iOS program to communicate with the Accuview system while at NCR.

• Have been working on a program, QuickGrocery, to get it ready for the App Store. It uses CoreData, Core- Graphics, GoogleAds, and MessageUI frameworks.

• Have 13 years experience working with Objective C and Xcode.

• Have developed in Swift for iOS, OS X and Linux.

• Developed open source project named Black Raccoon (https://github.com/lloydsargent/BlackRaccoon) which makes FTP easy to incorporate into iOS products and has enjoyed a modicum of success. EMPLOYMENT HISTORY

Sept 2015 - Present Canna Software, Elgin, Texas

President - Design, implement and maintain software for OS X, iOS, and Swift for Linux. QuickGrocery is a universal app for the iOS designed for the mundane task of grocery shopping. Initially designed as a personal project, it has proven to cut shopping time down by as much at 15 minutes. It is scheduled to be released in the first quarter of 2018. Iken is an open-source library to provide an iOS-like GUI for Swift under Linux. It is currently in development and should be released towards the middle part of 2018. Page 1

Revised Mar 2017

NovelWriter is an OS X design that is currently in planning stages. Discussions with novelists indicate that there is an opportunity for writer-friendly software. Sep 2001 - Sept 2015 NCR, Inc., College Station, Texas Software Engineer II - Design, implement, and maintain the necessary Board Support Packages for Windows CE, Linux as well as Environmental Control software. Design, implement and maintain embedded soft- ware as required. Design and implement Linux embedded system software as required. Designed the Environmental Controller used for the NxNG and the Outdoor 47” Display. Language: PIC24 using C.

Created customized Linux Kernel and file system for the IMX6 System-On-Chip based NXNG. Moved the Middleware designed for Accuview to the new hardware. Languages and Tools: C++, DirectFB, wxWidgets, Build root

Developed a test case for C# running on Linux and wrote a paper discussing the pros and cons for mov- ing Windows code to Linux systems.

Worked on an iOS program to communicate with the Accuview system. Designed the code for the Acclaro Breakout box, a USB product that was designed to replace the old Acclaro hardware which used the PC parallel port. Inputs/Outputs included pushbuttons, RS-232 serial, RS-485 serial, 16x2 LCD display, and two loop boards for detecting automobiles. Language: PIC24 using C.

Modified the Environment Control software developed for the Accuview into a new product called the NG-VGA.Video from a PC is connected to a Smart Transmitter. The Smart Transmitter then converts this into a data that is sent through a CAT-5 cable. The NG-VGA takes this and turns it into video that is dis- played on an LCD display. The code I wrote is responsible for running a small LCD display, maintaining the temperature, and displaying a menu. The Smart Transmitter was designed so that it is capable of gen- erating a test pattern via software control. Language: PIC24 using C. Created a customized Linux kernel and file system for the AT91SAM9261 for the Accuview LED. This was intended to be a low cost alternative to using an LCD display. Designed and developed Cinema Display boards that implement a custom display board for theaters. Language: C.

Designed and developed a program to test our Davinci System-On-Chip based systems Accuview systems. This automated tester runs under Linux and plugs into all connectors to assure that all inputs and outputs work within specified parameters. This tester uses a combination of custom hardware and the miniLAB 1008. Language: C++ and QT.

Created a customized Linux kernel and file system for the Davinci System-On-Chip Processor with custom drivers. One driver is used to provide a heartbeat for an LED. The other extended the serial port driver to handle another serial port. The kernel and file system are used in our Accuview product line. Designed and developed a method to allow our legacy product, Accuview, to be moved from Windows CE.Net to MontaVista Linux. The design allows the developers to use Linux Tools (like KDevelop) on their desktop machines for eventual deployment on an ARM Based device (Texas Instruments Davinci). Developed a “middleware” layer that insulates the application code from the actual display framework. This allows us to deploy to other devices in the future and other display frameworks. Language and Tools: C++, MontaVista Linux, DirectFB, wxWidgets

Developed software application in C++ for a product to replace a legacy LED display (these are the type use in call/help centers). The application is an embedded system that communicates via RS-485 or Eth- ernet or both (in a master/slave configuration). Worked closely with the developer of the VHDL to make sure the IDE interface was appropriate for the product. Page 2

Revised Mar 2017

Designed and developed in-house, script driven software to simulate up to 1000 users on a Linux system to test the Dashboard product. Language: C++ to interface to a C# system. Designed and developed software on Linux to use multicasting to locate Accuview units and report their IP as well as set their IP. Language: C++.

Designed and developed software on Linux to use broadcasting to locate and configure a Lantronix serial to ethernet converter. Language: C++

Developed software for an expansion board for the Acclaro product using the Microchip 18F4450. This used USB and a proprietary communications protocol on top of USB to add additional digital I/O to a Single Board Computer (SBC). Developed a USB boot loader to allow updates to the microprocessor code. Designed the PLD (Programmable Logic Device) to implement addressable I/O for the Microchip to expand the number of ports. Language: C, some assembly and Quartus II Web Edition. Developed software for a proprietary Loop Board to handle loop inputs commonly used in fast food drive-through. By detecting the shift in frequency in the output from the oscillator was able to determine when a vehicle was over the loop and when it was not, as well as error conditions. Software has self-cor- rection built in to help avoid false positives as well as false negatives. Language: C and some assembly. Developed software Drive Through Timer for our new Acclaro product which uses Microchip PIC 18F4431 processor. This is used for timing as well as using the A/D to modify the intensity of the display using Pulse Width Modulation. Language: C and some assembly. Developed software for the Autoswitch II using the Rabbit Processor (a modified 64180 ). Using the compiler developed by Softools as well as their RTOS. Designed and tested the code for the PLD (Pro- grammable Logic Device) used in the system. By using a PLD (Programmable Logic Device) we saved time and money in developing the software and hardware. Language: C and some assembly. Developed software for the Drive Through Timer for our new Acclaro product which uses Microchip PIC 18F4431 processor. This is used for timing as well as using the A/D to modify the intensity of the display using Pulse Width Modulation.

Developed software for Cinema Display for use in movie theaters. It consists of a Microchip PIC 18F8720 for the master controller and a PIC 18F4431 series processor used to drive up to 64 5x7 LED characters. Use of PWM gives it the ability to dim the display as well as flash it. Wrote a RS-485 boot loader to allow updates to the master controller. Language: C and some assembly. Maintained firmware for Environmental Control board used to monitor temperatures and control fans in the Accuview line. This entailed the use of a Phillips 8051 microprocessor. Language: C. Apr 1998 - Oct 2000 Wayne Division of Dresser Equipment Group, Austin, Texas Principal Engineer - As part of a special projects group, I was tasked with jobs that ranged from proof-of-con- cept to rolled out products.

Modified the Demo TRAC and PosiTRAC to work with a Japanese Point of Sale. This system used a crude method of encryption to assure that no credit card information existed on either the hard drive or in communications as plain-text. This required a modification of the PosiTRAC firmware. Also incorporated a VxD (virtual driver) to listen in on the Japanese POS's communications to the pumps to know when a transaction had started or was completed.

Page 3

Revised Mar 2017

Designed and developed PosiTRAC, a handheld only solution for the Wayne TRAC ® family (as seen in the Exxon Speedpass system). This allowed users of the transponders to not only buy gasoline with RFID transponders, but also other items as well.

Redesigned the back end of the Wayne TRAC ® Controller firmware to work with the Micron RFID con- troller. Took the lead to assure in the initial development that the host interface was not dependent on the RFID controller. As such, the only portion of the code that had to change was the state machine that ran the RFID controller.

Designed and developed a program to drive the CAT (user interface at the pump) in much the same way as the POS would. This program makes uses of scripts to drive the CAT as well as a credit card simulator. The credit card simulator plugs into the CAT and simulates the signals that would occur if a credit card were being swiped. By doing this, the program can simulate the credit card and see if the CAT reports the correct credit card information. If it does not, the system stops and alerts the user of the fact. The base script was designed to simulate the Nucleus POS, however, with modification this program could be used to simulate any POS communication to the CAT. This program is currently being looked at for future automatic testing in our product verification group. Developed using Visual C++ environment. Oct 1993 - Apr 1998 Canna Software Development, Elgin, Texas President - Started Canna Software Development to provide contracting services. Wayne Division of Dresser Industries

Designed and developed the Demo TRAC, a system utilizing a PC running Windows 95, that maintained a database of transponders and credit cards. It allowed potential customers of Wayne TRAC ® to test it without modifying their Point of Sales system. Designed and developed the Wayne TRAC ® Controller firmware. This system controlled mul- tiple DCBs (Digital Control Board) and only notifies the POS when a change occurs. This software reduces the number of changes required to implement Wayne TRAC ®. Created several Windows 95 programs for Phase II of the Mobil roll out, including the DCB simulator. This simulated a DCB’s response to commands allowing Texas Instruments to test the DCB. These were developed using Visual C++ environment. Designed and developed firmware for Phase I of the Mobil roll out. This firmware allowed the Point of Sales system to read handheld transponders. Platform: CAT Board (8051 micropro- cessor) Language: C.

Did extensive modifications to firmware for the TIRIS system to allow it to communicate cor- rectly to Wayne hosts. Suggested and developed a method of system synchronization. Modified firmware to allow for realtime data collection to analyze real world system performance. Plat- form: PC, T.I. TIRIS (8051 microprocessor) Language: C & 8051 Assembly Completely redesigned pump simulator hardware and software resulting in a simulator that would work with all pump designs.

Designed and developed software to monitor and log data for gasoline pumps and replay this data to simulate gasoline pumps for Point of Sale software development. Platform: PC, Timer/ Counter card Language: C & 80386 Assembly

Kaizen Institute of America

Designed and developed two in-house software products, WorkBookMaker and SlideBook- Maker. WorkBookMaker was designed to integrate Persuasion and PageMaker to allow the user to more easily create slide workbooks. Platform: Macintosh Language: C++ SlideBookMaker was a software product that interacts with Persuasion to create a slide data- base. This allowed Kaizen to easily customize their slide presentations. Platform: Macintosh Language: C++ Database: GNU gdbm

Page 4

Revised Mar 2017

Apr 1992 - Oct 1993 Arrowsmith Technologies Incorporated, Austin, Texas Senior Software Engineer - Designed and implemented FLEETCON-Cable, a dispatch, routing, and position management system utilizing Global Position Satellite (GPS) technology, network- ing, and digital radio communications. Instrumental in leading the initial design team and devel- oping the functional specifications for the Graphical User Interface (GUI). Developed software using MS-Windows 3.1, Raima DBMS, and Etak map API. Platform: PC Language: C Nov 1991 - Apr 1992 Independent Software Developer Developed Macintosh tools and applications for software management, maintenance and design. Platform: Macintosh Language: C

Dec 1989 - Nov 1991 Eaton, Semiconductor Equipment Division, Austin, Texas Engineer III - Designed and wrote software for the Track System 10 robotic semiconductor litho- graphy equipment. Software included a real-time multitasking operating system, motion control, temperature control and ARCNET network communications routines. Developed the specifica- tion for the intermodule network communications protocol. Assisted in the design and debugging of the module electronic hardware. Platform: PC, Embedded 68HC11 Language: C, 68HC11 Dec 1985 - Dec 1989 Martin-Decker, Cedar Park, Texas Project Engineer - Wrote real-time software for LoadWatch, a crane load monitoring system. Wrote a proprietary real-time multitasking operating system, OS-51, for the 8031 family of mi- croprocessors. Assisted in redesign of LoadWatch electronics. Wrote a proprietary windowing software package for IBM-PC compatibles using C. Was instrumental in developing the in-house software documentation standard. Co-wrote well monitoring and logging software. Platform: PC, Embedded 8051 Language: C, 8051

Oct 1983 - Dec 1985 BancTec Inc., Dallas, Texas

Software Engineer - Co-wrote financial document processing software using an embedded IBM- PC to control a document transport via RS-232 serial links. Application software was written entirely in C; video/keyboard device drivers were written in 8086 assembly language. Taught a two day in-house course on C. Platform: PC, Perkin-Elmer Language: C, 8086, Perkin-Elmer CAL

Jan 1982 - Oct 1983 Percom Data, Dallas, Texas

Project Engineer - Developed the necessary drivers to interface hard drives and high density disk drives to personal computers such as the Apple II and the TRS-80. Designed the hardware and software specifications for a combination disk drive/printer port for Atari computers. Managed the day-to-day activities of a hardware technician and a software technician. Wrote a hard drive backup program for the IBM-PC. Platform: PC, Apple II, Tandy TRS-80 Atari Language: C, BASIC, 6800, 6809, 9900, 6502

Dec 1981 - Feb 1982 Hunnicutt Digital Electronics, Fort Worth, Texas Consultant - Wrote real-time software for a programmable rate and/or total meter using an 8748 microprocessor. Specification required the design of a fixed point math packageas well as the ability to accept input pulses as high as 14 kHz. Platform: CP/M Embedded 8748 Language: 8748

Apr 1981 - Nov 1981 M & S Microsystems Consulting, Fort Worth, Texas Programmer - Designed and implemented programs specified by clients of the company. Some of these projects were:

• CP/M based intelligent TWX teleprinter for Canadian Bell written in Z-80 assembly

• database system used in a fuel delivery system for government vehicles

• firmware used to control an ink-jet printer

PATENTS

Co-inventor of “Dispensing System and Method with Radio Frequency Customer Identification” patent #US7640185

Page 5

Revised Mar 2017

LANGUAGES

Objective C, Swift, C, C++, LISP, PL/I, Pascal, Bash, Awk, Perl, Node.js ASSEMBLY LANGUAGES

T.I. Davinci, Microchip 24 series, Microchip 18 series. ARM, Motorola 680x0 series, 6809, 68HC11, 6800. Intel 8086, 80286, 80386, 8080, 8051, 8748. Zilog Z–80. Texas Instruments 9900, 990/10. RCA 65C02

OPERATING SYSTEMS

Linux (various flavors), Mac O/S X, iOS, Windows, VRTX, Unix, CP/M, OS-360/HASP, TI DX10

EDUCATION

B.S. in Computer Science, Cum Laude, University of North Texas INTERESTS:

Developing software on the Linux, Macintosh and iPhone. Developed open source project named Black Raccoon (https://github.com/lloydsargent/BlackRaccoon). REFERENCES

Available upon request.

Page 6



Contact this candidate