Technical Environment
Visual Studio 6.0, Visual C++, COM, Visual Basic 6.0, SQL Server 2000, XML, Cosmic Compiler, WinRiver Compiler, Motorola HC12 SIMS, PowerPC
A computer system with a dedicated function within a larger system or device.
Here is a sampling of projects we've successfully completed. If you need expertise with a specific, even obscure, technology, please let us know.
Visual Studio 6.0, Visual C++, COM, Visual Basic 6.0, SQL Server 2000, XML, Cosmic Compiler, WinRiver Compiler, Motorola HC12 SIMS, PowerPC
Emergency vehicles today have been outfitted with multiple pieces of electronic hardware which are mounted and attached in a variety of ways. A cluttered interior can be a dangerous environment for an emergency responder in the event of a collision, or may cause driver distraction that may endanger public safety. The purpose of this project was to relocate much of the hardware used in emergency vehicles into the trunk, control them through a single ruggedized PC control system, and consolidate the user presentation devices into a single touch panel monitor, a control pod and an optional head-up display. To reduce driver distraction, most commands were also available via voice control. The system integration also made it possible for an action on one piece of equipment to trigger an action on another—something that cannot be done in a non-integrated environment.
Stout’s team was involved in the initial system architecture. Subsequently it provided personnel to develop the user presentation layer, the custom configuration unit, the embedded systems, the device drivers and a testing unit.
The heart of the system was an embedded computer running a PowerPC processor, which allowed the system to start up within 1-2 seconds and could control events much more rapidly than a typical Windows-based operating system. The Windows computer functioned as a peripheral device to provide the primary user interface on the touch panel monitor and run other Windows applications. The system was designed so that it could function without the Windows computer (during start-up or in the event of a Windows Operating System failure).
The system controlled peripheral devices such as radios, scanners, repeaters, video devices, emergency lights, sirens, PA system. It had significant discrete IO capability for devices such as lights and sirens. HC12-based Serial Interface Modules (SIMS) were used to provide additional serial capability for more complex peripherals such as the traffic radar and radios. In some cases, Ethernet from the Windows computer was used to control devices.
The user interface included touch screen, voice commands and a control pod. The touch screen was ergonomically designed with large buttons suitable for use with gloved hands and large text suitable for viewing in a moving vehicle. Voice control allowed the user to switch between screens and run most commands. It was also used for such actions as license-plate look-ups, so that the officer could speak the license plate number rather than entering it via a keypad. The system also provided a COM-based interface for agency software to use when interacting with the system.
Separate, free-standing applications provided a configuration unit so that each vehicle could have a unique set-up (different radios, lights, sirens, etc.) and a testing unit.
Embedded, Visual C++, COM, Visual Basic, SQL Server, XML, Cosmic Compiler, WinRiver Compiler, Motorola HC12 SIM, PowerPC, Discrete IO, Ergonomics, Systems Integration, Voice Recognition, Head Up Display
QNX (embedded Linux), DBUS, ARM, GPS, Bluetooth, USB, PAN
This embedded system aggregates several user interface, network, and media technologies into a single human-machine-interface for infotainment. Members of our team contributed to the following areas of the project:
Development is done using SCRUM methodology.
Challenges: resource constrained embedded environment, compatibility with a large number of mobile phones, global development team.
SCRUM, embedded systems, Linux, ActionScript, FlashDevelop, JSON, HMI, C++, Eclipse, qdb, LUA, Java/LWUIT, navigation
Visual Studio 2005, C/C++, JavaScript, Windows CE, Windows XP, Windows Vista, Windows 7, eCOS, INtime RTOS
This product consists of an Integrated Development Environment, visual automation control language, and industrial controller run-times. The project highlights consisted of:
Visual Studio 2005, C/C++, JavaScript, Windows CE, Windows XP, Windows Vista, Windows 7, eCOS, INtime RTOS, TCP/IP, STL, MFC, COM, ATL, WTL, NIOS, Eclipse, Visual Logic Controller, Data Visualization
Windows CE 5.0, Symbol Handheld Device, SQL Server Compact Edition
Stout implemented a system for Symbol handheld devices running Windows CE 5.0 that allows our client, a clothing manufacturer, to provide a continuous replenishment system for its retail clients. Retailers maintain their inventory on the device and transmit replenishment orders back to the manufacturer automatically. At the retailer the system is entirely self-contained on the handheld device. A SQL Server Compact Edition database contains the retailer’s target and actual inventory level records. The retailer updates the inventory as merchandise is sold. At a specified interval, typically once daily, the retailer plugs the device into the docking station, which is connected to phone line, and the system replicates the information back to the manufacturer’s SQL server database.
Proof-of-concept, Windows CE, Symbol Handheld, SQL Server Compact Edition, Replication
Linux, TCP/IP, JSON, USB, Java, C/C++, 32-bit ARM-7 processor, ARM assembler, Microchip 18F family 8-bit processors
This product consists of an Integrated Development Environment, visual automation control language, and industrial controller run-times. The project highlights consisted of:
Linux, TCP/IP, USB, JSON, GNU g++ compiler, GDB debugger, PC-LINT, Boost, DMX, I2C Bus, Embedded 32-bit ARM-7 processor, ARM assembler, C/C++, GNU G++ Compiler, GDB, Insight, Microchip 18F family 8-bit processor, MPLAB IDE, CCS PCH C-Compiler
Linux, TCP/IP, JSON, USB, Java, C/C++, 32-bit ARM-7 processor, ARM assembler, Microchip 18F family 8-bit processors
A highly distributed system which will expand to support numerous features, thereby creating a single platform for future product releases.
1) An X86 single board computer with Linux running the GUI, event timing and data storage. This board communicates with the real-time controller board over USB. The architecture capitalizes on Linux’s facilities to partition major components into independent processes. Each process is multi-threaded. Two of the processes run in the background and provide show management, show timing and console communications. One process is the GUI. The communications between processes use the TCP/IP stack passing JSON formatted messages.
The Linux system is optimized for the embedded environment, providing process and thread scheduling, memory management, networking, X-Windows graphics support, file storage and peripheral drivers.
The development tools for the background processes are the GNU g++ compiler, GDB debugger with graphical interface, PC-LINT for static syntax checking and several third party libraries including Boost.
2) The real time controller board handles two RS-485 serial channels and communicates over an I2C bus with the front panel controls. The real time controller board firmware is built with a real-time operating system and includes multiple threads to manage the different communications channels. It uses proprietary drivers for the peripheral devices. The microcontroller unit is an embedded 32-bit ARM-7 processor. The firmware is written in C/C++ and ARM assembler.
The development environment uses the GNU g++ compiler, GDB and Insight graphical debugger and PC-LINT for static syntax checking.
3) Display and Fader Boards handle all user interfacing, inputting button presses and potentiometer levels, as well as outputting LED levels and display text. These boards use Microchip 18F family 8-bit processors.
The firmware is written in C. The development tools are the MPLAB IDE and CCS PCH C-compiler.
Linux, TCP/IP, USB, JSON, GNU g++ compiler, GDB debugger, PC-LINT, Boost, DMX, I2C Bus, Embedded 32-bit ARM-7 processor, ARM assembler, C/C++, GNU G++ Compiler, GDB, Insight, Microchip 18F family 8-bit processor, MPLAB IDE, CCS PCH C-Compiler
Not finding what you're looking for here? Send us a message and tell us how we can help: