80 likes | 206 Views
NDAQ Module Inter-commumications. Implemented using threads, providing access to common memory space Data sample flow and other inter-communication is done via direct C++ method calls, (function calls) Only time a sample is copied is when it is transformed, or leaves the system.
E N D
NDAQ Module Inter-commumications • Implemented using threads, providing access to common memory space • Data sample flow and other inter-communication is done via direct C++ method calls, (function calls) • Only time a sample is copied is when it is transformed, or leaves the system. • Samples are reference counted, providing automatic collection of retired samples • Standard C++ containers are used for sample buffering and sorting
System Configuration • Basic steps • Configure sensors • Configure external communication links • Connect it all together
System Monitoring • Polling, broadcast or both? • Status samples can be inserted into sample stream • Periodic broadcasts?
Current Status • Runs on any Linux system: Prometheus, laptops (no A2D), Arcom Viper (no A2D) • Supports in excess of 24 serial ports • 8 port differential A2D (excess of 10Khz) • PC104 and Opto22 relays • RS232 and TCP socket external comm • Used at CME04, OHATS04, HAO ATST, CU Ameriflux, to be used at RICO • Uses ASTER base system for data reduciton, display, configuration, archive • Developed in parallel with Hiaper ADS
Current Status, contd • Has basic remote monitoring, using RPC • Time-tags accurate to within +-5 millisec
To Be Done • Continued design, review, refactoring • Data reduction sample clients • Configuration infrastructure • Communications (Iridium, cell SMS, GOES) • Field operator interface • A2D, relay & digital IO implementation on platforms other than Diamond Prometheus