Calsoft Labs Case Studies
Product Development

Calsoft Labs is a leading technology partner for companies, helping them develop new products and modernize existing ones using emerging technologies. more

Printer Firmware Framework


This case study highlights Calsoft Labs' expertise in the development of a portable, printer firmware framework solution with multiple commands set emulation.

Challenge

Typical portable barcode and receipt printers have home grown proprietary command sets, whereas Calsoft was looking for a Printer Framework solution that has compatible modular and highly portable ZPLII command set, which will meet customer's performance specifications.

Calsoft wanted a hardware & OS independent firmware solution. Such a solution can be tested & verified on a reference platform and at the same time, it can be ported to new OS or CPU platform at a very little incremental cost (< 30% of the original development cost)

Solution

Modular and portable applications can be developed for POSIX compliant OS. Some RTOS provides this compliance but portability is still an issue to be resolved. POSIX does not address hardware related issues such as low level driver's portability.

Wrapper layers or Abstraction layers are commonly used in design to hide the internals of the system and expose only required boundaries to the external world.

The Calsoft team adopted a similar concept both at the OS and Hardware layers by suggesting an OS and CPU platform free development scenario. The Calsoft team began by developing an OSAL and HAL architecture approach with Linux and ARM9 platform. The Modular application had to be tested and verified on this platform.

The implementation involved developing OSAL and HAL layers. The printer firmware application was made modular and highly portable by using well defined abstracted calls to both OS and Hardware layers.

Printer firmware framework for receipt and label printer markets developed is a completely OS & Hardware independent architecture based. It has modular Bar code & Font Engines and currently supports over 28 Bar code types including Linear & 2D types with more than 120 commands from ZPLII & EM 200 commands sets. This printer firmware framework is proven on a Linux 2.6.2x as the base kernel with ARM9 CPU platform. It has been tested for performance & functionality using 2 to 4" thermal printer mechanisms like SPPR200 & SRP770 with ZPLII & SPPR200 command sets emulation with print speeds of up to 310mm/S. Below are some of the key benefits of our printer firmware framework solution:

The main features of the solution are:

  • ZPLII command Emulation
  • Barcode and label Printing
  • EM 200 command Emulation
  • Head profile algorithm code developed for best of speed and performance
  • Easily portable to any new RTOS environment such as VxWorks, Integrity, QNX etc.
  • Easily portable to any new CPU / MCU platform of choice with very minimal engineering efforts
  • Good support for addition of new command sets and/or adaptations to any new command sets

Technology and Resources

  • OS: LINUX (used for test and validation of Firmware)
  • Hardware Setup: AT91SAM9G20 Evaluation Kit, Zebra reference printers, Barcode scanners
  • Tools: Reference printers, Scanners.
  • Testing Effort: Functionality and Limited Performance
  • Testing Automation: ~ 20%
  • Language/Skills used for automation: C
  • Thermal print head mechanisms: KF 2002-GF94E and KF2002-GD45B
  • Tools: 9G20 Evaluation Platform, Print drive mechanism, Linux development Environment
  • Development Time line: 10 Calendar months with 36 Engineers

Benefits

Calsoft Labs' Printer Firmware provides:

  • Portability to any RTOS / OS
  • Portable to any MCU platform / Not tied to a single hardware platform
  • Device support – External Bluetooth, WLAN support.USB port support to Host.
  • Performance - 300mm/S print speed, 4 inch width, 203 dpi