MapleLeaf Client Projects
This customer had deployed a system that was used to monitor washing machine resource usage and needed help in stabilizing the system that had deployed at about 100 sites. Because several aspects of the system were buggy, the product was unreliable. Best practices were absent from the development cycle in everything from system requirements through version control making it difficult to understand how the system was supposed to work vs what had been deployed.
The initial task was to build a system monitor that detected various failures in the system and corrected the problem as simply as possible to keep the systems operational. Following that a full redesign of the system was launched starting with the development of system requirements and then software design specifications and finally implementation and testing. This was all targeted for a system based on an NXP i.MX6 processor.
Helped develop a product that was an add-on to the customers existing product line of cell analysis systems. The new product was based on the i.MX6 microprocessor from NXP. The board design closely followed that of the Nitrogen6x making that platform an ideal reference board to get project development started. MapleLeaf setup the development environment including the toolchain, version control system, bootloader, kernel and build configuration. In addition MapleLeaf setup the configuration for developing a Qt-based Graphical User Interface using GStreamer to stream video from camera to display for both live video as well as snapshot capture that are then fed into image processing algorithms.
Using the reference platform MapleLeaf validated various components chosen for the project including the camera, touchscreen and display while the custom board was under development. Once prototype boards were available MapleLeaf brought up the custom board starting with DDR configuration and calibration, bootloader and kernel boot and then integrated drivers for the various subsystems to bring the board to a fully functional state. Board subsystems that were addressed included DDR, SPI NOR Flash, SD Card, SATA drive, GPIO configuration, Display and touchscreen, USB (Host and OTG), Camera, LED and CPLD control.
This customer had an existing system capable of monitoring WiFi environments and needed help to automate some of the more complex WiFi authentication schemes. MapleLeaf enhanced their system to automate certificate enrollment and retrieval support for EAP-TLS authentication. The automation was implemented using SCEP in conjunction with Microsoft’s Network Device Enrollment Service (NDES). This implementation involved the design of an agent responsible for interacting between a Microsoft Server and the customer system to facilitate private key generation, certificate signing request, CA retrieval and certificate enrollment and then passing this information back to the customer system. The Java-based server and UI also required enhancements to support this functionality. Additionally the agent was responsible for monitor the CA and client certificates to perform automatic renewal as the certificates neared expiration.
This customer had an existing custom board that had a micro-controller communicating via UART to a micro-processor UART but the communication path was too slow for the system. The alternative was to use a SPI bus connection that also existed between the two processors. The unusual part of this project was that the micro-controller was to be the SPI master and the micro-processor, running Linux, was to be the SPI slave, something not supported by the mainstream Linux kernel.
MapleLeaf designed and developed Linux SPI slave driver support and integrated that support with the existing application. The micro-processor used was a TI OMAP and the micro-controller a Cypress part.
Los Angeles, CA
MapleLeaf performed a full range of development for a Linux-based hotel access system. Development included custom board bring-up of an AM335x-based board using the u-boot bootloader booting into the Linux operating system. Development started with setting up a development environment using the Angstrom software reference platform as a basis to setup the bootloader, Linux kernel and root filesystem and then version control was setup for this software along with an application framework into a git repository.
All software was verified on a BeagleBone Black AM335x-based reference platform. Once the basic configuration was in place a Qt framework was added along with GStreamer support to provide streaming capabilities from camera to display. We developed an application framework that was responsible for secure server interaction over a TCP connection, a database to store configuration data as sent by the server, a process to establish a WiFi connection and monitor that connection, a process to manage Bluetooth LE connections and process room access requests and a Qt-based user interface to route camera data to the display and process QR codes to allow room access.
Once prototype boards were available MapleLeaf brought up the custom board starting with DDR configuration and calibration, bootloader and kernel boot and then integrated drivers for the various subsystems to bring the board to a fully functional state. Board subsystems that were addressed included DDR, SPI NOR Flash, SD Card, GPIO configuration, Display and touchscreen, USB (Host and OTG), Camera and LED control.
MapleLeaf performed a board bring-up for a custom board used in a unique wine dispenser product. The custom board was based on an AM335x processor using the u-boot bootloader to boot the board into the Linux operating system. We also developed display and touchscreen drivers for the system.
MapleLeaf performed a board bring-up for a custom board used in a Cellular to WiFi bridge networking product. The custom board was based on a Freescale QorIQ-based processorusing the u-boot bootloader to boot the board into the Linux operating system.
MapleLeaf was involved in various aspects of development of an urban bicycle rental system. All development focused the Kiosk software that used a Freescale i.MX51 processor and the Linux operating system. Development included payment processing for credit card transactions (both magnetic stripe and Chip-and-PIN) and Paypass payment methods, system upgrade, 3G modem support, GPS data collection and consulting on system architecture.
Following this initial work the customer solicited additional support as they were not able to deploy a large system in New York City due to instability of the core portion of the Kiosk software. MapleLeaf stepped in to perform troubleshooting and stabilization of all aspects of the Kiosk software but primarily in a Lua implementation of the user interface and supporting software for bicycle rental processing.
Ann Arbor, MI
MapleLeaf performed a board bring-up for a custom board used as a general purpose platform for a variety of customers. The custom board was based on a Freescale PowerPC MPC8641 processor using the u-boot bootloader to boot the board into the Linux operating system.
MapleLeaf performed a board bring-up for a custom board used as to control a printer product. The custom board was based on a Freescale i.MX31 ARM11 processor using the Redboot bootloader to boot the board into the Linux operating system.
MapleLeaf was initially hired to develop a SPI communications scheme between a Freescale i.MX31 and a Freescale i.MX27 processor, both processors located on the same custom board used in a telepresence robot.
Once completed MapleLeaf was asked to participate in general product development. We were involved in a wide variety of development and problem-solving including the development the 802.11 WiFi subsystem for the product that included a seamless roaming solution, integration of a Cellular modem as an alternative network connection, a secure communications scheme to support customers with sensitive applications and device drivers for a variety of the robot components.
MapleLeaf was initially hired to perform a board bring-up for a custom board used in a digital display product. The custom board was based on a Freescale i.MX31 ARM11 processor using the Redboot bootloader to boot the board into the Linux operating system. The engineering firm originally hired for this project, although they developed the custom board, did not have the expertise to bring the board up.
Once the custom board was operational it was discovered that the application software that had been developed did not meet customer expectations.
MapleLeaf was asked to lead the project and we did so using best practices to help the customer develop a set of system requirements for the product and followed that with software design specifications and then implementation and test.
MapleLeaf performed a board bring-up for a custom board used as daughter board for several of the chassis boards included in a complex cable telecommunications system. The custom board was based on a Freescale PowerPC 8548E processor using a custom bootloader that MapleLeaf developed to boot the board into the Enea OST Realtime Operating System. Worked with the hardware engineering team to develop the board support package for and integrate that package into the existing bootloader as well as the operational environment under the OSE RTOS. Once the board was operational MapleLeaf then integrated the board into 5 unique motherboard configurations to provide the processing support for the customers cable telephone switching system.
MapleLeaf performed a board bring-up for a custom board used in an 802.11 outdoor Access Point for the Army. The custom board was based on an AMD AU1550 (MIPS 4k core) processor using the u-boot bootloader to boot the board into the Linux Operating System.
In addition, MapleLeaf developed radio software used for implementing the outdoor wireless network. Based on the Atheros 5213 radio we integrated the Atheros reference design software into the configuration, verified all 802.11 features and then proceeded to address issues associated with outdoor operation of 802.11 networks. Radio testing performed in the 900 MHz, 2.4 GHz and 5 GHz frequency bands. Developed several applications to support various customer requirements including applications to determine network topology and network distribution of system configuration. Worked closely with the customer to define system requirements as well as for demonstration and acceptance test of this product. Also responsible for seeing the product through WiFi certification, FCC and ETSI certification and DFS certification.
MapleLeaf was hired to develop software to implement an algorithm used within the customers bootloader for signing operational images with a certificate to prevent loading of an unauthorized binary on their device.
MapleLeaf was hired to develop an application for the customers manufacturing facility to allow them to program various areas of flash using the BDI-2000 during the manufacturing of their system boards.