Data Acquisition for Desktop Python under Linux | |||
Data Acquisition Software Now Available
Bellevue, WA, June 27, 2017 -- Microstar Laboratories, Inc., maker of Data Acquisition Processor (DAP) systems for PC-based high-performance measurement applications, has released DAPtools for Python software, an API that enables high-performance data acquisition applications using the Python programming language on desktop GNU/Linux systems. This is not a reduced or specialized language variant – it supports the complete, full-featured Python environment and complements the Accel64 for Linux software that provides access to DAP board features and functions. Typical applications are one-time diagnostic tests, academic research, and automatically-configurable scripting for test automation. Ordinary Desktop Linux? Normal Python?Python is probably not the language you would consider first for an application where a late interaction with high-speed data acquisition hardware means a system failure. Typically, you would need a custom-compiled kernel with real-time options enabled, and carefully optimized compiled code in C or C++. In contrast, the DAPL operating system, running onboard a Microstar Laboratories Data Acquisition Processor board, takes care of the critical real-time details: never late and never missing a sample. The high-rate, multichannel data capture operations run in parallel with the Linux system environment and Python application. The DAPL system provides automatic data buffering and supports all data transfers. The Python system can receive the data on its terms, at whatever moments it is ready. About the only major concern is that eventually the Python application must either accept all of the data it asks for – or clean up the leftovers. The Programming InterfaceThe DAPIO programming interface behind DAPtools for Python provides the same stable DAPL system services that all other high-level programming environments have used over the last 20 years. Access to that interface is through a Linux dynamic library, which Python applications can load and access using the ctypes library. DAPtools for Python presents the low-level interface as a simple "interface object" and some utility functions to make the DAP board interactions work like familiar Python objects and functions. The programming is a lot like connecting to a networked resource: open a connection, specify the data acquisition actions required, run the configuration, take the requested data, and close the connection when finished. Embedded Processing OptionsA typical Linux practitioner should be well aware of the practical benefits of configuring complex processing using script files. It's not always the best solution, but in the correct context, very powerful. Suppose for example that data acquisition requirements are mild – taking only a few hundred thousand samples per second from a dozen channels or so. In addition to the usual data transfers, you might want to apply calibrated offset and gain adjustments for each data channel, or to apply digital filtering to reject noise interference, or to convert "digitizer ticks" to corresponding physical units. The Python system then receives data that are already cleaned and ready to use. Pre-programmed processing options are available simply by asking the DAPL system for them in the configuration script. AvailabilityThe DAPtools for Python interface is included with the DAPtools Basic version 6.30 software release. DAPtools Basic is provided at no added charge: with purchase of any DAP board data acquisition system from Microstar Laboratories or downloaded from the company Web site. Upgrades will be available for download from the Web site, as they are issued. There are no ongoing maintenance subscription fees, no annual license renewal requirements, no deployment restrictions for applications you develop. DAPtools for Python works with the DAPL 2000 system and DAP boards for PCI and PCI-X host systems. Contact Microstar Laboratories to obtain a copy of DAPtools Basic with the DAPtools for Python interface. Or download it today. Resources
Conclusion/OverviewThe DAPtools for Python software from Microstar Laboratories enables intensive data acquisition from Python applications on desktop GNU/Linux systems. Operations with strict time constraints are delegated to the embedded DAPL environment, running on a Data Acquisition Processor board, while less time sensitive data management and display features run in parallel under the Linux kernel. DAPtools for Python is included in the DAPtools Basic package, provided with each DAP product at no added cost. This combines the best of both worlds: the regularity and precision of DAP systems, the flexibility and versatility of the Python environment. About Microstar Laboratories, Inc.Founded in 1982, Microstar Laboratories, Inc. provides high-performance data acquisition systems for a wide range of test and measurement applications. Data Acquisition Processor (DAP) boards and xDAP systems feature onboard memory and an onboard operating system, DAPL, that enable and maintain real-time processing and high-speed I/O. # # #Note to the Editor:Microstar Laboratories suggests this text as a caption for the available image: DAPtools for Python enables scripted data acquisition on a GNU/Linux desktop system with a Data Acquisition Processor (DAP) board. Snake, penguin images: Julien Tromeur/Shutterstock.com; Monitor: Goldenarts/Shutterstock.com Microstar Laboratories, Inc. claims Microstar Laboratories, Data Acquisition Processor, DAP, xDAP, DAPIO, DAPtools, Accel64, DAPL, and DAPL 2000 as trademarks. "Python" and the Python logos are trademarks or registered trademarks of the Python Software Foundation. Linux is the registered trademark of Linus Torvalds in the U.S. and other countries. Other organizations may claim – or may have registered as trademarks – other trade names, logos, and service marks that appear in this document but not in the list above. Microstar Laboratories makes it a practice to use an appropriate symbol at the first occurrence of a trademark or registered trademark name in a document, or to include trademark statements like this with the document. |