Services / Firmware & Mobile Development
Due to customizability and ergonomics connected with optimization capabilities - realized by reducing the size and cost of the product, or increasing the reliability and performance - embedded and mobile devices become more and more popular. We are proud of our long experience in designing, creating, and maintaining applications for these platforms.
Embedded systems are designed to perform some specific task, rather than be a general-purpose computer for multiple tasks. Some also have real-time performance constraints (RTOS) that must be met, for reasons such as safety and usability; others may have low or no performance requirements, allowing the system hardware to be simplified to reduce costs.
Firmware for embedded devices is a special branch of programming imposing restrictions on the size, the design and software speed of operation (real time programming, driver development, signal processing, platform specific OS development). We treat these requirements as a challenge rather than an obstacle in creating fast, reliable and at the same time effective firmware/software.
Firmware for Medical Devices
- Otoacoustic Emissions (OAE)
- Firmware for portable device for hearing screening tests (Distortion Product and Transient Otoacoustic Emissions) powered by DSP (Digital Signal Processing) processor from Analog Devices (ADSP-21xx).
- Comprehensive clinical system for hearing assessment - generating stimulation and collecting responses on DSP site, data analysis and visualization on PC. Communication between DSP/PC based upon RS232 and USB protocols.
- Auditory Evoked Potentials (AEP)
- Audiological system dedicated for automated hearing tests measuring Auditory Brainstem Response (ABR) - EEG collection/averaging done by DSP (Digital Signal Processing) device, data analysis and visualization, reports generation and storing results on the PC site.
- Entire clinical system dedicated for detecting tumors in hearing nerves and building audiograms - AEP, SABR, P300, CHAMP protocols.
- Electrocardiography (ECG)
- Communication between ECG device and PC system compliant with the EU EN 1064:2005+A1:2007 standard. The issue included creating USB and RS232 low level drivers on both: the ECG unit (Assembler/C) and PC (C++) sites, designing ECG firmware, business logic and high level protocol according to EN 1064 standard.
- Adding support for POCT protocol to existing ECG device.
Mass Transit Systems
- Bus Ticketing Systems
- Electronic Ticket Machine system dedicated for buses and trams. Device works under control of WinCE 5.0 and has inbuilt: Global Positioning System for automatic updating fare stages, ITSO Compliant Contactless Smart Card Reader (MIFARE - Classic, DESFire and Ultralight) with integral passenger display and card transaction lights, high-speed thermal graphics printer, the Wireless LAN device (802.11 Wi-Fi), GPRS as an alternative for Wireless LAN, Operator's color touch screen.
- Preparing BSP for the above Windows CE platform. A board support package (BSP) is software that implements and supports an operating system (OS) on a standard development board (SDB). Low level programming task including adjusting WinCE OS kernel to custom hardware platform, preparing drivers for non standard components and preparing final OS distribution (platform builder).
- Train Ticketing Systems
- Device (firmware) dedicated for managing and selling rail products: manipulating data using MIFARE cards (driver for cards' reader), printing tickets on Zebra portable printer (implementing low level radio communication protocol), communicating with PC using IrDA.
- Preparing BSP for the above Windows CE platform.
- Power Quality Assessment System
- Porting device firmware from Siemens SAB80C166M to ARM9 (low level, assembler programming).
- Adding advanced, FFT based, power quality analysis (digital signal processing in a real time environment).
- Developing USB driver on firmware site. Adding support for USB communication with PC station to main device application.
- ASIC based communicator for measurement systems
- USB Host driver for dedicated ASIC controller capable to manage and communicate with custom devices of CDC class (custom protocol over CDC). ASIC controller by Atmel based on ARM7 (AT91SAM7XC256) or ARM9 (AT91SAM9260) architecture.
- USB Host controller compliant with Open HCI specification 1.0a.
- Stack of USB drivers correctly handling attaching of any USB device.
General Embedded - firmware components developed for complex systems
- RTOS Core
- Bespoke, real time operating systems created for custom platforms
- Memory Management
- Power Management
- Managing energy consumption
- Controlling battery charging process
- Communication drivers
- USB: drivers for devices of various kinds (HID, CDC, Mass Storage), dedicated and OHCI specified controllers realized for wide range of hardware
- Low level drivers for alphanumerical, graphical and touch panels
- Library of PC style controls for embedded LCD (windows, edit boxes, list boxes, buttons, etc.)
- Support for casing buttons
- Drivers providing support for wide range of thermal, text and graphic printers (generating multi-font and graphic printouts)
- A/D and D/A
- Codec management (AC97 compliant)
- Amplifboard management (analog high pass filter/low pass filter/notch filter/FIR filter)
- Stimuli generation – building pattern and generating stimulation
- Digital signals acquisition
- Data processing - filtering, averaging and analyzing (Power Quality Assessment, Hearing Assessment, Tumors detection, low frequency EEG)
- Hearing Screening System
- Hearing screening system consisting of set of Pocket PC modules (working under Windows Mobile OS control) and DSP device. EEG collection/averaging is performed on DSP device, data analysis, reports generation and storing results in done on Pocket PC site. Pocket PC – DSP communication realized by RS232.
- Remote access to HIS (Hospital Information System) data
- Application allowing remote access and manipulations on data stored in HIS (Hospital Information system). Data is available from any place being in range of GSM network or local WiFi access point. The system is dedicated for mobile phones, Smartphones and PDAs.
- Misc tools
- Digital database of recipes and drinks including advances ingredients’ editor, support for substitutes, shopping lists generation and querying for available recipes based upon refrigeration’s contents.
- Sudoku for Symbian OS.
- Sudoku for Android OS.
Software and hardware components designed and developed for complex Mobile systems
- Pocket PC – DSP Integrated Platform
- Designing and developing modular hardware solution, dedicated for signal processing systems, utilizing both PDA and DSP platforms to achieve multiplatform synergy. DSP is responsible for performing pure data (signal) processing related functionalities only. All other functionalities are realized by Pocket PC. Modular design results in easy upgrade of each subsystem, independency of Pocket PC and DSP vendors and models, quick, low cost new technologies adoption (utilizing existing and future advanced graphical user interfaces only by updating the version of the Win CE operating system). PDA - DSP communication realized by SPI.
- Creating low level Windows CE (Mobile) SPI drivers.
- Preparing BSP including kernel adjusted to the platform needs and drivers for custom hardware (SPI interface).