Motorola Set-top Box Development

2007-2009 — Motorola, Inc.

Introduction

I contracted with Motorola as a set-top developer starting in April, 2007. They were looking for proficiency in C and C++, and a working knowledge of digital video and networking concepts.

History (reverse chronology)

Worked with the test group to increase test coverage on the hardware abstraction layer tests for the DVR.

Worked on several SNMP bug fixes, and implementations for new objects.

Moved to the OCAP group. OCAP is a CableLabs standard that hosts java applications for set-top boxes. I designed and implemented the thermal management system which monitors temperature and other parameters from hard drives (both internal and external), fans, and platform thermometers. The system manages the monitored devices through state machines and logic, posts status messages to clients, and accepts commands from clients. For the hard drives, useful SMART data is also collected and analyzed. I engineered a small change to the Linux IDE driver to allow the thermal management user code to execute the driver’s suspend and resume modes for power savings. I created detailed design documentation with UML sequence, state and class diagrams.

Started working on features and bug fixes on the C/C++ “thin client” implementation. Fixed bugs in the MOCA networking code which supports playing DVR content across settop boxes. Also added features to the basic DVR application to support multiple client boxes in a MOCA network.

Technologies

  • Embedded Linux (BusyBox)
  • SNMP / MIB
  • Rational Rose / UML
  • Red Hat Linux
  • SlickEdit
  • Embedded C/C++
  • ATA / SMART
  • Rational ClearCase / SCM
  • CodeWarrior