New Features in EPICS V4 Release 4.4

Similar documents
V3/V4 Interoperability. EPICS Meeting April 2012 SLAC USA. Marty Kraimer and Matej Sekoranja

PIC 20A Number, Autoboxing, and Unboxing

Data Types and Variables

import java.io.*; import javax.swing.*;

JAVA WRAPPER CLASSES

EPICS Base Status and Plans. Ralph Lange for the EPICS Core Developers

1 BROOKHAVEN SCIENCE ASSOCIATES

JAVA.LANG.INTEGER CLASS

ITI Introduction to Computing II

EPICS V4 for Diamond Detector Data. Dave Hickin Diamond Light Source EPICS Developers Meeting Saclay 21/10/2014

ITI Introduction to Computing II

Class Library java.lang Package. Bok, Jong Soon

Core Components of Policy-based Telemetry Streaming

Reports Macro Reference

Unit 3 INFORMATION HIDING & REUSABILITY. Interface:-Multiple Inheritance in Java-Extending interface, Wrapper Class, Auto Boxing

Reports Macro Reference

Java Programming Lecture 10

Classes and Objects Miscellany: I/O, Statics, Wrappers & Packages. CMSC 202H (Honors Section) John Park

Chapter 10. Object-Oriented Thinking

We now start exploring some key elements of the Java programming language and ways of performing I/O

CST141 Thinking in Objects Page 1

CS162: Introduction to Computer Science II. Primitive Types. Primitive types. Operations on primitive types. Limitations

C08c: A Few Classes in the Java Library (II)

GemBuilder for Java Release Notes

I Wish I Knew How To. Begin Programming JSON with Xojo. By Eugene Dakin. November 2015 Edition (1.1)

core programming Basic Java Syntax Marty Hall, Larry Brown:

CS-Studio Display Builder

CS162: Introduction to Computer Science II

ECE 122. Engineering Problem Solving with Java

CSC Java Programming, Fall Java Data Types and Control Constructs

ITP 342 Mobile App Dev. Data Types

JHDF5 (HDF5 for Java) 14.12

NEO OPC Client Driver. The NEO OPC Client can be launched by configuring an OPC Link from the New Link or Add Link dialog as the followings:

Protocol Buffers, grpc

RM0327 Reference manual

Chapter 5. Defining Classes II. Slides prepared by Rose Williams, Binghamton University

Preliminary. Microsoft SQL Server CLR Types Serialization Formats

Introducing SQL Query Verifier Plugin

Using the Gateway Exchange Protocol

Microsoft SQL Server CLR Types Serialization Formats

Chapter 9 Abstract Classes and Interfaces

Object Explorer. Atacama Large Millimeter Array

Distributed Systems. Client-Server Communication: Exercises

A variable is a name for a location in memory A variable must be declared

Microsoft SQL Server CLR Types Serialization Formats

Chapter 5. Defining Classes II. Copyright 2016 Pearson Inc. All rights reserved.

Lecture Notes Chapter #9_c Abstract Classes & Interfaces

Types II. Hwansoo Han

Introduction to Inheritance

More About Objects and Methods

More About Objects and Methods. Objectives. Outline. Harald Gall, Prof. Dr. Institut für Informatik Universität Zürich.

Reducing development time through SNMP simulators.

Thrift specification - Remote Procedure Call

ni.com Integrating EPICS and LabVIEW

AWS Marketplace Entitlement Service. API Reference API Version

CSE Lecture 7: Polymorphism and generics 16 September Nate Nystrom UTA

Unit 6 - Software Design and Development LESSON 4 DATA TYPES

Darshan Institute of Engineering & Technology for Diploma Studies Unit 2

COMP 2355 Introduction to Systems Programming

The world of BAOS. Easy connectivity for KNX with Bus Access and Object Server. Overview and applications

Jörn Adamczewski-Musch. GSI / EEL 5 December 2017

PyTables. An on- disk binary data container, query engine and computa:onal kernel. Francesc Alted

spindle Documentation

O (PLC) -> T (Robot)

Mumble Protocol. Release alpha

Swift-Tcl. Bridging between Swift and Tcl. Why Swift? - Swift vs C and Swift vs Tcl. Peter da Silva. Tcl October 24, 2016

radare >1.0 && <3 2k8

APPLICATION NOTE. Title: Using GCodeComm.DLL for G Code Streaming. Revision 1 January 18, 2018 Page 1 of 9 TABLE OF CONTENTS

Abstract Classes Interfaces

Parsing Instrument Data in Visual Basic

Control System Studio - Introduction

SUPERCOM 7 32-BIT AND 64-BIT WINDOWS AND LINUX FOR. ADONTEC, All Rights Reserved. Rel E 7021

Gateway Design Challenges

NetCDF and Scientific Data Durability. Russ Rew, UCAR Unidata ESIP Federation Summer Meeting

Label Distribution Protocol and Basic MPLS Configuration. APNIC Technical Workshop October 23 to 25, Selangor, Malaysia Hosted by:

Piqi-RPC. Exposing Erlang services via JSON, XML and Google Protocol Buffers over HTTP. Friday, March 25, 2011

ROC Plus Ethernet Driver

Introduction to Java Programming Comprehensive Version

Magento Technical Guidelines

Vive Input Utility Developer Guide

How to Make An AES70 Device

C Programming Review CSC 4320/6320

Better Metadata Management through Better Metamodels

Remote Procedure Call Implementations

Application and Desktop Sharing. Omer Boyaci November 1, 2007

