Confidential, Moorpark, CA
Embedded Software Engineer
- Enhancing Confidential ’s Pool and Spa Automation System using QT Creator as the Interactive Development Environment, C++ with QT add - ons for WebSocket communication and QT Meta Language QML for the Touch Panel GUI, D-Bus for Inter-Process Communication (IPC), GIT for source code control and Red Mine for issue resolutions.
- Designed, developed and completed the communication between the Control Panels running Real Time Linux on a TI ARM processor and the Web Server to update the Server with the Aquatic System Status such as Temperature, pH, Salinity, Pump and Filter and Water Purity and Chemical Levels.
- Designed and developed the end of assembly line quality control verification procedures where devices such as valve actuators, temperature sensors are attached to the control board to verify the states of the devices by monitoring the devices heartbeat messages that also contain various device states. The same process will also be used by the support team to resolve customer’s issues that may arise in the field.
- Facilitated wireless communications between control boards by selecting the optimum RF channel. The Received Signal Strength Indicator RSSI and Link Quality Indicator LQI from all the available channels are retrieved and analysed to determine the best channel to use.
Confidential, El Segundo, CA
- Integrated software updates into the Confidential central repository submitted by various Set Top Box Manufacturers.
- Created software releases targeted to different Set Top Boxes.
- Resolved build issues with different Set Top Box development groups.
Confidential, Calabasas, CA
Staff Firmware Engineer
- Ported, enhanced and maintained Virtual Machine VM systems running on a Single Board 11U Test Module cards running on Real Time Yocto 1.5 Linux OS. The development conforms to Agile Processes, Rallye/Kanban for Project Management, using Perforce for version control, QEMU virtualizer/emulator to manage the Virtual Machines, C++, Python and Linux Shell scripts development languages. The system is used to validate Network interface devices to test connectivity and speed reconciliation to measure traffic through-put.
- Enhanced and maintained time synchronization between virtual machines VM using NTP protocols. Time rates are maintained and modulated in the Virtual Machine’s dedicated FPGA register. A background daemon is maintained in the VM that send queries and receive updates to and from a common external Time Server. Access to the VM FPGA register is through the Linux Device Drivers.
- Worked with technical support team to resolve elevated customer issues. Customer Reports CR are analysed, debugged and resolved. Once the resolution is accepted by the customer, temporary Release patches are created together with temporary scripts that replaced targeted files so that the customer can immediately utilize the fix and not have to wait for next official release.
Confidential, Van Nuys, CA
- Ported from Matlab, enhanced and optimized Airborne Radar Detection, Plot Extraction and Track Maintenance algorithms to a platform independent code based using POSIX C that is DO-178 compliant. This core code base can be compiled using Windriver Workbench with VxWorks as the Real Time OS (RTOS) and downloaded to a 6U Single Board Computer (SBC) for White Box testing. The algorithms are used in Digital Receiver Simulator and Operational Flight Program (OFP) software. This same core code base can also be used as part of the Radar Performance Modeling (RPM) that runs on either Windows or Linux Operating Systems and is used to verify and validate the algorithms.
- Designed, developed and implemented the Built-In-Test (BIT) for the Land-Based Coastal Radar (LCR) system using C/C++, CUDD Colorado University Decision Diagram Package to implement traversing the binary fault tree, GNU perf to create a perfect hash function generator and Boost Spirit to parse Events to Fault equations and MySQL to archive history of events and faults. This application is downloaded onto a 6U VME Single Board Computer (SBC) running Real Time Linux.
- Designed, developed and implemented data acquisition procedures using WireShark Network Analyzer for the Operational Flight Program Software (OFP) and POSIX sockets to implement Inter Process Communication (IPC) in the Radar Performance Modeling (RPM) validation. The acquired data are mined and formatted using C/C++, MatLab/Octave and Excel to produce spreadsheets and graphs for data analysis.
- Designed, developed and implemented Scenario Injection process using Northrop Grumman Corporation’s (NGC) Multiple Aircraft Penetration and Engagement Simulation Package (MAPES) as a way to introduce data into the OFP and RPM. Inter Process Communications (IPC) between processes are accomplished using TCP/IP sockets. The input data consists of the Unmanned Aerial Vehicle (UAV) navigation data such as Latitude, Longitude and Altitude (LLA) Confidential 50 Hz, Maneuvers (Pitch, Roll, Yaw) and Intruder(s) positions and velocities in Earth-Centered Earth-Fixed (ECEF) coordinates Confidential 1 Hz.
- Designed and developed several Virtual Instruments (VIs) using National Instruments (NI) PXIe-Chassis and LabViews to diagnose hardware devices.
- Designed, developed and implemented Graphical User Interface (GUI) using National Instruments (NI) LabWindows to interface with the OFP and RPM.
- Designed, developed and implemented Graphical User Interface (GUI) using JAVA/Swing to interface with prototype test unit.
- Hosted the Sun Sparc Solaris 7 OS on an Intel x86 platform using VmWare running on Windows XP hosting Linux OS. The Open-Source Quick EMUlator (QEMU) was downloaded, configured and compiled in the hosted Linux OS to host the Sun Sparc Solaris 7 OS. WindowsXP VmWare LinuxOS QEMU Sun Sparc Solaris 7 OS
- Utilized Rational ClearCase for Software Configuration Management, Rational ClearQuest for Software Issue Management, Telelogic DOORS for Document Management and Doxygen for source code documentation.
- Enhanced Adobe FrameMaker by developing plug-ins to automate generation of Technical Documentation.
- Other tools utilized include Eclipse IDE, WindRiver WorkBench IDE (OFP), NetBeans IDE (RPM), Cygwin (BIT), Data Distribution Service (DDS), Doxygen, CPP Test, Bash Shell Script and Perl Script.
Senior Software/Embedded Engineer
- Designed, developed and implemented the communication interface between Set Top Boxes (STB) and the Video On Demand (VOD) servers (Contents Management, Session Resource Management and Video Pump).
- The content management server runs on Red Hat Enterprise Linux. STBs can be MC68000, MIPS32 or MIPS64 based processors.
- The embedded applications are developed using C language; Mentor Graphics compiler for Motorola 68000 processors, GNU compiler for MIPS32 processors and Metrowerks CodeWarrior IDE for MIPS64 processors. Server applications are written in C/C++, Perl Script, Shell Scripts and MySQL.
- Maintained and enhanced the emulator use to speed up the development of GUI (Graphical User Interface). The emulator is written in C++ using the Microsoft Visual C++.net.
Confidential, Sherman Oak, CA
Senior Software Engineer
- Enhanced the Apache Web Server running on Sun Solaris and Red Hat Linux Web Farm to gather network data and store to an Oracle Data Base.
- Designed, developed and implemented an in-house Mass Mailing Server.
- The user can request mailing through a Web Page and the request is stored in MySQL Data Base.
- The Server detects a request and generates an E-mail customized for the recipient.
- The projects uses C, C++, MySQL, Oracle, PRO-C, HTML, CVS, Java Script, Perl Script, TCP/IP Sockets, SMTP, and POSIX Multi-threaded functions.
Confidential, Northridge, CA
Consultant - Software Engineer
- Designed, developed, improved and maintained a Client/Server system in a Multi-Platform Environment.
- The system uses DataViews X-Designer as a CASE Tool to generate Microsoft Foundation Classes (MFC) C++ Code for the NT Platform.
- Using the same source code and supplementing a library to translate MFC functions to X-Windows/MOTIF functions, the same code can be compiled on SCO UNIX, Red Hat Linux and Sun Solaris platforms.
- Client/Server Inter Processs Communication (IPC) is implemented using TCP/IP Sockets, Shared Memory, and named and unnamed pipes. The system uses MS/SQL for NT and MySQL for the UNIX/Linux platforms.
- Improved and maintained real-time embedded firmware running on Motorola’s 68000
- Micro-processor using C and Assembly Language. Experienced in firmware debugging using logic protocol analyzer, ICE In-Circuit-Emulation debugging and simulation.
- Improved the software generation environment by implementing SCCS Source Code Control Systems.
- Overhaul the version release procedures to manage standard and customize software releases.
Confidential, Tarzana, CA
Embedded Software Engineer
- Developed embedded firmware to run on Motorola 68332 microprocessor using Real Time Operating
- System and C Language to modulate and control the Turbine Engine functions. The 68332 interfaces with DSP, serial and TCP/IP communications.
- The development environment was on an NT running RTOS IDE (Interactive Development Environment) and using Source Safe for version control management.
Confidential, Chatsworth, CA
- Headed a team of 4 Programmers in developing Pen Base Computing applications for the Confidential Industry using Penright SDK, Borland C/C++, Dbase IV.
- Developed the communication process for file transfer (upload/download) of data from the field unit to the central facility.
Confidential, Los Angeles, Ca
- Enabled the SUN SOLARIS asynchronous serial driver to pass the POSIX Compliant Test Suites
- Improved the serial driver performance by taking advantage of newer serial card features, such as I/O buffers.
- Enhanced the SOLARIS Bi-directional Parallel Port Driver to interface with Xircom Network Cards.
- Designed, developed and implemented Streams drivers as an interface between the X- Window Server and the different mouse device protocols (Serial, Bus and Keyboard).
- Maintained the Interactive VP/ix DOS emulator and improved the VP/ix file system redirector.
Confidential, Santa Monica, CA
Member of Technical Staff
- Improved the Interactive UNIX file system to achieve faster access and less block fragmentation by converting the link list of free blocks to a bit map of free blocks.
- Enabled the Interactive UNIX to be installed and booted from other than the-active partition.
- Supervised the porting of Interactive UNIX 386/ix product to the SCI 3000 (80386/MB1) Platform.
- Integrated and packaged the High Performance Disk Driver as an enhancement to the UNIX 386/ix product.
- Implemented POSIX compatibility and C2 security features to the UNIX 386/ix product.
- Implemented the enforcement of limited user license to the UNIX 386/ix product.
- Developed in-house tools to facilitate product generation.
Confidential, Santa Monica, CA
Member of Technical Staff
- Ported IBM's AIX/RT-PC utilities to the IBM 370, RS600, DEC Vaxes and 80386 PS/2.
- Implemented the System V.3 shared library features to AIX Operating System.