Accomplished Senior Software Engineer at Harman International, specializing in C/C++ and embedded systems. Developed robust unit tests and innovative features for car audio amplifiers. Proven ability in software debugging and requirements analysis, demonstrating strong problem-solving skills.
Project: Car Audio Amplifier
Description:
This car audio amplifier supports multiple channel configurations, ranging from 8 to 32 channels. The head unit transmits audio data via the A2B bus to the Jacinto SoC, and Power ICs. Upon receiving the data, the Power IC collects and routes it to the DSP for processing. Once processing is complete, the audio is output through the configured channels. Additionally, other control signals are transmitted to the MCU via CAN, enabling communication with the head unit, as per the system design. My role primarily focused on development within the Jacinto SoC as a C++ developer.
Responsibility:
• Implemented various signals required for communication with the MCU (RH850) via SPI protocol.
• Developed multiple features (RNC, EVSE/ESE) in XML configurations, and integrated them into the Jacinto codebase to enable, disable, or read sensor values.
• Designed and implemented unit test cases for production software using the Google Unit Test Framework (GTest).
Project 1: Bluetooth Low Energy (BLE)
Description:
Developed a Bluetooth Low Energy (BLE) solution to establish communication between a mobile phone (Server) and a remote device (Client) called MPOS. The product is Bluetooth SIG qualified.
Responsibilities:
• Implemented the HCI layer and GATT services for BLE.
• Managed event handling and response processing to establish seamless communication.
Project 2: Mobile Point of Sale (MPOS)
Description:
Developed an advanced MPOS (Mobile Point of Sale) system featuring NFC, Bluetooth, and capacitive touch for key entry, utilizing a TI controller. The GPRS-enabled MPOS functions as a standalone payment device, eliminating the need for a mobile phone. The MPOS, when integrated with NFC, acts as an NFC card reader using load modulation. Additionally, I designed and implemented device drivers for EEPROM using SPI communication.
Responsibilities:
• Implemented Deep Sleep mode and Wake-up via UART.
• Developed the BLE application for communication.
• Conducted software/hardware debugging and code integration.
Project 3: Magnetic Stripe Reader (MSR)
Description:
Magnetic Stripe Card (MSR) reader, which reads data from magnetic poles when a card is swiped. The magnetic head captures data and sends it to the MCU in binary format. The MCU decodes the data and transmits a consolidated array to the Host Controller, which determines whether the swipe is valid for the transaction.
Responsibilities:
• Played a key role in processing and decoding debit/credit card data into a readable format for transaction validation.