OTL offer a range of software development services for embedded systems ranging from the smallest single processor module to large multi-processor network distributed systems. Services range across the entire software development lifecycle and can include: requirement capture and specification, design, development, validation & verification, testing, project management, and documentation at all levels as required.
Examples of types of software developed include:
Single board system firmware - as embedded within a particular piece of equipment such as a programmable microwave cooker timer, an industrial plant controller or a data logger. Such systems may incorporate analogue and/or digital IO, a user interface of some kind (e.g. keypad & LCD display), and inter system communications (e.g. RS232, RS422, USB, CAN bus, Ethernet).
Digital Signal Processing software - as embedded within an instrument where signals are generated and analysed on line.
PC (Personal Computer) application software - either as a stand-alone system or as part of a larger system.
Applications will generally run on MS-Windows or Linux and may provide a graphical user interface for configuring and/or controlling internal or network accessed devices.
Internet software - allowing inter-module communication, module-server/database communication, and http type web services. Technologies supported include Dial-up PPP, ADSL and GPRS.
OTL will implement software using the most appropriate language or method for the particular task in hand. Most of our code is written in C and C++, however examples of other languages used include Java, Matlab, Python, Pascal, Assembly, Excel(macros) and OpenOffice(macros). Regardless of the language used, our software designs generally take an object oriented (OO) approach.