Introduction

Developed the Local Craft Terminal application to perform automatic Commission, Provision and Diagnostic operations on the battery charging to military devices using the Android/Java to interface and interoperate with the Firmware/C via USB and Javolution (Java to C Parser and Formatter).

Project Team

  • Duration ~2-3 months
  • 1 x System Architect
    • Document requirements and specifications
    • Provide guidance to Firmware Developers and Testers
  • 2 x Senior Firmware Engineer was responsible
    • Developed firmware for the digital meter using CoAP/LwM2M/IPSO
    • Developed firmware for interface with the android
  • 1 x Senior Software Engineer was responsible for the Proof of Concept release
    • Set up the Development Environment for USB using Android Phone with 6 ports or 8 ports Battery Management devices
    • Set up the Development Environment to work with raw USB device to charge and possible process data at USB Type 3/10 Mbps.
    • Set up the Development Environment for the Android to interface with the Firmware using Javolution (open source used to format the Java to C/CPP and parse C/CPP to Java)
    • Set up the Development Environment for the Android to engineer with
      • Internationalisation with Locale support - UI strings, info/warns/error codes and messages are stored to values/strings
      • Android update to date structure and releases to support the Android X components
      • Android to use GreenRobot EventBus to asynchronously send events between Android Components and USB
    • The User Interface and Usability was engineered with the knowledge when I worked at the Telecom Research Lab to engineer simple UI and deterministic usability to allow soldier on the field to operate on 5-6 inch screen, hostile environment
    • Work with the Firmware Team to develop the android/client side protocol to transport the model for local craft terminal application the battery meter firmware.

Technologies & Development Environments

  • Android
  • USB
    • Simple serial technique with serial port configuration
    • Raw USB technique to allow maximum speed: this part of the project is a research into USB and Android
      • USB 1.0/Low-Speed: 1.5 Megabits per second (Mbps)
      • USB 1.1/Full-Speed: 12 Mbps.
      • USB 2.0/Hi-Speed: 480 Mbps.
      • USB 3.0/SuperSpeed: 5 Gbps.
      • USB 3.1/SuperSpeed: 10 Gbps.
  • Parse and Format C/CPP/Firmware/Hardware to and from Java/Android/Samsung Phone and Sony Phone
  • Release 1: I spent about 12 weeks to develop the PoC. The most difficult components were:
    • DevEnv01- Javolution to format and parse message that both Android LCT Application and Firmware can work together
    • DevEnv02- the USB interface that can support raw USB characteristics and work with C/CPP libusb implemented at the Firmware - please note that the knowledge is not document anywhere in the android.
    • DevEnv03- User Interface workflow to allow the solider to deterministic control the battery meters with glove and military environment.
    • DevEnv04- Engineer the Android Application with International/Locale for all string, Info/Warn/Error messages