Sr, Embedded Engineer
Two aspects to this particular project. One was writing a Visual Studio Console app to interface to a "GridConnect" CAN bus device and the other was code written on a Stellaris device to communicate with said Console App. The result enabled the generic application located on the ARM7 (D96) was able to have its boot code updated in the field at the customer site, rather than having to return the entire unit to the factory for a software upgrade. Code was all written in 'C'
- Implementing and porting J1939/ISO11873 vehicle applications into a QT environment. Requirements involve application interface to CAN communications and QT.
- Using a Freescale IMX31 processor with a Green Hills RTOS, I implemented Touch Screen and Real Time Clock drivers for a mobil radio product. The drivers were implemented over a SPI bus to an MC13783 multi-function device.
- Provided the complete software package for a DC-DC Boost Converter. The unit was spec'ed to operate nominally at 350v and 400a. In addition, full CAN communications was implemented for user control of the Converter.
- Architected, designed and implemented a multi-tasking Laser based product on an Analog Devices BlackFin 533 DSP. Though the client implemented specific algorithms for proprietary elements of the product, I provided the system, complete with an embedded RTOS environment, flash-file system, communications, data acquisition and closed-loop control of the laser itself.
- Proprietary 8051 based system that provides liquid measurement at a remote customer site. The 8051 system performs on-site measurement of the liquid properties and executes a proprietary set of algorithms in order to acquire the data that the customer desires. This information is then transmitted serially over a radio link to a laptop for a more detailed analysis of the data and plotted in Excel. I wrote the 8051 control and command code, developed the command structure for communication; then wrote the Win32 Console application on the laptop that received the 8051's data. Finally, the received data was formatted for importation in to Excel format
- Complete 'bring-up' of a TMS-2812 board design. Initialized all device (serial, GPIO, event manager, clock, counters, etc). Provided PWM to provide closed-loop control over a DC brushless motor and associated fault management. Implemented full ADC support. Provided thermistor API points also implemented using the Steinhart-Hart algorithm. Provided SPI API calls for users to interface to various SPI-type devices on the system. Motor control algorithms implemented as PID with fixed-point and floating math support libraries. Code written in assembler and 'C'
- Power-up diagnostics for the TMX320C6713 DSP. Though this did not involve intensive digital signaling algorithms, it did involve bringing this new board and it supports hardware to life and support a DSP/BIOS driver for an 8 channel UART device on this board. Code written in assembler and 'C' and 'C++'.
- Firmware maintenance/enhancement for a 3-phase, 480VAC UPS system. Functions involved porting existing code base from an earlier product to the new hardware, add functionality, debug and test. Some CAN bus implementation. Code written in assembler and 'C'.
- Application enhancement to firmware that utilized modems to communicate remote unit statistics and operational status to a central database application. Code written in 'C'