From 7e1735c7ab6ee1e3442c30b80624852241ae7a69 Mon Sep 17 00:00:00 2001 From: Alessio Igor Bogani <alessio.bogani@elettra.eu> Date: Tue, 11 Jan 2022 22:43:29 +0100 Subject: [PATCH] Avoid to change device's mode during init() --- src/IPCMini.cpp | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/src/IPCMini.cpp b/src/IPCMini.cpp index c3bc9f4..e706a5c 100644 --- a/src/IPCMini.cpp +++ b/src/IPCMini.cpp @@ -249,6 +249,15 @@ void IPCMini::init_device() attr_Model_read[0] = new char[MAX_DEVSTRING_LENGTH]; attr_SerialNumber_read[0] = new char[MAX_DEVSTRING_LENGTH]; + /* Che if the mBar is pressure unit used */ + int pressure_unit; + read_window(600, pressure_unit); + if (pressure_unit != 1) { + Tango::Except::throw_exception( "", + "mBar is not the pressure unit used", + "Agilent4uhv::init_device()"); + } + /* Identify model: * X3602-64010 con 1 canale */ @@ -266,16 +275,8 @@ void IPCMini::init_device() read_window(323, serial); strncpy(attr_SerialNumber_read[0], serial.c_str(), MAX_DEVSTRING_LENGTH); - // Set the mode -// int mode = 0; /* Serial */ -// write_window(8, mode); - - /* Setup mBar as pressure unit used */ - int pressure_unit = 1 /* mBar */; - write_window(600, pressure_unit); - /* Read all the device data */ - static const int nw[] = { 8, 11 /*, 108 */ , 206 + static const int nw[] = { 8, 11 /*, 108, 205 */, 206 /*, 319, 323, 503, 504, 600 */, 601, 602, 603, 610, 612, 613, 614, 615, 800, 801, 804, 810, 811 /*, 890 */ }; vector<int> normal_windows(nw, nw + sizeof(nw) / sizeof(nw[0])); -- GitLab