Communication Systems DHCP

Technical Support. Phone: Trademarks

EPICS Future Plans XFEL

CS 11 java track: lecture 1

Oracle Health Sciences Empirica Topics

How to declare an array in C?

TANGO Kernel News. Tango-9 official release. 29th TANGO meeting Solaris May 2015 Pascal VERDIER

labca An EPICS Channel Access Interface for scilab and matlab

Remote Invocation. Today. Next time. l Overlay networks and P2P. l Request-reply, RPC, RMI

Chapter 10 Thinking in Objects. Liang, Introduction to Java Programming, Tenth Edition, Global Edition. Pearson Education Limited

Chapter 10 Thinking in Objects. Liang, Introduction to Java Programming, Eleventh Edition, (c) 2018 Pearson Education, Ltd. All rights reserved.

GLOBAL COMMAND Security Anywhere MANAGEMENT SYSTEM


Remote Health Monitoring for an Embedded System

CALIFORNIA SOFTWARE LABS

Transcription:

EPICS Meeting 2014, CEA, October 2014 New Features in EPICS V4 Release 4.4 Marty Kraimer, Matej Sekoranja

2 Overview

3 pvdata new features pvdata types: scalar boolean int8 int16 int32 int64 uint8 uint16 uint32 uint64 float double string scalararray one dim array of any scalar type structure each field can be any type including structure structure array array of structure fields with each having same introspection interface union!!!!! new type single sub-field which can change type dynamically unionarray!!!!! new type array of union fields

4 pvdata new features union has two flavors variant The field can have any PVData type regular union The set of allowed types can be specified structure NTVariantArray int datatype boolean [] booleanvalue byte [] bytevalue short [] shortvalue int [] intvalue long [] longvalue float [] floatvalue double [] doublevalue string [] stringvalue structure NTUnion union value boolean [] booleanvalue byte [] bytevalue short [] shortvalue int [] intvalue long [] longvalue float [] floatvalue double [] doublevalue string [] stringvalue

5 Union data instance structure NTVariantArray int datatype boolean [] booleanvalue [false,true,false] byte [] bytevalue [] short [] shortvalue [] int [] intvalue [] long [] longvalue [] float [] floatvalue [] double [] doublevalue [] string [] stringvalue [] structure NTUnion union value boolean [] booleanvalue [false,true,false]

6 pvdata new features pvdatacpp enforces Copy on Write for Arrays This greatly helps with developing support for multcore architectures. FieldBuilder Easy way to create introspection objects Support for fixed size and bounded size arrays.

7 pvaccess new features Revised pvaccess API Minor, but backward in-compatible changes, to make API more user-friendly Pluggable pvaccess security implementation support e.g. pvasrv implements CA aslib security plugin codec based transport This means: protocol logic only in one place for multiple transports (TCP, UDP,, shmem, etc.) Well tested and stable code (lots of regression tests) Local multicast feature removes the need for carepeater - like process pvlist tool (find running servers, get server info and list of channels) wildcard services (allows channel names like *:twiss )

8 normativetypes normativetypes defines a set of standard structures. The purpose is to have well known structures for use by services and so that tools can be created to make it easy to use the standard structures. Summary of existing status: Only C++ has helper classes normativetypescpp has major changes Builders make it easy and safe to create an instance. Support for alarm, timestamp, control, display, enum Implemants NTScalar, NTScalarArray, NTNameValue, NTTable, NTMultiChannel, NTNDarray More in future releases

9 normativetypes NTScalar A scalar value field and optional fields like alarm, timestamp, etc. Like the data available from any of the ioccore records that have a scalar VAL field. NTScalarArray A scalararray value field an optional fields. Like the data available from any of the ioccore records that have an array VAL field. NTNameValue Just what the name implies, i. e. name,value pairs. A primary use is client arguments for a service.

10 normativetypes (cntd.) NTTable The value field has a set of subfields which are each a scalar array. The set of subfields is the rows of the table and each subfield is a column. NTMultiChannel Used for data from a set of channels. Used to get/restore machine state, archiving, and control. NTNDarray A C++ wrapper for areadetector.

pvlist example mrk> pvlist GUID 0x2A32BF6FF57E443C835F8336, version 1: tcp@[10.0.0.3:48028] GUID 0x526FDACC23314A7D85CBB097, version 1: tcp@[10.0.0.3:5075] GUID 0x9D1FBC9F41FD47399CCC3731, version 1: tcp@[10.0.0.3:50974] mrk> pvlist 10.0.0.3:48028 powersupplyarray scalardouble daccurrentembeded pssimple event counterinput current daccurrentsupported countermonitor mrk> pvlist -i 0x9D1FBC9F41FD47399CCC3731 structure string process 8433 string starttime 2014-10-17T10:11:03.285 string version 4.0.0 string impllang java string host atlas string os Linux 3.2.0-4-amd64 string arch amd64 int CPUs 8

12 Compatibility Issues The changes to the pvaccess API, Copy On Write, and other changes mean that all code that uses pvaccess and C++ code that uses arrays must be changed. We know that starting with V4 release 4.4 compatibility must be an important issue when future changes are considered. The changes were made knowing that it was not compatible. The changes were the results of discussions by the V4 developers over the last three or so years.

Status EPICS V4 release 4.4.0_pre1 Imminent EPICS V4 release 4.4.0 Soon MS Visual Studio Support Peter Heestermann EPICS V3, Asyn, pvdata/pvaccess,etc

Thank you!